Compare commits

...

9 Commits

Author SHA1 Message Date
Liam DeBeasi
01cd738878 fix 2023-11-30 14:56:43 -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
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 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
38 changed files with 506 additions and 122 deletions

2
.github/CODEOWNERS vendored
View File

@@ -11,6 +11,8 @@
# In each subsection folders are ordered first by depth, then alphabetically.
# This should make it easy to add new rules without breaking existing ones.
* @ionic-team/framework
# Frameworks
## Angular

View File

@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.5.7](https://github.com/ionic-team/ionic-framework/compare/v7.5.6...v7.5.7) (2023-11-29)
### Bug Fixes
* **alert:** date inputs render correctly in mobile safari ([#28495](https://github.com/ionic-team/ionic-framework/issues/28495)) ([b833f0e](https://github.com/ionic-team/ionic-framework/commit/b833f0e826ddd261230e2e29b70e2dc884d8cb04)), closes [#28494](https://github.com/ionic-team/ionic-framework/issues/28494)
* **datetime:** allow disabling datetime with prefer-wheel ([#28511](https://github.com/ionic-team/ionic-framework/issues/28511)) ([01130e1](https://github.com/ionic-team/ionic-framework/commit/01130e12e1d73bbf558da9d4dffd7122822ff39c))
## [7.5.6](https://github.com/ionic-team/ionic-framework/compare/v7.5.5...v7.5.6) (2023-11-21)

View File

@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.5.7](https://github.com/ionic-team/ionic-framework/compare/v7.5.6...v7.5.7) (2023-11-29)
### Bug Fixes
* **alert:** date inputs render correctly in mobile safari ([#28495](https://github.com/ionic-team/ionic-framework/issues/28495)) ([b833f0e](https://github.com/ionic-team/ionic-framework/commit/b833f0e826ddd261230e2e29b70e2dc884d8cb04)), closes [#28494](https://github.com/ionic-team/ionic-framework/issues/28494)
* **datetime:** allow disabling datetime with prefer-wheel ([#28511](https://github.com/ionic-team/ionic-framework/issues/28511)) ([01130e1](https://github.com/ionic-team/ionic-framework/commit/01130e12e1d73bbf558da9d4dffd7122822ff39c))
## [7.5.6](https://github.com/ionic-team/ionic-framework/compare/v7.5.5...v7.5.6) (2023-11-21)

18
core/package-lock.json generated
View File

@@ -1,15 +1,15 @@
{
"name": "@ionic/core",
"version": "7.5.6",
"version": "7.5.7",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/core",
"version": "7.5.6",
"version": "7.5.7",
"license": "MIT",
"dependencies": {
"@stencil/core": "^4.7.2",
"@stencil/core": "^4.8.0",
"ionicons": "^7.2.1",
"tslib": "^2.1.0"
},
@@ -1825,9 +1825,9 @@
}
},
"node_modules/@stencil/core": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.7.2.tgz",
"integrity": "sha512-sPPDYrXiTbfeUF5CCyfqysXK/yfTHC4xYR1+nHzGkS2vhRSBOLp0oPuB+xkJLKA+K2ZqDJUxpOnDxy1CLWwBXA==",
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.8.0.tgz",
"integrity": "sha512-iNEaMiEt9oFZXSjZ7qkdlBpPTzWzBgWM7go8nI8a7V6ZOkmdVhhT0xGQD7OY13v5ZuDoIw5IsGvbIAGefhIhhQ==",
"bin": {
"stencil": "bin/stencil"
},
@@ -12184,9 +12184,9 @@
"requires": {}
},
"@stencil/core": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.7.2.tgz",
"integrity": "sha512-sPPDYrXiTbfeUF5CCyfqysXK/yfTHC4xYR1+nHzGkS2vhRSBOLp0oPuB+xkJLKA+K2ZqDJUxpOnDxy1CLWwBXA=="
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.8.0.tgz",
"integrity": "sha512-iNEaMiEt9oFZXSjZ7qkdlBpPTzWzBgWM7go8nI8a7V6ZOkmdVhhT0xGQD7OY13v5ZuDoIw5IsGvbIAGefhIhhQ=="
},
"@stencil/react-output-target": {
"version": "0.5.3",

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/core",
"version": "7.5.6",
"version": "7.5.7",
"description": "Base components for Ionic",
"keywords": [
"ionic",
@@ -31,7 +31,7 @@
"loader/"
],
"dependencies": {
"@stencil/core": "^4.7.2",
"@stencil/core": "^4.8.0",
"ionicons": "^7.2.1",
"tslib": "^2.1.0"
},

View File

@@ -0,0 +1,151 @@
/*
* Dark Colors
* -------------------------------------------
*/
:root {
--ion-color-primary: #428cff;
--ion-color-primary-rgb: 66, 140, 255;
--ion-color-primary-contrast: #ffffff;
--ion-color-primary-contrast-rgb: 255, 255, 255;
--ion-color-primary-shade: #3a7be0;
--ion-color-primary-tint: #5598ff;
--ion-color-secondary: #50c8ff;
--ion-color-secondary-rgb: 80, 200, 255;
--ion-color-secondary-contrast: #ffffff;
--ion-color-secondary-contrast-rgb: 255, 255, 255;
--ion-color-secondary-shade: #46b0e0;
--ion-color-secondary-tint: #62ceff;
--ion-color-tertiary: #6a64ff;
--ion-color-tertiary-rgb: 106, 100, 255;
--ion-color-tertiary-contrast: #ffffff;
--ion-color-tertiary-contrast-rgb: 255, 255, 255;
--ion-color-tertiary-shade: #5d58e0;
--ion-color-tertiary-tint: #7974ff;
--ion-color-success: #2fdf75;
--ion-color-success-rgb: 47, 223, 117;
--ion-color-success-contrast: #000000;
--ion-color-success-contrast-rgb: 0, 0, 0;
--ion-color-success-shade: #29c467;
--ion-color-success-tint: #44e283;
--ion-color-warning: #ffd534;
--ion-color-warning-rgb: 255, 213, 52;
--ion-color-warning-contrast: #000000;
--ion-color-warning-contrast-rgb: 0, 0, 0;
--ion-color-warning-shade: #e0bb2e;
--ion-color-warning-tint: #ffd948;
--ion-color-danger: #ff4961;
--ion-color-danger-rgb: 255, 73, 97;
--ion-color-danger-contrast: #ffffff;
--ion-color-danger-contrast-rgb: 255, 255, 255;
--ion-color-danger-shade: #e04055;
--ion-color-danger-tint: #ff5b71;
--ion-color-dark: #f4f5f8;
--ion-color-dark-rgb: 244, 245, 248;
--ion-color-dark-contrast: #000000;
--ion-color-dark-contrast-rgb: 0, 0, 0;
--ion-color-dark-shade: #d7d8da;
--ion-color-dark-tint: #f5f6f9;
--ion-color-medium: #989aa2;
--ion-color-medium-rgb: 152, 154, 162;
--ion-color-medium-contrast: #000000;
--ion-color-medium-contrast-rgb: 0, 0, 0;
--ion-color-medium-shade: #86888f;
--ion-color-medium-tint: #a2a4ab;
--ion-color-light: #222428;
--ion-color-light-rgb: 34, 36, 40;
--ion-color-light-contrast: #ffffff;
--ion-color-light-contrast-rgb: 255, 255, 255;
--ion-color-light-shade: #1e2023;
--ion-color-light-tint: #383a3e;
}
/*
* iOS Dark Theme
* -------------------------------------------
*/
.ios body {
--ion-background-color: #000000;
--ion-background-color-rgb: 0, 0, 0;
--ion-text-color: #ffffff;
--ion-text-color-rgb: 255, 255, 255;
--ion-color-step-50: #0d0d0d;
--ion-color-step-100: #1a1a1a;
--ion-color-step-150: #262626;
--ion-color-step-200: #333333;
--ion-color-step-250: #404040;
--ion-color-step-300: #4d4d4d;
--ion-color-step-350: #595959;
--ion-color-step-400: #666666;
--ion-color-step-450: #737373;
--ion-color-step-500: #808080;
--ion-color-step-550: #8c8c8c;
--ion-color-step-600: #999999;
--ion-color-step-650: #a6a6a6;
--ion-color-step-700: #b3b3b3;
--ion-color-step-750: #bfbfbf;
--ion-color-step-800: #cccccc;
--ion-color-step-850: #d9d9d9;
--ion-color-step-900: #e6e6e6;
--ion-color-step-950: #f2f2f2;
--ion-toolbar-background: #0d0d0d;
--ion-item-background: #000000;
--ion-card-background: #1c1c1d;
}
/*
* Material Design Dark Theme
* -------------------------------------------
*/
.md body {
--ion-background-color: #121212;
--ion-background-color-rgb: 18, 18, 18;
--ion-text-color: #ffffff;
--ion-text-color-rgb: 255, 255, 255;
--ion-border-color: #222222;
--ion-color-step-50: #1e1e1e;
--ion-color-step-100: #2a2a2a;
--ion-color-step-150: #363636;
--ion-color-step-200: #414141;
--ion-color-step-250: #4d4d4d;
--ion-color-step-300: #595959;
--ion-color-step-350: #656565;
--ion-color-step-400: #717171;
--ion-color-step-450: #7d7d7d;
--ion-color-step-500: #898989;
--ion-color-step-550: #949494;
--ion-color-step-600: #a0a0a0;
--ion-color-step-650: #acacac;
--ion-color-step-700: #b8b8b8;
--ion-color-step-750: #c4c4c4;
--ion-color-step-800: #d0d0d0;
--ion-color-step-850: #dbdbdb;
--ion-color-step-900: #e7e7e7;
--ion-color-step-950: #f3f3f3;
--ion-item-background: #1e1e1e;
--ion-toolbar-background: #1f1f1f;
--ion-tab-bar-background: #1f1f1f;
--ion-card-background: #1e1e1e;
}

View File

@@ -337,6 +337,17 @@ export class ActionSheet implements ComponentInterface, OverlayInterface {
if (this.isOpen === true) {
raf(() => this.present());
}
/**
* When binding values in frameworks such as Angular
* it is possible for the value to be set after the Web Component
* initializes but before the value watcher is set up in Stencil.
* As a result, the watcher callback may not be fired.
* We work around this by manually calling the watcher
* callback when the component has loaded and the watcher
* is configured.
*/
this.triggerChanged();
}
render() {

View File

@@ -376,6 +376,17 @@ export class Alert implements ComponentInterface, OverlayInterface {
if (this.isOpen === true) {
raf(() => this.present());
}
/**
* When binding values in frameworks such as Angular
* it is possible for the value to be set after the Web Component
* initializes but before the value watcher is set up in Stencil.
* As a result, the watcher callback may not be fired.
* We work around this by manually calling the watcher
* callback when the component has loaded and the watcher
* is configured.
*/
this.triggerChanged();
}
/**

View File

@@ -225,6 +225,17 @@ export class Loading implements ComponentInterface, OverlayInterface {
if (this.isOpen === true) {
raf(() => this.present());
}
/**
* When binding values in frameworks such as Angular
* it is possible for the value to be set after the Web Component
* initializes but before the value watcher is set up in Stencil.
* As a result, the watcher callback may not be fired.
* We work around this by manually calling the watcher
* callback when the component has loaded and the watcher
* is configured.
*/
this.triggerChanged();
}
disconnectedCallback() {

View File

@@ -368,6 +368,17 @@ export class Modal implements ComponentInterface, OverlayInterface {
raf(() => this.present());
}
this.breakpointsChanged(this.breakpoints);
/**
* When binding values in frameworks such as Angular
* it is possible for the value to be set after the Web Component
* initializes but before the value watcher is set up in Stencil.
* As a result, the watcher callback may not be fired.
* We work around this by manually calling the watcher
* callback when the component has loaded and the watcher
* is configured.
*/
this.triggerChanged();
}
/**

View File

@@ -209,6 +209,17 @@ export class Picker implements ComponentInterface, OverlayInterface {
if (this.isOpen === true) {
raf(() => this.present());
}
/**
* When binding values in frameworks such as Angular
* it is possible for the value to be set after the Web Component
* initializes but before the value watcher is set up in Stencil.
* As a result, the watcher callback may not be fired.
* We work around this by manually calling the watcher
* callback when the component has loaded and the watcher
* is configured.
*/
this.triggerChanged();
}
/**

View File

@@ -370,6 +370,17 @@ export class Popover implements ComponentInterface, PopoverInterface {
this.dismiss(undefined, undefined, false);
});
}
/**
* When binding values in frameworks such as Angular
* it is possible for the value to be set after the Web Component
* initializes but before the value watcher is set up in Stencil.
* As a result, the watcher callback may not be fired.
* We work around this by manually calling the watcher
* callback when the component has loaded and the watcher
* is configured.
*/
this.configureTriggerInteraction();
}
/**

View File

@@ -288,6 +288,17 @@ export class Toast implements ComponentInterface, OverlayInterface {
if (this.isOpen === true) {
raf(() => this.present());
}
/**
* When binding values in frameworks such as Angular
* it is possible for the value to be set after the Web Component
* initializes but before the value watcher is set up in Stencil.
* As a result, the watcher callback may not be fired.
* We work around this by manually calling the watcher
* callback when the component has loaded and the watcher
* is configured.
*/
this.triggerChanged();
}
/**

View File

@@ -1,5 +1,12 @@
export type Mode = 'ios' | 'md';
export type Direction = 'ltr' | 'rtl';
/**
* The theme to use for the playwright test.
*
* - `light`: The fallback theme values. Theme stylesheet will not be included.
* - `dark`: The dark theme values.
*/
export type Theme = 'light' | 'dark';
export type TitleFn = (title: string) => string;
export type ScreenshotFn = (fileName: string) => string;
@@ -7,6 +14,7 @@ export type ScreenshotFn = (fileName: string) => string;
export interface TestConfig {
mode: Mode;
direction: Direction;
theme: Theme;
}
interface TestUtilities {
@@ -18,6 +26,7 @@ interface TestUtilities {
interface TestConfigOption {
modes?: Mode[];
directions?: Direction[];
themes?: Theme[];
}
/**
@@ -27,9 +36,19 @@ interface TestConfigOption {
* each test title is unique.
*/
const generateTitle = (title: string, config: TestConfig): string => {
const { mode, direction } = config;
const { mode, direction, theme } = config;
return `${title} - ${mode}/${direction}`;
if (theme === 'light') {
/**
* Ionic has many existing tests that existed prior to
* the introduction of theme testing. To maintain backwards
* compatibility, we will not include the theme in the test
* title if the theme is set to light.
*/
return `${title} - ${mode}/${direction}`;
}
return `${title} - ${mode}/${direction}/${theme}`;
};
/**
@@ -37,9 +56,19 @@ const generateTitle = (title: string, config: TestConfig): string => {
* and a test config.
*/
const generateScreenshotName = (fileName: string, config: TestConfig): string => {
const { mode, direction } = config;
const { mode, direction, theme } = config;
return `${fileName}-${mode}-${direction}.png`;
if (theme === 'light') {
/**
* Ionic has many existing tests that existed prior to
* the introduction of theme testing. To maintain backwards
* compatibility, we will not include the theme in the screenshot
* name if the theme is set to light.
*/
return `${fileName}-${mode}-${direction}.png`;
}
return `${fileName}-${mode}-${direction}-${theme}.png`;
};
/**
@@ -54,12 +83,15 @@ export const configs = (testConfig: TestConfigOption = DEFAULT_TEST_CONFIG_OPTIO
* If certain options are not provided,
* fall back to the defaults.
*/
const processedMode: Mode[] = modes ?? DEFAULT_MODES;
const processedDirection: Direction[] = directions ?? DEFAULT_DIRECTIONS;
const processedMode = modes ?? DEFAULT_MODES;
const processedDirection = directions ?? DEFAULT_DIRECTIONS;
const processedTheme = testConfig.themes ?? DEFAULT_THEMES;
processedMode.forEach((mode: Mode) => {
processedDirection.forEach((direction: Direction) => {
configs.push({ mode, direction });
processedMode.forEach((mode) => {
processedDirection.forEach((direction) => {
processedTheme.forEach((theme) => {
configs.push({ mode, direction, theme });
});
});
});
@@ -74,6 +106,7 @@ export const configs = (testConfig: TestConfigOption = DEFAULT_TEST_CONFIG_OPTIO
const DEFAULT_MODES: Mode[] = ['ios', 'md'];
const DEFAULT_DIRECTIONS: Direction[] = ['ltr', 'rtl'];
const DEFAULT_THEMES: Theme[] = ['light'];
const DEFAULT_TEST_CONFIG_OPTION = {
modes: DEFAULT_MODES,

View File

@@ -1,5 +1,5 @@
import type { Page, TestInfo } from '@playwright/test';
import type { E2EPageOptions, Mode, Direction } from '@utils/test/playwright';
import type { E2EPageOptions, Mode, Direction, Theme } from '@utils/test/playwright';
/**
* Overwrites the default Playwright page.setContent method.
@@ -19,25 +19,30 @@ export const setContent = async (page: Page, html: string, testInfo: TestInfo, o
let mode: Mode;
let direction: Direction;
let theme: Theme;
if (options == undefined) {
mode = testInfo.project.metadata.mode;
direction = testInfo.project.metadata.rtl ? 'rtl' : 'ltr';
theme = testInfo.project.metadata.theme;
} else {
mode = options.mode;
direction = options.direction;
theme = options.theme;
}
const baseUrl = process.env.PLAYWRIGHT_TEST_BASE_URL;
const output = `
<!DOCTYPE html>
<html dir="${direction}">
<html dir="${direction}" lang="en">
<head>
<title>Ionic Playwright Test</title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
<link href="${baseUrl}/css/ionic.bundle.css" rel="stylesheet" />
<link href="${baseUrl}/scripts/testing/styles.css" rel="stylesheet" />
${theme !== 'light' ? `<link href="${baseUrl}/scripts/testing/themes/${theme}.css" rel="stylesheet" />` : ''}
<script src="${baseUrl}/scripts/testing/scripts.js"></script>
<script type="module" src="${baseUrl}/dist/ionic/ionic.esm.js"></script>
<script>
@@ -54,6 +59,11 @@ export const setContent = async (page: Page, html: string, testInfo: TestInfo, o
</html>
`;
testInfo.annotations.push({
type: 'theme',
description: theme,
});
if (baseUrl) {
await page.route(baseUrl, (route) => {
if (route.request().url() === `${baseUrl}/`) {

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.5.7](https://github.com/ionic-team/ionic-framework/compare/v7.5.6...v7.5.7) (2023-11-29)
**Note:** Version bump only for package @ionic/docs
## [7.5.6](https://github.com/ionic-team/ionic-framework/compare/v7.5.5...v7.5.6) (2023-11-21)
**Note:** Version bump only for package @ionic/docs

View File

@@ -1,12 +1,12 @@
{
"name": "@ionic/docs",
"version": "7.5.6",
"version": "7.5.7",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/docs",
"version": "7.5.6",
"version": "7.5.7",
"license": "MIT"
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/docs",
"version": "7.5.6",
"version": "7.5.7",
"description": "Pre-packaged API documentation for the Ionic docs.",
"main": "core.json",
"types": "core.d.ts",

View File

@@ -4,5 +4,5 @@
"docs",
"packages/*"
],
"version": "7.5.6"
"version": "7.5.7"
}

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.5.7](https://github.com/ionic-team/ionic-framework/compare/v7.5.6...v7.5.7) (2023-11-29)
**Note:** Version bump only for package @ionic/angular-server
## [7.5.6](https://github.com/ionic-team/ionic-framework/compare/v7.5.5...v7.5.6) (2023-11-21)
**Note:** Version bump only for package @ionic/angular-server

View File

@@ -1,15 +1,15 @@
{
"name": "@ionic/angular-server",
"version": "7.5.6",
"version": "7.5.7",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/angular-server",
"version": "7.5.6",
"version": "7.5.7",
"license": "MIT",
"dependencies": {
"@ionic/core": "^7.5.6"
"@ionic/core": "^7.5.7"
},
"devDependencies": {
"@angular-eslint/eslint-plugin": "^14.0.0",
@@ -1060,9 +1060,9 @@
"dev": true
},
"node_modules/@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"dependencies": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",
@@ -7330,9 +7330,9 @@
"dev": true
},
"@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"requires": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/angular-server",
"version": "7.5.6",
"version": "7.5.7",
"description": "Angular SSR Module for Ionic",
"keywords": [
"ionic",
@@ -62,6 +62,6 @@
},
"prettier": "@ionic/prettier-config",
"dependencies": {
"@ionic/core": "^7.5.6"
"@ionic/core": "^7.5.7"
}
}

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.5.7](https://github.com/ionic-team/ionic-framework/compare/v7.5.6...v7.5.7) (2023-11-29)
**Note:** Version bump only for package @ionic/angular
## [7.5.6](https://github.com/ionic-team/ionic-framework/compare/v7.5.5...v7.5.6) (2023-11-21)

View File

@@ -1,15 +1,15 @@
{
"name": "@ionic/angular",
"version": "7.5.6",
"version": "7.5.7",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/angular",
"version": "7.5.6",
"version": "7.5.7",
"license": "MIT",
"dependencies": {
"@ionic/core": "^7.5.6",
"@ionic/core": "^7.5.7",
"ionicons": "^7.0.0",
"jsonc-parser": "^3.0.0",
"tslib": "^2.3.0"
@@ -1407,9 +1407,9 @@
"dev": true
},
"node_modules/@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"dependencies": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",
@@ -9697,9 +9697,9 @@
"dev": true
},
"@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"requires": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/angular",
"version": "7.5.6",
"version": "7.5.7",
"description": "Angular specific wrappers for @ionic/core",
"keywords": [
"ionic",
@@ -48,7 +48,7 @@
}
},
"dependencies": {
"@ionic/core": "^7.5.6",
"@ionic/core": "^7.5.7",
"ionicons": "^7.0.0",
"jsonc-parser": "^3.0.0",
"tslib": "^2.3.0"

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.5.7](https://github.com/ionic-team/ionic-framework/compare/v7.5.6...v7.5.7) (2023-11-29)
**Note:** Version bump only for package @ionic/react-router
## [7.5.6](https://github.com/ionic-team/ionic-framework/compare/v7.5.5...v7.5.6) (2023-11-21)
**Note:** Version bump only for package @ionic/react-router

View File

@@ -1,15 +1,15 @@
{
"name": "@ionic/react-router",
"version": "7.5.6",
"version": "7.5.7",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/react-router",
"version": "7.5.6",
"version": "7.5.7",
"license": "MIT",
"dependencies": {
"@ionic/react": "^7.5.6",
"@ionic/react": "^7.5.7",
"tslib": "*"
},
"devDependencies": {
@@ -238,9 +238,9 @@
"dev": true
},
"node_modules/@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"dependencies": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",
@@ -414,11 +414,11 @@
}
},
"node_modules/@ionic/react": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.5.6.tgz",
"integrity": "sha512-/2NrJuKGllZzJTDbaBuep/0GFCDO7YhWAvda/FugqS1WLuqNoW2p3LYk0uUqMWCoXVtx972hoyQJzCNf55axkQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.5.7.tgz",
"integrity": "sha512-+dY4Nyz/e0PAw/5bxg6rP+MfFwWIxom4PWoH7Hcm91mHNSfcmNdGuc4D/Hp4TMld7cnlXCr0JVzPqXJGxqn78g==",
"dependencies": {
"@ionic/core": "7.5.6",
"@ionic/core": "7.5.7",
"ionicons": "^7.0.0",
"tslib": "*"
},
@@ -667,9 +667,9 @@
]
},
"node_modules/@stencil/core": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.7.2.tgz",
"integrity": "sha512-sPPDYrXiTbfeUF5CCyfqysXK/yfTHC4xYR1+nHzGkS2vhRSBOLp0oPuB+xkJLKA+K2ZqDJUxpOnDxy1CLWwBXA==",
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.8.0.tgz",
"integrity": "sha512-iNEaMiEt9oFZXSjZ7qkdlBpPTzWzBgWM7go8nI8a7V6ZOkmdVhhT0xGQD7OY13v5ZuDoIw5IsGvbIAGefhIhhQ==",
"bin": {
"stencil": "bin/stencil"
},
@@ -4050,9 +4050,9 @@
"dev": true
},
"@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"requires": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",
@@ -4156,11 +4156,11 @@
"requires": {}
},
"@ionic/react": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.5.6.tgz",
"integrity": "sha512-/2NrJuKGllZzJTDbaBuep/0GFCDO7YhWAvda/FugqS1WLuqNoW2p3LYk0uUqMWCoXVtx972hoyQJzCNf55axkQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.5.7.tgz",
"integrity": "sha512-+dY4Nyz/e0PAw/5bxg6rP+MfFwWIxom4PWoH7Hcm91mHNSfcmNdGuc4D/Hp4TMld7cnlXCr0JVzPqXJGxqn78g==",
"requires": {
"@ionic/core": "7.5.6",
"@ionic/core": "7.5.7",
"ionicons": "^7.0.0",
"tslib": "*"
}
@@ -4297,9 +4297,9 @@
"optional": true
},
"@stencil/core": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.7.2.tgz",
"integrity": "sha512-sPPDYrXiTbfeUF5CCyfqysXK/yfTHC4xYR1+nHzGkS2vhRSBOLp0oPuB+xkJLKA+K2ZqDJUxpOnDxy1CLWwBXA=="
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.8.0.tgz",
"integrity": "sha512-iNEaMiEt9oFZXSjZ7qkdlBpPTzWzBgWM7go8nI8a7V6ZOkmdVhhT0xGQD7OY13v5ZuDoIw5IsGvbIAGefhIhhQ=="
},
"@types/estree": {
"version": "1.0.4",

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/react-router",
"version": "7.5.6",
"version": "7.5.7",
"description": "React Router wrapper for @ionic/react",
"keywords": [
"ionic",
@@ -36,7 +36,7 @@
"dist/"
],
"dependencies": {
"@ionic/react": "^7.5.6",
"@ionic/react": "^7.5.7",
"tslib": "*"
},
"peerDependencies": {

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.5.7](https://github.com/ionic-team/ionic-framework/compare/v7.5.6...v7.5.7) (2023-11-29)
**Note:** Version bump only for package @ionic/react
## [7.5.6](https://github.com/ionic-team/ionic-framework/compare/v7.5.5...v7.5.6) (2023-11-21)
**Note:** Version bump only for package @ionic/react

View File

@@ -1,15 +1,15 @@
{
"name": "@ionic/react",
"version": "7.5.6",
"version": "7.5.7",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/react",
"version": "7.5.6",
"version": "7.5.7",
"license": "MIT",
"dependencies": {
"@ionic/core": "^7.5.6",
"@ionic/core": "^7.5.7",
"ionicons": "^7.0.0",
"tslib": "*"
},
@@ -811,9 +811,9 @@
"dev": true
},
"node_modules/@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"dependencies": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",
@@ -12857,9 +12857,9 @@
"dev": true
},
"@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"requires": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/react",
"version": "7.5.6",
"version": "7.5.7",
"description": "React specific wrapper for @ionic/core",
"keywords": [
"ionic",
@@ -39,7 +39,7 @@
"css/"
],
"dependencies": {
"@ionic/core": "^7.5.6",
"@ionic/core": "^7.5.7",
"ionicons": "^7.0.0",
"tslib": "*"
},

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.5.7](https://github.com/ionic-team/ionic-framework/compare/v7.5.6...v7.5.7) (2023-11-29)
**Note:** Version bump only for package @ionic/vue-router
## [7.5.6](https://github.com/ionic-team/ionic-framework/compare/v7.5.5...v7.5.6) (2023-11-21)
**Note:** Version bump only for package @ionic/vue-router

View File

@@ -1,15 +1,15 @@
{
"name": "@ionic/vue-router",
"version": "7.5.6",
"version": "7.5.7",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/vue-router",
"version": "7.5.6",
"version": "7.5.7",
"license": "MIT",
"dependencies": {
"@ionic/vue": "^7.5.6"
"@ionic/vue": "^7.5.7"
},
"devDependencies": {
"@ionic/eslint-config": "^0.3.0",
@@ -661,9 +661,9 @@
"dev": true
},
"node_modules/@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"dependencies": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",
@@ -852,11 +852,11 @@
}
},
"node_modules/@ionic/vue": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.5.6.tgz",
"integrity": "sha512-AtHx+mKFp2zN21PMLgkbZwPKvSF+HZtilqDyLBW+LdLVwphjWoGa+dZHiDmhyAYkO8u10rU8cPnlzMd77ArDXA==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.5.7.tgz",
"integrity": "sha512-C1CzWcyR1Sie/2g7UWJkKGAxmjBzMF6v89cZGhvPaVg7toahc/NvhOPRJ1zS+5t2xgHmaBeBvFn528HonVeWZw==",
"dependencies": {
"@ionic/core": "7.5.6",
"@ionic/core": "7.5.7",
"ionicons": "^7.0.0"
}
},
@@ -1508,9 +1508,9 @@
}
},
"node_modules/@stencil/core": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.7.2.tgz",
"integrity": "sha512-sPPDYrXiTbfeUF5CCyfqysXK/yfTHC4xYR1+nHzGkS2vhRSBOLp0oPuB+xkJLKA+K2ZqDJUxpOnDxy1CLWwBXA==",
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.8.0.tgz",
"integrity": "sha512-iNEaMiEt9oFZXSjZ7qkdlBpPTzWzBgWM7go8nI8a7V6ZOkmdVhhT0xGQD7OY13v5ZuDoIw5IsGvbIAGefhIhhQ==",
"bin": {
"stencil": "bin/stencil"
},
@@ -7878,9 +7878,9 @@
"dev": true
},
"@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"requires": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",
@@ -7993,11 +7993,11 @@
"requires": {}
},
"@ionic/vue": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.5.6.tgz",
"integrity": "sha512-AtHx+mKFp2zN21PMLgkbZwPKvSF+HZtilqDyLBW+LdLVwphjWoGa+dZHiDmhyAYkO8u10rU8cPnlzMd77ArDXA==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.5.7.tgz",
"integrity": "sha512-C1CzWcyR1Sie/2g7UWJkKGAxmjBzMF6v89cZGhvPaVg7toahc/NvhOPRJ1zS+5t2xgHmaBeBvFn528HonVeWZw==",
"requires": {
"@ionic/core": "7.5.6",
"@ionic/core": "7.5.7",
"ionicons": "^7.0.0"
}
},
@@ -8461,9 +8461,9 @@
}
},
"@stencil/core": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.7.2.tgz",
"integrity": "sha512-sPPDYrXiTbfeUF5CCyfqysXK/yfTHC4xYR1+nHzGkS2vhRSBOLp0oPuB+xkJLKA+K2ZqDJUxpOnDxy1CLWwBXA=="
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.8.0.tgz",
"integrity": "sha512-iNEaMiEt9oFZXSjZ7qkdlBpPTzWzBgWM7go8nI8a7V6ZOkmdVhhT0xGQD7OY13v5ZuDoIw5IsGvbIAGefhIhhQ=="
},
"@tootallnate/once": {
"version": "2.0.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/vue-router",
"version": "7.5.6",
"version": "7.5.7",
"description": "Vue Router integration for @ionic/vue",
"scripts": {
"test.spec": "jest",
@@ -44,7 +44,7 @@
},
"homepage": "https://github.com/ionic-team/ionic#readme",
"dependencies": {
"@ionic/vue": "^7.5.6"
"@ionic/vue": "^7.5.7"
},
"devDependencies": {
"@ionic/eslint-config": "^0.3.0",

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.5.7](https://github.com/ionic-team/ionic-framework/compare/v7.5.6...v7.5.7) (2023-11-29)
**Note:** Version bump only for package @ionic/vue
## [7.5.6](https://github.com/ionic-team/ionic-framework/compare/v7.5.5...v7.5.6) (2023-11-21)
**Note:** Version bump only for package @ionic/vue

View File

@@ -1,15 +1,15 @@
{
"name": "@ionic/vue",
"version": "7.5.6",
"version": "7.5.7",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/vue",
"version": "7.5.6",
"version": "7.5.7",
"license": "MIT",
"dependencies": {
"@ionic/core": "^7.5.6",
"@ionic/core": "^7.5.7",
"ionicons": "^7.0.0"
},
"devDependencies": {
@@ -208,9 +208,9 @@
"dev": true
},
"node_modules/@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"dependencies": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",
@@ -3959,9 +3959,9 @@
"dev": true
},
"@ionic/core": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.6.tgz",
"integrity": "sha512-bYQp2twwm61uA0Q31ToVIpQWsiQ9so1dRoWZPD+l+y4fVuFmOCLYeS6XTLTm73jVBq40JfEcsac7eYC4DxoemQ==",
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.5.7.tgz",
"integrity": "sha512-BVoKckmcC1kgRW5+ZGmzZMCXOjjaxq6D5lp0XzOpqUKBfyr8b39nkdJL2odQY2F1+jScChxk7wB5nubx4i3lUw==",
"requires": {
"@stencil/core": "^4.7.2",
"ionicons": "^7.2.1",

View File

@@ -1,6 +1,6 @@
{
"name": "@ionic/vue",
"version": "7.5.6",
"version": "7.5.7",
"description": "Vue specific wrapper for @ionic/core",
"scripts": {
"eslint": "eslint src",
@@ -66,7 +66,7 @@
"vue-router": "^4.0.16"
},
"dependencies": {
"@ionic/core": "^7.5.6",
"@ionic/core": "^7.5.7",
"ionicons": "^7.0.0"
},
"vetur": {

View File

@@ -4,7 +4,7 @@ import { defineComponent, h, shallowRef } from "vue";
import { VueDelegate } from "../framework-delegate";
export const IonNav = /*@__PURE__*/ defineComponent(() => {
export const IonNav = /*@__PURE__*/ defineComponent((props) => {
defineCustomElement();
const views = shallowRef([]);
@@ -19,8 +19,39 @@ export const IonNav = /*@__PURE__*/ defineComponent(() => {
const delegate = VueDelegate(addView, removeView);
return () => {
return h("ion-nav", { delegate }, views.value);
return h("ion-nav", { ...props, delegate }, views.value);
};
});
IonNav.name = "IonNav";
/**
* The default values follow what is defined at
* https://ionicframework.com/docs/api/nav#properties
* otherwise the default values on the Web Component
* may be overridden. For example, if the default animated value
* is not `true` below, then Vue would default the prop to `false`
* which would override the Web Component default of `true`.
*/
IonNav.props = {
animated: {
type: Boolean,
default: true
},
animation: {
type: Function,
default: undefined
},
root: {
type: [Function, Object, String],
default: undefined
},
rootParams: {
type: Object,
default: undefined
},
swipeGesture: {
type: Boolean,
default: undefined
}
}