Commit Graph

13370 Commits

Author SHA1 Message Date
Liam DeBeasi
e574ffe85a chore(picker): mark ionInputModeChange as internal (#28701) 2023-12-13 17:51:23 -05:00
Liam DeBeasi
cd5c099dd3 feat(picker): add inline picker (#28689)
Issue number: resolves #24905, resolves #26840, resolves #15710

---------

<!-- 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 current picker is only displayed as an overlay which makes it
impossible to use inline with the rest of the application. Additionally,
there are several bugs and missing features. For example, it is
impossible to know when the value of the picker column has changed using
public APIs. This is valuable for updating other columns in response to
that data.

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

- Introduces `ion-picker` as an inline wheel picker component. The
overlay picker is still available using `ion-picker-legacy`.
- The implementation of this component resolves linked bugs. It also
resolves linked features by exposing an `ionChange` event for developers
to listen for.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev-build: `7.5.8-dev.11702398696.1ab62ea9`

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Shawn Taylor <shawn@ionic.io>
Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com>
Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com>
Co-authored-by: Sean Perkins <13732623+sean-perkins@users.noreply.github.com>
Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com>
2023-12-13 13:03:58 -05:00
Shawn Taylor
666a01dd6e fix(button): wrap text by default (#28682)
Issue number: resolves #8700

BREAKING CHANGE: Button text now wraps by default.
2023-12-12 13:15:13 -05:00
Liam DeBeasi
c1465bd1b0 chore: sync feature-7.6 with main
chore: sync feature-8.0 with main
2023-12-05 09:36:22 -05:00
Liam DeBeasi
8dc3d1a16d Merge remote-tracking branch 'origin/main' into sync-80-125 2023-12-05 09:12:24 -05:00
dependabot[bot]
e2cbc9c15f chore(deps): Bump @stencil/core from 4.8.0 to 4.8.1 in /core (#28632)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.8.0
to 4.8.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/stencil/releases"><code>@​stencil/core</code>'s
releases</a>.</em></p>
<blockquote>
<h2>🍹 v4.8.1 (2023-12-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>runtime:</strong> apply nonce to data styles before DOM
insert (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5112">#5112</a>)
(<a
href="df46fdc0cb">df46fdc</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/5102">#5102</a></li>
<li><strong>runtime:</strong> call form-associated lifecycle callbacks
w/ <code>this</code> (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5104">#5104</a>)
(<a
href="1ac8aa3da1">1ac8aa3</a>)</li>
<li><strong>testing:</strong> re-add Puppeteer <code>asElement()</code>
calls (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5114">#5114</a>)
(<a
href="0c843f8d19">0c843f8</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/5113">#5113</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/stencil/blob/main/CHANGELOG.md"><code>@​stencil/core</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>🍹 <a
href="https://github.com/ionic-team/stencil/compare/v4.8.0...v4.8.1">4.8.1</a>
(2023-12-04)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>runtime:</strong> apply nonce to data styles before DOM
insert (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5112">#5112</a>)
(<a
href="df46fdc0cb">df46fdc</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/5102">#5102</a></li>
<li><strong>runtime:</strong> call form-associated lifecycle callbacks
w/ <code>this</code> (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5104">#5104</a>)
(<a
href="1ac8aa3da1">1ac8aa3</a>)</li>
<li><strong>testing:</strong> re-add Puppeteer <code>asElement()</code>
calls (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5114">#5114</a>)
(<a
href="0c843f8d19">0c843f8</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/5113">#5113</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="28f794ea0d"><code>28f794e</code></a>
Release v4.8.1 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5130">#5130</a>)</li>
<li><a
href="2fd398a6cf"><code>2fd398a</code></a>
chore(deps): update dependency <code>@​rollup/pluginutils</code> to
v5.1.0 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5126">#5126</a>)</li>
<li><a
href="84feb5aee2"><code>84feb5a</code></a>
chore(deps): update typescript-eslint to v6.13.1 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5128">#5128</a>)</li>
<li><a
href="cf4a70150c"><code>cf4a701</code></a>
fix(compiler): revert changes to style import transformer (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5125">#5125</a>)</li>
<li><a
href="df32ceb4ae"><code>df32ceb</code></a>
chore(deps): update dependency fs-extra to v11.2.0 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5127">#5127</a>)</li>
<li><a
href="4cdb725fb7"><code>4cdb725</code></a>
chore(deps): update dependency dts-bundle-generator to v9 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5129">#5129</a>)</li>
<li><a
href="3ef8fa070a"><code>3ef8fa0</code></a>
chore(deps): update dependency <code>@​types/eslint</code> to v8.44.8
(<a
href="https://redirect.github.com/ionic-team/stencil/issues/5122">#5122</a>)</li>
<li><a
href="1342eec577"><code>1342eec</code></a>
chore(deps): update dependency <code>@​types/node</code> to v20.10.1 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5123">#5123</a>)</li>
<li><a
href="7591dce85e"><code>7591dce</code></a>
fix(compiler): ensure not to import duplicate style identifier (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5119">#5119</a>)</li>
<li><a
href="7302e3f81a"><code>7302e3f</code></a>
chore(deps): update node.js to v20.10.0 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5117">#5117</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ionic-team/stencil/compare/v4.8.0...v4.8.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/core&package-manager=npm_and_yarn&previous-version=4.8.0&new-version=4.8.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-05 00:58:11 +00:00
Liam DeBeasi
4847488090 chore(ci): update labeler workflow for labeler@v5 (#28627)
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 labeler action is currently failing:
https://github.com/ionic-team/ionic-framework/actions/runs/7090913880/job/19298918578?pr=28622.
This is happening due to a breaking change in v5 of the action.

We currently pull from `main` for this action so we are now receiving v5
of the action:
fe3c3d500a/.github/workflows/label.yml (L16)

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

- This PR updates the action explicitly to v5 so we don't unexpectedly
take on breaking changes
- This PR also updates the labeler yaml file to account for the v5
breaking changes

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-12-04 21:31:12 +00:00
Shawn Taylor
fe3c3d500a docs(input, searchbar, textarea): improve docs for managing focus (#28614)
Issue number: Related to #18132 

---------

<!-- 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 documentation about the `autofocus` prop is unclear and does not
accurately reflect how it actually works across browsers and devices.

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

- The documentation for `autofocus` and `setFocus` are more detailed.
- The documentation links to the relevant page in the docs.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-12-04 13:24:34 +00:00
Sean Perkins
1705d064cc fix(react): router creates new view instances of parameterized routes (#28616)
Issue number: Resolves #26524 

---------

<!-- 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. -->

## Definitions

**Parameterized routes**: A route that includes one or more variables in
the path segments, such as `/form/:index`.

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

When an application routes from a parameterized route, to an
intermediary route, to the same parameterized route, but with a
different value/url, Ionic's routing logic is incorrectly reusing the
view item from the first instance of the parameterized route instead of
calculating that the matched path is different. This results in the
wrong view item being recycled and rendered.

Another way of representing it:
- User navigates to `/form/0` which resolves `FormPage`
- User enters `0` into the form and submits the form
- User navigates to `/link`, which resolves `LinkPage`
- User navigates to `/form/1`, which resolves `FormPage`
- However, instead of creating a new instance of `FormPage` it is
reusing the instance of `FormPage` from `/form/0` which includes the
form having `0` in the input.
  - The user now sees a "new view", but with cached data in the form.

This is not expected or desired. 


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

- Ionic's routing logic will validate if the entering view item matches
the match route data before reusing it. This results in new instances of
the view item being constructed when using parameterized routes.


https://github.com/ionic-team/ionic-framework/assets/13732623/e7e3d03f-2848-4429-9f60-9074d0761e45


## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev-build: `7.5.8-dev.11701383555.17254408`
2023-12-01 22:11:41 +00:00
Éric Le Maître
60303aad23 fix(vue): nav component accepts kebab-case component properties (#28615)
Issue number: resolves #28611

---------

<!-- 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. -->
It's not possible to pass props that are not camelCase to the `IonNav`
component.

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

- It is now possible to set a props with kebab-case instead of camelCase
(for example, `root-params` instead of `rootParams`)

## 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 is my first PR for ionic so I hope I didn't miss important steps
into the process. I also checked on my project that the fix is working
well. Thank you! 🙂

---------

Co-authored-by: Sean Perkins <sean@ionic.io>
2023-12-01 15:30:13 +00:00
Sean Perkins
56d3bd5612 Merge pull request #28606 from ionic-team/sp/sync-feature-8
chore: sync with main
2023-11-29 17:01:50 -05:00
Liam DeBeasi
a3cd204f61 fix(overlays): trigger is configured on load (#28526)
Issue number: resolves #28524

---------

<!-- 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. -->

Watchers in Stencil are constructed sometime between `connectedCallback`
and `componentDidLoad`. If a property is set/changed during that time it
is possible for the callback associated with the watcher to not fire
because the watcher has not been setup yet. This is most often with
`dist-custom-elements` and frameworks such as Angular when using a
binding (i.e. `[trigger]` instead of `trigger`)

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

- The trigger callback associated with the watcher is manually called in
`componentDidLoad` for each overlay.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->


Dev build: `7.5.5-dev.11699974376.13a15397`

Note: This is a timing related bug due to a behavior in Stencil, so I
did not write automated tests. However, I manually verified that this
issue a) reproduces on `main` and b) is fixed with this dev build for
each overlay component.
2023-11-29 21:53:33 +00:00
Sean Perkins
2fb6cd92dc Merge remote-tracking branch 'origin/main' into sp/sync-feature-8 2023-11-29 16:49:21 -05:00
Sean Perkins
5c2a73b262 chore(playwright): dark mode support (#28593)
Issue number: N/A

---------

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

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

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

Testing dark mode is manual per test in Playwright. Ionic developer
needs to setup the variables and assign them to a selector that applies
in the class.

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

- The `.setContent` API will now work with a new config option to test
dark mode automatically without additional configuration/test set-up.
- Default theme is no theme (fallback theme)
- Screenshot names and test titles remain the same for all existing
tests. Only tests that opt into a theme will be pre-pended with `-dark`
or `-light` (as an example for current themes).

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-11-29 20:48:16 +00:00
dependabot[bot]
34417a5835 chore(deps): Bump @stencil/core from 4.7.2 to 4.8.0 in /core (#28586)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.7.2
to 4.8.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>🌞 v4.8.0 (2023-11-27)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>hydrate:</strong> prevent dead code elimination of patch dom
implementation (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4966">#4966</a>)
(<a
href="5e36057795">5e36057</a>)</li>
<li><strong>mock-doc:</strong> add <code>getAttributeNode</code> to mock
elements (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5070">#5070</a>)
(<a
href="4e840e0e0e">4e840e0</a>)</li>
<li><strong>mock-doc:</strong> add inert to HTMLAttributes (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5072">#5072</a>)
(<a
href="71a4110bbc">71a4110</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/5071">#5071</a></li>
<li><strong>runtime:</strong> apply textnodes to shadow DOM instead of
light DOM (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4946">#4946</a>)
(<a
href="217d588949">217d588</a>)</li>
<li><strong>test:</strong> pass jest args correctly for v28/29 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5068">#5068</a>)
(<a
href="5c4ac32805">5c4ac32</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>declarations:</strong> add popover attributes to JSX
declarations (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5064">#5064</a>)
(<a
href="f73aa149f0">f73aa14</a>)</li>
<li><strong>runtime:</strong> proxy form associated custom element
lifecycle callbacks (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4939">#4939</a>)
(<a
href="ca53dbb02e">ca53dbb</a>)</li>
</ul>
<h2>Thanks</h2>
<p>🎉 Thanks <a
href="https://github.com/HansClaasen"><code>@​HansClaasen</code></a> for
their contributions! 🎉</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/stencil/blob/main/CHANGELOG.md"><code>@​stencil/core</code>'s
changelog</a>.</em></p>
<blockquote>
<h1>🌞 <a
href="https://github.com/ionic-team/stencil/compare/v4.7.2...v4.8.0">4.8.0</a>
(2023-11-27)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>hydrate:</strong> prevent dead code elimination of patch dom
implementation (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4966">#4966</a>)
(<a
href="5e36057795">5e36057</a>)</li>
<li><strong>mock-doc:</strong> add <code>getAttributeNode</code> to mock
elements (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5070">#5070</a>)
(<a
href="4e840e0e0e">4e840e0</a>)</li>
<li><strong>mock-doc:</strong> add inert to HTMLAttributes (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5072">#5072</a>)
(<a
href="71a4110bbc">71a4110</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/5071">#5071</a></li>
<li><strong>runtime:</strong> apply textnodes to shadow DOM instead of
light DOM (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4946">#4946</a>)
(<a
href="217d588949">217d588</a>)</li>
<li><strong>test:</strong> pass jest args correctly for v28/29 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5068">#5068</a>)
(<a
href="5c4ac32805">5c4ac32</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>declarations:</strong> add popover attributes to JSX
declarations (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5064">#5064</a>)
(<a
href="f73aa149f0">f73aa14</a>)</li>
<li><strong>runtime:</strong> proxy form associated custom element
lifecycle callbacks (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4939">#4939</a>)
(<a
href="ca53dbb02e">ca53dbb</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cddcad8ca2"><code>cddcad8</code></a>
v4.8.0 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5103">#5103</a>)</li>
<li><a
href="bcb17ac6cb"><code>bcb17ac</code></a>
docs(runtime): add interface docs to <code>HostRef</code> (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4871">#4871</a>)</li>
<li><a
href="edc9f384ac"><code>edc9f38</code></a>
chore(deps): update dependency npm to v10.2.4 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5085">#5085</a>)</li>
<li><a
href="49c7607687"><code>49c7607</code></a>
chore(deps): update typescript-eslint to v6.11.0 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5087">#5087</a>)</li>
<li><a
href="9c8790d601"><code>9c8790d</code></a>
test(vdom): adding tests for insertVdomAnnotations (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4867">#4867</a>)</li>
<li><a
href="13ec78e1bb"><code>13ec78e</code></a>
chore(deps): update dependency puppeteer to v21.5.2 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5086">#5086</a>)</li>
<li><a
href="9a3e81cb77"><code>9a3e81c</code></a>
chore(deps): update dependency <code>@​types/node</code> to v20.9.1 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5084">#5084</a>)</li>
<li><a
href="217d588949"><code>217d588</code></a>
fix(runtime): apply textnodes to shadow DOM instead of light DOM (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4946">#4946</a>)</li>
<li><a
href="ca53dbb02e"><code>ca53dbb</code></a>
feat(runtime): proxy form associated custom element lifecycle callbacks
(<a
href="https://redirect.github.com/ionic-team/stencil/issues/4939">#4939</a>)</li>
<li><a
href="7c86019e59"><code>7c86019</code></a>
refactor(build): stop removing process.binding in compiler (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5078">#5078</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ionic-team/stencil/compare/v4.7.2...v4.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/core&package-manager=npm_and_yarn&previous-version=4.7.2&new-version=4.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-29 16:39:17 +00:00
Liam DeBeasi
8be83f9f88 merge release-7.5.7
Release 7.5.7
2023-11-29 11:19:09 -05:00
ionitron
2e1261a52c chore(): update package lock files 2023-11-29 15:05:23 +00:00
ionitron
3a35fdd2f5 v7.5.7 v7.5.7 2023-11-29 15:05:12 +00:00
Sean Perkins
bd27846b28 chore(playwright): resolve axe violations with setContent (#28592)
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 using `.setContent`, the initial page template is lacking key
metadata that will result in AXE violations.

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

- Adds a default `lang` to the `html` document root
- Adds a default `title` tag

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-11-29 00:41:00 +00:00
Liam DeBeasi
196a22eb74 chore: fallback to framework team with codeowners (#28588)
I noticed that Dependabot PRs never had anyone assigned:
https://github.com/ionic-team/ionic-framework/pull/28586

The reason was that we removed `* @ionic-team/framework` when we
adjusted the codeowners in
https://github.com/ionic-team/ionic-framework/pull/27573.

My original reasoning for why we should remove it was wrong. GitHub only
assigns reviewers within a team if the team itself is assigned. By
removing the team from being reviewed, only people listed in the
codeowners file would be assigned. As an added example, PRs that do not
match codeowners currently have no one assigned:
https://github.com/ionic-team/ionic-framework/pull/28430
2023-11-28 16:44:51 +00:00
Liam DeBeasi
7ac0018a3c chore: sync with main
chore: sync with main
2023-11-27 10:38:48 -05:00
Liam DeBeasi
a7c966776a test: resolve type errors 2023-11-27 10:28:30 -05:00
Liam DeBeasi
7de4e34f13 Merge remote-tracking branch 'origin/main' into sync-80-main-11-27 2023-11-27 10:24:40 -05:00
Sean Perkins
4b5e62e60f refactor(datetime): render button for month/year toggle (#28443)
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. -->

`ion-datetime` uses an `ion-item` to render the month/year toggle button
inside of the header.

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

- `ion-datetime` uses a `button` element for the month/year toggle
button

## Does this introduce a breaking change?

- [x] Yes
- [ ] No

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

Impact and migration path is noted in the `BREAKING.md`. 

## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

- `translucent` is not a valid CSS value for `background`. This was
always intended to be `transparent`.

---------

Co-authored-by: ionitron <hi@ionicframework.com>
Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com>
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>

BREAKING CHANGE: The CSS shadow part for `month-year-button` has been changed to target a `button` element instead of `ion-item`. Developers should verify their UI renders as expected for the month/year toggle button inside of `ion-datetime`.
2023-11-27 10:19:19 -05:00
Shawn Taylor
01130e12e1 fix(datetime): allow disabling datetime with prefer-wheel (#28511)
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. -->
It is possible to navigate the columns of a disabled Datetime with
`prefer-wheel` via the keyboard.



https://github.com/ionic-team/ionic-framework/assets/14926794/9c9dafc4-4b77-45a6-a276-70201c5c3ea5



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

- Picker Column Internal has a disabled state that disables the full
column
- When a Datetime is disabled with `prefer-wheel`, the columns in the
Datetime will be disabled
- It is no longer possible to navigate the wheels in a disabled Datetime
via the keyboard


Comparison of native & Ionic components:

![Screenshot 2023-11-10 at 10 58
25 AM](https://github.com/ionic-team/ionic-framework/assets/14926794/e2bec1b3-30f8-4f64-8658-27b971884b7a)


## 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. -->

---------

Co-authored-by: ionitron <hi@ionicframework.com>
Co-authored-by: Liam DeBeasi <liamdebeasi@users.noreply.github.com>
2023-11-22 16:07:43 +00:00
Sean Perkins
b833f0e826 fix(alert): date inputs render correctly in mobile safari (#28495)
Issue number: resolves #28494

---------

<!-- 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 appearance of the input is being set to `none` which clears the
browser appearance settings for height on the control. This results in
the `<input type="date" />` to render without a height.

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

- Minimum height is assigned to the alert input, forcing it to render at
it's expected height
- Date input renders correctly in Mobile Safari

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

We have screenshots for this component, but Playwright runs an emulation
of Mobile Safari that does not reproduce this issue that is only present
on device. There for we cannot write a test on this change.

---------

Co-authored-by: ionitron <hi@ionicframework.com>
2023-11-21 15:29:51 +00:00
Liam DeBeasi
7392b1cd4b merge release-7.5.6
Release 7.5.6
2023-11-21 10:28:41 -05:00
ionitron
93ed25693c chore(): update package lock files 2023-11-21 14:31:53 +00:00
ionitron
f6a740dce5 v7.5.6 v7.5.6 2023-11-21 14:31:40 +00:00
Liam DeBeasi
9453132aa8 fix(angular): overlays are defined when using standalone controllers (#28560)
Issue number: resolves #28385

---------

<!-- 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. -->

Overlay controllers do not register their respective overlays
components. This results in the overlay not appearing.

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

- Each standalone overlay controller manually calls
`defineCustomElement` for their respective overlay component to ensure
the component is loaded/registered.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->


Dev build: `7.5.6-dev.11700492285.1581ed02`
2023-11-20 22:45:51 +00:00
Sean Perkins
c07312e5ed fix(angular): ng add @ionic/angular in standalone projects (#28523)
Issue number: Resolves #28514

---------

<!-- 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 the `@ionic/angular` schematic in an Angular 17 project (`ng
add @ionic/angular`), developers will receive an error preventing the
schematic from running.

Additionally, the previous implementations of the schematic are out of
sync with the current state of the Ionic starters:
- `variables.css` is empty and missing Ionic's defaults
- `ionic.config.json` is not created
- Schematic does not have support for module vs. standalone projects.

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

- `ng add @ionic/angular` works with Angular 17 projects
- `ng add @ionic/angular` has fallback behavior for Angular 16 projects
using `AppModule`
- Schematics now includes the proper `variables.css` from Ionic starters
- Ionicons assets will no longer be copied when being added to a
standalone project
- Refactors a majority of the implementation to use the utilities that
come directly from `@angular-devkit/schematics` and
`@schematics/angular`.
- Sets the `@ionic/angular-toolkit` CLI configuration and schematics
configuration in the `angular.json`
- Creates missing `ionic.config.json`

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev-build: `7.5.5-dev.11700239837.1925bbdb`

To test this PR:

1. Install Angular CLI v17 - `npm install -g @angular/cli@17`
2. Create a new project - `ng new angular-17`
3. Use the dev-build: - `ng add
@ionic/angular@7.5.5-dev.11700239837.1925bbdb`
4. Confirm the prompts
5. Validate that `provideIonicAngular({})` is added to the
`app.config.ts`
6. Validate that `ionic.config.json` was created
7. Validate that `angular.json` was updated with the
`@ionic/angular-devkit` configurations

Now verify legacy behavior:

1. Install Angular CLI v16 - `npm install -g @angular/cli@16`
2. Create a new project - `ng new angular-16`
3. Use the dev-build - `ng add
@ionic/angular@7.5.5-dev.11700239837.1925bbdb`
4. Confirm the prompts
5. Validate that `IonicModule.forRoot({})` is added to the
`app.module.ts`
8. Validate the ionicons glob pattern is added to the `angular.json`
9. Validate the `ionic.config.json` was created
10. Validate the `angular.json` was updated with the
`@ionic/angular-devkit` configurations
2023-11-20 22:20:20 +00:00
Liam DeBeasi
388d19e04f fix(datetime): updating value with min scrolls to new value (#28549)
Issue number: resolves #28548

---------

<!-- 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 was not scrolling at all when the `value` prop was changed
programmatically. This was due to some logic we had in
`componentDidRender` to work around a WebKit bug which was causing the
scroll position to be moved back to where it was prior to setting the
`value` prop. This caused the scroll position to never move.

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

- Datetime scrolls to the new value when `value` is updated
programmatically even if `min` is set.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

Dev build: `7.5.6-dev.11700169088.140f3e6a`

Co-authored-by: amandaejohnston
<amandaejohnston@users.noreply.github.com>
2023-11-20 14:19:44 +00:00
Shawn Taylor
adb01e2516 refactor(angular): loading controller uses correct core instance (#28543)
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?
As a takeaway from our learning session about a menuController bug in
Ionic Angular, the team would like to update our other providers to use
the same architecture as the menuController to prevent this kind of
issue from happening again in the future.

We also noticed that the common provider does not provide much value and
it's easier to just have two separate implementations in `src` and
`standalone`. (There wasn't much code we could de-duplicate)

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

- Removed the common loading provider in favor of separate ones in
src/standalone

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-11-17 21:16:56 +00:00
Sean Perkins
4f1b4cdc29 chore(core): type checking for unit tests (#28529)
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. -->

Type checking inside of the Stencil unit tests have been disabled for a
long time. This has resulted in a difficult developer experience and
numerous issues (both types and implementation) within our unit tests.

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

- Type checking is now enabled for all Stencil unit tests
- Tests have been updated to resolve type errors and implementation
errors
- Many `as any` casts were introduced, as many legacy tests test invalid
configurations of functions that require it (for example passing
`undefined` to an argument that cannot be `undefined`).

## 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. -->

To test this PR you can checkout the branch locally. Install
dependencies in the `/core` directory to make sure you are on at least
`@stencil/core@4.7.2`.

Opening either a `.spec.ts` or `.spec.tsx` file, validate that your IDE
detects types and can provide auto completions for jest global types.

If you desire, you can provide an invalid type and try building the
project - you will observe the build will fail due to the invalid type.
2023-11-17 16:47:34 +00:00
Shawn Taylor
1a135ebd76 refactor(angular): alert controller uses correct core instance (#28538)
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?
As a takeaway from our learning session about a menuController bug in
Ionic Angular, the team would like to update our other providers to use
the same architecture as the menuController to prevent this kind of
issue from happening again in the future.

We also noticed that the common provider does not provide much value and
it's easier to just have two separate implementations in `src` and
`standalone`. (There wasn't much code we could de-duplicate)

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

- Removed the common alert provider in favor of separate ones in
src/standalone

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-11-16 16:50:43 +00:00
Liam DeBeasi
6a2be9fa3c fix(alert): match MD spec on tablet (#28501)
Issue number: resolves #23977

---------

<!-- 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 MD Alert on tablet dimensions does not match the MD spec

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

- MD Alert now follows the MD spec for tablet dimensions
- Added tablet and mobile viewport mixins for alert and the card modal.
(There should be no visual diffs for the card modal)

## 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 supersedes https://github.com/ionic-team/ionic-framework/pull/27462
since I needed to add new screenshot tests. The author of that PR has
been given co-author credit here.

---------

Co-authored-by: GlenOttley <GlenOttley@users.noreply.github.com>
Co-authored-by: ionitron <hi@ionicframework.com>
Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com>
2023-11-16 16:28:36 +00:00
Liam DeBeasi
9883eac0f7 fix(angular): transition plays when using browser buttons (#28530)
Issue number: resolves #16569

---------

<!-- 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 Angular's routing integration disables page transitions when using
the browser back/forward buttons.

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

- Transitions now play when using the back/forward buttons

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

We're not aware of any breaking changes here, though it's possible some
developers were relying on this behavior. As a result, we are targeting
Ionic 8 to minimize any potential negative impact this fix may have on
developers.

<!-- 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. -->

Supersedes https://github.com/ionic-team/ionic-framework/pull/28188

Dev build: `7.5.6-dev.11700068172.15ce9b35`

Co-authored-by: hoi4 <hoi4@users.noreply.github.com>
2023-11-16 10:52:32 -05:00
Shawn Taylor
9d57758e3e refactor(angular): picker controller uses correct core instance (#28521)
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?
As a takeaway from our learning session about a menuController bug in
Ionic Angular, the team would like to update our other providers to use
the same architecture as the menuController to prevent this kind of
issue from happening again in the future.

We also noticed that the common provider does not provide much value and
it's easier to just have two separate implementations in `src` and
`standalone`. (There wasn't much code we could de-duplicate)

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

- Removed the common picker provider in favor of separate ones in
src/standalone

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-11-16 12:57:02 +00:00
Sean Perkins
f143bd0a11 chore(angular): remove tslint (#28528)
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 migrated to using `eslint` for linting all of our
projects awhile ago. However we left around an unused tslint config file
in the Angular project by accident.

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

- Removes the unused tslint configuration 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. -->
2023-11-15 19:08:13 +00:00
Sean Perkins
1b6f15dee1 chore(angular): type checking for standalone directory (#28531)
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. -->

Type checking is disabled in the `standalone/` directory of the angular
project.

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

- Enables type checking in the standalone directories. 

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-11-15 18:58:27 +00:00
Liam DeBeasi
aa2a7f5271 chore: sync with main
chore: sync with main
2023-11-15 12:18:04 -05:00
Liam DeBeasi
2509d565b2 chore: sync 2023-11-15 12:06:22 -05:00
Liam DeBeasi
ce89057641 refactor(angular): radio component is auto generated (#28533) 2023-11-15 12:05:17 -05:00
Liam DeBeasi
9fad566175 merge release-7.5.5
Release 7.5.5
2023-11-15 10:56:17 -05:00
Liam DeBeasi
6dcf9cadb3 chore: add note for Ionic Vue developers 2023-11-15 10:31:23 -05:00
ionitron
9bb45b3772 chore(): update package lock files 2023-11-15 15:27:39 +00:00
ionitron
78ce39f8c6 v7.5.5 v7.5.5 2023-11-15 15:27:28 +00:00
Liam DeBeasi
093c671e3e test(angular): remove routing waits in tests (#28532)
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. -->

Our Angular E2E tests are brittle because they rely on arbitrary
`cy.wait` calls to account for asynchronous routing. This leads to flaky
tests on CI and seemingly random test failures when we make adjustments
to the Ionic Anguar routing integration (see:
https://github.com/ionic-team/ionic-framework/pull/28188)

Additionally, our test execution for the navigation tests is quite slow
because transitions are enabled. As a result, we need to wait hundreds
of ms per test just for the transitions to finish.

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

- Updated the `testStack` command to use a new `getStack` [Cypress
query](https://docs.cypress.io/api/cypress-api/custom-queries). These
queries come with automatic retrying built-in. By leveraging this query
in the `testStack` command, we can avoid the arbitrary waits.
- Added `ionic:_testing=true` query strings to the navigation tests.
This causes Ionic to disable any transitions so the tests execute
faster.
- Removed most of the arbitrary `cy.wait` calls. I kept the swipe to go
back `cy.wait` -- I wasn't quite sure how to reduce flakiness on that
one.

## Does this introduce a breaking change?

- [ ] Yes
- [x] No

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


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
2023-11-14 23:04:09 +00:00
dependabot[bot]
ed80b7f118 chore(deps): Bump @stencil/core from 4.7.1 to 4.7.2 in /core (#28522)
Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.7.1
to 4.7.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/stencil/releases"><code>@​stencil/core</code>'s
releases</a>.</em></p>
<blockquote>
<h2>🐄 v4.7.2 (2023-11-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler:</strong> normalize paths on windows (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4997">#4997</a>)
(<a
href="bb0b1d46f6">bb0b1d4</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/4980">#4980</a>
<a
href="https://redirect.github.com/ionic-team/stencil/issues/4961">#4961</a></li>
<li><strong>runtime:</strong> add display style to slot-fb elements (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5028">#5028</a>)
(<a
href="72c1f1a352">72c1f1a</a>)</li>
<li><strong>test:</strong> don't fail build when jest typings can't be
resolved (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5031">#5031</a>)
(<a
href="5df16e69d2">5df16e6</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/5030">#5030</a></li>
<li><strong>vite:</strong> resolve PURE comment warnings (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5018">#5018</a>)
(<a
href="0a1fbe144e">0a1fbe1</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/5008">#5008</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ionic-team/stencil/blob/main/CHANGELOG.md"><code>@​stencil/core</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>🐄 <a
href="https://github.com/ionic-team/stencil/compare/v4.7.1...v4.7.2">4.7.2</a>
(2023-11-13)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler:</strong> normalize paths on windows (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4997">#4997</a>)
(<a
href="bb0b1d46f6">bb0b1d4</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/4980">#4980</a>
<a
href="https://redirect.github.com/ionic-team/stencil/issues/4961">#4961</a></li>
<li><strong>runtime:</strong> add display style to slot-fb elements (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5028">#5028</a>)
(<a
href="72c1f1a352">72c1f1a</a>)</li>
<li><strong>test:</strong> don't fail build when jest typings can't be
resolved (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5031">#5031</a>)
(<a
href="5df16e69d2">5df16e6</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/5030">#5030</a></li>
<li><strong>vite:</strong> resolve PURE comment warnings (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5018">#5018</a>)
(<a
href="0a1fbe144e">0a1fbe1</a>),
closes <a
href="https://redirect.github.com/ionic-team/stencil/issues/5008">#5008</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d321cb5839"><code>d321cb5</code></a>
v4.7.2 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5062">#5062</a>)</li>
<li><a
href="4ea0ce0b1f"><code>4ea0ce0</code></a>
chore(deps): update dependency <code>@​types/eslint</code> to v8.44.7
(<a
href="https://redirect.github.com/ionic-team/stencil/issues/5056">#5056</a>)</li>
<li><a
href="5c917c9411"><code>5c917c9</code></a>
chore(ci): unpin node minor version (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5055">#5055</a>)</li>
<li><a
href="cb4120c381"><code>cb4120c</code></a>
chore(deps): update typescript-eslint to v6.10.0 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5060">#5060</a>)</li>
<li><a
href="0b5c71ae54"><code>0b5c71a</code></a>
chore(deps): update dependency cspell to v8 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5061">#5061</a>)</li>
<li><a
href="0a7100e568"><code>0a7100e</code></a>
chore(deps): update dependency <code>@​types/node</code> to v20.9.0 (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5058">#5058</a>)</li>
<li><a
href="b795a54178"><code>b795a54</code></a>
refactor(jest): narrow getJestPreset typings (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5053">#5053</a>)</li>
<li><a
href="72c1f1a352"><code>72c1f1a</code></a>
fix(runtime): add display style to slot-fb elements (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5028">#5028</a>)</li>
<li><a
href="bb0b1d46f6"><code>bb0b1d4</code></a>
fix(compiler): normalize paths on windows (<a
href="https://redirect.github.com/ionic-team/stencil/issues/4997">#4997</a>)</li>
<li><a
href="bd826ffc6f"><code>bd826ff</code></a>
refactor(worker): document worker code, improve types (<a
href="https://redirect.github.com/ionic-team/stencil/issues/5034">#5034</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ionic-team/stencil/compare/v4.7.1...v4.7.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/core&package-manager=npm_and_yarn&previous-version=4.7.1&new-version=4.7.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-14 21:09:35 +00:00
dependabot[bot]
83f9ac0fac chore(deps-dev): Bump @stencil/vue-output-target from 0.8.6 to 0.8.7 in /core (#28508)
Bumps
[@stencil/vue-output-target](https://github.com/ionic-team/stencil-ds-output-targets)
from 0.8.6 to 0.8.7.
<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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@stencil/vue-output-target&package-manager=npm_and_yarn&previous-version=0.8.6&new-version=0.8.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <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>
2023-11-13 20:00:24 +00:00