From 196a22eb74067dcee911bd7931f760cf8be1de6e Mon Sep 17 00:00:00 2001 From: Liam DeBeasi Date: Tue, 28 Nov 2023 11:44:51 -0500 Subject: [PATCH 1/6] 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 --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 01912c4da1..09723e7262 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -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 From bd27846b28d909c580cf07933d9c880a37b1d0e6 Mon Sep 17 00:00:00 2001 From: Sean Perkins <13732623+sean-perkins@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:41:00 -0500 Subject: [PATCH 2/6] chore(playwright): resolve axe violations with setContent (#28592) Issue number: N/A --------- ## What is the current behavior? When using `.setContent`, the initial page template is lacking key metadata that will result in AXE violations. ## What is the new behavior? - Adds a default `lang` to the `html` document root - Adds a default `title` tag ## Does this introduce a breaking change? - [ ] Yes - [x] No ## Other information --- core/src/utils/test/playwright/page/utils/set-content.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/utils/test/playwright/page/utils/set-content.ts b/core/src/utils/test/playwright/page/utils/set-content.ts index 3087789cdf..16fd1cc3b3 100644 --- a/core/src/utils/test/playwright/page/utils/set-content.ts +++ b/core/src/utils/test/playwright/page/utils/set-content.ts @@ -32,8 +32,9 @@ export const setContent = async (page: Page, html: string, testInfo: TestInfo, o const output = ` - + + Ionic Playwright Test From 3a35fdd2f5dff7284bd6db1fcede494cea89ab8a Mon Sep 17 00:00:00 2001 From: ionitron Date: Wed, 29 Nov 2023 15:05:12 +0000 Subject: [PATCH 3/6] v7.5.7 --- CHANGELOG.md | 12 ++++++++++++ core/CHANGELOG.md | 12 ++++++++++++ core/package-lock.json | 4 ++-- core/package.json | 2 +- docs/CHANGELOG.md | 8 ++++++++ docs/package-lock.json | 4 ++-- docs/package.json | 2 +- lerna.json | 2 +- packages/angular-server/CHANGELOG.md | 8 ++++++++ packages/angular-server/package-lock.json | 6 +++--- packages/angular-server/package.json | 4 ++-- packages/angular/CHANGELOG.md | 8 ++++++++ packages/angular/package-lock.json | 6 +++--- packages/angular/package.json | 4 ++-- packages/react-router/CHANGELOG.md | 8 ++++++++ packages/react-router/package-lock.json | 6 +++--- packages/react-router/package.json | 4 ++-- packages/react/CHANGELOG.md | 8 ++++++++ packages/react/package-lock.json | 6 +++--- packages/react/package.json | 4 ++-- packages/vue-router/CHANGELOG.md | 8 ++++++++ packages/vue-router/package-lock.json | 6 +++--- packages/vue-router/package.json | 4 ++-- packages/vue/CHANGELOG.md | 8 ++++++++ packages/vue/package-lock.json | 6 +++--- packages/vue/package.json | 4 ++-- 26 files changed, 117 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e812f94e6..5031d391cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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) diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index 43aaeb2e54..fc2d3cbd3a 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -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) diff --git a/core/package-lock.json b/core/package-lock.json index 094268f95c..3706a97c00 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -1,12 +1,12 @@ { "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", diff --git a/core/package.json b/core/package.json index ce1b12b960..925ec866bc 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/core", - "version": "7.5.6", + "version": "7.5.7", "description": "Base components for Ionic", "keywords": [ "ionic", diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 8b9b133617..0b1d816b0c 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -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 diff --git a/docs/package-lock.json b/docs/package-lock.json index 169e595a19..294c541e40 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -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" } } diff --git a/docs/package.json b/docs/package.json index 5bd8bc0d47..eff3724c5d 100644 --- a/docs/package.json +++ b/docs/package.json @@ -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", diff --git a/lerna.json b/lerna.json index 629975cb64..d149811f56 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "docs", "packages/*" ], - "version": "7.5.6" + "version": "7.5.7" } diff --git a/packages/angular-server/CHANGELOG.md b/packages/angular-server/CHANGELOG.md index cf5e4fb788..5d84d466a5 100644 --- a/packages/angular-server/CHANGELOG.md +++ b/packages/angular-server/CHANGELOG.md @@ -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 diff --git a/packages/angular-server/package-lock.json b/packages/angular-server/package-lock.json index be5ca369a3..35b2458223 100644 --- a/packages/angular-server/package-lock.json +++ b/packages/angular-server/package-lock.json @@ -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", diff --git a/packages/angular-server/package.json b/packages/angular-server/package.json index 3001c8cfa9..34d7c32d1e 100644 --- a/packages/angular-server/package.json +++ b/packages/angular-server/package.json @@ -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" } } diff --git a/packages/angular/CHANGELOG.md b/packages/angular/CHANGELOG.md index 1e618e94f3..57815da0c4 100644 --- a/packages/angular/CHANGELOG.md +++ b/packages/angular/CHANGELOG.md @@ -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) diff --git a/packages/angular/package-lock.json b/packages/angular/package-lock.json index 4ffdf17a05..5ea2f3a3f9 100644 --- a/packages/angular/package-lock.json +++ b/packages/angular/package-lock.json @@ -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" diff --git a/packages/angular/package.json b/packages/angular/package.json index 03ee058d93..725ddfc4ec 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -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" diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index fcf1db7b53..fe034c99e6 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -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 diff --git a/packages/react-router/package-lock.json b/packages/react-router/package-lock.json index b765cee0d8..c6be4b46ec 100644 --- a/packages/react-router/package-lock.json +++ b/packages/react-router/package-lock.json @@ -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": { diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 70fca0fd05..51c0a3c0e6 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -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": { diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index c9bc2dafee..a2f1408480 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -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 diff --git a/packages/react/package-lock.json b/packages/react/package-lock.json index da8b31298b..bd23b8fbed 100644 --- a/packages/react/package-lock.json +++ b/packages/react/package-lock.json @@ -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": "*" }, diff --git a/packages/react/package.json b/packages/react/package.json index b3b7754bb1..fd42fef82b 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -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": "*" }, diff --git a/packages/vue-router/CHANGELOG.md b/packages/vue-router/CHANGELOG.md index 2cf718a83a..3e01c55ed1 100644 --- a/packages/vue-router/CHANGELOG.md +++ b/packages/vue-router/CHANGELOG.md @@ -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 diff --git a/packages/vue-router/package-lock.json b/packages/vue-router/package-lock.json index 1c99855237..8038dc08db 100644 --- a/packages/vue-router/package-lock.json +++ b/packages/vue-router/package-lock.json @@ -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", diff --git a/packages/vue-router/package.json b/packages/vue-router/package.json index f3d2b35e0e..3f52b89093 100644 --- a/packages/vue-router/package.json +++ b/packages/vue-router/package.json @@ -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", diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 68c5928ff3..d0449a3aa7 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -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 diff --git a/packages/vue/package-lock.json b/packages/vue/package-lock.json index a616c993f5..56f3e00605 100644 --- a/packages/vue/package-lock.json +++ b/packages/vue/package-lock.json @@ -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": { diff --git a/packages/vue/package.json b/packages/vue/package.json index f608a64b20..da1f74db9b 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -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": { From 2e1261a52cc3d7f1950a76f86012d46ecc8d05a1 Mon Sep 17 00:00:00 2001 From: ionitron Date: Wed, 29 Nov 2023 15:05:23 +0000 Subject: [PATCH 4/6] chore(): update package lock files --- packages/angular-server/package-lock.json | 12 +++---- packages/angular/package-lock.json | 12 +++---- packages/react-router/package-lock.json | 40 +++++++++++------------ packages/react/package-lock.json | 12 +++---- packages/vue-router/package-lock.json | 40 +++++++++++------------ packages/vue/package-lock.json | 12 +++---- 6 files changed, 64 insertions(+), 64 deletions(-) diff --git a/packages/angular-server/package-lock.json b/packages/angular-server/package-lock.json index 35b2458223..426f05801b 100644 --- a/packages/angular-server/package-lock.json +++ b/packages/angular-server/package-lock.json @@ -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", diff --git a/packages/angular/package-lock.json b/packages/angular/package-lock.json index 5ea2f3a3f9..3f7a1a6bf0 100644 --- a/packages/angular/package-lock.json +++ b/packages/angular/package-lock.json @@ -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", diff --git a/packages/react-router/package-lock.json b/packages/react-router/package-lock.json index c6be4b46ec..da355b49b1 100644 --- a/packages/react-router/package-lock.json +++ b/packages/react-router/package-lock.json @@ -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", diff --git a/packages/react/package-lock.json b/packages/react/package-lock.json index bd23b8fbed..50b1f979a6 100644 --- a/packages/react/package-lock.json +++ b/packages/react/package-lock.json @@ -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", diff --git a/packages/vue-router/package-lock.json b/packages/vue-router/package-lock.json index 8038dc08db..cbb2031687 100644 --- a/packages/vue-router/package-lock.json +++ b/packages/vue-router/package-lock.json @@ -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", diff --git a/packages/vue/package-lock.json b/packages/vue/package-lock.json index 56f3e00605..c294f13674 100644 --- a/packages/vue/package-lock.json +++ b/packages/vue/package-lock.json @@ -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", From 34417a583510009a6ff9749f65d717ea32db6ed8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Nov 2023 11:39:17 -0500 Subject: [PATCH 5/6] chore(deps): Bump @stencil/core from 4.7.2 to 4.8.0 in /core (#28586) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [@stencil/core](https://github.com/ionic-team/stencil) from 4.7.2 to 4.8.0.
Release notes

Sourced from @​stencil/core's releases.

🌞 v4.8.0 (2023-11-27)

Bug Fixes

  • hydrate: prevent dead code elimination of patch dom implementation (#4966) (5e36057)
  • mock-doc: add getAttributeNode to mock elements (#5070) (4e840e0)
  • mock-doc: add inert to HTMLAttributes (#5072) (71a4110), closes #5071
  • runtime: apply textnodes to shadow DOM instead of light DOM (#4946) (217d588)
  • test: pass jest args correctly for v28/29 (#5068) (5c4ac32)

Features

  • declarations: add popover attributes to JSX declarations (#5064) (f73aa14)
  • runtime: proxy form associated custom element lifecycle callbacks (#4939) (ca53dbb)

Thanks

🎉 Thanks @​HansClaasen for their contributions! 🎉

Changelog

Sourced from @​stencil/core's changelog.

🌞 4.8.0 (2023-11-27)

Bug Fixes

  • hydrate: prevent dead code elimination of patch dom implementation (#4966) (5e36057)
  • mock-doc: add getAttributeNode to mock elements (#5070) (4e840e0)
  • mock-doc: add inert to HTMLAttributes (#5072) (71a4110), closes #5071
  • runtime: apply textnodes to shadow DOM instead of light DOM (#4946) (217d588)
  • test: pass jest args correctly for v28/29 (#5068) (5c4ac32)

Features

  • declarations: add popover attributes to JSX declarations (#5064) (f73aa14)
  • runtime: proxy form associated custom element lifecycle callbacks (#4939) (ca53dbb)
Commits
  • cddcad8 v4.8.0 (#5103)
  • bcb17ac docs(runtime): add interface docs to HostRef (#4871)
  • edc9f38 chore(deps): update dependency npm to v10.2.4 (#5085)
  • 49c7607 chore(deps): update typescript-eslint to v6.11.0 (#5087)
  • 9c8790d test(vdom): adding tests for insertVdomAnnotations (#4867)
  • 13ec78e chore(deps): update dependency puppeteer to v21.5.2 (#5086)
  • 9a3e81c chore(deps): update dependency @​types/node to v20.9.1 (#5084)
  • 217d588 fix(runtime): apply textnodes to shadow DOM instead of light DOM (#4946)
  • ca53dbb feat(runtime): proxy form associated custom element lifecycle callbacks (#4939)
  • 7c86019 refactor(build): stop removing process.binding in compiler (#5078)
  • Additional commits viewable in compare view

[![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) ---
Dependabot commands and options
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 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)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- core/package-lock.json | 14 +++++++------- core/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/package-lock.json b/core/package-lock.json index 3706a97c00..08c47b5014 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -9,7 +9,7 @@ "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", diff --git a/core/package.json b/core/package.json index 925ec866bc..df64eb1499 100644 --- a/core/package.json +++ b/core/package.json @@ -31,7 +31,7 @@ "loader/" ], "dependencies": { - "@stencil/core": "^4.7.2", + "@stencil/core": "^4.8.0", "ionicons": "^7.2.1", "tslib": "^2.1.0" }, From 5c2a73b262b9549902db606490f125674f988569 Mon Sep 17 00:00:00 2001 From: Sean Perkins <13732623+sean-perkins@users.noreply.github.com> Date: Wed, 29 Nov 2023 15:48:16 -0500 Subject: [PATCH 6/6] chore(playwright): dark mode support (#28593) Issue number: N/A --------- ## What is the current behavior? 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? - 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 ## Other information --- core/scripts/testing/themes/dark.css | 151 ++++++++++++++++++ core/src/utils/test/playwright/generator.ts | 51 ++++-- .../test/playwright/page/utils/set-content.ts | 11 +- 3 files changed, 203 insertions(+), 10 deletions(-) create mode 100644 core/scripts/testing/themes/dark.css diff --git a/core/scripts/testing/themes/dark.css b/core/scripts/testing/themes/dark.css new file mode 100644 index 0000000000..e263803d56 --- /dev/null +++ b/core/scripts/testing/themes/dark.css @@ -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; +} diff --git a/core/src/utils/test/playwright/generator.ts b/core/src/utils/test/playwright/generator.ts index e2cdd940f9..41b2abc183 100644 --- a/core/src/utils/test/playwright/generator.ts +++ b/core/src/utils/test/playwright/generator.ts @@ -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, diff --git a/core/src/utils/test/playwright/page/utils/set-content.ts b/core/src/utils/test/playwright/page/utils/set-content.ts index 16fd1cc3b3..1f0e6b2a4a 100644 --- a/core/src/utils/test/playwright/page/utils/set-content.ts +++ b/core/src/utils/test/playwright/page/utils/set-content.ts @@ -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,13 +19,16 @@ 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; @@ -39,6 +42,7 @@ export const setContent = async (page: Page, html: string, testInfo: TestInfo, o + ${theme !== 'light' ? `` : ''}