mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
35f0ec581a55e0cb080f0793fb94d3e424c06d4d
3796 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
35f0ec581a |
fix(radio, checkbox, toggle): add top and bottom margins when in ion-item (#27788)
Issue number: Resolves #27498 --------- <!-- 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 `ion-radio`, `ion-checkbox`, or `ion-toggle` is used within `ion-item`, top and bottom margins are not added to the label, while they are present when using the legacy syntax. We didn't catch this because the issue is only visible when using a label that breaks onto more than one line; otherwise, the height of the item exceeds what the margins would've added. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Margins added. Values were taken from `ion-item` styles [here]( |
||
|
|
3bd1d7e1e5 |
chore(deps-dev): Bump @playwright/test from 1.35.1 to 1.36.0 in /core (#27778)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.35.1 to 1.36.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.36.0</h2> <h3>Highlights</h3> <p>🏝️ Summer maintenance release.</p> <h3>Browser Versions</h3> <ul> <li>Chromium 115.0.5790.75</li> <li>Mozilla Firefox 115.0</li> <li>WebKit 17.0</li> </ul> <p>This version was also tested against the following stable channels:</p> <ul> <li>Google Chrome 114</li> <li>Microsoft Edge 114</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
0c9392abd6 | v7.1.3 | ||
|
|
82c568b8c8 |
fix(overlays): first button is not focused on backdrop tap (#27774)
Issue number: resolves #27773 --------- <!-- 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 focus trap util for scoped components moves focus back to the first focusable element inside of `.ion-overlay-wrapper` when clicking the backdrop. The reason for this is it (incorrectly) assumes that all focusable elements will be children of `.ion-overlay-wrapper`. This is true **except** for `ion-backdrop` which overlays the entire screen and therefore cannot be a child of `.ion-overlay-wrapper`. This does not impact modal and popover as the shadow focus trap utility makes use of the Shadow Root as the parent for all focusable elements, not `.ion-overlay-wrapper`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Scoped focus trap util no longer moves focus if the `ion-backdrop` was focused. I opted to explicitly account for `ion-backdrop` rather than come up with some new private API. As far as I can tell `ion-backdrop` is the only exception to this focus trapping rule with `.ion-overlay-wrapper`. Open to alternative ideas though. ## 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.1.3-dev.11689085446.181c2143` |
||
|
|
e7353946a1 |
test(picker-internal): re-enable basic screenshot test (#27768)
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. --> Test was skipped due to flakiness ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Re-enabled test - Removes directions tests because behavior does not vary across text directions - Updated screenshot to screenshot individual picker instead of the entire 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. --> --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
096d9cc931 |
test(overlays): migrate to pageUtils and re-enable (#27769)
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. --> Focus trapping tests were disabled because they were flaky ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Re-enabled the test - Migrated the test to use the pageUtils fixture which seems to be more stable with keyboard focus than the built-in page.keyboard commands ## 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. --> |
||
|
|
2085025644 |
fix: avoid unresolved import warning on stencil apps (#27765)
Issue number: resolves #27762
---------
<!-- 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. -->
Stencil 3.4.1 regressed the tsconfig alias path transpilation. This is
fixed in 4.0.0 though.
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
- Downgrade to Stencil 3.4.0. Stencil 4.0 has breaking changes, so I'd
like to wait on upgrading until we can work through any of the changes
that impact Ionic.
This reverts commit
|
||
|
|
20331458de | v7.1.2 | ||
|
|
4906d02e08 |
test(tab-button): add focus state screenshots (#27731)
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 do not have screenshots that verify the focus states are being applied correctly. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Added screenshot tests to verify focus states are being captured for non-translucent tab bars (iOS and MD) as well as translucent tab bars (iOS only) ## 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> |
||
|
|
db9a0010df |
fix(back-button): show correct background on focus + hover with ios (#27723)
Issue number: resolves #27722 --------- <!-- 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 back button on iOS uses the same background and foreground colors on hover + focus making it impossible to read ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Back button uses a transparent background color on hover + focus to match the behavior of `ion-button` | `main` | branch | | - | - | | <video src="https://github.com/ionic-team/ionic-framework/assets/2721089/e8bed785-66d7-40cd-beb3-54636c7fc59a"></video> | <video src="https://github.com/ionic-team/ionic-framework/assets/2721089/2c4a9a5c-f1a9-4a83-879f-8b0e9ce18558"></video> | ## 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. --> |
||
|
|
32bc33ed28 |
refactor(angular): move to packages directory (#27719)
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 `angular` directory sits at the root of the project instead of in `packages` with all the other JS Framework integrations. This does not cause any functional issues with Ionic, but it is confusing since integrations are not in a consistent place. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Moves the `angular` directory to `packages/angular` Note: Most files should remain unchanged. The only files I changed are the files that had direct paths to the old `angular` directory: 1. Removes the `angular` path in `lerna.json`. This is now covered by `packages/*` 2. Updated the angular file path in `.gitignore` 3. Updates the path to the angular package in `stencil.config.ts` for the Angular Output Targets 4. Updates some of Angular's sync scripts to correctly get the core stylesheets as well as the core package. 5. Updates the test app sync script to correctly sync core and angular-server ~I'm not entirely sure why GitHub thinks https://github.com/ionic-team/ionic-framework/pull/27719/files#diff-f5bba7e7c7c75426e2b9c89868310cb03890493b4efe0252adf8d12cc8398962 is a new file since it exists in `main` here: |
||
|
|
e5ab6d8804 |
refactor(select): use border mixin (#27732)
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 outline select uses `border-left` and `border-right` properties to handle LTR vs RTL borders. However, our border mixin takes care of this by using logical border properties. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Updates the outline select to use the border mixin. Note 1: There should be no visual changes as a result of this. This is simpler way of doing what we are already doing. Note 2: There do exist logical border radius properties (for the other explicit LTR vs RTL work we do), but Ionic 7 supports browsers that do not support these properties yet. (I created FW-4661 to track this) ## 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. --> |
||
|
|
1f06be4a31 |
fix(nav): root component is mounted with root params (#27676)
Issue number: Resolves #27146 --------- <!-- 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 an `ion-nav` is presented multiple times in an overlay, the user's `root` component will attempt to be attached twice. This results in the view being mounted without the `rootParams` being defined, causing an exception in a user's application. This behavior occurs due to the `root` watch callback firing twice. The second time the `ion-nav` is presented in an overlay, the watch callback will execute _before_ `componentDidLoad` fires. This results in the watch callback firing twice, once from the underlying change detection and the second time from [manually calling the function](https://github.com/ionic-team/ionic-framework/blob/main/core/src/components/nav/nav.tsx#L115) from `componentDidLoad`. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - `ion-nav` includes a new flag to track when `componentDidLoad` executes. This allows us to prevent the behavior of the `rootChanged` callback from happening when the component has not loaded. - `ion-nav` consistently attaches the `rootParams` to the `root` component. ## 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.15-dev.11687924603.10a1e477`. ### How to test You can install against the reproduction app in the linked issue to verify the behavior before and after. - Before, the app will throw an exception when presenting the modal the second time. - After, the app will not throw an exception when presenting the modal the second time. Information that you fill out on the main screen form will be rendered inside the modal content. |
||
|
|
458d16e742 |
docs(input, textarea): clarify ionInput and ionChange (#27710)
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. --> See https://github.com/ionic-team/ionic-framework/issues/27709 The `ionInput` description is vague and does not clarify that it only fires as the user types. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Clarified the ionInput description for input and textarea ## 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. --> |
||
|
|
ba3b4706d8 |
test(popover): re-enable size (#27686)
Issue number: internal ticket --------- <!-- 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. --> Size tests were being skipped. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Size tests are no longer being skipped. - Size tests have been provided comments to explain flakiness. ## 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. --> I recommend adding a `.only` to the `popover: visible backdrop` and running the test with `npm run test.e2e popover -- --repeat-each 100` a few times --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
9793b3c0a0 |
chore(deps): Bump @stencil/core from 3.4.0 to 3.4.1 in /core (#27703)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 3.4.0 to 3.4.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>🐨 3.4.1 (2023-06-26)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>compiler:</strong> fix issue with aliased paths getting cut off (<a href="https://redirect.github.com/ionic-team/stencil/issues/4481">#4481</a>) (<a href=" |
||
|
|
23165cdb8c |
test(item-sliding): update visual regressions (#27695)
Issue number: - --------- <!-- 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 forgot to address the tests when working on FW-2608 to address issue #26103 ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Updated the visual regressions tests to verify that the item-sliding displays correctly on LTR/RTL. - Updated the item sliding tests to use the generators ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> The tests for item-sliding are disabled due to gesture flakiness. This will be addressed in another ticket. I recommend testing locally by adding the `.only` to all tests called `should not have visual regressions` and running `npm run test.e2e item-sliding`. |
||
|
|
bcc51d41f3 | v7.1.1 | ||
|
|
f263611260 |
fix(textarea): autogrow resizes correctly (#27691)
Issue number: resolves #27688 --------- <!-- 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. --> Autogrow broke as a result of |
||
|
|
f29c66aee2 |
chore(deps): only install ionicons 7.1.0 (#27682)
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 is a known bug in a dependency that Stencil uses to process CSS that causes the build to fail on Ionicons 7.1.1+. Our `package-lock.json` always installs 7.1.0, but if you remove the package lock you'll get a newer version of Ionicons that triggers the bug. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Core installs only ionicons 7.1.0 until the underlying bug is resolved (tracked internally) ## 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. --> |
||
|
|
867826826b | chore(): clean up changelog | ||
|
|
236573949a | v7.1.0 | ||
|
|
8bcd9e8b35 |
feat(textarea): add experimental label slot (#27677)
Issue number: resolves #27061 --------- <!-- 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. --> Textarea does not accept custom HTML labels ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Textarea accepts custom HTML labels as an experimental feature. We marked this as experimental because it makes use of "scoped slots" which is an emulated version of Web Component slots. As a result, there may be instances where the slot behavior does not exactly match the native slot behavior. Note to reviewers: This is a combination of previously reviewed PRs. The implementation is complete, so feel free to bikeshed. ## 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/3001 --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
95e28b6629 |
feat(select): add props to customize toggle icons (#27648)
Issue number: resolves #17248 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? <!-- Please describe the current behavior that you are modifying. --> While the `icon` shadow part allows customization of the existing toggle icon, developers do not have a way to specify a different icon to use entirely. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> New props `toggleIcon` and `expandedIcon` added. (Design docs are [here](https://github.com/ionic-team/ionic-framework-design-documents/blob/main/projects/ionic-framework/components/select/0002-custom-icons.md) and [here](https://github.com/ionic-team/ionic-framework-design-documents/blob/main/projects/ionic-framework/components/select/0003-custom-icon-on-open.md) respectively.) ## 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/2996 Dev build: `7.0.15-dev.11687278023.161b97d8` --------- Co-authored-by: ionitron <hi@ionicframework.com> |
||
|
|
edfa585ebb | chore(): add updated snapshots | ||
|
|
6fab2a98b3 | chore(): sync with main | ||
|
|
a45395cc02 |
feat(input): add experimental label slot (#27650)
Issue number: resolves #27061 --------- <!-- 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 does not accept custom HTML labels ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Input accepts custom HTML labels as an experimental feature. We marked this as experimental because it makes use of "scoped slots" which is an emulated version of Web Component slots. As a result, there may be instances where the slot behavior does not exactly match the native slot behavior. Note to reviewers: This is a combination of previously reviewed PRs. The implementation is complete, so feel free to bikeshed. ## 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/2997 --------- Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com> |
||
|
|
155864035d |
chore(deps-dev): Bump @playwright/test from 1.35.0 to 1.35.1 in /core (#27659)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.35.0 to 1.35.1. <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.35.1</h2> <h3>Highlights</h3> <p><a href="https://redirect.github.com/microsoft/playwright/issues/23622">microsoft/playwright#23622</a> - [Docs] Provide a description how to correctly use expect.configure with poll parameter <a href="https://redirect.github.com/microsoft/playwright/issues/23666">microsoft/playwright#23666</a> - [BUG] Live Trace does not work with Codespaces <a href="https://redirect.github.com/microsoft/playwright/issues/23693">microsoft/playwright#23693</a> - [BUG] attachment steps are not hidden inside expect.toHaveScreenshot()</p> <h3>Browser Versions</h3> <ul> <li>Chromium 115.0.5790.13</li> <li>Mozilla Firefox 113.0</li> <li>WebKit 16.4</li> </ul> <p>This version was also tested against the following stable channels:</p> <ul> <li>Google Chrome 114</li> <li>Microsoft Edge 114</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
9271357e99 | v7.0.14 | ||
|
|
7a38a006a9 |
fix(keyboard): keyboard events emit correctly when Capacitor is available but the Keyboard plugin is not (#27655)
Issue number: resolves #27654
---------
<!-- 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 Capacitor and the Keyboard plugin are available,
`Keyboard.getEngine()` returns an object:
|
||
|
|
d555375c14 |
fix(toast): allow color for translucent toast (#27652)
Issue number: resolves #27567 --------- <!-- 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? Translucent toasts do not have the appropriate background color when the `color` property is set on the toast. <!-- Please describe the current behavior that you are modifying. --> <img width="554" alt="Screenshot 2023-06-14 at 5 46 45 PM" src="https://github.com/ionic-team/ionic-framework/assets/14926794/05f7522c-23bc-44f8-af42-b82034cbe067"> ## What is the new behavior? - Translucent toasts can have a background color based on the `color` property of the toast. <!-- Please describe the behavior or changes that are being added by this PR. --> <img width="553" alt="Screenshot 2023-06-14 at 5 46 28 PM" src="https://github.com/ionic-team/ionic-framework/assets/14926794/28a6345b-5bf3-494c-af81-0d53877295df"> ## 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 Note: Translucent toasts are only available in `ios` 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> |
||
|
|
606a892e40 | fix(select): hide notch cutout if no visible label provided (#27649) | ||
|
|
d3232dcc00 |
chore(global): remove unused context references (#27634)
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 references a deprecated object,`Context`, exposed by
Stencil
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
starting with stencil v4, the deprecated `Context` object will no longer
be exposed by stencil. this change was introduced in
https://github.com/ionic-team/stencil/pull/4437, and will be present in
the first v4 prerelease following v4.0.0-beta.2. in anticipation for
this change, we seek to remove references to `Context` early.
## Does this introduce a breaking change?
- [ ] Yes
- [x] No - To the best of my knowledge
<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->
## Other information
ATM, the Stencil v4 nightly build is passing, as it's grabbing
`@stencil/core@4.0.0-beta.2`. The change in which we remove the
`Context` object will occur in the _next_ pre-release. I'm removing
`Context` here to try to get a jump on things.
The current iteration of the code that I'm deleting was added in
|
||
|
|
fe39a2ab9b |
chore(deps): Bump @stencil/core from 3.3.1 to 3.4.0 in /core (#27642)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 3.3.1 to 3.4.0. <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>✨ 3.4.0 (2023-06-13)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>compiler:</strong> handle static members with stencil decorators (<a href="https://redirect.github.com/ionic-team/stencil/issues/4463">#4463</a>) (<a href=" |
||
|
|
d350a1719f | v7.0.13 | ||
|
|
b571881d6e |
chore(deps-dev): Bump @axe-core/playwright from 4.7.2 to 4.7.3 in /core (#27637)
Bumps [@axe-core/playwright](https://github.com/dequelabs/axe-core-npm) from 4.7.2 to 4.7.3. <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.3</h2> <h3>Bug Fixes</h3> <ul> <li><strong>webdriverjs:</strong> skip unloaded iframes (<a href="https://redirect.github.com/dequelabs/axe-core-npm/issues/743">#743</a>) (<a href=" |
||
|
|
1f0c8049a3 |
chore(deps-dev): Bump @playwright/test from 1.34.3 to 1.35.0 in /core (#27625)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.34.3 to 1.35.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.35.0</h2> <h3>Highlights</h3> <ul> <li> <p>UI mode is now available in VSCode Playwright extension via a new "Show trace viewer" button:</p> <p><img src="https://github.com/microsoft/playwright/assets/746130/13094128-259b-477a-8bbb-c1181178e8a2" alt="Playwright UI Mode" /></p> </li> <li> <p>UI mode and trace viewer mark network requests handled with <a href="https://playwright.dev/docs/api/class-page#page-route"><code>page.route()</code></a> and <a href="https://playwright.dev/docs/api/class-browsercontext#browser-context-route"><code>browserContext.route()</code></a> handlers, as well as those issued via the <a href="https://playwright.dev/docs/api-testing">API testing</a>:</p> <p><img src="https://github.com/microsoft/playwright/assets/746130/0df2d4b6-faa3-465c-aff3-c435b430bfe1" alt="Trace Viewer" /></p> </li> <li> <p>New option <code>maskColor</code> for methods <a href="https://playwright.dev/docs/api/class-page#page-screenshot"><code>page.screenshot()</code></a>, <a href="https://playwright.dev/docs/api/class-locator#locator-screenshot"><code>locator.screenshot()</code></a>, <a href="https://playwright.dev/docs/api/class-pageassertions#page-assertions-to-have-screenshot-1"><code>expect(page).toHaveScreenshot()</code></a> and <a href="https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-have-screenshot-1"><code>expect(locator).toHaveScreenshot()</code></a> to change default masking color:</p> <pre lang="js"><code>await page.goto('https://playwright.dev'); await expect(page).toHaveScreenshot({ mask: [page.locator('img')], maskColor: '#00FF00', // green }); </code></pre> </li> <li> <p>New <code>uninstall</code> CLI command to uninstall browser binaries:</p> <pre lang="bash"><code>$ npx playwright uninstall # remove browsers installed by this installation $ npx playwright uninstall --all # remove all ever-install Playwright browsers </code></pre> </li> <li> <p>Both UI mode and trace viewer now could be opened in a browser tab:</p> <pre lang="bash"><code>$ npx playwright test --ui-port 0 # open UI mode in a tab on a random port $ npx playwright show-trace --port 0 # open trace viewer in tab on a random port </code></pre> </li> </ul> <h3>⚠️ Breaking changes</h3> <ul> <li> <p><code>playwright-core</code> binary got renamed from <code>playwright</code> to <code>playwright-core</code>. So if you use <code>playwright-core</code> CLI, make sure to update the name:</p> <pre lang="bash"><code>$ npx playwright-core install # the new way to install browsers when using playwright-core </code></pre> <p>This change <strong>does not</strong> affect <code>@playwright/test</code> and <code>playwright</code> package users.</p> </li> </ul> <h3>Browser Versions</h3> <ul> <li>Chromium 115.0.5790.13</li> <li>Mozilla Firefox 113.0</li> <li>WebKit 16.4</li> </ul> <p>This version was also tested against the following stable channels:</p> <ul> <li>Google Chrome 114</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
d44422e224 |
feat(datetime): add part for month/year button (#27618)
Issue number: resolves #26596 --------- <!-- 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 no way to customize the month/year toggle button using CSS. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Adds a Shadow Part to the month/year toggle button. ## 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> |
||
|
|
3e191df3dd |
fix(react): onDoubleClick fires on components (#27611)
Issue number: Resolves #21320 --------- <!-- 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. --> `onDoubleClick` bindings on Ionic components do not fire when the element is double clicked. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - `onDoubleClick` fires on Ionic components - Fixed the unit testing set-up for the react test apps ## 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. --> |
||
|
|
0eff7d59c7 | v7.0.12 | ||
|
|
92c55452fd |
fix(refresher): scroll styles are reset when using non-native refresher (#27602)
Issue number: resolves #27601 --------- ## What is the current behavior? The current behavior restores overflow styles while moving (within the setCSS function). ## What is the new behavior? Overflow styles are restored when refresher gesture ends. ## 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. --> Honestly, I don't know exactly. From code perspective I would say 'Yes', but I can't get the impact of the change. Ionic Team edit: There are no changes to the public API, and this is fixing a behavior that used to work so there are no breaking changes. ## 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: Liam DeBeasi <liamdebeasi@users.noreply.github.com> |
||
|
|
9d459bdc88 |
test(segment): undo skip for keyboard navigable (#27574)
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 keyboard navigation was being skipped due to flakiness. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> The keyboard navigation is no longer being skipped. - Using the `pageUtils` to Tab - Verify the buttons are visible before keyboard press ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this introduces a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> The flaky test would occur due to the keyboard being pressed before the buttons have loaded in. Weirdly, this only happens when testing "Mobile Chrome" but works fine outside testing.  I would recommend adding `only` to the test and using `npm run test.e2e segment -- --repeat-each 50` to verify that it works. |
||
|
|
0e7d80cdbd |
test(back-button): remove unneeded navigation test (#27590)
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 `navigation` test for `ion-back-button` errors out in the console and doesn't display when attempting to host it locally. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Test removed, since it had no E2E file and the functionality appears to be redundant with the tests for `ion-nav`. ## 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. --> |
||
|
|
d68a7d1c11 | merge release-7.0.11 (#27615) | ||
|
|
e75fa582c4 |
fix(header, footer): resolve CSP violations with box shadow (#27560)
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 `ion-header` and `ion-footer` use a base64 encoded image for a box shadow instead of using the CSS box-shadow property directly. The use of the background image creates CSP violations. The historic reasoning of using an image instead of box shadow was to improve scroll performance. Browsers and devices have improved a lot since that was implemented (5 years ago). ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Updates the usage of `ion-header` and `ion-footer` to use a box shadow. The value comes from Material's web implementation: https://material-components.github.io/material-components-web-catalog/#/component/top-app-bar ## 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> |
||
|
|
cb013df7f5 |
chore(deps-dev): Bump @stencil/vue-output-target from 0.8.5 to 0.8.6 in /core (#27607)
Bumps [@stencil/vue-output-target](https://github.com/ionic-team/stencil-ds-output-targets) from 0.8.5 to 0.8.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ionic-team/stencil-ds-output-targets/releases"><code>@stencil/vue-output-target</code>'s releases</a>.</em></p> <blockquote> <h2><code>@stencil/vue-output-target</code><a href="https://github.com/0"><code>@0</code></a>.8.6</h2> <h2>What's Changed</h2> <ul> <li>Configure Renovate by <a href="https://github.com/renovate"><code>@renovate</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-ds-output-targets/pull/343">ionic-team/stencil-ds-output-targets#343</a></li> <li>chore(peerDeps): bumping the <code>@stencil/core</code> required peerDep for v4 launch by <a href="https://github.com/JessicaSachs"><code>@JessicaSachs</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-ds-output-targets/pull/346">ionic-team/stencil-ds-output-targets#346</a></li> <li>chore(npm): manually bumping the package versions by <a href="https://github.com/JessicaSachs"><code>@JessicaSachs</code></a> in <a href="https://redirect.github.com/ionic-team/stencil-ds-output-targets/pull/349">ionic-team/stencil-ds-output-targets#349</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/renovate"><code>@renovate</code></a> made their first contribution in <a href="https://redirect.github.com/ionic-team/stencil-ds-output-targets/pull/343">ionic-team/stencil-ds-output-targets#343</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ionic-team/stencil-ds-output-targets/compare/@stencil/angular-output-target@0.7.0...@stencil/vue-output-target@0.8.6">https://github.com/ionic-team/stencil-ds-output-targets/compare/<code>@stencil/angular-output-target</code><code>@0.7.0...</code><code>@stencil/vue-output-target</code><code>@0.8.6</code></a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/ionic-team/stencil-ds-output-targets/commits/@stencil/vue-output-target@0.8.6">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> |
||
|
|
2070de7047 |
chore(deps): Bump @stencil/core from 3.3.0 to 3.3.1 in /core (#27608)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 3.3.0 to 3.3.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>🎀 3.3.1 (2023-06-02)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>compiler:</strong> handle ts 5.0 static members (<a href="https://redirect.github.com/ionic-team/stencil/issues/4447">#4447</a>) (<a href=" |
||
|
|
d4e1388fcb |
Revert "fix(select): prevent click event from firing twice" (#27609)
Reverts ionic-team/ionic-framework#27570 ------- The team is reconsidering this approach as it causes us to fight against the browser. Discussions are ongoing internally, so I am going to revert this patch until we can reach consensus. |
||
|
|
5123981269 |
chore(deps-dev): Bump @stencil/angular-output-target from 0.7.0 to 0.7.1 in /core (#27591)
Bumps [@stencil/angular-output-target](https://github.com/ionic-team/stencil-ds-output-targets) from 0.7.0 to 0.7.1. <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> |
||
|
|
f2c1845fba |
feat(datetime): add shadow parts and CSS variables for styling wheel pickers (#27529)
Issue number: resolves #25945 --------- <!-- 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. --> Datetime wheel pickers cannot be styled. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Adds styling APIs in accordance with the Wheel Pickers and Time Picker sections of [this design doc](https://github.com/ionic-team/ionic-framework-design-documents/blob/main/projects/ionic-framework/components/datetime/datetime-styling.md). Shadow parts added: - `wheel-item` - `wheel-item active` - `time-button` - `time-button active` CSS properties added: - `--wheel-highlight-background` - `--wheel-fade-background-rgb` ## 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.11685554390.10c2ca9b` Docs PR: https://github.com/ionic-team/ionic-docs/pull/2982 |