diff --git a/.github/workflows/actions/build-vue/action.yml b/.github/workflows/actions/build-vue/action.yml index 5df2cc0f4c..5da64ef981 100644 --- a/.github/workflows/actions/build-vue/action.yml +++ b/.github/workflows/actions/build-vue/action.yml @@ -20,7 +20,7 @@ runs: path: ./core filename: CoreBuild.zip - name: Install Vue Dependencies - run: npm install + run: npm install --legacy-peer-deps shell: bash working-directory: ./packages/vue - name: Sync diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0bbe511c52..6aa1bcd8cb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,6 +26,7 @@ jobs: steps: - uses: actions/checkout@v2 with: + token: ${{ secrets.IONITRON_TOKEN }} fetch-depth: 0 - uses: actions/setup-node@v2 with: @@ -49,3 +50,15 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} shell: bash + # Lerna does not automatically bump versions + # of Ionic dependencies that have changed, + # so we do that here. + - name: Bump Package Lock + run: | + lerna exec "npm install --package-lock-only --legacy-peer-deps" + git config user.name ionitron + git config user.email hi@ionicframework.com + git add . + git commit -m "chore(): update package lock files" + git push + diff --git a/CHANGELOG.md b/CHANGELOG.md index d9465ef1b5..33f9f73c08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.4](https://github.com/ionic-team/ionic-framework/compare/v6.1.3...v6.1.4) (2022-05-04) + + +### Bug Fixes + +* **datetime:** arrow navigation respects min/max values ([#25182](https://github.com/ionic-team/ionic-framework/issues/25182)) ([6946e09](https://github.com/ionic-team/ionic-framework/commit/6946e09815da605e37ff8e4d613a14288ea35fb0)), closes [#25073](https://github.com/ionic-team/ionic-framework/issues/25073) +* **datetime:** hide footer when month-year picker is open ([#25205](https://github.com/ionic-team/ionic-framework/issues/25205)) ([aa5e1b9](https://github.com/ionic-team/ionic-framework/commit/aa5e1b962150b9ed9629812ec566873784526c83)) +* **modal:** card modal can now be swiped to close on the content ([#25185](https://github.com/ionic-team/ionic-framework/issues/25185)) ([7633ddb](https://github.com/ionic-team/ionic-framework/commit/7633ddbc845745dfe36b5c8025c54c22c083c2f4)), closes [#22046](https://github.com/ionic-team/ionic-framework/issues/22046) +* **modal:** card modal no longer dismisses from content with refresher ([#25227](https://github.com/ionic-team/ionic-framework/issues/25227)) ([c4f811f](https://github.com/ionic-team/ionic-framework/commit/c4f811f1dde0dcbcdaebaa3a4f5ef87e192b5cc5)) +* **react:** useIonModal/useIonPopover dismiss accepts data and role ([#25209](https://github.com/ionic-team/ionic-framework/issues/25209)) ([68b2f8b](https://github.com/ionic-team/ionic-framework/commit/68b2f8bfe10946580b996e48c4ec1e2df94b8d49)), closes [#25208](https://github.com/ionic-team/ionic-framework/issues/25208) +* **vue:** switching between tabs and going back resolves to correct route ([#25206](https://github.com/ionic-team/ionic-framework/issues/25206)) ([b4ba70e](https://github.com/ionic-team/ionic-framework/commit/b4ba70ea148d4f8fc7475d3de798b485238470c8)), closes [#24303](https://github.com/ionic-team/ionic-framework/issues/24303) + + + + + ## [6.1.3](https://github.com/ionic-team/ionic-framework/compare/v6.1.2...v6.1.3) (2022-04-27) diff --git a/angular/CHANGELOG.md b/angular/CHANGELOG.md index c51c1f0782..b5bc5c6cd7 100644 --- a/angular/CHANGELOG.md +++ b/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. +## [6.1.4](https://github.com/ionic-team/ionic/compare/v6.1.3...v6.1.4) (2022-05-04) + +**Note:** Version bump only for package @ionic/angular + + + + + ## [6.1.3](https://github.com/ionic-team/ionic/compare/v6.1.2...v6.1.3) (2022-04-27) diff --git a/angular/package-lock.json b/angular/package-lock.json index c81db3d3a5..c61b68718f 100644 --- a/angular/package-lock.json +++ b/angular/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/angular", - "version": "6.1.3", + "version": "6.1.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/angular", - "version": "6.1.3", + "version": "6.1.4", "license": "MIT", "dependencies": { - "@ionic/core": "^6.1.3", + "@ionic/core": "^6.1.4", "jsonc-parser": "^3.0.0", "tslib": "^2.0.0" }, @@ -540,6 +540,18 @@ "rxjs": "^6.5.3 || ^7.0.0" } }, + "node_modules/@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "dependencies": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + }, + "peerDependencies": { + "playwright": ">= 1.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.15.8", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", @@ -1023,10 +1035,11 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.3.tgz", - "integrity": "sha512-levKZw7wqfPZylx+DsG0sca7/ymKNo9/Hjf1qhXjU4xlALHVhU2c8LaAXmi1s47YGKrkOZYC5d/siUfjb9Kh4Q==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "dependencies": { + "@axe-core/playwright": "^4.4.2", "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" @@ -1255,7 +1268,7 @@ "version": "12.12.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.5.tgz", "integrity": "sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A==", - "dev": true + "devOptional": true }, "node_modules/@types/resolve": { "version": "1.17.1", @@ -1266,6 +1279,15 @@ "@types/node": "*" } }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "4.33.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", @@ -1504,6 +1526,17 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -1735,6 +1768,14 @@ "node": ">=0.10.0" } }, + "node_modules/axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==", + "engines": { + "node": ">=4" + } + }, "node_modules/axobject-query": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", @@ -1744,8 +1785,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-js": { "version": "1.5.1", @@ -1791,7 +1831,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1856,6 +1895,14 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "engines": { + "node": "*" + } + }, "node_modules/builtin-modules": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", @@ -2047,11 +2094,18 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/commander": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.2.0.tgz", - "integrity": "sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA==", - "dev": true, + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "engines": { "node": ">= 12" } @@ -2065,8 +2119,7 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/convert-source-map": { "version": "1.8.0", @@ -2308,10 +2361,9 @@ "dev": true }, "node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" }, @@ -2414,6 +2466,14 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -3048,6 +3108,25 @@ "node": ">=0.10.0" } }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3091,6 +3170,14 @@ "reusify": "^1.0.4" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -3206,8 +3293,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/fsevents": { "version": "2.3.2", @@ -3276,6 +3362,20 @@ "node": ">=4" } }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -3296,7 +3396,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3356,8 +3455,7 @@ "node_modules/graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "node_modules/has": { "version": "1.0.3", @@ -3416,6 +3514,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -3521,7 +3631,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3530,8 +3639,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/injection-js": { "version": "2.4.0", @@ -3576,6 +3684,11 @@ "npm": ">=6.0.0" } }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -3836,6 +3949,11 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "node_modules/jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -4190,7 +4308,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -4280,8 +4397,7 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/nanoid": { "version": "3.1.29", @@ -4505,7 +4621,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "dependencies": { "wrappy": "1" } @@ -4720,7 +4835,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4749,6 +4863,11 @@ "node": ">=8" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -4777,6 +4896,25 @@ "node": ">=6" } }, + "node_modules/pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "dependencies": { + "pngjs": "^4.0.1" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -4789,6 +4927,71 @@ "node": ">=8" } }, + "node_modules/playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "hasInstallScript": true, + "dependencies": { + "playwright-core": "1.21.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "dependencies": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "engines": { + "node": ">=12.13.0" + } + }, "node_modules/postcss": { "version": "8.3.9", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.9.tgz", @@ -6282,7 +6485,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -6293,6 +6495,21 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -6300,6 +6517,15 @@ "dev": true, "optional": true }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -6439,6 +6665,14 @@ "node": ">=8" } }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "engines": { + "node": ">= 4" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -6453,7 +6687,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -6606,8 +6839,7 @@ "node_modules/signal-exit": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", - "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", - "dev": true + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==" }, "node_modules/slash": { "version": "3.0.0", @@ -6668,6 +6900,41 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", @@ -6729,6 +6996,25 @@ "node": ">= 8" } }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -7205,8 +7491,27 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } }, "node_modules/xxhashjs": { "version": "0.2.2", @@ -7259,6 +7564,23 @@ "node": ">=10" } }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dependencies": { + "buffer-crc32": "~0.2.3" + } + }, "node_modules/zone.js": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", @@ -7579,6 +7901,15 @@ "tslib": "^2.2.0" } }, + "@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "requires": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + } + }, "@babel/code-frame": { "version": "7.15.8", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", @@ -7951,10 +8282,11 @@ "dev": true }, "@ionic/core": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.3.tgz", - "integrity": "sha512-levKZw7wqfPZylx+DsG0sca7/ymKNo9/Hjf1qhXjU4xlALHVhU2c8LaAXmi1s47YGKrkOZYC5d/siUfjb9Kh4Q==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "requires": { + "@axe-core/playwright": "^4.4.2", "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" @@ -8130,7 +8462,7 @@ "version": "12.12.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.5.tgz", "integrity": "sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A==", - "dev": true + "devOptional": true }, "@types/resolve": { "version": "1.17.1", @@ -8141,6 +8473,15 @@ "@types/node": "*" } }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@typescript-eslint/eslint-plugin": { "version": "4.33.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", @@ -8281,6 +8622,14 @@ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -8443,6 +8792,11 @@ } } }, + "axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==" + }, "axobject-query": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", @@ -8452,8 +8806,7 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base64-js": { "version": "1.5.1", @@ -8482,7 +8835,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -8520,6 +8872,11 @@ "ieee754": "^1.1.13" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, "builtin-modules": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", @@ -8666,11 +9023,15 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, "commander": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.2.0.tgz", - "integrity": "sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA==", - "dev": true + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" }, "commondir": { "version": "1.0.1", @@ -8681,8 +9042,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "convert-source-map": { "version": "1.8.0", @@ -8867,10 +9227,9 @@ "dev": true }, "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } @@ -8947,6 +9306,14 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -9435,6 +9802,17 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -9475,6 +9853,14 @@ "reusify": "^1.0.4" } }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -9565,8 +9951,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.3.2", @@ -9616,6 +10001,14 @@ "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, "get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -9630,7 +10023,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -9672,8 +10064,7 @@ "graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", - "dev": true + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "has": { "version": "1.0.3", @@ -9711,6 +10102,15 @@ "has-symbols": "^1.0.2" } }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -9778,7 +10178,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -9787,8 +10186,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "injection-js": { "version": "2.4.0", @@ -9825,6 +10223,11 @@ } } }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -10001,6 +10404,11 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -10269,7 +10677,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -10335,8 +10742,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "nanoid": { "version": "3.1.29", @@ -10503,7 +10909,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -10656,8 +11061,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-key": { "version": "3.1.1", @@ -10677,6 +11081,11 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -10696,6 +11105,21 @@ "dev": true, "optional": true }, + "pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "requires": { + "pngjs": "^4.0.1" + }, + "dependencies": { + "pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==" + } + } + }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -10705,6 +11129,51 @@ "find-up": "^4.0.0" } }, + "playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "requires": { + "playwright-core": "1.21.1" + } + }, + "playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "requires": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "dependencies": { + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" + } + } + }, + "pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==" + }, "postcss": { "version": "8.3.9", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.9.tgz", @@ -11849,8 +12318,7 @@ "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "promise-inflight": { "version": "1.0.1", @@ -11858,6 +12326,21 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, + "proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "requires": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -11865,6 +12348,15 @@ "dev": true, "optional": true }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -11959,6 +12451,11 @@ "signal-exit": "^3.0.2" } }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -11969,7 +12466,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -12074,8 +12570,7 @@ "signal-exit": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", - "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", - "dev": true + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==" }, "slash": { "version": "3.0.0", @@ -12120,6 +12615,30 @@ } } }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + } + }, "source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", @@ -12172,6 +12691,21 @@ "minipass": "^3.1.1" } }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -12539,8 +13073,12 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==" }, "xxhashjs": { "version": "0.2.2", @@ -12584,6 +13122,23 @@ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "requires": { + "buffer-crc32": "~0.2.3" + } + }, "zone.js": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", diff --git a/angular/package.json b/angular/package.json index cd761aa6d9..932b634bfb 100644 --- a/angular/package.json +++ b/angular/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/angular", - "version": "6.1.3", + "version": "6.1.4", "description": "Angular specific wrappers for @ionic/core", "keywords": [ "ionic", @@ -44,7 +44,7 @@ "validate": "npm i && npm run lint && npm run test && npm run build" }, "dependencies": { - "@ionic/core": "^6.1.3", + "@ionic/core": "^6.1.4", "jsonc-parser": "^3.0.0", "tslib": "^2.0.0" }, diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index 6a877bdf8b..ff9535ff92 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -3,6 +3,20 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.4](https://github.com/ionic-team/ionic/compare/v6.1.3...v6.1.4) (2022-05-04) + + +### Bug Fixes + +* **datetime:** arrow navigation respects min/max values ([#25182](https://github.com/ionic-team/ionic/issues/25182)) ([6946e09](https://github.com/ionic-team/ionic/commit/6946e09815da605e37ff8e4d613a14288ea35fb0)), closes [#25073](https://github.com/ionic-team/ionic/issues/25073) +* **datetime:** hide footer when month-year picker is open ([#25205](https://github.com/ionic-team/ionic/issues/25205)) ([aa5e1b9](https://github.com/ionic-team/ionic/commit/aa5e1b962150b9ed9629812ec566873784526c83)) +* **modal:** card modal can now be swiped to close on the content ([#25185](https://github.com/ionic-team/ionic/issues/25185)) ([7633ddb](https://github.com/ionic-team/ionic/commit/7633ddbc845745dfe36b5c8025c54c22c083c2f4)), closes [#22046](https://github.com/ionic-team/ionic/issues/22046) +* **modal:** card modal no longer dismisses from content with refresher ([#25227](https://github.com/ionic-team/ionic/issues/25227)) ([c4f811f](https://github.com/ionic-team/ionic/commit/c4f811f1dde0dcbcdaebaa3a4f5ef87e192b5cc5)) + + + + + ## [6.1.3](https://github.com/ionic-team/ionic/compare/v6.1.2...v6.1.3) (2022-04-27) diff --git a/core/package-lock.json b/core/package-lock.json index 796a1d2092..65bcf45243 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -1,14 +1,15 @@ { "name": "@ionic/core", - "version": "6.1.3", + "version": "6.1.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/core", - "version": "6.0.15", + "version": "6.1.4", "license": "MIT", "dependencies": { + "@axe-core/playwright": "^4.4.2", "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" @@ -52,6 +53,18 @@ "typescript": "^4.0.5" } }, + "node_modules/@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "dependencies": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + }, + "peerDependencies": { + "playwright": ">= 1.0.0" + } + }, "node_modules/@axe-core/puppeteer": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/@axe-core/puppeteer/-/puppeteer-4.3.2.tgz", @@ -2750,7 +2763,7 @@ "version": "14.14.22", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", - "dev": true + "devOptional": true }, "node_modules/@types/normalize-package-data": { "version": "2.4.0", @@ -2825,7 +2838,6 @@ "version": "2.9.1", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", - "dev": true, "optional": true, "dependencies": { "@types/node": "*" @@ -3484,7 +3496,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "dependencies": { "debug": "4" }, @@ -3496,7 +3507,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -3957,10 +3967,9 @@ "dev": true }, "node_modules/axe-core": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz", - "integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==", - "dev": true, + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==", "engines": { "node": ">=4" } @@ -4003,8 +4012,7 @@ "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "node_modules/base": { "version": "0.11.2", @@ -4235,7 +4243,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4312,7 +4319,6 @@ "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true, "engines": { "node": "*" } @@ -5159,7 +5165,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, "engines": { "node": ">=0.1.90" } @@ -5221,8 +5226,7 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/configstore": { "version": "5.0.1", @@ -5806,7 +5810,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "dependencies": { "once": "^1.4.0" } @@ -6965,7 +6968,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -6985,7 +6987,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -7001,8 +7002,7 @@ "node_modules/extract-zip/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/extsprintf": { "version": "1.3.0", @@ -7090,7 +7090,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, "dependencies": { "pend": "~1.2.0" } @@ -7243,8 +7242,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/fsevents": { "version": "2.1.3", @@ -7330,7 +7328,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, "dependencies": { "pump": "^3.0.0" }, @@ -7385,7 +7382,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7562,8 +7558,7 @@ "node_modules/graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, "node_modules/growly": { "version": "1.3.0", @@ -7832,7 +7827,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -7845,7 +7839,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -7969,7 +7962,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -7978,8 +7970,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.5", @@ -8294,8 +8285,7 @@ "node_modules/ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, "node_modules/ip-regex": { "version": "2.1.0", @@ -10996,8 +10986,7 @@ "node_modules/jpeg-js": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", - "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==", - "dev": true + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" }, "node_modules/js-tokens": { "version": "4.0.0", @@ -12021,7 +12010,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true, "bin": { "mime": "cli.js" }, @@ -12084,7 +12072,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -12140,8 +12127,7 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/mute-stream": { "version": "0.0.8", @@ -12756,7 +12742,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "dependencies": { "wrappy": "1" } @@ -13244,7 +13229,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -13288,8 +13272,7 @@ "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" }, "node_modules/performance-now": { "version": "2.1.0", @@ -13378,6 +13361,21 @@ "node": ">=8" } }, + "node_modules/playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "hasInstallScript": true, + "dependencies": { + "playwright-core": "1.21.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/playwright-core": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.20.1.tgz", @@ -13496,6 +13494,116 @@ } } }, + "node_modules/playwright/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/playwright/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/playwright/node_modules/pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "dependencies": { + "pngjs": "^4.0.1" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/playwright/node_modules/pixelmatch/node_modules/pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/playwright/node_modules/playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "dependencies": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright/node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/playwright/node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/playwright/node_modules/ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/pngjs": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", @@ -13877,7 +13985,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", - "dev": true, "dependencies": { "graceful-fs": "^4.2.4", "retry": "^0.12.0", @@ -13887,8 +13994,7 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "node_modules/psl": { "version": "1.8.0", @@ -13900,7 +14006,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -14431,7 +14536,6 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true, "engines": { "node": ">= 4" } @@ -14450,7 +14554,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -15228,8 +15331,7 @@ "node_modules/signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "node_modules/sisteransi": { "version": "1.0.5", @@ -15259,7 +15361,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" @@ -15478,7 +15579,6 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", - "dev": true, "dependencies": { "ip": "^1.1.5", "smart-buffer": "^4.2.0" @@ -15492,7 +15592,6 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", - "dev": true, "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.1", @@ -15506,7 +15605,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -15665,7 +15763,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -15677,7 +15774,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, "engines": { "node": ">=8" } @@ -17479,8 +17575,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/write-file-atomic": { "version": "3.0.3", @@ -17615,7 +17710,6 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -17625,7 +17719,6 @@ "version": "2.5.1", "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", - "dev": true, "dependencies": { "buffer-crc32": "~0.2.3" } @@ -17642,6 +17735,15 @@ } }, "dependencies": { + "@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "requires": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + } + }, "@axe-core/puppeteer": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/@axe-core/puppeteer/-/puppeteer-4.3.2.tgz", @@ -19643,7 +19745,7 @@ "version": "14.14.22", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", - "dev": true + "devOptional": true }, "@types/normalize-package-data": { "version": "2.4.0", @@ -19718,7 +19820,6 @@ "version": "2.9.1", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", - "dev": true, "optional": true, "requires": { "@types/node": "*" @@ -20133,7 +20234,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "requires": { "debug": "4" }, @@ -20142,7 +20242,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -20464,10 +20563,9 @@ "dev": true }, "axe-core": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz", - "integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==", - "dev": true + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==" }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", @@ -20500,8 +20598,7 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base": { "version": "0.11.2", @@ -20679,7 +20776,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -20736,8 +20832,7 @@ "buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" }, "buffer-from": { "version": "1.1.1", @@ -21390,8 +21485,7 @@ "colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" }, "combined-stream": { "version": "1.0.8", @@ -21441,8 +21535,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "configstore": { "version": "5.0.1", @@ -21919,7 +22012,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "requires": { "once": "^1.4.0" } @@ -22798,7 +22890,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, "requires": { "@types/yauzl": "^2.9.1", "debug": "^4.1.1", @@ -22810,7 +22901,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -22818,8 +22908,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -22905,7 +22994,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, "requires": { "pend": "~1.2.0" } @@ -23024,8 +23112,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.1.3", @@ -23085,7 +23172,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, "requires": { "pump": "^3.0.0" } @@ -23125,7 +23211,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -23260,8 +23345,7 @@ "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, "growly": { "version": "1.3.0", @@ -23471,7 +23555,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, "requires": { "agent-base": "6", "debug": "4" @@ -23481,7 +23564,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -23571,7 +23653,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -23580,8 +23661,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.5", @@ -23829,8 +23909,7 @@ "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, "ip-regex": { "version": "2.1.0", @@ -25837,8 +25916,7 @@ "jpeg-js": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", - "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==", - "dev": true + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" }, "js-tokens": { "version": "4.0.0", @@ -26630,8 +26708,7 @@ "mime": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" }, "mime-db": { "version": "1.44.0", @@ -26670,7 +26747,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -26714,8 +26790,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "mute-stream": { "version": "0.0.8", @@ -27195,7 +27270,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -27557,8 +27631,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -27593,8 +27666,7 @@ "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" }, "performance-now": { "version": "2.1.0", @@ -27659,6 +27731,84 @@ "find-up": "^4.0.0" } }, + "playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "requires": { + "playwright-core": "1.21.1" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, + "pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "requires": { + "pngjs": "^4.0.1" + }, + "dependencies": { + "pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==" + } + } + }, + "playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "requires": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + } + }, + "pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==" + } + } + }, "playwright-core": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.20.1.tgz", @@ -28026,7 +28176,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", - "dev": true, "requires": { "graceful-fs": "^4.2.4", "retry": "^0.12.0", @@ -28036,8 +28185,7 @@ "proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "psl": { "version": "1.8.0", @@ -28049,7 +28197,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -28450,8 +28597,7 @@ "retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" }, "reusify": { "version": "1.0.4", @@ -28463,7 +28609,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -29061,8 +29206,7 @@ "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "sisteransi": { "version": "1.0.5", @@ -29085,8 +29229,7 @@ "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" }, "snapdragon": { "version": "0.8.2", @@ -29266,7 +29409,6 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", - "dev": true, "requires": { "ip": "^1.1.5", "smart-buffer": "^4.2.0" @@ -29276,7 +29418,6 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", - "dev": true, "requires": { "agent-base": "^6.0.2", "debug": "^4.3.1", @@ -29287,7 +29428,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -29418,7 +29558,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, "requires": { "escape-string-regexp": "^2.0.0" }, @@ -29426,8 +29565,7 @@ "escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" } } }, @@ -30827,8 +30965,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write-file-atomic": { "version": "3.0.3", @@ -30933,7 +31070,6 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, "requires": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -30943,7 +31079,6 @@ "version": "2.5.1", "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", - "dev": true, "requires": { "buffer-crc32": "~0.2.3" } diff --git a/core/package.json b/core/package.json index 4215a1df8d..1a604e13f6 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/core", - "version": "6.1.3", + "version": "6.1.4", "description": "Base components for Ionic", "keywords": [ "ionic", @@ -31,6 +31,7 @@ "loader/" ], "dependencies": { + "@axe-core/playwright": "^4.4.2", "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" diff --git a/core/playwright.config.ts b/core/playwright.config.ts index 9dbaf4bc14..6fe83347ff 100644 --- a/core/playwright.config.ts +++ b/core/playwright.config.ts @@ -1,24 +1,33 @@ import type { PlaywrightTestConfig } from '@playwright/test'; -import { devices } from '@playwright/test'; +import { devices, expect } from '@playwright/test'; + +import { matchers } from './src/utils/test/playwright'; + +expect.extend(matchers); const projects = [ { - name: 'chromium', - + /** + * This is really just desktop Firefox + * but with a mobile viewport. + */ + name: 'Mobile Firefox', use: { - ...devices['Desktop Chrome'], - }, - }, - { - name: 'firefox', - use: { - ...devices['Desktop Firefox'], - }, - }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'], + browserName: 'firefox', + /** + * This is the Pixel 5 configuration. + * We can't use devices['Pixel 5'] + * because the "isMobile" option is + * not supported on Firefox. + */ + viewport: { + width: 393, + height: 727 + }, + screen: { + width: 393, + height: 851 + } }, }, { diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..5e78af5f87 Binary files /dev/null and b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-chromium-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-chromium-linux.png deleted file mode 100644 index a5c06d4be2..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-firefox-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-firefox-linux.png deleted file mode 100644 index a3e41b89db..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-webkit-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-webkit-linux.png deleted file mode 100644 index eb97452ee3..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..811801e993 Binary files /dev/null and b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-chromium-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-chromium-linux.png deleted file mode 100644 index ceab254702..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-firefox-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-firefox-linux.png deleted file mode 100644 index ae6a901cdd..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-webkit-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-webkit-linux.png deleted file mode 100644 index a19f339dbd..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..5c80642a7f Binary files /dev/null and b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-chromium-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-chromium-linux.png deleted file mode 100644 index beb60b6ef0..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-firefox-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-firefox-linux.png deleted file mode 100644 index f6071fdc95..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-webkit-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-webkit-linux.png deleted file mode 100644 index fa889b1e82..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..52deac1ece Binary files /dev/null and b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-chromium-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-chromium-linux.png deleted file mode 100644 index 6c82d16c0e..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-firefox-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-firefox-linux.png deleted file mode 100644 index 768e901b18..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-webkit-linux.png b/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-webkit-linux.png deleted file mode 100644 index c3d2dff339..0000000000 Binary files a/core/src/components/button/test/basic/button.e2e.ts-snapshots/button-diff-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/datetime.scss b/core/src/components/datetime/datetime.scss index b03b0c01d9..d8cc538250 100644 --- a/core/src/components/datetime/datetime.scss +++ b/core/src/components/datetime/datetime.scss @@ -153,6 +153,10 @@ } } +:host(.month-year-picker-open) .datetime-footer { + display: none; +} + :host(.datetime-readonly), :host(.datetime-disabled) { pointer-events: none; diff --git a/core/src/components/datetime/datetime.tsx b/core/src/components/datetime/datetime.tsx index d5143aea79..6d2f4f3239 100644 --- a/core/src/components/datetime/datetime.tsx +++ b/core/src/components/datetime/datetime.tsx @@ -1763,6 +1763,7 @@ export class Datetime implements ComponentInterface { const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year'; const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation; + const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation; renderHiddenInput(true, el, name, value, disabled); @@ -1778,6 +1779,7 @@ export class Datetime implements ComponentInterface { ['datetime-readonly']: readonly, ['datetime-disabled']: disabled, 'show-month-and-year': shouldShowMonthAndYear, + 'month-year-picker-open': monthYearPickerOpen, [`datetime-presentation-${presentation}`]: true, [`datetime-size-${size}`]: true, }), diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts b/core/src/components/datetime/test/basic/datetime.e2e.ts index 8b2e5efe45..9459ae7cac 100644 --- a/core/src/components/datetime/test/basic/datetime.e2e.ts +++ b/core/src/components/datetime/test/basic/datetime.e2e.ts @@ -6,6 +6,7 @@ test.describe('datetime: selecting a day', () => { const testHighlight = async (page: E2EPage, datetimeID: string) => { const today = new Date(); await page.goto('/src/components/datetime/test/basic'); + await page.setIonViewport(); const todayBtn = page.locator( `#${datetimeID} .calendar-day[data-day='${today.getDate()}'][data-month='${today.getMonth() + 1}']` diff --git a/core/src/components/datetime/test/minmax/datetime.e2e.ts b/core/src/components/datetime/test/minmax/datetime.e2e.ts new file mode 100644 index 0000000000..2b66f462c1 --- /dev/null +++ b/core/src/components/datetime/test/minmax/datetime.e2e.ts @@ -0,0 +1,50 @@ +import { expect } from '@playwright/test'; +import { test } from '@utils/test/playwright'; + +test.describe('datetime: minmax', () => { + test('calendar arrow navigation should respect min/max values', async ({ page }) => { + test.info().annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/25073', + }); + + await page.setContent(` + + + + `); + + await page.waitForSelector('.datetime-ready'); + + const prevButton = page.locator('ion-datetime .calendar-next-prev ion-button:nth-child(1)'); + const nextButton = page.locator('ion-datetime .calendar-next-prev ion-button:nth-child(2)'); + + expect(nextButton).toBeEnabled(); + expect(prevButton).toBeDisabled(); + + await page.evaluate('initDatetimeChangeEvent()'); + + const monthDidChangeSpy = await page.spyOnEvent('datetimeMonthDidChange'); + + await nextButton.click(); + await page.waitForChanges(); + + await monthDidChangeSpy.next(); + + expect(nextButton).toBeDisabled(); + expect(prevButton).toBeEnabled(); + }); +}); diff --git a/core/src/components/datetime/test/month-year-picker/datetime.e2e.ts b/core/src/components/datetime/test/month-year-picker/datetime.e2e.ts new file mode 100644 index 0000000000..942034b747 --- /dev/null +++ b/core/src/components/datetime/test/month-year-picker/datetime.e2e.ts @@ -0,0 +1,23 @@ +import { expect } from '@playwright/test'; +import { test } from '@utils/test/playwright'; + +test.describe('datetime: month-year picker', () => { + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/datetime/test/month-year-picker'); + }); + + test('should hide the footer when picker is open', async ({ page }) => { + const datetimeFooter = page.locator('#date-time .datetime-footer'); + expect(datetimeFooter).toBeVisible(); + + const pickerButton = page.locator('#date-time .calendar-month-year > ion-item'); + await pickerButton.click(); + await page.waitForChanges(); + expect(datetimeFooter).not.toBeVisible(); + }); + + test('should not hide the footer on month-year presentation', async ({ page }) => { + const monthyearFooter = page.locator('#month-year .datetime-footer'); + expect(monthyearFooter).toBeVisible(); + }); +}); diff --git a/core/src/components/datetime/test/month-year-picker/index.html b/core/src/components/datetime/test/month-year-picker/index.html new file mode 100644 index 0000000000..7af3b395bd --- /dev/null +++ b/core/src/components/datetime/test/month-year-picker/index.html @@ -0,0 +1,62 @@ + + + + + Datetime - Month-Year Picker + + + + + + + + + + + + + Datetime - Month-Year Picker + + + +
+
+

