mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-11-08 15:51:16 +08:00
3972 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 01f99597f7 |
fix(segment): remove duplicate ripple effect on pointerup (#27448)
Issue number: resolves #27338 --------- ## What is the current behavior? Segment button on `md` mode shows two ripple effects: once on pointerdown and again on pointerup ## What is the new behavior? Segment button on `md` mode only shows a ripple effect on pointerdown ## Does this introduce a breaking change? - [ ] Yes - [x] No --------- Co-authored-by: Brandy Carney <brandy@ionic.io> |
|||
| ec95ae5cd3 |
feat(segment, segment-button): update segment value property to accept numbers (#27222)
Issue number: resolves #27221 --------- ## What is the current behavior? The value property of the segment component in Ionic Framework currently only accepts string values. ## What is the new behavior? This pull request updates the "value" property of the segment component to accept a union of string and number types. This allows for more versatile data input in the segment component, particularly for users who work with numerical data. ## Does this introduce a breaking change? - [ ] Yes - [X] No ## Other information N/A |
|||
| 9a89ae7998 | v7.0.8 | |||
| c75cd9a189 |
chore(deps-dev): Bump @stencil/angular-output-target from 0.6.0 to 0.7.0 in /core (#27537)
Bumps [@stencil/angular-output-target](https://github.com/ionic-team/stencil-ds-output-targets) from 0.6.0 to 0.7.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil-ds-output-targets/releases"><code>@stencil/angular-output-target</code>'s releases</a>.</em></p> <blockquote> <h2><code>@stencil/angular-output-target</code><a href="https://github.com/0"><code>@0</code></a>.7.0</h2> <h2>What's Changed</h2> <ul> <li>feat(angular): omit output related imports for components with no event by <a href="https://github.com/KariiO"><code>@KariiO</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-ds-output-targets/pull/330">ionic-team/stencil-ds-output-targets#330</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/KariiO"><code>@KariiO</code></a> made their first contribution in <a href="https://redirect.github.com/ionic-team/stencil-ds-output-targets/pull/330">ionic-team/stencil-ds-output-targets#330</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ionic-team/stencil-ds-output-targets/compare/v0.8.4...@stencil/angular-output-target@0.7.0">https://github.com/ionic-team/stencil-ds-output-targets/compare/v0.8.4...<code>@stencil/angular-output-target</code><code>@0.7.0</code></a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
|||
| 69928aa16e |
chore(deps-dev): Bump @stencil/sass from 3.0.2 to 3.0.3 in /core (#27536)
Bumps [@stencil/sass](https://github.com/ionic-team/stencil-sass) from 3.0.2 to 3.0.3. <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.3</h2> <h2>Dependency Updates</h2> <p><code>@ionic/prettier-config</code></p> <ul> <li>chore(deps-dev): bump <code>@ionic/prettier-config</code> from 2.1.2 to 3.0.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/295">ionic-team/stencil-sass#295</a></li> </ul> <p><code>@stencil/core</code></p> <ul> <li>chore(deps-dev): bump <code>@stencil/core</code> from 3.2.1 to 3.2.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/292">ionic-team/stencil-sass#292</a></li> </ul> <p><code>rimraf</code></p> <ul> <li>chore(deps-dev): bump rimraf from 5.0.0 to 5.0.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/315">ionic-team/stencil-sass#315</a></li> </ul> <p><code>rollup</code></p> <ul> <li>chore(deps-dev): bump rollup from 3.21.0 to 3.21.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/294">ionic-team/stencil-sass#294</a></li> <li>chore(deps-dev): bump rollup from 3.21.3 to 3.21.5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/298">ionic-team/stencil-sass#298</a></li> <li>chore(deps-dev): bump rollup from 3.21.5 to 3.21.6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/303">ionic-team/stencil-sass#303</a></li> <li>chore(deps-dev): bump rollup from 3.21.6 to 3.21.7 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/307">ionic-team/stencil-sass#307</a></li> <li>chore(deps-dev): bump rollup from 3.21.7 to 3.22.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/311">ionic-team/stencil-sass#311</a></li> <li>chore(deps-dev): bump rollup from 3.22.0 to 3.23.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/317">ionic-team/stencil-sass#317</a></li> </ul> <p><code>terser</code></p> <ul> <li>chore(deps-dev): bump terser from 5.17.1 to 5.17.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/299">ionic-team/stencil-sass#299</a></li> <li>chore(deps-dev): bump terser from 5.17.2 to 5.17.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/301">ionic-team/stencil-sass#301</a></li> <li>chore(deps-dev): bump terser from 5.17.3 to 5.17.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/310">ionic-team/stencil-sass#310</a></li> <li>chore(deps-dev): bump terser from 5.17.4 to 5.17.5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/318">ionic-team/stencil-sass#318</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ionic-team/stencil-sass/compare/v3.0.2...v3.0.3">https://github.com/ionic-team/stencil-sass/compare/v3.0.2...v3.0.3</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
|||
| c1eabb7333 |
refactor(accordion): remove duplicate selector (#27523)
Hey guys, I've found a minor issue. There is a duplicate selector for the same rules. The lines `:24` and `:25` are the same. |
|||
| 134c912992 |
chore(deps-dev): Bump @axe-core/playwright from 4.7.0 to 4.7.1 in /core (#27520)
Bumps [@axe-core/playwright](https://github.com/dequelabs/axe-core-npm) from 4.7.0 to 4.7.1. <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.7.1</h2> <h3>Bug Fixes</h3> <ul> <li>proper imports in esm context (<a href="https://redirect.github.com/dequelabs/axe-core-npm/issues/718">#718</a>) (<a href=" |
|||
| 475cd2d7de |
docs(angular, core): change link from slack to discord (#27519)
Issue number: N/A [The Stencil team has moved their community from Slack to Discord](https://twitter.com/stenciljs/status/1658561079767887873). --------- <!-- 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. --> There is a link to the Slack. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - There is a link to the Discord. ## 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. --> |
|||
| d3dd72fff6 |
fix(picker-column): correct RTL direction (#27460)
Issue number: resolves #21205 --------- <!-- 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. --> `picker-column` keeps using LTR display when using RTL. LTR: `Column 1 Column 2` RTL: `Column 1 Column 2` ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> `picker-column` correctly displays for RTL. LTR: `Column 1 Column 2` RTL: `Column 2 Column 1` ## 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 PR is already being tested through the `picker -> basic` and `picker -> value` screenshots. Due to those tests, a new test is not needed to verify the fix. The current fix is only changing the `picker` and `picker-column`. The `datetime` and `datetime-button` do not change, leaving the format up to the users. It wouldn't change the functionality that was provided through PR ionic-team/ionic-framework#17018. --------- Co-authored-by: ionitron <hi@ionicframework.com> |
|||
| 75902b9257 |
chore(deps-dev): bump @axe-core/playwright from 4.6.1 to 4.7.0 in /core (#27351)
Bumps [@axe-core/playwright](https://github.com/dequelabs/axe-core-npm) from 4.6.1 to 4.7.0. <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.7.0</h2> <h3>Bug Fixes</h3> <ul> <li><strong>cli:</strong> do not inject script tags due to pages not allowing script tags (<a href="https://redirect.github.com/dequelabs/axe-core-npm/issues/710">#710</a>) (<a href=" |
|||
| de1dc6b696 |
test(select): clean up basic test template (#27507)
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. --> The `basic` test for `ion-select` contains a lot of content that is either duplicated within the test, duplicated by other tests, or simply not used/needed. Additionally, some select options (notably gender and hair color) are not inclusive. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Test template cleaned up, and options replaced with less personal ones as needed. Legacy test HTML was intentionally left alone since we'll be removing that in the near future anyway, though I did have to tweak a legacy E2E test since it was visiting the non-legacy page. ## 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. --> |
|||
| d71a2edf4c |
chore(deps-dev): bump @stencil/vue-output-target from 0.8.4 to 0.8.5 in /core (#27501)
Bumps [@stencil/vue-output-target](https://github.com/ionic-team/stencil-ds-output-targets) from 0.8.4 to 0.8.5. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/ionic-team/stencil-ds-output-targets/commits">compare view</a></li> </ul> </details> <br /> [](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 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com> |
|||
| a59eefb6a3 |
fix(popover): blur translucent popover in chromium (#27484)
Issue number: Resolves #22176 --------- <!-- 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. --> Translucent popovers do not get blurred in Chromium ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Translucent popover gets blurred in Chromium Note: existing screenshot tests nicely show the change in behavior. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information Because of the [existing, apparently intentional](https://bugs.chromium.org/p/chromium/issues/detail?id=1148826) behavior in Chromium browsers with `backdrop-filter` and animation, we need to either animate the arrow and content instead of the wrapper or apply the filter to a different element. Here, I've animated the arrow and content instead of the wrapper. The fix only needs to apply in `ios` mode. The translucent option is not supported in `md` mode. <!-- 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 <hi@ionicframework.com> |
|||
| 995a848575 |
fix(many): update form controls (radio, checkbox, toggle, input, select) to have consistent disabled opacity (#27396)
Issue number: resolves #27184 --------- ## What is the current behavior? The modern form controls do not use the same opacity for their labels when disabled, resulting in inconsistent UI when using two different types in the same view (select vs checkbox, for example). ## What is the new behavior? The checkbox, input, radio, range, select, textarea and toggle labels have been updated on both modes to use the same opacity as each other when disabled. The checkbox and radio icons have been updated to use a different opacity than the label for `md` mode. - Updates `ios` mode so all form controls use the same opacity of `0.3` - I could not find any guidelines by Apple for what color these should be, so I decided to just make them the same as what is most commonly used & match item - Updates `md` mode so all form control labels use the same opacity of `0.38` - I used the [Material Design 3 documentation](https://m2.material.io/components) to get this number as well as the opacity of the disabled selection controls in the [Material Design 2 figma design kit](https://www.figma.com/community/file/778763161265841481). The Material Design 2 documentation does not mention the opacity, but this is also the number used by Material Design 1 so it's safe to assume it is what the disabled form labels should also use for Material Design 2. - Updates the `md` range so the slotted elements are also included when setting the opacity on the label - Updates the range, radio & checkbox tests to make sure there are screenshots in the different disabled states - Updates the item/disabled test to include radio & textarea so you can see all form controls side by side ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information I downloaded screenshots of the item disabled tests and put them side by side for `main` and this branch in order to see the differences in the labels. The grey boxes to the left of each item are just a bigger version of the label color for that item, so it's easier to see when they aren't the same.   --------- Co-authored-by: ionitron <hi@ionicframework.com> |
|||
| 3e17d29fe7 | v7.0.7 | |||
| 70d9854d8d |
fix(footer, tab-bar): wait for resize before re-showing (#27417)
Issue number: resolves #25990 --------- <!-- 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 tab bar and footer are being shown too soon after the keyboard begins to hide. This is happening because the webview resizes _after_ the keyboard begins to dismiss. As a result, it is possible for the tab bar and footer to briefly appear on the top of the keyboard in environments where the webview resizes. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - The tab bar and footer wait until after the webview has resized before showing again | before | after | | - | - | | <video src="https://user-images.githubusercontent.com/2721089/236905066-42ac17a5-a5bf-458b-9c62-005fcce05e20.MP4"></video> | <video src="https://user-images.githubusercontent.com/2721089/236905185-d2f539d1-6d93-4385-b1cb-24dd7aa06393.MP4"></video> | This code works by adding an optional parameter to the keyboard controller callback called `waitForResize`. When defined, code within Ionic can wait for the webview to resize as a result of the keyboard opening or closing. Tab bar and footer wait for this `waitForResize` promise to resolve before re-showing the relevant elements. This `waitForResize` parameter is only only defined when all of the following are two: **1. The webview resize mode is known and is _not_ "None".** If the webview resize mode is unknown then either the Keyboard plugin is not installed (in which case the tab bar/footer are never hidden in the first place) or the app is being deployed in a browser/PWA environment (in which case the web content typically does not resize). If the webview resize mode is "None" then that means the keyboard plugin is installed, but the webview is configured to never resize when the keyboard opens/closes. As a result, there is no need to wait for the webview to resize. **2. The webview has previously resized.** If the keyboard is closed _before_ the opening keyboard animation completes then it is possible for the webview to never resize. In this case, the webview is at full height and the tab bar/footer can immediately be re-shown. ------ Under the hood, we use a [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver) to listen for when the web content resizes. Which element we listen on depends on the resize mode set in the developer's Capacitor app. We determine this in the `getResizeContainer` function. From there, we wait for the ResizeObserver callback, then wait 1 more frame so the promise resolves _after_ the resize has finished. ## 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.0.6-dev.11683905366.13943af0` |
|||
| f08cb31b39 | chore(): add updated snapshots | |||
| 9dc126d387 |
fix(picker-column): prevSelected is set to the correct value (#27458)
Issue number: resolves #21764 --------- <!-- 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 `prevSelected` returns the same value as `selectedIndex`. When a user has selected the first option then the second: - `prevSelected` returns `1` - `selectedIndex` returns `1` ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> The `prevSelected` returns the index of the last selected option. When a user has selected the first option then the second: - `prevSelected` returns `0` - `selectedIndex` returns `1` ## 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. --> Read the comment below regarding `toHaveReceivedEventDetail`. |
|||
| 19ec41c965 | chore: sync with main | |||
| 13d2d115d4 |
fix(select): modern syntax works with forms (#27480)
Issue number: resolves #27478 --------- <!-- 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 modern syntax render function was missing `renderHiddenInput` which caused modern `ion-select` instances to not participate in form submission. Legacy syntax is not affected. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Modern syntax calls `renderHiddenInput`. ## 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.0.7-dev.11684158250.1920157d` |
|||
| 381de0b3d3 |
fix(many): form controls labels have increased margin (#27447)
Issue number: resolves #27129 --------- <!-- 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. --> Material Design has 16px of margin between the form control and the label, but we have 8px: https://m2.material.io/components/selection-controls#usage ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Updates default margin from 8px to 16px for checkbox, input, radio, range, select, textarea, and toggle. Note: This should only apply to labels that are on the same line as the form control. In other words, they do not apply to stacked/floating labels. ## 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 <hi@ionicframework.com> |
|||
| eb2772c0ce |
docs(input, select, textarea): document workaround for large border-radius with fill="outline" (#27467)
Issue number: resolves #27116 --------- <!-- 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. --> With `ion-input`, `ion-select`, or `ion-textarea` using `fill="outline"`, applying a large value for the `--border-radius` CSS prop causes the radius to render differently on the left and right sides:  This is due to the structure of the outline container, which is used to render the empty space in the border when a `stacked` or `floating` label floats upwards. The container has three pieces, which combine to form a seamless-looking border:  The issue is that the browser will only render a radius that fits within the element's dimensions, and the piece on the left side (or right on RTL) is not wide enough. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> While we could fix this issue by making the left-side piece wider (and there was originally a PR for this at https://github.com/ionic-team/ionic-framework/pull/27459), it was decided to not include this fix in Ionic automatically. This is because the fix does not work for `label-placement="stacked"` or `"floating"`; the notch spacer (the middle piece of the outline) is pushed to the side, leading to broken visuals:  We decided that introducing inconsistent behavior across different values for `label-placement` would be confusing for developers. Even if we did restructure the outline container to position the notch spacer correctly, it could easily be made to fall on the curve of the border, creating awkward visuals. Instead, developers looking to use a large `--border-radius` with `fill="outline"` should either increase `--padding-start` to be at least as high as the `--border-radius` (which will increase the width of the left outline piece while also moving the floating label in step), or use `shape="round"` (which will change both the padding and border radius automatically). This PR documents this workaround in the `--border-radius` description. ## 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. --> |
|||
| e5ae45d32f |
fix(spinner): allow resizing of dots, bubbles, and circles (#27424)
Issue number: Resolves #18115 --------- <!-- 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. --> Resizing the `ion-spinner` by setting the width & height using CSS works for most spinner variants, but not for `dots`, `bubbles`, and `circles`. The spacing between the circles on these spinner variants is not scaling with the spinner. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - `ion-spinner` may now be resized by setting the width & height using CSS for all variants. ## 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. --> ### Before <img width="371" alt="Screenshot 2023-05-08 at 5 17 59 PM" src="https://user-images.githubusercontent.com/14926794/236937361-b8139bb3-192d-4fbf-839c-f9262b7c112a.png"> ### After <img width="373" alt="Screenshot 2023-05-08 at 5 18 45 PM" src="https://user-images.githubusercontent.com/14926794/236937508-9a8fa74e-60c8-47d9-9d56-c287da03a33f.png"> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
|||
| 3f07297dff |
test(chip): break tests up (#27464)
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. --> Chip tests currently take screenshots are entire pages with lots of chips. This makes it hard to understand what exactly is being tested. Additionally, there are redundant configurations are being tested. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Broke the chip tests up into the following checks: 1. Basic rendering. This checks rendering across text directions. 2. Outline rendering 3. Solid + Color rendering 4. Solid + Outline rendering 5. Disabled state rendering 6. Customization/CSS Variable rendering ## 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 <hi@ionicframework.com> |
|||
| 3cbc592154 |
fix(accordion): state updates if value changes (#27463)
Issue number: resolves #27461 --------- <!-- 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 an accordion group has a value, and an accordion updates its value to equal the accordion group value then the state of the accordion does not change. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - If an accordion value changes it will call `this.updateState` to see if it should open in the event its value now matches the value of the parent accordion group. ## 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.0.7-dev.11683898881.13edb102` |
|||
| 921bfae9e6 |
fix(select): floating label covers placeholder when when blurred (#27446)
Issue number: resolves #27201 --------- <!-- 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. --> Selects with a floating label, no value, and a placeholder should have the label cover the placeholder when blurred. One focus, the label should translate to the top of the select, and the placeholder should be visible. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Floating label now covers the select and hides the placeholder when the select is blurred, matching the `ion-input` and `ion-textarea` behaviors. ## 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 <hi@ionicframework.com> |
|||
| 7b7e05aa69 |
fix(datetime-button): log error if non-datetime instance is passed (#27456)
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. --> An issue was filed in https://github.com/ionic-team/ionic-framework/issues/27452 where the `presentation` property was not being respected. The problem ended up being that the ID passed to `ion-datetime-button` was not associated with an `ion-datetime` instance, so it did not pick up on the `presentation` property. I think we can handle this better by logging an error if the ID passed does not belong to an `ion-datetime`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Log an error if the ID passed to `ion-datetime-button` exists but does not belong to an `ion-datetime` instance. ## 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. --> |
|||
| 0b23814e0b |
fix(tab-button): use darker text to pass a11y (#27355)
Issue number: N/A --------- - Changes the default Material Design tab color to `$text-color-step-350` or `#a6a6a6` - Changes the default iOS tab color to `$text-color-step-400` or `#999999` - Removes the axe skip in the e2e test These were the minimum color changes needed to pass axe. --------- Co-authored-by: ionitron <hi@ionicframework.com> Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com> |
|||
| 159bffbb5f | chore(): sync with main | |||
| b64a03ad48 |
test(input): merge render spec files (#27449)
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. --> Input had two spec files for the same behavior. The only difference was the file type: `.ts` and `.tsx` ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Merged the spec test into one 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. --> N/A |
|||
| c985237048 |
chore(deps-dev): bump @stencil/vue-output-target from 0.8.2 to 0.8.4 in /core (#27441)
Bumps [@stencil/vue-output-target](https://github.com/ionic-team/stencil-ds-output-targets) from 0.8.2 to 0.8.4. <details> <summary>Commits</summary> <ul> <li><a href=" |
|||
| eabc6f3576 |
fix(checkbox, radio): update border colors to match MD2 spec (#27357)
Issue number: resolves #27170 --------- Updates the Material Design border colors for checkbox and radio to `rgb($text-color-rgb, 0.60)` or `#666666`. This is based on the [Material Design 2 kit](https://www.figma.com/community/file/778763161265841481/Material-2-Design-Kit). The border color when disabled is also wrong, but changing this affects the label so I have reverted this to do as part of FW-4037. ## Does this introduce a breaking change? - [ ] Yes - [x] No --------- Co-authored-by: ionitron <hi@ionicframework.com> Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com> |
|||
| 7c7fb2b1a3 |
fix(picker-column): dynamically change options (#27359)
Issue number: resolves #21763 --------- <!-- Please refer to our contributing documentation for any questions on submitting a pull request, or let us know here if you need any help: https://ionicframework.com/docs/building/contributing --> <!-- Some docs updates need to be made in the `ionic-docs` repo, in a separate PR. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation for details. --> <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Picker options do not render correctly when dynamically changed. It throws an error when the original options' length is no longer the same as the updated options' length. This is due to `refresh()` being called with `this.optsEl` having a stale list of children. The list doesn't get updated until the upcoming render. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> The column will call `refresh()` when it detects the columns has changed. The call needs to be done after `this.optsEl` gets updated with the correct number of children. `componentShouldUpdate()` will check if options has changed -> re-renders with the updated options -> `componentDidUpdate()` calls `refresh()` based on `componentShouldUpdate()` The standalone test page has been updated to include a way to test this fix. ## 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. --> It might be beneficial to review the [component lifecycle](https://stenciljs.com/docs/component-lifecycle). Co-authored-by: liamdebeasi <liamdebeasi@users.noreply.github.com> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
|||
| 1eeb568df3 | v7.0.6 | |||
| 368add2a5c |
feat(range): add label prop (#27408)
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. --> Labels on `ion-range` can only be set via the `label` slot. When only plain text is needed, this is cumbersome because you need to add an entire new element to wrap the label. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Label prop added. If both the prop and slot are used, the prop will take priority. ## 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. --> - Docs PR: https://github.com/ionic-team/ionic-docs/pull/2955 - Dev build: `7.0.6-dev.11683657201.139d03f4` |
|||
| e9309880d1 |
fix(content): prevent forceUpdate in SSR (#27440)
Issue number: Resolves #27411, https://github.com/ionic-team/stencil/issues/2429, https://github.com/ionic-team/stencil/issues/4076 --------- <!-- 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. --> Rendering `<ion-content fullscreen="true">` in an Angular Universal project will result in a javascript heap exception and the browser tab timing out. `forceUpdate` is not a compatible API with pre-rendering and results in calling itself indefinitely. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Updates the fullscreen implementation of `ion-content` to only call `forceUpdate` and related functionality when running in a browser environment. - `<ion-content fullscreen="true">` is compatible with Angular Universal ## 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.0.6-dev.11683653232.1ddc5840` ✅ |
|||
| eba4c7f6e6 |
test(toast): clean up tests (#27435)
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. --> There are several redundant tests I missed during my generator pass. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> |
|||
| 0e13b5b540 |
test(picker): clean up tests (#27433)
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. --> There are several redundant tests I missed during my generator pass. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> |
|||
| b16fd1d6f9 |
fix(item-sliding): options display on rtl (#27203)
Issue URL: resolves #26103, resolves #25285 --------- <!-- Please refer to our contributing documentation for any questions on submitting a pull request, or let us know here if you need any help: https://ionicframework.com/docs/building/contributing --> <!-- Some docs updates need to be made in the `ionic-docs` repo, in a separate PR. See https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation for details. --> <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> Options in `item-sliding` will not display when using RTL with Firefox and Safari. <!-- Issues are required for both bug fixes and features. --> ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Issue was coming from `:host-context`. Firefox would keep [removing the entire](https://www.w3.org/TR/selectors-3/#grouping) compiled style when using this unsupported style. This would led to the RTL styles to not being applied to the component. - Split the CSS group from `add-root-selector()` - Added comments to make it easier to navigate through `add-root-selector()` - Added `:dir()` ## 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: brandyscarney <brandyscarney@users.noreply.github.com> - Updating `add-root-selector()` would also fix another [issue](https://github.com/ionic-team/ionic-framework/issues/25285) unintentionally --------- Co-authored-by: ionitron <hi@ionicframework.com> Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com> |
|||
| 2bec25ef01 |
chore(deps-dev): bump @stencil/sass from 3.0.0 to 3.0.2 in /core (#27434)
Bumps [@stencil/sass](https://github.com/ionic-team/stencil-sass) from 3.0.0 to 3.0.2. <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.2</h2> <h2>Dependency Updates</h2> <p><code>@ionic/prettier-config</code></p> <ul> <li>chore(deps-dev): bump <code>@ionic/prettier-config</code> from 2.0.0 to 2.1.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/287">ionic-team/stencil-sass#287</a></li> <li>chore(deps-dev): bump <code>@ionic/prettier-config</code> from 2.1.0 to 2.1.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/290">ionic-team/stencil-sass#290</a></li> </ul> <p><code>@stencil/core</code></p> <ul> <li>chore(deps-dev): bump <code>@stencil/core</code> from 3.2.0 to 3.2.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/275">ionic-team/stencil-sass#275</a></li> </ul> <p><code>@types/node</code></p> <ul> <li>chore(deps-dev): bump <code>@types/node</code> from 16.18.23 to 16.18.24 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/283">ionic-team/stencil-sass#283</a></li> <li>chore(deps-dev): bump <code>@types/node</code> from 16.18.24 to 16.18.25 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/289">ionic-team/stencil-sass#289</a></li> </ul> <p><code>actions/checkout</code></p> <ul> <li>chore(deps): bump actions/checkout from 3.5.0 to 3.5.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/277">ionic-team/stencil-sass#277</a></li> <li>chore(deps): bump actions/checkout from 3.5.1 to 3.5.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/278">ionic-team/stencil-sass#278</a></li> </ul> <p><code>prettier</code></p> <ul> <li>chore(deps-dev): bump prettier from 2.8.7 to 2.8.8 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/286">ionic-team/stencil-sass#286</a></li> </ul> <p><code>rimraf</code></p> <ul> <li>chore(deps-dev): bump rimraf from 4.4.1 to 5.0.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/274">ionic-team/stencil-sass#274</a></li> </ul> <p><code>terser</code></p> <ul> <li>chore(deps-dev): bump terser from 5.16.8 to 5.16.9 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/273">ionic-team/stencil-sass#273</a></li> <li>chore(deps-dev): bump terser from 5.16.9 to 5.17.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/282">ionic-team/stencil-sass#282</a></li> </ul> <p><code>rollup</code></p> <ul> <li>chore(deps-dev): bump rollup from 3.20.2 to 3.20.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/279">ionic-team/stencil-sass#279</a></li> <li>chore(deps-dev): bump rollup from 3.20.4 to 3.20.7 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/284">ionic-team/stencil-sass#284</a></li> <li>chore(deps-dev): bump rollup from 3.20.7 to 3.21.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/285">ionic-team/stencil-sass#285</a></li> </ul> <h2>Non-User Facing Updates</h2> <ul> <li>chore(repo): update slack link for ionitron by <a href="https://github.com/rwaskiewicz"><code>@rwaskiewicz</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/288">ionic-team/stencil-sass#288</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ionic-team/stencil-sass/compare/v3.0.1...v3.0.2">https://github.com/ionic-team/stencil-sass/compare/v3.0.1...v3.0.2</a></p> <h2>v3.0.1</h2> <h2>Refactoring</h2> <ul> <li>refactor(diagnostics): replace substr calls w substring by <a href="https://github.com/rwaskiewicz"><code>@rwaskiewicz</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/226">ionic-team/stencil-sass#226</a></li> <li>chore(github): add actions to dependabot by <a href="https://github.com/rwaskiewicz"><code>@rwaskiewicz</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-sass/pull/265">ionic-team/stencil-sass#265</a></li> </ul> <h2>Dependency Updates</h2> <p><code>actions/checkout</code>: v3.1.0 -> 3.5.0</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
|||
| 9f1115e0ba |
test(modal): remove redundant tests (#27426)
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. --> There were several redundant tests I missed during the initial generator pass. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> |
|||
| dd6af31cc0 |
test(loading): remove redundant tests (#27430)
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. --> There were several redundant tests I missed during the initial generator pass. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> |
|||
| 3c0622c70f |
chore: remove legacy e2e tests (#27421)
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. --> The generator migration is complete, so we can safely remove the legacy test infrastructure. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Removes the legacy test infrastructure ## 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: There's still a bit of sharding imbalance that I need to look into (test runner 17 is a few minutes longer than all the other test runners), but I will handle that in a separate PR. |
|||
| 5e55bef3bc |
chore(deps-dev): bump @playwright/test from 1.32.3 to 1.33.0 in /core (#27313)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.32.3 to 1.33.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Microsoft/playwright/releases"><code>@playwright/test</code>'s releases</a>.</em></p> <blockquote> <h2>v1.33.0</h2> <h3>Locators Update</h3> <ul> <li> <p>Use [<code>locator.or()</code>] to create a locator that matches either of the two locators. Consider a scenario where you'd like to click on a "New email" button, but sometimes a security settings dialog shows up instead. In this case, you can wait for either a "New email" button, or a dialog and act accordingly:</p> <pre lang="js"><code>const newEmail = page.getByRole('button', { name: 'New' }); const dialog = page.getByText('Confirm security settings'); await expect(newEmail.or(dialog)).toBeVisible(); if (await dialog.isVisible()) await page.getByRole('button', { name: 'Dismiss' }).click(); await newEmail.click(); </code></pre> </li> <li> <p>Use new options <code>hasNot</code> and <code>hasNotText</code> in [<code>locator.filter()</code>] to find elements that <strong>do not match</strong> certain conditions.</p> <pre lang="js"><code>const rowLocator = page.locator('tr'); await rowLocator .filter({ hasNotText: 'text in column 1' }) .filter({ hasNot: page.getByRole('button', { name: 'column 2 button' }) }) .screenshot(); </code></pre> </li> <li> <p>Use new web-first assertion [<code>locatorAssertions.toBeAttached()</code>] to ensure that the element is present in the page's DOM. Do not confuse with the [<code>locatorAssertions.toBeVisible()</code>] that ensures that element is both attached & visible.</p> </li> </ul> <h3>New APIs</h3> <ul> <li>[<code>locator.or()</code>]</li> <li>New option <code>hasNot</code> in [<code>locator.filter()</code>]</li> <li>New option <code>hasNotText</code> in [<code>locator.filter()</code>]</li> <li>[<code>locatorAssertions.toBeAttached()</code>]</li> <li>New option <code>timeout</code> in [<code>route.fetch()</code>]</li> <li>[<code>reporter.onExit()</code>]</li> </ul> <h3>⚠️ Breaking change</h3> <ul> <li>The <code>mcr.microsoft.com/playwright:v1.33.0</code> now serves a Playwright image based on Ubuntu Jammy. To use the focal-based image, please use <code>mcr.microsoft.com/playwright:v1.33.0-focal</code> instead.</li> </ul> <h3>Browser Versions</h3> <ul> <li>Chromium 113.0.5672.53</li> <li>Mozilla Firefox 112.0</li> <li>WebKit 16.4</li> </ul> <p>This version was also tested against the following stable channels:</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
|||
| 7176af714d |
test: update playwright threshold to 0.1 (#27423)
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. --> The team has observed that Playwright's default screenshot diff threshold of 0.2 is not sensitive enough, and screenshots that should be getting updated are not getting updated. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Updates the threshold to 0.1 ## 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 <hi@ionicframework.com> |
|||
| 12139e2cf4 |
test(item): migrate inputs test to generators (#27416)
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. -->
I missed the `inputs` tests when migration `ion-item` to generators.
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
- The item input tests use the generator syntax.
|
|||
| 6e83ba4051 |
fix(range): round value to same number of decimal places as props to avoid floating point rounding errors (#27375)
Issue number: Resolves #21968 --------- <!-- 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 using fractional values for `min`, `max`, or `step`, it is possible for floating point rounding errors to cause unexpected values to be emitted. For example, `step="0.05" min="0.1" max="1"` emits a value of `0.150000000004` after moving one step. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Values are rounded to the max number of decimal places between the three props. Note that it isn't mathematically possible to arrive at a value with more decimal places than the props*, since addition (i.e. starting at `min` and adding multiples of `step`) can't increase the precision of a number. \* Unless the `value` is set manually, but in that case, `ion-range` currently snaps to a multiple of `step` as soon as the slider is moved, resuming normal behavior. ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> |
|||
| 417a7ddb94 |
test(modal): improve test performance (#27397)
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. --> When doing https://github.com/ionic-team/ionic-framework/pull/27331 I noticed a noticeable increase in the amount of time it took to run all the modal tests. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> |
|||
| ce8393753c |
test(select, select-popover): migrate to generators (#27393)
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. --> Select and select popover tests are using legacy syntax ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Select and select popover tests are using generator syntax |
|||
| c67a0f2fb7 |
test(modal): migrate to generators (#27331)
Issue number: N/A
---------
<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->
<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
Modal tests are using legacy syntax
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
- Modal tests use generator syntax
|