23 Commits

Author SHA1 Message Date
9313a914b7 fix(overlays): assign incremental id to overlay host (#27278)
Issue number: Internal

---------

<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

The counter for incrementing the `id` and `z-index` of an overlay is
incremented whenever the `connectedCallback` is fired for an overlay.

When an overlay is presented and/or conditionally rendered, the overlay
`id` can increment by `n+2` instead of `n+1`.

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Increments all overlay ids consistently
- Removes legacy `ion-modal-{id}` and `ion-popover-{id}` logic
- Adds unit tests for the id behavior
- Tests are split up into separate files so that the counter is always
starting from `0`
- Adds an integration test with the Angular test app to verify
conditional rendering behavior

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-05-03 17:24:19 +00:00
77b9e11c2b chore(): sync with main 2023-03-08 09:35:37 -05:00
8d184c8c1b fix(angular): keepContentsMounted modal is sized correctly (#26917)
resolves #26916
2023-03-07 09:25:09 -05:00
1dee16f3a2 feat(angular,angular-server): angular v14 minimum support (#26822)
BREAKING CHANGE:

Angular v14 is now required to use `@ionic/angular` and `@ionic/angular-server`. Upgrade your project to Angular v14 by following the [Angular v14 update guide](https://update.angular.io/?l=3&v=13.0-14.0).

The dev-preview `environmentInjector` property has been removed from `ion-tabs` and `ion-router-outlet`. Standalone component routing is now available without additional custom configuration. Remove the `environmentInjector` property from your `ion-tabs` and `ion-router-outlet` components.
2023-02-22 12:33:49 -05:00
ce2e37b1a1 fix(angular): null values are not converted to falsy value (#26341)
BREAKING CHANGE:

Datetime:

Passing the empty string to the `value` property will now error as it is not a valid ISO-8601 value.

Angular:

`null` values on form components will no longer be converted to the empty string (`''`) or `false`. This impacts `ion-checkbox`, `ion-datetime`, `ion-input`, `ion-radio`, `ion-radio-group`, ion-range`, `ion-searchbar`, `ion-segment`, `ion-select`, `ion-textarea`, and `ion-toggle`.
2022-11-23 13:03:13 -05:00
f23fb342b2 fix(angular): inline overlays are exported (#26333) 2022-11-22 14:14:04 -05:00
c50620af6c test(angular): remove unnecessary wait (#26275) 2022-11-14 09:02:13 -06:00
d1fb7b039b feat(range): ionChange will only emit from user committed changes (#26089) 2022-10-24 16:13:48 -04:00
cc2af202a9 feat(datetime): ionChange will only emit from user committed changes (#26083)
resolves #20873 resolves #24452

BREAKING CHANGE

- `ionChange` is no longer emitted when the `value` property of `ion-datetime` is modified externally. `ionChange` is only emitted from user committed changes, such as clicking or tapping a date.

- Datetime no longer automatically adjusts the `value` property when passed an array and `multiple="false"`. Developers should update their apps to ensure they are using the API correctly.
2022-10-11 17:17:52 -04:00
85d3bd99be feat(toggle): ionChange will only emit from user committed changes (#26078)
Co-authored-by: Sean Perkins <sean@ionic.io>
2022-10-10 09:55:58 -05:00
34c4137868 feat(select): ionChange will only emit from user committed changes (#26066)
BREAKING CHANGE:

`ionChange` is no longer emitted when the `value` of `ion-select` is modified externally. `ionChange` is only emitted from user committed changes, such as confirming a selected option in the select's overlay.
2022-10-10 09:36:51 -04:00
b052d3b262 feat(searchbar): ionChange will only emit from user committed changes (#26026) 2022-10-03 15:08:43 -05:00
68bae80a51 feat(textarea): ionChange will only emit from user committed changes (#25953) 2022-09-23 13:26:21 -04:00
6bb9d8a5d7 Merge remote-tracking branch 'origin/main' into 7.0-sync-09-16-22 2022-09-16 15:20:33 -04:00
a6b2629ede feat(checkbox): ionChange fires on user interaction (#25923)
BREAKING CHANGE:

`ionChange` is no longer emitted when the `checked` property of `ion-checkbox` is modified externally. `ionChange` is only emitted from user committed changes, such as clicking or tapping the checkbox.
2022-09-13 16:27:34 -04:00
8732b7bdb7 feat(input): ionChange will only emit from user committed changes (#25858)
Resolves #20106, #20061
2022-09-12 15:35:43 -04:00
883188cc34 test(angular): wait for all tab switches in tests (#25909) 2022-09-09 14:08:33 -04:00
1fc0c830db Merge remote-tracking branch 'origin/main' into sync-v7-09-09-2022 2022-09-09 13:05:11 -04:00
634f928541 test(angular): tabs sibling page test is no longer flaky (#25906) 2022-09-09 13:00:13 -04:00
725b13fa60 fix(angular): nav controller can pop views after leaving tabs outlet (#25690)
Resolves #18593
2022-09-08 12:52:17 -04:00
d478e03914 feat(slides): remove ion-slide, ion-slides, and IonicSwiper module (#25868) 2022-09-01 14:36:17 -05:00
1eb6fd04d7 feat(virtual-scroll): remove virtual scroll component (#25808) 2022-08-24 15:42:12 -04:00
08dd3e277b test(angular): add support for multi-version testing (#25665) 2022-08-18 16:46:15 -04:00