-
Notifications
You must be signed in to change notification settings - Fork 13.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(overlays): prevent scroll gestures when the overlay is presented #28415
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sean-perkins
commented
Oct 26, 2023
sean-perkins
commented
Oct 26, 2023
liamdebeasi
reviewed
Oct 26, 2023
This comment was marked as resolved.
This comment was marked as resolved.
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.4.1 to 4.5.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil/blob/main/CHANGELOG.md"><code>@stencil/core</code>'s changelog</a>.</em></p> <blockquote> <h1>📢 <a href="https://github.com/ionic-team/stencil/compare/v4.4.1...v4.5.0">4.5.0</a> (2023-10-16)</h1> <h3>Features</h3> <ul> <li><strong>compiler, runtime:</strong> add support for form-associated elements (<a href="https://github.com/ionic-team/stencil/issues/4784">#4784</a>) (<a href="https://github.com/ionic-team/stencil/commit/5976c9b6a6e7b49d470390021b9c31e4d3cbbf4b">5976c9b</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ionic-team/stencil/commit/4c38e470fdbbe0e8170636386fae6c5b5090695c"><code>4c38e47</code></a> v4.5.0 (<a href="https://github.com/ionic-team/stencil/issues/4933">#4933</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/5976c9b6a6e7b49d470390021b9c31e4d3cbbf4b"><code>5976c9b</code></a> feat(compiler, runtime): add support for form-associated elements (<a href="https://github.com/ionic-team/stencil/issues/4784">#4784</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/b1dd4ac7cd2da560b74d274b363c2b24761ca2da"><code>b1dd4ac</code></a> chore(deps): update dependency <code>@types/prompts</code> to v2.4.6 (<a href="https://github.com/ionic-team/stencil/issues/4928">#4928</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/bbad7aed3675da1fd2c84d9dd46c5935844b07c9"><code>bbad7ae</code></a> chore(release): remove notice.md generation (<a href="https://github.com/ionic-team/stencil/issues/4925">#4925</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/09fdbd131d517bb9227297208cae9741cc7d208f"><code>09fdbd1</code></a> chore(deps): update dependency <code>@types/listr</code> to v0.14.6 (<a href="https://github.com/ionic-team/stencil/issues/4927">#4927</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/d1355700953e3c078ab27e5a7954d45aa5853b60"><code>d135570</code></a> chore(deps): update dependency <code>@types/ws</code> to v8.5.7 (<a href="https://github.com/ionic-team/stencil/issues/4929">#4929</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/968b2ec7a03239369a6bb304c0266c28d8dcea18"><code>968b2ec</code></a> chore(deps): update typescript-eslint to v6.7.5 (<a href="https://github.com/ionic-team/stencil/issues/4931">#4931</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/183a05bb95dc08b1328b037ed7e514d66f6e775e"><code>183a05b</code></a> chore(deps): update dependency eslint to v8.51.0 (<a href="https://github.com/ionic-team/stencil/issues/4924">#4924</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/628e8c5727299680ac89e38a1313e5029dd00cbf"><code>628e8c5</code></a> chore(deps): update dependency <code>@rollup/pluginutils</code> to v5.0.5 (<a href="https://github.com/ionic-team/stencil/issues/4922">#4922</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/6893954702b2944ee0bcb72e0cbcf94f67fc81b6"><code>6893954</code></a> refactor(jest): make jest presets version-specific (<a href="https://github.com/ionic-team/stencil/issues/4904">#4904</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ionic-team/stencil/compare/v4.4.1...v4.5.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/core&package-manager=npm_and_yarn&previous-version=4.4.1&new-version=4.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Issue number: N/A --------- <!-- 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. --> Testing Ionicons in Ionic is currently difficult. Developers need to a) create a dev build of Ionicons, b) create a branch in Ionic, c) install the dev build in Ionic core, d) push the branch, and e) create a draft PR to watch the CI process run. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Introduces a workflow dispatch option for our CI process. This allows developers to run the CI process for any branch without creating PR. - I also added an optional input so devs can specify the ionicons version if they want to pass a special version. ## 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. -->
Issue number: Internal --------- ## What is the current behavior? Item sliding has some unused CSS and no tests for safe area padding based on the direction. This CSS is not used: https://github.com/ionic-team/ionic-framework/blob/feda7a0e963048d300eb17d4b9e1056f09088714/core/src/components/item-option/item-option.scss#L20-L30 The rendered markup for a sliding item looks like the following: ```html <ion-item-sliding> <ion-item-options side="start"> <ion-item-option> Archive </ion-item-option> </ion-item-options> <ion-item class="in-list"> <ion-label> Sliding Item </ion-label> </ion-item> </ion-item-sliding> ``` Since `ion-item-options` never gets the `in-list` class added to it, and `ion-item` never contains options, the above CSS is never used. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Removed the CSS that is not used, the correct CSS for safe area padding has already been added here: https://github.com/ionic-team/ionic-framework/blob/feda7a0e963048d300eb17d4b9e1056f09088714/core/src/components/item-options/item-options.scss#L57-L67 - Added screenshot tests to verify the safe area padding is applied to the proper side ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information I could add additional tests that make sure there is not padding added when opening the opposite side on each direction but since this problem was happening when changing from `ltr` to `rtl` I did not. [FW-5174]: https://ionic-cloud.atlassian.net/browse/FW-5174?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: ionitron <[email protected]>
Issue number: resolves #28358 --------- <!-- 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. --> 28f2ec9 exposed a (possible) `ng-packagr` bug where the form control components were being re-assigned, which breaks treeshaking. These components were considered side effects and were always being pulled into the bundle. This resulted in a higher than expected bundle size. This issue appears to be caused by using 2 decorators **and** referring to the class in `useExisting` (for providers). Doing just one of these does not reproduce the issue. The compiled output looks something like this: ```typescript let IonToggle = IonToggle_1 = /*@__PURE__*/ class IonToggle extends ValueAccessor { constructor(c, r, z, injector) { super(injector, r); this.z = z; c.detach(); this.el = r.nativeElement; proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']); } writeValue(value) { this.elementRef.nativeElement.checked = this.lastValue = value; setIonicClasses(this.elementRef); } handleIonChange(el) { this.handleValueChange(el, el.checked); } }; /** @nocollapse */ IonToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ IonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonToggle, isStandalone: true, selector: "ion-toggle", inputs: { checked: "checked", color: "color", disabled: "disabled", enableOnOffLabels: "enableOnOffLabels", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: IonToggle_1, multi: true, }, ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); IonToggle = IonToggle_1 = __decorate([ ProxyCmp({ defineCustomElementFn: defineCustomElement$1i, inputs: TOGGLE_INPUTS, }) ], IonToggle); ``` ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Removed the `ProxyCmp` usage in favor of manually calling proxyInputs and proxyMethods. - Also saw that select was missing a form control test, so I added one The compiled code now looks something like this: ```typescript class IonToggle extends ValueAccessor { constructor(c, r, z, injector) { super(injector, r); this.z = z; defineCustomElement$1i(); proxyInputs(IonToggle, TOGGLE_INPUTS); c.detach(); this.el = r.nativeElement; proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']); } writeValue(value) { this.elementRef.nativeElement.checked = this.lastValue = value; setIonicClasses(this.elementRef); } handleIonChange(el) { this.handleValueChange(el, el.checked); } } /** @nocollapse */ IonToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonToggle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ IonToggle.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonToggle, isStandalone: true, selector: "ion-toggle", inputs: { checked: "checked", color: "color", disabled: "disabled", enableOnOffLabels: "enableOnOffLabels", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: IonToggle, multi: true, }, ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); ``` ## 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. --> Ryan provided some context on a related Stencil bug where doing reassignments broke treeshaking in Webpack. While the source of this bug is not Stencil, understanding the Stencil bug helped me better understand this issue: ionic-team/stencil#3191 ionic-team/stencil#3248 ionic-team/stencil#4188 (fixes an issue introduced in the above stencil PR) Dev build: `7.5.1-dev.11697480817.10fa2601`
Issue number: N/A --------- <!-- 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. --> While working on a safe area padding mixin, I realized that `rtl()` wasn't being applied for `:host` when using Firefox or Safari. This is happening because the syntax for `:dir()` is wrong. The placement needs to be updated for Firefox and Safari to register it. ```scss :host { @include rtl() { // <- won't work // styles } } // generates :host-context([dir=rtl]) { // styles } :host:dir(rtl) { // <- wrong syntax // styles } ``` ```scss :host(.class) { @include rtl() { // <- won't work // styles } } // generates :host-context([dir=rtl]):host(.class) { // styles } :host-context([dir=rtl]).class { // styles } :host(.class):dir(rtl) { // <- wrong syntax // styles } ``` ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> I updated `rtl()` to use `:dir()` as the `addHostSelector` in the `add-root-selector` function. This generates all the correct selectors for Firefox and Safari. However, `:dir()` does not have the structure of `:host-context()` so I had to add a new parameter to `add-root-selector` to determine whether to use `:host-context()` or not. I set the default to `true` since the function originally used `:host-context()`. An extra win is that the updated function will be ready for when `:host-context()` can be removed from the codebase. ```diff :host { @include rtl() { // <- works // styles } } // generates :host-context([dir=rtl]) { // styles } - :host:dir(rtl) { + :host(:dir(rtl)) { // styles } ``` ```diff :host(.class) { @include rtl() { // <- works // styles } } // generates :host-context([dir=rtl]):host(.class) { padding-right: 40px; } :host-context([dir=rtl]).class { // styles } - :host(.class):dir(rtl) { + :host(.class:dir(rtl)) { // styles } ``` ## 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. --> N/A --------- Co-authored-by: ionitron <[email protected]>
Issue number: N/A --------- <!-- 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. --> Prettier is configured to ignore the `proxies.ts` file in the `src` directory only. This means it is adjusting whitespace/commas/etc on the `proxies.ts` file in the `standalone` directory which we do not want because we will always get diffs whenever `npm run build` is run in `core`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Updated prettier config to ignore all `proxies.ts` files in the `angular` package - Re-generated the proxies file ## 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. -->
Issue number: resolves #18683, resolves #15538, resolves #22341 --------- <!-- 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. --> Menus in a split pane are hidden when a second split pane is mounted/made visible. This is because the `onSplitPaneChanged` callback does not take into account whether the it is a child of the split pane that emitted `ionSplitPaneVisible`. When split pane 2 is shown, that causes the menu is split pane 1 to hide. When split pane 1 is shown, the menu inside of it _is_ shown. However, since split pane 2 is then hidden that component also emits `ionSplitPaneVisible`, causing the menu inside of split pane 1 to hide. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Menus are only hidden when its parent split pane changes visibility ## 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. --> Dev build: `7.5.1-dev.11697568647.1ac87d08` --------- Co-authored-by: Amanda Johnston <[email protected]>
Issue number: N/A --------- <!-- 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. --> This project has several unused Sass variables still in the code base. The team would like to remove these. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Removed unused Sass variables ## 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. --> The original scope of this ticket was for checkbox only, but many other components had unused sass variables, so I decided to tackle everything all at once. Since these variables are not used anywhere: 1. The build should pass 2. There should be no screenshot diffs
… direction (#28377) Issue number: Internal --------- <!-- 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. --> When calculating the fab's horizontal position, the safe area is taken into account. However, which safe area side is applied changes depending on whether the document's direction is LTR or RTL. This is incorrect as the left safe area padding will always be on the left side regardless of direction, and vice versa. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> The left safe area is always applied to the fab's `left` position, and vice versa. ## 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. --> --------- Co-authored-by: ionitron <[email protected]>
Issue number: Internal --------- <!-- 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. --> As part of FW-2832, the team would like to swap out usages of the any type for stronger types. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> c529bc2 - `scrollToTop` doesn't return anything, so I added the `void` return type a96971a - `animation.effect` is a type of [AnimationEffect](https://developer.mozilla.org/en-US/docs/Web/API/Animation/effect). One of the more common types of effects is a `KeyframeEffect`. However, TypeScript doesn't know which specific type of AnimationEffect we are using, so I cast `animation.effect` as KeyframeEffect where appropriate. - I also added `!` to places where we know the effect and other properties are always defined (since they run after the web animation has been constructed) - Added stronger types to the internal to/from/fromTo functions (the public facing type improvements are in #28334) fdaf550 - `getRootNode` can return multiple types of objects, so I cast it to the specific types that we work with in `isFocused`. 46a6efa - Added the "Animation" type and resolved related errors once we had stronger types a7cb9a5 - Made heavier use of the `T` generic - Once we know `node` is an Element (`nodeType === 1`) we manually cast the element as `T` 6a9d1f0 - The focus visible utility is an internal utility, but it was lacking an interface, so I added one. 90b64c2 - Removed unneeded HTMLElement casting - Added `!` since we can assume the selected elements are defined with the refresher - Added documentation as to why casting `referencEl.style` as `any` is something we need to keep. 3a084ca - Avoided the Event naming collision by using globalThis ## 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. --> Note: This PR contains only type changes. Changes the required updates to the implementation of Ionic are pulled out into separate PRs and target a minor release branch to minimize risk. --------- Co-authored-by: Amanda Johnston <[email protected]>
…le (#28362) Issue number: resolves #28283 --------- <!-- 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. --> `getInputElement()` is used to access the native input. If the component has yet to render, then the function will return `undefined`. This happens mostly when using `ref` on React. ```tsx <IonInput ref={async input => { const nativeInput = await input.getInputElement(); // nativeInput is undefined }} /> ``` ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - `getInputElement()` will wait to return once the component is ready. ## 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. --> Dev build: `7.5.1-dev.11697488622.175c9183`
Issue number: internal --------- <!-- 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. --> Legacy radio has tests that use `Tab` key presses. These tend to flake at unknown moments and were skipped until a fix can be implemented. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Unable to replicate the flakiness locally or on GitHub. However, it only fails on Safari so the tests were re-enabled except for Safari. ## 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. --> This only happens on legacy. The legacy form controls will also be removed in the future. Due to this, these tests will be removed anyways at that time.
…8369) Issue number: resolves #18487 --------- <!-- 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. --> Web-based users do not get a scrollbar when: - alert has a long list of inputs (this also happens on `ion-select` with the alert interface) - `ion-select` uses the action-sheet interface and has a long list of options This makes it difficult for users to navigate through the options by forcing them to use their keyboards. Some users may also not be used to using their keyboards for navigation. Additionally, this can lead to potential confusion that there are no other options. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Web-based users get a scrollbar when: - alert has a long list of inputs (this also happens on `ion-select` with the alert interface) - `ion-select` uses the action-sheet interface and has a long list of options ## 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. --> The issue was filed for the alert interface but it's also happening on the action-sheet interface. Dev build: 7.5.1-dev.11697570585.1774584d
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.5.0 to 4.6.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil/blob/main/CHANGELOG.md"><code>@stencil/core</code>'s changelog</a>.</em></p> <blockquote> <h1>💥 <a href="https://github.com/ionic-team/stencil/compare/v4.5.0...v4.6.0">4.6.0</a> (2023-10-23)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>compiler:</strong> consistently generate additional type files (<a href="https://github.com/ionic-team/stencil/issues/4938">#4938</a>) (<a href="https://github.com/ionic-team/stencil/commit/70cba503e881755f5d24d2f23a8e121aedf5a805">70cba50</a>)</li> <li><strong>compiler:</strong> persist polyfills on build (<a href="https://github.com/ionic-team/stencil/issues/4932">#4932</a>) (<a href="https://github.com/ionic-team/stencil/commit/b97dadc967b1fde892cb75a544b1eecd2361b194">b97dadc</a>), closes <a href="https://github.com/ionic-team/stencil/issues/4661">#4661</a></li> <li><strong>runtime:</strong> add height, width Source attrs (<a href="https://github.com/ionic-team/stencil/issues/4943">#4943</a>) (<a href="https://github.com/ionic-team/stencil/commit/c9a3eac789c8fe9c6fdb6b7be2037a19ee361c6d">c9a3eac</a>), closes <a href="https://github.com/ionic-team/stencil/issues/4942">#4942</a></li> </ul> <h3>Features</h3> <ul> <li><strong>types:</strong> generate addEventListener and removeEventListener overloads to component html element type (<a href="https://github.com/ionic-team/stencil/issues/4909">#4909</a>) (<a href="https://github.com/ionic-team/stencil/commit/024979841f7124aa3bcce6a6ecd094dfecf1566c">0249798</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ionic-team/stencil/commit/1d8f1d42d9f3fa2eae86634d61b2b27c7cc6c6aa"><code>1d8f1d4</code></a> v4.6.0 (<a href="https://github.com/ionic-team/stencil/issues/4967">#4967</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/515af34fac4fc7b5e162a0db6529c0c212fc2c2d"><code>515af34</code></a> chore(deps): update dependency <code>@types/fs-extra</code> to v11.0.3 (<a href="https://github.com/ionic-team/stencil/issues/4960">#4960</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/0496cb27e408002f6ae819a094b9b6fd09d2eed6"><code>0496cb2</code></a> chore(deps): update actions/checkout action to v4.1.1 (<a href="https://github.com/ionic-team/stencil/issues/4957">#4957</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/10876146d07c4fa3d21046509f89223bb2002297"><code>1087614</code></a> chore(deps): update dependency <code>@types/listr</code> to v0.14.7 (<a href="https://github.com/ionic-team/stencil/issues/4963">#4963</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/1b43fde465e6f42198957a5213be9f03eedf470b"><code>1b43fde</code></a> chore(deps): update dependency <code>@types/eslint</code> to v8.44.6 (<a href="https://github.com/ionic-team/stencil/issues/4958">#4958</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/4d5d24f362ddfbf2b8e0b206929c822e9f281ad7"><code>4d5d24f</code></a> chore(deps): update dependency <code>@types/exit</code> to v0.1.32 (<a href="https://github.com/ionic-team/stencil/issues/4959">#4959</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/99831eb0bb1198934d16738839e4c585928a5f5c"><code>99831eb</code></a> chore(deps): update dependency <code>@types/graceful-fs</code> to v4.1.8 (<a href="https://github.com/ionic-team/stencil/issues/4962">#4962</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/2762091e34829dc383b26f54a2602aa9d48d5eaa"><code>2762091</code></a> chore(deps): update dependency <code>@types/mock-fs</code> to v4.13.3 (<a href="https://github.com/ionic-team/stencil/issues/4964">#4964</a>)</li> <li><a href="https://github.com/ionic-team/stencil/commit/024979841f7124aa3bcce6a6ecd094dfecf1566c"><code>0249798</code></a> feat(types): generate addEventListener and removeEventListener overloads to c...</li> <li><a href="https://github.com/ionic-team/stencil/commit/70cba503e881755f5d24d2f23a8e121aedf5a805"><code>70cba50</code></a> fix(compiler): consistently generate additional type files (<a href="https://github.com/ionic-team/stencil/issues/4938">#4938</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ionic-team/stencil/compare/v4.5.0...v4.6.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/core&package-manager=npm_and_yarn&previous-version=4.5.0&new-version=4.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ryan Waskiewicz <[email protected]>
) Bumps [@stencil/sass](https://github.com/ionic-team/stencil-sass) from 3.0.6 to 3.0.7. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil-sass/releases"><code>@stencil/sass</code>'s releases</a>.</em></p> <blockquote> <h2>v3.0.7</h2> <h2>What's Changed</h2> <ul> <li>chore(deps): update dependency npm to v10.2.0 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/410">ionic-team/stencil-sass#410</a></li> <li>chore(deps): update dependency <code>@rollup/plugin-node-resolve</code> to v15.2.2 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/409">ionic-team/stencil-sass#409</a></li> <li>chore(deps): update dependency terser to v5.21.0 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/411">ionic-team/stencil-sass#411</a></li> <li>chore(repo): group rollup in renovate by <a href="https://github.com/rwaskiewicz"><code>@rwaskiewicz</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/413">ionic-team/stencil-sass#413</a></li> <li>chore(deps): update rollup, by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/414">ionic-team/stencil-sass#414</a></li> <li>chore(deps): update dependency <code>@stencil/core</code> to v4.4.0 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/408">ionic-team/stencil-sass#408</a></li> <li>chore(deps): update dependency <code>@stencil/core</code> to v4.4.1 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/416">ionic-team/stencil-sass#416</a></li> <li>chore(deps-dev): bump <code>@babel/traverse</code> from 7.15.4 to 7.23.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/418">ionic-team/stencil-sass#418</a></li> <li>chore(deps): update node.js to v20.8.1 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/417">ionic-team/stencil-sass#417</a></li> <li>chore(deps): update dependency <code>@stencil/core</code> to v4.5.0 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/419">ionic-team/stencil-sass#419</a></li> <li>chore(deps): update dependency terser to v5.22.0 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/420">ionic-team/stencil-sass#420</a></li> <li>chore(deps): update dependency rollup to v4 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/415">ionic-team/stencil-sass#415</a></li> <li>chore(deps): update dependency npm to v10.2.1 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/422">ionic-team/stencil-sass#422</a></li> <li>chore(deps): update actions/checkout action to v4.1.1 by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://github.com/ionic-team/stencil-sass/pull/421">ionic-team/stencil-sass#421</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ionic-team/stencil-sass/compare/v3.0.6...v3.0.7">https://github.com/ionic-team/stencil-sass/compare/v3.0.6...v3.0.7</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ionic-team/stencil-sass/commit/2948055fcb655fd9fa771fa37e788a9fb6d1eec5"><code>2948055</code></a> 3.0.7</li> <li><a href="https://github.com/ionic-team/stencil-sass/commit/3ea5f312fb9e52341704c0ffbde0b2c0e79678ae"><code>3ea5f31</code></a> chore(deps): update actions/checkout action to v4.1.1 (<a href="https://github.com/ionic-team/stencil-sass/issues/421">#421</a>)</li> <li><a href="https://github.com/ionic-team/stencil-sass/commit/99d53c74ce31084d805c48a12e36a9da1d5e1f1f"><code>99d53c7</code></a> chore(deps): update dependency npm to v10.2.1 (<a href="https://github.com/ionic-team/stencil-sass/issues/422">#422</a>)</li> <li><a href="https://github.com/ionic-team/stencil-sass/commit/6e058cc47e059e9ff8ca8ba79c709be73d94708f"><code>6e058cc</code></a> chore(deps): update dependency rollup to v4 (<a href="https://github.com/ionic-team/stencil-sass/issues/415">#415</a>)</li> <li><a href="https://github.com/ionic-team/stencil-sass/commit/7e497b5b9e44f8b87a5de7fce43dd6293d49604d"><code>7e497b5</code></a> chore(deps): update dependency terser to v5.22.0 (<a href="https://github.com/ionic-team/stencil-sass/issues/420">#420</a>)</li> <li><a href="https://github.com/ionic-team/stencil-sass/commit/bd432efee078007dcd970f5dcde8d9b3f3f81dc6"><code>bd432ef</code></a> chore(deps): update dependency <code>@stencil/core</code> to v4.5.0 (<a href="https://github.com/ionic-team/stencil-sass/issues/419">#419</a>)</li> <li><a href="https://github.com/ionic-team/stencil-sass/commit/28ee8f3fe5ba5c3ee5030689251a9241fe8ce5fb"><code>28ee8f3</code></a> chore(deps): update node.js to v20.8.1 (<a href="https://github.com/ionic-team/stencil-sass/issues/417">#417</a>)</li> <li><a href="https://github.com/ionic-team/stencil-sass/commit/a729f1b35d84aa30a52cd6a2cac56fb8302dd998"><code>a729f1b</code></a> chore(deps-dev): bump <code>@babel/traverse</code> from 7.15.4 to 7.23.2 (<a href="https://github.com/ionic-team/stencil-sass/issues/418">#418</a>)</li> <li><a href="https://github.com/ionic-team/stencil-sass/commit/dca666a4df1e66d91596b7f146b73032efd3d9c3"><code>dca666a</code></a> chore(deps): update dependency <code>@stencil/core</code> to v4.4.1 (<a href="https://github.com/ionic-team/stencil-sass/issues/416">#416</a>)</li> <li><a href="https://github.com/ionic-team/stencil-sass/commit/1d8a49c65439101ef0cd80bf394c5643b58167b3"><code>1d8a49c</code></a> chore(deps): update dependency <code>@stencil/core</code> to v4.4.0 (<a href="https://github.com/ionic-team/stencil-sass/issues/408">#408</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ionic-team/stencil-sass/compare/v3.0.6...v3.0.7">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/sass&package-manager=npm_and_yarn&previous-version=3.0.6&new-version=3.0.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit removes the blocking behavior as part of the backdrop. Developers with custom implementations using ion-backdrop that want scroll blocking will either need to use Ionic's gesture controller API or manually add the backdrop-no-scroll class to the body when their overlay is presented and remove it when dismissed.
sean-perkins
force-pushed
the
sp/FW-196
branch
from
October 27, 2023 17:02
99bffe2
to
a3a1d35
Compare
github-actions
bot
added
package: angular
@ionic/angular package
package: vue
@ionic/vue package
package: react
@ionic/react package
labels
Oct 27, 2023
github-actions
bot
removed
package: angular
@ionic/angular package
package: vue
@ionic/vue package
package: react
@ionic/react package
labels
Oct 30, 2023
sean-perkins
commented
Oct 30, 2023
liamdebeasi
reviewed
Oct 31, 2023
liamdebeasi
approved these changes
Oct 31, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm good with the change as-is, just one question.
Closed
6 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue number: Resolves #23942
What is the current behavior?
When an overlay is created (inserted in the DOM), but not presented, the scroll gesture is prevented. This behavior comes from the
connectedCallback
ofion-backdrop
, where the gesture is prevented as soon as the backdrop is inserted in the DOM.This means in situations where a developer creates an overlay, but does not present it immediately, the user cannot scroll. This is not desired.
What is the new behavior?
ion-backdrop
and implemented into the overlays directly.body
element (the user cannot scroll on the main content).body
element (the user can scroll on the main content).Does this introduce a breaking change?
ion-backdrop
no longer prevents scrolling on the main content when the backdrop is either inserted into the DOM or removed from the DOM. Developers using Ionic overlays do not need to migrate their implementations.Developers with custom overlays using
ion-backdrop
internally can either use Ionic's gesture controller to disable scrolling when their overlay is presented/dismissed or can manually add thebackdrop-no-scroll
Ionic global class to thebody
element.Other information