Default Presentation

+ +
+
+

Month-Year Presentation

+ +
+
+
+
+ + diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..ba7ebc88b8 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-chromium-linux.png deleted file mode 100644 index c9f2e7b2f2..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-firefox-linux.png deleted file mode 100644 index 2bea18dc17..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-webkit-linux.png deleted file mode 100644 index 83c2f6ff86..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..590c3ccbb0 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-chromium-linux.png deleted file mode 100644 index 6b3bd3f362..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-firefox-linux.png deleted file mode 100644 index 7ca78d161e..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-webkit-linux.png deleted file mode 100644 index 3e6e1c42ef..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..974dc43dc5 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-chromium-linux.png deleted file mode 100644 index fe278c6e0f..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-firefox-linux.png deleted file mode 100644 index 1e1890faa0..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-webkit-linux.png deleted file mode 100644 index 694ee855af..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..2ae8c0708f Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-chromium-linux.png deleted file mode 100644 index fc687d8b8b..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-firefox-linux.png deleted file mode 100644 index 92b2d9502c..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-webkit-linux.png deleted file mode 100644 index 93ffe1d325..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..500a521303 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-chromium-linux.png deleted file mode 100644 index 8bb84e6636..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-firefox-linux.png deleted file mode 100644 index dce0e44438..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-webkit-linux.png deleted file mode 100644 index d341b579f9..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..a4521d270a Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-chromium-linux.png deleted file mode 100644 index a80867db63..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-firefox-linux.png deleted file mode 100644 index 2e5e6d9564..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-webkit-linux.png deleted file mode 100644 index d5855e2459..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..d91dea728f Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-chromium-linux.png deleted file mode 100644 index 97cf092736..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-firefox-linux.png deleted file mode 100644 index 44423f4b06..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-webkit-linux.png deleted file mode 100644 index 298f488450..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..b1ee4f846c Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-chromium-linux.png deleted file mode 100644 index d75548ea7d..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-firefox-linux.png deleted file mode 100644 index fde72affb7..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-webkit-linux.png deleted file mode 100644 index 31b685e527..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..cdf550cd97 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-chromium-linux.png deleted file mode 100644 index 0cde0c40ec..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-firefox-linux.png deleted file mode 100644 index 915a6c48fb..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-webkit-linux.png deleted file mode 100644 index 0052c7d955..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..81095d55b5 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-chromium-linux.png deleted file mode 100644 index 2c8c9d847c..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-firefox-linux.png deleted file mode 100644 index eccf74104d..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-webkit-linux.png deleted file mode 100644 index b80527e680..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..9575916062 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-chromium-linux.png deleted file mode 100644 index 415d5ed807..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-firefox-linux.png deleted file mode 100644 index eb8d76c511..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-webkit-linux.png deleted file mode 100644 index 299003433f..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..2bd44791d7 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-chromium-linux.png deleted file mode 100644 index 56823ec66a..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-firefox-linux.png deleted file mode 100644 index 4381116d22..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-webkit-linux.png deleted file mode 100644 index 57850a445d..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..0292a79fa3 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-chromium-linux.png deleted file mode 100644 index 21c0c04b59..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-firefox-linux.png deleted file mode 100644 index c7f474f911..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-webkit-linux.png deleted file mode 100644 index 29e3e78932..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..4d3005de60 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-chromium-linux.png deleted file mode 100644 index fd96ee7ad0..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-firefox-linux.png deleted file mode 100644 index ee78895125..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-webkit-linux.png deleted file mode 100644 index 83d9ace509..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..6b912d5cfd Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-chromium-linux.png deleted file mode 100644 index eff01b2eb1..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-firefox-linux.png deleted file mode 100644 index 06454c98bd..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-webkit-linux.png deleted file mode 100644 index 2b93778f14..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..130ffb27fc Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-chromium-linux.png deleted file mode 100644 index 5837379165..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-firefox-linux.png deleted file mode 100644 index 5a6eeae1dc..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-webkit-linux.png deleted file mode 100644 index cb6832e4ef..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..b1b3b2f388 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-chromium-linux.png deleted file mode 100644 index ea00599517..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-firefox-linux.png deleted file mode 100644 index 7e66961ffd..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-webkit-linux.png deleted file mode 100644 index e889c1b560..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..57c7fe41b6 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-chromium-linux.png deleted file mode 100644 index d801f7e431..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-firefox-linux.png deleted file mode 100644 index 3652d6b666..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-webkit-linux.png deleted file mode 100644 index 8699a549a1..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..67e8f612be Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-chromium-linux.png deleted file mode 100644 index 205051b2af..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-firefox-linux.png deleted file mode 100644 index a395dc15ef..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-webkit-linux.png deleted file mode 100644 index 5f3382ba32..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..ab73b5e115 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-chromium-linux.png deleted file mode 100644 index 11e928ca48..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-firefox-linux.png deleted file mode 100644 index a6ce5a218a..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-webkit-linux.png deleted file mode 100644 index ce9b6ac61f..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..23ff18f10b Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-chromium-linux.png deleted file mode 100644 index 78529de553..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-firefox-linux.png deleted file mode 100644 index e4e3853998..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-webkit-linux.png deleted file mode 100644 index dccd01ab13..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..b6bdf99c32 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-chromium-linux.png deleted file mode 100644 index d13f02e062..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-firefox-linux.png deleted file mode 100644 index 3c86f9e148..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-webkit-linux.png deleted file mode 100644 index 03eea96d57..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..2faed17361 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-chromium-linux.png deleted file mode 100644 index 4138c15405..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-firefox-linux.png deleted file mode 100644 index b4584ddccb..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-webkit-linux.png deleted file mode 100644 index 0362eb6bcf..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..71500a1082 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-chromium-linux.png deleted file mode 100644 index f32f32448a..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-firefox-linux.png deleted file mode 100644 index 2b8abdc2a5..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-webkit-linux.png deleted file mode 100644 index 9797994dbb..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..2a2d6a61b0 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-chromium-linux.png deleted file mode 100644 index c4ad12e1cc..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-firefox-linux.png deleted file mode 100644 index bd05494473..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-webkit-linux.png deleted file mode 100644 index 34188b821e..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..ddedecafac Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-chromium-linux.png deleted file mode 100644 index 744b035db2..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-firefox-linux.png deleted file mode 100644 index 0d889cd10b..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-webkit-linux.png deleted file mode 100644 index 7984fca0c1..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..d4a4809065 Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-chromium-linux.png deleted file mode 100644 index 6fce599210..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-firefox-linux.png deleted file mode 100644 index 8ea1b6949b..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-webkit-linux.png deleted file mode 100644 index a67aba9908..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..6ebda839db Binary files /dev/null and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-chromium-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-chromium-linux.png deleted file mode 100644 index 458db44df7..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-firefox-linux.png deleted file mode 100644 index 58006c9de0..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-webkit-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-webkit-linux.png deleted file mode 100644 index 2e6cdc1fed..0000000000 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/datetime/utils/comparison.ts b/core/src/components/datetime/utils/comparison.ts index 22a6fff16f..2e64fb5776 100644 --- a/core/src/components/datetime/utils/comparison.ts +++ b/core/src/components/datetime/utils/comparison.ts @@ -18,7 +18,8 @@ export const isBefore = (baseParts: DatetimeParts, compareParts: DatetimeParts) (baseParts.year === compareParts.year && baseParts.month < compareParts.month) || (baseParts.year === compareParts.year && baseParts.month === compareParts.month && - baseParts.day! < compareParts.day!) + baseParts.day && + baseParts.day < compareParts.day!) ); }; @@ -31,6 +32,7 @@ export const isAfter = (baseParts: DatetimeParts, compareParts: DatetimeParts) = (baseParts.year === compareParts.year && baseParts.month > compareParts.month) || (baseParts.year === compareParts.year && baseParts.month === compareParts.month && - baseParts.day! > compareParts.day!) + baseParts.day && + baseParts.day > compareParts.day!) ); }; diff --git a/core/src/components/datetime/utils/state.ts b/core/src/components/datetime/utils/state.ts index 4519f6aaa7..238f4000d1 100644 --- a/core/src/components/datetime/utils/state.ts +++ b/core/src/components/datetime/utils/state.ts @@ -140,7 +140,10 @@ export const isMonthDisabled = ( * previous navigation button is disabled. */ export const isPrevMonthDisabled = (refParts: DatetimeParts, minParts?: DatetimeParts, maxParts?: DatetimeParts) => { - const prevMonth = getPreviousMonth(refParts); + const prevMonth = { + ...getPreviousMonth(refParts), + day: null, + }; return isMonthDisabled(prevMonth, { minParts, maxParts, @@ -152,7 +155,10 @@ export const isPrevMonthDisabled = (refParts: DatetimeParts, minParts?: Datetime * determine if the next navigation button is disabled. */ export const isNextMonthDisabled = (refParts: DatetimeParts, maxParts?: DatetimeParts) => { - const nextMonth = getNextMonth(refParts); + const nextMonth = { + ...getNextMonth(refParts), + day: null, + }; return isMonthDisabled(nextMonth, { maxParts, }); diff --git a/core/src/components/modal/gestures/swipe-to-close.ts b/core/src/components/modal/gestures/swipe-to-close.ts index 9acc5d5169..375d53565e 100644 --- a/core/src/components/modal/gestures/swipe-to-close.ts +++ b/core/src/components/modal/gestures/swipe-to-close.ts @@ -1,5 +1,6 @@ import type { Animation } from '../../../interface'; import { getTimeGivenProgression } from '../../../utils/animation/cubic-bezier'; +import { isIonContent } from '../../../utils/content'; import type { GestureDetail } from '../../../utils/gesture'; import { createGesture } from '../../../utils/gesture'; import { clamp } from '../../../utils/helpers'; @@ -11,11 +12,47 @@ export const SwipeToCloseDefaults = { MIN_PRESENTING_SCALE: 0.93, }; -export const createSwipeToCloseGesture = (el: HTMLIonModalElement, animation: Animation, onDismiss: () => void) => { +export const createSwipeToCloseGesture = ( + el: HTMLIonModalElement, + contentEl: HTMLElement, + scrollEl: HTMLElement, + animation: Animation, + onDismiss: () => void +) => { const height = el.offsetHeight; let isOpen = false; let canDismissBlocksGesture = false; const canDismissMaxStep = 0.2; + const hasRefresherInContent = !!contentEl.querySelector('ion-refresher'); + const getScrollY = () => { + if (isIonContent(contentEl)) { + return (contentEl as HTMLIonContentElement).scrollY; + /** + * Custom scroll containers are intended to be + * used with virtual scrolling, so we assume + * there is scrolling in this case. + */ + } else { + return true; + } + }; + const initialScrollY = getScrollY(); + + const disableContentScroll = () => { + if (isIonContent(contentEl)) { + (contentEl as HTMLIonContentElement).scrollY = false; + } else { + contentEl.style.setProperty('overflow', 'hidden'); + } + }; + + const resetContentScroll = () => { + if (isIonContent(contentEl)) { + (contentEl as HTMLIonContentElement).scrollY = initialScrollY; + } else { + contentEl.style.removeProperty('overflow'); + } + }; const canStart = (detail: GestureDetail) => { const target = detail.event.target as HTMLElement | null; @@ -24,17 +61,41 @@ export const createSwipeToCloseGesture = (el: HTMLIonModalElement, animation: An return true; } - const contentOrFooter = target.closest('ion-content, ion-footer'); - if (contentOrFooter === null) { + /** + * If we are swiping on the content, + * swiping should only be possible if + * the content is scrolled all the way + * to the top so that we do not interfere + * with scrolling. + */ + const content = target.closest('ion-content'); + if (content) { + /** + * The card should never swipe to close + * on the content with a refresher. + * Note: We cannot solve this by making the + * swipeToClose gesture have a higher priority + * than the refresher gesture as the iOS native + * refresh gesture uses a scroll listener in + * addition to a gesture. + */ + return !hasRefresherInContent && scrollEl.scrollTop === 0; + } + + /** + * Card should be swipeable on all + * parts of the modal except for the footer. + */ + const footer = target.closest('ion-footer'); + if (footer === null) { return true; } - // Target is in the content or the footer so do not start the gesture. - // We could be more nuanced here and allow it for content that - // does not need to scroll. + return false; }; - const onStart = () => { + const onStart = (detail: GestureDetail) => { + const { deltaY } = detail; /** * If canDismiss is anything other than `true` * then users should be able to swipe down @@ -43,11 +104,46 @@ export const createSwipeToCloseGesture = (el: HTMLIonModalElement, animation: An * TODO (FW-937) * Remove undefined check */ + canDismissBlocksGesture = el.canDismiss !== undefined && el.canDismiss !== true; + + /** + * If we are pulling down, then + * it is possible we are pulling on the + * content. We do not want scrolling to + * happen at the same time as the gesture. + */ + if (deltaY > 0) { + disableContentScroll(); + } + animation.progressStart(true, isOpen ? 1 : 0); }; const onMove = (detail: GestureDetail) => { + const { deltaY } = detail; + + /** + * If we are pulling down, then + * it is possible we are pulling on the + * content. We do not want scrolling to + * happen at the same time as the gesture. + */ + if (deltaY > 0) { + disableContentScroll(); + } + + /** + * If we are swiping on the content + * then the swipe gesture should only + * happen if we are pulling down. + * + * However, if we pull up and + * then down such that the scroll position + * returns to 0, we should be able to swipe + * the card. + */ + const step = detail.deltaY / height; /** @@ -117,6 +213,8 @@ export const createSwipeToCloseGesture = (el: HTMLIonModalElement, animation: An gesture.enable(false); + resetContentScroll(); + animation .onFinish(() => { if (!shouldComplete) { diff --git a/core/src/components/modal/modal.tsx b/core/src/components/modal/modal.tsx index 840d33c73e..1c66ac9713 100644 --- a/core/src/components/modal/modal.tsx +++ b/core/src/components/modal/modal.tsx @@ -15,6 +15,7 @@ import type { OverlayEventDetail, OverlayInterface, } from '../../interface'; +import { getScrollElement, findIonContent, printIonContentErrorMsg } from '../../utils/content'; import { CoreDelegate, attachComponent, detachComponent } from '../../utils/framework-delegate'; import { raf } from '../../utils/helpers'; import { KEYBOARD_DID_OPEN } from '../../utils/keyboard/keyboard'; @@ -283,11 +284,11 @@ export class Modal implements ComponentInterface, OverlayInterface { @Event({ eventName: 'didDismiss' }) didDismissShorthand!: EventEmitter; @Watch('swipeToClose') - swipeToCloseChanged(enable: boolean) { + async swipeToCloseChanged(enable: boolean) { if (this.gesture) { this.gesture.enable(enable); } else if (enable) { - this.initSwipeToClose(); + await this.initSwipeToClose(); } } @@ -474,7 +475,7 @@ export class Modal implements ComponentInterface, OverlayInterface { * not run canDismiss on swipe as there would be no swipe gesture created. */ } else if (this.swipeToClose || (this.canDismiss !== undefined && this.presentingElement !== undefined)) { - this.initSwipeToClose(); + await this.initSwipeToClose(); } /* tslint:disable-next-line */ @@ -504,17 +505,27 @@ export class Modal implements ComponentInterface, OverlayInterface { this.currentTransition = undefined; } - private initSwipeToClose() { + private async initSwipeToClose() { if (getIonMode(this) !== 'ios') { return; } + const { el } = this; + // All of the elements needed for the swipe gesture // should be in the DOM and referenced by now, except // for the presenting el const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation); - const ani = (this.animation = animationBuilder(this.el, { presentingEl: this.presentingElement })); - this.gesture = createSwipeToCloseGesture(this.el, ani, () => { + const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement })); + + const contentEl = findIonContent(el); + if (!contentEl) { + printIonContentErrorMsg(el); + return; + } + const scrollEl = await getScrollElement(contentEl); + + this.gesture = createSwipeToCloseGesture(el, contentEl, scrollEl, ani, () => { /** * While the gesture animation is finishing * it is possible for a user to tap the backdrop. diff --git a/core/src/components/modal/test/basic/modal.e2e.ts b/core/src/components/modal/test/basic/modal.e2e.ts index 131a028774..b3954018b0 100644 --- a/core/src/components/modal/test/basic/modal.e2e.ts +++ b/core/src/components/modal/test/basic/modal.e2e.ts @@ -1,5 +1,6 @@ import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; +import { test, Viewports } from '@utils/test/playwright'; +import type { E2EPage } from '@utils/test/playwright'; test.describe('modal: focus trapping', () => { test('focus should be trapped inside of modal', async ({ page, browserName }) => { @@ -42,6 +43,8 @@ test.describe('modal: focus trapping', () => { page, browserName, }) => { + // TODO FW-1436 + test.skip(browserName === 'firefox', 'Focus is flaky on Firefox'); await page.goto('/src/components/modal/test/basic'); const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); @@ -70,7 +73,7 @@ test.describe('modal: focus trapping', () => { }); test.describe('modal: rendering', () => { - test('should not have visual regressions', async ({ page }) => { + const runVisualTests = async (page: E2EPage, screenshotModifier = '') => { await page.goto('/src/components/modal/test/basic'); const ionModalWillDismiss = await page.spyOnEvent('ionModalWillDismiss'); @@ -87,7 +90,9 @@ test.describe('modal: rendering', () => { await page.setIonViewport(); - expect(await page.screenshot()).toMatchSnapshot(`modal-basic-present-${page.getSnapshotSettings()}.png`); + expect(await page.screenshot()).toMatchSnapshot( + `modal-basic-present-${screenshotModifier}${page.getSnapshotSettings()}.png` + ); await modal.evaluate((el: HTMLIonModalElement) => { el.dismiss(); @@ -96,7 +101,17 @@ test.describe('modal: rendering', () => { await ionModalWillDismiss.next(); await ionModalDidDismiss.next(); - expect(await page.screenshot()).toMatchSnapshot(`modal-basic-dismiss-${page.getSnapshotSettings()}.png`); + expect(await page.screenshot()).toMatchSnapshot( + `modal-basic-dismiss-${screenshotModifier}${page.getSnapshotSettings()}.png` + ); + }; + + test('should not have visual regressions', async ({ page }) => { + await runVisualTests(page); + }); + test('should not have visual regressions with tablet viewport', async ({ page }) => { + await page.setViewportSize(Viewports.tablet.portrait); + await runVisualTests(page, 'tablet-'); }); }); @@ -121,11 +136,8 @@ test.describe('modal: backdrop', () => { await page.goto('/src/components/modal/test/basic'); }); - test('it should dismiss the modal when clicking the backdrop', async ({ page }, testInfo) => { - test.skip( - testInfo.project.name === 'Mobile Chrome' || testInfo.project.name === 'Mobile Safari', - 'The modal covers the entire screen on mobile, so the backdrop is not clickable.' - ); + test('it should dismiss the modal when clicking the backdrop', async ({ page }) => { + await page.setViewportSize(Viewports.tablet.portrait); const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..16c2b631bf Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-chromium-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-chromium-linux.png deleted file mode 100644 index 21e9f1e9d8..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-firefox-linux.png deleted file mode 100644 index 28f6a050a4..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-webkit-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-webkit-linux.png deleted file mode 100644 index 731420b7f0..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..6db6d2fab0 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-chromium-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-chromium-linux.png deleted file mode 100644 index 4ca6fbb5a0..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-firefox-linux.png deleted file mode 100644 index 276cc48ac5..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-webkit-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-webkit-linux.png deleted file mode 100644 index 1ae9094962..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..e4e4ec33ec Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-chromium-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-chromium-linux.png deleted file mode 100644 index db3b95905a..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-firefox-linux.png deleted file mode 100644 index f935b1e3d3..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-webkit-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-webkit-linux.png deleted file mode 100644 index 43c6ea98eb..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..f3734e506d Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-chromium-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-chromium-linux.png deleted file mode 100644 index 56b6d7d35f..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-firefox-linux.png deleted file mode 100644 index 5ba5a81c66..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-webkit-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-webkit-linux.png deleted file mode 100644 index 37410032a6..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..c7c0fdd1c8 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..49fdbc601d Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..c3a9c3e77b Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..9e790efc74 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..aeeb837ee7 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..ead5a65a77 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..29ee9a43c8 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..b808929661 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..6521a5bc69 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..4c4d2d9ff8 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..a392a7a2f4 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..bff592756f Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-dismiss-tablet-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..4e005e0ebf Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-chromium-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-chromium-linux.png deleted file mode 100644 index 33ab8ac761..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-firefox-linux.png deleted file mode 100644 index ecdc5e8577..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-webkit-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-webkit-linux.png deleted file mode 100644 index 510fb73f3c..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..af95d6fd1d Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-chromium-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-chromium-linux.png deleted file mode 100644 index fffb124724..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-firefox-linux.png deleted file mode 100644 index 440cd26ed1..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-webkit-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-webkit-linux.png deleted file mode 100644 index 22288af7ed..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..1008bd9840 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-chromium-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-chromium-linux.png deleted file mode 100644 index ae502997c8..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-firefox-linux.png deleted file mode 100644 index 41b32bfa93..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-webkit-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-webkit-linux.png deleted file mode 100644 index 8cd97a5780..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..7b04bc0a94 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-chromium-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-chromium-linux.png deleted file mode 100644 index a732ff7725..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-firefox-linux.png deleted file mode 100644 index ebbf53fef4..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-webkit-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-webkit-linux.png deleted file mode 100644 index 9007fb8eb2..0000000000 Binary files a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..37a370420b Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..ad5f3bc025 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..2d8ccb63c6 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..6aedcd5fff Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..fb7a39d0b2 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..84ce1ff341 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..ed82cd11fb Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..5e58f55ebd Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..657d02cc6f Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..8f720c72a4 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..4bbccb4af5 Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..08e309656a Binary files /dev/null and b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card-refresher/index.html b/core/src/components/modal/test/card-refresher/index.html new file mode 100644 index 0000000000..3b387b2c58 --- /dev/null +++ b/core/src/components/modal/test/card-refresher/index.html @@ -0,0 +1,111 @@ + + + + + Modal - Card + + + + + + + + + + + + + +
+ + + Card + + + + + Card Modal + +
+
+ + + + diff --git a/core/src/components/modal/test/card-refresher/modal.e2e.ts b/core/src/components/modal/test/card-refresher/modal.e2e.ts new file mode 100644 index 0000000000..2c6f8521fb --- /dev/null +++ b/core/src/components/modal/test/card-refresher/modal.e2e.ts @@ -0,0 +1,25 @@ +import { expect } from '@playwright/test'; +import { dragElementBy, test } from '@utils/test/playwright'; + +test.describe('card modal - with refresher', () => { + test.beforeEach(async ({ page }, testInfo) => { + test.skip(testInfo.project.metadata.mode !== 'ios', 'Card style modal is only available on iOS'); + + await page.goto('/src/components/modal/test/card-refresher'); + }); + test('it should not swipe to close on the content due to the presence of the refresher', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#card'); + await ionModalDidPresent.next(); + + const modal = await page.locator('ion-modal'); + const content = (await page.$('ion-modal ion-content'))!; + + await dragElementBy(content, page, 0, 500); + + await content.waitForElementState('stable'); + + expect(modal).toBeVisible(); + }); +}); diff --git a/core/src/components/modal/test/card-scroll-target/index.html b/core/src/components/modal/test/card-scroll-target/index.html new file mode 100644 index 0000000000..50fe1e7b1a --- /dev/null +++ b/core/src/components/modal/test/card-scroll-target/index.html @@ -0,0 +1,134 @@ + + + + + Modal - Card + + + + + + + + + + + + + +
+ + + Card + + + + + Card Modal + +
+
+ + + + diff --git a/core/src/components/modal/test/card-scroll-target/modal.e2e.ts b/core/src/components/modal/test/card-scroll-target/modal.e2e.ts new file mode 100644 index 0000000000..1a04472cbd --- /dev/null +++ b/core/src/components/modal/test/card-scroll-target/modal.e2e.ts @@ -0,0 +1,52 @@ +import { expect } from '@playwright/test'; +import { dragElementBy, test } from '@utils/test/playwright'; + +test.describe('card modal - scroll target', () => { + test.beforeEach(async ({ page }, testInfo) => { + test.skip(testInfo.project.metadata.mode !== 'ios', 'Card style modal is only available on iOS'); + + await page.goto('/src/components/modal/test/card-scroll-target'); + }); + test.describe('card modal: swipe to close', () => { + test('it should swipe to close when swiped on the content', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + + await page.click('#card'); + await ionModalDidPresent.next(); + + const content = await page.locator('ion-modal .ion-content-scroll-host'); + await dragElementBy(content, page, 0, 500); + + await ionModalDidDismiss.next(); + }); + test('it should not swipe to close when swiped on the content but the content is scrolled', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#card'); + await ionModalDidPresent.next(); + + const modal = await page.locator('ion-modal'); + const content = (await page.$('ion-modal .ion-content-scroll-host'))!; + + await content.evaluate((el: HTMLElement) => (el.scrollTop = 500)); + + await dragElementBy(content, page, 0, 500); + + await content.waitForElementState('stable'); + + expect(modal).toBeVisible(); + }); + test('content should be scrollable after gesture ends', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#card'); + await ionModalDidPresent.next(); + + const content = await page.locator('ion-modal .ion-content-scroll-host'); + await dragElementBy(content, page, 0, 20); + + expect(content).not.toHaveCSS('overflow', 'hidden'); + }); + }); +}); diff --git a/core/src/components/modal/test/card/index.html b/core/src/components/modal/test/card/index.html index 89b1207234..7f948c1f48 100644 --- a/core/src/components/modal/test/card/index.html +++ b/core/src/components/modal/test/card/index.html @@ -65,7 +65,60 @@ Hello World! Dismiss Modal + +
+ +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae lobortis felis, eu sodales enim. Nam + risus nibh, placerat at rutrum ac, vehicula vel velit. Lorem ipsum dolor sit amet, consectetur adipiscing + elit. Vestibulum quis elementum ligula, ac aliquet nulla. Mauris non placerat mauris. Aenean dignissim lacinia + porttitor. Praesent fringilla at est et ullamcorper. In ac ante ac massa porta venenatis ut id nibh. Fusce + felis neque, aliquet in velit vitae, venenatis euismod libero. Donec vulputate, urna sed sagittis tempor, mi + arcu tristique lacus, eget fringilla urna sem eget felis. Fusce dignissim lacus a scelerisque vehicula. Nulla + nec enim nunc. Quisque nec dui eu nibh pulvinar bibendum quis ut nunc. Duis ex odio, sollicitudin ac mollis + nec, fringilla non lacus. Maecenas sed tincidunt urna. Nunc feugiat maximus venenatis. Donec porttitor, felis + eget porttitor tempor, quam nulla dapibus nisl, sit amet posuere sapien sapien malesuada tortor. Pellentesque + habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque luctus, sapien nec + tincidunt efficitur, nibh turpis faucibus felis, in sodales massa augue nec erat. Morbi sollicitudin nisi ex, + et gravida nisi euismod eu. Suspendisse hendrerit dapibus orci, non viverra neque vestibulum id. Quisque vitae + interdum ligula, quis consectetur nibh. Phasellus in mi at erat ultrices semper. Fusce sollicitudin at dolor + ac lobortis. Morbi sit amet sem quis nulla pellentesque imperdiet. Nullam eu sem a enim maximus eleifend non + vulputate leo. Proin quis congue lacus. Pellentesque placerat, quam at tempus pulvinar, nisl ligula tempor + risus, quis pretium arcu odio et nulla. Nullam mollis consequat pharetra. Phasellus dictum velit sed purus + mattis maximus. In molestie eget massa ut dignissim. In a interdum elit. In finibus nibh a mauris lobortis + aliquet. Proin rutrum varius consequat. In mollis dapibus nisl, eu finibus urna viverra ac. Quisque + scelerisque nisl eu suscipit consectetur. +

+ +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vitae lobortis felis, eu sodales enim. Nam + risus nibh, placerat at rutrum ac, vehicula vel velit. Lorem ipsum dolor sit amet, consectetur adipiscing + elit. Vestibulum quis elementum ligula, ac aliquet nulla. Mauris non placerat mauris. Aenean dignissim lacinia + porttitor. Praesent fringilla at est et ullamcorper. In ac ante ac massa porta venenatis ut id nibh. Fusce + felis neque, aliquet in velit vitae, venenatis euismod libero. Donec vulputate, urna sed sagittis tempor, mi + arcu tristique lacus, eget fringilla urna sem eget felis. Fusce dignissim lacus a scelerisque vehicula. Nulla + nec enim nunc. Quisque nec dui eu nibh pulvinar bibendum quis ut nunc. Duis ex odio, sollicitudin ac mollis + nec, fringilla non lacus. Maecenas sed tincidunt urna. Nunc feugiat maximus venenatis. Donec porttitor, felis + eget porttitor tempor, quam nulla dapibus nisl, sit amet posuere sapien sapien malesuada tortor. Pellentesque + habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Quisque luctus, sapien nec + tincidunt efficitur, nibh turpis faucibus felis, in sodales massa augue nec erat. Morbi sollicitudin nisi ex, + et gravida nisi euismod eu. Suspendisse hendrerit dapibus orci, non viverra neque vestibulum id. Quisque vitae + interdum ligula, quis consectetur nibh. Phasellus in mi at erat ultrices semper. Fusce sollicitudin at dolor + ac lobortis. Morbi sit amet sem quis nulla pellentesque imperdiet. Nullam eu sem a enim maximus eleifend non + vulputate leo. Proin quis congue lacus. Pellentesque placerat, quam at tempus pulvinar, nisl ligula tempor + risus, quis pretium arcu odio et nulla. Nullam mollis consequat pharetra. Phasellus dictum velit sed purus + mattis maximus. In molestie eget massa ut dignissim. In a interdum elit. In finibus nibh a mauris lobortis + aliquet. Proin rutrum varius consequat. In mollis dapibus nisl, eu finibus urna viverra ac. Quisque + scelerisque nisl eu suscipit consectetur. +

+
+ + + + Footer + + `; // listen for close event diff --git a/core/src/components/modal/test/card/modal.e2e.ts b/core/src/components/modal/test/card/modal.e2e.ts index f9e627dbc9..55872acbcc 100644 --- a/core/src/components/modal/test/card/modal.e2e.ts +++ b/core/src/components/modal/test/card/modal.e2e.ts @@ -1,51 +1,163 @@ import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; +import { dragElementBy, test, Viewports } from '@utils/test/playwright'; +import type { E2EPage, EventSpy } from '@utils/test/playwright'; -test.describe('card modal: rendering', () => { - test('should not have visual regressions', async ({ page }) => { +class CardModalPage { + private ionModalDidPresent!: EventSpy; + private ionModalDidDismiss!: EventSpy; + private page: E2EPage; + + constructor(page: E2EPage) { + this.page = page; + } + async navigate() { + const { page } = this; await page.goto('/src/components/modal/test/card'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + this.ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + this.ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + } + async openModalByTrigger(selector: string) { + await this.page.click(selector); + await this.ionModalDidPresent.next(); - await page.click('#card'); + return this.page.locator('ion-modal'); + } - await ionModalDidPresent.next(); + async swipeToCloseModal(selector: string, waitForDismiss = true, swipeY = 500) { + const { page } = this; + const elementRef = await page.locator(selector); + await dragElementBy(elementRef, page, 0, swipeY); - expect(await page.screenshot()).toMatchSnapshot(`modal-card-present-${page.getSnapshotSettings()}.png`); + if (waitForDismiss) { + await this.ionModalDidDismiss.next(); + } + } +} + +test.describe('card modal', () => { + let cardModalPage: CardModalPage; + test.beforeEach(async ({ page }, testInfo) => { + test.skip(testInfo.project.metadata.mode !== 'ios', 'Card style modal is only available on iOS'); + + cardModalPage = new CardModalPage(page); + await cardModalPage.navigate(); }); - test('should not have visual regressions with custom modal', async ({ page }) => { - await page.goto('/src/components/modal/test/card'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + test.describe('card modal: rendering', () => { + test('should not have visual regressions', async ({ page }) => { + await cardModalPage.openModalByTrigger('#card'); - await page.click('#card-custom'); + expect(await page.screenshot()).toMatchSnapshot(`modal-card-present-${page.getSnapshotSettings()}.png`); + }); + test('should not have visual regressions with custom modal', async ({ page }) => { + await cardModalPage.openModalByTrigger('#card-custom'); - await ionModalDidPresent.next(); + expect(await page.screenshot()).toMatchSnapshot(`modal-card-custom-present-${page.getSnapshotSettings()}.png`); + }); + test('should not have visual regressions with stacked cards', async ({ page }) => { + await cardModalPage.openModalByTrigger('#card'); + await cardModalPage.openModalByTrigger('.add'); - expect(await page.screenshot()).toMatchSnapshot(`modal-card-custom-present-${page.getSnapshotSettings()}.png`); + expect(await page.screenshot()).toMatchSnapshot(`modal-card-stacked-present-${page.getSnapshotSettings()}.png`); + }); + test('should not have visual regressions with stacked custom cards', async ({ page }) => { + await cardModalPage.openModalByTrigger('#card-custom'); + await cardModalPage.openModalByTrigger('.add'); + + expect(await page.screenshot()).toMatchSnapshot( + `modal-card-custom-stacked-present-${page.getSnapshotSettings()}.png` + ); + }); }); - test('should not have visual regressions with stacked cards', async ({ page }) => { - await page.goto('/src/components/modal/test/card'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + test.describe('card modal: swipe to close', () => { + test('it should swipe to close when swiped on the header', async () => { + await cardModalPage.openModalByTrigger('#card'); + await cardModalPage.swipeToCloseModal('ion-modal ion-header'); + }); + test('it should swipe to close when swiped on the content', async () => { + await cardModalPage.openModalByTrigger('#card'); + await cardModalPage.swipeToCloseModal('ion-modal ion-content'); + }); + test('it should not swipe to close when swiped on the content but the content is scrolled', async ({ page }) => { + const modal = await cardModalPage.openModalByTrigger('#card'); - await page.click('#card'); - await ionModalDidPresent.next(); + const content = (await page.$('ion-modal ion-content'))!; + await content.evaluate((el: HTMLIonContentElement) => el.scrollToBottom(0)); - await page.click('.add'); - await ionModalDidPresent.next(); + await cardModalPage.swipeToCloseModal('ion-modal ion-content', false); - expect(await page.screenshot()).toMatchSnapshot(`modal-card-stacked-present-${page.getSnapshotSettings()}.png`); + await content.waitForElementState('stable'); + expect(modal).toBeVisible(); + }); + test('content should be scrollable after gesture ends', async ({ page }) => { + await cardModalPage.openModalByTrigger('#card'); + await cardModalPage.swipeToCloseModal('ion-modal ion-content', false, 20); + + const content = await page.locator('ion-modal ion-content'); + expect(content).toHaveJSProperty('scrollY', true); + }); }); - test('should not have visual regressions with stacked custom cards', async ({ page }) => { - await page.goto('/src/components/modal/test/card'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + test.describe('card modal: rendering - tablet', () => { + test.beforeEach(async ({ page }) => { + await page.setViewportSize(Viewports.tablet.portrait); + }); + test('should not have visual regressions', async ({ page }) => { + await cardModalPage.openModalByTrigger('#card'); - await page.click('#card-custom'); - await ionModalDidPresent.next(); + expect(await page.screenshot()).toMatchSnapshot(`modal-card-present-tablet-${page.getSnapshotSettings()}.png`); + }); + test('should not have visual regressions with custom modal', async ({ page }) => { + await cardModalPage.openModalByTrigger('#card-custom'); - await page.click('.add'); - await ionModalDidPresent.next(); + expect(await page.screenshot()).toMatchSnapshot( + `modal-card-custom-present-tablet-${page.getSnapshotSettings()}.png` + ); + }); + test('should not have visual regressions with stacked cards', async ({ page }) => { + await cardModalPage.openModalByTrigger('#card'); + await cardModalPage.openModalByTrigger('.add'); - expect(await page.screenshot()).toMatchSnapshot( - `modal-card-custom-stacked-present-${page.getSnapshotSettings()}.png` - ); + expect(await page.screenshot()).toMatchSnapshot( + `modal-card-stacked-present-tablet-${page.getSnapshotSettings()}.png` + ); + }); + test('should not have visual regressions with stacked custom cards', async ({ page }) => { + await cardModalPage.openModalByTrigger('#card-custom'); + await cardModalPage.openModalByTrigger('.add'); + + expect(await page.screenshot()).toMatchSnapshot( + `modal-card-custom-stacked-present-tablet-${page.getSnapshotSettings()}.png` + ); + }); + }); + test.describe('card modal: swipe to close - tablet', () => { + test.beforeEach(async ({ page }) => { + await page.setViewportSize(Viewports.tablet.portrait); + }); + test('it should swipe to close when swiped on the header', async () => { + await cardModalPage.openModalByTrigger('#card'); + await cardModalPage.swipeToCloseModal('ion-modal ion-header'); + }); + test('it should swipe to close when swiped on the content', async () => { + await cardModalPage.openModalByTrigger('#card'); + await cardModalPage.swipeToCloseModal('ion-modal ion-content'); + }); + test('it should not swipe to close when swiped on the content but the content is scrolled', async ({ page }) => { + const modal = await cardModalPage.openModalByTrigger('#card'); + + const content = (await page.$('ion-modal ion-content'))!; + await content.evaluate((el: HTMLIonContentElement) => el.scrollToBottom(0)); + + await cardModalPage.swipeToCloseModal('ion-modal ion-content', false); + + await content.waitForElementState('stable'); + expect(modal).toBeVisible(); + }); + test('content should be scrollable after gesture ends', async ({ page }) => { + await cardModalPage.openModalByTrigger('#card'); + await cardModalPage.swipeToCloseModal('ion-modal ion-content', false, 20); + + const content = await page.locator('ion-modal ion-content'); + expect(content).toHaveJSProperty('scrollY', true); + }); }); }); diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Chrome-linux.png index 8395f2198a..442cace5ca 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..6b2931d41c Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Safari-linux.png index a8cb87a6b6..599ded8fbc 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-chromium-linux.png deleted file mode 100644 index 38ee736039..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-firefox-linux.png deleted file mode 100644 index 12900fb94b..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-webkit-linux.png deleted file mode 100644 index a17cdbf2a5..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Chrome-linux.png index 56892676f4..08ef5d3e42 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..bc1fafde52 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Safari-linux.png index 37794c512b..0a03fb456d 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-chromium-linux.png deleted file mode 100644 index 8242f7da51..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-firefox-linux.png deleted file mode 100644 index e1a0f05475..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-webkit-linux.png deleted file mode 100644 index b944565c03..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-ltr-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-ltr-chromium-linux.png deleted file mode 100644 index a7b1a51112..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-ltr-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-ltr-firefox-linux.png deleted file mode 100644 index 2f111bec27..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-ltr-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-ltr-webkit-linux.png deleted file mode 100644 index 1005c78803..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-rtl-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-rtl-chromium-linux.png deleted file mode 100644 index 830ab7163d..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-rtl-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-rtl-firefox-linux.png deleted file mode 100644 index af00b80001..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-rtl-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-rtl-webkit-linux.png deleted file mode 100644 index e6427dfa9c..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..ae2a014840 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..a91fb09ff2 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..1364d3b3be Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..6214926d13 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..2b14a48f45 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..7e0e39220b Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-present-tablet-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Chrome-linux.png index 9ab190aa48..a2229650ff 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..5f84d02bbc Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Safari-linux.png index d174359403..ffa5dab5b0 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-chromium-linux.png deleted file mode 100644 index 73aad5d30a..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-firefox-linux.png deleted file mode 100644 index 86d3bd6918..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-webkit-linux.png deleted file mode 100644 index d02088bba9..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Chrome-linux.png index ba145ab6c0..1e7cd13c55 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..201df34f7f Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Safari-linux.png index 8a1f663228..64e9c6922c 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-chromium-linux.png deleted file mode 100644 index 681b53032f..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-firefox-linux.png deleted file mode 100644 index 6c25911284..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-webkit-linux.png deleted file mode 100644 index 37fa1804eb..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-ltr-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-ltr-chromium-linux.png deleted file mode 100644 index a0bcf9bb53..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-ltr-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-ltr-firefox-linux.png deleted file mode 100644 index ec70c3b81b..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-ltr-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-ltr-webkit-linux.png deleted file mode 100644 index f45cfc5077..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-rtl-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-rtl-chromium-linux.png deleted file mode 100644 index 63aa36bb81..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-rtl-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-rtl-firefox-linux.png deleted file mode 100644 index 2d42c4f1cb..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-rtl-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-rtl-webkit-linux.png deleted file mode 100644 index cab5900ca3..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..b91c5fdb16 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..4f9b378c3a Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..5de468e887 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..41a55db303 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..7c114782d4 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..297734a6f1 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-custom-stacked-present-tablet-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Chrome-linux.png index 321897cb7f..a67913306e 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..b19aec751c Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Safari-linux.png index 59bb75fc02..0e619eaca8 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-chromium-linux.png deleted file mode 100644 index a6650a83f4..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-firefox-linux.png deleted file mode 100644 index 6b6db49a13..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-webkit-linux.png deleted file mode 100644 index 0b3653ab4e..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Chrome-linux.png index d38e688a74..1cb5cf9995 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..4ab38cbcff Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Safari-linux.png index e38be50a69..b0a8a8b115 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-chromium-linux.png deleted file mode 100644 index 90178b1b52..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-firefox-linux.png deleted file mode 100644 index 6c0f57987a..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-webkit-linux.png deleted file mode 100644 index e3d0a3d618..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-ltr-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-ltr-chromium-linux.png deleted file mode 100644 index 241701a936..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-ltr-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-ltr-firefox-linux.png deleted file mode 100644 index adfcdd9be5..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-ltr-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-ltr-webkit-linux.png deleted file mode 100644 index 1d2accca1c..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-rtl-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-rtl-chromium-linux.png deleted file mode 100644 index 17b80f2e2b..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-rtl-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-rtl-firefox-linux.png deleted file mode 100644 index 50a92233d1..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-rtl-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-rtl-webkit-linux.png deleted file mode 100644 index 61415fb357..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..64df2f27ee Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..ec18ee0870 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..7f62185cc4 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..7ac5ac554c Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..cfafd34ffa Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..144d4b83c1 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-present-tablet-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Chrome-linux.png index a276bf043f..67bc355c0f 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..e8c33f4c31 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Safari-linux.png index 2fbbac0b8c..1895d76f40 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-chromium-linux.png deleted file mode 100644 index eb87b2627d..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-firefox-linux.png deleted file mode 100644 index 515e929b10..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-webkit-linux.png deleted file mode 100644 index 9710fd62b6..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Chrome-linux.png index 82e6543ff7..4421459a07 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..74a3a3bd6f Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Safari-linux.png index 050aa7bbf5..f435d176da 100644 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-chromium-linux.png deleted file mode 100644 index 416a04a05a..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-firefox-linux.png deleted file mode 100644 index 42ecc4a771..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-webkit-linux.png deleted file mode 100644 index f6334475a7..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-ltr-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-ltr-chromium-linux.png deleted file mode 100644 index bbc9d757e1..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-ltr-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-ltr-firefox-linux.png deleted file mode 100644 index ace45dc615..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-ltr-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-ltr-webkit-linux.png deleted file mode 100644 index 6220a076f2..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-rtl-chromium-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-rtl-chromium-linux.png deleted file mode 100644 index 0e9f7681f8..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-rtl-firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-rtl-firefox-linux.png deleted file mode 100644 index 933dc953d1..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-rtl-webkit-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-rtl-webkit-linux.png deleted file mode 100644 index 7e2091076d..0000000000 Binary files a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..5b7e0c406e Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..446bf464af Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..5173a5de31 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..ccdab822b5 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..3a312deec4 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..5f6a750034 Binary files /dev/null and b/core/src/components/modal/test/card/modal.e2e.ts-snapshots/modal-card-stacked-present-tablet-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts b/core/src/components/modal/test/custom/modal.e2e.ts index 2573285c7c..c8ac6c56c0 100644 --- a/core/src/components/modal/test/custom/modal.e2e.ts +++ b/core/src/components/modal/test/custom/modal.e2e.ts @@ -1,8 +1,9 @@ import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; +import { test, Viewports } from '@utils/test/playwright'; +import type { E2EPage } from '@utils/test/playwright'; test.describe('modal: custom rendering', () => { - test('should not have visual regressions', async ({ page }) => { + const runVisualTests = async (page: E2EPage, screenshotModifier = '') => { await page.goto('/src/components/modal/test/custom'); const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); @@ -12,6 +13,16 @@ test.describe('modal: custom rendering', () => { await page.setIonViewport(); - expect(await page.screenshot()).toMatchSnapshot(`modal-custom-present-${page.getSnapshotSettings()}.png`); + expect(await page.screenshot()).toMatchSnapshot( + `modal-custom-present-${screenshotModifier}${page.getSnapshotSettings()}.png` + ); + }; + test('should not have visual regressions', async ({ page }) => { + await runVisualTests(page); + }); + + test('should not have visual regressions with tablet viewport', async ({ page }) => { + await page.setViewportSize(Viewports.tablet.portrait); + await runVisualTests(page, 'tablet-'); }); }); diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..0b19a439cf Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-chromium-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-chromium-linux.png deleted file mode 100644 index 812ca5bcfa..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-firefox-linux.png deleted file mode 100644 index 0a9a801daa..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-webkit-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-webkit-linux.png deleted file mode 100644 index b2548562ba..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..90b73177f0 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-chromium-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-chromium-linux.png deleted file mode 100644 index f8e45b4465..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-firefox-linux.png deleted file mode 100644 index e788522eb3..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-webkit-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-webkit-linux.png deleted file mode 100644 index 3c5b7ff542..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..97361d91c7 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-chromium-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-chromium-linux.png deleted file mode 100644 index 6a89666437..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-firefox-linux.png deleted file mode 100644 index 2dd73021b7..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-webkit-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-webkit-linux.png deleted file mode 100644 index 58869d5ec7..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..19bb0f3f95 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-chromium-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-chromium-linux.png deleted file mode 100644 index 1c93771eca..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-firefox-linux.png deleted file mode 100644 index cf46f2e524..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-webkit-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-webkit-linux.png deleted file mode 100644 index e49d46d66e..0000000000 Binary files a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..9daf60e8ed Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..790751c293 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..7a76b38fc2 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..a109da8f28 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..dc8c5df1b9 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..5ba4e76a17 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..d8bb0d6463 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..2342febfb3 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..ea5cccaab4 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..eb539a2dff Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..98bfa2147c Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..18671f2137 Binary files /dev/null and b/core/src/components/modal/test/custom/modal.e2e.ts-snapshots/modal-custom-present-tablet-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..7ccfc08143 Binary files /dev/null and b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-chromium-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-chromium-linux.png deleted file mode 100644 index a4180c5c57..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-firefox-linux.png deleted file mode 100644 index e1f3dc57c3..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-webkit-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-webkit-linux.png deleted file mode 100644 index 442fa5dfb4..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..ee22baeca8 Binary files /dev/null and b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-chromium-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-chromium-linux.png deleted file mode 100644 index 5ab3feb820..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-firefox-linux.png deleted file mode 100644 index d113ddbf64..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-webkit-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-webkit-linux.png deleted file mode 100644 index 13f1f95387..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..99f9e33c50 Binary files /dev/null and b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-chromium-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-chromium-linux.png deleted file mode 100644 index d3a91e0fef..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-firefox-linux.png deleted file mode 100644 index a4b039d3d8..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-webkit-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-webkit-linux.png deleted file mode 100644 index 9f3a0e7a41..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..f95854376a Binary files /dev/null and b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-chromium-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-chromium-linux.png deleted file mode 100644 index 04414d8a1c..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-firefox-linux.png deleted file mode 100644 index a6c092bf54..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-webkit-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-webkit-linux.png deleted file mode 100644 index 43b66a17ca..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-dismiss-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..5101207d83 Binary files /dev/null and b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-chromium-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-chromium-linux.png deleted file mode 100644 index 81ca9d525d..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-firefox-linux.png deleted file mode 100644 index 1ad01b97ce..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-webkit-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-webkit-linux.png deleted file mode 100644 index 53a0f5cde7..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..3717e05725 Binary files /dev/null and b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-chromium-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-chromium-linux.png deleted file mode 100644 index 101d4082ab..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-firefox-linux.png deleted file mode 100644 index 8e90c51e84..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-webkit-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-webkit-linux.png deleted file mode 100644 index 6dbbead428..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..32ca86eb1b Binary files /dev/null and b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-chromium-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-chromium-linux.png deleted file mode 100644 index 48b76578ab..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-firefox-linux.png deleted file mode 100644 index 37a718c02e..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-webkit-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-webkit-linux.png deleted file mode 100644 index 50c89d50f0..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..06aa1673a2 Binary files /dev/null and b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-chromium-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-chromium-linux.png deleted file mode 100644 index c2fa826036..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-firefox-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-firefox-linux.png deleted file mode 100644 index 7a5455e437..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-webkit-linux.png b/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-webkit-linux.png deleted file mode 100644 index 567f8ea5f1..0000000000 Binary files a/core/src/components/modal/test/inline/modal.e2e.ts-snapshots/modal-inline-present-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..9b3e78ed6b Binary files /dev/null and b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-chromium-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-chromium-linux.png deleted file mode 100644 index 6c6da5dbf7..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-firefox-linux.png deleted file mode 100644 index 7c0db8d1eb..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-webkit-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-webkit-linux.png deleted file mode 100644 index 18833ab14a..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..cd5d13666b Binary files /dev/null and b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-chromium-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-chromium-linux.png deleted file mode 100644 index e70769cc94..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-firefox-linux.png deleted file mode 100644 index 2235636029..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-webkit-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-webkit-linux.png deleted file mode 100644 index dd3d832ae4..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..12ff3b0df6 Binary files /dev/null and b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-chromium-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-chromium-linux.png deleted file mode 100644 index 482b6df7f1..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-firefox-linux.png deleted file mode 100644 index a1192ec4f5..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-webkit-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-webkit-linux.png deleted file mode 100644 index e0324ad581..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-webkit-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..2d78ec4763 Binary files /dev/null and b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-chromium-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-chromium-linux.png deleted file mode 100644 index 0b98ab03f8..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-chromium-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-firefox-linux.png deleted file mode 100644 index 4b3bdd47c5..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-webkit-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-webkit-linux.png deleted file mode 100644 index 60730291b6..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-rtl-webkit-linux.png and /dev/null differ diff --git a/core/src/components/picker-column-internal/test/basic/e2e.ts b/core/src/components/picker-column-internal/test/basic/e2e.ts deleted file mode 100644 index 7e82600e97..0000000000 --- a/core/src/components/picker-column-internal/test/basic/e2e.ts +++ /dev/null @@ -1,76 +0,0 @@ -import type { E2EPage } from '@stencil/core/testing'; -import { newE2EPage } from '@stencil/core/testing'; - -describe('picker-column-internal', () => { - let page: E2EPage; - - describe('default', () => { - beforeEach(async () => { - page = await newE2EPage({ - url: '/src/components/picker-column-internal/test/basic?ionic:_testing=true', - }); - }); - - it('should render a picker item for each item', async () => { - const columns = await page.findAll('ion-picker-column-internal >>> .picker-item:not(.picker-item-empty)'); - expect(columns.length).toEqual(24); - }); - - it('should render 6 empty picker items', async () => { - const columns = await page.findAll('ion-picker-column-internal >>> .picker-item-empty'); - expect(columns.length).toEqual(6); - }); - - it('should not have an active item when value is not set', async () => { - const activeColumn = await page.findAll('ion-picker-column-internal >>> .picker-item-active'); - expect(activeColumn.length).toEqual(0); - }); - - it('should have an active item when value is set', async () => { - await page.$eval('ion-picker-column-internal#default', (el: any) => { - el.value = '12'; - }); - await page.waitForChanges(); - - const activeColumn = await page.find('ion-picker-column-internal >>> .picker-item-active'); - - expect(activeColumn).not.toBeNull(); - }); - - it('scrolling should change the active item', async () => { - await page.$eval('ion-picker-column-internal#default', (el: any) => { - el.scrollTop = 801; - }); - - await page.waitForChanges(); - - const activeColumn = await page.find('ion-picker-column-internal >>> .picker-item-active'); - - expect(activeColumn.innerText).toEqual('23'); - }); - - it('should not emit ionChange when the value is modified externally', async () => { - const pickerColumn = await page.find('#default'); - const ionChangeSpy = await pickerColumn.spyOnEvent('ionChange'); - - await page.$eval('#default', (el: any) => { - el.value = '12'; - }); - - expect(ionChangeSpy).not.toHaveReceivedEvent(); - }); - - it('should emit ionChange when the picker is scrolled', async () => { - const pickerColumn = await page.find('#default'); - const ionChangeSpy = await pickerColumn.spyOnEvent('ionChange'); - - await page.$eval('#default', (el: any) => { - el.scrollTo(0, el.scrollHeight); - }); - - await ionChangeSpy.next(); - - expect(ionChangeSpy).toHaveReceivedEvent(); - }); - }); -}); diff --git a/core/src/components/picker-column-internal/test/basic/picker-column-internal.e2e.ts b/core/src/components/picker-column-internal/test/basic/picker-column-internal.e2e.ts new file mode 100644 index 0000000000..10d9296375 --- /dev/null +++ b/core/src/components/picker-column-internal/test/basic/picker-column-internal.e2e.ts @@ -0,0 +1,74 @@ +import { expect } from '@playwright/test'; +import { test } from '@utils/test/playwright'; + +test.describe('picker-column-internal', () => { + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/picker-column-internal/test/basic'); + }); + + test('should render a picker item for each item', async ({ page }) => { + const columns = page.locator('ion-picker-column-internal .picker-item:not(.picker-item-empty)'); + expect(columns).toHaveCount(24); + }); + + test('should render 6 empty picker items', async ({ page }) => { + const columns = page.locator('ion-picker-column-internal .picker-item-empty'); + expect(columns).toHaveCount(6); + }); + + test('should not have an active item when value is not set', async ({ page }) => { + const activeColumn = page.locator('ion-picker-column-internal .picker-item-active'); + expect(activeColumn).toHaveCount(0); + }); + + test('should have an active item when value is set', async ({ page }) => { + await page.locator('#default').evaluate((el: HTMLIonPickerColumnInternalElement) => { + el.value = '12'; + }); + await page.waitForChanges(); + + const activeColumn = page.locator('ion-picker-column-internal .picker-item-active'); + + expect(activeColumn).not.toBeNull(); + }); + + test('scrolling should change the active item', async ({ page, browserName }) => { + test.skip(browserName === 'firefox', 'https://bugzilla.mozilla.org/show_bug.cgi?id=1766890'); + + await page.locator('#default').evaluate((el: HTMLIonPickerColumnInternalElement) => { + el.scrollTop = 801; + }); + await page.waitForChanges(); + + const activeColumn = page.locator('ion-picker-column-internal .picker-item-active'); + + expect(await activeColumn?.innerText()).toEqual('23'); + }); + + test('should not emit ionChange when the value is modified externally', async ({ page, browserName }) => { + test.skip(browserName === 'firefox', 'https://bugzilla.mozilla.org/show_bug.cgi?id=1766890'); + + const ionChangeSpy = await page.spyOnEvent('ionChange'); + + await page.locator('#default').evaluate((el: HTMLIonPickerColumnInternalElement) => { + el.value = '12'; + }); + + expect(ionChangeSpy).not.toHaveReceivedEvent(); + }); + + test('should emit ionChange when the picker is scrolled', async ({ page, browserName }) => { + test.skip(browserName === 'firefox', 'https://bugzilla.mozilla.org/show_bug.cgi?id=1766890'); + + const ionChangeSpy = await page.spyOnEvent('ionChange'); + + await page.locator('#default').evaluate((el: HTMLIonPickerColumnInternalElement) => { + el.scrollTo(0, el.scrollHeight); + }); + await page.waitForChanges(); + + await ionChangeSpy.next(); + + expect(ionChangeSpy).toHaveReceivedEvent(); + }); +}); diff --git a/core/src/components/picker-internal/test/a11y/e2e.ts b/core/src/components/picker-internal/test/a11y/e2e.ts deleted file mode 100644 index 3dcbc25b40..0000000000 --- a/core/src/components/picker-internal/test/a11y/e2e.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { AxePuppeteer } from '@axe-core/puppeteer'; -import { newE2EPage } from '@stencil/core/testing'; - -test('picker-internal: a11y', async () => { - const page = await newE2EPage({ - url: '/src/components/picker-internal/test/a11y?ionic:_testing=true', - }); - - const results = await new AxePuppeteer(page).analyze(); - expect(results.violations.length).toEqual(0); -}); diff --git a/core/src/components/picker-internal/test/a11y/picker-internal.e2e.ts b/core/src/components/picker-internal/test/a11y/picker-internal.e2e.ts new file mode 100644 index 0000000000..1c7949a6ee --- /dev/null +++ b/core/src/components/picker-internal/test/a11y/picker-internal.e2e.ts @@ -0,0 +1,13 @@ +import AxeBuilder from '@axe-core/playwright'; +import { expect } from '@playwright/test'; +import { test } from '@utils/test/playwright'; + +test.describe('picker-internal: a11y', () => { + test('should not have accessibility violations', async ({ page }) => { + await page.goto(`/src/components/picker-internal/test/a11y`); + + const results = await new AxeBuilder({ page }).analyze(); + + expect(results.violations).toEqual([]); + }); +}); diff --git a/core/src/components/picker-internal/test/basic/e2e.ts b/core/src/components/picker-internal/test/basic/e2e.ts deleted file mode 100644 index a306ff21fd..0000000000 --- a/core/src/components/picker-internal/test/basic/e2e.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -test('picker', async () => { - const page = await newE2EPage({ - url: '/src/components/picker-internal/test/basic?ionic:_testing=true', - }); - - const screenshotCompares = []; - - screenshotCompares.push(await page.compareScreenshot()); - - const firstColumn = await page.find('ion-picker-column-internal#first'); - firstColumn.setProperty('value', 'serverless'); - await page.waitForChanges(); - screenshotCompares.push(await page.compareScreenshot()); - - for (const screenshotCompare of screenshotCompares) { - expect(screenshotCompare).toMatchScreenshot(); - } -}); - -test('picker - popover', async () => { - const page = await newE2EPage({ - url: '/src/components/picker-internal/test/basic?ionic:_testing=true', - }); - - const screenshotCompares = []; - - const popoverButton = await page.find('#popover'); - popoverButton.click(); - - const popover = await page.find('ion-popover'); - expect(popover).not.toBe(null); - await popover.waitForVisible(); - - screenshotCompares.push(await page.compareScreenshot()); - - for (const screenshotCompare of screenshotCompares) { - expect(screenshotCompare).toMatchScreenshot(); - } -}); - -test('picker - modal', async () => { - const page = await newE2EPage({ - url: '/src/components/picker-internal/test/basic?ionic:_testing=true', - }); - - const screenshotCompares = []; - - const modalButton = await page.find('#modal'); - modalButton.click(); - - const modal = await page.find('ion-modal'); - expect(modal).not.toBe(null); - await modal.waitForVisible(); - - screenshotCompares.push(await page.compareScreenshot()); - - for (const screenshotCompare of screenshotCompares) { - expect(screenshotCompare).toMatchScreenshot(); - } -}); diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts new file mode 100644 index 0000000000..d15047361c --- /dev/null +++ b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts @@ -0,0 +1,56 @@ +import { expect } from '@playwright/test'; +import { test } from '@utils/test/playwright'; + +const isMobileSafariLinux = (userAgent?: string) => { + return userAgent?.includes('Linux') === true && userAgent?.includes('Mobile Safari') === true; +}; + +test.describe('picker-internal', () => { + test('inline pickers should not have visual regression', async ({ page }) => { + await page.goto(`/src/components/picker-internal/test/basic`); + + await page.setIonViewport(); + + expect(await page.screenshot({ fullPage: true })).toMatchSnapshot( + `picker-internal-inline-diff-${page.getSnapshotSettings()}.png` + ); + }); + + test.describe('within overlay:', () => { + // TODO (FW-1397): Remove this test.skip when the issue is fixed. + test.skip( + ({ userAgent }) => isMobileSafariLinux(userAgent), + 'Mobile Safari on Linux renders the selected option incorrectly' + ); + + test('popover: should not have visual regression', async ({ page }) => { + await page.goto(`/src/components/picker-internal/test/basic`); + + await page.setIonViewport(); + + await page.click('#popover'); + + await page.spyOnEvent('ionPopoverDidPresent'); + await page.waitForChanges(); + + expect(await page.screenshot({ fullPage: true })).toMatchSnapshot( + `picker-internal-popover-diff-${page.getSnapshotSettings()}.png` + ); + }); + + test('modal: should not have visual regression', async ({ page }) => { + await page.goto(`/src/components/picker-internal/test/basic`); + + await page.setIonViewport(); + + await page.click('#modal'); + + await page.spyOnEvent('ionModalDidPresent'); + await page.waitForChanges(); + + expect(await page.screenshot({ fullPage: true })).toMatchSnapshot( + `picker-internal-modal-diff-${page.getSnapshotSettings()}.png` + ); + }); + }); +}); diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..4fbcbdb2b5 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..16c9ad9799 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..336a9bac07 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..329c890928 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..d72a206b5e Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..7d6c090650 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..3d93d86c34 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..9a236466c2 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..b1c7e021ca Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..1e20cf210c Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..79b4ac5b2a Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..b38d187dd0 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-inline-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..0325cd15ae Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..cdf1a5422a Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..cd5a104ac4 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..9eb6375a35 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..2212635fbf Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..1ae5d75697 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..311102807e Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..9acfcb2774 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-modal-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..9ba2ac2464 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..24d67bcca8 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..1bdb614718 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..d274e0981a Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..09b936f8e8 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..fadd64985a Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..61b28fc759 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..1721406cb0 Binary files /dev/null and b/core/src/components/picker-internal/test/basic/picker-internal.e2e.ts-snapshots/picker-internal-popover-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/utils/content/index.ts b/core/src/utils/content/index.ts index b3b3c7eb9f..7e7a88bdf4 100644 --- a/core/src/utils/content/index.ts +++ b/core/src/utils/content/index.ts @@ -13,7 +13,7 @@ const ION_CONTENT_CLASS_SELECTOR = '.ion-content-scroll-host'; */ const ION_CONTENT_SELECTOR = `${ION_CONTENT_ELEMENT_SELECTOR}, ${ION_CONTENT_CLASS_SELECTOR}`; -const isIonContent = (el: Element) => el && el.tagName === ION_CONTENT_TAG_NAME; +export const isIonContent = (el: Element) => el && el.tagName === ION_CONTENT_TAG_NAME; /** * Waits for the element host fully initialize before diff --git a/core/src/utils/test/playwright/drag-element.ts b/core/src/utils/test/playwright/drag-element.ts index 4421232662..8cfe6d36d7 100644 --- a/core/src/utils/test/playwright/drag-element.ts +++ b/core/src/utils/test/playwright/drag-element.ts @@ -1,8 +1,13 @@ -import type { Locator } from '@playwright/test'; +import type { ElementHandle, Locator } from '@playwright/test'; import type { E2EPage } from './'; -export const dragElementBy = async (el: Locator, page: E2EPage, dragByX = 0, dragByY = 0) => { +export const dragElementBy = async ( + el: Locator | ElementHandle, + page: E2EPage, + dragByX = 0, + dragByY = 0 +) => { const boundingBox = await el.boundingBox(); if (!boundingBox) { diff --git a/core/src/utils/test/playwright/index.ts b/core/src/utils/test/playwright/index.ts index ef4f136f6c..0b139e0fed 100644 --- a/core/src/utils/test/playwright/index.ts +++ b/core/src/utils/test/playwright/index.ts @@ -2,3 +2,5 @@ export * from './playwright-page'; export * from './playwright-declarations'; export * from './page/event-spy'; export * from './drag-element'; +export * from './matchers'; +export * from './viewports'; diff --git a/core/src/utils/test/playwright/matchers/index.ts b/core/src/utils/test/playwright/matchers/index.ts new file mode 100644 index 0000000000..e8c2900067 --- /dev/null +++ b/core/src/utils/test/playwright/matchers/index.ts @@ -0,0 +1,5 @@ +import { toHaveReceivedEvent } from './toHaveReceivedEvent'; + +export const matchers = { + toHaveReceivedEvent, +}; diff --git a/core/src/utils/test/playwright/matchers/toHaveReceivedEvent.ts b/core/src/utils/test/playwright/matchers/toHaveReceivedEvent.ts new file mode 100644 index 0000000000..b07c37379f --- /dev/null +++ b/core/src/utils/test/playwright/matchers/toHaveReceivedEvent.ts @@ -0,0 +1,28 @@ +import type { EventSpy } from '../page/event-spy'; + +export function toHaveReceivedEvent(eventSpy: EventSpy) { + if (!eventSpy) { + return { + message: () => `expected spy to have received event, but it was not defined`, + pass: false, + }; + } + if (typeof (eventSpy as any).then === 'function') { + return { + message: () => + `expected spy to have received event, but it was not resolved (did you forget an await operator?).`, + pass: false, + }; + } + const pass = eventSpy.events.length > 0; + if (pass) { + return { + message: () => `expected to have called ${eventSpy.eventName} event`, + pass: true, + }; + } + return { + message: () => `expected to have not called ${eventSpy.eventName} event`, + pass: false, + }; +} diff --git a/core/src/utils/test/playwright/page/utils/goto.ts b/core/src/utils/test/playwright/page/utils/goto.ts index 873f1461cc..e0270935d9 100644 --- a/core/src/utils/test/playwright/page/utils/goto.ts +++ b/core/src/utils/test/playwright/page/utils/goto.ts @@ -24,6 +24,18 @@ export const goto = async (page: Page, url: string, testInfo: TestInfo, original const formattedUrl = `${splitUrl[0]}?ionic:_testing=${ionicTesting}&ionic:mode=${formattedMode}&rtl=${formattedRtl}`; + testInfo.annotations.push({ + type: 'mode', + description: formattedMode, + }); + + if (rtl) { + testInfo.annotations.push({ + type: 'rtl', + description: 'true', + }); + } + const result = await Promise.all([ page.waitForFunction(() => (window as any).testAppLoaded === true, { timeout: 4750 }), originalFn(formattedUrl), diff --git a/core/src/utils/test/playwright/page/utils/index.ts b/core/src/utils/test/playwright/page/utils/index.ts index cccfbd8093..4bef8cfc41 100644 --- a/core/src/utils/test/playwright/page/utils/index.ts +++ b/core/src/utils/test/playwright/page/utils/index.ts @@ -3,3 +3,4 @@ export * from './goto'; export * from './get-snapshot-settings'; export * from './set-ion-viewport'; export * from './spy-on-event'; +export * from './set-content'; diff --git a/core/src/utils/test/playwright/page/utils/set-content.ts b/core/src/utils/test/playwright/page/utils/set-content.ts new file mode 100644 index 0000000000..a021946bb5 --- /dev/null +++ b/core/src/utils/test/playwright/page/utils/set-content.ts @@ -0,0 +1,59 @@ +import type { Page } from '@playwright/test'; + +/** + * Overwrites the default Playwright page.setContent method. + * + * Navigates to a blank page, sets the content, and waits for the + * Stencil components to be hydrated before proceeding with the test. + * + * @param page The Playwright page object. + * @param html The HTML content to set on the page. + */ +export const setContent = async (page: Page, html: string) => { + if (page.isClosed()) { + throw new Error('setContent unavailable: page is already closed'); + } + + const baseUrl = process.env.PLAYWRIGHT_TEST_BASE_URL; + + const output = ` + + + + + + + + + + + + + ${html} + + + `; + + if (baseUrl) { + await page.route(baseUrl, (route) => { + if (route.request().url() === `${baseUrl}/`) { + /** + * Intercepts the empty page request and returns the + * HTML content that was passed in. + */ + route.fulfill({ + status: 200, + contentType: 'text/html', + body: output, + }); + } else { + // Allow all other requests to pass through + route.continue(); + } + }); + + await page.goto(`${baseUrl}#`); + } + + await page.waitForFunction(() => (window as any).testAppLoaded === true, { timeout: 4750 }); +}; diff --git a/core/src/utils/test/playwright/playwright-declarations.ts b/core/src/utils/test/playwright/playwright-declarations.ts index 70a0f154d4..11a93886d0 100644 --- a/core/src/utils/test/playwright/playwright-declarations.ts +++ b/core/src/utils/test/playwright/playwright-declarations.ts @@ -43,12 +43,6 @@ export interface E2EPage extends Page { * we need to wait until the changes have been applied to the DOM. */ waitForChanges: (timeoutMs?: number) => Promise; - /** - * Listens on the window for a specific event to be dispatched. - * Will wait a maximum of 5 seconds for the event to be dispatched. - */ - waitForCustomEvent: (eventName: string) => Promise; - /** * Creates a new EventSpy and listens * on the window for an event. diff --git a/core/src/utils/test/playwright/playwright-page.ts b/core/src/utils/test/playwright/playwright-page.ts index 870cb7fe99..2cfa61147c 100644 --- a/core/src/utils/test/playwright/playwright-page.ts +++ b/core/src/utils/test/playwright/playwright-page.ts @@ -8,7 +8,14 @@ import type { import { test as base } from '@playwright/test'; import { initPageEvents } from './page/event-spy'; -import { getSnapshotSettings, goto as goToPage, setIonViewport, spyOnEvent, waitForChanges } from './page/utils'; +import { + getSnapshotSettings, + goto as goToPage, + setContent, + setIonViewport, + spyOnEvent, + waitForChanges, +} from './page/utils'; import type { E2EPage } from './playwright-declarations'; type CustomTestArgs = PlaywrightTestArgs & @@ -28,6 +35,7 @@ export const test = base.extend({ // Overridden Playwright methods page.goto = (url: string) => goToPage(page, url, testInfo, originalGoto); + page.setContent = (html: string) => setContent(page, html); // Custom Ionic methods page.getSnapshotSettings = () => getSnapshotSettings(page, testInfo); page.setIonViewport = () => setIonViewport(page); @@ -35,7 +43,7 @@ export const test = base.extend({ page.spyOnEvent = (eventName: string) => spyOnEvent(page, eventName); // Custom event behavior - initPageEvents(page); + await initPageEvents(page); await use(page); }, diff --git a/core/src/utils/test/playwright/testExpect.d.ts b/core/src/utils/test/playwright/testExpect.d.ts new file mode 100644 index 0000000000..d64692a06a --- /dev/null +++ b/core/src/utils/test/playwright/testExpect.d.ts @@ -0,0 +1,11 @@ +interface CustomMatchers { + /** + * Will check if the event spy received the expected event. + */ + toHaveReceivedEvent(): R; +} + +declare namespace PlaywrightTest { + // eslint-disable-next-line @typescript-eslint/no-empty-interface + interface Matchers extends CustomMatchers {} +} diff --git a/core/src/utils/test/playwright/viewports/index.ts b/core/src/utils/test/playwright/viewports/index.ts new file mode 100644 index 0000000000..2c46da9f80 --- /dev/null +++ b/core/src/utils/test/playwright/viewports/index.ts @@ -0,0 +1,8 @@ +export const Viewports = { + tablet: { + portrait: { + width: 768, + height: 900, + }, + }, +}; diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 3e91a242b2..87fd389c39 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. +## [6.1.4](https://github.com/ionic-team/ionic-docs/compare/v6.1.3...v6.1.4) (2022-05-04) + +**Note:** Version bump only for package @ionic/docs + + + + + ## [6.1.3](https://github.com/ionic-team/ionic-docs/compare/v6.1.2...v6.1.3) (2022-04-27) **Note:** Version bump only for package @ionic/docs diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 0000000000..5a1fb62ec2 --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,13 @@ +{ + "name": "@ionic/docs", + "version": "6.1.4", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@ionic/docs", + "version": "6.1.4", + "license": "MIT" + } + } +} diff --git a/docs/package.json b/docs/package.json index d46d501771..babd9e8957 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/docs", - "version": "6.1.3", + "version": "6.1.4", "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 043baec740..c80382a6af 100644 --- a/lerna.json +++ b/lerna.json @@ -5,5 +5,5 @@ "angular", "packages/*" ], - "version": "6.1.3" + "version": "6.1.4" } diff --git a/packages/angular-server/CHANGELOG.md b/packages/angular-server/CHANGELOG.md index 28374ab4fc..c62927f57e 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. +## [6.1.4](https://github.com/ionic-team/ionic/compare/v6.1.3...v6.1.4) (2022-05-04) + +**Note:** Version bump only for package @ionic/angular-server + + + + + ## [6.1.3](https://github.com/ionic-team/ionic/compare/v6.1.2...v6.1.3) (2022-04-27) **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 a3e56f1609..5ed9ac0acf 100644 --- a/packages/angular-server/package-lock.json +++ b/packages/angular-server/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ionic/angular-server", - "version": "6.1.3", + "version": "6.1.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/angular-server", - "version": "6.0.2", + "version": "6.1.4", "license": "MIT", "devDependencies": { "@angular-eslint/eslint-plugin": "^12.6.1", @@ -18,7 +18,7 @@ "@angular/platform-browser": "^12.0.0", "@angular/platform-browser-dynamic": "^12.2.10", "@angular/platform-server": "^12.0.0", - "@ionic/core": "^6.0.2", + "@ionic/core": "^6.1.4", "@ionic/eslint-config": "^0.3.0", "@ionic/prettier-config": "^2.0.0", "@typescript-eslint/eslint-plugin": "^5.2.0", @@ -269,6 +269,19 @@ "dev": true, "license": "0BSD" }, + "node_modules/@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "dev": true, + "dependencies": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + }, + "peerDependencies": { + "playwright": ">= 1.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.16.0", "dev": true, @@ -786,12 +799,13 @@ "license": "BSD-3-Clause" }, "node_modules/@ionic/core": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.0.2.tgz", - "integrity": "sha512-PE1dfI+klx9sNBFWLLX06jlP05ciQ2rvAJOJTJeo0ydqiIaK1ZELByRwjxaRC29QMXEuiCwANesmVIKScHHz8w==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "dev": true, "dependencies": { - "@stencil/core": "~2.12.0", + "@axe-core/playwright": "^4.4.2", + "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" } @@ -1158,9 +1172,9 @@ "license": "MIT" }, "node_modules/@stencil/core": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.12.1.tgz", - "integrity": "sha512-u24TZ+FEvjnZt5ZgIkLjLpUNsO6Ml3mUZqwmqk81w6RWWz75hgB5p4RFI5rvuErFeh2xvMIGo+pNdG24XUBz1A==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.15.1.tgz", + "integrity": "sha512-NYjRwQnjzscyFfqK+iIwRdr/dgYn33u6KE7kyQWdi7xsCkqMHalXYgJlN/QBQ9PN3qXmXKeBrJNG8EkNdCbK5g==", "dev": true, "bin": { "stencil": "bin/stencil" @@ -1198,6 +1212,16 @@ "@types/node": "*" } }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.6.0", "dev": true, @@ -1741,6 +1765,41 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "node_modules/aggregate-error": { "version": "3.1.0", "dev": true, @@ -1898,6 +1957,15 @@ "url": "https://opencollective.com/postcss/" } }, + "node_modules/axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/balanced-match": { "version": "1.0.0", "dev": true, @@ -2005,6 +2073,15 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/builtin-modules": { "version": "3.2.0", "dev": true, @@ -2191,6 +2268,15 @@ "dev": true, "license": "MIT" }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/commander": { "version": "8.3.0", "dev": true, @@ -2466,6 +2552,15 @@ "dev": true, "license": "MIT" }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/enquirer": { "version": "2.3.6", "dev": true, @@ -3063,6 +3158,49 @@ "node": ">=0.10.0" } }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/extract-zip/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "dev": true, @@ -3101,6 +3239,15 @@ "reusify": "^1.0.4" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "dev": true, @@ -3327,6 +3474,21 @@ "node": ">=4" } }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.0.0", "dev": true, @@ -3402,8 +3564,7 @@ "node_modules/graceful-fs": { "version": "4.2.8", "dev": true, - "license": "ISC", - "optional": true + "license": "ISC" }, "node_modules/has": { "version": "1.0.3", @@ -3457,6 +3618,42 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "node_modules/iconv-lite": { "version": "0.4.24", "dev": true, @@ -3616,6 +3813,12 @@ "npm": ">=6.0.0" } }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, "node_modules/is-bigint": { "version": "1.0.4", "dev": true, @@ -3853,6 +4056,12 @@ "dev": true, "license": "ISC" }, + "node_modules/jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==", + "dev": true + }, "node_modules/js-tokens": { "version": "4.0.0", "dev": true, @@ -4629,6 +4838,12 @@ "node": ">=8" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, "node_modules/picocolors": { "version": "1.0.0", "dev": true, @@ -4654,6 +4869,27 @@ "node": ">=6" } }, + "node_modules/pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "dev": true, + "dependencies": { + "pngjs": "^4.0.1" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/pkg-dir": { "version": "2.0.0", "dev": true, @@ -4665,6 +4901,98 @@ "node": ">=4" } }, + "node_modules/playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "playwright-core": "1.21.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "dev": true, + "dependencies": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/playwright-core/node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/playwright-core/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "dev": true, + "engines": { + "node": ">=12.13.0" + } + }, "node_modules/postcss": { "version": "8.4.5", "dev": true, @@ -5791,12 +6119,39 @@ "dev": true, "license": "ISC" }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/prr": { "version": "1.0.1", "dev": true, "license": "MIT", "optional": true }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.1.1", "dev": true, @@ -5917,6 +6272,15 @@ "node": ">=8" } }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/reusify": { "version": "1.0.4", "dev": true, @@ -6102,6 +6466,67 @@ "node": ">=8" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dev": true, + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/socks-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socks-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "node_modules/source-map": { "version": "0.6.1", "dev": true, @@ -6151,6 +6576,27 @@ "node": ">= 8" } }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "dev": true, @@ -6578,6 +7024,27 @@ "dev": true, "license": "ISC" }, + "node_modules/ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/xhr2": { "version": "0.2.1", "dev": true, @@ -6631,6 +7098,25 @@ "engines": { "node": ">=12" } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3" + } } }, "dependencies": { @@ -6780,6 +7266,16 @@ } } }, + "@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "dev": true, + "requires": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + } + }, "@babel/code-frame": { "version": "7.16.0", "dev": true, @@ -7116,12 +7612,13 @@ "dev": true }, "@ionic/core": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.0.2.tgz", - "integrity": "sha512-PE1dfI+klx9sNBFWLLX06jlP05ciQ2rvAJOJTJeo0ydqiIaK1ZELByRwjxaRC29QMXEuiCwANesmVIKScHHz8w==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "dev": true, "requires": { - "@stencil/core": "~2.12.0", + "@axe-core/playwright": "^4.4.2", + "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" }, @@ -7337,9 +7834,9 @@ } }, "@stencil/core": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.12.1.tgz", - "integrity": "sha512-u24TZ+FEvjnZt5ZgIkLjLpUNsO6Ml3mUZqwmqk81w6RWWz75hgB5p4RFI5rvuErFeh2xvMIGo+pNdG24XUBz1A==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.15.1.tgz", + "integrity": "sha512-NYjRwQnjzscyFfqK+iIwRdr/dgYn33u6KE7kyQWdi7xsCkqMHalXYgJlN/QBQ9PN3qXmXKeBrJNG8EkNdCbK5g==", "dev": true }, "@types/estree": { @@ -7365,6 +7862,16 @@ "@types/node": "*" } }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@typescript-eslint/eslint-plugin": { "version": "5.6.0", "dev": true, @@ -7635,6 +8142,32 @@ "version": "5.3.2", "dev": true }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, "aggregate-error": { "version": "3.1.0", "dev": true, @@ -7731,6 +8264,12 @@ } } }, + "axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==", + "dev": true + }, "balanced-match": { "version": "1.0.0", "dev": true @@ -7786,6 +8325,12 @@ "ieee754": "^1.1.13" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, "builtin-modules": { "version": "3.2.0", "dev": true @@ -7906,6 +8451,12 @@ "version": "1.1.3", "dev": true }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, "commander": { "version": "8.3.0", "dev": true @@ -8090,6 +8641,15 @@ "version": "8.0.0", "dev": true }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, "enquirer": { "version": "2.3.6", "dev": true, @@ -8484,6 +9044,35 @@ "version": "2.0.3", "dev": true }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, "fast-deep-equal": { "version": "3.1.3", "dev": true @@ -8514,6 +9103,15 @@ "reusify": "^1.0.4" } }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, "file-entry-cache": { "version": "6.0.1", "dev": true, @@ -8655,6 +9253,15 @@ "version": "6.0.0", "dev": true }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, "get-symbol-description": { "version": "1.0.0", "dev": true, @@ -8700,8 +9307,7 @@ }, "graceful-fs": { "version": "4.2.8", - "dev": true, - "optional": true + "dev": true }, "has": { "version": "1.0.3", @@ -8729,6 +9335,33 @@ "has-symbols": "^1.0.2" } }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, "iconv-lite": { "version": "0.4.24", "dev": true, @@ -8829,6 +9462,12 @@ } } }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, "is-bigint": { "version": "1.0.4", "dev": true, @@ -8959,6 +9598,12 @@ "version": "2.0.0", "dev": true }, + "jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==", + "dev": true + }, "js-tokens": { "version": "4.0.0", "dev": true @@ -9451,6 +10096,12 @@ "version": "4.0.0", "dev": true }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, "picocolors": { "version": "1.0.0", "dev": true @@ -9464,6 +10115,23 @@ "dev": true, "optional": true }, + "pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "dev": true, + "requires": { + "pngjs": "^4.0.1" + }, + "dependencies": { + "pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==", + "dev": true + } + } + }, "pkg-dir": { "version": "2.0.0", "dev": true, @@ -9471,6 +10139,70 @@ "find-up": "^2.1.0" } }, + "playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "dev": true, + "requires": { + "playwright-core": "1.21.1" + } + }, + "playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "dev": true, + "requires": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "dev": true + }, "postcss": { "version": "8.4.5", "dev": true, @@ -10232,11 +10964,38 @@ "version": "1.0.1", "dev": true }, + "proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "prr": { "version": "1.0.1", "dev": true, "optional": true }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "punycode": { "version": "2.1.1", "dev": true @@ -10301,6 +11060,12 @@ "signal-exit": "^3.0.2" } }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, "reusify": { "version": "1.0.4", "dev": true @@ -10405,6 +11170,50 @@ "version": "3.0.0", "dev": true }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, + "socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dev": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, "source-map": { "version": "0.6.1", "dev": true @@ -10439,6 +11248,23 @@ "minipass": "^3.1.1" } }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, "string_decoder": { "version": "1.3.0", "dev": true, @@ -10714,6 +11540,12 @@ "version": "1.0.2", "dev": true }, + "ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", + "dev": true + }, "xhr2": { "version": "0.2.1", "dev": true @@ -10749,6 +11581,25 @@ "yargs-parser": { "version": "21.0.0", "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3" + } } } } diff --git a/packages/angular-server/package.json b/packages/angular-server/package.json index 0d8d954fa5..2781da88bb 100644 --- a/packages/angular-server/package.json +++ b/packages/angular-server/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/angular-server", - "version": "6.1.3", + "version": "6.1.4", "description": "Angular SSR Module for Ionic", "keywords": [ "ionic", @@ -56,7 +56,7 @@ "@angular/platform-browser": "^12.0.0", "@angular/platform-browser-dynamic": "^12.2.10", "@angular/platform-server": "^12.0.0", - "@ionic/core": "^6.1.3", + "@ionic/core": "^6.1.4", "@ionic/eslint-config": "^0.3.0", "@ionic/prettier-config": "^2.0.0", "@typescript-eslint/eslint-plugin": "^5.2.0", diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index 55de0c105c..4fe4160ea3 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. +## [6.1.4](https://github.com/ionic-team/ionic/compare/v6.1.3...v6.1.4) (2022-05-04) + +**Note:** Version bump only for package @ionic/react-router + + + + + ## [6.1.3](https://github.com/ionic-team/ionic/compare/v6.1.2...v6.1.3) (2022-04-27) **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 2e8986f12a..eeaef1bdd0 100644 --- a/packages/react-router/package-lock.json +++ b/packages/react-router/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/react-router", - "version": "6.1.3", + "version": "6.1.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/react-router", - "version": "6.0.1", + "version": "6.1.4", "license": "MIT", "dependencies": { - "@ionic/react": "6.0.0", + "@ionic/react": "^6.1.4", "tslib": "*" }, "devDependencies": { @@ -40,6 +40,18 @@ "react-router-dom": "^5.0.1" } }, + "node_modules/@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "dependencies": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + }, + "peerDependencies": { + "playwright": ">= 1.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.16.0", "dev": true, @@ -148,21 +160,22 @@ } }, "node_modules/@ionic/core": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.0.0.tgz", - "integrity": "sha512-3e5EJhDebK4pCiFREpNB95o2kBSAdhRb3eMsBDOCYWYuFlcZEOGOpiGx+kYF/klYVQnB45UXAmR8nCX1indmHQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "dependencies": { - "@stencil/core": "~2.11.0-0", + "@axe-core/playwright": "^4.4.2", + "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" } }, "node_modules/@ionic/react": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-6.0.0.tgz", - "integrity": "sha512-PX66J43AExnxw+7ib71G/uMs//5ZH7Rui8dYJ+fO4F08Dq6IpSnvPBs3Fik4szKlmeFSjkDmKsD7+V2HhbOJvw==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-6.1.4.tgz", + "integrity": "sha512-2iBNy5+Jy3yZrBsL99THmmShiGJV9XRciHpNxdMNWmbaQIBPK+Z1QBP32bB2HYfxRyxVqgmZX4YAdzRnLd1ywQ==", "dependencies": { - "@ionic/core": "6.0.0", + "@ionic/core": "^6.1.4", "ionicons": "^6.0.0", "tslib": "*" }, @@ -246,9 +259,9 @@ } }, "node_modules/@stencil/core": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.11.0.tgz", - "integrity": "sha512-/IubCWhVXCguyMUp/3zGrg3c882+RJNg/zpiKfyfJL3kRCOwe+/MD8OoAXVGdd+xAohZKIi1Ik+EHFlsptsjLg==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.15.1.tgz", + "integrity": "sha512-NYjRwQnjzscyFfqK+iIwRdr/dgYn33u6KE7kyQWdi7xsCkqMHalXYgJlN/QBQ9PN3qXmXKeBrJNG8EkNdCbK5g==", "bin": { "stencil": "bin/stencil" }, @@ -323,7 +336,7 @@ }, "node_modules/@types/node": { "version": "14.18.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/normalize-package-data": { @@ -393,6 +406,26 @@ "@types/node": "*" } }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "dev": true, @@ -530,9 +563,16 @@ "node": ">= 4.5.0" } }, + "node_modules/axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==", + "engines": { + "node": ">=4" + } + }, "node_modules/balanced-match": { "version": "1.0.2", - "dev": true, "license": "MIT" }, "node_modules/boxen": { @@ -566,13 +606,20 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "engines": { + "node": "*" + } + }, "node_modules/builtin-modules": { "version": "3.2.0", "dev": true, @@ -805,6 +852,14 @@ "dev": true, "license": "MIT" }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/commander": { "version": "2.20.3", "dev": true, @@ -812,7 +867,6 @@ }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, "license": "MIT" }, "node_modules/configstore": { @@ -877,6 +931,22 @@ "dev": true, "license": "MIT" }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/decamelize": { "version": "1.2.0", "dev": true, @@ -1031,7 +1101,6 @@ }, "node_modules/end-of-stream": { "version": "1.4.4", - "dev": true, "license": "MIT", "dependencies": { "once": "^1.4.0" @@ -1058,7 +1127,6 @@ }, "node_modules/escape-string-regexp": { "version": "2.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -1123,6 +1191,33 @@ "node": ">=4" } }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/figures": { "version": "3.2.0", "dev": true, @@ -1159,7 +1254,6 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/fsevents": { @@ -1181,7 +1275,6 @@ }, "node_modules/get-stream": { "version": "5.2.0", - "dev": true, "license": "MIT", "dependencies": { "pump": "^3.0.0" @@ -1200,7 +1293,6 @@ }, "node_modules/glob": { "version": "7.2.0", - "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -1295,7 +1387,6 @@ }, "node_modules/graceful-fs": { "version": "4.2.8", - "dev": true, "license": "ISC" }, "node_modules/hard-rejection": { @@ -1389,6 +1480,18 @@ "dev": true, "license": "BSD-2-Clause" }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/human-signals": { "version": "1.1.1", "dev": true, @@ -1449,7 +1552,6 @@ }, "node_modules/inflight": { "version": "1.0.6", - "dev": true, "license": "ISC", "dependencies": { "once": "^1.3.0", @@ -1458,7 +1560,6 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, "license": "ISC" }, "node_modules/ini": { @@ -1731,17 +1832,17 @@ } }, "node_modules/ionicons": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.0.tgz", - "integrity": "sha512-p83W1T8jZUlllHAjuIWaDQbI36OYqdrwcf8MhYbKW7+9rjGlCMP9+5OaR0W7tl0QfM004uAiy/zkc7HTpDNKgA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.1.tgz", + "integrity": "sha512-xQekOJsxH82O7oB+3F60zeRggCdND9pJ/k0E6IJDVUGGlCj5mlyFqNgxUimytKgstPGv3S+3EmCxjefvtGgWUg==", "dependencies": { - "@stencil/core": "~2.10.0" + "@stencil/core": "~2.12.0" } }, "node_modules/ionicons/node_modules/@stencil/core": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.10.0.tgz", - "integrity": "sha512-15rWMTPQ/sp0lSV82HVCXkIya3QLN+uBl7pqK4JnTrp4HiLrzLmNbWjbvgCs55gw0lULbCIGbRIEsFz+Pe/Q+A==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.12.1.tgz", + "integrity": "sha512-u24TZ+FEvjnZt5ZgIkLjLpUNsO6Ml3mUZqwmqk81w6RWWz75hgB5p4RFI5rvuErFeh2xvMIGo+pNdG24XUBz1A==", "bin": { "stencil": "bin/stencil" }, @@ -1750,6 +1851,11 @@ "npm": ">=6.0.0" } }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "node_modules/is-arrayish": { "version": "0.2.1", "dev": true, @@ -1969,6 +2075,11 @@ "node": ">=10" } }, + "node_modules/jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, "node_modules/js-tokens": { "version": "4.0.0", "dev": true, @@ -2596,6 +2707,17 @@ "dev": true, "license": "MIT" }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/mimic-fn": { "version": "2.1.0", "dev": true, @@ -2638,7 +2760,6 @@ }, "node_modules/minimatch": { "version": "3.0.4", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -2676,6 +2797,11 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "node_modules/mute-stream": { "version": "0.0.8", "dev": true, @@ -2851,7 +2977,6 @@ }, "node_modules/once": { "version": "1.4.0", - "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -3247,7 +3372,6 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -3287,6 +3411,11 @@ "node": ">=8" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "node_modules/picomatch": { "version": "2.3.0", "dev": true, @@ -3325,6 +3454,25 @@ "node": ">=0.10.0" } }, + "node_modules/pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "dependencies": { + "pngjs": "^4.0.1" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "dev": true, @@ -3336,6 +3484,68 @@ "node": ">=8" } }, + "node_modules/playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "hasInstallScript": true, + "dependencies": { + "playwright-core": "1.21.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "dependencies": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "engines": { + "node": ">=12.13.0" + } + }, "node_modules/prepend-http": { "version": "2.0.0", "dev": true, @@ -3355,6 +3565,14 @@ "node": ">=10.13.0" } }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/prop-types": { "version": "15.7.2", "dev": true, @@ -3365,9 +3583,23 @@ "react-is": "^16.8.1" } }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/pump": { "version": "3.0.0", - "dev": true, "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", @@ -3622,9 +3854,16 @@ "node": ">=8" } }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "engines": { + "node": ">= 4" + } + }, "node_modules/rimraf": { "version": "3.0.2", - "dev": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -3771,7 +4010,6 @@ }, "node_modules/signal-exit": { "version": "3.0.6", - "dev": true, "license": "ISC" }, "node_modules/slice-ansi": { @@ -3782,6 +4020,41 @@ "node": ">=0.10.0" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/source-map-resolve": { "version": "0.6.0", "dev": true, @@ -3835,6 +4108,17 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/string-width": { "version": "4.2.3", "dev": true, @@ -4380,7 +4664,6 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, "license": "ISC" }, "node_modules/write-file-atomic": { @@ -4394,6 +4677,26 @@ "typedarray-to-buffer": "^3.1.5" } }, + "node_modules/ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/xdg-basedir": { "version": "4.0.0", "dev": true, @@ -4426,9 +4729,35 @@ "engines": { "node": ">=6" } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dependencies": { + "buffer-crc32": "~0.2.3" + } } }, "dependencies": { + "@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "requires": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + } + }, "@babel/code-frame": { "version": "7.16.0", "dev": true, @@ -4501,21 +4830,22 @@ } }, "@ionic/core": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.0.0.tgz", - "integrity": "sha512-3e5EJhDebK4pCiFREpNB95o2kBSAdhRb3eMsBDOCYWYuFlcZEOGOpiGx+kYF/klYVQnB45UXAmR8nCX1indmHQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "requires": { - "@stencil/core": "~2.11.0-0", + "@axe-core/playwright": "^4.4.2", + "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" } }, "@ionic/react": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-6.0.0.tgz", - "integrity": "sha512-PX66J43AExnxw+7ib71G/uMs//5ZH7Rui8dYJ+fO4F08Dq6IpSnvPBs3Fik4szKlmeFSjkDmKsD7+V2HhbOJvw==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-6.1.4.tgz", + "integrity": "sha512-2iBNy5+Jy3yZrBsL99THmmShiGJV9XRciHpNxdMNWmbaQIBPK+Z1QBP32bB2HYfxRyxVqgmZX4YAdzRnLd1ywQ==", "requires": { - "@ionic/core": "6.0.0", + "@ionic/core": "^6.1.4", "ionicons": "^6.0.0", "tslib": "*" } @@ -4560,9 +4890,9 @@ "dev": true }, "@stencil/core": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.11.0.tgz", - "integrity": "sha512-/IubCWhVXCguyMUp/3zGrg3c882+RJNg/zpiKfyfJL3kRCOwe+/MD8OoAXVGdd+xAohZKIi1Ik+EHFlsptsjLg==" + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.15.1.tgz", + "integrity": "sha512-NYjRwQnjzscyFfqK+iIwRdr/dgYn33u6KE7kyQWdi7xsCkqMHalXYgJlN/QBQ9PN3qXmXKeBrJNG8EkNdCbK5g==" }, "@szmarczak/http-timer": { "version": "4.0.6", @@ -4618,7 +4948,7 @@ }, "@types/node": { "version": "14.18.0", - "dev": true + "devOptional": true }, "@types/normalize-package-data": { "version": "2.4.1", @@ -4678,6 +5008,23 @@ "@types/node": "*" } }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, "aggregate-error": { "version": "3.1.0", "dev": true, @@ -4751,9 +5098,13 @@ "version": "2.1.2", "dev": true }, + "axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==" + }, "balanced-match": { - "version": "1.0.2", - "dev": true + "version": "1.0.2" }, "boxen": { "version": "4.2.0", @@ -4777,12 +5128,16 @@ }, "brace-expansion": { "version": "1.1.11", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, "builtin-modules": { "version": "3.2.0", "dev": true @@ -4929,13 +5284,17 @@ "version": "1.1.4", "dev": true }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, "commander": { "version": "2.20.3", "dev": true }, "concat-map": { - "version": "0.0.1", - "dev": true + "version": "0.0.1" }, "configstore": { "version": "5.0.1", @@ -4981,6 +5340,14 @@ "version": "1.30.1", "dev": true }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, "decamelize": { "version": "1.2.0", "dev": true @@ -5081,7 +5448,6 @@ }, "end-of-stream": { "version": "1.4.4", - "dev": true, "requires": { "once": "^1.4.0" } @@ -5098,8 +5464,7 @@ "dev": true }, "escape-string-regexp": { - "version": "2.0.0", - "dev": true + "version": "2.0.0" }, "esprima": { "version": "4.0.1", @@ -5137,6 +5502,25 @@ "tmp": "^0.0.33" } }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, "figures": { "version": "3.2.0", "dev": true, @@ -5159,8 +5543,7 @@ } }, "fs.realpath": { - "version": "1.0.0", - "dev": true + "version": "1.0.0" }, "fsevents": { "version": "2.3.2", @@ -5173,7 +5556,6 @@ }, "get-stream": { "version": "5.2.0", - "dev": true, "requires": { "pump": "^3.0.0" } @@ -5184,7 +5566,6 @@ }, "glob": { "version": "7.2.0", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5246,8 +5627,7 @@ } }, "graceful-fs": { - "version": "4.2.8", - "dev": true + "version": "4.2.8" }, "hard-rejection": { "version": "2.1.0", @@ -5311,6 +5691,15 @@ "version": "4.1.0", "dev": true }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "human-signals": { "version": "1.1.1", "dev": true @@ -5344,15 +5733,13 @@ }, "inflight": { "version": "1.0.6", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.4", - "dev": true + "version": "2.0.4" }, "ini": { "version": "1.3.7", @@ -5541,20 +5928,25 @@ } }, "ionicons": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.0.tgz", - "integrity": "sha512-p83W1T8jZUlllHAjuIWaDQbI36OYqdrwcf8MhYbKW7+9rjGlCMP9+5OaR0W7tl0QfM004uAiy/zkc7HTpDNKgA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.1.tgz", + "integrity": "sha512-xQekOJsxH82O7oB+3F60zeRggCdND9pJ/k0E6IJDVUGGlCj5mlyFqNgxUimytKgstPGv3S+3EmCxjefvtGgWUg==", "requires": { - "@stencil/core": "~2.10.0" + "@stencil/core": "~2.12.0" }, "dependencies": { "@stencil/core": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.10.0.tgz", - "integrity": "sha512-15rWMTPQ/sp0lSV82HVCXkIya3QLN+uBl7pqK4JnTrp4HiLrzLmNbWjbvgCs55gw0lULbCIGbRIEsFz+Pe/Q+A==" + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.12.1.tgz", + "integrity": "sha512-u24TZ+FEvjnZt5ZgIkLjLpUNsO6Ml3mUZqwmqk81w6RWWz75hgB5p4RFI5rvuErFeh2xvMIGo+pNdG24XUBz1A==" } } }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "is-arrayish": { "version": "0.2.1", "dev": true @@ -5682,6 +6074,11 @@ "version": "3.1.0", "dev": true }, + "jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, "js-tokens": { "version": "4.0.0", "dev": true @@ -6096,6 +6493,11 @@ "version": "2.0.0", "dev": true }, + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" + }, "mimic-fn": { "version": "2.1.0", "dev": true @@ -6118,7 +6520,6 @@ }, "minimatch": { "version": "3.0.4", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6143,6 +6544,11 @@ "minimist": "^1.2.5" } }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "mute-stream": { "version": "0.0.8", "dev": true @@ -6266,7 +6672,6 @@ }, "once": { "version": "1.4.0", - "dev": true, "requires": { "wrappy": "1" } @@ -6510,8 +6915,7 @@ "dev": true }, "path-is-absolute": { - "version": "1.0.1", - "dev": true + "version": "1.0.1" }, "path-is-inside": { "version": "1.0.2", @@ -6536,6 +6940,11 @@ "version": "4.0.0", "dev": true }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "picomatch": { "version": "2.3.0", "dev": true @@ -6555,6 +6964,21 @@ "pinkie": "^2.0.0" } }, + "pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "requires": { + "pngjs": "^4.0.1" + }, + "dependencies": { + "pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==" + } + } + }, "pkg-dir": { "version": "4.2.0", "dev": true, @@ -6562,6 +6986,51 @@ "find-up": "^4.0.0" } }, + "playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "requires": { + "playwright-core": "1.21.1" + } + }, + "playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "requires": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + } + } + }, + "pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==" + }, "prepend-http": { "version": "2.0.0", "dev": true @@ -6570,6 +7039,11 @@ "version": "2.5.1", "dev": true }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, "prop-types": { "version": "15.7.2", "dev": true, @@ -6579,9 +7053,23 @@ "react-is": "^16.8.1" } }, + "proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "requires": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "pump": { "version": "3.0.0", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -6760,9 +7248,13 @@ "signal-exit": "^3.0.2" } }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, "rimraf": { "version": "3.0.2", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -6847,13 +7339,36 @@ "dev": true }, "signal-exit": { - "version": "3.0.6", - "dev": true + "version": "3.0.6" }, "slice-ansi": { "version": "0.0.4", "dev": true }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + } + }, "source-map-resolve": { "version": "0.6.0", "dev": true, @@ -6897,6 +7412,14 @@ "version": "1.0.3", "dev": true }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, "string-width": { "version": "4.2.3", "dev": true, @@ -7248,8 +7771,7 @@ } }, "wrappy": { - "version": "1.0.2", - "dev": true + "version": "1.0.2" }, "write-file-atomic": { "version": "3.0.3", @@ -7261,6 +7783,11 @@ "typedarray-to-buffer": "^3.1.5" } }, + "ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==" + }, "xdg-basedir": { "version": "4.0.0", "dev": true @@ -7280,6 +7807,23 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "requires": { + "buffer-crc32": "~0.2.3" + } } } } diff --git a/packages/react-router/package.json b/packages/react-router/package.json index e8052d2e83..1bc7706a20 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/react-router", - "version": "6.1.3", + "version": "6.1.4", "description": "React Router wrapper for @ionic/react", "keywords": [ "ionic", @@ -37,7 +37,7 @@ "dist/" ], "dependencies": { - "@ionic/react": "^6.1.3", + "@ionic/react": "^6.1.4", "tslib": "*" }, "peerDependencies": { diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index e21dc7d25c..e3c08da207 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.4](https://github.com/ionic-team/ionic/compare/v6.1.3...v6.1.4) (2022-05-04) + + +### Bug Fixes + +* **react:** useIonModal/useIonPopover dismiss accepts data and role ([#25209](https://github.com/ionic-team/ionic/issues/25209)) ([68b2f8b](https://github.com/ionic-team/ionic/commit/68b2f8bfe10946580b996e48c4ec1e2df94b8d49)), closes [#25208](https://github.com/ionic-team/ionic/issues/25208) + + + + + ## [6.1.3](https://github.com/ionic-team/ionic/compare/v6.1.2...v6.1.3) (2022-04-27) diff --git a/packages/react/package-lock.json b/packages/react/package-lock.json index 40ee864203..fb5789944c 100644 --- a/packages/react/package-lock.json +++ b/packages/react/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/react", - "version": "6.1.3", + "version": "6.1.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/react", - "version": "6.1.3", + "version": "6.1.4", "license": "MIT", "dependencies": { - "@ionic/core": "^6.1.3", + "@ionic/core": "^6.1.4", "ionicons": "^6.0.0", "tslib": "*" }, @@ -43,6 +43,18 @@ "react-dom": ">=16.8.6" } }, + "node_modules/@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "dependencies": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + }, + "peerDependencies": { + "playwright": ">= 1.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.16.0", "dev": true, @@ -607,10 +619,11 @@ } }, "node_modules/@ionic/core": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.3.tgz", - "integrity": "sha512-levKZw7wqfPZylx+DsG0sca7/ymKNo9/Hjf1qhXjU4xlALHVhU2c8LaAXmi1s47YGKrkOZYC5d/siUfjb9Kh4Q==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "dependencies": { + "@axe-core/playwright": "^4.4.2", "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" @@ -1299,7 +1312,7 @@ }, "node_modules/@types/node": { "version": "14.18.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/normalize-package-data": { @@ -1389,6 +1402,15 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/abab": { "version": "2.0.5", "dev": true, @@ -1435,7 +1457,6 @@ }, "node_modules/agent-base": { "version": "6.0.2", - "dev": true, "license": "MIT", "dependencies": { "debug": "4" @@ -1654,6 +1675,14 @@ "node": ">= 4.5.0" } }, + "node_modules/axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==", + "engines": { + "node": ">=4" + } + }, "node_modules/babel-jest": { "version": "26.6.3", "dev": true, @@ -1773,7 +1802,6 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "dev": true, "license": "MIT" }, "node_modules/base": { @@ -1835,7 +1863,6 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -1899,6 +1926,14 @@ "node-int64": "^0.4.0" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "engines": { + "node": "*" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "dev": true, @@ -2327,6 +2362,14 @@ "dev": true, "license": "MIT" }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "dev": true, @@ -2350,7 +2393,6 @@ }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, "license": "MIT" }, "node_modules/configstore": { @@ -2492,7 +2534,6 @@ }, "node_modules/debug": { "version": "4.3.3", - "dev": true, "license": "MIT", "dependencies": { "ms": "2.1.2" @@ -2753,7 +2794,6 @@ }, "node_modules/end-of-stream": { "version": "1.4.4", - "dev": true, "license": "MIT", "dependencies": { "once": "^1.4.0" @@ -2788,7 +2828,6 @@ }, "node_modules/escape-string-regexp": { "version": "2.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -3096,6 +3135,25 @@ "node": ">=0.10.0" } }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "dev": true, @@ -3114,6 +3172,14 @@ "bser": "2.1.1" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/figures": { "version": "3.2.0", "dev": true, @@ -3207,7 +3273,6 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/fsevents": { @@ -3253,7 +3318,6 @@ }, "node_modules/get-stream": { "version": "5.2.0", - "dev": true, "license": "MIT", "dependencies": { "pump": "^3.0.0" @@ -3280,7 +3344,6 @@ }, "node_modules/glob": { "version": "7.2.0", - "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -3383,7 +3446,6 @@ }, "node_modules/graceful-fs": { "version": "4.2.8", - "dev": true, "license": "ISC" }, "node_modules/growly": { @@ -3551,7 +3613,6 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.0", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "6", @@ -3644,7 +3705,6 @@ }, "node_modules/inflight": { "version": "1.0.6", - "dev": true, "license": "ISC", "dependencies": { "once": "^1.3.0", @@ -3653,7 +3713,6 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, "license": "ISC" }, "node_modules/ini": { @@ -3945,6 +4004,11 @@ "npm": ">=6.0.0" } }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "node_modules/is-accessor-descriptor": { "version": "1.0.0", "dev": true, @@ -5066,6 +5130,11 @@ "node": ">= 10.13.0" } }, + "node_modules/jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, "node_modules/js-tokens": { "version": "4.0.0", "dev": true, @@ -5846,6 +5915,17 @@ "node": ">=8.6" } }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/mime-db": { "version": "1.51.0", "dev": true, @@ -5894,7 +5974,6 @@ }, "node_modules/minimatch": { "version": "3.0.4", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -5946,7 +6025,6 @@ }, "node_modules/ms": { "version": "2.1.2", - "dev": true, "license": "MIT" }, "node_modules/mute-stream": { @@ -6321,7 +6399,6 @@ }, "node_modules/once": { "version": "1.4.0", - "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -6749,7 +6826,6 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -6781,6 +6857,11 @@ "node": ">=8" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "node_modules/picocolors": { "version": "1.0.0", "dev": true, @@ -6832,6 +6913,25 @@ "node": ">= 6" } }, + "node_modules/pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "dependencies": { + "pngjs": "^4.0.1" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "dev": true, @@ -6843,6 +6943,88 @@ "node": ">=8" } }, + "node_modules/playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "hasInstallScript": true, + "dependencies": { + "playwright-core": "1.21.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "dependencies": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/playwright-core/node_modules/ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "engines": { + "node": ">=12.13.0" + } + }, "node_modules/posix-character-classes": { "version": "0.1.1", "dev": true, @@ -6891,6 +7073,14 @@ "node": ">= 10" } }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/prompts": { "version": "2.4.2", "dev": true, @@ -6918,6 +7108,21 @@ "dev": true, "license": "MIT" }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/psl": { "version": "1.8.0", "dev": true, @@ -6925,7 +7130,6 @@ }, "node_modules/pump": { "version": "3.0.0", - "dev": true, "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", @@ -7231,9 +7435,16 @@ "node": ">=0.12" } }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "engines": { + "node": ">= 4" + } + }, "node_modules/rimraf": { "version": "3.0.2", - "dev": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -7713,7 +7924,6 @@ }, "node_modules/signal-exit": { "version": "3.0.6", - "dev": true, "license": "ISC" }, "node_modules/sisteransi": { @@ -7737,6 +7947,15 @@ "node": ">=0.10.0" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, "node_modules/snapdragon": { "version": "0.8.2", "dev": true, @@ -7929,6 +8148,32 @@ "urix": "^0.1.0" } }, + "node_modules/socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/source-map": { "version": "0.6.1", "dev": true, @@ -8017,7 +8262,6 @@ }, "node_modules/stack-utils": { "version": "2.0.5", - "dev": true, "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" @@ -9062,7 +9306,6 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, "license": "ISC" }, "node_modules/write-file-atomic": { @@ -9164,9 +9407,35 @@ "engines": { "node": ">=6" } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dependencies": { + "buffer-crc32": "~0.2.3" + } } }, "dependencies": { + "@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "requires": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + } + }, "@babel/code-frame": { "version": "7.16.0", "dev": true, @@ -9534,10 +9803,11 @@ } }, "@ionic/core": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.3.tgz", - "integrity": "sha512-levKZw7wqfPZylx+DsG0sca7/ymKNo9/Hjf1qhXjU4xlALHVhU2c8LaAXmi1s47YGKrkOZYC5d/siUfjb9Kh4Q==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "requires": { + "@axe-core/playwright": "^4.4.2", "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" @@ -10030,7 +10300,7 @@ }, "@types/node": { "version": "14.18.0", - "dev": true + "devOptional": true }, "@types/normalize-package-data": { "version": "2.4.1", @@ -10106,6 +10376,15 @@ "version": "20.2.1", "dev": true }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, "abab": { "version": "2.0.5", "dev": true @@ -10134,7 +10413,6 @@ }, "agent-base": { "version": "6.0.2", - "dev": true, "requires": { "debug": "4" } @@ -10252,6 +10530,11 @@ "version": "2.1.2", "dev": true }, + "axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==" + }, "babel-jest": { "version": "26.6.3", "dev": true, @@ -10337,8 +10620,7 @@ } }, "balanced-match": { - "version": "1.0.2", - "dev": true + "version": "1.0.2" }, "base": { "version": "0.11.2", @@ -10384,7 +10666,6 @@ }, "brace-expansion": { "version": "1.1.11", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -10426,6 +10707,11 @@ "node-int64": "^0.4.0" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, "buffer-from": { "version": "1.1.2", "dev": true @@ -10710,6 +10996,11 @@ "version": "1.1.4", "dev": true }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, "combined-stream": { "version": "1.0.8", "dev": true, @@ -10726,8 +11017,7 @@ "dev": true }, "concat-map": { - "version": "0.0.1", - "dev": true + "version": "0.0.1" }, "configstore": { "version": "5.0.1", @@ -10829,7 +11119,6 @@ }, "debug": { "version": "4.3.3", - "dev": true, "requires": { "ms": "2.1.2" } @@ -10993,7 +11282,6 @@ }, "end-of-stream": { "version": "1.4.4", - "dev": true, "requires": { "once": "^1.4.0" } @@ -11014,8 +11302,7 @@ "dev": true }, "escape-string-regexp": { - "version": "2.0.0", - "dev": true + "version": "2.0.0" }, "escodegen": { "version": "2.0.0", @@ -11219,6 +11506,17 @@ } } }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, "fast-json-stable-stringify": { "version": "2.1.0", "dev": true @@ -11234,6 +11532,14 @@ "bser": "2.1.1" } }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, "figures": { "version": "3.2.0", "dev": true, @@ -11293,8 +11599,7 @@ } }, "fs.realpath": { - "version": "1.0.0", - "dev": true + "version": "1.0.0" }, "fsevents": { "version": "2.3.2", @@ -11319,7 +11624,6 @@ }, "get-stream": { "version": "5.2.0", - "dev": true, "requires": { "pump": "^3.0.0" } @@ -11334,7 +11638,6 @@ }, "glob": { "version": "7.2.0", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11400,8 +11703,7 @@ } }, "graceful-fs": { - "version": "4.2.8", - "dev": true + "version": "4.2.8" }, "growly": { "version": "1.3.0", @@ -11515,7 +11817,6 @@ }, "https-proxy-agent": { "version": "5.0.0", - "dev": true, "requires": { "agent-base": "6", "debug": "4" @@ -11568,15 +11869,13 @@ }, "inflight": { "version": "1.0.6", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.4", - "dev": true + "version": "2.0.4" }, "ini": { "version": "1.3.7", @@ -11779,6 +12078,11 @@ } } }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "is-accessor-descriptor": { "version": "1.0.0", "dev": true, @@ -12527,6 +12831,11 @@ "supports-color": "^7.0.0" } }, + "jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, "js-tokens": { "version": "4.0.0", "dev": true @@ -13037,6 +13346,11 @@ "picomatch": "^2.2.3" } }, + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" + }, "mime-db": { "version": "1.51.0", "dev": true @@ -13062,7 +13376,6 @@ }, "minimatch": { "version": "3.0.4", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -13093,8 +13406,7 @@ "dev": true }, "ms": { - "version": "2.1.2", - "dev": true + "version": "2.1.2" }, "mute-stream": { "version": "0.0.8", @@ -13360,7 +13672,6 @@ }, "once": { "version": "1.4.0", - "dev": true, "requires": { "wrappy": "1" } @@ -13624,8 +13935,7 @@ "dev": true }, "path-is-absolute": { - "version": "1.0.1", - "dev": true + "version": "1.0.1" }, "path-is-inside": { "version": "1.0.2", @@ -13643,6 +13953,11 @@ "version": "4.0.0", "dev": true }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "picocolors": { "version": "1.0.0", "dev": true @@ -13670,6 +13985,21 @@ "version": "4.0.4", "dev": true }, + "pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "requires": { + "pngjs": "^4.0.1" + }, + "dependencies": { + "pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==" + } + } + }, "pkg-dir": { "version": "4.2.0", "dev": true, @@ -13677,6 +14007,56 @@ "find-up": "^4.0.0" } }, + "playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "requires": { + "playwright-core": "1.21.1" + } + }, + "playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "requires": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, + "ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==" + } + } + }, + "pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==" + }, "posix-character-classes": { "version": "0.1.1", "dev": true @@ -13703,6 +14083,11 @@ "react-is": "^17.0.1" } }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, "prompts": { "version": "2.4.2", "dev": true, @@ -13726,13 +14111,27 @@ } } }, + "proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "requires": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "psl": { "version": "1.8.0", "dev": true }, "pump": { "version": "3.0.0", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -13932,9 +14331,13 @@ "version": "0.1.15", "dev": true }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, "rimraf": { "version": "3.0.2", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -14255,8 +14658,7 @@ "optional": true }, "signal-exit": { - "version": "3.0.6", - "dev": true + "version": "3.0.6" }, "sisteransi": { "version": "1.0.5", @@ -14270,6 +14672,11 @@ "version": "0.0.4", "dev": true }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, "snapdragon": { "version": "0.8.2", "dev": true, @@ -14409,6 +14816,25 @@ } } }, + "socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + } + }, "source-map": { "version": "0.6.1", "dev": true @@ -14477,7 +14903,6 @@ }, "stack-utils": { "version": "2.0.5", - "dev": true, "requires": { "escape-string-regexp": "^2.0.0" } @@ -15163,8 +15588,7 @@ } }, "wrappy": { - "version": "1.0.2", - "dev": true + "version": "1.0.2" }, "write-file-atomic": { "version": "3.0.3", @@ -15228,6 +15652,23 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "requires": { + "buffer-crc32": "~0.2.3" + } } } } diff --git a/packages/react/package.json b/packages/react/package.json index 634ca2e439..0faeef3652 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/react", - "version": "6.1.3", + "version": "6.1.4", "description": "React specific wrapper for @ionic/core", "keywords": [ "ionic", @@ -41,7 +41,7 @@ "css/" ], "dependencies": { - "@ionic/core": "^6.1.3", + "@ionic/core": "^6.1.4", "ionicons": "^6.0.0", "tslib": "*" }, diff --git a/packages/react/src/hooks/useIonModal.ts b/packages/react/src/hooks/useIonModal.ts index f9f94002fb..50a7deec3d 100644 --- a/packages/react/src/hooks/useIonModal.ts +++ b/packages/react/src/hooks/useIonModal.ts @@ -40,5 +40,5 @@ export type UseIonModalResult = [ /** * Dismisses the modal */ - () => void + (data?: any, role?: string) => void ]; diff --git a/packages/react/src/hooks/useOverlay.ts b/packages/react/src/hooks/useOverlay.ts index f1afcf3831..cfb771727c 100644 --- a/packages/react/src/hooks/useOverlay.ts +++ b/packages/react/src/hooks/useOverlay.ts @@ -81,8 +81,8 @@ export function useOverlay( } }, []); - const dismiss = useCallback(async () => { - overlayRef.current && (await overlayRef.current.dismiss()); + const dismiss = useCallback(async (data?: any, role?: string) => { + overlayRef.current && (await overlayRef.current.dismiss(data, role)); overlayRef.current = undefined; containerElRef.current = undefined; }, []); diff --git a/packages/react/test-app/cypress/integration/overlay-hooks/useIonModal.spec.ts b/packages/react/test-app/cypress/integration/overlay-hooks/useIonModal.spec.ts index 74f89e5675..64e904061c 100644 --- a/packages/react/test-app/cypress/integration/overlay-hooks/useIonModal.spec.ts +++ b/packages/react/test-app/cypress/integration/overlay-hooks/useIonModal.spec.ts @@ -48,6 +48,18 @@ describe('useIonModal', () => { cy.get('ion-modal').should('not.exist'); }); + it('display modal and dismiss with data and role', () => { + //show modal + cy.get('ion-button').contains('Show Modal using component param').click(); + + //close modal + cy.get('ion-button').contains('Close').click(); + cy.get('ion-modal').should('not.exist'); + + //verify role and data on main page was updated + cy.contains('Dismissed with role: close'); + cy.contains('Data: {"test":true}'); + }); // This test should pass in v6, skipping until merged with v6 it.skip('display modal with context', () => { diff --git a/packages/react/test-app/src/pages/overlay-hooks/ModalHook.tsx b/packages/react/test-app/src/pages/overlay-hooks/ModalHook.tsx index 0b6a90aff7..72af405154 100644 --- a/packages/react/test-app/src/pages/overlay-hooks/ModalHook.tsx +++ b/packages/react/test-app/src/pages/overlay-hooks/ModalHook.tsx @@ -13,7 +13,7 @@ import { useContext } from 'react'; const Body: React.FC<{ type: string; count: number; - onDismiss: () => void; + onDismiss: (data?: any, role?: string) => void; onIncrement: () => void; }> = ({ count, onDismiss, onIncrement, type }) => ( @@ -27,7 +27,7 @@ const Body: React.FC<{ onIncrement()}> Increment Count - onDismiss()}> + onDismiss({ test: true }, 'close')}> Close @@ -42,13 +42,16 @@ const ModalWithContext: React.FC = () => { const ModalHook: React.FC = () => { const [count, setCount] = useState(0); + const [dismissedRole, setDismissedRole] = useState(); + const [dismissedData, setDismissedData] = useState(); + const handleIncrement = useCallback(() => { setCount(count + 1); }, [count, setCount]); - const handleDismissWithComponent = useCallback(() => { - dismissWithComponent(); - // eslint-disable-next-line react-hooks/exhaustive-deps + const handleDismissWithComponent = useCallback((data, role) => { + dismissWithComponent(data, role); + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); const handleDismissWithElement = useCallback(() => { @@ -89,6 +92,11 @@ const ModalHook: React.FC = () => { onClick={() => { presentWithComponent({ cssClass: 'my-class', + onDidDismiss: (ev) => { + const { data, role } = ev.detail; + setDismissedData(data); + setDismissedRole(role); + }, }); }} > @@ -127,6 +135,8 @@ const ModalHook: React.FC = () => {
Count: {count}
+
Dismissed with role: {dismissedRole}
+
Data: {dismissedData && JSON.stringify(dismissedData)}
diff --git a/packages/vue-router/CHANGELOG.md b/packages/vue-router/CHANGELOG.md index 984468301e..8d8b2a243d 100644 --- a/packages/vue-router/CHANGELOG.md +++ b/packages/vue-router/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.4](https://github.com/ionic-team/ionic/compare/v6.1.3...v6.1.4) (2022-05-04) + + +### Bug Fixes + +* **vue:** switching between tabs and going back resolves to correct route ([#25206](https://github.com/ionic-team/ionic/issues/25206)) ([b4ba70e](https://github.com/ionic-team/ionic/commit/b4ba70ea148d4f8fc7475d3de798b485238470c8)), closes [#24303](https://github.com/ionic-team/ionic/issues/24303) + + + + + ## [6.1.3](https://github.com/ionic-team/ionic/compare/v6.1.2...v6.1.3) (2022-04-27) diff --git a/packages/vue-router/package-lock.json b/packages/vue-router/package-lock.json index c9491ea024..ca7e258b08 100644 --- a/packages/vue-router/package-lock.json +++ b/packages/vue-router/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/vue-router", - "version": "6.1.3", + "version": "6.1.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/vue-router", - "version": "6.0.1", + "version": "6.1.4", "license": "MIT", "dependencies": { - "@ionic/vue": "^6.0.0" + "@ionic/vue": "^6.1.4" }, "devDependencies": { "@types/jest": "^26.0.13", @@ -23,6 +23,18 @@ "vue-router": "^4.0.0-beta.11" } }, + "node_modules/@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "dependencies": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + }, + "peerDependencies": { + "playwright": ">= 1.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.14.5", "dev": true, @@ -563,21 +575,22 @@ "license": "MIT" }, "node_modules/@ionic/core": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.0.1.tgz", - "integrity": "sha512-MrS2rxxEk44Nmas+1ccGk+VDxvhoDKbQ7g3KHQkeRtHXmWPoG47tnUHY2aCRRTeaN5wPSA14/kmCwyMMyO5A9A==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "dependencies": { - "@stencil/core": "~2.11.0-0", + "@axe-core/playwright": "^4.4.2", + "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" } }, "node_modules/@ionic/vue": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-6.0.1.tgz", - "integrity": "sha512-3nlB0Vg3JTW7WPaBXVyD4g5DSZ5ZV8jf2zl9BEZJw1QolqGZ1eTKp8zAlS8FKVFNHwvEEav9v4C1GteAejTOPA==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-6.1.4.tgz", + "integrity": "sha512-wj6uF9B24V4s2gZ1UKhB7lKHcjugcs+4wKE1wlGJX3HWsmnr99hqr8cV8sC0V2eT65wD7Vwgq0R7+iZ7k35Dxw==", "dependencies": { - "@ionic/core": "6.0.1", + "@ionic/core": "^6.1.4", "ionicons": "^6.0.0" } }, @@ -1377,9 +1390,9 @@ } }, "node_modules/@stencil/core": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.11.0.tgz", - "integrity": "sha512-/IubCWhVXCguyMUp/3zGrg3c882+RJNg/zpiKfyfJL3kRCOwe+/MD8OoAXVGdd+xAohZKIi1Ik+EHFlsptsjLg==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.15.1.tgz", + "integrity": "sha512-NYjRwQnjzscyFfqK+iIwRdr/dgYn33u6KE7kyQWdi7xsCkqMHalXYgJlN/QBQ9PN3qXmXKeBrJNG8EkNdCbK5g==", "bin": { "stencil": "bin/stencil" }, @@ -1479,7 +1492,7 @@ }, "node_modules/@types/node": { "version": "14.10.1", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/prettier": { @@ -1505,6 +1518,15 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@vue/compiler-core": { "version": "3.0.0", "dev": true, @@ -1604,7 +1626,6 @@ }, "node_modules/agent-base": { "version": "6.0.2", - "dev": true, "license": "MIT", "dependencies": { "debug": "4" @@ -1675,6 +1696,14 @@ "dev": true, "license": "MIT" }, + "node_modules/axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==", + "engines": { + "node": ">=4" + } + }, "node_modules/babel-jest": { "version": "27.0.2", "dev": true, @@ -1810,12 +1839,10 @@ }, "node_modules/balanced-match": { "version": "1.0.0", - "dev": true, "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -1879,6 +1906,14 @@ "node-int64": "^0.4.0" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "engines": { + "node": "*" + } + }, "node_modules/buffer-from": { "version": "1.1.1", "dev": true, @@ -1984,6 +2019,14 @@ "dev": true, "license": "MIT" }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "dev": true, @@ -1995,9 +2038,16 @@ "node": ">= 0.8" } }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, "license": "MIT" }, "node_modules/convert-source-map": { @@ -2061,9 +2111,9 @@ } }, "node_modules/debug": { - "version": "4.3.1", - "dev": true, - "license": "MIT", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" }, @@ -2163,6 +2213,14 @@ "dev": true, "license": "MIT" }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/escalade": { "version": "3.1.1", "dev": true, @@ -2173,7 +2231,6 @@ }, "node_modules/escape-string-regexp": { "version": "2.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -2357,6 +2414,39 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "dev": true, @@ -2375,6 +2465,14 @@ "bser": "2.1.1" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/fill-range": { "version": "7.0.1", "dev": true, @@ -2413,7 +2511,6 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, "license": "ISC" }, "node_modules/fsevents": { @@ -2470,7 +2567,6 @@ }, "node_modules/glob": { "version": "7.1.6", - "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -2497,7 +2593,6 @@ }, "node_modules/graceful-fs": { "version": "4.2.4", - "dev": true, "license": "ISC" }, "node_modules/has": { @@ -2550,7 +2645,6 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.0", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "6", @@ -2604,7 +2698,6 @@ }, "node_modules/inflight": { "version": "1.0.6", - "dev": true, "license": "ISC", "dependencies": { "once": "^1.3.0", @@ -2613,21 +2706,20 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, "license": "ISC" }, "node_modules/ionicons": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.0.tgz", - "integrity": "sha512-p83W1T8jZUlllHAjuIWaDQbI36OYqdrwcf8MhYbKW7+9rjGlCMP9+5OaR0W7tl0QfM004uAiy/zkc7HTpDNKgA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.1.tgz", + "integrity": "sha512-xQekOJsxH82O7oB+3F60zeRggCdND9pJ/k0E6IJDVUGGlCj5mlyFqNgxUimytKgstPGv3S+3EmCxjefvtGgWUg==", "dependencies": { - "@stencil/core": "~2.10.0" + "@stencil/core": "~2.12.0" } }, "node_modules/ionicons/node_modules/@stencil/core": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.10.0.tgz", - "integrity": "sha512-15rWMTPQ/sp0lSV82HVCXkIya3QLN+uBl7pqK4JnTrp4HiLrzLmNbWjbvgCs55gw0lULbCIGbRIEsFz+Pe/Q+A==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.12.1.tgz", + "integrity": "sha512-u24TZ+FEvjnZt5ZgIkLjLpUNsO6Ml3mUZqwmqk81w6RWWz75hgB5p4RFI5rvuErFeh2xvMIGo+pNdG24XUBz1A==", "bin": { "stencil": "bin/stencil" }, @@ -2636,6 +2728,11 @@ "npm": ">=6.0.0" } }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "node_modules/is-ci": { "version": "2.0.0", "dev": true, @@ -5127,6 +5224,11 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, "node_modules/js-tokens": { "version": "4.0.0", "dev": true, @@ -5318,6 +5420,17 @@ "node": ">=8.6" } }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/mime-db": { "version": "1.48.0", "dev": true, @@ -5347,7 +5460,6 @@ }, "node_modules/minimatch": { "version": "3.0.4", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -5374,7 +5486,6 @@ }, "node_modules/ms": { "version": "2.1.2", - "dev": true, "license": "MIT" }, "node_modules/natural-compare": { @@ -5426,7 +5537,6 @@ }, "node_modules/once": { "version": "1.4.0", - "dev": true, "license": "ISC", "dependencies": { "wrappy": "1" @@ -5521,7 +5631,6 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -5540,6 +5649,11 @@ "dev": true, "license": "MIT" }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "node_modules/picomatch": { "version": "2.3.0", "dev": true, @@ -5562,6 +5676,25 @@ "node": ">= 6" } }, + "node_modules/pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "dependencies": { + "pngjs": "^4.0.1" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "dev": true, @@ -5573,6 +5706,80 @@ "node": ">=8" } }, + "node_modules/playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "hasInstallScript": true, + "dependencies": { + "playwright-core": "1.21.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "dependencies": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core/node_modules/ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "engines": { + "node": ">=12.13.0" + } + }, "node_modules/prelude-ls": { "version": "1.1.2", "dev": true, @@ -5594,6 +5801,14 @@ "node": ">= 8.3" } }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/prompts": { "version": "2.4.1", "dev": true, @@ -5606,11 +5821,35 @@ "node": ">= 6" } }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/psl": { "version": "1.8.0", "dev": true, "license": "MIT" }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.1.1", "dev": true, @@ -5663,9 +5902,16 @@ "node": ">=8" } }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "engines": { + "node": ">= 4" + } + }, "node_modules/rimraf": { "version": "3.0.2", - "dev": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -5741,7 +5987,6 @@ }, "node_modules/signal-exit": { "version": "3.0.3", - "dev": true, "license": "ISC" }, "node_modules/sisteransi": { @@ -5757,6 +6002,41 @@ "node": ">=8" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/source-map": { "version": "0.6.1", "dev": true, @@ -5780,9 +6060,9 @@ "license": "BSD-3-Clause" }, "node_modules/stack-utils": { - "version": "2.0.3", - "dev": true, - "license": "MIT", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -5991,9 +6271,9 @@ } }, "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/type-check": { "version": "0.3.2", @@ -6193,7 +6473,6 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, "license": "ISC" }, "node_modules/write-file-atomic": { @@ -6274,9 +6553,35 @@ "engines": { "node": ">=10" } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dependencies": { + "buffer-crc32": "~0.2.3" + } } }, "dependencies": { + "@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "requires": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + } + }, "@babel/code-frame": { "version": "7.14.5", "dev": true, @@ -6628,21 +6933,22 @@ "dev": true }, "@ionic/core": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.0.1.tgz", - "integrity": "sha512-MrS2rxxEk44Nmas+1ccGk+VDxvhoDKbQ7g3KHQkeRtHXmWPoG47tnUHY2aCRRTeaN5wPSA14/kmCwyMMyO5A9A==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "requires": { - "@stencil/core": "~2.11.0-0", + "@axe-core/playwright": "^4.4.2", + "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" } }, "@ionic/vue": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-6.0.1.tgz", - "integrity": "sha512-3nlB0Vg3JTW7WPaBXVyD4g5DSZ5ZV8jf2zl9BEZJw1QolqGZ1eTKp8zAlS8FKVFNHwvEEav9v4C1GteAejTOPA==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-6.1.4.tgz", + "integrity": "sha512-wj6uF9B24V4s2gZ1UKhB7lKHcjugcs+4wKE1wlGJX3HWsmnr99hqr8cV8sC0V2eT65wD7Vwgq0R7+iZ7k35Dxw==", "requires": { - "@ionic/core": "6.0.1", + "@ionic/core": "^6.1.4", "ionicons": "^6.0.0" } }, @@ -7239,9 +7545,9 @@ } }, "@stencil/core": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.11.0.tgz", - "integrity": "sha512-/IubCWhVXCguyMUp/3zGrg3c882+RJNg/zpiKfyfJL3kRCOwe+/MD8OoAXVGdd+xAohZKIi1Ik+EHFlsptsjLg==" + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.15.1.tgz", + "integrity": "sha512-NYjRwQnjzscyFfqK+iIwRdr/dgYn33u6KE7kyQWdi7xsCkqMHalXYgJlN/QBQ9PN3qXmXKeBrJNG8EkNdCbK5g==" }, "@tootallnate/once": { "version": "1.1.2", @@ -7320,7 +7626,7 @@ }, "@types/node": { "version": "14.10.1", - "dev": true + "devOptional": true }, "@types/prettier": { "version": "2.3.0", @@ -7341,6 +7647,15 @@ "version": "15.0.0", "dev": true }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@vue/compiler-core": { "version": "3.0.0", "dev": true, @@ -7416,7 +7731,6 @@ }, "agent-base": { "version": "6.0.2", - "dev": true, "requires": { "debug": "4" } @@ -7459,6 +7773,11 @@ "version": "0.4.0", "dev": true }, + "axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==" + }, "babel-jest": { "version": "27.0.2", "dev": true, @@ -7556,12 +7875,10 @@ } }, "balanced-match": { - "version": "1.0.0", - "dev": true + "version": "1.0.0" }, "brace-expansion": { "version": "1.1.11", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7603,6 +7920,11 @@ "node-int64": "^0.4.0" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, "buffer-from": { "version": "1.1.1", "dev": true @@ -7671,6 +7993,11 @@ "version": "1.2.2", "dev": true }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, "combined-stream": { "version": "1.0.8", "dev": true, @@ -7678,9 +8005,13 @@ "delayed-stream": "~1.0.0" } }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, "concat-map": { - "version": "0.0.1", - "dev": true + "version": "0.0.1" }, "convert-source-map": { "version": "1.8.0", @@ -7729,8 +8060,9 @@ } }, "debug": { - "version": "4.3.1", - "dev": true, + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } @@ -7788,13 +8120,20 @@ "version": "8.0.0", "dev": true }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, "escalade": { "version": "3.1.1", "dev": true }, "escape-string-regexp": { - "version": "2.0.0", - "dev": true + "version": "2.0.0" }, "escodegen": { "version": "2.0.0", @@ -7906,6 +8245,27 @@ } } }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + } + } + }, "fast-json-stable-stringify": { "version": "2.1.0", "dev": true @@ -7921,6 +8281,14 @@ "bser": "2.1.1" } }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, "fill-range": { "version": "7.0.1", "dev": true, @@ -7946,8 +8314,7 @@ } }, "fs.realpath": { - "version": "1.0.0", - "dev": true + "version": "1.0.0" }, "fsevents": { "version": "2.1.3", @@ -7976,7 +8343,6 @@ }, "glob": { "version": "7.1.6", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7991,8 +8357,7 @@ "dev": true }, "graceful-fs": { - "version": "4.2.4", - "dev": true + "version": "4.2.4" }, "has": { "version": "1.0.3", @@ -8027,7 +8392,6 @@ }, "https-proxy-agent": { "version": "5.0.0", - "dev": true, "requires": { "agent-base": "6", "debug": "4" @@ -8058,31 +8422,34 @@ }, "inflight": { "version": "1.0.6", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.4", - "dev": true + "version": "2.0.4" }, "ionicons": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.0.tgz", - "integrity": "sha512-p83W1T8jZUlllHAjuIWaDQbI36OYqdrwcf8MhYbKW7+9rjGlCMP9+5OaR0W7tl0QfM004uAiy/zkc7HTpDNKgA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.1.tgz", + "integrity": "sha512-xQekOJsxH82O7oB+3F60zeRggCdND9pJ/k0E6IJDVUGGlCj5mlyFqNgxUimytKgstPGv3S+3EmCxjefvtGgWUg==", "requires": { - "@stencil/core": "~2.10.0" + "@stencil/core": "~2.12.0" }, "dependencies": { "@stencil/core": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.10.0.tgz", - "integrity": "sha512-15rWMTPQ/sp0lSV82HVCXkIya3QLN+uBl7pqK4JnTrp4HiLrzLmNbWjbvgCs55gw0lULbCIGbRIEsFz+Pe/Q+A==" + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.12.1.tgz", + "integrity": "sha512-u24TZ+FEvjnZt5ZgIkLjLpUNsO6Ml3mUZqwmqk81w6RWWz75hgB5p4RFI5rvuErFeh2xvMIGo+pNdG24XUBz1A==" } } }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "is-ci": { "version": "2.0.0", "dev": true, @@ -9217,8 +9584,7 @@ }, "jest-pnp-resolver": { "version": "1.2.2", - "dev": true, - "requires": {} + "dev": true }, "jest-regex-util": { "version": "27.0.1", @@ -9862,6 +10228,11 @@ } } }, + "jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, "js-tokens": { "version": "4.0.0", "dev": true @@ -9986,6 +10357,11 @@ "picomatch": "^2.2.3" } }, + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" + }, "mime-db": { "version": "1.48.0", "dev": true @@ -10003,7 +10379,6 @@ }, "minimatch": { "version": "3.0.4", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -10017,8 +10392,7 @@ "dev": true }, "ms": { - "version": "2.1.2", - "dev": true + "version": "2.1.2" }, "natural-compare": { "version": "1.4.0", @@ -10053,7 +10427,6 @@ }, "once": { "version": "1.4.0", - "dev": true, "requires": { "wrappy": "1" } @@ -10108,8 +10481,7 @@ "dev": true }, "path-is-absolute": { - "version": "1.0.1", - "dev": true + "version": "1.0.1" }, "path-key": { "version": "3.1.1", @@ -10119,6 +10491,11 @@ "version": "1.0.7", "dev": true }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, "picomatch": { "version": "2.3.0", "dev": true @@ -10130,6 +10507,21 @@ "node-modules-regexp": "^1.0.0" } }, + "pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "requires": { + "pngjs": "^4.0.1" + }, + "dependencies": { + "pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==" + } + } + }, "pkg-dir": { "version": "4.2.0", "dev": true, @@ -10137,6 +10529,51 @@ "find-up": "^4.0.0" } }, + "playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "requires": { + "playwright-core": "1.21.1" + } + }, + "playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "requires": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "dependencies": { + "ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==" + } + } + }, + "pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==" + }, "prelude-ls": { "version": "1.1.2", "dev": true @@ -10151,6 +10588,11 @@ "react-is": "^16.12.0" } }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, "prompts": { "version": "2.4.1", "dev": true, @@ -10159,10 +10601,34 @@ "sisteransi": "^1.0.5" } }, + "proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "requires": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "psl": { "version": "1.8.0", "dev": true }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "punycode": { "version": "2.1.1", "dev": true @@ -10194,9 +10660,13 @@ "version": "5.0.0", "dev": true }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, "rimraf": { "version": "3.0.2", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -10239,8 +10709,7 @@ "dev": true }, "signal-exit": { - "version": "3.0.3", - "dev": true + "version": "3.0.3" }, "sisteransi": { "version": "1.0.5", @@ -10250,6 +10719,30 @@ "version": "3.0.0", "dev": true }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + } + }, "source-map": { "version": "0.6.1", "dev": true @@ -10267,8 +10760,9 @@ "dev": true }, "stack-utils": { - "version": "2.0.3", - "dev": true, + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", "requires": { "escape-string-regexp": "^2.0.0" } @@ -10400,9 +10894,9 @@ } }, "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "type-check": { "version": "0.3.2", @@ -10460,8 +10954,7 @@ }, "vue-router": { "version": "4.0.0-beta.11", - "dev": true, - "requires": {} + "dev": true }, "w3c-hr-time": { "version": "1.0.2", @@ -10529,8 +11022,7 @@ } }, "wrappy": { - "version": "1.0.2", - "dev": true + "version": "1.0.2" }, "write-file-atomic": { "version": "3.0.3", @@ -10544,8 +11036,7 @@ }, "ws": { "version": "7.5.0", - "dev": true, - "requires": {} + "dev": true }, "xml-name-validator": { "version": "3.0.0", @@ -10579,6 +11070,23 @@ "yargs-parser": { "version": "20.2.4", "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "requires": { + "buffer-crc32": "~0.2.3" + } } } } diff --git a/packages/vue-router/package.json b/packages/vue-router/package.json index 247afb18ab..e0fa3b57d4 100644 --- a/packages/vue-router/package.json +++ b/packages/vue-router/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/vue-router", - "version": "6.1.3", + "version": "6.1.4", "description": "Vue Router integration for @ionic/vue", "scripts": { "prepublishOnly": "npm run build", @@ -44,7 +44,7 @@ }, "homepage": "https://github.com/ionic-team/ionic#readme", "dependencies": { - "@ionic/vue": "^6.1.3" + "@ionic/vue": "^6.1.4" }, "devDependencies": { "@types/jest": "^26.0.13", diff --git a/packages/vue-router/src/locationHistory.ts b/packages/vue-router/src/locationHistory.ts index 556e3bab6c..c86d474c1f 100644 --- a/packages/vue-router/src/locationHistory.ts +++ b/packages/vue-router/src/locationHistory.ts @@ -83,17 +83,25 @@ export const createLocationHistory = () => { */ const clearHistory = (routeInfo?: RouteInfo) => { if (routeInfo) { + const { position, tab } = routeInfo; /** * If there is no route index in locationHistory * then there will not be any route index in * tabs either. */ - const existingRouteIndex = locationHistory.findIndex(r => r.position === routeInfo.position); + const existingRouteIndex = locationHistory.findIndex(r => r.position === position); if (existingRouteIndex === -1) return; locationHistory.splice(existingRouteIndex); + const clearTabHistory = (tab: string) => { + const existingTabRouteIndex = tabsHistory[tab].findIndex(r => r.position === position); + if (existingTabRouteIndex === -1) return; + + tabsHistory[tab].splice(existingTabRouteIndex); + } + /** * We also need to search the current tab * to correctly reset the individual tab @@ -101,19 +109,31 @@ export const createLocationHistory = () => { * tab stack as that means we will lose * a reference to the root tab route. */ - const { tab } = routeInfo; const tabHistory = tabsHistory[tab]; if (tab && tabHistory) { - const existingTabRouteIndex = tabHistory.findIndex(r => r.position === routeInfo.position); - if (existingTabRouteIndex === -1) return; - - tabsHistory[tab].splice(existingTabRouteIndex); + clearTabHistory(tab); + /** + * If we are not clearing items after + * a tabs page, it is still possible + * that there are future tabs pages to clear. + * As a result, we need to search through + * all the tab stacks and remove views that appear + * after the given routeInfo. + * + * Example: /non-tabs-page --> /tabs/tab1 --> /non-tabs-page + * (via router.go(-1)) --> /tabs/tab2. The /tabs/tab1 history + * has been overwritten with /tabs/tab2. As a result, + * the /tabs/tab1 route info in the Tab 1 stack should be removed. + */ + } else { + for (const tab in tabsHistory) { + clearTabHistory(tab); + } } - } else { - Object.keys(tabsHistory).forEach(key => { - tabsHistory[key] = []; - }); + for (const tab in tabsHistory) { + tabsHistory[tab] = []; + } locationHistory.length = 0; } diff --git a/packages/vue-router/src/router.ts b/packages/vue-router/src/router.ts index 81b95ced7e..71fc08c248 100644 --- a/packages/vue-router/src/router.ts +++ b/packages/vue-router/src/router.ts @@ -125,7 +125,34 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) => ) { router.back(); } else { - router.replace({ path: prevInfo.pathname, query: parseQuery(prevInfo.search) }); + + /** + * When going back to a child page of a tab + * after being on another tab, we need to use + * router.go() here instead of pushing or replacing. + * Consider the following example: + * /tabs/tab1 --> /tabs/tab1/child1 --> /tabs/tab1/child2 + * --> /tabs/tab2 (via Tab 2 button) --> /tabs/tab1/child2 (via Tab 1 button) + * + * Pressing the ion-back-button on /tabs/tab1/child2 should take + * us back to /tabs/tab1/child1 not /tabs/tab2 because each tab + * is its own stack. + * + * If we called pressed the ion-back-button and this code called + * router.replace, then the state of /tabs/tab1/child2 would + * be replaced with /tabs/tab1/child1. However, this means that + * there would be two /tabs/tab1/child1 entries in the location + * history as the original /tabs/tab1/child1 entry is still there. + * As a result, clicking the ion-back-button on /tabs/tab1/child1 does + * nothing because this code would try to route to the same page + * we are currently on. + * + * If we called router.push instead then we would push a + * new /tabs/tab1/child1 entry to the location history. This + * is not good because we would have two /tabs/tab1/child1 entries + * separated by a /tabs/tab1/child2 entry. + */ + router.go(prevInfo.position - routeInfo.position); } } else { handleNavigate(defaultHref, 'pop', 'back'); @@ -468,11 +495,65 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) => * then IonTabs will not invoke this. */ const handleSetCurrentTab = (tab: string) => { - const ri = { ...locationHistory.last() }; + /** + * Note that the current page that we + * are on is not necessarily the last item + * in the locationHistory stack. As a result, + * we cannot use locationHistory.last() here. + */ + const ri = { ...locationHistory.current(initialHistoryPosition, currentHistoryPosition) }; + + /** + * handleHistoryChange is tabs-agnostic by design. + * One side effect of this is that certain tabs + * routes have extraneous/incorrect information + * that we need to remove. To not tightly couple + * handleHistoryChange with tabs, we let the + * handleSetCurrentTab function. This function is + * only called by IonTabs. + */ + if (ri.tab !== tab) { ri.tab = tab; locationHistory.update(ri); } + + /** + * lastPathname typically equals pushedByRoute + * when navigating in a linear manner. When switching between + * tabs, this is almost never the case. + * + * Example: /tabs/tabs1 --> /tabs/tab2 --> /tabs/tab1 + * The latest Tab 1 route would have the following information + * lastPathname: '/tabs/tab2' + * pushedByRoute: '/tabs/tab2' + * + * A tab cannot push another tab, so we need to set + * pushedByRoute to `undefined`. Alternative way of thinking + * about this: You cannot swipe to go back from Tab 1 to Tab 2. + * + * However, there are some instances where we do want to keep + * the pushedByRoute. As a result, we need to ensure that + * we only wipe the pushedByRoute state when the both of the + * following conditions are met: + * 1. pushedByRoute is different from lastPathname + * 2. The tab for the pushedByRoute info is different + * from the current route tab. + * + * Example of when we would not want to clear pushedByRoute: + * /tabs/tab1 --> /tabs/tab1/child --> /tabs/tab2 --> /tabs/tab1/child + * The latest Tab 1 Child route would have the following information: + * lastPathname: '/tabs/tab2' + * pushedByRoute: '/tabs/tab1 + * + * In this case, /tabs/tab1/child should be able to swipe to go back + * to /tabs/tab1 so we want to keep the pushedByRoute. + */ + const pushedByRoute = locationHistory.findLastLocation(ri); + if (ri.pushedByRoute !== ri.lastPathname && pushedByRoute?.tab !== tab) { + ri.pushedByRoute = undefined; + locationHistory.update(ri); + } } // TODO types diff --git a/packages/vue-router/src/types.ts b/packages/vue-router/src/types.ts index 10f318a222..76cd7602f3 100644 --- a/packages/vue-router/src/types.ts +++ b/packages/vue-router/src/types.ts @@ -19,11 +19,27 @@ export interface RouteInfo { routerAction?: RouteAction; routerDirection?: RouteDirection; routerAnimation?: AnimationBuilder; + + /** + * The previous route you were on if you were to + * navigate backwards in a linear manner. + * i.e. If you pressed the browser back button, + * this is the route you would land on. + */ lastPathname?: string; prevRouteLastPathname?: string; pathname?: string; search?: string; params?: { [k: string]: any }; + + /** + * The route that pushed the current route. + * This is used to determine if a route can swipe + * to go back to a previous route. This is + * usually the same as lastPathname when navigating + * in a linear manner but is almost always different + * when using tabs. + */ pushedByRoute?: string; tab?: string; position?: number; diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 4e812d9b0e..afa31281d9 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.1.4](https://github.com/ionic-team/ionic/compare/v6.1.3...v6.1.4) (2022-05-04) + + +### Bug Fixes + +* **vue:** switching between tabs and going back resolves to correct route ([#25206](https://github.com/ionic-team/ionic/issues/25206)) ([b4ba70e](https://github.com/ionic-team/ionic/commit/b4ba70ea148d4f8fc7475d3de798b485238470c8)), closes [#24303](https://github.com/ionic-team/ionic/issues/24303) + + + + + ## [6.1.3](https://github.com/ionic-team/ionic/compare/v6.1.2...v6.1.3) (2022-04-27) diff --git a/packages/vue/package-lock.json b/packages/vue/package-lock.json index 4ceb307548..f1768b178c 100644 --- a/packages/vue/package-lock.json +++ b/packages/vue/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/vue", - "version": "6.1.3", + "version": "6.1.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/vue", - "version": "6.1.3", + "version": "6.1.4", "license": "MIT", "dependencies": { - "@ionic/core": "^6.1.3", + "@ionic/core": "^6.1.4", "ionicons": "^6.0.0" }, "devDependencies": { @@ -23,6 +23,18 @@ "vue-router": "^4.0.0-rc.4" } }, + "node_modules/@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "dependencies": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + }, + "peerDependencies": { + "playwright": ">= 1.0.0" + } + }, "node_modules/@babel/helper-validator-identifier": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", @@ -53,10 +65,11 @@ } }, "node_modules/@ionic/core": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.3.tgz", - "integrity": "sha512-levKZw7wqfPZylx+DsG0sca7/ymKNo9/Hjf1qhXjU4xlALHVhU2c8LaAXmi1s47YGKrkOZYC5d/siUfjb9Kh4Q==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "dependencies": { + "@axe-core/playwright": "^4.4.2", "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" @@ -108,6 +121,21 @@ "node": ">=4.2.0" } }, + "node_modules/@types/node": { + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", + "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", + "optional": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@vue/compiler-core": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.0.tgz", @@ -167,6 +195,17 @@ "integrity": "sha512-4XWL/avABGxU2E2ZF1eZq3Tj7fvksCMssDZUHOykBIMmh5d+KcAnQMC5XHMhtnA0NAvktYsA2YpdsVwVmhWzvA==", "dev": true }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -176,22 +215,36 @@ "node": ">= 4.0.0" } }, + "node_modules/axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==", + "engines": { + "node": ">=4" + } + }, "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "engines": { + "node": "*" + } + }, "node_modules/camel-case": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", @@ -233,11 +286,26 @@ "tslib": "^1.10.0" } }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/constant-case": { "version": "3.0.3", @@ -256,6 +324,22 @@ "integrity": "sha512-ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A==", "dev": true }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/dot-case": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.3.tgz", @@ -266,12 +350,55 @@ "tslib": "^1.10.0" } }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, "node_modules/estree-walker": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.1.tgz", "integrity": "sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==", "dev": true }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -290,8 +417,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/fsevents": { "version": "2.1.3", @@ -306,11 +432,24 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -326,8 +465,7 @@ "node_modules/graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, "node_modules/header-case": { "version": "2.0.3", @@ -339,11 +477,22 @@ "tslib": "^1.10.0" } }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -352,8 +501,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ionicons": { "version": "6.0.0", @@ -375,6 +523,16 @@ "npm": ">=6.0.0" } }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "node_modules/jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -402,11 +560,21 @@ "tslib": "^1.10.0" } }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -414,6 +582,11 @@ "node": "*" } }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "node_modules/no-case": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz", @@ -428,7 +601,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "dependencies": { "wrappy": "1" } @@ -467,16 +639,132 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "node_modules/pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "dependencies": { + "pngjs": "^4.0.1" + }, + "bin": { + "pixelmatch": "bin/pixelmatch" + } + }, + "node_modules/pixelmatch/node_modules/pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "hasInstallScript": true, + "dependencies": { + "playwright-core": "1.21.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "dependencies": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "engines": { + "node": ">= 4" + } + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -510,6 +798,20 @@ "upper-case-first": "^2.0.1" } }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, "node_modules/snake-case": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.3.tgz", @@ -520,6 +822,32 @@ "tslib": "^1.10.0" } }, + "node_modules/socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "dependencies": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -529,6 +857,17 @@ "node": ">=0.10.0" } }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -604,11 +943,56 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dependencies": { + "buffer-crc32": "~0.2.3" + } } }, "dependencies": { + "@axe-core/playwright": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.4.2.tgz", + "integrity": "sha512-PzdGAG4ybVfu/hgMRiMdirSGhwZf/hHlfEDmr/WFdcYv60XhQKSgb5h9B2H+6WN17hTmbacbQigq/4r5b7Ok4g==", + "requires": { + "axe-core": "^4.4.1", + "playwright": "^1.16.2" + } + }, "@babel/helper-validator-identifier": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", @@ -633,10 +1017,11 @@ } }, "@ionic/core": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.3.tgz", - "integrity": "sha512-levKZw7wqfPZylx+DsG0sca7/ymKNo9/Hjf1qhXjU4xlALHVhU2c8LaAXmi1s47YGKrkOZYC5d/siUfjb9Kh4Q==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.1.4.tgz", + "integrity": "sha512-2sJ06ehFVvgZGfsluWfqmAl34YWkbU/mdDEYbp5BUatX91tN/ytNjDkoPVuLUBJl1pqGK1doaDI6Y8zDpxqbMA==", "requires": { + "@axe-core/playwright": "^4.4.2", "@stencil/core": "^2.14.2", "ionicons": "^6.0.0", "tslib": "^2.1.0" @@ -671,6 +1056,21 @@ } } }, + "@types/node": { + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", + "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", + "optional": true + }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@vue/compiler-core": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.0.tgz", @@ -730,28 +1130,44 @@ "integrity": "sha512-4XWL/avABGxU2E2ZF1eZq3Tj7fvksCMssDZUHOykBIMmh5d+KcAnQMC5XHMhtnA0NAvktYsA2YpdsVwVmhWzvA==", "dev": true }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true }, + "axe-core": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==" + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, "camel-case": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", @@ -793,11 +1209,20 @@ "tslib": "^1.10.0" } }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "constant-case": { "version": "3.0.3", @@ -816,6 +1241,14 @@ "integrity": "sha512-ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A==", "dev": true }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, "dot-case": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.3.tgz", @@ -826,12 +1259,44 @@ "tslib": "^1.10.0" } }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + }, "estree-walker": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.1.tgz", "integrity": "sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==", "dev": true }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -847,8 +1312,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.1.3", @@ -857,11 +1321,18 @@ "dev": true, "optional": true }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -874,8 +1345,7 @@ "graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, "header-case": { "version": "2.0.3", @@ -887,11 +1357,19 @@ "tslib": "^1.10.0" } }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -900,8 +1378,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ionicons": { "version": "6.0.0", @@ -918,6 +1395,16 @@ } } }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "jpeg-js": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz", + "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q==" + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -943,15 +1430,24 @@ "tslib": "^1.10.0" } }, + "mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "no-case": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz", @@ -966,7 +1462,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -1004,14 +1499,104 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "pixelmatch": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.2.1.tgz", + "integrity": "sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==", + "requires": { + "pngjs": "^4.0.1" + }, + "dependencies": { + "pngjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-4.0.1.tgz", + "integrity": "sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==" + } + } + }, + "playwright": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.21.1.tgz", + "integrity": "sha512-Of0h1XAvsqK1XfHVZ8sL2PjJVoQUu9gTmmMTtLS7MEyWMRD0kn8myeI90xj1ncJhUysQxGboH64S5v+lL2USrg==", + "requires": { + "playwright-core": "1.21.1" + } + }, + "playwright-core": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.21.1.tgz", + "integrity": "sha512-SbK5dEsai9ZUKlxcinqegorBq4GnftXd4/GfW+pLsdQIQWrLCM/JNh6YQ2Rf2enVykXCejtoXW8L5vJXBBVSJQ==", + "requires": { + "colors": "1.4.0", + "commander": "8.3.0", + "debug": "4.3.3", + "extract-zip": "2.0.1", + "https-proxy-agent": "5.0.0", + "jpeg-js": "0.4.3", + "mime": "3.0.0", + "pixelmatch": "5.2.1", + "pngjs": "6.0.0", + "progress": "2.0.3", + "proper-lockfile": "4.1.2", + "proxy-from-env": "1.1.0", + "rimraf": "3.0.2", + "socks-proxy-agent": "6.1.1", + "stack-utils": "2.0.5", + "ws": "8.4.2", + "yauzl": "2.10.0", + "yazl": "2.5.1" + } + }, + "pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "requires": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -1036,6 +1621,16 @@ "upper-case-first": "^2.0.1" } }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, "snake-case": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.3.tgz", @@ -1046,12 +1641,39 @@ "tslib": "^1.10.0" } }, + "socks": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -1114,8 +1736,29 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz", + "integrity": "sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==" + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "requires": { + "buffer-crc32": "~0.2.3" + } } } } diff --git a/packages/vue/package.json b/packages/vue/package.json index 98ecf7ce0e..c486bbb2ce 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/vue", - "version": "6.1.3", + "version": "6.1.4", "description": "Vue specific wrapper for @ionic/core", "scripts": { "prepublishOnly": "npm run build", @@ -60,7 +60,7 @@ "vue-router": "^4.0.0-rc.4" }, "dependencies": { - "@ionic/core": "^6.1.3", + "@ionic/core": "^6.1.4", "ionicons": "^6.0.0" }, "vetur": { diff --git a/packages/vue/test-app/src/main.ts b/packages/vue/test-app/src/main.ts index c86c39adbb..e2782fdd97 100644 --- a/packages/vue/test-app/src/main.ts +++ b/packages/vue/test-app/src/main.ts @@ -38,7 +38,7 @@ window.addEventListener('unhandledrejection', (err) => { }); const app = createApp(App) - .use(IonicVue) + .use(IonicVue, { hardwareBackButton: true }) .use(router); router.isReady().then(() => { diff --git a/packages/vue/test-app/tests/e2e/specs/hbb.js b/packages/vue/test-app/tests/e2e/specs/hbb.js new file mode 100644 index 0000000000..0e95070849 --- /dev/null +++ b/packages/vue/test-app/tests/e2e/specs/hbb.js @@ -0,0 +1,96 @@ +describe('Hardware Back Button', () => { + it('should correctly go back to Tab 1', () => { + cy.visit('http://localhost:8080/tabs'); + + cy.get('ion-tab-button#tab-button-tab2').click(); + cy.ionPageHidden('tab1'); + cy.ionPageVisible('tab2'); + + cy.get('#add-tab').click(); + + cy.get('ion-tab-button#tab-button-tab4').click(); + cy.ionPageHidden('tab2'); + cy.ionPageVisible('tab4'); + + cy.get('ion-tab-button#tab-button-tab1').click(); + cy.ionPageHidden('tab4'); + cy.ionPageVisible('tab1'); + + cy.hardwareBackButton(); + cy.ionPageHidden('tab1'); + cy.ionPageVisible('tab4'); + + cy.hardwareBackButton(); + cy.ionPageHidden('tab4'); + cy.ionPageVisible('tab2'); + + cy.hardwareBackButton(); + cy.ionPageHidden('tab2'); + cy.ionPageVisible('tab1'); + }); + + it('should correctly go back to the root tab from child pages', () => { + cy.visit('http://localhost:8080'); + + cy.routerPush('/tabs'); + cy.ionPageHidden('home'); + cy.ionPageVisible('tab1'); + + cy.routerPush('/tabs/tab1/childone'); + cy.ionPageHidden('tab1'); + cy.ionPageVisible('tab1childone'); + + cy.routerPush('/tabs/tab1/childtwo'); + cy.ionPageHidden('tab1childone'); + cy.ionPageVisible('tab1childtwo'); + + cy.hardwareBackButton(); + cy.ionPageDoesNotExist('tab1childtwo'); + cy.ionPageVisible('tab1childone'); + + cy.hardwareBackButton(); + cy.ionPageDoesNotExist('tab1childone'); + cy.ionPageVisible('tab1'); + + cy.hardwareBackButton(); + cy.ionPageDoesNotExist('tab1'); + cy.ionPageVisible('home'); + }); + + // TODO FW-1389 + it.skip('should correctly go back to the root tab after switching pages', () => { + cy.visit('http://localhost:8080'); + + cy.routerPush('/tabs'); + cy.ionPageHidden('home'); + cy.ionPageVisible('tab1'); + + cy.routerPush('/tabs/tab1/childone'); + cy.ionPageHidden('tab1'); + cy.ionPageVisible('tab1childone'); + + cy.routerPush('/tabs/tab1/childtwo'); + cy.ionPageHidden('tab1childone'); + cy.ionPageVisible('tab1childtwo'); + + cy.get('ion-tab-button#tab-button-tab2').click(); + cy.ionPageHidden('tab1childtwo'); + cy.ionPageVisible('tab2'); + + cy.get('ion-tab-button#tab-button-tab1').click(); + cy.ionPageHidden('tab2'); + cy.ionPageVisible('tab1childtwo'); + + cy.hardwareBackButton(); + cy.ionPageDoesNotExist('tab1childtwo'); + cy.ionPageVisible('tab1childone'); + + cy.hardwareBackButton(); + cy.ionPageDoesNotExist('tab1childone'); + cy.ionPageVisible('tab1'); + + cy.hardwareBackButton(); + cy.ionPageDoesNotExist('tab1'); + cy.ionPageVisible('home'); + }); +}) diff --git a/packages/vue/test-app/tests/e2e/specs/tabs.js b/packages/vue/test-app/tests/e2e/specs/tabs.js index ba31e949cd..643196f76b 100644 --- a/packages/vue/test-app/tests/e2e/specs/tabs.js +++ b/packages/vue/test-app/tests/e2e/specs/tabs.js @@ -476,6 +476,64 @@ describe('Tabs', () => { cy.ionPageVisible('home'); cy.ionPageDoesNotExist('tabs'); }); + + // Verifies fix for https://github.com/ionic-team/ionic-framework/issues/24936 + it('should correctly go back after changing tabs', () => { + cy.visit('http://localhost:8080/tabs/tab1'); + + cy.routerPush('/tabs/tab1/childone'); + cy.ionPageVisible('tab1childone'); + cy.ionPageHidden('tab1'); + + cy.routerPush('/tabs/tab1/childtwo'); + cy.ionPageVisible('tab1childtwo'); + cy.ionPageHidden('tab1childone'); + + cy.get('ion-tab-button#tab-button-tab2').click(); + cy.ionPageHidden('tab1childtwo'); + cy.ionPageVisible('tab2'); + + cy.get('ion-tab-button#tab-button-tab1').click(); + cy.ionPageHidden('tab2'); + cy.ionPageVisible('tab1childtwo'); + + cy.ionBackClick('tab1childtwo'); + cy.ionPageVisible('tab1childone'); + cy.ionPageDoesNotExist('tab1childtwo'); + + cy.ionBackClick('tab1childone'); + cy.ionPageVisible('tab1'); + cy.ionPageDoesNotExist('tab1childone'); + }); + + // Verifies fix for https://github.com/ionic-team/ionic-framework/issues/24303 + it('should correctly perform router.go without errors after navigating into tabs', () => { + cy.visit('http://localhost:8080/'); + + cy.routerPush('/inputs'); + cy.ionPageVisible('inputs'); + cy.ionPageHidden('home'); + + cy.routerPush('/routing'); + cy.ionPageVisible('routing'); + cy.ionPageHidden('inputs'); + + cy.routerPush('/tabs/tab1'); + cy.ionPageVisible('tab1'); + cy.ionPageHidden('routing'); + + cy.get('ion-tab-button#tab-button-tab2').click(); + cy.ionPageHidden('tab1'); + cy.ionPageVisible('tab2'); + + cy.get('ion-tab-button#tab-button-tab1').click(); + cy.ionPageHidden('tab2'); + cy.ionPageVisible('tab1'); + + cy.routerGo(-1); + cy.ionPageVisible('tab2'); + cy.ionPageHidden('tab1'); + }); }) describe('Tabs - Swipe to Go Back', () => { diff --git a/packages/vue/test-app/tests/e2e/support/commands.js b/packages/vue/test-app/tests/e2e/support/commands.js index 9d0ba08b75..9d3f373664 100644 --- a/packages/vue/test-app/tests/e2e/support/commands.js +++ b/packages/vue/test-app/tests/e2e/support/commands.js @@ -106,3 +106,15 @@ Cypress.Commands.add('ionBackButtonHidden', (pageId) => { .find('ion-back-button') .should('not.be.visible') }); + +/** + * If running in a browser, hardwareBackButton: true + * must be set in Ionic config for this to work. + */ +Cypress.Commands.add('hardwareBackButton', () => { + cy.document().then(doc => { + const ev = new CustomEvent('backbutton'); + + doc.dispatchEvent(ev); + }) +})