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 (
-