diff --git a/.github/workflows/actions/build-angular/action.yml b/.github/workflows/actions/build-angular/action.yml index ea6f9f6ab8..848fda91b6 100644 --- a/.github/workflows/actions/build-angular/action.yml +++ b/.github/workflows/actions/build-angular/action.yml @@ -6,21 +6,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json')}}-v2 - - name: Cache Angular Node Modules - uses: actions/cache@v3 - env: - cache-name: angular-node-modules - with: - path: ./angular/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./angular/package-lock.json')}}-v2 - uses: ./.github/workflows/actions/download-archive with: name: ionic-core diff --git a/.github/workflows/actions/build-core-stencil-eval/action.yml b/.github/workflows/actions/build-core-stencil-eval/action.yml new file mode 100644 index 0000000000..39c6be91d9 --- /dev/null +++ b/.github/workflows/actions/build-core-stencil-eval/action.yml @@ -0,0 +1,50 @@ +name: 'Build Ionic Core with Stencil Eval' +description: 'Build Ionic Core with an Evaluation Copy of Stencil' +runs: + using: 'composite' + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 16.x + + - name: Install Dependencies + run: npm ci + working-directory: ./core + shell: bash + - name: Retrieve Stencil Repository + run: git clone https://github.com/ionic-team/stencil.git stencil-repo-tmp + shell: bash + - name: Report Stencil SHA + run: git rev-parse HEAD + working-directory: ./stencil-repo-tmp + shell: bash + - name: Build Stencil + run: npm ci && npm run build && npm pack + working-directory: ./stencil-repo-tmp + shell: bash + - name: Move the Stencil Build Artifact + # there isn't a great way to get the output of `npm pack`, just grab the first and hope for the best + run: mv $(ls ./stencil-repo-tmp/*.tgz | head -1) ./core/stencil-eval.tgz + shell: bash + - name: Install Stencil Eval + working-directory: ./core + run: npm i ./stencil-eval.tgz + shell: bash + - name: Clean Up Stencil Build + run: rm -rf stencil-repo-tmp + shell: bash + - name: Build Core + run: npm run build -- --ci + working-directory: ./core + shell: bash + - uses: ./.github/workflows/actions/upload-archive + with: + name: ionic-core + output: core/CoreBuild.zip + paths: core/dist core/components core/css core/hydrate core/loader core/src/components.d.ts + - uses: ./.github/workflows/actions/upload-archive + with: + name: ionic-core-src + output: core/CoreSrc.zip + paths: core/src diff --git a/.github/workflows/actions/build-core/action.yml b/.github/workflows/actions/build-core/action.yml index 1b23b8e20e..7d725ff1f3 100644 --- a/.github/workflows/actions/build-core/action.yml +++ b/.github/workflows/actions/build-core/action.yml @@ -10,14 +10,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 - name: Install Dependencies run: npm install working-directory: ./core diff --git a/.github/workflows/actions/build-react-router/action.yml b/.github/workflows/actions/build-react-router/action.yml index d7780cf7c7..2c6203b9ff 100644 --- a/.github/workflows/actions/build-react-router/action.yml +++ b/.github/workflows/actions/build-react-router/action.yml @@ -6,14 +6,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 - name: Install Dependencies run: npm install --legacy-peer-deps shell: bash diff --git a/.github/workflows/actions/build-react/action.yml b/.github/workflows/actions/build-react/action.yml index 358ac39cf5..77e5e5a5d8 100644 --- a/.github/workflows/actions/build-react/action.yml +++ b/.github/workflows/actions/build-react/action.yml @@ -6,14 +6,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 - uses: ./.github/workflows/actions/download-archive with: name: ionic-core diff --git a/.github/workflows/actions/build-vue-router/action.yml b/.github/workflows/actions/build-vue-router/action.yml index cd1e135a32..a0b3564e17 100644 --- a/.github/workflows/actions/build-vue-router/action.yml +++ b/.github/workflows/actions/build-vue-router/action.yml @@ -6,14 +6,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 - uses: ./.github/workflows/actions/download-archive with: name: ionic-core diff --git a/.github/workflows/actions/build-vue/action.yml b/.github/workflows/actions/build-vue/action.yml index b098994ef4..c7f0a38ae6 100644 --- a/.github/workflows/actions/build-vue/action.yml +++ b/.github/workflows/actions/build-vue/action.yml @@ -6,14 +6,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 - uses: ./.github/workflows/actions/download-archive with: name: ionic-core diff --git a/.github/workflows/actions/test-angular-e2e/action.yml b/.github/workflows/actions/test-angular-e2e/action.yml index 19d8b131f5..4339144a01 100644 --- a/.github/workflows/actions/test-angular-e2e/action.yml +++ b/.github/workflows/actions/test-angular-e2e/action.yml @@ -9,14 +9,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16 - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 - uses: ./.github/workflows/actions/download-archive with: name: ionic-core diff --git a/.github/workflows/actions/test-core-e2e/action.yml b/.github/workflows/actions/test-core-e2e/action.yml index d4c4a5bd53..f3c243dbac 100644 --- a/.github/workflows/actions/test-core-e2e/action.yml +++ b/.github/workflows/actions/test-core-e2e/action.yml @@ -6,14 +6,10 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 + - name: Install Dependencies + run: npm install + working-directory: ./core + shell: bash - uses: ./.github/workflows/actions/download-archive with: name: ionic-core diff --git a/.github/workflows/actions/test-core-lint/action.yml b/.github/workflows/actions/test-core-lint/action.yml index 3cf7deea64..d0954963fc 100644 --- a/.github/workflows/actions/test-core-lint/action.yml +++ b/.github/workflows/actions/test-core-lint/action.yml @@ -6,14 +6,10 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 + - name: Install Dependencies + run: npm ci + working-directory: ./core + shell: bash - name: Lint run: npm run lint shell: bash diff --git a/.github/workflows/actions/test-core-screenshot/action.yml b/.github/workflows/actions/test-core-screenshot/action.yml index 3ca1e01de6..61b7121199 100644 --- a/.github/workflows/actions/test-core-screenshot/action.yml +++ b/.github/workflows/actions/test-core-screenshot/action.yml @@ -13,14 +13,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 - uses: ./.github/workflows/actions/download-archive with: name: ionic-core @@ -32,7 +24,7 @@ runs: path: ./core filename: CoreSrc.zip - name: Install Playwright Dependencies - run: npx playwright install && npx playwright install-deps + run: npm install && npx playwright install && npx playwright install-deps shell: bash working-directory: ./core - name: Test diff --git a/.github/workflows/actions/test-core-spec/action.yml b/.github/workflows/actions/test-core-spec/action.yml index 813a300031..258b4c49d3 100644 --- a/.github/workflows/actions/test-core-spec/action.yml +++ b/.github/workflows/actions/test-core-spec/action.yml @@ -6,14 +6,10 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 + - name: Install Dependencies + run: npm install + working-directory: ./core + shell: bash - uses: ./.github/workflows/actions/download-archive with: name: ionic-core diff --git a/.github/workflows/actions/test-react-e2e/action.yml b/.github/workflows/actions/test-react-e2e/action.yml index 7eb73985c6..4a3709a669 100644 --- a/.github/workflows/actions/test-react-e2e/action.yml +++ b/.github/workflows/actions/test-react-e2e/action.yml @@ -6,14 +6,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 - uses: ./.github/workflows/actions/download-archive with: name: ionic-core diff --git a/.github/workflows/actions/test-react-router-e2e/action.yml b/.github/workflows/actions/test-react-router-e2e/action.yml index 047c8434c5..72a279b760 100644 --- a/.github/workflows/actions/test-react-router-e2e/action.yml +++ b/.github/workflows/actions/test-react-router-e2e/action.yml @@ -6,14 +6,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 - uses: ./.github/workflows/actions/download-archive with: name: ionic-core diff --git a/.github/workflows/actions/test-vue-e2e/action.yml b/.github/workflows/actions/test-vue-e2e/action.yml index 8452420f54..8d4d71ce1c 100644 --- a/.github/workflows/actions/test-vue-e2e/action.yml +++ b/.github/workflows/actions/test-vue-e2e/action.yml @@ -9,14 +9,6 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x - - - name: Cache Core Node Modules - uses: actions/cache@v3 - env: - cache-name: core-node-modules - with: - path: ./core/node_modules - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('./core/package-lock.json') }}-v2 - uses: ./.github/workflows/actions/download-archive with: name: ionic-core diff --git a/.github/workflows/stencil-eval.yml b/.github/workflows/stencil-eval.yml new file mode 100644 index 0000000000..eda82c31f0 --- /dev/null +++ b/.github/workflows/stencil-eval.yml @@ -0,0 +1,197 @@ +# This workflow is intended to run against the `HEAD` of Stencil's primary branch. +# See https://github.com/ionic-team/stencil for contents of the repository +name: 'Stencil Nightly Build' + +on: + schedule: + # Run every Monday-Friday + # at 6:00 UTC (6:00 am UTC) + - cron: '00 06 * * 1-5' + + +# When pushing a new commit we should +# cancel the previous test run to not +# consume more runners than we need to. +concurrency: + group: ${{ github.ref }} + cancel-in-progress: false + +jobs: + build-core: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + # Checkout the latest commit in this branch + ref: ${{ github.event.pull_request.head.sha }} + - uses: ./.github/workflows/actions/build-core-stencil-eval + + test-core-clean-build: + needs: [build-core] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/test-core-clean-build + + test-core-lint: + needs: [build-core] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/test-core-lint + + test-core-spec: + needs: [build-core] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/test-core-spec + + test-core-e2e: + needs: [build-core] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/test-core-e2e + + test-core-screenshot: + strategy: + # This ensures that all screenshot shard + # failures are reported so the dev can + # review everything at once. + fail-fast: false + matrix: + # Divide the tests into n buckets + # and run those buckets in parallel. + # To increase the number of shards, + # add new items to the shard array + # and change the value of totalShards + # to be the length of the shard array. + shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] + totalShards: [20] + needs: [build-core] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/test-core-screenshot + with: + shard: ${{ matrix.shard }} + totalShards: ${{ matrix.totalShards }} + + # Screenshots are required to pass + # in order for the branch to be merge + # eligible. However, the screenshot tests + # are run on n runners where n can change + # over time. The verify-screenshots step allows + # us to have a required status check for screenshot + # results without having to manually add each + # matrix run in the branch protection rules + # Source: https://github.community/t/status-check-for-a-matrix-jobs/127354 + verify-screenshots: + if: ${{ always() }} + needs: test-core-screenshot + runs-on: ubuntu-latest + steps: + - name: Check build matrix status + if: ${{ needs.test-core-screenshot.result != 'success' }} + run: exit 1 + + build-vue: + needs: [build-core] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/build-vue + + build-vue-router: + needs: [build-vue] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/build-vue-router + + test-vue-e2e: + strategy: + fail-fast: false + matrix: + apps: [vue3] + needs: [build-vue, build-vue-router] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/test-vue-e2e + with: + app: ${{ matrix.apps }} + + verify-test-vue-e2e: + if: ${{ always() }} + needs: test-vue-e2e + runs-on: ubuntu-latest + steps: + - name: Check build matrix status + if: ${{ needs.test-vue-e2e.result != 'success' }} + run: exit 1 + + build-angular: + needs: [build-core] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/build-angular + + build-angular-server: + needs: [build-angular] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/build-angular-server + + test-angular-e2e: + strategy: + fail-fast: false + matrix: + apps: [ng12, ng13, ng14, ng15] + needs: [build-angular, build-angular-server] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/test-angular-e2e + with: + app: ${{ matrix.apps }} + + verify-test-angular-e2e: + if: ${{ always() }} + needs: test-angular-e2e + runs-on: ubuntu-latest + steps: + - name: Check build matrix status + if: ${{ needs.test-angular-e2e.result != 'success' }} + run: exit 1 + + build-react: + needs: [build-core] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/build-react + + build-react-router: + needs: [build-react] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/build-react-router + + test-react-router-e2e: + needs: [build-react, build-react-router] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/test-react-router-e2e + + test-react-e2e: + needs: [build-react, build-react-router] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: ./.github/workflows/actions/test-react-e2e diff --git a/CHANGELOG.md b/CHANGELOG.md index 730d1aa64e..580d421a5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,33 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.3.6](https://github.com/ionic-team/ionic-framework/compare/v6.3.5...v6.3.6) (2022-11-10) + + +### Bug Fixes + +* **datetime:** flip chevron icons when RTL is set on component directly ([#26195](https://github.com/ionic-team/ionic-framework/issues/26195)) ([dd98677](https://github.com/ionic-team/ionic-framework/commit/dd9867708b66543f5cbe978e0fa6ef34b37f9fc3)) +* **react:** inline overlays display contents consistently ([#26255](https://github.com/ionic-team/ionic-framework/issues/26255)) ([d709ff6](https://github.com/ionic-team/ionic-framework/commit/d709ff64ae29a5197dc74cecb95cba602479683d)), closes [#26253](https://github.com/ionic-team/ionic-framework/issues/26253) + + + + + +## [6.3.5](https://github.com/ionic-team/ionic-framework/compare/v6.3.4...v6.3.5) (2022-11-09) + + +### Bug Fixes + +* **android:** account for chrome 108 resize ([#26244](https://github.com/ionic-team/ionic-framework/issues/26244)) ([1a0b9ed](https://github.com/ionic-team/ionic-framework/commit/1a0b9ed3bacffa9f602637c204f52cb3face5a3e)) +* **datetime:** min/max correctly display available day periods ([#26241](https://github.com/ionic-team/ionic-framework/issues/26241)) ([526e411](https://github.com/ionic-team/ionic-framework/commit/526e4113d82d244e2574b24d72fda632bb2aa143)), closes [#26216](https://github.com/ionic-team/ionic-framework/issues/26216) +* **overlays:** presenting an overlay does not create nested elements ([#26154](https://github.com/ionic-team/ionic-framework/issues/26154)) ([bb00595](https://github.com/ionic-team/ionic-framework/commit/bb005956eaff7401cfe1d6befcbf512424ddd283)), closes [#26117](https://github.com/ionic-team/ionic-framework/issues/26117) +* **react:** loading layout is correct with no message ([#26222](https://github.com/ionic-team/ionic-framework/issues/26222)) ([57105d5](https://github.com/ionic-team/ionic-framework/commit/57105d54ea259fc9cd1a63e3d361ec8a57dd2971)), closes [#26219](https://github.com/ionic-team/ionic-framework/issues/26219) +* **vue:** generate web-types for components ([#26205](https://github.com/ionic-team/ionic-framework/issues/26205)) ([1f7fc8f](https://github.com/ionic-team/ionic-framework/commit/1f7fc8f05c03316560e0b58c3bf58db6b189d0e1)), closes [#26198](https://github.com/ionic-team/ionic-framework/issues/26198) + + + + + ## [6.3.4](https://github.com/ionic-team/ionic-framework/compare/v6.3.3...v6.3.4) (2022-11-02) diff --git a/angular/CHANGELOG.md b/angular/CHANGELOG.md index 33e4921058..540e438bb7 100644 --- a/angular/CHANGELOG.md +++ b/angular/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.3.6](https://github.com/ionic-team/ionic/compare/v6.3.5...v6.3.6) (2022-11-10) + +**Note:** Version bump only for package @ionic/angular + + + + + +## [6.3.5](https://github.com/ionic-team/ionic/compare/v6.3.4...v6.3.5) (2022-11-09) + +**Note:** Version bump only for package @ionic/angular + + + + + ## [6.3.4](https://github.com/ionic-team/ionic/compare/v6.3.3...v6.3.4) (2022-11-02) **Note:** Version bump only for package @ionic/angular diff --git a/angular/package-lock.json b/angular/package-lock.json index eb1c42caf5..93d85c8bd9 100644 --- a/angular/package-lock.json +++ b/angular/package-lock.json @@ -1,15 +1,16 @@ { "name": "@ionic/angular", - "version": "6.3.4", + "version": "6.3.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/angular", - "version": "6.3.4", + "version": "6.3.6", "license": "MIT", "dependencies": { - "@ionic/core": "^6.3.4", + "@ionic/core": "^6.3.6", + "ionicons": "^6.0.4", "jsonc-parser": "^3.0.0", "tslib": "^2.0.0" }, @@ -1023,27 +1024,15 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "dependencies": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" } }, - "node_modules/@ionic/core/node_modules/@stencil/core": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.18.0.tgz", - "integrity": "sha512-NLEY8Jq59smyiivBAxHKipsp9YkkW/K/Vm90zAyXQqukb12i2SFucWHJ1Ik7ropVlhmMVvigyxXgRfQ9quIqtg==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" - } - }, "node_modules/@ionic/eslint-config": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@ionic/eslint-config/-/eslint-config-0.3.0.tgz", @@ -1234,9 +1223,9 @@ } }, "node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "bin": { "stencil": "bin/stencil" }, @@ -3569,11 +3558,11 @@ } }, "node_modules/ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "node_modules/is-bigint": { @@ -7951,20 +7940,13 @@ "dev": true }, "@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "requires": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" - }, - "dependencies": { - "@stencil/core": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.18.0.tgz", - "integrity": "sha512-NLEY8Jq59smyiivBAxHKipsp9YkkW/K/Vm90zAyXQqukb12i2SFucWHJ1Ik7ropVlhmMVvigyxXgRfQ9quIqtg==" - } } }, "@ionic/eslint-config": { @@ -8111,9 +8093,9 @@ } }, "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==" }, "@types/estree": { "version": "0.0.39", @@ -9818,11 +9800,11 @@ } }, "ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "is-bigint": { diff --git a/angular/package.json b/angular/package.json index 1920437a0d..1c129a6e8c 100644 --- a/angular/package.json +++ b/angular/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/angular", - "version": "6.3.4", + "version": "6.3.6", "description": "Angular specific wrappers for @ionic/core", "keywords": [ "ionic", @@ -40,13 +40,14 @@ "prettier": "prettier \"**/*.ts\"", "eslint": "eslint . --ext .ts", "prerelease": "npm run validate && np prerelease --yolo --any-branch --tag next", - "sync": "sh ./scripts/sync.sh", + "sync": "./scripts/sync.sh", "test": "echo 'angular no tests yet'", "tsc": "tsc -p .", "validate": "npm i && npm run lint && npm run test && npm run build" }, "dependencies": { - "@ionic/core": "^6.3.4", + "@ionic/core": "^6.3.6", + "ionicons": "^6.0.4", "jsonc-parser": "^3.0.0", "tslib": "^2.0.0" }, @@ -93,6 +94,7 @@ }, "allowedNonPeerDependencies": [ "@ionic/core", + "ionicons", "jsonc-parser" ] } diff --git a/angular/scripts/build-core.js b/angular/scripts/build-core.js index 25eed9daca..b0933cf9e3 100644 --- a/angular/scripts/build-core.js +++ b/angular/scripts/build-core.js @@ -2,17 +2,8 @@ const fs = require('fs-extra'); const path = require('path'); const spawn = require('child_process').spawn; -const stencilPath = path.join(__dirname, '..', '..', 'core', 'node_modules', '.bin'); const typescriptPath = path.join(__dirname, '..', 'node_modules', '.bin'); -function copyIonicons() { - const src = path.join(__dirname, '..', '..', 'core', 'node_modules', 'ionicons'); - const dst = path.join(__dirname, '..', 'node_modules', 'ionicons'); - - fs.removeSync(dst); - fs.copySync(src, dst); -} - function copyCSS() { const src = path.join(__dirname, '..', '..', 'core', 'css'); const dst = path.join(__dirname, '..','dist', 'css'); @@ -57,7 +48,6 @@ function copySchematicsJson(){ } -copyIonicons(); copyCSS(); buildSchematics(); copySchematicsJson() diff --git a/angular/scripts/sync.sh b/angular/scripts/sync.sh index 313e266eba..ea2dee5fab 100755 --- a/angular/scripts/sync.sh +++ b/angular/scripts/sync.sh @@ -1,7 +1,9 @@ -rm -rf node_modules/@ionic/core -mkdir node_modules/@ionic/core -cp -a ../core/css node_modules/@ionic/core/css +#!/bin/bash + +set -e + +# Copy core dist +rm -rf node_modules/@ionic/core/dist node_modules/@ionic/core/components cp -a ../core/dist node_modules/@ionic/core/dist -cp -a ../core/hydrate node_modules/@ionic/core/hydrate -cp -a ../core/loader node_modules/@ionic/core/loader +cp -a ../core/components node_modules/@ionic/core/components cp -a ../core/package.json node_modules/@ionic/core/package.json diff --git a/angular/src/directives/control-value-accessors/value-accessor.ts b/angular/src/directives/control-value-accessors/value-accessor.ts index 4cc30e7469..77bb27b2b6 100644 --- a/angular/src/directives/control-value-accessors/value-accessor.ts +++ b/angular/src/directives/control-value-accessors/value-accessor.ts @@ -96,14 +96,8 @@ export class ValueAccessor implements ControlValueAccessor, AfterViewInit, OnDes } /** - * TODO Remove this in favor of https://github.com/angular/angular/issues/10887 - * whenever it is implemented. Currently, Ionic's form status classes - * do not react to changes when developers manually call - * Angular form control methods such as markAsTouched. - * This results in Ionic's form status classes being out - * of sync with the ng form status classes. - * This patches the methods to manually sync - * the classes until this feature is implemented in Angular. + * TODO FW-2787: Remove this in favor of https://github.com/angular/angular/issues/10887 + * whenever it is implemented. */ const formControl = ngControl.control as any; if (formControl) { diff --git a/angular/src/directives/navigation/stack-utils.ts b/angular/src/directives/navigation/stack-utils.ts index 4970c3c69e..4f8c5b054f 100644 --- a/angular/src/directives/navigation/stack-utils.ts +++ b/angular/src/directives/navigation/stack-utils.ts @@ -74,7 +74,6 @@ export const toSegments = (path: string): string[] => { export const destroyView = (view: RouteView | undefined): void => { if (view) { - // TODO lifecycle event view.ref.destroy(); view.unlistenEvents(); } diff --git a/angular/src/directives/overlays/popover.ts b/angular/src/directives/overlays/popover.ts index aedbb97f9c..5cee75eecf 100644 --- a/angular/src/directives/overlays/popover.ts +++ b/angular/src/directives/overlays/popover.ts @@ -108,7 +108,7 @@ export class IonPopover { constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { this.el = r.nativeElement; - this.el.addEventListener('willPresent', () => { + this.el.addEventListener('ionMount', () => { this.isCmpOpen = true; c.detectChanges(); }); diff --git a/angular/src/util/overlay.ts b/angular/src/util/overlay.ts index a170abea55..992e009c4e 100644 --- a/angular/src/util/overlay.ts +++ b/angular/src/util/overlay.ts @@ -11,7 +11,6 @@ export class OverlayBaseController implements ControllerShape { - // TODO: next major release opts is not optional return this.ctrl.create((opts || {}) as any); } diff --git a/angular/test/apps/ng12/package-lock.json b/angular/test/apps/ng12/package-lock.json index d0d708f2a5..9780a1758f 100644 --- a/angular/test/apps/ng12/package-lock.json +++ b/angular/test/apps/ng12/package-lock.json @@ -24,6 +24,7 @@ "angular-in-memory-web-api": "^0.11.0", "core-js": "^2.6.11", "express": "^4.15.2", + "ionicons": "^6.0.4", "rxjs": "^6.5.5", "tslib": "^2.0.0", "typescript-eslint-language-service": "^4.1.5", @@ -3536,9 +3537,9 @@ "dev": true }, "node_modules/@stencil/core": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.17.1.tgz", - "integrity": "sha512-ErjQsNALgZQ9SYeBHhqwL1UO+Zbptwl3kwrRJC2tGlc3G/T6UvPuaKr+PGsqI+CZGia+0+R5EELQvFu74mYeIg==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "bin": { "stencil": "bin/stencil" }, @@ -10444,23 +10445,11 @@ } }, "node_modules/ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" - } - }, - "node_modules/ionicons/node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" + "@stencil/core": "^2.18.0" } }, "node_modules/ip": { @@ -22458,9 +22447,9 @@ "dev": true }, "@stencil/core": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.17.1.tgz", - "integrity": "sha512-ErjQsNALgZQ9SYeBHhqwL1UO+Zbptwl3kwrRJC2tGlc3G/T6UvPuaKr+PGsqI+CZGia+0+R5EELQvFu74mYeIg==" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==" }, "@tootallnate/once": { "version": "1.1.2", @@ -27652,18 +27641,11 @@ "dev": true }, "ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" - }, - "dependencies": { - "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" - } + "@stencil/core": "^2.18.0" } }, "ip": { diff --git a/angular/test/apps/ng12/package.json b/angular/test/apps/ng12/package.json index 213eeee8a2..f914c506be 100644 --- a/angular/test/apps/ng12/package.json +++ b/angular/test/apps/ng12/package.json @@ -35,6 +35,7 @@ "angular-in-memory-web-api": "^0.11.0", "core-js": "^2.6.11", "express": "^4.15.2", + "ionicons": "^6.0.4", "rxjs": "^6.5.5", "tslib": "^2.0.0", "typescript-eslint-language-service": "^4.1.5", diff --git a/angular/test/apps/ng13/package-lock.json b/angular/test/apps/ng13/package-lock.json index 9f6ca81b84..910f3f763f 100644 --- a/angular/test/apps/ng13/package-lock.json +++ b/angular/test/apps/ng13/package-lock.json @@ -24,6 +24,7 @@ "angular-in-memory-web-api": "^0.11.0", "core-js": "^2.6.11", "express": "^4.15.2", + "ionicons": "^6.0.4", "rxjs": "^6.5.5", "tslib": "^2.0.0", "typescript-eslint-language-service": "^4.1.5", @@ -3423,9 +3424,9 @@ "dev": true }, "node_modules/@stencil/core": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.17.1.tgz", - "integrity": "sha512-ErjQsNALgZQ9SYeBHhqwL1UO+Zbptwl3kwrRJC2tGlc3G/T6UvPuaKr+PGsqI+CZGia+0+R5EELQvFu74mYeIg==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "bin": { "stencil": "bin/stencil" }, @@ -9844,23 +9845,11 @@ } }, "node_modules/ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" - } - }, - "node_modules/ionicons/node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" + "@stencil/core": "^2.18.0" } }, "node_modules/ip": { @@ -18772,9 +18761,9 @@ "dev": true }, "@stencil/core": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.17.1.tgz", - "integrity": "sha512-ErjQsNALgZQ9SYeBHhqwL1UO+Zbptwl3kwrRJC2tGlc3G/T6UvPuaKr+PGsqI+CZGia+0+R5EELQvFu74mYeIg==" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==" }, "@tootallnate/once": { "version": "2.0.0", @@ -23499,18 +23488,11 @@ "dev": true }, "ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" - }, - "dependencies": { - "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" - } + "@stencil/core": "^2.18.0" } }, "ip": { diff --git a/angular/test/apps/ng13/package.json b/angular/test/apps/ng13/package.json index 3596f9b1d4..9216779d18 100644 --- a/angular/test/apps/ng13/package.json +++ b/angular/test/apps/ng13/package.json @@ -35,6 +35,7 @@ "angular-in-memory-web-api": "^0.11.0", "core-js": "^2.6.11", "express": "^4.15.2", + "ionicons": "^6.0.4", "rxjs": "^6.5.5", "tslib": "^2.0.0", "typescript-eslint-language-service": "^4.1.5", diff --git a/angular/test/apps/ng14/package-lock.json b/angular/test/apps/ng14/package-lock.json index 06a7e8bf39..70994387e9 100644 --- a/angular/test/apps/ng14/package-lock.json +++ b/angular/test/apps/ng14/package-lock.json @@ -24,6 +24,7 @@ "angular-in-memory-web-api": "^0.11.0", "core-js": "^2.6.11", "express": "^4.15.2", + "ionicons": "^6.0.4", "rxjs": "^6.5.5", "tslib": "^2.0.0", "typescript-eslint-language-service": "^4.1.5", @@ -3329,9 +3330,9 @@ "dev": true }, "node_modules/@stencil/core": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.17.1.tgz", - "integrity": "sha512-ErjQsNALgZQ9SYeBHhqwL1UO+Zbptwl3kwrRJC2tGlc3G/T6UvPuaKr+PGsqI+CZGia+0+R5EELQvFu74mYeIg==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "bin": { "stencil": "bin/stencil" }, @@ -9744,23 +9745,11 @@ } }, "node_modules/ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" - } - }, - "node_modules/ionicons/node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" + "@stencil/core": "^2.18.0" } }, "node_modules/ip": { @@ -18702,9 +18691,9 @@ "dev": true }, "@stencil/core": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.17.1.tgz", - "integrity": "sha512-ErjQsNALgZQ9SYeBHhqwL1UO+Zbptwl3kwrRJC2tGlc3G/T6UvPuaKr+PGsqI+CZGia+0+R5EELQvFu74mYeIg==" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==" }, "@tootallnate/once": { "version": "2.0.0", @@ -23422,18 +23411,11 @@ "dev": true }, "ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" - }, - "dependencies": { - "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" - } + "@stencil/core": "^2.18.0" } }, "ip": { diff --git a/angular/test/apps/ng14/package.json b/angular/test/apps/ng14/package.json index 34fbffa47d..944c735a68 100644 --- a/angular/test/apps/ng14/package.json +++ b/angular/test/apps/ng14/package.json @@ -35,6 +35,7 @@ "angular-in-memory-web-api": "^0.11.0", "core-js": "^2.6.11", "express": "^4.15.2", + "ionicons": "^6.0.4", "rxjs": "^6.5.5", "tslib": "^2.0.0", "typescript-eslint-language-service": "^4.1.5", diff --git a/angular/test/apps/ng15/package-lock.json b/angular/test/apps/ng15/package-lock.json index e21050aa0f..41174ff380 100644 --- a/angular/test/apps/ng15/package-lock.json +++ b/angular/test/apps/ng15/package-lock.json @@ -24,6 +24,7 @@ "angular-in-memory-web-api": "^0.11.0", "core-js": "^2.6.11", "express": "^4.15.2", + "ionicons": "^6.0.4", "rxjs": "~7.5.0", "tslib": "^2.3.0", "typescript-eslint-language-service": "^4.1.5", @@ -3407,9 +3408,9 @@ "dev": true }, "node_modules/@stencil/core": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.17.1.tgz", - "integrity": "sha512-ErjQsNALgZQ9SYeBHhqwL1UO+Zbptwl3kwrRJC2tGlc3G/T6UvPuaKr+PGsqI+CZGia+0+R5EELQvFu74mYeIg==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "bin": { "stencil": "bin/stencil" }, @@ -9680,23 +9681,11 @@ } }, "node_modules/ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" - } - }, - "node_modules/ionicons/node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" + "@stencil/core": "^2.18.0" } }, "node_modules/ip": { @@ -18515,9 +18504,9 @@ "dev": true }, "@stencil/core": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.17.1.tgz", - "integrity": "sha512-ErjQsNALgZQ9SYeBHhqwL1UO+Zbptwl3kwrRJC2tGlc3G/T6UvPuaKr+PGsqI+CZGia+0+R5EELQvFu74mYeIg==" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==" }, "@tootallnate/once": { "version": "2.0.0", @@ -23141,18 +23130,11 @@ "dev": true }, "ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" - }, - "dependencies": { - "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" - } + "@stencil/core": "^2.18.0" } }, "ip": { diff --git a/angular/test/apps/ng15/package.json b/angular/test/apps/ng15/package.json index 7b1d090db7..6e1f364f42 100644 --- a/angular/test/apps/ng15/package.json +++ b/angular/test/apps/ng15/package.json @@ -35,6 +35,7 @@ "angular-in-memory-web-api": "^0.11.0", "core-js": "^2.6.11", "express": "^4.15.2", + "ionicons": "^6.0.4", "rxjs": "~7.5.0", "tslib": "^2.3.0", "typescript-eslint-language-service": "^4.1.5", diff --git a/angular/test/base/cypress/support/commands.js b/angular/test/base/cypress/support/commands.js index eed4f1768c..888a1ff747 100644 --- a/angular/test/base/cypress/support/commands.js +++ b/angular/test/base/cypress/support/commands.js @@ -73,7 +73,7 @@ Cypress.Commands.add('ionPageDoesNotExist', (selector) => { }); Cypress.Commands.add('ionTabClick', (tabText) => { - // TODO: Figure out how to get rid of wait. It's a workaround for flakiness in CI. + // TODO FW-2790: Figure out how to get rid of wait. It's a workaround for flakiness in CI. cy.wait(250); cy.contains('ion-tab-button', tabText).click({ force: true }); }); diff --git a/angular/test/base/scripts/sync.sh b/angular/test/base/scripts/sync.sh index cb2c31dfd0..ce1d13e180 100644 --- a/angular/test/base/scripts/sync.sh +++ b/angular/test/base/scripts/sync.sh @@ -1,3 +1,7 @@ +#!/bin/bash + +set -e + # Copy angular dist rm -rf node_modules/@ionic/angular cp -a ../../../dist node_modules/@ionic/angular @@ -14,7 +18,3 @@ cp -a ../../../../core/dist node_modules/@ionic/core/dist cp -a ../../../../core/hydrate node_modules/@ionic/core/hydrate cp -a ../../../../core/loader node_modules/@ionic/core/loader cp -a ../../../../core/package.json node_modules/@ionic/core/package.json - -# # Copy ionicons -rm -rf node_modules/ionicons -cp -a ../../../../core/node_modules/ionicons node_modules/ionicons diff --git a/angular/tsconfig.json b/angular/tsconfig.json index 72ff182754..3e44846fb9 100644 --- a/angular/tsconfig.json +++ b/angular/tsconfig.json @@ -31,10 +31,6 @@ "strictPropertyInitialization": false, "target": "es2015", "baseUrl": ".", - "paths": { - "@ionic/core/hydrate": ["../core/hydrate"], - "@ionic/core": ["../core"] - }, "plugins": [ { "name": "typescript-eslint-language-service" diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index d5faa5c31c..684228474b 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.3.6](https://github.com/ionic-team/ionic/compare/v6.3.5...v6.3.6) (2022-11-10) + + +### Bug Fixes + +* **datetime:** flip chevron icons when RTL is set on component directly ([#26195](https://github.com/ionic-team/ionic/issues/26195)) ([dd98677](https://github.com/ionic-team/ionic/commit/dd9867708b66543f5cbe978e0fa6ef34b37f9fc3)) + + + + + +## [6.3.5](https://github.com/ionic-team/ionic/compare/v6.3.4...v6.3.5) (2022-11-09) + + +### Bug Fixes + +* **android:** account for chrome 108 resize ([#26244](https://github.com/ionic-team/ionic/issues/26244)) ([1a0b9ed](https://github.com/ionic-team/ionic/commit/1a0b9ed3bacffa9f602637c204f52cb3face5a3e)) +* **datetime:** min/max correctly display available day periods ([#26241](https://github.com/ionic-team/ionic/issues/26241)) ([526e411](https://github.com/ionic-team/ionic/commit/526e4113d82d244e2574b24d72fda632bb2aa143)), closes [#26216](https://github.com/ionic-team/ionic/issues/26216) +* **overlays:** presenting an overlay does not create nested elements ([#26154](https://github.com/ionic-team/ionic/issues/26154)) ([bb00595](https://github.com/ionic-team/ionic/commit/bb005956eaff7401cfe1d6befcbf512424ddd283)), closes [#26117](https://github.com/ionic-team/ionic/issues/26117) + + + + + ## [6.3.4](https://github.com/ionic-team/ionic/compare/v6.3.3...v6.3.4) (2022-11-02) diff --git a/core/package-lock.json b/core/package-lock.json index ba1dc250cb..0ecdd90cc0 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -1,16 +1,16 @@ { "name": "@ionic/core", - "version": "6.3.4", + "version": "6.3.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/core", - "version": "6.3.4", + "version": "6.3.6", "license": "MIT", "dependencies": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" }, "devDependencies": { @@ -8508,23 +8508,11 @@ } }, "node_modules/ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" - } - }, - "node_modules/ionicons/node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" + "@stencil/core": "^2.18.0" } }, "node_modules/ip": { @@ -23748,18 +23736,11 @@ } }, "ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" - }, - "dependencies": { - "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" - } + "@stencil/core": "^2.18.0" } }, "ip": { diff --git a/core/package.json b/core/package.json index 5bc356f244..0c2bd47c04 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/core", - "version": "6.3.4", + "version": "6.3.6", "description": "Base components for Ionic", "keywords": [ "ionic", @@ -32,7 +32,7 @@ ], "dependencies": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" }, "devDependencies": { diff --git a/core/playwright.config.ts b/core/playwright.config.ts index 9ca446da6b..186879f95f 100644 --- a/core/playwright.config.ts +++ b/core/playwright.config.ts @@ -87,7 +87,7 @@ const config: PlaywrightTestConfig = { * Increases the maximum allowed pixel difference to account * for slight browser rendering inconsistencies. */ - maxDiffPixelRatio: 0.02 + maxDiffPixelRatio: 0.01 } }, /* Fail the build on CI if you accidentally left test.only in the source code. */ diff --git a/core/src/components.d.ts b/core/src/components.d.ts index f25561a306..9df7c78f29 100644 --- a/core/src/components.d.ts +++ b/core/src/components.d.ts @@ -5849,6 +5849,10 @@ declare namespace LocalJSX { * Emitted after the popover has presented. Shorthand for ionPopoverWillDismiss. */ "onDidPresent"?: (event: IonPopoverCustomEvent) => void; + /** + * Emitted before the popover has presented, but after the component has been mounted in the DOM. This event exists for ion-popover to resolve an issue with the popover and the lazy build, that the transition is unable to get the correct dimensions of the popover with auto sizing. This is not required for other overlays, since the existing overlay transitions are not effected by auto sizing content. + */ + "onIonMount"?: (event: IonPopoverCustomEvent) => void; /** * Emitted after the popover has dismissed. */ diff --git a/core/src/components/accordion/test/a11y/accordion.e2e.ts b/core/src/components/accordion/test/a11y/accordion.e2e.ts index 024aab8f84..7f2906ef90 100644 --- a/core/src/components/accordion/test/a11y/accordion.e2e.ts +++ b/core/src/components/accordion/test/a11y/accordion.e2e.ts @@ -4,7 +4,7 @@ import { test } from '@utils/test/playwright'; test.describe('accordion: a11y', () => { test('accordions should be keyboard navigable', async ({ page, skip, browserName }) => { // TODO(FW-1764): remove skip once issue is resolved - skip.browser('firefox', 'https://github.com/ionic-team/ionic-framework/issues/25529'); + skip.browser('firefox', 'https://github.com/ionic-team/ionic-framework/issues/25070'); await page.goto(`/src/components/accordion/test/a11y`); const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab'; diff --git a/core/src/components/action-sheet/action-sheet.md.scss b/core/src/components/action-sheet/action-sheet.md.scss index fafe9705df..2a306c8dbc 100644 --- a/core/src/components/action-sheet/action-sheet.md.scss +++ b/core/src/components/action-sheet/action-sheet.md.scss @@ -78,7 +78,6 @@ } .action-sheet-icon { - @include padding(null, null, 4px, null); @include margin($action-sheet-md-icon-margin-top, $action-sheet-md-icon-margin-end, $action-sheet-md-icon-margin-bottom, $action-sheet-md-icon-margin-start); color: var(--color); diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-ios-ltr-Mobile-Chrome-linux.png index 140b6b99ed..703d26f2c7 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-ios-rtl-Mobile-Chrome-linux.png index 475bc42687..03fbc953d9 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Chrome-linux.png index 05f0f4046d..cc78842b66 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Firefox-linux.png index 5a60aa2d75..c98298a739 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Safari-linux.png index 784abe3029..ac9b9b8602 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Chrome-linux.png index 158985dffe..53c6b03083 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Firefox-linux.png index 31b435160b..4f6bb73a3f 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Safari-linux.png index 2db25fb099..866322ca3b 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-basic-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Chrome-linux.png index 3a9c296404..858466745b 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Firefox-linux.png index 0cde21dbc1..766f19d6e3 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Safari-linux.png index 552bfc7f34..c949a93ee8 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Chrome-linux.png index a9198da0d7..062386d40c 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Firefox-linux.png index c32e2f66f3..256445c005 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Safari-linux.png index 29980cdb0b..f7beb4478a 100644 Binary files a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts-snapshots/action-sheet-custom-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Chrome-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Chrome-linux.png index fe2852a5e0..3528b5269b 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Firefox-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Firefox-linux.png index 04aa6844e5..40a0f422ad 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Safari-linux.png index 5aa08c3bac..0a78ca8fb4 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Chrome-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Chrome-linux.png index a049b85686..a84761b885 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Firefox-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Firefox-linux.png index d80eb58e20..d0cfd0e9e7 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Safari-linux.png index e6f0afa03a..8542c1bc50 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-longMessage-md-ltr-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-longMessage-md-ltr-Mobile-Safari-linux.png index ff63c949d9..e86353ec12 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-longMessage-md-ltr-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-longMessage-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-longMessage-md-rtl-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-longMessage-md-rtl-Mobile-Safari-linux.png index 8b93f67341..49b37c3db0 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-longMessage-md-rtl-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-longMessage-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-ltr-Mobile-Chrome-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-ltr-Mobile-Chrome-linux.png index 0bf28f543c..6529c76bff 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-ltr-Mobile-Firefox-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-ltr-Mobile-Firefox-linux.png index dc1a765ed4..1efba781e3 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-rtl-Mobile-Chrome-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-rtl-Mobile-Chrome-linux.png index cb843ee3be..da9bf7aba7 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-rtl-Mobile-Firefox-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-rtl-Mobile-Firefox-linux.png index 660c07830d..ade8dc3aea 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-multipleButtons-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Chrome-linux.png index 0f7b1cf5f4..0e31006877 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Firefox-linux.png index bcb6651412..dda835796f 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Safari-linux.png index 46e934e706..77e056f1c4 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Chrome-linux.png index 9eabe76324..3b0c562ecb 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Firefox-linux.png index 7f10880bc9..9b09ce76e6 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Safari-linux.png index cce5a72d46..d4dc0f267e 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Chrome-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Chrome-linux.png index 2667c3b344..0307eb47e2 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Firefox-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Firefox-linux.png index 010e5135ac..6f86e5d2ac 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Safari-linux.png index 68400eeef2..340c9a21d5 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Chrome-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Chrome-linux.png index ee4e441942..64e5c73053 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Firefox-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Firefox-linux.png index 2eb7178a13..01769a836f 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Safari-linux.png index d0b5f11063..1ce0e9be19 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-prompt-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Chrome-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Chrome-linux.png index 580818f60d..952ba84c61 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Firefox-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Firefox-linux.png index fdd81ce192..e5aa7a3193 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Safari-linux.png index 542c035afe..90c33e38a3 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Chrome-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Chrome-linux.png index 4be221b57e..c03138ea25 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Firefox-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Firefox-linux.png index 83e322d2f7..abc056466a 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Safari-linux.png index 44e15c5534..ae3e3f53e4 100644 Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/app/app.tsx b/core/src/components/app/app.tsx index 2ae7b96f27..c49083c4f5 100644 --- a/core/src/components/app/app.tsx +++ b/core/src/components/app/app.tsx @@ -25,7 +25,12 @@ export class App implements ComponentInterface { import('../../utils/status-tap').then((module) => module.startStatusTap()); } if (config.getBoolean('inputShims', needInputShims())) { - import('../../utils/input-shims/input-shims').then((module) => module.startInputShims(config)); + /** + * needInputShims() ensures that only iOS and Android + * platforms proceed into this block. + */ + const platform = isPlatform(window, 'ios') ? 'ios' : 'android'; + import('../../utils/input-shims/input-shims').then((module) => module.startInputShims(config, platform)); } const hardwareBackButtonModule = await import('../../utils/hardware-back-button'); if (config.getBoolean('hardwareBackButton', isHybrid)) { @@ -73,7 +78,25 @@ export class App implements ComponentInterface { } const needInputShims = () => { - return isPlatform(window, 'ios') && isPlatform(window, 'mobile'); + /** + * iOS always needs input shims + */ + const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile'); + if (needsShimsIOS) { + return true; + } + + /** + * Android only needs input shims when running + * in the browser and only if the browser is using the + * new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/ + */ + const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb'); + if (isAndroidMobileWeb) { + return true; + } + + return false; }; const rIC = (callback: () => void) => { diff --git a/core/src/components/checkbox/checkbox.ios.scss b/core/src/components/checkbox/checkbox.ios.scss index 876eea67ba..973658fbf5 100644 --- a/core/src/components/checkbox/checkbox.ios.scss +++ b/core/src/components/checkbox/checkbox.ios.scss @@ -25,7 +25,6 @@ // iOS Checkbox: Disabled // ----------------------------------------- -// TODO: .item-ios.item-checkbox-disabled ion-label :host(.checkbox-disabled) { opacity: $checkbox-ios-disabled-opacity; } diff --git a/core/src/components/checkbox/checkbox.md.scss b/core/src/components/checkbox/checkbox.md.scss index 0c3b6e9a77..5a67bb893e 100644 --- a/core/src/components/checkbox/checkbox.md.scss +++ b/core/src/components/checkbox/checkbox.md.scss @@ -44,7 +44,6 @@ // Material Design Checkbox: Disabled // -------------------------------------------------------- -// TODO .item-md.item-checkbox-disabled ion-label :host(.checkbox-disabled) { opacity: $checkbox-md-disabled-opacity; } diff --git a/core/src/components/content/content.scss b/core/src/components/content/content.scss index 2b167838bc..a8cc951c48 100644 --- a/core/src/components/content/content.scss +++ b/core/src/components/content/content.scss @@ -54,7 +54,6 @@ color: current-color(contrast); } -// TODO we should remove outer-content in favor of a color :host(.outer-content) { --background: #{$background-color-step-50}; } diff --git a/core/src/components/content/content.tsx b/core/src/components/content/content.tsx index d5dedb69d8..1d85446df3 100644 --- a/core/src/components/content/content.tsx +++ b/core/src/components/content/content.tsx @@ -280,7 +280,6 @@ export class Content implements ComponentInterface { if (easedT < 1) { // do not use DomController here // must use nativeRaf in order to fire in the next frame - // TODO: remove as any requestAnimationFrame(step); } else { resolve(); diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Chrome-linux.png index 293afb26ba..f1993aa4df 100644 Binary files a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Firefox-linux.png index f416ec478c..7e3c89c5a2 100644 Binary files a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Chrome-linux.png index 149499e0a1..20d6bf5836 100644 Binary files a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Firefox-linux.png index 3d477fa296..f473e2b2bb 100644 Binary files a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-modal-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png index 85159b4fcf..b9a89eefe9 100644 Binary files a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Firefox-linux.png index b14b873670..c8ebf16290 100644 Binary files a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Chrome-linux.png index 366bcc821d..0b20683791 100644 Binary files a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Firefox-linux.png index 14de14bda4..8ef932ce8d 100644 Binary files a/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime-button/test/overlays/datetime-button.e2e.ts-snapshots/datetime-overlay-popover-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/datetime.scss b/core/src/components/datetime/datetime.scss index 309e347de6..5aa9a4f3bf 100644 --- a/core/src/components/datetime/datetime.scss +++ b/core/src/components/datetime/datetime.scss @@ -343,6 +343,8 @@ ion-picker-column-internal { background: none; color: currentColor; + font-family: $font-family-base; + cursor: pointer; appearance: none; diff --git a/core/src/components/datetime/datetime.tsx b/core/src/components/datetime/datetime.tsx index bc5afd0e0b..be157ec576 100644 --- a/core/src/components/datetime/datetime.tsx +++ b/core/src/components/datetime/datetime.tsx @@ -576,10 +576,13 @@ export class Datetime implements ComponentInterface { * defaultParts if no active date is selected. */ private getActivePartsWithFallback = () => { - const { activePartsClone, defaultParts } = this; + const { defaultParts } = this; + return this.getActivePart() ?? defaultParts; + }; - const firstPart = Array.isArray(activePartsClone) ? activePartsClone[0] : activePartsClone; - return firstPart ?? defaultParts; + private getActivePart = () => { + const { activePartsClone } = this; + return Array.isArray(activePartsClone) ? activePartsClone[0] : activePartsClone; }; private closeParentOverlay = () => { @@ -1047,7 +1050,7 @@ export class Datetime implements ComponentInterface { this.initializeListeners(); /** - * TODO: Datetime needs a frame to ensure that it + * TODO FW-2793: Datetime needs a frame to ensure that it * can properly scroll contents into view. As a result * we hide the scrollable content until after that frame * so users do not see the content quickly shifting. The downside @@ -1225,6 +1228,13 @@ export class Datetime implements ComponentInterface { ampm, }; } + } else { + /** + * Reset the active parts if the value is not set. + * This will clear the selected calendar day when + * performing a clear action or using the reset() method. + */ + this.activeParts = []; } }; @@ -1727,14 +1737,24 @@ export class Datetime implements ComponentInterface { return []; } - const valueIsDefined = this.value !== null && this.value !== undefined; + /** + * If a user has not selected a date, + * then we should show all times. If the + * user has selected a date (even if it has + * not been confirmed yet), we should apply + * the max and min restrictions so that the + * time picker shows values that are + * appropriate for the selected date. + */ + const activePart = this.getActivePart(); + const userHasSelectedDate = activePart !== undefined; const { hoursData, minutesData, dayPeriodData } = getTimeColumnsData( this.locale, this.workingParts, this.hourCycle, - valueIsDefined ? this.minParts : undefined, - valueIsDefined ? this.maxParts : undefined, + userHasSelectedDate ? this.minParts : undefined, + userHasSelectedDate ? this.maxParts : undefined, this.parsedHourValues, this.parsedMinuteValues ); @@ -1864,6 +1884,9 @@ export class Datetime implements ComponentInterface { const prevMonthDisabled = isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts); const nextMonthDisabled = isNextMonthDisabled(this.workingParts, this.maxParts); + // don't use the inheritAttributes util because it removes dir from the host, and we still need that + const hostDir = this.el.getAttribute('dir') || undefined; + return (
@@ -1883,10 +1906,24 @@ export class Datetime implements ComponentInterface {
this.prevMonth()}> - + this.nextMonth()}> - +
diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts b/core/src/components/datetime/test/basic/datetime.e2e.ts index bec68f39c7..89b1f8aedc 100644 --- a/core/src/components/datetime/test/basic/datetime.e2e.ts +++ b/core/src/components/datetime/test/basic/datetime.e2e.ts @@ -309,6 +309,49 @@ test.describe('datetime: visibility', () => { }); }); +test.describe('datetime: RTL set on component', () => { + test('should flip icons when RTL is set on component directly', async ({ page, skip }) => { + skip.rtl(); // we're setting RTL on the component instead + skip.mode('md'); + + await page.setContent(` + + `); + + const nextPrevIcons = page.locator('ion-datetime .calendar-next-prev ion-icon'); + await expect(nextPrevIcons.first()).toHaveClass(/flip-rtl/); + await expect(nextPrevIcons.last()).toHaveClass(/flip-rtl/); + }); +}); + +test.describe('datetime: clear button', () => { + test('should clear the active calendar day', async ({ page, skip }, testInfo) => { + skip.rtl(); + skip.mode('md'); + + testInfo.annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/26258', + }); + + await page.setContent(` + + `); + + await page.waitForSelector('.datetime-ready'); + + const selectedDay = page.locator('ion-datetime .calendar-day-active'); + + await expect(selectedDay).toHaveText('10'); + + await page.click('ion-datetime #clear-button'); + + await page.waitForChanges(); + + await expect(selectedDay).toHaveCount(0); + }); +}); + test.describe('datetime: ionChange', () => { test.beforeEach(({ skip }) => { skip.rtl(); diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-ltr-Mobile-Chrome-linux.png index 3627b98260..baea663cae 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-ltr-Mobile-Firefox-linux.png index 2a87330c98..6fae210788 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Chrome-linux.png index b195fedf0b..9d23b74a53 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Firefox-linux.png index 82b4bb637c..ff886335d0 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Safari-linux.png index c37e71ede9..0afe0803a7 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-clear-button-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-ltr-Mobile-Chrome-linux.png index 43be8f84e7..92abb56ad8 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-ltr-Mobile-Firefox-linux.png index 2cfb30d2a6..1c36e62e42 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Chrome-linux.png index 2a1ab5c970..fd37d32797 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Firefox-linux.png index 0a068e1361..7c20c22ba0 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Safari-linux.png index acc766b1e5..8913b7f408 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-custom-buttons-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-ltr-Mobile-Chrome-linux.png index bbbd1a45de..3bcb8677d6 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-ltr-Mobile-Firefox-linux.png index 6220ca31ea..b596809d44 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Chrome-linux.png index d5c2c217ae..0195db8671 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Firefox-linux.png index b72d199099..85ad3e21f9 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Safari-linux.png index 838a5608ee..094701b0a2 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-buttons-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-ltr-Mobile-Chrome-linux.png index 4335026ae9..4a6c64e123 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-ltr-Mobile-Firefox-linux.png index e5d4ad9fa7..f50bf4db06 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Chrome-linux.png index 9becff6a0a..42fd7313d7 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Firefox-linux.png index afdb3bc5a0..4dc5880be5 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Safari-linux.png index e7a00f4751..11552ddfa0 100644 Binary files a/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/basic/datetime.e2e.ts-snapshots/datetime-footer-default-clear-buttons-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Chrome-linux.png index 43113b2ee7..717585d053 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Firefox-linux.png index ec989aeee9..0dab54d251 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Safari-linux.png index 1b7b6729d3..cb85480486 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Chrome-linux.png index 68aa5697d5..2e7e2f7988 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Firefox-linux.png index 0ec46a8177..3553d1acd7 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Safari-linux.png index 561673c6df..e759073b72 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-color-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Chrome-linux.png index c0ca784d06..d91773e00c 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Firefox-linux.png index c32cf12789..72ae556013 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Safari-linux.png index 439ba4ee13..39cc13b50a 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Chrome-linux.png index 0538ceee72..887d5ffd0a 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Firefox-linux.png index b68cc422e1..e2e323e39a 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Safari-linux.png index 68eb73fab8..d8217c94f9 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-dark-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Chrome-linux.png index a272d02bcc..3a9c19c0ee 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Firefox-linux.png index 4d1b24c8be..6e9f8ea496 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Safari-linux.png index 03788fcf0c..ae2ea9f0ff 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Chrome-linux.png index 27e2e61756..9a75ff7586 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Firefox-linux.png index b9d41f4836..a725c1d428 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Safari-linux.png index 50c03600a8..965b8e2e87 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-custom-light-color-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Chrome-linux.png index 7501652444..5d9b4263d4 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Firefox-linux.png index 3305de3cf7..9f18f9e5f3 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Safari-linux.png index 89bf52e2f3..7cebd22293 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Chrome-linux.png index 4cc5705543..3c3b1c9050 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Firefox-linux.png index 2eb673e9a0..742ab906dd 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Safari-linux.png index 65a2b25c81..ab06822c04 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-color-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Chrome-linux.png index d5f63372e1..5b4ff4e71e 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Firefox-linux.png index 2c14b86c55..d1db10b48c 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Safari-linux.png index a83615aeda..7ed38fbc3f 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Chrome-linux.png index e646358506..8babc6b13d 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Firefox-linux.png index f0db458046..327e01b12e 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Safari-linux.png index ad569aa221..e59d864ac1 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-dark-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Chrome-linux.png index adbe55db0d..7124c7aff0 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Firefox-linux.png index 4c4912d2d8..1bc9dbcb0d 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Safari-linux.png index f8adefe11b..47807d4247 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Chrome-linux.png index cc314966b8..f810563848 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Firefox-linux.png index ed219da03a..1e8fbea2eb 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Safari-linux.png index 9fb8adcb0d..58a75e2ce2 100644 Binary files a/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/color/datetime.e2e.ts-snapshots/datetime-color-default-light-color-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-cover-time-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-cover-time-ios-ltr-Mobile-Chrome-linux.png index bb22daa4bd..3c2c2416b5 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-cover-time-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-cover-time-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-cover-time-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-cover-time-ios-rtl-Mobile-Chrome-linux.png index bb22daa4bd..3c2c2416b5 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-cover-time-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-cover-time-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-ltr-Mobile-Chrome-linux.png index 19dd10d710..1c1cd5c47b 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-ltr-Mobile-Firefox-linux.png index 23121af7e8..ba6952fdf5 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Chrome-linux.png index 60a9a0a1e8..4dda259bb2 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Firefox-linux.png index b9863807fe..07eca6663c 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Safari-linux.png index 249db60d2f..70a1094bda 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-ltr-Mobile-Chrome-linux.png index 6097a94969..a24e6a7030 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-ltr-Mobile-Firefox-linux.png index 774308717d..f029a3546d 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Chrome-linux.png index 5214ca63a1..4aa80da677 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Firefox-linux.png index c7d994d1d6..4fe3694466 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Safari-linux.png index aa9bbc3835..86e6d53660 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-date-time-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-ltr-Mobile-Chrome-linux.png index 7f653b7a1d..73f102615e 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-ltr-Mobile-Firefox-linux.png index 4c847c67df..d05907f6bb 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Chrome-linux.png index 98a72921f7..3ec57b918e 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Firefox-linux.png index 2ea50e0e88..ea6b1bd91e 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Safari-linux.png index ee0475b103..2a4a52a5c7 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-date-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-ltr-Mobile-Chrome-linux.png index e9766d8edc..b75fb6a05b 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-ltr-Mobile-Firefox-linux.png index 2b812e32f8..37627c58d3 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-rtl-Mobile-Chrome-linux.png index e9766d8edc..f04b0b2cdb 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-rtl-Mobile-Firefox-linux.png index 2b812e32f8..37627c58d3 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-ltr-Mobile-Chrome-linux.png index e9766d8edc..981546a608 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-ltr-Mobile-Safari-linux.png index a2e75534db..cb10f961c7 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-rtl-Mobile-Chrome-linux.png index e9766d8edc..833d6ac91f 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-rtl-Mobile-Safari-linux.png index a2e75534db..cb10f961c7 100644 Binary files a/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/display/datetime.e2e.ts-snapshots/datetime-display-time-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/first-day-of-week/datetime.e2e.ts-snapshots/datetime-day-of-week-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/first-day-of-week/datetime.e2e.ts-snapshots/datetime-day-of-week-ios-ltr-Mobile-Chrome-linux.png index 39ab01cda6..3a1bb7330a 100644 Binary files a/core/src/components/datetime/test/first-day-of-week/datetime.e2e.ts-snapshots/datetime-day-of-week-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/first-day-of-week/datetime.e2e.ts-snapshots/datetime-day-of-week-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/first-day-of-week/datetime.e2e.ts-snapshots/datetime-day-of-week-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/first-day-of-week/datetime.e2e.ts-snapshots/datetime-day-of-week-ios-rtl-Mobile-Chrome-linux.png index d1d08d3935..b710f0ee49 100644 Binary files a/core/src/components/datetime/test/first-day-of-week/datetime.e2e.ts-snapshots/datetime-day-of-week-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/first-day-of-week/datetime.e2e.ts-snapshots/datetime-day-of-week-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-ltr-Mobile-Chrome-linux.png index a878c04027..2438cd29b4 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-ltr-Mobile-Firefox-linux.png index ecac26c03e..c6f69691bd 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-rtl-Mobile-Chrome-linux.png index b38cd900c1..b8cd5041f8 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-rtl-Mobile-Firefox-linux.png index d106e7e198..48131c0a68 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Chrome-linux.png index 42489085b7..01fda0f81c 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Firefox-linux.png index 255bec8d05..c076e1aab7 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-rtl-Mobile-Chrome-linux.png index f75eee1063..ad07a0b1db 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-rtl-Mobile-Firefox-linux.png index 5dec2696b5..3adcc1eb81 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-ltr-Mobile-Chrome-linux.png index ab69777e50..f56094d293 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-ltr-Mobile-Firefox-linux.png index 81f59e5315..9dff0d6c85 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-rtl-Mobile-Chrome-linux.png index bc75b02222..e4f6259c9b 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-rtl-Mobile-Firefox-linux.png index 8ad57f2e12..79fc7228b9 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-ltr-Mobile-Chrome-linux.png index 72d043d632..9b7274cd24 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-ltr-Mobile-Firefox-linux.png index 6ecab19bd3..bb35242b9e 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-rtl-Mobile-Chrome-linux.png index d3352200c3..6057c61037 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-rtl-Mobile-Firefox-linux.png index db7641d418..85db8fe71e 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Chrome-linux.png index d3b6a1dec7..5794d29cfc 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Firefox-linux.png index c46919ac73..bfa3a2eef5 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-rtl-Mobile-Chrome-linux.png index 335801bea9..0c76057a7f 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-rtl-Mobile-Firefox-linux.png index 96f555564e..5cf9977a45 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-ltr-Mobile-Chrome-linux.png index b0690687f3..d4997859e5 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-ltr-Mobile-Firefox-linux.png index 401b923a37..3a551743b2 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-rtl-Mobile-Chrome-linux.png index 10c61bd6c2..9a13c27b99 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-rtl-Mobile-Firefox-linux.png index e0222fe517..5bdb1a2118 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-time-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-ltr-Mobile-Chrome-linux.png index 100a666dd3..e2b99f19eb 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-ltr-Mobile-Firefox-linux.png index 09fc94f071..1d53debcfd 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-rtl-Mobile-Chrome-linux.png index b9a9d0fd3c..2ff2be2ad8 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-rtl-Mobile-Firefox-linux.png index fa9c24dc1b..aaf25056f2 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Chrome-linux.png index 0b977e9cb1..41cbaa5323 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Firefox-linux.png index 747a98840a..4677f20000 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-rtl-Mobile-Chrome-linux.png index 8447197e1b..6cfd4529d4 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-rtl-Mobile-Firefox-linux.png index 964a8b8bb9..70fcc939b3 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-ltr-Mobile-Chrome-linux.png index ff7c265cb6..f399492aa7 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-ltr-Mobile-Firefox-linux.png index 26f89b3923..e73aa70e15 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-rtl-Mobile-Chrome-linux.png index b160fd4940..213ce196ae 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-rtl-Mobile-Firefox-linux.png index 62468c625e..5ec2a1bc75 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-time-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-ltr-Mobile-Chrome-linux.png index 16a5244d95..838990b519 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-ltr-Mobile-Firefox-linux.png index 2b1d6e2092..b133cce9f6 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-rtl-Mobile-Chrome-linux.png index cf8f0a8006..fe9e1ebfe1 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-rtl-Mobile-Firefox-linux.png index 58524e8d48..12f455870e 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-ltr-Mobile-Chrome-linux.png index e94aea195c..c9182d6f8c 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-ltr-Mobile-Firefox-linux.png index 676e090066..a5e24cda89 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-rtl-Mobile-Chrome-linux.png index c3d8270551..2698edc878 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-rtl-Mobile-Firefox-linux.png index e946edc606..c305ca461b 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-month-year-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-ltr-Mobile-Chrome-linux.png index fd31d2dcd6..c98884c132 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-ltr-Mobile-Firefox-linux.png index 4ff8bf742b..8f7e9f0d39 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-rtl-Mobile-Chrome-linux.png index d9114abdbc..11ce9503b1 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-rtl-Mobile-Firefox-linux.png index 878df5db42..8233bfe713 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ta-IN-time-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/minmax/datetime.e2e.ts b/core/src/components/datetime/test/minmax/datetime.e2e.ts index 71dfd209df..08dc70d873 100644 --- a/core/src/components/datetime/test/minmax/datetime.e2e.ts +++ b/core/src/components/datetime/test/minmax/datetime.e2e.ts @@ -279,4 +279,52 @@ test.describe('datetime: minmax', () => { await expect(datetime).toHaveJSProperty('value', '2022-10-10T08:00:00'); }); }); + + test.describe('datetime: confirm button', () => { + test.beforeEach(({ skip }) => { + skip.rtl(); + }); + test('should apply max and min constraints even when user confirmation is required', 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'); + + // Select Jan 10, 2022 + const maxDate = page.locator('ion-datetime .calendar-day[data-day="10"][data-month="1"][data-year="2022"]'); + await maxDate.click(); + await page.waitForChanges(); + + // Check to see that the hours have been filtered. + const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + const timeButton = page.locator('ion-datetime .time-body'); + await timeButton.click(); + + await ionPopoverDidPresent.next(); + + const hours = page.locator( + 'ion-popover ion-picker-column-internal:nth-child(1) .picker-item:not(.picker-item-empty)' + ); + + await expect(await hours.count()).toBe(4); + }); + }); }); diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-ltr-Mobile-Chrome-linux.png index 421fc694fc..e82c63620f 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-ltr-Mobile-Firefox-linux.png index a9f7f8cae7..e8339db6c6 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-rtl-Mobile-Chrome-linux.png index b37426e065..f91b2fd4d6 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-rtl-Mobile-Firefox-linux.png index 6b3bd53b39..e3644fdf34 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-multipleDefaultValues-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-ltr-Mobile-Chrome-linux.png index 2c1da7de8a..a0d0b66444 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-ltr-Mobile-Firefox-linux.png index 21c6e57fb9..f00ef0c565 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-rtl-Mobile-Chrome-linux.png index e5b44818db..e221e7746b 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-rtl-Mobile-Firefox-linux.png index 6f0cc69584..bd26b2d57c 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-singleDefaultValue-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Chrome-linux.png index 3b5bfef8a0..9c05f95a27 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Firefox-linux.png index 61e1e7c31b..4e8ca3326e 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Safari-linux.png index 32f2dac173..fa54cda21e 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Chrome-linux.png index cba885ca77..54b61b4983 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Firefox-linux.png index c42f75daf4..a293b1ef0d 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Safari-linux.png index 4203205340..0e862f558d 100644 Binary files a/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/multiple/datetime.e2e.ts-snapshots/datetime-multiple-withHeader-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/parse.spec.ts b/core/src/components/datetime/test/parse.spec.ts index 7e152a3c95..73c2aebad9 100644 --- a/core/src/components/datetime/test/parse.spec.ts +++ b/core/src/components/datetime/test/parse.spec.ts @@ -17,7 +17,7 @@ describe('getPartsFromCalendarDay()', () => { }); }); -// TODO: parseDate() +// TODO FW-2794: parseDate() describe('clampDate()', () => { const minParts = { diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Chrome-linux.png index 1d8d86c988..ea8b3a535f 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Chrome-linux.png index 1d8d86c988..ea8b3a535f 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-ltr-Mobile-Chrome-linux.png index eb34fa7bf8..25e11ed800 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-ltr-Mobile-Firefox-linux.png index 6f66e23f9e..00a1803349 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-rtl-Mobile-Chrome-linux.png index eb34fa7bf8..25e11ed800 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-rtl-Mobile-Firefox-linux.png index 6f66e23f9e..00a1803349 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-time-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-ltr-Mobile-Chrome-linux.png index fbee02297a..71dc758ba4 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-ltr-Mobile-Firefox-linux.png index 8eade3ca88..679ac00c6e 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-rtl-Mobile-Chrome-linux.png index fbee02297a..71dc758ba4 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-rtl-Mobile-Firefox-linux.png index 8eade3ca88..679ac00c6e 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-time-date-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/input/input.scss b/core/src/components/input/input.scss index d8338c0fb5..2c28096d89 100644 --- a/core/src/components/input/input.scss +++ b/core/src/components/input/input.scss @@ -179,6 +179,15 @@ pointer-events: none; } +/** + * The cloned input needs to be disabled on + * Android otherwise the viewport will still + * shift when running scroll assist. + */ +.cloned-input:disabled { + opacity: 1; +} + // Clear Input Icon // -------------------------------------------------- diff --git a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Chrome-linux.png index 1365318546..57f58d182f 100644 Binary files a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Firefox-linux.png b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Firefox-linux.png index 6307fa218b..e6ca6e258c 100644 Binary files a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Safari-linux.png index 8fed46cfe6..2a3236b858 100644 Binary files a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Safari-linux.png and b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Chrome-linux.png b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Chrome-linux.png index 8905149871..f60788deda 100644 Binary files a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Firefox-linux.png b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Firefox-linux.png index 16f061c683..60a5b4b3f7 100644 Binary files a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Safari-linux.png index f9d70b04ef..374d0960b1 100644 Binary files a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-lines-inset-focused-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/item.ios.scss b/core/src/components/item/item.ios.scss index f468811589..d6aa6e76fb 100644 --- a/core/src/components/item/item.ios.scss +++ b/core/src/components/item/item.ios.scss @@ -183,15 +183,6 @@ } -// TODO: MOVE FROM RADIO -// iOS Radio Item Label: Checked -// ----------------------------------------- - -// :host(.item-radio-checked) ::slotted(ion-label) { -// color: $radio-ios-color-on; -// } - - // iOS Slotted Label // -------------------------------------------------- @@ -208,7 +199,6 @@ --min-height: 68px; } -// TODO: refactor, ion-item and ion-textarea have the same CSS :host(.item-label-stacked) ::slotted(ion-select), :host(.item-label-floating) ::slotted(ion-select) { --padding-top: 8px; @@ -224,32 +214,3 @@ :host(.item-label-fixed) ::slotted(ion-datetime) { --padding-start: 0; } - -// FROM TEXTAREA -// iOS Stacked & Floating Textarea -// -------------------------------------------------- - -// TODO -// .item-ios.item-label-stacked .label-ios + .input + .cloned-input, -// .item-ios.item-label-floating .label-ios + .input + .cloned-input { -// @include margin-horizontal(0, null); -// } - - -// iOS Input After Label -// -------------------------------------------------- - -// .label-ios + .input .native-input, -// .label-ios + .input + .cloned-input { -// @include margin-horizontal($input-ios-by-label-margin-start, null); -// } - -// iOS Textarea After Label -// -------------------------------------------------- - -// .label-ios + ion-textarea .native-textarea, -// .label-ios + .input + .cloned-input { -// @include margin-horizontal($textarea-ios-by-label-margin-start, null); - -// width: calc(100% - (#{$item-ios-padding-end} / 2) - #{$item-ios-padding-start}); -// } diff --git a/core/src/components/item/item.md.scss b/core/src/components/item/item.md.scss index 9ef3b1699d..5f3b061d67 100644 --- a/core/src/components/item/item.md.scss +++ b/core/src/components/item/item.md.scss @@ -181,7 +181,6 @@ // Material Design Multi-line Item // -------------------------------------------------- -// TODO this works if manually adding the class / should it work with prop? // Multi-line items should align the slotted content at the top :host(.item-multi-line) ::slotted([slot="start"]), :host(.item-multi-line) ::slotted([slot="end"]) { @@ -375,7 +374,6 @@ --min-height: 55px; } -// TODO: refactor, ion-item and ion-textarea have the same CSS :host(.item-label-stacked) ::slotted(ion-select), :host(.item-label-floating) ::slotted(ion-select) { --padding-top: 8px; diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Safari-linux.png index 22887e0037..a646c2cfef 100644 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Safari-linux.png index 5761c6787c..08f76b2302 100644 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Safari-linux.png index bc667bb6ff..b77b6f482a 100644 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Safari-linux.png index 96ded3e719..ce5552431e 100644 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Safari-linux.png index 3c18b84cf9..ef53f6d0c6 100644 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Safari-linux.png index f19fd03663..e2fa5ea185 100644 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/menu.tsx b/core/src/components/menu/menu.tsx index 6491c74a03..a24934d0cc 100644 --- a/core/src/components/menu/menu.tsx +++ b/core/src/components/menu/menu.tsx @@ -37,7 +37,7 @@ export class Menu implements ComponentInterface, MenuI { private blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true }); isAnimating = false; - width!: number; // TODO + width!: number; _isOpen = false; backdropEl?: HTMLElement; @@ -465,7 +465,6 @@ export class Menu implements ComponentInterface, MenuI { } if (this._isOpen) { return true; - // TODO error } else if (menuController._getOpenSync()) { return false; } @@ -534,10 +533,9 @@ export class Menu implements ComponentInterface, MenuI { let newStepValue = shouldComplete ? 0.001 : -0.001; /** - * TODO: stepValue can sometimes return a negative + * stepValue can sometimes return a negative * value, but you can't have a negative time value * for the cubic bezier curve (at least with web animations) - * Not sure if the negative step value is an error or not */ const adjustedStepValue = stepValue < 0 ? 0.01 : stepValue; diff --git a/core/src/components/menu/test/a11y/e2e.ts b/core/src/components/menu/test/a11y/e2e.ts deleted file mode 100644 index 874b6a4f33..0000000000 --- a/core/src/components/menu/test/a11y/e2e.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { AxePuppeteer } from '@axe-core/puppeteer'; -import { newE2EPage } from '@stencil/core/testing'; - -test('menu: axe', async () => { - const page = await newE2EPage({ - url: '/src/components/menu/test/a11y?ionic:_testing=true', - }); - - const menu = await page.find('ion-menu'); - await menu.callMethod('open'); - await menu.waitForVisible(); - - const results = await new AxePuppeteer(page).analyze(); - expect(results.violations.length).toEqual(0); -}); diff --git a/core/src/components/menu/test/a11y/index.html b/core/src/components/menu/test/a11y/index.html index 0fdc6cbe0b..a7e66cb9fc 100644 --- a/core/src/components/menu/test/a11y/index.html +++ b/core/src/components/menu/test/a11y/index.html @@ -2,18 +2,28 @@ - Segment - a11y + Menu - a11y +
-

Menu

+
+ +

Menu

+ Open Menu +
+
+ @@ -21,6 +31,7 @@ +

Open Menu

Button @@ -35,5 +46,12 @@
+ + diff --git a/core/src/components/menu/test/a11y/menu.e2e.ts b/core/src/components/menu/test/a11y/menu.e2e.ts new file mode 100644 index 0000000000..98d5bd7d26 --- /dev/null +++ b/core/src/components/menu/test/a11y/menu.e2e.ts @@ -0,0 +1,28 @@ +import AxeBuilder from '@axe-core/playwright'; +import { expect } from '@playwright/test'; +import { test } from '@utils/test/playwright'; + +test.describe('menu: a11y', () => { + test.beforeEach(async ({ skip }) => { + skip.rtl(); + skip.mode('md'); + }); + + test('menu should not have accessibility violations', async ({ page }) => { + await page.goto(`/src/components/menu/test/a11y`); + + const menu = page.locator('ion-menu'); + const button = page.locator('#open-menu'); + + await button.click(); + await page.waitForSelector('ion-menu', { state: 'visible' }); + + await expect(menu).toHaveAttribute('role', 'navigation'); + + const heading = page.locator('ion-menu h1'); + await expect(heading).toHaveText('Open Menu'); + + const results = await new AxeBuilder({ page }).analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/core/src/components/menu/test/basic/e2e.ts b/core/src/components/menu/test/basic/e2e.ts deleted file mode 100644 index dd83dfeacf..0000000000 --- a/core/src/components/menu/test/basic/e2e.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -import { testMenu } from '../test.utils'; - -const DIRECTORY = 'basic'; -const getActiveElementID = async (page) => { - const activeElement = await page.evaluateHandle(() => document.activeElement); - return page.evaluate((el) => el?.id, activeElement); -}; - -test('menu: start menu', async () => { - await testMenu(DIRECTORY, '#start-menu', 'first'); -}); - -test('menu: start custom menu', async () => { - await testMenu(DIRECTORY, '#custom-menu', 'custom'); -}); - -test('menu: end menu', async () => { - await testMenu(DIRECTORY, '#end-menu'); -}); - -test('menu: focus trap', async () => { - const page = await newE2EPage({ url: '/src/components/menu/test/basic?ionic:_testing=true' }); - - await page.click('#open-first'); - const menu = await page.find('#start-menu'); - await menu.waitForVisible(); - - let activeElID = await getActiveElementID(page); - expect(activeElID).toEqual('start-menu'); - - await page.keyboard.press('Tab'); - activeElID = await getActiveElementID(page); - expect(activeElID).toEqual('start-menu-button'); - - // do it again to make sure focus stays inside menu - await page.keyboard.press('Tab'); - activeElID = await getActiveElementID(page); - expect(activeElID).toEqual('start-menu-button'); -}); - -test('menu: preserve scroll position', async () => { - const page = await newE2EPage({ url: '/src/components/menu/test/basic?ionic:_testing=true' }); - - await page.click('#open-first'); - const menu = await page.find('#start-menu'); - await menu.waitForVisible(); - - await page.$eval('#start-menu ion-content', (menuContentEl: any) => { - return menuContentEl.scrollToPoint(0, 200); - }); - - await menu.callMethod('close'); - - await page.click('#open-first'); - await menu.waitForVisible(); - - const scrollTop = await page.$eval('#start-menu ion-content', async (menuContentEl: any) => { - const contentScrollEl = await menuContentEl.getScrollElement(); - return contentScrollEl.scrollTop; - }); - - expect(scrollTop).toEqual(200); -}); - -/** - * RTL Tests - */ - -test('menu:rtl: start menu', async () => { - await testMenu(DIRECTORY, '#start-menu', 'first', true); -}); - -test('menu:rtl: start custom menu', async () => { - await testMenu(DIRECTORY, '#custom-menu', 'custom', true); -}); - -test('menu:rtl: end menu', async () => { - await testMenu(DIRECTORY, '#end-menu', '', true); -}); diff --git a/core/src/components/menu/test/basic/index.html b/core/src/components/menu/test/basic/index.html index 722be74614..af0074a4cb 100644 --- a/core/src/components/menu/test/basic/index.html +++ b/core/src/components/menu/test/basic/index.html @@ -12,12 +12,6 @@ - diff --git a/core/src/components/menu/test/basic/menu.e2e.ts b/core/src/components/menu/test/basic/menu.e2e.ts new file mode 100644 index 0000000000..400b79cb36 --- /dev/null +++ b/core/src/components/menu/test/basic/menu.e2e.ts @@ -0,0 +1,93 @@ +import type { Locator } from '@playwright/test'; +import { expect } from '@playwright/test'; +import type { E2EPage } from '@utils/test/playwright'; +import { test } from '@utils/test/playwright'; + +test.describe('menu: basic', () => { + test.beforeEach(async ({ page }) => { + await page.goto(`/src/components/menu/test/basic`); + }); + + test('should open selected menu by side', async ({ page }) => { + const startMenu = page.locator('[menu-id="start-menu"]'); + const customMenu = page.locator('[menu-id="custom-menu"]'); + const endMenu = page.locator('[menu-id="end-menu"]'); + + await testMenu(page, startMenu, 'start'); + await testMenu(page, customMenu, 'custom'); + await testMenu(page, endMenu, 'end'); + }); + + test('should trap focus', async ({ page, skip, browserName }) => { + skip.rtl('Trapping focus is not dependent on document direction'); + skip.browser('firefox', 'Firefox incorrectly allows keyboard focus to move to ion-content'); + + const ionDidOpen = await page.spyOnEvent('ionDidOpen'); + + await page.click('#open-start'); + await ionDidOpen.next(); + + const button = await page.locator('#start-menu-button'); + + if (browserName === 'webkit') { + await page.keyboard.down('Alt'); + } + + await page.keyboard.press('Tab'); + + await expect(button).toBeFocused(); + + await page.keyboard.press('Tab'); + + if (browserName === 'webkit') { + await page.keyboard.up('Alt'); + } + + await expect(button).toBeFocused(); + }); + + test('should preserve scroll position', async ({ page, skip }) => { + skip.rtl('Scroll position is not dependent on document direction'); + skip.browser('firefox', 'Firefox does not preserve scroll position'); + + const ionDidOpen = await page.spyOnEvent('ionDidOpen'); + + await page.click('#open-start'); + await ionDidOpen.next(); + + await page.locator('#start-menu ion-content').evaluate(async (el: HTMLIonContentElement) => { + await el.scrollToPoint(0, 200); + }); + + await page.locator('#start-menu').evaluate(async (el: HTMLIonMenuElement) => { + await el.close(); + }); + + await page.click('#open-start'); + await ionDidOpen.next(); + + const scrollTop = await page.locator('#start-menu ion-content').evaluate(async (el: HTMLIonContentElement) => { + const contentScrollEl = await el.getScrollElement(); + return contentScrollEl.scrollTop; + }); + + await expect(scrollTop).toBe(200); + }); +}); + +async function testMenu(page: E2EPage, menu: Locator, menuId: string) { + const ionDidOpen = await page.spyOnEvent('ionDidOpen'); + const ionDidClose = await page.spyOnEvent('ionDidClose'); + + await page.click(`#open-${menuId}`); + await ionDidOpen.next(); + + await expect(menu).toHaveClass(/show-menu/); + + expect(await page.screenshot()).toMatchSnapshot(`menu-basic-${menuId}-${page.getSnapshotSettings()}.png`); + + await menu.evaluate(async (el: HTMLIonMenuElement) => { + await el.close(); + }); + await ionDidClose.next(); +} diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..eb810f1a07 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..acf3656145 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-ltr-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..4dee7a4c8f Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..9a6a288fec Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..0700f5fdac Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-rtl-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..bbe9f3f8bd Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-ltr-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..f79776dc68 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-ltr-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..babc6054f5 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-ltr-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..1e289abcfe Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-rtl-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..d4971db5b6 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-rtl-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..5acb9f9bfd Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-rtl-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..0a69a195f7 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-custom-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..41c0744498 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..4b6d79d775 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-ltr-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..d65a8f039d Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..024e952434 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..5fc25bf5b8 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-rtl-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..1f85729dd2 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-ltr-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..2d3e512ec7 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-ltr-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..03f61311c0 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-ltr-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..3a0ee6be20 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-rtl-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..c5e78ba6e8 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-rtl-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..3d43005233 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-rtl-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..a77aba858d Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-end-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..b1c00ba763 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..19eb389ddd Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-ltr-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..78b293fe60 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..bd07dc1bdb Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..462d823316 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-rtl-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..052ef84863 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-ltr-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..3cd43305ed Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-ltr-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..f39c102978 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-ltr-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..cdb43428ee Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-rtl-Mobile-Chrome-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..facb8a6d9b Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-rtl-Mobile-Firefox-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..76279ca202 Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-rtl-Mobile-Safari-linux.png b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..bf9f10877f Binary files /dev/null and b/core/src/components/menu/test/basic/menu.e2e.ts-snapshots/menu-basic-start-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/menu/test/focus-trap/e2e.ts b/core/src/components/menu/test/focus-trap/e2e.ts deleted file mode 100644 index af0a01211e..0000000000 --- a/core/src/components/menu/test/focus-trap/e2e.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -const getActiveElementID = async (page) => { - const activeElement = await page.evaluateHandle(() => document.activeElement); - return page.evaluate((el) => el?.id, activeElement); -}; - -test('menu: focus trap with overlays', async () => { - const page = await newE2EPage({ - url: '/src/components/menu/test/focus-trap?ionic:_testing=true', - }); - - const ionDidOpen = await page.spyOnEvent('ionDidOpen'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); - - const menu = await page.find('ion-menu'); - await menu.callMethod('open'); - await ionDidOpen.next(); - - expect(await getActiveElementID(page)).toEqual('menu'); - - const openModal = await page.find('#open-modal-button'); - await openModal.click(); - await ionModalDidPresent.next(); - - expect(await getActiveElementID(page)).toEqual('modal-element'); - - const modal = await page.find('ion-modal'); - await modal.callMethod('dismiss'); - await ionModalDidDismiss.next(); - - expect(await getActiveElementID(page)).toEqual('open-modal-button'); -}); - -test('menu: focus trap with content inside overlays', async () => { - const page = await newE2EPage({ - url: '/src/components/menu/test/focus-trap?ionic:_testing=true', - }); - - const ionDidOpen = await page.spyOnEvent('ionDidOpen'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - - const menu = await page.find('ion-menu'); - await menu.callMethod('open'); - await ionDidOpen.next(); - - expect(await getActiveElementID(page)).toEqual('menu'); - - const openModal = await page.find('#open-modal-button'); - await openModal.click(); - await ionModalDidPresent.next(); - - const button = await page.find('#other-button'); - await button.click(); - - expect(await getActiveElementID(page)).toEqual('other-button'); -}); - -test('menu: should work with swipe gestures after modal is dismissed', async () => { - const page = await newE2EPage({ - url: '/src/components/menu/test/focus-trap?ionic:_testing=true', - }); - - const ionDidOpen = await page.spyOnEvent('ionDidOpen'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); - - const menu = await page.find('ion-menu'); - await menu.callMethod('open'); - await ionDidOpen.next(); - - const openModal = await page.find('#open-modal-button'); - await openModal.click(); - await ionModalDidPresent.next(); - - const modal = await page.find('ion-modal'); - await modal.callMethod('dismiss'); - await ionModalDidDismiss.next(); - - await page.mouse.move(30, 168); - await page.mouse.down(); - - await page.mouse.move(384, 168); - await page.mouse.up(); - - await page.waitForChanges(); - - expect(menu.classList.contains('show-menu')).toBeTruthy(); -}); diff --git a/core/src/components/menu/test/focus-trap/index.html b/core/src/components/menu/test/focus-trap/index.html index 0611466001..44b87d62ed 100644 --- a/core/src/components/menu/test/focus-trap/index.html +++ b/core/src/components/menu/test/focus-trap/index.html @@ -14,7 +14,7 @@ - + Menu @@ -24,7 +24,7 @@ Open Modal - + Modal content Dismiss Modal diff --git a/core/src/components/menu/test/focus-trap/menu.e2e.ts b/core/src/components/menu/test/focus-trap/menu.e2e.ts new file mode 100644 index 0000000000..d8bb907274 --- /dev/null +++ b/core/src/components/menu/test/focus-trap/menu.e2e.ts @@ -0,0 +1,89 @@ +import { expect } from '@playwright/test'; +import { test } from '@utils/test/playwright'; + +test.describe('menu: focus trap', () => { + test.beforeEach(async ({ page, skip }) => { + await page.goto(`/src/components/menu/test/focus-trap`); + + skip.rtl('Trapping focus is not dependent on document direction'); + skip.browser('firefox', 'Firefox incorrectly allows keyboard focus to move to ion-content'); + }); + + test('should trap focus with overlays', async ({ page, browserName }) => { + const ionDidOpen = await page.spyOnEvent('ionDidOpen'); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + + await page.click('#open-menu-button'); + await ionDidOpen.next(); + + const menu = await page.locator('#menu'); + await expect(menu).toBeFocused(); + + const openModalButton = await page.locator('#open-modal-button'); + await openModalButton.click(); + await ionModalDidPresent.next(); + + const modal = await page.locator('#modal'); + await expect(modal).toBeFocused(); + + await modal.evaluate(async (el: HTMLIonModalElement) => { + await el.dismiss(); + }); + await ionModalDidDismiss.next(); + + // Safari focuses the body after the modal is dismissed + if (browserName !== 'webkit') { + await expect(openModalButton).toBeFocused(); + } + }); + + test('should trap focus with content inside overlays', async ({ page }) => { + const ionDidOpen = await page.spyOnEvent('ionDidOpen'); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#open-menu-button'); + await ionDidOpen.next(); + + const menu = await page.locator('#menu'); + await expect(menu).toBeFocused(); + + await page.click('#open-modal-button'); + await ionModalDidPresent.next(); + + const modal = await page.locator('#modal'); + await expect(modal).toBeFocused(); + }); + + test('should work with swipe gestures after modal is dismissed', async ({ page }) => { + const ionDidOpen = await page.spyOnEvent('ionDidOpen'); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + + await page.click('#open-menu-button'); + await ionDidOpen.next(); + + const menu = await page.locator('#menu'); + await expect(menu).toBeFocused(); + + await page.click('#open-modal-button'); + await ionModalDidPresent.next(); + + const modal = await page.locator('#modal'); + + await modal.evaluate(async (el: HTMLIonModalElement) => { + await el.dismiss(); + }); + await ionModalDidDismiss.next(); + + await page.mouse.move(30, 168); + await page.mouse.down(); + + await page.mouse.move(384, 168); + await page.mouse.up(); + + await page.waitForChanges(); + + await expect(menu).toHaveClass(/show-menu/); + }); +}); diff --git a/core/src/components/menu/test/standalone/e2e.ts b/core/src/components/menu/test/standalone/e2e.ts deleted file mode 100644 index 61a3aa7512..0000000000 --- a/core/src/components/menu/test/standalone/e2e.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { testMenu } from '../test.utils'; - -const DIRECTORY = 'standalone'; - -test('menu: start standalone', async () => { - await testMenu(DIRECTORY, '#start-menu'); -}); - -test('menu: end standalone', async () => { - await testMenu(DIRECTORY, '#end-menu'); -}); diff --git a/core/src/components/menu/test/standalone/index.html b/core/src/components/menu/test/standalone/index.html deleted file mode 100644 index 5328e42b65..0000000000 --- a/core/src/components/menu/test/standalone/index.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - Menu - Standalone - - - - - - - - - - - - - - - Start Menu - - - - - Menu Item - Menu Item - Menu Item - Menu Item - Menu Item - - - - - - - - End Menu - - - - - Menu Item - Menu Item - Menu Item - Menu Item - Menu Item - - - - -
- - - Menu - Standalone - - - - Open Start Menu - Open End Menu - -
- - - diff --git a/core/src/components/menu/test/test.utils.ts b/core/src/components/menu/test/test.utils.ts deleted file mode 100644 index 3acc088a1c..0000000000 --- a/core/src/components/menu/test/test.utils.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; -import { generateE2EUrl } from '@utils/test'; - -import { menuController } from '../../../utils/menu-controller'; - -export const testMenu = async (type: string, selector: string, menuId = '', rtl = false) => { - try { - const pageUrl = generateE2EUrl('menu', type, rtl); - - const page = await newE2EPage({ - url: pageUrl, - }); - - const screenshotCompares = []; - - if (menuId.length > 0) { - await menuController.enable(true, menuId); - } - - const menu = await page.find(selector); - - await menu.callMethod('open'); - await page.waitForTimeout(1000); - - screenshotCompares.push(await page.compareScreenshot()); - - await menu.callMethod('close'); - await page.waitForTimeout(250); - - screenshotCompares.push(await page.compareScreenshot('dismiss')); - - for (const screenshotCompare of screenshotCompares) { - expect(screenshotCompare).toMatchScreenshot(); - } - } catch (err) { - throw err; - } -}; 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 index 9b3e78ed6b..d6e9d8cfee 100644 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Firefox-linux.png 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-Mobile-Safari-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Safari-linux.png index ce39f72134..d2b5c5db8d 100644 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Safari-linux.png index 8e704be953..0d1a8e0038 100644 Binary files a/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/nav/view-controller.ts b/core/src/components/nav/view-controller.ts index 91b884602a..04d467c832 100644 --- a/core/src/components/nav/view-controller.ts +++ b/core/src/components/nav/view-controller.ts @@ -81,13 +81,6 @@ export const convertToViews = (pages: NavComponentWithProps[]): ViewController[] return page; } if ('component' in page) { - /** - * TODO Ionic 6: - * Consider switching to just using `undefined` here - * as well as on the public interfaces and on - * `NavComponentWithProps`. Previously `pages` was - * of type `any[]` so TypeScript did not catch this. - */ return convertToView(page.component, page.componentProps === null ? undefined : page.componentProps); } return convertToView(page, undefined); diff --git a/core/src/components/picker-column/picker-column.tsx b/core/src/components/picker-column/picker-column.tsx index 5db2fe8c4b..3d86df7dcd 100644 --- a/core/src/components/picker-column/picker-column.tsx +++ b/core/src/components/picker-column/picker-column.tsx @@ -239,8 +239,6 @@ export class PickerColumnCmp implements ComponentInterface { return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1); } - // TODO should this check disabled? - private onStart(detail: GestureDetail) { // We have to prevent default in order to block scrolling under the picker // but we DO NOT have to stop propagation, since we still want diff --git a/core/src/components/picker/test/basic/e2e.ts b/core/src/components/picker/test/basic/e2e.ts deleted file mode 100644 index adeda71660..0000000000 --- a/core/src/components/picker/test/basic/e2e.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -describe('picker: basic', () => { - it('should match existing screenshots', async () => { - const page = await newE2EPage({ - url: '/src/components/picker/test/basic?ionic:_testing=true', - }); - - const compares = []; - - await page.click('#basic'); - - await page.waitForEvent('ionPickerDidPresent'); - - compares.push(await page.compareScreenshot('picker initial state')); - - await page.click('ion-picker .save-btn'); - - await page.click('#basic'); - - await page.waitForEvent('ionPickerDidPresent'); - - compares.push(await page.compareScreenshot('picker opened with selected value')); - - for (const compare of compares) { - expect(compare).toMatchScreenshot(); - } - }); -}); diff --git a/core/src/components/picker/test/basic/index.html b/core/src/components/picker/test/basic/index.html index e166d44f17..bf88763140 100644 --- a/core/src/components/picker/test/basic/index.html +++ b/core/src/components/picker/test/basic/index.html @@ -103,7 +103,6 @@ { text: 'Cancel', role: 'cancel', - handler: () => console.log('Clicked Cancel!'), }, { text: 'Save', @@ -113,12 +112,6 @@ selectedIndex = options.findIndex((opt) => opt.value === v); }, }, - { - text: 'Log', - handler: (val) => { - return false; - }, - }, ], columns: [ { diff --git a/core/src/components/picker/test/basic/picker.e2e.ts b/core/src/components/picker/test/basic/picker.e2e.ts new file mode 100644 index 0000000000..d945e8f2f0 --- /dev/null +++ b/core/src/components/picker/test/basic/picker.e2e.ts @@ -0,0 +1,26 @@ +import { expect } from '@playwright/test'; +import { test } from '@utils/test/playwright'; + +test.describe('picker: basic', () => { + test('should not have visual regressions', async ({ page }) => { + await page.goto('/src/components/picker/test/basic'); + const didPresent = await page.spyOnEvent('ionPickerDidPresent'); + const didDismiss = await page.spyOnEvent('ionPickerDidDismiss'); + + await page.click('#basic'); + await didPresent.next(); + await page.waitForChanges(); + + expect(await page.screenshot()).toMatchSnapshot(`picker-basic-${page.getSnapshotSettings()}.png`); + + await page.click('.picker-opt:nth-child(2)'); + await page.click('ion-picker .save-btn'); + await didDismiss.next(); + + await page.click('#basic'); + await didPresent.next(); + await page.waitForChanges(); + + expect(await page.screenshot()).toMatchSnapshot(`picker-value-selected-${page.getSnapshotSettings()}.png`); + }); +}); diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..3c7ea7fc24 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..019dac94db Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-ltr-Mobile-Safari-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..0ced041343 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..9f8098a712 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..de436714b0 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Safari-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..1f078d0be3 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-ltr-Mobile-Chrome-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..4463100f1a Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-ltr-Mobile-Firefox-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..4aabbb2903 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-ltr-Mobile-Safari-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..f2ffd02114 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Chrome-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..2cacd009c8 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Firefox-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..3c014f4475 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Safari-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..4c4e2fc01b Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..c3c959d5c8 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..cef0037a38 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-ltr-Mobile-Safari-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..676c51681a Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..048896b4e5 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..653540320e Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Safari-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..9bb6b476d8 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-ltr-Mobile-Chrome-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..b376f7638b Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-ltr-Mobile-Firefox-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..3eb28b1e88 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-ltr-Mobile-Safari-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..f07111b73e Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Chrome-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..e5d1383879 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Firefox-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..55b51773d0 Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Safari-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..c601bf1b0e Binary files /dev/null and b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/popover/popover.tsx b/core/src/components/popover/popover.tsx index 6349ea5ee0..cbd1d1a55a 100644 --- a/core/src/components/popover/popover.tsx +++ b/core/src/components/popover/popover.tsx @@ -26,7 +26,12 @@ import { iosEnterAnimation } from './animations/ios.enter'; import { iosLeaveAnimation } from './animations/ios.leave'; import { mdEnterAnimation } from './animations/md.enter'; import { mdLeaveAnimation } from './animations/md.leave'; -import { configureDismissInteraction, configureKeyboardInteraction, configureTriggerInteraction } from './utils'; +import { + configureDismissInteraction, + configureKeyboardInteraction, + configureTriggerInteraction, + waitOneFrame, +} from './utils'; /** * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. @@ -309,6 +314,19 @@ export class Popover implements ComponentInterface, PopoverInterface { */ @Event({ eventName: 'didDismiss' }) didDismissShorthand!: EventEmitter; + /** + * Emitted before the popover has presented, but after the component + * has been mounted in the DOM. + * This event exists for ion-popover to resolve an issue with the + * popover and the lazy build, that the transition is unable to get + * the correct dimensions of the popover with auto sizing. + * This is not required for other overlays, since the existing + * overlay transitions are not effected by auto sizing content. + * + * @internal + */ + @Event() ionMount!: EventEmitter; + connectedCallback() { const { configureTriggerInteraction, el } = this; @@ -447,6 +465,18 @@ export class Popover implements ComponentInterface, PopoverInterface { } this.configureDismissInteraction(); + // TODO: FW-2773: Apply this to only the lazy build. + /** + * ionMount only needs to be emitted if the popover is inline. + */ + this.ionMount.emit(); + /** + * Wait one raf before presenting the popover. + * This allows the lazy build enough time to + * calculate the popover dimensions for the animation. + */ + await waitOneFrame(); + this.currentTransition = present(this, 'popoverEnter', iosEnterAnimation, mdEnterAnimation, { event: event || this.event, size: this.size, diff --git a/core/src/components/popover/utils.ts b/core/src/components/popover/utils.ts index 363db25c52..6dfad7c08e 100644 --- a/core/src/components/popover/utils.ts +++ b/core/src/components/popover/utils.ts @@ -928,3 +928,7 @@ export const shouldShowArrow = (side: PositionSide, didAdjustBounds = false, ev? return true; }; + +export const waitOneFrame = () => { + return new Promise((resolve) => raf(() => resolve())); +}; diff --git a/core/src/components/radio/test/basic/index.html b/core/src/components/radio/test/basic/index.html index 43f39402c8..b84462c81a 100644 --- a/core/src/components/radio/test/basic/index.html +++ b/core/src/components/radio/test/basic/index.html @@ -208,10 +208,6 @@ var radioValues = ['fruitRadio', 'pizzaRadio', 'veggiesRadio']; printRadioValues(); - function printForm(ev) { - console.log('TODO get working with forms'); - } - function printRadioValues() { var html = 'Values:
'; diff --git a/core/src/components/refresher/refresher.tsx b/core/src/components/refresher/refresher.tsx index 465c94f741..a45810b248 100644 --- a/core/src/components/refresher/refresher.tsx +++ b/core/src/components/refresher/refresher.tsx @@ -714,8 +714,6 @@ export class Refresher implements ComponentInterface { // set that the refresh is actively cancelling/completing this.state = state; this.setCss(0, this.closeDuration, true, delay); - - // TODO: stop gesture } private setCss(y: number, duration: string, overflowVisible: boolean, delay: string) { diff --git a/core/src/components/refresher/test/basic/refresher.e2e.ts b/core/src/components/refresher/test/basic/refresher.e2e.ts index e5000898b2..219fa1fbf7 100644 --- a/core/src/components/refresher/test/basic/refresher.e2e.ts +++ b/core/src/components/refresher/test/basic/refresher.e2e.ts @@ -3,7 +3,7 @@ import { test } from '@utils/test/playwright'; import { pullToRefresh } from '../test.utils'; -// TODO: Enable this test when touch events/gestures are better supported in Playwright: https://github.com/microsoft/playwright/issues/2903 +// TODO FW-2795: Enable this test when touch events/gestures are better supported in Playwright test.skip('refresher: basic', () => { test.beforeEach(async ({ page }) => { await page.goto('/src/components/refresher/test/basic'); diff --git a/core/src/components/refresher/test/scroll-target/refresher.e2e.ts b/core/src/components/refresher/test/scroll-target/refresher.e2e.ts index 255f96ad98..d7904f0552 100644 --- a/core/src/components/refresher/test/scroll-target/refresher.e2e.ts +++ b/core/src/components/refresher/test/scroll-target/refresher.e2e.ts @@ -3,7 +3,7 @@ import { test } from '@utils/test/playwright'; import { pullToRefresh } from '../test.utils'; -// TODO: Enable this test when touch events/gestures are better supported in Playwright: https://github.com/microsoft/playwright/issues/2903 +// TODO FW-2795: Enable this test when touch events/gestures are better supported in Playwright test.skip('refresher: custom scroll target', () => { test.beforeEach(async ({ page }) => { await page.goto('/src/components/refresher/test/scroll-target'); diff --git a/core/src/components/reorder-group/reorder-group.tsx b/core/src/components/reorder-group/reorder-group.tsx index d0b5028633..09888e5c90 100644 --- a/core/src/components/reorder-group/reorder-group.tsx +++ b/core/src/components/reorder-group/reorder-group.tsx @@ -245,9 +245,6 @@ export class ReorderGroup implements ComponentInterface { private itemIndexForTop(deltaY: number): number { const heights = this.cachedHeights; - // TODO: since heights is a sorted array of integers, we can do - // speed up the search using binary search. Remember that linear-search is still - // faster than binary-search for small arrays (<64) due CPU branch misprediction. for (let i = 0; i < heights.length; i++) { if (heights[i] > deltaY) { return i; diff --git a/core/src/components/select/select.tsx b/core/src/components/select/select.tsx index 18b3ca3ddb..45aa921aee 100644 --- a/core/src/components/select/select.tsx +++ b/core/src/components/select/select.tsx @@ -487,7 +487,6 @@ export class Select implements ComponentInterface { * Close the select interface. */ private close(): Promise { - // TODO check !this.overlay || !this.isFocus() if (!this.overlay) { return Promise.resolve(false); } diff --git a/core/src/components/textarea/textarea.scss b/core/src/components/textarea/textarea.scss index 45c9f481cc..704b897bc4 100644 --- a/core/src/components/textarea/textarea.scss +++ b/core/src/components/textarea/textarea.scss @@ -124,8 +124,6 @@ resize: none; appearance: none; - overflow: hidden; - &::placeholder { @include padding(0); @@ -139,7 +137,7 @@ } } -.native-textarea[disabled] { +.native-textarea[disabled]:not(.cloned-input) { opacity: 0.4; } @@ -159,13 +157,22 @@ pointer-events: none; } -:host([auto-grow]) .cloned-input { +/** + * The cloned input needs to be disabled on + * Android otherwise the viewport will still + * shift when running scroll assist. + */ +.cloned-input:disabled { + opacity: 1; +} + +:host([auto-grow="true"]) .cloned-input { // Workaround for webkit rendering issue with scroll assist. // When cloning the textarea and scrolling into view, // a white box is rendered from the difference in height // from the auto grow container. // This change forces the cloned input to match the true - // height of the textarea container. + // height of the textarea container. height: 100%; } @@ -182,3 +189,7 @@ opacity: 1; } + +:host([auto-grow="true"]) .native-textarea { + overflow: hidden; +} diff --git a/core/src/components/title/test/basic/index.html b/core/src/components/title/test/basic/index.html new file mode 100644 index 0000000000..0b3257888b --- /dev/null +++ b/core/src/components/title/test/basic/index.html @@ -0,0 +1,88 @@ + + + + + Title - Basic + + + + + + + + + + +
+ + + Settings + + + + + + Browse + + Cancel + + + + + + + + + + Title + Subtitle + + + + + + + + + + Choose a contact to add to Favorites + + + Contacts + + Cancel + + + + + + + + Choose multiple contacts to add to your Favorites so this just goes on and on and on + + + + + Groups + + Contacts + + Cancel + + + +
+ + +
+ + + + diff --git a/core/src/components/title/test/basic/title.e2e.ts b/core/src/components/title/test/basic/title.e2e.ts new file mode 100644 index 0000000000..c6fe1eb0c6 --- /dev/null +++ b/core/src/components/title/test/basic/title.e2e.ts @@ -0,0 +1,12 @@ +import { expect } from '@playwright/test'; +import { test } from '@utils/test/playwright'; + +test.describe('title: basic', () => { + test('should not have visual regressions', async ({ page }) => { + await page.goto('/src/components/title/test/basic'); + const wrapper = page.locator('#header-wrapper'); + + // only screenshot the headers to avoid unnecessary blank space from ion-content + expect(await wrapper.screenshot()).toMatchSnapshot(`title-basic-${page.getSnapshotSettings()}.png`); + }); +}); diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..ed33be6203 Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..331ece39f9 Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-ltr-Mobile-Safari-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..939753e3ec Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..c817883551 Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..ed371609b2 Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-rtl-Mobile-Safari-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..f1eb77a9e1 Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-ltr-Mobile-Chrome-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..f23c91cb82 Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-ltr-Mobile-Firefox-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..8bb7a711ae Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-ltr-Mobile-Safari-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..8ec6c0547f Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-rtl-Mobile-Chrome-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..915c3cd3da Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-rtl-Mobile-Firefox-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..0f8c3024b9 Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-rtl-Mobile-Safari-linux.png b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..4ff2cadb2b Binary files /dev/null and b/core/src/components/title/test/basic/title.e2e.ts-snapshots/title-basic-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/title/test/scenarios/index.html b/core/src/components/title/test/scenarios/index.html deleted file mode 100644 index 50269f7ea8..0000000000 --- a/core/src/components/title/test/scenarios/index.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - Toolbar - Title - - - - - - - - - - - - - - - - Edit - - Inbox - - - - - - - - - Edit - - Inbox - - - - - - - - - Edit - - Inbox - - - - - - - - - Title - - - - - Title - - - - - - - Toggle Size - - - - - - diff --git a/core/src/components/title/test/sizes/e2e.ts b/core/src/components/title/test/sizes/e2e.ts deleted file mode 100644 index 7af671e9ca..0000000000 --- a/core/src/components/title/test/sizes/e2e.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { newE2EPage } from '@stencil/core/testing'; - -test('title: sizes', async () => { - const page = await newE2EPage({ - url: '/src/components/title/test/sizes?ionic:_testing=true', - }); - - const compare = await page.compareScreenshot(); - expect(compare).toMatchScreenshot(); -}); - -test('title:rtl: sizes', async () => { - const page = await newE2EPage({ - url: '/src/components/title/test/sizes?ionic:_testing=true&rtl=true', - }); - - const compare = await page.compareScreenshot(); - expect(compare).toMatchScreenshot(); -}); diff --git a/core/src/components/title/test/sizes/index.html b/core/src/components/title/test/sizes/index.html deleted file mode 100644 index 65286eef79..0000000000 --- a/core/src/components/title/test/sizes/index.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - Title - Sizes - - - - - - - - - - - - - Settings - - - - - - Browse - - Cancel - - - - - - - - - - Choose a contact to add to Favorites - - - - - - Title - Subtitle - - - - - - - - - - - - - Choose a contact to add to Favorites - - - Contacts - - Cancel - - - - - - - - - - - Choose multiple contacts to add to your Favorites so this just goes on and on and on - - - - - Groups - - Contacts - - Cancel - - - - - - - - - - - - - diff --git a/core/src/components/toggle/toggle.md.scss b/core/src/components/toggle/toggle.md.scss index dd593cc8c0..0ddd11ea46 100644 --- a/core/src/components/toggle/toggle.md.scss +++ b/core/src/components/toggle/toggle.md.scss @@ -73,17 +73,6 @@ opacity: $toggle-md-disabled-opacity; } -// TODO: move to item -// .item-md.item-toggle-disabled ion-label { -// opacity: $toggle-md-disabled-opacity; - -// pointer-events: none; -// } - -// .toggle-md.toggle-disabled ion-radio { -// opacity: $toggle-md-disabled-opacity; -// } - // Material Design Toggle Within An Item // ---------------------------------------------------------- diff --git a/core/src/css/core.scss b/core/src/css/core.scss index 40f7c7652f..e215382921 100644 --- a/core/src/css/core.scss +++ b/core/src/css/core.scss @@ -25,11 +25,6 @@ body.backdrop-no-scroll { overflow: hidden; } -// TODO: Block scrolling in ion-content, breaks inside ion-modal -// body.backdrop-no-scroll .ion-page > ion-content { -// --overflow: hidden; -// } - // Modal - Card Style // -------------------------------------------------- /** @@ -252,7 +247,6 @@ ion-card-header.ion-color .ion-inherit-color { // Menu Styles -// TODO: Find a better long term solution for this // -------------------------------------------------- .menu-content { diff --git a/core/src/utils/animation/animation.ts b/core/src/utils/animation/animation.ts index 25a866a5de..6516c76831 100644 --- a/core/src/utils/animation/animation.ts +++ b/core/src/utils/animation/animation.ts @@ -908,8 +908,6 @@ export const createAnimation = (animationId?: string): Animation => { * may be flickering if a new * animation is started on the same * element too quickly - * - * TODO: Is there a cleaner way to do this? */ raf(() => { clearCSSAnimationPlayState(); diff --git a/core/src/utils/animation/cubic-bezier.ts b/core/src/utils/animation/cubic-bezier.ts index 728ff1d859..63eb1e89e0 100644 --- a/core/src/utils/animation/cubic-bezier.ts +++ b/core/src/utils/animation/cubic-bezier.ts @@ -2,7 +2,6 @@ * Based on: * https://stackoverflow.com/questions/7348009/y-coordinate-for-a-given-x-cubic-bezier * https://math.stackexchange.com/questions/26846/is-there-an-explicit-form-for-cubic-b%C3%A9zier-curves - * TODO: Reduce rounding error */ /** diff --git a/core/src/utils/element-interface.ts b/core/src/utils/element-interface.ts index c89347ce14..99b6e7d8d2 100644 --- a/core/src/utils/element-interface.ts +++ b/core/src/utils/element-interface.ts @@ -1,6 +1,3 @@ -// import { RouterDirection } from '../interface'; - -// TODO router direction // The interfaces in this file are used to make sure our components // have the correct properties defined that are needed to pass to // the native HTML elements they render @@ -10,11 +7,9 @@ export interface AnchorInterface { target: string | undefined; rel: string | undefined; download: string | undefined; - // routerDirection: RouterDirection; } export interface ButtonInterface { type: 'submit' | 'reset' | 'button'; disabled: boolean; - // routerDirection: RouterDirection; } diff --git a/core/src/utils/gesture/swipe-back.ts b/core/src/utils/gesture/swipe-back.ts index 6a624fddbe..b3e0a20dd9 100644 --- a/core/src/utils/gesture/swipe-back.ts +++ b/core/src/utils/gesture/swipe-back.ts @@ -66,11 +66,6 @@ export const createSwipeBackGesture = ( realDur = Math.min(dur, 540); } - /** - * TODO: stepValue can sometimes return negative values - * or values greater than 1 which should not be possible. - * Need to investigate more to find where the issue is. - */ onEndHandler(shouldComplete, stepValue <= 0 ? 0.01 : clamp(0, stepValue, 0.9999), realDur); }; diff --git a/core/src/utils/input-shims/hacks/common.ts b/core/src/utils/input-shims/hacks/common.ts index aa729221b7..3d4e6b602f 100644 --- a/core/src/utils/input-shims/hacks/common.ts +++ b/core/src/utils/input-shims/hacks/common.ts @@ -4,14 +4,15 @@ export const relocateInput = ( componentEl: HTMLElement, inputEl: HTMLInputElement | HTMLTextAreaElement, shouldRelocate: boolean, - inputRelativeY = 0 + inputRelativeY = 0, + disabledClonedInput = false ) => { if (cloneMap.has(componentEl) === shouldRelocate) { return; } if (shouldRelocate) { - addClone(componentEl, inputEl, inputRelativeY); + addClone(componentEl, inputEl, inputRelativeY, disabledClonedInput); } else { removeClone(componentEl, inputEl); } @@ -24,7 +25,8 @@ export const isFocused = (input: HTMLInputElement | HTMLTextAreaElement): boolea const addClone = ( componentEl: HTMLElement, inputEl: HTMLInputElement | HTMLTextAreaElement, - inputRelativeY: number + inputRelativeY: number, + disabledClonedInput = false ) => { // this allows for the actual input to receive the focus from // the user's touch event, but before it receives focus, it @@ -38,9 +40,25 @@ const addClone = ( const parentEl = inputEl.parentNode!; // DOM WRITES - const clonedEl = inputEl.cloneNode(false) as HTMLElement; + const clonedEl = inputEl.cloneNode(false) as HTMLInputElement | HTMLTextAreaElement; clonedEl.classList.add('cloned-input'); clonedEl.tabIndex = -1; + + /** + * Making the cloned input disabled prevents + * Chrome for Android from still scrolling + * the entire page since this cloned input + * will briefly be hidden by the keyboard + * even though it is not focused. + * + * This is not needed on iOS. While this + * does not cause functional issues on iOS, + * the input still appears slightly dimmed even + * if we set opacity: 1. + */ + if (disabledClonedInput) { + clonedEl.disabled = true; + } parentEl.appendChild(clonedEl); cloneMap.set(componentEl, clonedEl); diff --git a/core/src/utils/input-shims/hacks/input-blurring.ts b/core/src/utils/input-shims/hacks/input-blurring.ts index 0df400db73..64a04ff3bd 100644 --- a/core/src/utils/input-shims/hacks/input-blurring.ts +++ b/core/src/utils/input-shims/hacks/input-blurring.ts @@ -41,7 +41,7 @@ export const enableInputBlurring = () => { } focused = false; - // TODO: find a better way, why 50ms? + // TODO FW-2796: find a better way, why 50ms? setTimeout(() => { if (!focused) { active.blur(); diff --git a/core/src/utils/input-shims/hacks/scroll-assist.ts b/core/src/utils/input-shims/hacks/scroll-assist.ts index be514e36bb..40fd352ed8 100644 --- a/core/src/utils/input-shims/hacks/scroll-assist.ts +++ b/core/src/utils/input-shims/hacks/scroll-assist.ts @@ -16,7 +16,8 @@ export const enableScrollAssist = ( footerEl: HTMLIonFooterElement | null, keyboardHeight: number, enableScrollPadding: boolean, - keyboardResize: KeyboardResizeOptions | undefined + keyboardResize: KeyboardResizeOptions | undefined, + disableClonedInput = false ) => { /** * Scroll padding should only be added if: @@ -36,7 +37,7 @@ export const enableScrollAssist = ( * mobile Safari from adjusting the viewport. */ const focusIn = async () => { - jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding); + jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput); }; componentEl.addEventListener('focusin', focusIn, true); @@ -51,7 +52,8 @@ const jsSetFocus = async ( contentEl: HTMLElement | null, footerEl: HTMLIonFooterElement | null, keyboardHeight: number, - enableScrollPadding: boolean + enableScrollPadding: boolean, + disableClonedInput = false ) => { if (!contentEl && !footerEl) { return; @@ -84,7 +86,7 @@ const jsSetFocus = async ( // temporarily move the focus to the focus holder so the browser // doesn't freak out while it's trying to get the input in place // at this point the native text input still does not have focus - relocateInput(componentEl, inputEl, true, scrollData.inputSafeY); + relocateInput(componentEl, inputEl, true, scrollData.inputSafeY, disableClonedInput); inputEl.focus(); /** diff --git a/core/src/utils/input-shims/input-shims.ts b/core/src/utils/input-shims/input-shims.ts index 1bee552d37..2740ded346 100644 --- a/core/src/utils/input-shims/input-shims.ts +++ b/core/src/utils/input-shims/input-shims.ts @@ -11,12 +11,20 @@ const INPUT_BLURRING = true; const SCROLL_ASSIST = true; const HIDE_CARET = true; -export const startInputShims = async (config: Config) => { +export const startInputShims = async (config: Config, platform: 'ios' | 'android') => { const doc = document; + const isIOS = platform === 'ios'; + const isAndroid = platform === 'android'; + + /** + * Hide Caret and Input Blurring are needed on iOS. + * Scroll Assist and Scroll Padding are needed on iOS and Android + * with Chrome web browser (not Chrome webview). + */ const keyboardHeight = config.getNumber('keyboardHeight', 290); const scrollAssist = config.getBoolean('scrollAssist', true); - const hideCaret = config.getBoolean('hideCaretOnScroll', true); - const inputBlurring = config.getBoolean('inputBlurring', true); + const hideCaret = config.getBoolean('hideCaretOnScroll', isIOS); + const inputBlurring = config.getBoolean('inputBlurring', isIOS); const scrollPadding = config.getBoolean('scrollPadding', true); const inputs = Array.from(doc.querySelectorAll('ion-input, ion-textarea')) as HTMLElement[]; @@ -71,7 +79,8 @@ export const startInputShims = async (config: Config) => { footerEl, keyboardHeight, scrollPadding, - keyboardResizeMode + keyboardResizeMode, + isAndroid ); scrollAssistMap.set(componentEl, rmFn); } diff --git a/core/stencil.config.ts b/core/stencil.config.ts index 00bc7a9219..315a364f74 100644 --- a/core/stencil.config.ts +++ b/core/stencil.config.ts @@ -206,42 +206,6 @@ export const config: Config = { // auxiliar 'ion-picker-column', ], - /** - * TODO: Abstract custom Ionic value accessor functionality - * to be configurable with Stencil generated value accessors. - */ - // valueAccessorConfigs: [ - // { - // elementSelectors: ['ion-input:not([type=number])', 'ion-textarea', 'ion-searchbar'], - // event: 'ionChange', - // targetAttr: 'value', - // type: 'text', - // }, - // { - // elementSelectors: ['ion-input[type=number]'], - // event: 'ionChange', - // targetAttr: 'value', - // type: 'number', - // }, - // { - // elementSelectors: ['ion-checkbox', 'ion-toggle'], - // event: 'ionChange', - // targetAttr: 'checked', - // type: 'boolean', - // }, - // { - // elementSelectors: ['ion-range', 'ion-select', 'ion-radio-group', 'ion-segment', 'ion-datetime'], - // event: 'ionChange', - // targetAttr: 'value', - // type: 'select', - // }, - // { - // elementSelectors: ['ion-radio'], - // event: 'ionSelect', - // targetAttr: 'checked', - // type: 'radio', - // }, - // ] }), ], buildEs5: 'prod', diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 14b2e0407e..2cc2176eb6 100644 --- a/docs/CHANGELOG.md +++ b/docs/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.3.6](https://github.com/ionic-team/ionic-docs/compare/v6.3.5...v6.3.6) (2022-11-10) + +**Note:** Version bump only for package @ionic/docs + + + + + +## [6.3.5](https://github.com/ionic-team/ionic-docs/compare/v6.3.4...v6.3.5) (2022-11-09) + +**Note:** Version bump only for package @ionic/docs + + + + + ## [6.3.4](https://github.com/ionic-team/ionic-docs/compare/v6.3.3...v6.3.4) (2022-11-02) **Note:** Version bump only for package @ionic/docs diff --git a/docs/package-lock.json b/docs/package-lock.json index 2c5a3d6f07..d306759142 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ionic/docs", - "version": "6.3.4", + "version": "6.3.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/docs", - "version": "6.3.4", + "version": "6.3.6", "license": "MIT" } } diff --git a/docs/package.json b/docs/package.json index 5caee18a9b..df8274a2f9 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/docs", - "version": "6.3.4", + "version": "6.3.6", "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 10dc5e1846..a6ba0021f2 100644 --- a/lerna.json +++ b/lerna.json @@ -5,5 +5,5 @@ "angular", "packages/*" ], - "version": "6.3.4" + "version": "6.3.6" } diff --git a/packages/angular-server/CHANGELOG.md b/packages/angular-server/CHANGELOG.md index 62fa04eca9..788a1fb97a 100644 --- a/packages/angular-server/CHANGELOG.md +++ b/packages/angular-server/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.3.6](https://github.com/ionic-team/ionic/compare/v6.3.5...v6.3.6) (2022-11-10) + +**Note:** Version bump only for package @ionic/angular-server + + + + + +## [6.3.5](https://github.com/ionic-team/ionic/compare/v6.3.4...v6.3.5) (2022-11-09) + +**Note:** Version bump only for package @ionic/angular-server + + + + + ## [6.3.4](https://github.com/ionic-team/ionic/compare/v6.3.3...v6.3.4) (2022-11-02) **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 a7200c2ec5..9516b72106 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.3.4", + "version": "6.3.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/angular-server", - "version": "6.3.4", + "version": "6.3.6", "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.3.4", + "@ionic/core": "^6.3.6", "@ionic/eslint-config": "^0.3.0", "@ionic/prettier-config": "^2.0.0", "@typescript-eslint/eslint-plugin": "^5.2.0", @@ -786,29 +786,16 @@ "license": "BSD-3-Clause" }, "node_modules/@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "dev": true, "dependencies": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" } }, - "node_modules/@ionic/core/node_modules/@stencil/core": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.18.0.tgz", - "integrity": "sha512-NLEY8Jq59smyiivBAxHKipsp9YkkW/K/Vm90zAyXQqukb12i2SFucWHJ1Ik7ropVlhmMVvigyxXgRfQ9quIqtg==", - "dev": true, - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" - } - }, "node_modules/@ionic/core/node_modules/tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", @@ -1171,9 +1158,9 @@ "license": "MIT" }, "node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "dev": true, "bin": { "stencil": "bin/stencil" @@ -3608,12 +3595,12 @@ } }, "node_modules/ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dev": true, "dependencies": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "node_modules/is-bigint": { @@ -7116,22 +7103,16 @@ "dev": true }, "@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "dev": true, "requires": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" }, "dependencies": { - "@stencil/core": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.18.0.tgz", - "integrity": "sha512-NLEY8Jq59smyiivBAxHKipsp9YkkW/K/Vm90zAyXQqukb12i2SFucWHJ1Ik7ropVlhmMVvigyxXgRfQ9quIqtg==", - "dev": true - }, "tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", @@ -7343,9 +7324,9 @@ } }, "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "dev": true }, "@types/estree": { @@ -8819,12 +8800,12 @@ } }, "ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dev": true, "requires": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "is-bigint": { diff --git a/packages/angular-server/package.json b/packages/angular-server/package.json index fd8267cbcf..03c0dd913f 100644 --- a/packages/angular-server/package.json +++ b/packages/angular-server/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/angular-server", - "version": "6.3.4", + "version": "6.3.6", "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.3.4", + "@ionic/core": "^6.3.6", "@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 31a4ff929a..71c3f2eea3 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/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.3.6](https://github.com/ionic-team/ionic/compare/v6.3.5...v6.3.6) (2022-11-10) + +**Note:** Version bump only for package @ionic/react-router + + + + + +## [6.3.5](https://github.com/ionic-team/ionic/compare/v6.3.4...v6.3.5) (2022-11-09) + +**Note:** Version bump only for package @ionic/react-router + + + + + ## [6.3.4](https://github.com/ionic-team/ionic/compare/v6.3.3...v6.3.4) (2022-11-02) **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 1373ac3f1d..2d56fb5bd0 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.3.4", + "version": "6.3.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/react-router", - "version": "6.3.4", + "version": "6.3.6", "license": "MIT", "dependencies": { - "@ionic/react": "^6.3.4", + "@ionic/react": "^6.3.6", "tslib": "*" }, "devDependencies": { @@ -147,21 +147,21 @@ } }, "node_modules/@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "dependencies": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" } }, "node_modules/@ionic/react": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-6.3.4.tgz", - "integrity": "sha512-0AHyFpzk2Q3BikzbfQryiAwkzW+Y+GaXfaxPvKm+vmFiwCDcIwsCS/JZGDxcmR7G5Ps1QrfNLq5IgvZb+XSjAA==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-6.3.6.tgz", + "integrity": "sha512-g5S5wHfVnNQ+2n+jlT7U1thn9g9Xj2JPaz+0EwD/qmyzlt8ikyzDAoaWCxla7hm2+5IvR1pIkENnKxRAH6FZzg==", "dependencies": { - "@ionic/core": "^6.3.4", + "@ionic/core": "^6.3.6", "ionicons": "^6.0.2", "tslib": "*" }, @@ -493,23 +493,11 @@ "license": "ISC" }, "node_modules/ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" - } - }, - "node_modules/ionicons/node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" + "@stencil/core": "^2.18.0" } }, "node_modules/is-core-module": { @@ -1157,21 +1145,21 @@ } }, "@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "requires": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" } }, "@ionic/react": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-6.3.4.tgz", - "integrity": "sha512-0AHyFpzk2Q3BikzbfQryiAwkzW+Y+GaXfaxPvKm+vmFiwCDcIwsCS/JZGDxcmR7G5Ps1QrfNLq5IgvZb+XSjAA==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-6.3.6.tgz", + "integrity": "sha512-g5S5wHfVnNQ+2n+jlT7U1thn9g9Xj2JPaz+0EwD/qmyzlt8ikyzDAoaWCxla7hm2+5IvR1pIkENnKxRAH6FZzg==", "requires": { - "@ionic/core": "^6.3.4", + "@ionic/core": "^6.3.6", "ionicons": "^6.0.2", "tslib": "*" } @@ -1397,18 +1385,11 @@ "dev": true }, "ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" - }, - "dependencies": { - "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" - } + "@stencil/core": "^2.18.0" } }, "is-core-module": { diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 0814e2f48e..d940f45231 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/react-router", - "version": "6.3.4", + "version": "6.3.6", "description": "React Router wrapper for @ionic/react", "keywords": [ "ionic", @@ -36,7 +36,7 @@ "dist/" ], "dependencies": { - "@ionic/react": "^6.3.4", + "@ionic/react": "^6.3.6", "tslib": "*" }, "peerDependencies": { diff --git a/packages/react-router/scripts/sync.sh b/packages/react-router/scripts/sync.sh index a33816d67c..b8f03de4cf 100644 --- a/packages/react-router/scripts/sync.sh +++ b/packages/react-router/scripts/sync.sh @@ -1,3 +1,7 @@ +#!/bin/bash + +set -e + # Copy ionic react dist rm -rf node_modules/@ionic/react/dist node_modules/@ionic/react/css cp -a ../react/dist node_modules/@ionic/react/dist @@ -9,7 +13,3 @@ rm -rf node_modules/@ionic/core/dist node_modules/@ionic/core/components cp -a ../../core/dist node_modules/@ionic/core/dist cp -a ../../core/components node_modules/@ionic/core/components cp -a ../../core/package.json node_modules/@ionic/core/package.json - -# Copy ionicons -rm -rf node_modules/ionicons -cp -a ../../core/node_modules/ionicons node_modules/ionicons diff --git a/packages/react-router/src/ReactRouter/IonRouter.tsx b/packages/react-router/src/ReactRouter/IonRouter.tsx index 09bd3ced72..261a1b6950 100644 --- a/packages/react-router/src/ReactRouter/IonRouter.tsx +++ b/packages/react-router/src/ReactRouter/IonRouter.tsx @@ -116,7 +116,7 @@ class IonRouterInner extends React.PureComponent { this.incomingRouteParams = { routeAction: 'replace', routeDirection: 'none', - tab: this.currentTab, // TODO this isn't legit if replacing to a page that is not in the tabs + tab: this.currentTab, }; } if (action === 'POP') { diff --git a/packages/react-router/test-app/package-lock.json b/packages/react-router/test-app/package-lock.json index 60cd0370c1..49f5c4b9b3 100644 --- a/packages/react-router/test-app/package-lock.json +++ b/packages/react-router/test-app/package-lock.json @@ -20,7 +20,7 @@ "@types/react-dom": "^16.9.4", "@types/react-router": "^5.1.8", "@types/react-router-dom": "^5.1.7", - "ionicons": "^5.4.0", + "ionicons": "^6.0.4", "react": "^17.0.1", "react-dom": "^17.0.1", "react-router": "^5.2.0", @@ -2341,14 +2341,6 @@ "tslib": "^2.1.0" } }, - "node_modules/@ionic/core/node_modules/ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", - "dependencies": { - "@stencil/core": "~2.16.0" - } - }, "node_modules/@ionic/react": { "version": "6.1.9", "resolved": "https://registry.npmjs.org/@ionic/react/-/react-6.1.9.tgz", @@ -2378,14 +2370,6 @@ "react-router-dom": "^5.0.1" } }, - "node_modules/@ionic/react/node_modules/ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", - "dependencies": { - "@stencil/core": "~2.16.0" - } - }, "node_modules/@ionic/utils-array": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.5.tgz", @@ -4069,9 +4053,9 @@ } }, "node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "bin": { "stencil": "bin/stencil" }, @@ -11448,23 +11432,11 @@ } }, "node_modules/ionicons": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.4.tgz", - "integrity": "sha512-3ph8X9my3inhabWEZ7N0XRA0MnnNQ1v9a602mLNgWsIXnxE9G5BybIZ/pws/OZZ/hoNlvSjk801N03yL9/FNgQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.10.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==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" + "@stencil/core": "^2.18.0" } }, "node_modules/ipaddr.js": { @@ -24687,16 +24659,6 @@ "@stencil/core": "^2.16.0", "ionicons": "^6.0.2", "tslib": "^2.1.0" - }, - "dependencies": { - "ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", - "requires": { - "@stencil/core": "~2.16.0" - } - } } }, "@ionic/react": { @@ -24707,16 +24669,6 @@ "@ionic/core": "^6.1.9", "ionicons": "^6.0.2", "tslib": "*" - }, - "dependencies": { - "ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", - "requires": { - "@stencil/core": "~2.16.0" - } - } } }, "@ionic/react-router": { @@ -25989,9 +25941,9 @@ } }, "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==" }, "@surma/rollup-plugin-off-main-thread": { "version": "2.2.3", @@ -31405,18 +31357,11 @@ "dev": true }, "ionicons": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.4.tgz", - "integrity": "sha512-3ph8X9my3inhabWEZ7N0XRA0MnnNQ1v9a602mLNgWsIXnxE9G5BybIZ/pws/OZZ/hoNlvSjk801N03yL9/FNgQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.10.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==" - } + "@stencil/core": "^2.18.0" } }, "ipaddr.js": { diff --git a/packages/react-router/test-app/package.json b/packages/react-router/test-app/package.json index a2da68eb72..1e9eec51f6 100644 --- a/packages/react-router/test-app/package.json +++ b/packages/react-router/test-app/package.json @@ -15,7 +15,7 @@ "@types/react-dom": "^16.9.4", "@types/react-router": "^5.1.8", "@types/react-router-dom": "^5.1.7", - "ionicons": "^5.4.0", + "ionicons": "^6.0.4", "react": "^17.0.1", "react-dom": "^17.0.1", "react-router": "^5.2.0", diff --git a/packages/react-router/test-app/scripts/sync.sh b/packages/react-router/test-app/scripts/sync.sh index d81e56edce..c2fbe68ae7 100644 --- a/packages/react-router/test-app/scripts/sync.sh +++ b/packages/react-router/test-app/scripts/sync.sh @@ -1,3 +1,7 @@ +#!/bin/bash + +set -e + # Copy ionic react dist rm -rf node_modules/@ionic/react/dist node_modules/@ionic/react/css cp -a ../../react/dist node_modules/@ionic/react/dist @@ -14,11 +18,3 @@ rm -rf node_modules/@ionic/core/dist node_modules/@ionic/core/components cp -a ../../../core/package.json node_modules/@ionic/core/package.json cp -a ../../../core/dist node_modules/@ionic/core/dist cp -a ../../../core/components node_modules/@ionic/core/components - -# Copy stencil -rm -rf node_modules/@stencil/core -cp -a ../../../core/node_modules/@stencil/core node_modules/@stencil/core - -# Copy ionicons -rm -rf node_modules/ionicons -cp -a ../../../core/node_modules/ionicons node_modules/ionicons diff --git a/packages/react-router/test-app/tests/e2e/specs/routing.cy.js b/packages/react-router/test-app/tests/e2e/specs/routing.cy.js index 0fc01428e4..950a27d157 100644 --- a/packages/react-router/test-app/tests/e2e/specs/routing.cy.js +++ b/packages/react-router/test-app/tests/e2e/specs/routing.cy.js @@ -133,7 +133,6 @@ describe('Routing Tests', () => { it('Tab 3 > Other Page > Back, should be back on Tab 3', () => { // Tests transferring from one outlet to another and back again with animation - // TODO: how to test the transition animation happens? cy.visit(`http://localhost:${port}/routing/tabs/tab3`); cy.ionNav('ion-button', 'Go to Other Page'); cy.ionPageVisible('other-page'); diff --git a/packages/react-router/test-app/tests/e2e/support/commands.js b/packages/react-router/test-app/tests/e2e/support/commands.js index fd0168ef73..947a796157 100644 --- a/packages/react-router/test-app/tests/e2e/support/commands.js +++ b/packages/react-router/test-app/tests/e2e/support/commands.js @@ -101,7 +101,7 @@ Cypress.Commands.add('ionMenuNav', (contains) => { }); Cypress.Commands.add('ionTabClick', (tabText) => { - // TODO: figure out how to get rid of this wait. Switching tabs after a forward nav to a details page needs it + // TODO FW-2800: figure out how to get rid of this wait. Switching tabs after a forward nav to a details page needs it cy.wait(500); cy.contains('ion-tab-button', tabText).click({ force: true }); // cy.get('ion-tab-button.tab-selected').contains(tabText) diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index b237835159..be80914a6f 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -3,6 +3,28 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.3.6](https://github.com/ionic-team/ionic/compare/v6.3.5...v6.3.6) (2022-11-10) + + +### Bug Fixes + +* **react:** inline overlays display contents consistently ([#26255](https://github.com/ionic-team/ionic/issues/26255)) ([d709ff6](https://github.com/ionic-team/ionic/commit/d709ff64ae29a5197dc74cecb95cba602479683d)), closes [#26253](https://github.com/ionic-team/ionic/issues/26253) + + + + + +## [6.3.5](https://github.com/ionic-team/ionic/compare/v6.3.4...v6.3.5) (2022-11-09) + + +### Bug Fixes + +* **react:** loading layout is correct with no message ([#26222](https://github.com/ionic-team/ionic/issues/26222)) ([57105d5](https://github.com/ionic-team/ionic/commit/57105d54ea259fc9cd1a63e3d361ec8a57dd2971)), closes [#26219](https://github.com/ionic-team/ionic/issues/26219) + + + + + ## [6.3.4](https://github.com/ionic-team/ionic/compare/v6.3.3...v6.3.4) (2022-11-02) **Note:** Version bump only for package @ionic/react diff --git a/packages/react/package-lock.json b/packages/react/package-lock.json index 15f2b2f457..88fdd78d90 100644 --- a/packages/react/package-lock.json +++ b/packages/react/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/react", - "version": "6.3.4", + "version": "6.3.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/react", - "version": "6.3.4", + "version": "6.3.6", "license": "MIT", "dependencies": { - "@ionic/core": "^6.3.4", + "@ionic/core": "^6.3.6", "ionicons": "^6.0.2", "tslib": "*" }, @@ -607,27 +607,15 @@ } }, "node_modules/@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "dependencies": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" } }, - "node_modules/@ionic/core/node_modules/@stencil/core": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.18.0.tgz", - "integrity": "sha512-NLEY8Jq59smyiivBAxHKipsp9YkkW/K/Vm90zAyXQqukb12i2SFucWHJ1Ik7ropVlhmMVvigyxXgRfQ9quIqtg==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" - } - }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "dev": true, @@ -1041,9 +1029,9 @@ } }, "node_modules/@stencil/core": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.0.tgz", - "integrity": "sha512-oKxPYxpH1no0oMFSf8EesuFBcn9hVpoqrpiS2WH0H50RKKL8hhKoxDfn/cNeD12L0Aj7kf6nNtexIllmkYG6lw==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "bin": { "stencil": "bin/stencil" }, @@ -3938,11 +3926,11 @@ } }, "node_modules/ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "node_modules/is-accessor-descriptor": { @@ -9534,20 +9522,13 @@ } }, "@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "requires": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" - }, - "dependencies": { - "@stencil/core": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.18.0.tgz", - "integrity": "sha512-NLEY8Jq59smyiivBAxHKipsp9YkkW/K/Vm90zAyXQqukb12i2SFucWHJ1Ik7ropVlhmMVvigyxXgRfQ9quIqtg==" - } } }, "@istanbuljs/load-nyc-config": { @@ -9843,9 +9824,9 @@ } }, "@stencil/core": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.0.tgz", - "integrity": "sha512-oKxPYxpH1no0oMFSf8EesuFBcn9hVpoqrpiS2WH0H50RKKL8hhKoxDfn/cNeD12L0Aj7kf6nNtexIllmkYG6lw==" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==" }, "@szmarczak/http-timer": { "version": "4.0.6", @@ -11772,11 +11753,11 @@ } }, "ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "is-accessor-descriptor": { diff --git a/packages/react/package.json b/packages/react/package.json index 87b6c97db1..8f761285db 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/react", - "version": "6.3.4", + "version": "6.3.6", "description": "React specific wrapper for @ionic/core", "keywords": [ "ionic", @@ -40,7 +40,7 @@ "css/" ], "dependencies": { - "@ionic/core": "^6.3.4", + "@ionic/core": "^6.3.6", "ionicons": "^6.0.2", "tslib": "*" }, diff --git a/packages/react/scripts/sync.sh b/packages/react/scripts/sync.sh index bd31d024b5..1675071ac0 100644 --- a/packages/react/scripts/sync.sh +++ b/packages/react/scripts/sync.sh @@ -1,9 +1,9 @@ +#!/bin/bash + +set -e + # Copy core dist rm -rf node_modules/@ionic/core/dist node_modules/@ionic/core/components cp -a ../../core/dist node_modules/@ionic/core/dist cp -a ../../core/components node_modules/@ionic/core/components cp -a ../../core/package.json node_modules/@ionic/core/package.json - -# Copy ionicons -rm -rf node_modules/ionicons -cp -a ../../core/node_modules/ionicons node_modules/ionicons diff --git a/packages/react/src/components/createInlineOverlayComponent.tsx b/packages/react/src/components/createInlineOverlayComponent.tsx index 58fa22d40d..fac30f8a2e 100644 --- a/packages/react/src/components/createInlineOverlayComponent.tsx +++ b/packages/react/src/components/createInlineOverlayComponent.tsx @@ -144,6 +144,7 @@ export const createInlineOverlayComponent = ( { id: 'ion-react-wrapper', ref: this.wrapperRef, + className: 'ion-delegate-host', style: { display: 'flex', flexDirection: 'column', diff --git a/packages/react/src/components/index.ts b/packages/react/src/components/index.ts index f3685072fc..3483b5f038 100644 --- a/packages/react/src/components/index.ts +++ b/packages/react/src/components/index.ts @@ -162,7 +162,7 @@ export const setupIonicReact = (config: IonicConfig = {}) => { * By default Ionic Framework hides elements that * are not hydrated, but in the CE build there is no * hydration. - * TODO: Remove when all integrations have been + * TODO FW-2797: Remove when all integrations have been * migrated to CE build. */ if (typeof (document as any) !== 'undefined') { diff --git a/packages/react/test-app/package-lock.json b/packages/react/test-app/package-lock.json index 6b1ddb35ac..4a7cad901c 100644 --- a/packages/react/test-app/package-lock.json +++ b/packages/react/test-app/package-lock.json @@ -14,6 +14,7 @@ "@types/react-dom": "^16.9.10", "@types/react-router": "^5.1.11", "@types/react-router-dom": "^5.1.7", + "ionicons": "^6.0.4", "react": "^17.0.1", "react-dom": "^17.0.1", "react-router": "^5.2.0", @@ -3052,9 +3053,9 @@ } }, "node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "bin": { "stencil": "bin/stencil" }, @@ -9411,11 +9412,11 @@ } }, "node_modules/ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "node_modules/ipaddr.js": { @@ -19495,9 +19496,9 @@ } }, "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==" }, "@surma/rollup-plugin-off-main-thread": { "version": "2.2.3", @@ -24156,11 +24157,11 @@ "dev": true }, "ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "ipaddr.js": { diff --git a/packages/react/test-app/package.json b/packages/react/test-app/package.json index 1124aa22a7..4bc993e9a5 100644 --- a/packages/react/test-app/package.json +++ b/packages/react/test-app/package.json @@ -9,6 +9,7 @@ "@types/react-dom": "^16.9.10", "@types/react-router": "^5.1.11", "@types/react-router-dom": "^5.1.7", + "ionicons": "^6.0.4", "react": "^17.0.1", "react-dom": "^17.0.1", "react-router": "^5.2.0", diff --git a/packages/react/test-app/scripts/sync.sh b/packages/react/test-app/scripts/sync.sh index 35be339f9f..5650cdd183 100755 --- a/packages/react/test-app/scripts/sync.sh +++ b/packages/react/test-app/scripts/sync.sh @@ -1,3 +1,7 @@ +#!/bin/bash + +set -e + # Copy ionic react dist rm -rf node_modules/@ionic/react/dist node_modules/@ionic/react/css cp -a ../dist node_modules/@ionic/react/dist @@ -14,11 +18,3 @@ rm -rf node_modules/@ionic/core/dist node_modules/@ionic/core/components cp -a ../../../core/dist node_modules/@ionic/core/dist cp -a ../../../core/package.json node_modules/@ionic/core/package.json cp -a ../../../core/components node_modules/@ionic/core/components - -# Copy stencil -rm -rf node_modules/@stencil/core -cp -a ../../../core/node_modules/@stencil/core node_modules/@stencil/core - -# Copy ionicons -rm -rf node_modules/ionicons -cp -a ../../../core/node_modules/ionicons node_modules/ionicons diff --git a/packages/react/test-app/tests/e2e/specs/overlay-components/KeepContentsMounted.cy.ts b/packages/react/test-app/tests/e2e/specs/overlay-components/KeepContentsMounted.cy.ts index b466e0e753..8e4b0bdf83 100644 --- a/packages/react/test-app/tests/e2e/specs/overlay-components/KeepContentsMounted.cy.ts +++ b/packages/react/test-app/tests/e2e/specs/overlay-components/KeepContentsMounted.cy.ts @@ -27,6 +27,25 @@ describe('keepContentsMounted', () => { cy.get('ion-modal ion-content').should('exist'); }); + + it('should display contents consistently on re-open', () => { + // https://github.com/ionic-team/ionic-framework/issues/26253 + cy.visit('/keep-contents-mounted'); + + cy.get('#open-modal').click(); + + cy.get('ion-modal ion-content').should('exist'); + + cy.get('ion-modal ion-button').click(); + + cy.get('ion-modal') + .should('not.be.visible') + .should('have.class', 'overlay-hidden'); + + cy.get('#open-modal').click(); + + cy.get('ion-modal ion-button').should('be.visible'); + }) }) describe('popover', () => { it('should not mount component if false', () => { diff --git a/packages/vue-router/CHANGELOG.md b/packages/vue-router/CHANGELOG.md index 79a730383b..f513e7847e 100644 --- a/packages/vue-router/CHANGELOG.md +++ b/packages/vue-router/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.3.6](https://github.com/ionic-team/ionic/compare/v6.3.5...v6.3.6) (2022-11-10) + +**Note:** Version bump only for package @ionic/vue-router + + + + + +## [6.3.5](https://github.com/ionic-team/ionic/compare/v6.3.4...v6.3.5) (2022-11-09) + +**Note:** Version bump only for package @ionic/vue-router + + + + + ## [6.3.4](https://github.com/ionic-team/ionic/compare/v6.3.3...v6.3.4) (2022-11-02) **Note:** Version bump only for package @ionic/vue-router diff --git a/packages/vue-router/package-lock.json b/packages/vue-router/package-lock.json index ec54c9995e..ee802b2fb8 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.3.4", + "version": "6.3.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/vue-router", - "version": "6.3.4", + "version": "6.3.6", "license": "MIT", "dependencies": { - "@ionic/vue": "^6.3.4" + "@ionic/vue": "^6.3.6" }, "devDependencies": { "@types/jest": "^28.1.1", @@ -578,21 +578,21 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "dependencies": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" } }, "node_modules/@ionic/vue": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-6.3.4.tgz", - "integrity": "sha512-Ww1qa+5iaF+Qmm131/5YxCQg+sL7GmKvTe1ODrLkP8l06Hp3usWft848dM1zP2yw5M+CdEOTBmLFpOitRGUQ1Q==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-6.3.6.tgz", + "integrity": "sha512-0u5vWo++jDHqW92PbRFrIAQjBakJmjAhe2P1R/DqWv0zoMeZcwCNh9DKqKqrl9xIStnu6gjLSnT/lywrksiDuA==", "dependencies": { - "@ionic/core": "^6.3.4", + "@ionic/core": "^6.3.6", "ionicons": "^6.0.2" } }, @@ -2374,23 +2374,11 @@ "license": "ISC" }, "node_modules/ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" - } - }, - "node_modules/ionicons/node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" + "@stencil/core": "^2.18.0" } }, "node_modules/is-arrayish": { @@ -5233,21 +5221,21 @@ "dev": true }, "@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "requires": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" } }, "@ionic/vue": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-6.3.4.tgz", - "integrity": "sha512-Ww1qa+5iaF+Qmm131/5YxCQg+sL7GmKvTe1ODrLkP8l06Hp3usWft848dM1zP2yw5M+CdEOTBmLFpOitRGUQ1Q==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-6.3.6.tgz", + "integrity": "sha512-0u5vWo++jDHqW92PbRFrIAQjBakJmjAhe2P1R/DqWv0zoMeZcwCNh9DKqKqrl9xIStnu6gjLSnT/lywrksiDuA==", "requires": { - "@ionic/core": "^6.3.4", + "@ionic/core": "^6.3.6", "ionicons": "^6.0.2" } }, @@ -6646,18 +6634,11 @@ "dev": true }, "ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" - }, - "dependencies": { - "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" - } + "@stencil/core": "^2.18.0" } }, "is-arrayish": { diff --git a/packages/vue-router/package.json b/packages/vue-router/package.json index 85650cedcf..18e2ecff60 100644 --- a/packages/vue-router/package.json +++ b/packages/vue-router/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/vue-router", - "version": "6.3.4", + "version": "6.3.6", "description": "Vue Router integration for @ionic/vue", "scripts": { "prepublishOnly": "npm run build", @@ -43,7 +43,7 @@ }, "homepage": "https://github.com/ionic-team/ionic#readme", "dependencies": { - "@ionic/vue": "^6.3.4" + "@ionic/vue": "^6.3.6" }, "devDependencies": { "@types/jest": "^28.1.1", diff --git a/packages/vue-router/scripts/sync.sh b/packages/vue-router/scripts/sync.sh index 7a54c96954..0a1dc5cf7e 100644 --- a/packages/vue-router/scripts/sync.sh +++ b/packages/vue-router/scripts/sync.sh @@ -1,3 +1,7 @@ +#!/bin/bash + +set -e + # Copy ionic vue dist rm -rf node_modules/@ionic/vue/dist node_modules/@ionic/vue/css cp -a ../vue/dist node_modules/@ionic/vue/dist @@ -9,7 +13,3 @@ rm -rf node_modules/@ionic/core/dist node_modules/@ionic/core/components cp -a ../../core/dist node_modules/@ionic/core/dist cp -a ../../core/components node_modules/@ionic/core/components cp -a ../../core/package.json node_modules/@ionic/core/package.json - -# Copy ionicons -rm -rf node_modules/ionicons -cp -a ../../core/node_modules/ionicons node_modules/ionicons diff --git a/packages/vue-router/src/router.ts b/packages/vue-router/src/router.ts index 755820f214..eabdb0adcb 100644 --- a/packages/vue-router/src/router.ts +++ b/packages/vue-router/src/router.ts @@ -66,7 +66,6 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) => let currentRouteInfo: RouteInfo; let incomingRouteParams: RouteParams; - // TODO types let historyChangeListeners: any[] = []; if (typeof (document as any) !== 'undefined') { @@ -104,7 +103,6 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) => }); const handleNavigateBack = (defaultHref?: string, routerAnimation?: AnimationBuilder) => { - // todo grab default back button href from config const routeInfo = locationHistory.current(initialHistoryPosition, currentHistoryPosition); if (routeInfo && routeInfo.pushedByRoute) { const prevInfo = locationHistory.findLastLocation(routeInfo); @@ -561,7 +559,6 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) => } } - // TODO types const registerHistoryChangeListener = (cb: any) => { historyChangeListeners.push(cb); } diff --git a/packages/vue-router/src/types.ts b/packages/vue-router/src/types.ts index 76cd7602f3..ef535b5d82 100644 --- a/packages/vue-router/src/types.ts +++ b/packages/vue-router/src/types.ts @@ -63,7 +63,7 @@ export interface ViewItem { outletId: number; matchedRoute: RouteLocationMatched; ionPageElement?: HTMLElement; - vueComponent: any; // todo + vueComponent: any; ionRoute: boolean; mount: boolean; exact: boolean; diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index 3539a2a345..17f3feb5f6 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.3.6](https://github.com/ionic-team/ionic/compare/v6.3.5...v6.3.6) (2022-11-10) + +**Note:** Version bump only for package @ionic/vue + + + + + +## [6.3.5](https://github.com/ionic-team/ionic/compare/v6.3.4...v6.3.5) (2022-11-09) + + +### Bug Fixes + +* **vue:** generate web-types for components ([#26205](https://github.com/ionic-team/ionic/issues/26205)) ([1f7fc8f](https://github.com/ionic-team/ionic/commit/1f7fc8f05c03316560e0b58c3bf58db6b189d0e1)), closes [#26198](https://github.com/ionic-team/ionic/issues/26198) + + + + + ## [6.3.4](https://github.com/ionic-team/ionic/compare/v6.3.3...v6.3.4) (2022-11-02) **Note:** Version bump only for package @ionic/vue diff --git a/packages/vue/package-lock.json b/packages/vue/package-lock.json index e3fc622d05..97736ec859 100644 --- a/packages/vue/package-lock.json +++ b/packages/vue/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/vue", - "version": "6.3.4", + "version": "6.3.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/vue", - "version": "6.3.4", + "version": "6.3.6", "license": "MIT", "dependencies": { - "@ionic/core": "^6.3.4", + "@ionic/core": "^6.3.6", "ionicons": "^6.0.2" }, "devDependencies": { @@ -59,12 +59,12 @@ } }, "node_modules/@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "dependencies": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" } }, @@ -421,17 +421,17 @@ "dev": true }, "node_modules/ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "node_modules/ionicons/node_modules/@stencil/core": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.0.tgz", - "integrity": "sha512-oKxPYxpH1no0oMFSf8EesuFBcn9hVpoqrpiS2WH0H50RKKL8hhKoxDfn/cNeD12L0Aj7kf6nNtexIllmkYG6lw==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "bin": { "stencil": "bin/stencil" }, @@ -768,12 +768,12 @@ } }, "@ionic/core": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.4.tgz", - "integrity": "sha512-3EnKqFdon7Im8JNvuPoq/iGyYK7hskdb9u5hlQE0fHU/9Q0DvFVh17QTq1sQjXntoJovfRhaPJhG+kvZK3mVAQ==", + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.6.tgz", + "integrity": "sha512-QbLp9XNRfFHUVpSEEcFJYEyxek6Vi82EDIdJj0JvUPqMFdzF93dfzRoEIOos52jWxTG4LwGHLHlWem/3stF5Rg==", "requires": { "@stencil/core": "^2.18.0", - "ionicons": "^6.0.3", + "ionicons": "^6.0.4", "tslib": "^2.1.0" }, "dependencies": { @@ -1095,17 +1095,17 @@ "dev": true }, "ionicons": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.3.tgz", - "integrity": "sha512-kVOWER991EMqLiVShrCSWKMHkgHZP7XfVdyN6YPMuoO33W7pc5CPNVNfR8OMe/I8rYEbaunyBs6dXNYpR6gGZw==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" }, "dependencies": { "@stencil/core": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.0.tgz", - "integrity": "sha512-oKxPYxpH1no0oMFSf8EesuFBcn9hVpoqrpiS2WH0H50RKKL8hhKoxDfn/cNeD12L0Aj7kf6nNtexIllmkYG6lw==" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==" } } }, diff --git a/packages/vue/package.json b/packages/vue/package.json index 070e5dd790..4017a6684d 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/vue", - "version": "6.3.4", + "version": "6.3.6", "description": "Vue specific wrapper for @ionic/core", "scripts": { "prepublishOnly": "npm run build", @@ -60,7 +60,7 @@ "vue-router": "^4.0.16" }, "dependencies": { - "@ionic/core": "^6.3.4", + "@ionic/core": "^6.3.6", "ionicons": "^6.0.2" }, "vetur": { diff --git a/packages/vue/scripts/sync.sh b/packages/vue/scripts/sync.sh index bd31d024b5..1675071ac0 100644 --- a/packages/vue/scripts/sync.sh +++ b/packages/vue/scripts/sync.sh @@ -1,9 +1,9 @@ +#!/bin/bash + +set -e + # Copy core dist rm -rf node_modules/@ionic/core/dist node_modules/@ionic/core/components cp -a ../../core/dist node_modules/@ionic/core/dist cp -a ../../core/components node_modules/@ionic/core/components cp -a ../../core/package.json node_modules/@ionic/core/package.json - -# Copy ionicons -rm -rf node_modules/ionicons -cp -a ../../core/node_modules/ionicons node_modules/ionicons diff --git a/packages/vue/src/components/IonRouterOutlet.ts b/packages/vue/src/components/IonRouterOutlet.ts index 3d8f6a069c..4d48da4261 100644 --- a/packages/vue/src/components/IonRouterOutlet.ts +++ b/packages/vue/src/components/IonRouterOutlet.ts @@ -39,7 +39,6 @@ export const IonRouterOutlet = /*@__PURE__*/ defineComponent({ const ionRouterOutlet = ref(); const id = generateId('ion-router-outlet'); - // TODO types const ionRouter: any = inject('navManager'); const viewStacks: any = inject('viewStacks'); @@ -143,7 +142,6 @@ export const IonRouterOutlet = /*@__PURE__*/ defineComponent({ const customAnimation = enteringViewItem.routerAnimation; if ( animationBuilder === undefined && - // todo check for tab switch customAnimation !== undefined ) { animationBuilder = customAnimation; @@ -198,7 +196,7 @@ export const IonRouterOutlet = /*@__PURE__*/ defineComponent({ const transition = async ( enteringEl: HTMLElement, leavingEl: HTMLElement, - direction: any, // TODO types + direction: any, showGoBack: boolean, progressAnimation: boolean, animationBuilder?: AnimationBuilder @@ -300,7 +298,6 @@ See https://ionicframework.com/docs/vue/navigation#ionpage for more information. if ( animationBuilder === undefined && routerDirection === 'back' && - // todo check for tab switch customAnimation !== undefined ) { animationBuilder = customAnimation; @@ -418,7 +415,6 @@ See https://ionicframework.com/docs/vue/navigation#ionpage for more information. */ onUnmounted(() => viewStacks.clear(id)); - // TODO types const registerIonPage = (viewItem: any, ionPageEl: HTMLElement) => { const oldIonPageEl = viewItem.ionPageElement; @@ -464,7 +460,6 @@ See https://ionicframework.com/docs/vue/navigation#ionpage for more information. return h( 'ion-router-outlet', { ref: 'ionRouterOutlet' }, - // TODO types components && components.map((c: any) => { let props = { ref: c.vueComponentRef, diff --git a/packages/vue/src/ionic-vue.ts b/packages/vue/src/ionic-vue.ts index d16bbcdb48..e97974db8a 100644 --- a/packages/vue/src/ionic-vue.ts +++ b/packages/vue/src/ionic-vue.ts @@ -25,7 +25,7 @@ export const IonicVue: Plugin = { * By default Ionic Framework hides elements that * are not hydrated, but in the CE build there is no * hydration. - * TODO: Remove when all integrations have been + * TODO FW-2797: Remove when all integrations have been * migrated to CE build. */ if (typeof (document as any) !== 'undefined') { diff --git a/packages/vue/src/utils.ts b/packages/vue/src/utils.ts index db46362024..7d0f098036 100644 --- a/packages/vue/src/utils.ts +++ b/packages/vue/src/utils.ts @@ -24,7 +24,6 @@ export const generateId = (type = 'main') => { return (id).toString(); }; -// TODO types export const fireLifecycle = (vueComponent: any, vueInstance: Ref, lifecycle: LIFECYCLE_EVENTS) => { if (vueComponent?.[lifecycle]) { vueComponent[lifecycle].bind(vueInstance?.value)(); diff --git a/packages/vue/test/apps/vue3/package-lock.json b/packages/vue/test/apps/vue3/package-lock.json index dea1ec47b2..06020e65c4 100644 --- a/packages/vue/test/apps/vue3/package-lock.json +++ b/packages/vue/test/apps/vue3/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@ionic/vue": "^6.0.12", "@ionic/vue-router": "^6.0.12", + "ionicons": "^6.0.4", "vue": "^3.2.31", "vue-router": "^4.0.14" }, @@ -329,9 +330,9 @@ "dev": true }, "node_modules/@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==", + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==", "bin": { "stencil": "bin/stencil" }, @@ -3302,11 +3303,11 @@ } }, "node_modules/ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "dependencies": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "node_modules/is-ci": { @@ -5762,9 +5763,9 @@ "dev": true }, "@stencil/core": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.16.1.tgz", - "integrity": "sha512-s/UJp9qxExL3DyQPT70kiuWeb3AdjbUZM+5lEIXn30I2DLcLYPOPXfsoWJODieQywq+3vPiLZeIdkoqjf6jcSw==" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.19.2.tgz", + "integrity": "sha512-TK3sHqyQAACwcac4fWntypFtN9c/y+y9ioZojeCnNDY3dxF33Ax70lL9ZLDyQnWWR+aTh1WFoqB5sYOnZIUKMA==" }, "@tootallnate/once": { "version": "2.0.0", @@ -7850,11 +7851,11 @@ "dev": true }, "ionicons": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.2.tgz", - "integrity": "sha512-AyKfFaUKVoBz4eB8XkU7H1R5HFnVsgq5ijqSdbXC0lES9PDK/J6LUQz6XUJq0mVVQF5k9kczSPOLMW3mszG0mQ==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.0.4.tgz", + "integrity": "sha512-uDNOkBo0OVYV+kIhb51g9mb7r3Z0b+78GPZQBsjXuaetNmrB/mNTqN/uFtO+vxL/rQySKjzk8qeKJI5NWL9Ueg==", "requires": { - "@stencil/core": "~2.16.0" + "@stencil/core": "^2.18.0" } }, "is-ci": { diff --git a/packages/vue/test/apps/vue3/package.json b/packages/vue/test/apps/vue3/package.json index 11cfdec6d9..99697de621 100644 --- a/packages/vue/test/apps/vue3/package.json +++ b/packages/vue/test/apps/vue3/package.json @@ -18,6 +18,7 @@ "dependencies": { "@ionic/vue": "^6.0.12", "@ionic/vue-router": "^6.0.12", + "ionicons": "^6.0.4", "vue": "^3.2.31", "vue-router": "^4.0.14" }, diff --git a/packages/vue/test/base/scripts/sync.sh b/packages/vue/test/base/scripts/sync.sh index 653cd9dc1e..c41ccbc3d0 100644 --- a/packages/vue/test/base/scripts/sync.sh +++ b/packages/vue/test/base/scripts/sync.sh @@ -1,3 +1,7 @@ +#!/bin/bash + +set -e + # Copy ionic vue dist rm -rf node_modules/@ionic/vue/dist node_modules/@ionic/vue/css cp -a ../../../dist node_modules/@ionic/vue/dist @@ -14,11 +18,3 @@ rm -rf node_modules/@ionic/core/dist node_modules/@ionic/core/components cp -a ../../../../../core/package.json node_modules/@ionic/core/package.json cp -a ../../../../../core/dist node_modules/@ionic/core/dist cp -a ../../../../../core/components node_modules/@ionic/core/components - -# Copy stencil -rm -rf node_modules/@stencil/core -cp -a ../../../../../core/node_modules/@stencil/core node_modules/@stencil/core - -# Copy ionicons -rm -rf node_modules/ionicons -cp -a ../../../../../core/node_modules/ionicons node_modules/ionicons