mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-11-07 23:16:52 +08:00
5011 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 05e721db1c |
refactor(item): do not automatically delegate focus (#29091)
resolves #21982 BREAKING CHANGE: - Item no longer automatically delegates focus to the first focusable element. While most developers should not need to make any changes to account for this update, usages of `ion-item` with interactive elements such as form controls (inputs, textareas, etc) should be evaluated to verify that interactions still work as expected. |
|||
| 94c3ffcffe |
perf(picker): avoid flicker on ios (#29101)
Issue number: N/A (see below) --------- <!-- 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. --> Mike found an issue while testing the Ionic 8 beta where there's a flicker when presenting a picker in a modal on iOS. [We've seen this issue before]( |
|||
| 5edee91e15 |
chore(deps): update dependency @capacitor/core to v5.7.1 (#29112)
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@capacitor/core](https://capacitorjs.com) ([source](https://togithub.com/ionic-team/capacitor)) | [`5.7.0` -> `5.7.1`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/5.7.0/5.7.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ionic-team/capacitor (@​capacitor/core)</summary> ### [`v5.7.1`](https://togithub.com/ionic-team/capacitor/releases/tag/5.7.1) [Compare Source](https://togithub.com/ionic-team/capacitor/compare/5.7.0...5.7.1) ##### Bug Fixes - **android:** handle http errors on the proxy ([#​7297](https://togithub.com/ionic-team/capacitor/issues/7297)) ([279f198]( |
|||
| dcad470beb |
chore(deps): update dependency @stencil/core to v4.12.4 (#29109)
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@stencil/core](https://stenciljs.com/)
([source](https://togithub.com/ionic-team/stencil)) | [`4.12.3` ->
`4.12.4`](https://renovatebot.com/diffs/npm/@stencil%2fcore/4.12.3/4.12.4)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>ionic-team/stencil (@​stencil/core)</summary>
###
[`v4.12.4`](https://togithub.com/ionic-team/stencil/blob/HEAD/CHANGELOG.md#-4124-2024-02-26)
[Compare
Source](https://togithub.com/ionic-team/stencil/compare/v4.12.3...v4.12.4)
##### Bug Fixes
- **build:** address issue with dynamic import and vite
([#​5399](https://togithub.com/ionic-team/stencil/issues/5399))
([8ebacae](
|
|||
| a0a77f799d |
feat(searchbar): autocapitalize, dir, lang, maxlength, and minlength are inherited to native input (#29098)
Issue number: resolves #27606 --------- <!-- 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. --> Certain attributes are not be inherited to the inner searchbar. Developers need control over these attributes to provide important context to users for things like language and text direction. Additionally, being able to control things like autocapitalize, maxlength, and minlength can help improve the user experience by a) guiding what should be entered into an input and b) removing autocapitalize where it's not appropriate. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Added autocapitalize, maxlength, and minlength properties - lang and dir are global attributes, so adding them as properties will cause issues. However, developers can still set them as attributes and they will be inherited to the native `input` element. We also watch them so any changes to the attributes are also inherited to the native `input`. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> ## 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: We expanded the scope of this work to also include input and textarea, and this work will be handled separately. However, the original request was only for searchbar so that's why I associated this PR with the linked issue. Dev build: `7.7.3-dev.11709159644.114cd8b1` |
|||
| 02ec5d09a1 |
chore(deps): update dependency @playwright/test to v1.41.2 (#29046)
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://togithub.com/microsoft/playwright)) | [`1.39.0` -> `1.41.2`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.39.0/1.41.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.41.2`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.2) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.1...v1.41.2) ##### Highlights [https://github.com/microsoft/playwright/issues/29123](https://togithub.com/microsoft/playwright/issues/29123) - \[REGRESSION] route.continue: Protocol error (Fetch.continueRequest): Invalid InterceptionId. #### Browser Versions - Chromium 121.0.6167.57 - Mozilla Firefox 121.0 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 120 - Microsoft Edge 120 ### [`v1.41.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.1) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.41.0...v1.41.1) ##### Highlights [https://github.com/microsoft/playwright/issues/29067](https://togithub.com/microsoft/playwright/issues/29067) - \[REGRESSION] Codegen/Recorder: not all clicks are being actioned nor recorded[https://github.com/microsoft/playwright/issues/29028](https://togithub.com/microsoft/playwright/issues/29028)8 - \[REGRESSION] React component tests throw type error when passing null/undefined to componen[https://github.com/microsoft/playwright/issues/29027](https://togithub.com/microsoft/playwright/issues/29027)27 - \[REGRESSION] React component tests not passing Date prop valu[https://github.com/microsoft/playwright/issues/29023](https://togithub.com/microsoft/playwright/issues/29023)023 - \[REGRESSION] React component tests not rendering children p[https://github.com/microsoft/playwright/issues/29019](https://togithub.com/microsoft/playwright/issues/29019)9019 - \[REGRESSION] trace.playwright.dev does not currently support the loading from URL #### Browser Versions - Chromium 121.0.6167.57 - Mozilla Firefox 121.0 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 120 - Microsoft Edge 120 ### [`v1.41.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.41.0) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.1...v1.41.0) #### New APIs - New method [page.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-page#page-unroute-all) removes all routes registered by [page.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-page#page-route) and [page.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-page#page-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them. - New method [browserContext.unrouteAll(\[options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-unroute-all) removes all routes registered by [browserContext.route(url, handler, handler\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route) and [browserContext.routeFromHAR(har\[, options\])](https://playwright.dev/docs/api/class-browsercontext#browser-context-route-from-har). Optionally allows to wait for ongoing routes to finish, or ignore any errors from them. - New option `style` in [page.screenshot(\[options\])](https://playwright.dev/docs/api/class-page#page-screenshot) and [locator.screenshot(\[options\])](https://playwright.dev/docs/api/class-locator#locator-screenshot) to add custom CSS to the page before taking a screenshot. - New option `stylePath` for methods [expect(page).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1) and [expect(locator).toHaveScreenshot(name\[, options\])](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1) to apply a custom stylesheet while making the screenshot. - New `fileName` option for [Blob reporter](https://playwright.dev/docs/test-reporters#blob-reporter), to specify the name of the report to be created. #### Browser Versions - Chromium 121.0.6167.57 - Mozilla Firefox 121.0 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 120 - Microsoft Edge 120 ### [`v1.40.1`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.1) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.40.0...v1.40.1) ##### Highlights [https://github.com/microsoft/playwright/issues/28319](https://togithub.com/microsoft/playwright/issues/28319) - \[REGRESSION]: Version 1.40.0 Produces corrupted traces[https://github.com/microsoft/playwright/issues/28371](https://togithub.com/microsoft/playwright/issues/28371)1 - \[BUG] The color of the 'ok' text did not change to green in the vs code test results sectio[https://github.com/microsoft/playwright/issues/28321](https://togithub.com/microsoft/playwright/issues/28321)21 - \[BUG] Ambiguous test outcome and status for serial mo[https://github.com/microsoft/playwright/issues/28362](https://togithub.com/microsoft/playwright/issues/28362)362 - \[BUG] Merging blobs ends up in Error: Cannot create a string longer than 0x1fffffe8 charact[https://github.com/microsoft/playwright/pull/28239](https://togithub.com/microsoft/playwright/pull/28239)8239 - fix: collect all errors in removeFolders ##### Browser Versions - Chromium 120.0.6099.28 - Mozilla Firefox 119.0 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 119 - Microsoft Edge 119 ### [`v1.40.0`](https://togithub.com/microsoft/playwright/releases/tag/v1.40.0) [Compare Source](https://togithub.com/microsoft/playwright/compare/v1.39.0...v1.40.0) #### Test Generator Update  New tools to generate assertions: - "Assert visibility" tool generates [expect(locator).toBeVisible()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-be-visible). - "Assert value" tool generates [expect(locator).toHaveValue(value)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-value). - "Assert text" tool generates [expect(locator).toContainText(text)](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-contain-text). Here is an example of a generated test with assertions: ```js import { test, expect } from '@​playwright/test'; test('test', async ({ page }) => { await page.goto('https://playwright.dev/'); await page.getByRole('link', { name: 'Get started' }).click(); await expect(page.getByLabel('Breadcrumbs').getByRole('list')).toContainText('Installation'); await expect(page.getByLabel('Search')).toBeVisible(); await page.getByLabel('Search').click(); await page.getByPlaceholder('Search docs').fill('locator'); await expect(page.getByPlaceholder('Search docs')).toHaveValue('locator'); }); ``` #### New APIs - Option `reason` in [page.close()](https://playwright.dev/docs/api/class-page#page-close), [browserContext.close()](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) and [browser.close()](https://playwright.dev/docs/api/class-browser#browser-close). Close reason is reported for all operations interrupted by the closure. - Option `firefoxUserPrefs` in [browserType.launchPersistentContext(userDataDir)](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context). #### Other Changes - Methods [download.path()](https://playwright.dev/docs/api/class-download#download-path) and [download.createReadStream()](https://playwright.dev/docs/api/class-download#download-create-read-stream) throw an error for failed and cancelled downloads. - Playwright [docker image](https://playwright.dev/docs/docker) now comes with Node.js v20. #### Browser Versions - Chromium 120.0.6099.28 - Mozilla Firefox 119.0 - WebKit 17.4 This version was also tested against the following stable channels: - Google Chrome 119 - Microsoft Edge 119 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/ionic-team/ionic-framework). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com> Co-authored-by: ionitron <hi@ionicframework.com> |
|||
| bf1701ed39 |
fix(input-shims): disable input blurring util by default (#29104)
Issue number: resolves #29072
---------
<!-- 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 input blurring utility is causing adverse side effects in developer
applications by causing certain UI components to be blurred. This
utility was [added back in
2017](
|
|||
| 1a5cbd0fd0 |
chore(deps): update dependency @stencil/core to v4.12.3 (#29086)
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@stencil/core](https://stenciljs.com/) ([source](https://togithub.com/ionic-team/stencil)) | [`4.12.2` -> `4.12.3`](https://renovatebot.com/diffs/npm/@stencil%2fcore/4.12.2/4.12.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>ionic-team/stencil (@​stencil/core)</summary> ### [`v4.12.3`](https://togithub.com/ionic-team/stencil/blob/HEAD/CHANGELOG.md#-4123-2024-02-20) [Compare Source](https://togithub.com/ionic-team/stencil/compare/v4.12.2...v4.12.3) ##### Bug Fixes - **compiler:** point crypto import at `crypto` instead of `node:crypto` ([#​5369](https://togithub.com/ionic-team/stencil/issues/5369)) ([7fb783f]( |
|||
| ac7253108a | fix(item, item-divider): slotted spacing is correct (#29103) | |||
| de13633a18 |
fix(modal): ariaLabel and role are inherited when set via htmlAttributes (#29099)
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. --> Modal inherits `aria-label` and `role` to an element inside of its Shadow DOM. However, this only works if developers set the attributes on the host element directly. Setting the attributes via the `htmlAttributes` property causes the attributes to be set on the host and not inherited. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - `aria-label` and `role` are inherited even when set using `htmlAttributes`. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> ## 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.7.4-dev.11709154993.1b49c313` |
|||
| 1e3f6c78e9 | v8.0.0-beta.0 | |||
| 613bd54adf |
Revert "chore(): add updated snapshots"
This reverts commit 9b3f622475df01e00e7c6be872195ecfb0b28a34. |
|||
| 9b3f622475 | chore(): add updated snapshots | |||
| 27fb3bacf5 | Merge remote-tracking branch 'origin/main' into sp/sync-feature-8-with-main-2 | |||
| 7cdbc1b5ad |
feat(datetime): formatOptions property for Datetime (#29065)
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. --> The Datetime header, Datetime time button, and Datetime Button have default date formatting that cannot be set by the developer. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - The developer can customize the date and time formatting for the Datetime header and time button - The developer can customize the date and time formatting for the Datetime Button - A warning will appear in the console if they try to provide a time zone (the time zone will not get used) - A warning will be logged if they do not include the date or time object for formatOptions as needed for the presentation of the Datetime ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> These changes have been reviewed in #29009 and #29059. This PR just adds them to the feature branch now that the separate tickets are complete. --------- Co-authored-by: ionitron <hi@ionicframework.com> Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com> |
|||
| 9e3c3e9149 |
chore(deps): remove puppeteer (#29079)
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. --> we have puppeteer as a dep of the project. this isn't a problem per se, as it isn't actually used. however, we're hitting intermittent errors in CI when puppeteer tries to pull down the latest version of chrome. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> remove puppeteer as a dependency for the project. this is no longer needed, as https://github.com/ionic-team/stencil/issues/4526 has been fixed as of stencil v4.8.2 ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
|||
| 3fd66e76b5 | v7.7.3 | |||
| 58c795f315 |
refactor(range): remove legacy property and support for legacy syntax (#29040)
BREAKING CHANGE: The `legacy` property and support for the legacy syntax, which involved placing an `ion-range` inside of an `ion-item` with an `ion-label`, have been removed from range. For more information on migrating from the legacy range syntax, refer to the [Range documentation](https://ionicframework.com/docs/api/range#migrating-from-legacy-range-syntax). |
|||
| fb5ae5b07f |
refactor(checkbox): remove legacy property and support for legacy syntax (#29043)
BREAKING CHANGE: The `legacy` property and support for the legacy syntax, which involved placing an `ion-checkbox` inside of an `ion-item` with an `ion-label`, have been removed from checkbox. For more information on migrating from the legacy checkbox syntax, refer to the [Checkbox documentation](https://ionicframework.com/docs/api/checkbox#migrating-from-legacy-checkbox-syntax). |
|||
| 2ed0ada923 |
fix(overlays): focus is returned to last focus element when focusing toast (#28950)
Issue number: resolves #28261 --------- <!-- 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 moving focus from a focus-trapped overlay to a toast, focus is moved back to the overlay. This is the correct behavior as focus should never leave a focus-trapped overlay (unless the overlay is dismissed or focus is moved to a _new_ top-most overlay). However, the way we return focus is a bit unexpected because it always returns focus to the last focusable element in the overlay. This means that if you were focused on the first focusable element, presented the toast, and then focused the toast, focus might not be moved back to that first focusable element. In the case of the linked issue, this was causing an unexpected scroll so that the last focused element could be in view. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - This fix adds an exception for `ion-toast` (as it is the only overlay that is **not** focus trapped) that ensures that focus is moved back to the last focus element. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> ## 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.7.1-dev.11707253408.186eea70` Note: We don't recommend this pattern in general because it would be impossible for a screen reader user to focus the toast. However, we can at least improve the experience for developers who continue to implement this pattern by returning focus in a more predictable manner. Docs: https://github.com/ionic-team/ionic-docs/pull/3432 Testing: Reviewers should manually test the following behaviors: 1. Create a modal with 2 buttons. Have one of the buttons present a toast. Open the toast and verify that you can still Tab to cycle through the buttons in the modal. 2. Create a modal with 2 buttons. Have one of the buttons present a toast. Open the toast. Move focus to the toast and verify that you can still Tab to cycle through the buttons in the modal (once focus is returned to the modal). |
|||
| 1fc4b76f59 |
fix(label): do not grow when in end slot (#29036)
Issue number: resolves #29033 --------- <!-- 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. --> In https://github.com/ionic-team/ionic-framework/pull/28773 I resolved several incorrect behaviors with Items related to text wrapping. However, it looks like I missed the removal of https://github.com/ionic-team/ionic-framework/pull/28146/files#diff-4a1156704dbf45b0dad273b6909b190ca45e4380aa7378ba88d0dd7d48d7d473R37 which caused the issue to persist when adding a label to the end slot. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Removed logic that caused `ion-label` to grow larger than it needed to be | `main` | branch | | - | - | |  |  | ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> ## 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.7.2-dev.11707840956.16e27b4c` --------- Co-authored-by: ionitron <hi@ionicframework.com> |
|||
| ae873e7028 | v7.7.2 | |||
| d47be8165a |
refactor(item): remove build conditional for test environment (#29007)
- Fix Internal issue (FW-5205) - Removed the build conditional in the `item` component since the previous issue is already fixed in Stencil. --------- <!-- 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. --> - No changes were made in terms of behavior. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - No changes were made in terms of behavior so it will work as before. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> - Spec tests still pass even after this change (we can see below the results before and after the change) - Ran the command `npm run test.spec src/components/item/test/item.spec.ts src/components/item/test/item.spec.tsx`  |
|||
| 1fb8ff7861 |
feat(modal): remove capacitor 2 support for status bar styles (#29028)
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. --> Ionic Framework has fallback detection for Capacitor 2 applications to avoid applying status bar style changes to the card modal. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Ionic Framework's detection for applying status bar styles will be based on the APIs available in Capacitor 3+. - Ionic Framework will no longer support the legacy Capacitor 2 configurations. ## Does this introduce a breaking change? - [x] Yes - [ ] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> Developer should upgrade to the latest major release of Capacitor. ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
|||
| 58d7315802 |
refactor(radio): remove legacy property and support for legacy syntax (#29038)
BREAKING CHANGE: The `legacy` property and support for the legacy syntax, which involved placing an `ion-radio` inside of an `ion-item` with an `ion-label`, have been removed from radio. For more information on migrating from the legacy radio syntax, refer to the [Radio documentation](https://ionicframework.com/docs/api/radio#migrating-from-legacy-radio-syntax). |
|||
| c72ecedc09 |
refactor(toggle): remove legacy property and support for legacy syntax (#29037)
BREAKING CHANGE: The `legacy` property and support for the legacy syntax, which involved placing an `ion-toggle` inside of an `ion-item` with an `ion-label`, have been removed from toggle. For more information on migrating from the legacy toggle syntax, refer to the [Toggle documentation](https://ionicframework.com/docs/api/toggle#migrating-from-legacy-toggle-syntax). |
|||
| 6bd446f681 |
refactor(select): remove legacy property and support for legacy syntax (#29024)
Issue number: internal --------- ## What is the current behavior? In Ionic Framework v7, we [simplified the select syntax](https://ionic.io/blog/ionic-7-is-here#simplified-form-control-syntax) so that it was no longer required to be placed inside of an `ion-item`. We maintained backwards compatibility by adding a `legacy` property which allowed it to continue to be styled properly when written in the following way: ```html <ion-item> <ion-label>Label</ion-label> <ion-select></ion-select> </ion-item> ``` While this was supported in v7, console warnings were logged to notify developers that they needed to update this syntax for the best accessibility experience. ## What is the new behavior? - Removes the `legacy` property and support for the legacy syntax. Developers should follow the [migration guide](https://ionicframework.com/docs/api/select#migrating-from-legacy-select-syntax) in the select documentation to update their apps. The new syntax requires a `label` or `aria-label` on `ion-select`: ```html <ion-item> <ion-select label="Label"></ion-select> </ion-item> ``` - Removes the legacy tests under under `select/test/legacy/` and all related screenshots - Removes the select usage from `item/test/disabled`, `item/test/legacy/alignment`, and `item/test/legacy/disabled` and all related screenshots if the test was removed ## Does this introduce a breaking change? - [x] Yes - [ ] No 1. Developers have had console warnings when using the legacy syntax since the v7 release. The migration guide for the new select syntax is outlined in the [Select documentation](https://ionicframework.com/docs/api/select#migrating-from-legacy-select-syntax). 2. This change has been documented in the Breaking Changes document with a link to the migration guide. BREAKING CHANGE: The `legacy` property and support for the legacy syntax, which involved placing an `ion-select` inside of an `ion-item` with an `ion-label`, have been removed from select. For more information on migrating from the legacy select syntax, refer to the [Select documentation](https://ionicframework.com/docs/api/select#migrating-from-legacy-select-syntax). --------- Co-authored-by: ionitron <hi@ionicframework.com> |
|||
| 76abf2778b |
refactor(input): remove legacy property and support for legacy syntax (#29017)
Issue number: internal --------- ## What is the current behavior? In Ionic Framework v7, we [simplified the input syntax](https://ionic.io/blog/ionic-7-is-here#simplified-form-control-syntax) so that it was no longer required to be placed inside of an `ion-item`. We maintained backwards compatibility by adding a `legacy` property which allowed it to continue to be styled properly when written in the following way: ```html <ion-item> <ion-label>Label</ion-label> <ion-input></ion-input> </ion-item> ``` While this was supported in v7, console warnings were logged to notify developers that they needed to update this syntax for the best accessibility experience. ## What is the new behavior? - Removes the `legacy` property and support for the legacy syntax. Developers should follow the [migration guide](https://ionicframework.com/docs/api/input#migrating-from-legacy-input-syntax) in the input documentation to update their apps. The new syntax requires a `label` or `aria-label` on `ion-input`: ```html <ion-item> <ion-input label="Label"></ion-input> </ion-item> ``` - Removes the legacy tests under under `input/test/legacy/` and all related screenshots - Removes the input usage from `item/test/a11y`, `item/test/counter`, `item/test/disabled`, `item/test/highlight`, `item/test/legacy/alignment`, `item/test/legacy/disabled`, `item/test/legacy/fill`, and `item/test/legacy/form` and all related screenshots if the test was removed ## Does this introduce a breaking change? - [x] Yes - [ ] No 1. Developers have had console warnings when using the legacy syntax since the v7 release. The migration guide for the new input syntax is outlined in the [Input documentation](https://ionicframework.com/docs/api/input#migrating-from-legacy-input-syntax). 2. This change has been documented in the Breaking Changes document with a link to the migration guide. BREAKING CHANGE: The `legacy` property and support for the legacy syntax, which involved placing an `ion-input` inside of an `ion-item` with an `ion-label`, have been removed from input. For more information on migrating from the legacy input syntax, refer to the [Input documentation](https://ionicframework.com/docs/api/input#migrating-from-legacy-input-syntax). --------- Co-authored-by: ionitron <hi@ionicframework.com> |
|||
| f5d6275e07 |
chore(deps-dev): Bump @axe-core/playwright from 4.8.4 to 4.8.5 in /core (#29026)
Bumps [@axe-core/playwright](https://github.com/dequelabs/axe-core-npm) from 4.8.4 to 4.8.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dequelabs/axe-core-npm/releases"><code>@axe-core/playwright</code>'s releases</a>.</em></p> <blockquote> <h2>Release 4.8.5</h2> <h2>What's Changed</h2> <ul> <li>ci: fix github release script by <a href="https://github.com/michael-siek"><code>@michael-siek</code></a> in <a href="https://redirect.github.com/dequelabs/axe-core-npm/pull/999">dequelabs/axe-core-npm#999</a></li> <li>chore: merge master into develop by <a href="https://github.com/github-actions"><code>@github-actions</code></a> in <a href="https://redirect.github.com/dequelabs/axe-core-npm/pull/998">dequelabs/axe-core-npm#998</a></li> <li>chore: update chromedriver to 121 by <a href="https://github.com/michael-siek"><code>@michael-siek</code></a> in <a href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1005">dequelabs/axe-core-npm#1005</a></li> <li>fix: Update axe-core to v4.8.4 by <a href="https://github.com/github-actions"><code>@github-actions</code></a> in <a href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1008">dequelabs/axe-core-npm#1008</a></li> <li>ci: fix tagging when creating releases by <a href="https://github.com/michael-siek"><code>@michael-siek</code></a> in <a href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1012">dequelabs/axe-core-npm#1012</a></li> <li>chore: RC v4.8.5 by <a href="https://github.com/github-actions"><code>@github-actions</code></a> in <a href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1013">dequelabs/axe-core-npm#1013</a></li> <li>Release v4.8.5 by <a href="https://github.com/dequejenn"><code>@dequejenn</code></a> in <a href="https://redirect.github.com/dequelabs/axe-core-npm/pull/1015">dequelabs/axe-core-npm#1015</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/dequelabs/axe-core-npm/compare/v4.8.4...v4.8.5">https://github.com/dequelabs/axe-core-npm/compare/v4.8.4...v4.8.5</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/dequelabs/axe-core-npm/blob/develop/CHANGELOG.md"><code>@axe-core/playwright</code>'s changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/dequelabs/axe-core-npm/compare/v4.8.4...v4.8.5">4.8.5</a> (2024-02-08)</h2> <h3>Bug Fixes</h3> <ul> <li>Update axe-core to v4.8.4 (<a href="https://redirect.github.com/dequelabs/axe-core-npm/issues/1008">#1008</a>) (<a href=" |
|||
| ca61e5061b |
feat: add high contrast themes (#29010)
⚠️ This is a combination of previously approved PRs with the
exception of
|
|||
| 957604c3a0 |
refactor(datetime): remove safari 14 hack (#29035)
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. --> This code was added to account for a Safari 14 issue that would cause datetime to render incorrectly. The Safari bug was fixed starting in Safari 15. However, Ionic v7 supported back to Safari 14. More context is available [here](https://github.com/ionic-team/ionic-framework/pull/24421#discussion_r796113907) ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Removed the Safari 14 workarounds since Ionic v8 does not support Safari 14 I tested on iOS 15, 16, and 17 to verify that removing this hack does not cause any issues. Also verified that removing this hack does reproduce the issue on iOS 14 (to verify that I am reproducing the original issue correctly) ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
|||
| b37fa5e997 |
refactor: update styles according to design document (#29011)
This PR makes adjustments to the standard contrast light and dark themes as defined in https://github.com/ionic-team/ionic-framework-design-documents/pull/248. |
|||
| e6e4c3e173 |
chore(datetime): remove safari 14 intersection observer workaround (#29032)
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. --> Ionic Framework has a patch implementation to workaround a Safari 14 bug that resulted in the calendar month jumping when opening/closing the month/year interface. This bug was fixed in Safari 15. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Ionic v8 no longer supports Safari 14, so we can safely remove this patch code - Calendar month does not jump when opening/closing the month/year interface with Safari/iOS 15-17 ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> I tested on Sims for iOS 15-17. Tested against a physical device for iOS 17 as well. |
|||
| a016670a8a |
fix(overlays): do not return focus if application has already moved focus manually (#28850)
Issue number: resolves #28849 --------- ## What is the current behavior? If the developer tries to set focus to a custom element on overlay dismissal, Ionic will always override that focus. ## What is the new behavior? - If focus is already set by developer during dismissal, then Ionic will not restore focus to previous element ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information In the before video, you can see the text box is focused by developer code when "Mention User" is tapped, which opens the keyboard. Shortly after that, when the bottom sheet fully dismisses, Ionic focuses the button, removing focus from the text box and hiding the keyboard. In the after, Ionic detects that the developer has already focused the text box and does not change that focus. |Before|After| |---|---| |<video src="https://github.com/ionic-team/ionic-framework/assets/2166114/47d55eff-29af-4019-ac3c-00f9fe722ca7"></video>| <video src="https://github.com/ionic-team/ionic-framework/assets/2166114/508ae466-d037-41eb-b518-92338a122b22"></video>| |
|||
| f07eabe12e |
chore(deps): Bump @stencil/core from 4.12.1 to 4.12.2 in /core (#29027)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.12.1 to 4.12.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil/releases"><code>@stencil/core</code>'s releases</a>.</em></p> <blockquote> <h2>🎯 v4.12.2 (2024-02-12)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>compiler:</strong> support async globalScripts functions (<a href="https://redirect.github.com/ionic-team/stencil/issues/5158">#5158</a>) (<a href=" |
|||
| 1543b0e608 |
refactor(themes): update border radius to new logical properties (#29002)
Issue number: internal
---------
## What is the current behavior?
The old `border-radius` mixin added additional selectors and styles
depending on whether the direction was set to `ltr` or `rtl`.
Old mixin usage:
```scss
.old-border-radius {
@include border-radius(5px, 6px, 7px, 8px)
}
```
generates:
```css
.old-border-radius {
border-top-left-radius: 5px;
border-top-right-radius: 6px;
border-bottom-right-radius: 7px;
border-bottom-left-radius: 8px;
}
:host-context([dir=rtl]) .old-border-radius {
border-top-left-radius: 6px;
border-top-right-radius: 5px;
border-bottom-right-radius: 8px;
border-bottom-left-radius: 7px;
}
[dir=rtl] .old-border-radius {
border-top-left-radius: 6px;
border-top-right-radius: 5px;
border-bottom-right-radius: 8px;
border-bottom-left-radius: 7px;
}
@supports selector(:dir(rtl)) {
.old-border-radius:dir(rtl) {
border-top-left-radius: 6px;
border-top-right-radius: 5px;
border-bottom-right-radius: 8px;
border-bottom-left-radius: 7px;
}
}
```
## What is the new behavior?
The new `border-radius` mixin uses the [logical
properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values/Margins_borders_padding)
which handles switching based on the
[writing-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode),
[direction](https://developer.mozilla.org/en-US/docs/Web/CSS/direction),
and
[text-orientation](https://developer.mozilla.org/en-US/docs/Web/CSS/text-orientation):
| Before | After |
| -----------------------------| ----------------------------|
| `border-top-left-radius` | `border-start-start-radius` |
| `border-bottom-left-radius` | `border-end-start-radius` |
| `border-top-right-radius` | `border-start-end-radius` |
| `border-bottom-right-radius` | `border-end-end-radius` |
New mixin usage:
```scss
.new-border-radius {
@include border-radius(5px, 6px, 7px, 8px)
}
```
```css
.new-border-radius {
border-start-start-radius: 5px;
border-start-end-radius: 6px;
border-end-end-radius: 7px;
border-end-start-radius: 8px;
}
```
## Does this introduce a breaking change?
- [ ] Yes
- [x] No
## Other information
The `select` styles have been updated to use the mixin instead of
hardcoding `border-radius`.
|
|||
| 5daa3e6b7f | refactor(textarea): remove unused legacy styles (#29006) | |||
| ba4ba6161c |
fix(overlays): ensure that only topmost overlay is announced by screen readers (#28997)
Issue number: resolves #23472
---------
<!-- 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. -->
If multiple overlays are presented at the same time, none of them
receive `aria-hidden="true"`. This means that screen readers can read
contents from overlays behind the current one, which can be confusing
for users.
The original issue also reports router outlets getting `aria-hidden`
removed when any overlay is dismissed, not just the last one, but we've
since fixed that:
|
|||
| adc5655d95 |
chore(deps-dev): Bump @capacitor/core from 5.6.0 to 5.7.0 in /core (#28998)
Bumps [@capacitor/core](https://github.com/ionic-team/capacitor) from 5.6.0 to 5.7.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/capacitor/releases"><code>@capacitor/core</code>'s releases</a>.</em></p> <blockquote> <h2>5.7.0</h2> <h1><a href="https://github.com/ionic-team/capacitor/compare/5.6.0...5.7.0">5.7.0</a> (2024-02-07)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>cli:</strong> correctly build and sign Android apps using Flavors (<a href="https://redirect.github.com/ionic-team/capacitor/issues/7211">#7211</a>) (<a href=" |
|||
| 1ca9aa5246 |
test(toast): reset config to avoid unnecessary setTimeouts (#29004)
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. --> Team members are running into unexpected errors running spec tests: ``` TypeError: Cannot read properties of undefined (reading '$instanceValues$') ``` This line is the culprit: |
|||
| e833ad4649 |
docs(overlays): clarify how to remove an overlay (#28989)
In https://github.com/ionic-team/ionic-framework/issues/28981 there was some confusion surrounding how to remove an overlay from the DOM if it was never presented. The `dismiss` method will remove the overlay from the DOM, but only if the overlay is visible. Otherwise, it's a no-op. This PR updates the `dismiss` method docs for each overlay component to note that developers can use the browser's remove method to remove the element from the DOM. |
|||
| 92d810338d |
refactor(textarea): remove legacy property and support for legacy syntax (#28993)
Issue number: internal --------- ## What is the current behavior? In Ionic Framework v7, we [simplified the textarea syntax](https://ionic.io/blog/ionic-7-is-here#simplified-form-control-syntax) so that it was no longer required to be placed inside of an `ion-item`. We maintained backwards compatibility by adding a `legacy` property which allowed it to continue to be styled properly when written in the following way: ```html <ion-item> <ion-label>Label</ion-label> <ion-textarea></ion-textarea> </ion-item> ``` While this was supported in v7, console warnings were logged to notify developers that they needed to update this syntax for the best accessibility experience. ## What is the new behavior? - Removes the `legacy` property and support for the legacy syntax. Developers should follow the [migration guide](https://ionicframework.com/docs/api/textarea#migrating-from-legacy-textarea-syntax) in the textarea documentation to update their apps. The new syntax requires a `label` or `aria-label` on `ion-textarea`: ```html <ion-item> <ion-textarea label="Label"></ion-textarea> </ion-item> ``` - Removes the legacy tests under `textarea/test/legacy/` and all related screenshots - Removes the textarea usage in `input/test/legacy/spec`, `item/test/disabled`, `item/test/legacy/disabled` and `item/test/legacy/fill` ## Does this introduce a breaking change? - [x] Yes - [ ] No 1. Developers have had console warnings when using the legacy syntax since the v7 release. The migration guide for the new textarea syntax is outlined in the [Textarea documentation](https://ionicframework.com/docs/api/textarea#migrating-from-legacy-textarea-syntax). 2. This change has been documented in the Breaking Changes document with a link to the migration guide. BREAKING CHANGE: The `legacy` property and support for the legacy syntax, which involved placing an `ion-textarea` inside of an `ion-item` with an `ion-label`, have been removed from textarea. For more information on migrating from the legacy textarea syntax, refer to the [Textarea documentation](https://ionicframework.com/docs/api/textarea#migrating-from-legacy-textarea-syntax). --------- Co-authored-by: ionitron <hi@ionicframework.com> |
|||
| f885a5526a |
chore(deps): Bump @stencil/core from 4.12.0 to 4.12.1 in /core (#28980)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.12.0 to 4.12.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil/releases"><code>@stencil/core</code>'s releases</a>.</em></p> <blockquote> <h2>🏸 v4.12.1 (2024-02-05)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>mock-doc:</strong> improve error message when <code>:scope</code> selector is used (<a href="https://redirect.github.com/ionic-team/stencil/issues/5318">#5318</a>) (<a href=" |
|||
| 0a8964d30c |
fix(popover): render arrow above backdrop (#28986)
Issue number: resolves #28985 --------- <!-- 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. --> <!-- Please describe the current behavior that you are modifying. --> When a popover is being rendered in iOS mode, the arrow renders under the backdrop.  <!-- Please describe the behavior or changes that are being added by this PR. --> - The arrow renders at the same level as the content.  - [ ] Yes - [x] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#footer for more information. --> <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Credit [Sahil-B07](https://github.com/Sahil-B07) for providing the [fix](https://github.com/ionic-team/ionic-framework/pull/28430). A new PR had to be created in order to update snapshots. --------- Co-authored-by: Sahil Bhor <92709590+Sahil-B07@users.noreply.github.com> Co-authored-by: ionitron <hi@ionicframework.com> |
|||
| 4670698d07 | chore: clean up | |||
| 7c5ccdc2fa | chore(): add updated snapshots | |||
| 1091534397 | chore: sync with main | |||
| 66fcb70151 | v7.7.1 | |||
| 7449fb4fed |
fix(action-sheet): iOS dismiss animation respects safe area (#28915)
Issue number: resolves #28541
---------
<!-- 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. -->
On iOS when dismissing the `ion-action-sheet`, the animation does not
account for the safe area of the device. This results in the action
sheet not completely animating off the visible viewport on a device with
safe area enabled.
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
- The `ion-action-sheet` will animate consistently off the viewport when
dismissing, including the safe area.
To better support custom animations not needing to account for the safe
area, the safe area has been added to the padding of the action sheet
container. This results in the height increasing based on the bottom
safe area and animating correctly when translating between [`100%` and
`0%`](
|
|||
| 47915c3164 | chore: sync with feature-8.0 |