diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index fe8eb929f6..f03ac0d62f 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -11,9 +11,6 @@
# In each subsection folders are ordered first by depth, then alphabetically.
# This should make it easy to add new rules without breaking existing ones.
-# Global owners
-* @ionic-team/framework
-
# Frameworks
## Angular
@@ -56,9 +53,6 @@
/core/src/components/refresher/ @liamdebeasi
/core/src/components/refresher-content/ @liamdebeasi
-# Codeowner should own the source, but everyone should own the tests
-/core/src/components/**/test/ @ionic-team/framework
-
# Utilities
/core/src/utils/animation/ @liamdebeasi
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 6a56927376..ea5f9a729c 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -13,3 +13,4 @@ updates:
- dependency-name: "@stencil/react-output-target"
- dependency-name: "@stencil/sass"
- dependency-name: "@stencil/vue-output-target"
+ - dependency-name: "ionicons"
diff --git a/.github/workflows/actions/build-core/action.yml b/.github/workflows/actions/build-core/action.yml
index 978f7a6782..a5cf54ada6 100644
--- a/.github/workflows/actions/build-core/action.yml
+++ b/.github/workflows/actions/build-core/action.yml
@@ -4,9 +4,6 @@ runs:
using: 'composite'
steps:
- uses: actions/checkout@v3
- with:
- # Checkout the latest commit in this branch
- ref: ${{ github.event.pull_request.head.sha }}
- uses: actions/setup-node@v3
with:
node-version: 16.x
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 3ca6263334..bbe12728ea 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -17,9 +17,6 @@ jobs:
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
test-core-clean-build:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 23baef7783..ffc2ec90a8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,69 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [7.0.10](https://github.com/ionic-team/ionic-framework/compare/v7.0.9...v7.0.10) (2023-05-31)
+
+
+### Bug Fixes
+
+* **angular:** remove invalid z-index style ([#27559](https://github.com/ionic-team/ionic-framework/issues/27559)) ([2ce00cf](https://github.com/ionic-team/ionic-framework/commit/2ce00cf292e01664e02ecaf64af229d6a371c480))
+
+
+### Performance Improvements
+
+* passive event listener for focus visible ([#27568](https://github.com/ionic-team/ionic-framework/issues/27568)) ([e54bf14](https://github.com/ionic-team/ionic-framework/commit/e54bf142c39743913d982a1f1709629b4b034969)), closes [#27566](https://github.com/ionic-team/ionic-framework/issues/27566)
+
+
+
+
+
+## [7.0.9](https://github.com/ionic-team/ionic-framework/compare/v7.0.8...v7.0.9) (2023-05-25)
+
+
+### Bug Fixes
+
+* **core:** handle uncaught native keyboard exceptions ([#27514](https://github.com/ionic-team/ionic-framework/issues/27514)) ([0e7359c](https://github.com/ionic-team/ionic-framework/commit/0e7359c07f53eccb362ff2bf331396c0376ba6f3)), closes [#27503](https://github.com/ionic-team/ionic-framework/issues/27503)
+* **react, vue:** inline modals apply ion-page class ([#27481](https://github.com/ionic-team/ionic-framework/issues/27481)) ([02678f3](https://github.com/ionic-team/ionic-framework/commit/02678f3652be5139cf0c17d0f1260c145acd1a48)), closes [#27470](https://github.com/ionic-team/ionic-framework/issues/27470)
+* **segment:** remove duplicate ripple effect on pointerup ([#27448](https://github.com/ionic-team/ionic-framework/issues/27448)) ([01f9959](https://github.com/ionic-team/ionic-framework/commit/01f99597f71b35a60a70f6d76c1e3e1917978d6d)), closes [#27338](https://github.com/ionic-team/ionic-framework/issues/27338)
+
+
+
+
+
+## [7.0.8](https://github.com/ionic-team/ionic-framework/compare/v7.0.7...v7.0.8) (2023-05-24)
+
+
+### Bug Fixes
+
+* **many:** update form controls (radio, checkbox, toggle, input, select) to have consistent disabled opacity ([#27396](https://github.com/ionic-team/ionic-framework/issues/27396)) ([995a848](https://github.com/ionic-team/ionic-framework/commit/995a8485751bb4058a59c7e958b1200f8f6539fa)), closes [#27184](https://github.com/ionic-team/ionic-framework/issues/27184)
+* **picker-column:** correct RTL direction ([#27460](https://github.com/ionic-team/ionic-framework/issues/27460)) ([d3dd72f](https://github.com/ionic-team/ionic-framework/commit/d3dd72fff67b3b437106e187e75f798653d105e2)), closes [#21205](https://github.com/ionic-team/ionic-framework/issues/21205)
+* **popover:** blur translucent popover in chromium ([#27484](https://github.com/ionic-team/ionic-framework/issues/27484)) ([a59eefb](https://github.com/ionic-team/ionic-framework/commit/a59eefb6a312d338895c46d80320ebe91cccac23)), closes [#22176](https://github.com/ionic-team/ionic-framework/issues/22176)
+
+
+
+
+
+## [7.0.7](https://github.com/ionic-team/ionic-framework/compare/v7.0.6...v7.0.7) (2023-05-17)
+
+
+### Bug Fixes
+
+* **accordion:** state updates if value changes ([#27463](https://github.com/ionic-team/ionic-framework/issues/27463)) ([3cbc592](https://github.com/ionic-team/ionic-framework/commit/3cbc592154a2b76cf63dfef67cb63de94dcec887)), closes [#27461](https://github.com/ionic-team/ionic-framework/issues/27461)
+* **checkbox, radio:** update border colors to match MD2 spec ([#27357](https://github.com/ionic-team/ionic-framework/issues/27357)) ([eabc6f3](https://github.com/ionic-team/ionic-framework/commit/eabc6f357675919dd82bea29a1776c0ca1bf89fd)), closes [#27170](https://github.com/ionic-team/ionic-framework/issues/27170)
+* **datetime-button:** log error if non-datetime instance is passed ([#27456](https://github.com/ionic-team/ionic-framework/issues/27456)) ([7b7e05a](https://github.com/ionic-team/ionic-framework/commit/7b7e05aa697a51ebfac42f96aa9510d4d96336de))
+* **footer, tab-bar:** wait for resize before re-showing ([#27417](https://github.com/ionic-team/ionic-framework/issues/27417)) ([70d9854](https://github.com/ionic-team/ionic-framework/commit/70d9854d8df5259ed715e282a6ca40ca3bea6192)), closes [#25990](https://github.com/ionic-team/ionic-framework/issues/25990)
+* **many:** form controls labels have increased margin ([#27447](https://github.com/ionic-team/ionic-framework/issues/27447)) ([381de0b](https://github.com/ionic-team/ionic-framework/commit/381de0b3d324805161232d8556fffd7022fcd84c)), closes [#27129](https://github.com/ionic-team/ionic-framework/issues/27129)
+* **picker-column:** dynamically change options ([#27359](https://github.com/ionic-team/ionic-framework/issues/27359)) ([7c7fb2b](https://github.com/ionic-team/ionic-framework/commit/7c7fb2b1a3bf35b123716b2f975231ceb01dcc07)), closes [#21763](https://github.com/ionic-team/ionic-framework/issues/21763)
+* **picker-column:** prevSelected is set to the correct value ([#27458](https://github.com/ionic-team/ionic-framework/issues/27458)) ([9dc126d](https://github.com/ionic-team/ionic-framework/commit/9dc126d38727c1ca16a75cfa65daab9a630be678)), closes [#21764](https://github.com/ionic-team/ionic-framework/issues/21764)
+* **select:** floating label covers placeholder when when blurred ([#27446](https://github.com/ionic-team/ionic-framework/issues/27446)) ([921bfae](https://github.com/ionic-team/ionic-framework/commit/921bfae9e68257734a9695cab9245bb335eb88fa)), closes [#27201](https://github.com/ionic-team/ionic-framework/issues/27201)
+* **select:** modern syntax works with forms ([#27480](https://github.com/ionic-team/ionic-framework/issues/27480)) ([13d2d11](https://github.com/ionic-team/ionic-framework/commit/13d2d115d44f109c3ea2a47bcb518c6090126325)), closes [#27478](https://github.com/ionic-team/ionic-framework/issues/27478)
+* **spinner:** allow resizing of dots, bubbles, and circles ([#27424](https://github.com/ionic-team/ionic-framework/issues/27424)) ([e5ae45d](https://github.com/ionic-team/ionic-framework/commit/e5ae45d32fde7328a704a6ffa18940106a069fa2)), closes [#18115](https://github.com/ionic-team/ionic-framework/issues/18115)
+* **tab-button:** use darker text to pass a11y ([#27355](https://github.com/ionic-team/ionic-framework/issues/27355)) ([0b23814](https://github.com/ionic-team/ionic-framework/commit/0b23814e0ba167ee6b2a2e430c47823d312d8c3c))
+
+
+
+
+
## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11)
diff --git a/angular/CHANGELOG.md b/angular/CHANGELOG.md
index c924d46142..6834a8a876 100644
--- a/angular/CHANGELOG.md
+++ b/angular/CHANGELOG.md
@@ -3,6 +3,41 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [7.0.10](https://github.com/ionic-team/ionic-framework/compare/v7.0.9...v7.0.10) (2023-05-31)
+
+
+### Bug Fixes
+
+* **angular:** remove invalid z-index style ([#27559](https://github.com/ionic-team/ionic-framework/issues/27559)) ([2ce00cf](https://github.com/ionic-team/ionic-framework/commit/2ce00cf292e01664e02ecaf64af229d6a371c480))
+
+
+
+
+
+## [7.0.9](https://github.com/ionic-team/ionic-framework/compare/v7.0.8...v7.0.9) (2023-05-25)
+
+**Note:** Version bump only for package @ionic/angular
+
+
+
+
+
+## [7.0.8](https://github.com/ionic-team/ionic-framework/compare/v7.0.7...v7.0.8) (2023-05-24)
+
+**Note:** Version bump only for package @ionic/angular
+
+
+
+
+
+## [7.0.7](https://github.com/ionic-team/ionic-framework/compare/v7.0.6...v7.0.7) (2023-05-17)
+
+**Note:** Version bump only for package @ionic/angular
+
+
+
+
+
## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11)
diff --git a/angular/README.md b/angular/README.md
index b7c530437d..f44f9d1b56 100644
--- a/angular/README.md
+++ b/angular/README.md
@@ -7,10 +7,10 @@ Ionic Angular specific building blocks on top of [@ionic/core](https://www.npmjs
* [Ionic Core Components](https://www.npmjs.com/package/@ionic/core)
* [Ionic Documentation](https://ionicframework.com/docs/)
+* [Ionic Discord](https://ionic.link/discord)
* [Ionic Forum](https://forum.ionicframework.com/)
* [Ionicons](http://ionicons.com/)
* [Stencil](https://stenciljs.com/)
-* [Stencil Worldwide Slack](https://stencil-worldwide.slack.com/)
* [Capacitor](https://capacitor.ionicframework.com/)
diff --git a/angular/package-lock.json b/angular/package-lock.json
index 57ad899bba..c78500ca9f 100644
--- a/angular/package-lock.json
+++ b/angular/package-lock.json
@@ -1,15 +1,15 @@
{
"name": "@ionic/angular",
- "version": "7.0.6",
+ "version": "7.0.10",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/angular",
- "version": "7.0.6",
+ "version": "7.0.10",
"license": "MIT",
"dependencies": {
- "@ionic/core": "^7.0.6",
+ "@ionic/core": "^7.0.10",
"ionicons": "^7.0.0",
"jsonc-parser": "^3.0.0",
"tslib": "^2.3.0"
@@ -1227,9 +1227,9 @@
"dev": true
},
"node_modules/@ionic/core": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz",
- "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==",
+ "version": "7.0.10",
+ "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.10.tgz",
+ "integrity": "sha512-twpnJdS/1XEXISuUGqQ1x4hp24J+8Pl++7syDWLpOG7fFQk/RIYXDPA9/NPY8Fi1jUngnA6ivdSmkFSpFES07Q==",
"dependencies": {
"@stencil/core": "^3.2.2",
"ionicons": "^7.1.0",
@@ -8104,9 +8104,9 @@
"dev": true
},
"@ionic/core": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz",
- "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==",
+ "version": "7.0.10",
+ "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.10.tgz",
+ "integrity": "sha512-twpnJdS/1XEXISuUGqQ1x4hp24J+8Pl++7syDWLpOG7fFQk/RIYXDPA9/NPY8Fi1jUngnA6ivdSmkFSpFES07Q==",
"requires": {
"@stencil/core": "^3.2.2",
"ionicons": "^7.1.0",
diff --git a/angular/package.json b/angular/package.json
index a782870661..bf428ecea8 100644
--- a/angular/package.json
+++ b/angular/package.json
@@ -1,6 +1,6 @@
{
"name": "@ionic/angular",
- "version": "7.0.6",
+ "version": "7.0.10",
"description": "Angular specific wrappers for @ionic/core",
"keywords": [
"ionic",
@@ -47,7 +47,7 @@
}
},
"dependencies": {
- "@ionic/core": "^7.0.6",
+ "@ionic/core": "^7.0.10",
"ionicons": "^7.0.0",
"jsonc-parser": "^3.0.0",
"tslib": "^2.3.0"
diff --git a/angular/src/directives/navigation/ion-tabs.ts b/angular/src/directives/navigation/ion-tabs.ts
index 33a163eefb..4ae93fd6ba 100644
--- a/angular/src/directives/navigation/ion-tabs.ts
+++ b/angular/src/directives/navigation/ion-tabs.ts
@@ -8,7 +8,7 @@ import { StackEvent } from './stack-utils';
@Component({
selector: 'ion-tabs',
- template: `
+ template: `
@@ -29,7 +29,6 @@ import { StackEvent } from './stack-utils';
height: 100%;
contain: layout size style;
- z-index: $z-index-page-container;
}
.tabs-inner {
position: relative;
diff --git a/angular/src/providers/angular-delegate.ts b/angular/src/providers/angular-delegate.ts
index b3a98f3bff..603a646af8 100644
--- a/angular/src/providers/angular-delegate.ts
+++ b/angular/src/providers/angular-delegate.ts
@@ -83,7 +83,8 @@ export class AngularFrameworkDelegate implements FrameworkDelegate {
container,
component,
componentProps,
- cssClasses
+ cssClasses,
+ this.elementReferenceKey
);
resolve(el);
});
@@ -119,7 +120,8 @@ export const attachView = (
container: any,
component: any,
params: any,
- cssClasses: string[] | undefined
+ cssClasses: string[] | undefined,
+ elementReferenceKey: string | undefined
): any => {
/**
* Wraps the injector with a custom injector that
@@ -145,7 +147,23 @@ export const attachView = (
const instance = componentRef.instance;
const hostElement = componentRef.location.nativeElement;
+
if (params) {
+ /**
+ * For modals and popovers, a reference to the component is
+ * added to `params` during the call to attachViewToDom. If
+ * a reference using this name is already set, this means
+ * the app is trying to use the name as a component prop,
+ * which will cause collisions.
+ */
+ if (elementReferenceKey && instance[elementReferenceKey] !== undefined) {
+ console.error(
+ `[Ionic Error]: ${elementReferenceKey} is a reserved property when using ${container.tagName.toLowerCase()}. Rename or remove the "${elementReferenceKey}" property from ${
+ component.name
+ }.`
+ );
+ }
+
Object.assign(instance, params);
}
if (cssClasses) {
diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md
index 444b046bbf..69ea122a38 100644
--- a/core/CHANGELOG.md
+++ b/core/CHANGELOG.md
@@ -3,6 +3,63 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [7.0.10](https://github.com/ionic-team/ionic-framework/compare/v7.0.9...v7.0.10) (2023-05-31)
+
+
+### Performance Improvements
+
+* passive event listener for focus visible ([#27568](https://github.com/ionic-team/ionic-framework/issues/27568)) ([e54bf14](https://github.com/ionic-team/ionic-framework/commit/e54bf142c39743913d982a1f1709629b4b034969)), closes [#27566](https://github.com/ionic-team/ionic-framework/issues/27566)
+
+
+
+
+
+## [7.0.9](https://github.com/ionic-team/ionic-framework/compare/v7.0.8...v7.0.9) (2023-05-25)
+
+
+### Bug Fixes
+
+* **core:** handle uncaught native keyboard exceptions ([#27514](https://github.com/ionic-team/ionic-framework/issues/27514)) ([0e7359c](https://github.com/ionic-team/ionic-framework/commit/0e7359c07f53eccb362ff2bf331396c0376ba6f3)), closes [#27503](https://github.com/ionic-team/ionic-framework/issues/27503)
+* **segment:** remove duplicate ripple effect on pointerup ([#27448](https://github.com/ionic-team/ionic-framework/issues/27448)) ([01f9959](https://github.com/ionic-team/ionic-framework/commit/01f99597f71b35a60a70f6d76c1e3e1917978d6d)), closes [#27338](https://github.com/ionic-team/ionic-framework/issues/27338)
+
+
+
+
+
+## [7.0.8](https://github.com/ionic-team/ionic-framework/compare/v7.0.7...v7.0.8) (2023-05-24)
+
+
+### Bug Fixes
+
+* **many:** update form controls (radio, checkbox, toggle, input, select) to have consistent disabled opacity ([#27396](https://github.com/ionic-team/ionic-framework/issues/27396)) ([995a848](https://github.com/ionic-team/ionic-framework/commit/995a8485751bb4058a59c7e958b1200f8f6539fa)), closes [#27184](https://github.com/ionic-team/ionic-framework/issues/27184)
+* **picker-column:** correct RTL direction ([#27460](https://github.com/ionic-team/ionic-framework/issues/27460)) ([d3dd72f](https://github.com/ionic-team/ionic-framework/commit/d3dd72fff67b3b437106e187e75f798653d105e2)), closes [#21205](https://github.com/ionic-team/ionic-framework/issues/21205)
+* **popover:** blur translucent popover in chromium ([#27484](https://github.com/ionic-team/ionic-framework/issues/27484)) ([a59eefb](https://github.com/ionic-team/ionic-framework/commit/a59eefb6a312d338895c46d80320ebe91cccac23)), closes [#22176](https://github.com/ionic-team/ionic-framework/issues/22176)
+
+
+
+
+
+## [7.0.7](https://github.com/ionic-team/ionic-framework/compare/v7.0.6...v7.0.7) (2023-05-17)
+
+
+### Bug Fixes
+
+* **accordion:** state updates if value changes ([#27463](https://github.com/ionic-team/ionic-framework/issues/27463)) ([3cbc592](https://github.com/ionic-team/ionic-framework/commit/3cbc592154a2b76cf63dfef67cb63de94dcec887)), closes [#27461](https://github.com/ionic-team/ionic-framework/issues/27461)
+* **checkbox, radio:** update border colors to match MD2 spec ([#27357](https://github.com/ionic-team/ionic-framework/issues/27357)) ([eabc6f3](https://github.com/ionic-team/ionic-framework/commit/eabc6f357675919dd82bea29a1776c0ca1bf89fd)), closes [#27170](https://github.com/ionic-team/ionic-framework/issues/27170)
+* **datetime-button:** log error if non-datetime instance is passed ([#27456](https://github.com/ionic-team/ionic-framework/issues/27456)) ([7b7e05a](https://github.com/ionic-team/ionic-framework/commit/7b7e05aa697a51ebfac42f96aa9510d4d96336de))
+* **footer, tab-bar:** wait for resize before re-showing ([#27417](https://github.com/ionic-team/ionic-framework/issues/27417)) ([70d9854](https://github.com/ionic-team/ionic-framework/commit/70d9854d8df5259ed715e282a6ca40ca3bea6192)), closes [#25990](https://github.com/ionic-team/ionic-framework/issues/25990)
+* **many:** form controls labels have increased margin ([#27447](https://github.com/ionic-team/ionic-framework/issues/27447)) ([381de0b](https://github.com/ionic-team/ionic-framework/commit/381de0b3d324805161232d8556fffd7022fcd84c)), closes [#27129](https://github.com/ionic-team/ionic-framework/issues/27129)
+* **picker-column:** dynamically change options ([#27359](https://github.com/ionic-team/ionic-framework/issues/27359)) ([7c7fb2b](https://github.com/ionic-team/ionic-framework/commit/7c7fb2b1a3bf35b123716b2f975231ceb01dcc07)), closes [#21763](https://github.com/ionic-team/ionic-framework/issues/21763)
+* **picker-column:** prevSelected is set to the correct value ([#27458](https://github.com/ionic-team/ionic-framework/issues/27458)) ([9dc126d](https://github.com/ionic-team/ionic-framework/commit/9dc126d38727c1ca16a75cfa65daab9a630be678)), closes [#21764](https://github.com/ionic-team/ionic-framework/issues/21764)
+* **select:** floating label covers placeholder when when blurred ([#27446](https://github.com/ionic-team/ionic-framework/issues/27446)) ([921bfae](https://github.com/ionic-team/ionic-framework/commit/921bfae9e68257734a9695cab9245bb335eb88fa)), closes [#27201](https://github.com/ionic-team/ionic-framework/issues/27201)
+* **select:** modern syntax works with forms ([#27480](https://github.com/ionic-team/ionic-framework/issues/27480)) ([13d2d11](https://github.com/ionic-team/ionic-framework/commit/13d2d115d44f109c3ea2a47bcb518c6090126325)), closes [#27478](https://github.com/ionic-team/ionic-framework/issues/27478)
+* **spinner:** allow resizing of dots, bubbles, and circles ([#27424](https://github.com/ionic-team/ionic-framework/issues/27424)) ([e5ae45d](https://github.com/ionic-team/ionic-framework/commit/e5ae45d32fde7328a704a6ffa18940106a069fa2)), closes [#18115](https://github.com/ionic-team/ionic-framework/issues/18115)
+* **tab-button:** use darker text to pass a11y ([#27355](https://github.com/ionic-team/ionic-framework/issues/27355)) ([0b23814](https://github.com/ionic-team/ionic-framework/commit/0b23814e0ba167ee6b2a2e430c47823d312d8c3c))
+
+
+
+
+
## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11)
diff --git a/core/README.md b/core/README.md
index c16910c4d0..23dbfc1c2f 100644
--- a/core/README.md
+++ b/core/README.md
@@ -101,10 +101,10 @@ const showModal = async () => {
## Related
* [Ionic Documentation](https://ionicframework.com/docs/)
+* [Ionic Discord](https://ionic.link/discord)
* [Ionic Forum](https://forum.ionicframework.com/)
* [Ionicons](http://ionicons.com/)
* [Stencil](https://stenciljs.com/)
-* [Stencil Worldwide Slack](https://stencil-worldwide.slack.com/)
* [Capacitor](https://capacitor.ionicframework.com/)
diff --git a/core/package-lock.json b/core/package-lock.json
index ae59303f60..5c2daaa060 100644
--- a/core/package-lock.json
+++ b/core/package-lock.json
@@ -1,30 +1,30 @@
{
"name": "@ionic/core",
- "version": "7.0.6",
+ "version": "7.0.10",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@ionic/core",
- "version": "7.0.6",
+ "version": "7.0.10",
"license": "MIT",
"dependencies": {
- "@stencil/core": "^3.2.2",
+ "@stencil/core": "^3.3.0",
"ionicons": "^7.1.0",
"tslib": "^2.1.0"
},
"devDependencies": {
- "@axe-core/playwright": "^4.6.1",
+ "@axe-core/playwright": "^4.7.1",
"@ionic/eslint-config": "^0.3.0",
"@ionic/prettier-config": "^2.0.0",
"@jest/core": "^27.5.1",
- "@playwright/test": "^1.33.0",
+ "@playwright/test": "^1.34.1",
"@rollup/plugin-node-resolve": "^8.4.0",
"@rollup/plugin-virtual": "^2.0.3",
- "@stencil/angular-output-target": "^0.6.0",
+ "@stencil/angular-output-target": "^0.7.0",
"@stencil/react-output-target": "^0.5.0",
- "@stencil/sass": "^3.0.2",
- "@stencil/vue-output-target": "^0.8.4",
+ "@stencil/sass": "^3.0.3",
+ "@stencil/vue-output-target": "^0.8.5",
"@types/jest": "^27.5.2",
"@types/node": "^14.6.0",
"@typescript-eslint/eslint-plugin": "^5.17.0",
@@ -53,12 +53,12 @@
"dev": true
},
"node_modules/@axe-core/playwright": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.6.1.tgz",
- "integrity": "sha512-XMKP2OzGfGIYpU9G9FgI2ulyjEXQDP6qtZerOwdQ7YC1w4SFgofK3ogSk0qVoy0QI+q6XWLUJMfMMkUwdTR2dA==",
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.7.1.tgz",
+ "integrity": "sha512-09UDwLChlGiqw9004QJib6Maesy99EOZ9zsLfhBYAt2s5UwufabnD+MoTAmwe+PCv2Jex9k1taeUhebDwIJKqw==",
"dev": true,
"dependencies": {
- "axe-core": "^4.6.3"
+ "axe-core": "^4.7.0"
},
"peerDependencies": {
"playwright": ">= 1.0.0"
@@ -1501,13 +1501,13 @@
}
},
"node_modules/@playwright/test": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.33.0.tgz",
- "integrity": "sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==",
+ "version": "1.34.1",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.34.1.tgz",
+ "integrity": "sha512-hKBpxD79vGkmeqLkJwPBjd4DMUahf1W7ra+83lDNL4JPmLhjITMiy0HoR0WM/PGU6nqnl1cisHc3yKQQgKMxOQ==",
"dev": true,
"dependencies": {
"@types/node": "*",
- "playwright-core": "1.33.0"
+ "playwright-core": "1.34.1"
},
"bin": {
"playwright": "cli.js"
@@ -1585,18 +1585,18 @@
}
},
"node_modules/@stencil/angular-output-target": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-0.6.0.tgz",
- "integrity": "sha512-FqHeRSb125joYzT/jHg3uOz5vKNAg7m3ffI/XXoy2ENC2K9X6NgJp8zuYcqW/o9SlQ8CWuoAv5AiF+tayzDTFA==",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-0.7.0.tgz",
+ "integrity": "sha512-OMK5oQHlMB2MTYMwU28TP1PfjkQWXHnH7f57sWis0XvFPznBtYTHAGCqiCjLM6toPCncEiZYsswZD+rm77QSGQ==",
"dev": true,
"peerDependencies": {
"@stencil/core": "^2.9.0 || ^3.0.0"
}
},
"node_modules/@stencil/core": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@stencil/core/-/core-3.2.2.tgz",
- "integrity": "sha512-wXb9cVWL0T3cTwYLveekdTFCRGx6+9hpVDEXna+N8K8OPoW6xtFAHRLv+LjOM7k59PkA8MG3IinAfV7Y+xa0Hw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@stencil/core/-/core-3.3.0.tgz",
+ "integrity": "sha512-+3hqJ8RmUvxz8FgvMP9lxYJdjb4EnZrkdo6ln5fUqGju62ORS5/Ch9m6OAIjlEn6CbDb5Uf1OdeMjO87DJwIAA==",
"bin": {
"stencil": "bin/stencil"
},
@@ -1615,18 +1615,18 @@
}
},
"node_modules/@stencil/sass": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@stencil/sass/-/sass-3.0.2.tgz",
- "integrity": "sha512-T8hQreosCjZ6yZ7wJgZBrA1ytL4JMluY1dX6S1a/YgXclanvncvk6nGEpxRVVwRAvtkru0F5Qs+oheiL8nifRA==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@stencil/sass/-/sass-3.0.3.tgz",
+ "integrity": "sha512-MnRxCbPji4Wr7Ilu22WlEbf1F0gyRGp617ADib0zx2d46aRg/brYdRrhcn8eaANmEXZgT6s8zGh8QO/9LZHN2A==",
"dev": true,
"peerDependencies": {
"@stencil/core": ">=2.0.0 || >=3.0.0-beta.0"
}
},
"node_modules/@stencil/vue-output-target": {
- "version": "0.8.4",
- "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.8.4.tgz",
- "integrity": "sha512-3iESCce7D/2lNVYGM+ukwW/NLFAfeAOcaMFXaK0R1Ub0mZ2YwL9N1rxr9Y8UGfdUzkpi66XIo0jNm3V9YlZ+Ig==",
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.8.5.tgz",
+ "integrity": "sha512-AOse8WGzdH3lYhw+yQ/MYvobcaSOFd7B/xQ+oWv3GZLZpCw5fw+eOfFv1734mdA/Jjx+kWADlgsZ4w+cmiR+ZQ==",
"dev": true,
"peerDependencies": {
"@stencil/core": "^2.9.0 || ^3.0.0"
@@ -2571,9 +2571,9 @@
}
},
"node_modules/axe-core": {
- "version": "4.6.3",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz",
- "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==",
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.1.tgz",
+ "integrity": "sha512-sCXXUhA+cljomZ3ZAwb8i1p3oOlkABzPy08ZDAoGcYuvtBPlQ1Ytde129ArXyHWDhfeewq7rlx9F+cUx2SSlkg==",
"dev": true,
"engines": {
"node": ">=4"
@@ -8150,14 +8150,14 @@
}
},
"node_modules/playwright": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.33.0.tgz",
- "integrity": "sha512-+zzU3V2TslRX2ETBRgQKsKytYBkJeLZ2xzUj4JohnZnxQnivoUvOvNbRBYWSYykQTO0Y4zb8NwZTYFUO+EpPBQ==",
+ "version": "1.34.1",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.34.1.tgz",
+ "integrity": "sha512-RonTwQifzkCZHsjZKYUKsOJkQAVe1HArnyLcSRrkyDxN46Ytpwki5XzQFdpuv0XD8WtAjs4gI3oMYJiEj5Qo6g==",
"dev": true,
"hasInstallScript": true,
"peer": true,
"dependencies": {
- "playwright-core": "1.33.0"
+ "playwright-core": "1.34.1"
},
"bin": {
"playwright": "cli.js"
@@ -8167,9 +8167,9 @@
}
},
"node_modules/playwright-core": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.33.0.tgz",
- "integrity": "sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==",
+ "version": "1.34.1",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.34.1.tgz",
+ "integrity": "sha512-4Y5hGLoSrnB/BXj2NFKBNWP/bI9uVejTVbso1ZBtkKZ+O2KiVIeCJ3R4c7Cf2PbP7htjLolHXY+mImt2IWOlEg==",
"dev": true,
"bin": {
"playwright": "cli.js"
@@ -10352,12 +10352,12 @@
},
"dependencies": {
"@axe-core/playwright": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.6.1.tgz",
- "integrity": "sha512-XMKP2OzGfGIYpU9G9FgI2ulyjEXQDP6qtZerOwdQ7YC1w4SFgofK3ogSk0qVoy0QI+q6XWLUJMfMMkUwdTR2dA==",
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.7.1.tgz",
+ "integrity": "sha512-09UDwLChlGiqw9004QJib6Maesy99EOZ9zsLfhBYAt2s5UwufabnD+MoTAmwe+PCv2Jex9k1taeUhebDwIJKqw==",
"dev": true,
"requires": {
- "axe-core": "^4.6.3"
+ "axe-core": "^4.7.0"
}
},
"@babel/code-frame": {
@@ -11398,14 +11398,14 @@
}
},
"@playwright/test": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.33.0.tgz",
- "integrity": "sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==",
+ "version": "1.34.1",
+ "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.34.1.tgz",
+ "integrity": "sha512-hKBpxD79vGkmeqLkJwPBjd4DMUahf1W7ra+83lDNL4JPmLhjITMiy0HoR0WM/PGU6nqnl1cisHc3yKQQgKMxOQ==",
"dev": true,
"requires": {
"@types/node": "*",
"fsevents": "2.3.2",
- "playwright-core": "1.33.0"
+ "playwright-core": "1.34.1"
}
},
"@rollup/plugin-node-resolve": {
@@ -11460,16 +11460,16 @@
}
},
"@stencil/angular-output-target": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-0.6.0.tgz",
- "integrity": "sha512-FqHeRSb125joYzT/jHg3uOz5vKNAg7m3ffI/XXoy2ENC2K9X6NgJp8zuYcqW/o9SlQ8CWuoAv5AiF+tayzDTFA==",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-0.7.0.tgz",
+ "integrity": "sha512-OMK5oQHlMB2MTYMwU28TP1PfjkQWXHnH7f57sWis0XvFPznBtYTHAGCqiCjLM6toPCncEiZYsswZD+rm77QSGQ==",
"dev": true,
"requires": {}
},
"@stencil/core": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@stencil/core/-/core-3.2.2.tgz",
- "integrity": "sha512-wXb9cVWL0T3cTwYLveekdTFCRGx6+9hpVDEXna+N8K8OPoW6xtFAHRLv+LjOM7k59PkA8MG3IinAfV7Y+xa0Hw=="
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@stencil/core/-/core-3.3.0.tgz",
+ "integrity": "sha512-+3hqJ8RmUvxz8FgvMP9lxYJdjb4EnZrkdo6ln5fUqGju62ORS5/Ch9m6OAIjlEn6CbDb5Uf1OdeMjO87DJwIAA=="
},
"@stencil/react-output-target": {
"version": "0.5.0",
@@ -11479,16 +11479,16 @@
"requires": {}
},
"@stencil/sass": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@stencil/sass/-/sass-3.0.2.tgz",
- "integrity": "sha512-T8hQreosCjZ6yZ7wJgZBrA1ytL4JMluY1dX6S1a/YgXclanvncvk6nGEpxRVVwRAvtkru0F5Qs+oheiL8nifRA==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@stencil/sass/-/sass-3.0.3.tgz",
+ "integrity": "sha512-MnRxCbPji4Wr7Ilu22WlEbf1F0gyRGp617ADib0zx2d46aRg/brYdRrhcn8eaANmEXZgT6s8zGh8QO/9LZHN2A==",
"dev": true,
"requires": {}
},
"@stencil/vue-output-target": {
- "version": "0.8.4",
- "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.8.4.tgz",
- "integrity": "sha512-3iESCce7D/2lNVYGM+ukwW/NLFAfeAOcaMFXaK0R1Ub0mZ2YwL9N1rxr9Y8UGfdUzkpi66XIo0jNm3V9YlZ+Ig==",
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.8.5.tgz",
+ "integrity": "sha512-AOse8WGzdH3lYhw+yQ/MYvobcaSOFd7B/xQ+oWv3GZLZpCw5fw+eOfFv1734mdA/Jjx+kWADlgsZ4w+cmiR+ZQ==",
"dev": true,
"requires": {}
},
@@ -12144,9 +12144,9 @@
}
},
"axe-core": {
- "version": "4.6.3",
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz",
- "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==",
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.1.tgz",
+ "integrity": "sha512-sCXXUhA+cljomZ3ZAwb8i1p3oOlkABzPy08ZDAoGcYuvtBPlQ1Ytde129ArXyHWDhfeewq7rlx9F+cUx2SSlkg==",
"dev": true
},
"babel-jest": {
@@ -16275,19 +16275,19 @@
}
},
"playwright": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.33.0.tgz",
- "integrity": "sha512-+zzU3V2TslRX2ETBRgQKsKytYBkJeLZ2xzUj4JohnZnxQnivoUvOvNbRBYWSYykQTO0Y4zb8NwZTYFUO+EpPBQ==",
+ "version": "1.34.1",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.34.1.tgz",
+ "integrity": "sha512-RonTwQifzkCZHsjZKYUKsOJkQAVe1HArnyLcSRrkyDxN46Ytpwki5XzQFdpuv0XD8WtAjs4gI3oMYJiEj5Qo6g==",
"dev": true,
"peer": true,
"requires": {
- "playwright-core": "1.33.0"
+ "playwright-core": "1.34.1"
}
},
"playwright-core": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.33.0.tgz",
- "integrity": "sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==",
+ "version": "1.34.1",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.34.1.tgz",
+ "integrity": "sha512-4Y5hGLoSrnB/BXj2NFKBNWP/bI9uVejTVbso1ZBtkKZ+O2KiVIeCJ3R4c7Cf2PbP7htjLolHXY+mImt2IWOlEg==",
"dev": true
},
"postcss": {
diff --git a/core/package.json b/core/package.json
index 0141e812ef..3014518410 100644
--- a/core/package.json
+++ b/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@ionic/core",
- "version": "7.0.6",
+ "version": "7.0.10",
"description": "Base components for Ionic",
"keywords": [
"ionic",
@@ -31,22 +31,22 @@
"loader/"
],
"dependencies": {
- "@stencil/core": "^3.2.2",
+ "@stencil/core": "^3.3.0",
"ionicons": "^7.1.0",
"tslib": "^2.1.0"
},
"devDependencies": {
- "@axe-core/playwright": "^4.6.1",
+ "@axe-core/playwright": "^4.7.1",
"@ionic/eslint-config": "^0.3.0",
"@ionic/prettier-config": "^2.0.0",
"@jest/core": "^27.5.1",
- "@playwright/test": "^1.33.0",
+ "@playwright/test": "^1.34.1",
"@rollup/plugin-node-resolve": "^8.4.0",
"@rollup/plugin-virtual": "^2.0.3",
- "@stencil/angular-output-target": "^0.6.0",
+ "@stencil/angular-output-target": "^0.7.0",
"@stencil/react-output-target": "^0.5.0",
- "@stencil/sass": "^3.0.2",
- "@stencil/vue-output-target": "^0.8.4",
+ "@stencil/sass": "^3.0.3",
+ "@stencil/vue-output-target": "^0.8.5",
"@types/jest": "^27.5.2",
"@types/node": "^14.6.0",
"@typescript-eslint/eslint-plugin": "^5.17.0",
diff --git a/core/src/components/accordion-group/accordion-group.md.scss b/core/src/components/accordion-group/accordion-group.md.scss
index 94ca1250f5..158de18421 100644
--- a/core/src/components/accordion-group/accordion-group.md.scss
+++ b/core/src/components/accordion-group/accordion-group.md.scss
@@ -21,7 +21,7 @@
:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-next) {
@include border-radius($accordion-md-border-radius, $accordion-md-border-radius, null, null);
}
-:host(.accordion-group-expand-inset) ::slotted(ion-accordion):first-of-type,
+
:host(.accordion-group-expand-inset) ::slotted(ion-accordion):first-of-type {
@include margin(0, 0, 0, 0);
}
diff --git a/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Chrome-linux.png
index 66346410cb..d3d0ddfa04 100644
Binary files a/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-rtl-Mobile-Chrome-linux.png
index cfcfd9d90a..8e063f6237 100644
Binary files a/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Chrome-linux.png
index b0d66fd7dc..a18822d27e 100644
Binary files a/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-one-open-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Chrome-linux.png
index 4a9ce49cd6..54e0b3824a 100644
Binary files a/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-two-open-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Chrome-linux.png
index 3170d67f41..f2f747e59b 100644
Binary files a/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/accordion/test/multiple/accordion.e2e.ts-snapshots/accordion-zero-open-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Firefox-linux.png
index 0c1016bba6..bc25f7fbb9 100644
Binary files a/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Firefox-linux.png
index a2709d3d33..2fd24384c7 100644
Binary files a/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/accordion/test/nested/accordion.e2e.ts-snapshots/accordion-parent-disabled-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/alert/test/a11y/alert.e2e.ts b/core/src/components/alert/test/a11y/alert.e2e.ts
index 8514c0fd5e..2eb24a423a 100644
--- a/core/src/components/alert/test/a11y/alert.e2e.ts
+++ b/core/src/components/alert/test/a11y/alert.e2e.ts
@@ -40,7 +40,8 @@ configs({ directions: ['ltr'] }).forEach(({ config, title }) => {
await didPresent.next();
- const results = await new AxeBuilder({ page }).analyze();
+ // TODO FW-4375
+ const results = await new AxeBuilder({ page }).disableRules('color-contrast').analyze();
expect(results.violations).toEqual([]);
});
diff --git a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-ios-rtl-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-ios-rtl-Mobile-Safari-linux.png
index 66974b0f6f..94344869ee 100644
Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-checkbox-ios-rtl-Mobile-Safari-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 bd4742a9f3..3147a4ec86 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-radio-ios-rtl-Mobile-Safari-linux.png b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-ios-rtl-Mobile-Safari-linux.png
index 46b2d29ad8..a5893462b2 100644
Binary files a/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/alert/test/basic/alert.e2e.ts-snapshots/alert-radio-ios-rtl-Mobile-Safari-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 67347f700b..c06f041442 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/breadcrumbs/test/basic/breadcrumbs.e2e.ts-snapshots/breadcrumb-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/breadcrumbs/test/basic/breadcrumbs.e2e.ts-snapshots/breadcrumb-diff-md-ltr-Mobile-Chrome-linux.png
index ebec1f535d..429264f767 100644
Binary files a/core/src/components/breadcrumbs/test/basic/breadcrumbs.e2e.ts-snapshots/breadcrumb-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/breadcrumbs/test/basic/breadcrumbs.e2e.ts-snapshots/breadcrumb-diff-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/breadcrumbs/test/basic/breadcrumbs.e2e.ts-snapshots/breadcrumb-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/breadcrumbs/test/basic/breadcrumbs.e2e.ts-snapshots/breadcrumb-diff-md-rtl-Mobile-Chrome-linux.png
index a21cad79b1..a6a94e4e67 100644
Binary files a/core/src/components/breadcrumbs/test/basic/breadcrumbs.e2e.ts-snapshots/breadcrumb-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/breadcrumbs/test/basic/breadcrumbs.e2e.ts-snapshots/breadcrumb-diff-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.ts-snapshots/breadcrumb-collapsed-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.ts-snapshots/breadcrumb-collapsed-diff-ios-rtl-Mobile-Safari-linux.png
index 557f18b88f..3123800118 100644
Binary files a/core/src/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.ts-snapshots/breadcrumb-collapsed-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.ts-snapshots/breadcrumb-collapsed-diff-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/card/test/basic/card.e2e.ts-snapshots/card-no-content-or-header-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/card/test/basic/card.e2e.ts-snapshots/card-no-content-or-header-ios-ltr-Mobile-Chrome-linux.png
index 00ab65d8cc..a6f55c42bf 100644
Binary files a/core/src/components/card/test/basic/card.e2e.ts-snapshots/card-no-content-or-header-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/card/test/basic/card.e2e.ts-snapshots/card-no-content-or-header-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/checkbox/checkbox.ios.scss b/core/src/components/checkbox/checkbox.ios.scss
index cb45383d59..37d97eb05f 100644
--- a/core/src/components/checkbox/checkbox.ios.scss
+++ b/core/src/components/checkbox/checkbox.ios.scss
@@ -21,6 +21,9 @@
// iOS Checkbox: Disabled
// -----------------------------------------
+// The checkbox and label should use the
+// same opacity and match the other form
+// controls
:host(.checkbox-disabled) {
opacity: $checkbox-ios-disabled-opacity;
diff --git a/core/src/components/checkbox/checkbox.ios.vars.scss b/core/src/components/checkbox/checkbox.ios.vars.scss
index 6f322ed66e..adc85f71d7 100644
--- a/core/src/components/checkbox/checkbox.ios.vars.scss
+++ b/core/src/components/checkbox/checkbox.ios.vars.scss
@@ -54,7 +54,7 @@ $checkbox-ios-checkmark-width: math.div($checkbox-ios-icon-size, 6) +
$checkbox-ios-checkmark-height: $checkbox-ios-icon-size * 0.5 !default;
/// @prop - Opacity of the disabled checkbox
-$checkbox-ios-disabled-opacity: .3 !default;
+$checkbox-ios-disabled-opacity: $form-control-ios-disabled-opacity !default;
/// @prop - Margin top of the left checkbox item
$checkbox-ios-item-start-margin-top: 8px !default;
diff --git a/core/src/components/checkbox/checkbox.md.scss b/core/src/components/checkbox/checkbox.md.scss
index 3288a17bf0..5b7b59470d 100644
--- a/core/src/components/checkbox/checkbox.md.scss
+++ b/core/src/components/checkbox/checkbox.md.scss
@@ -40,11 +40,19 @@
// Material Design Checkbox: Disabled
// --------------------------------------------------------
+// The checkbox itself should use the disabled
+// opacity set by its spec, while the label
+// should match the other form controls
-:host(.checkbox-disabled) {
+:host(.legacy-checkbox.checkbox-disabled),
+:host(.checkbox-disabled) .label-text-wrapper {
opacity: $checkbox-md-disabled-opacity;
}
+:host(.checkbox-disabled) .native-wrapper {
+ opacity: $checkbox-md-icon-disabled-opacity;
+}
+
// Material Design Checkbox Within An Item
// TODO(FW-3100): remove this
diff --git a/core/src/components/checkbox/checkbox.md.vars.scss b/core/src/components/checkbox/checkbox.md.vars.scss
index 6e79d3f6fb..8c750fd566 100644
--- a/core/src/components/checkbox/checkbox.md.vars.scss
+++ b/core/src/components/checkbox/checkbox.md.vars.scss
@@ -4,8 +4,8 @@
// Material Design Checkbox
// --------------------------------------------------
-/// @prop - Opacity of the disabled checkbox
-$checkbox-md-disabled-opacity: .3 !default;
+/// @prop - Opacity of the disabled checkbox label
+$checkbox-md-disabled-opacity: $form-control-md-disabled-opacity !default;
/// @prop - Background color of the checkbox icon when off
$checkbox-md-icon-background-color-off: $item-md-background !default;
@@ -72,3 +72,12 @@ $checkbox-md-item-end-margin-bottom: $checkbox-md-item-end-margin-top !defau
/// @prop - Margin start of the end checkbox item
$checkbox-md-item-end-margin-start: 0 !default;
+
+/// @prop - Opacity of the disabled checkbox
+/// This value is used because the checkbox color is set to
+/// `rgb(0, 0, 0, 0.60)` when enabled and we need it to be
+/// `rgb(0, 0, 0, 0.38)` when disabled but the disabled
+/// opacity is applied on top of the transparent color so
+/// this opacity gets us the equivalent of applying `0.38`
+/// on top of an opaque checkbox `rgb(0, 0, 0, 1.0)`
+$checkbox-md-icon-disabled-opacity: 0.63 !default;
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts b/core/src/components/checkbox/test/basic/checkbox.e2e.ts
index e67f48ccda..83d9c2858e 100644
--- a/core/src/components/checkbox/test/basic/checkbox.e2e.ts
+++ b/core/src/components/checkbox/test/basic/checkbox.e2e.ts
@@ -3,42 +3,6 @@ import { configs, test } from '@utils/test/playwright';
configs().forEach(({ title, screenshot, config }) => {
test.describe(title('checkbox: basic visual tests'), () => {
- test('should render unchecked checkbox correctly', async ({ page }) => {
- await page.setContent(
- `
- Unchecked
- `,
- config
- );
-
- const checkbox = page.locator('ion-checkbox');
- await expect(checkbox).toHaveScreenshot(screenshot(`checkbox-unchecked`));
- });
-
- test('should render checked checkbox correctly', async ({ page }) => {
- await page.setContent(
- `
- Checked
- `,
- config
- );
-
- const checkbox = page.locator('ion-checkbox');
- await expect(checkbox).toHaveScreenshot(screenshot(`checkbox-checked`));
- });
-
- test('should render disabled checkbox correctly', async ({ page }) => {
- await page.setContent(
- `
- Disabled
- `,
- config
- );
-
- const checkbox = page.locator('ion-checkbox');
- await expect(checkbox).toHaveScreenshot(screenshot(`checkbox-disabled`));
- });
-
test('should render custom checkmark-width correctly', async ({ page }) => {
await page.setContent(
`
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Chrome-linux.png
deleted file mode 100644
index 73b0cc4a8e..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Firefox-linux.png
deleted file mode 100644
index c679862437..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Safari-linux.png
deleted file mode 100644
index bd203a2b5d..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-rtl-Mobile-Chrome-linux.png
deleted file mode 100644
index 1d612229c1..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-rtl-Mobile-Firefox-linux.png
deleted file mode 100644
index 6a11c8fe0a..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-rtl-Mobile-Safari-linux.png
deleted file mode 100644
index b11b304d18..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-ios-rtl-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Chrome-linux.png
deleted file mode 100644
index 8d962db40e..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Firefox-linux.png
deleted file mode 100644
index ab01127c68..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Safari-linux.png
deleted file mode 100644
index 31a1c2e14a..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-rtl-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-rtl-Mobile-Chrome-linux.png
deleted file mode 100644
index a1d703b3a1..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-rtl-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-rtl-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-rtl-Mobile-Firefox-linux.png
deleted file mode 100644
index 2e21e32cc7..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-rtl-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-rtl-Mobile-Safari-linux.png
deleted file mode 100644
index 0741ac3c1c..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-checked-md-rtl-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Chrome-linux.png
deleted file mode 100644
index a24cf5ffbf..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Firefox-linux.png
deleted file mode 100644
index 800ef922d3..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Safari-linux.png
deleted file mode 100644
index 0afc1d0177..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-rtl-Mobile-Chrome-linux.png
deleted file mode 100644
index cc2563a3c4..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-rtl-Mobile-Firefox-linux.png
deleted file mode 100644
index eaa03cb9c3..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-rtl-Mobile-Safari-linux.png
deleted file mode 100644
index 01cf99935d..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-rtl-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Chrome-linux.png
deleted file mode 100644
index c62991e85d..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Firefox-linux.png
deleted file mode 100644
index 44f00b5fa6..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Safari-linux.png
deleted file mode 100644
index 43c154b13e..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-rtl-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-rtl-Mobile-Chrome-linux.png
deleted file mode 100644
index 3b81d903da..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-rtl-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-rtl-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-rtl-Mobile-Firefox-linux.png
deleted file mode 100644
index d3aa1c6506..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-rtl-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-rtl-Mobile-Safari-linux.png
deleted file mode 100644
index 2ed1e730a9..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-disabled-md-rtl-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Chrome-linux.png
deleted file mode 100644
index e3457321e3..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Firefox-linux.png
deleted file mode 100644
index af3535cb55..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Safari-linux.png
deleted file mode 100644
index 3cc5cd966a..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-rtl-Mobile-Chrome-linux.png
deleted file mode 100644
index 033af28eb3..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-rtl-Mobile-Firefox-linux.png
deleted file mode 100644
index ab164e05f6..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-rtl-Mobile-Safari-linux.png
deleted file mode 100644
index fd56b629bd..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-rtl-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Chrome-linux.png
deleted file mode 100644
index d1600c728b..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Firefox-linux.png
deleted file mode 100644
index 8718fb1269..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Safari-linux.png
deleted file mode 100644
index 4b3e35f880..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-rtl-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-rtl-Mobile-Chrome-linux.png
deleted file mode 100644
index acd66dc20d..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-rtl-Mobile-Chrome-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-rtl-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-rtl-Mobile-Firefox-linux.png
deleted file mode 100644
index 7041f25ecc..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-rtl-Mobile-Firefox-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-rtl-Mobile-Safari-linux.png
deleted file mode 100644
index 9ced1f05ff..0000000000
Binary files a/core/src/components/checkbox/test/basic/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-rtl-Mobile-Safari-linux.png and /dev/null differ
diff --git a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png
index f407c37ce6..960f8bef75 100644
Binary files a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png
index 79aa5443ae..c1391b4837 100644
Binary files a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png and b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png
index fc87973882..27424a8b27 100644
Binary files a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png
index dcb3d0d09a..b566f54e30 100644
Binary files a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png and b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png
index e557ef5545..ce8cc22239 100644
Binary files a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png
index 9f9d2f0716..94bd4d3e33 100644
Binary files a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png and b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-long-label-ios-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-long-label-ios-rtl-Mobile-Safari-linux.png
index 3561c27d77..513bd5b31d 100644
Binary files a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-long-label-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-long-label-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-long-label-md-rtl-Mobile-Safari-linux.png b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-long-label-md-rtl-Mobile-Safari-linux.png
index 46f3322ae9..99b552763d 100644
Binary files a/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-long-label-md-rtl-Mobile-Safari-linux.png and b/core/src/components/checkbox/test/label/checkbox.e2e.ts-snapshots/checkbox-long-label-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts b/core/src/components/checkbox/test/states/checkbox.e2e.ts
new file mode 100644
index 0000000000..efd20d5937
--- /dev/null
+++ b/core/src/components/checkbox/test/states/checkbox.e2e.ts
@@ -0,0 +1,54 @@
+import { expect } from '@playwright/test';
+import { configs, test } from '@utils/test/playwright';
+
+configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
+ test.describe(title('checkbox: states'), () => {
+ test('should render disabled checkbox correctly', async ({ page }) => {
+ await page.setContent(
+ `
+ Label
+ `,
+ config
+ );
+
+ const checkbox = page.locator('ion-checkbox');
+ expect(await checkbox.screenshot()).toMatchSnapshot(screenshot(`checkbox-disabled`));
+ });
+
+ test('should render disabled checked checkbox correctly', async ({ page }) => {
+ await page.setContent(
+ `
+ Label
+ `,
+ config
+ );
+
+ const checkbox = page.locator('ion-checkbox');
+ expect(await checkbox.screenshot()).toMatchSnapshot(screenshot(`checkbox-checked-disabled`));
+ });
+
+ test('should render checked checkbox correctly', async ({ page }) => {
+ await page.setContent(
+ `
+ Label
+ `,
+ config
+ );
+
+ const checkbox = page.locator('ion-checkbox');
+ expect(await checkbox.screenshot()).toMatchSnapshot(screenshot(`checkbox-checked`));
+ });
+
+ test('should render unchecked checkbox correctly', async ({ page }) => {
+ await page.setContent(
+ `
+ Label
+ `,
+ config
+ );
+
+ const checkbox = page.locator('ion-checkbox');
+ expect(await checkbox.screenshot()).toMatchSnapshot(screenshot(`checkbox-unchecked`));
+ });
+ });
+});
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..7b9ad2267e
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..7de86af622
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..769c256127
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..9898542c6d
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..0e56510bd4
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..80d71eccfc
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-disabled-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..2fb23d31b1
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..a5bd3a3983
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..766ebcc006
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..8d2ce81791
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..388a43165d
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..90fabce7c5
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-checked-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..29c7f63b9d
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..06eb80ee6a
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..73db033888
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..44c90a3b4c
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..75c1279ae0
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..6f45a7796c
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-disabled-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..63ed0223f9
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..70c34de496
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..f965e29192
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..0aab71a995
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..fe852f366e
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..08c8e750d2
Binary files /dev/null and b/core/src/components/checkbox/test/states/checkbox.e2e.ts-snapshots/checkbox-unchecked-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/checkbox/test/states/index.html b/core/src/components/checkbox/test/states/index.html
new file mode 100644
index 0000000000..347aa4c305
--- /dev/null
+++ b/core/src/components/checkbox/test/states/index.html
@@ -0,0 +1,78 @@
+
+
+
+
+ Checkbox - States
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Checkbox - States
+
+
+
+
+
+
+
Unchecked
+ Enable Notifications
+
+
+
+
Checked
+ Enable Notifications
+
+
+
+
Disabled, Unchecked
+ Enable Notifications
+
+
+
+
Disabled, Checked
+ Enable Notifications
+
+
+
+
+
+
diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts
index 6da78ca6db..9d9f2cf24b 100644
--- a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts
+++ b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts
@@ -16,36 +16,36 @@ configs().forEach(({ title, screenshot, config }) => {
});
});
- // TODO FW-4110
- test.skip('should not have visual regressions for date wheel', async ({ page }) => {
+ test('should not have visual regressions for date wheel', async ({ page }) => {
await page.setContent(
`
`,
config
);
+ await page.waitForSelector('.datetime-ready');
await expect(page).toHaveScreenshot(screenshot(`datetime-wheel-date-diff`));
});
- // TODO FW-4110
- test.skip('should not have visual regressions for date-time wheel', async ({ page }) => {
+ test('should not have visual regressions for date-time wheel', async ({ page }) => {
await page.setContent(
`
`,
config
);
+ await page.waitForSelector('.datetime-ready');
await expect(page).toHaveScreenshot(screenshot(`datetime-wheel-date-time-diff`));
});
- // TODO FW-4110
- test.skip('should not have visual regressions for time-date wheel', async ({ page }) => {
+ test('should not have visual regressions for time-date wheel', async ({ page }) => {
await page.setContent(
`
`,
config
);
+ await page.waitForSelector('.datetime-ready');
await expect(page).toHaveScreenshot(screenshot(`datetime-wheel-time-date-diff`));
});
diff --git a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-basic-ios-rtl-Mobile-Safari-linux.png b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-basic-ios-rtl-Mobile-Safari-linux.png
index 0c3cf73ae7..2197470efc 100644
Binary files a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-basic-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-basic-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-ltr-Mobile-Chrome-linux.png
index 910350d962..a5a180e190 100644
Binary files a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Chrome-linux.png
index 16dc6c9eeb..ddd85b5628 100644
Binary files a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Safari-linux.png b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Safari-linux.png
index 3fa6e4375a..3d05b705dd 100644
Binary files a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-md-ltr-Mobile-Chrome-linux.png b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-md-ltr-Mobile-Chrome-linux.png
index bd9be82546..a10145c4aa 100644
Binary files a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-md-rtl-Mobile-Chrome-linux.png b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-md-rtl-Mobile-Chrome-linux.png
index 619bbd29a7..43e4c908cf 100644
Binary files a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/fab/test/states/fab.e2e.ts-snapshots/fab-states-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/fab/test/states/fab.e2e.ts-snapshots/fab-states-ios-ltr-Mobile-Chrome-linux.png
index 0964aa6bd1..322ffa47c8 100644
Binary files a/core/src/components/fab/test/states/fab.e2e.ts-snapshots/fab-states-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/fab/test/states/fab.e2e.ts-snapshots/fab-states-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/fab/test/translucent/fab.e2e.ts-snapshots/fab-translucent-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/fab/test/translucent/fab.e2e.ts-snapshots/fab-translucent-ios-ltr-Mobile-Chrome-linux.png
index 47c11fc890..b46d013511 100644
Binary files a/core/src/components/fab/test/translucent/fab.e2e.ts-snapshots/fab-translucent-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/fab/test/translucent/fab.e2e.ts-snapshots/fab-translucent-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/footer/footer.tsx b/core/src/components/footer/footer.tsx
index e2770884d8..e857f9afda 100644
--- a/core/src/components/footer/footer.tsx
+++ b/core/src/components/footer/footer.tsx
@@ -51,8 +51,17 @@ export class Footer implements ComponentInterface {
this.checkCollapsibleFooter();
}
- connectedCallback() {
- this.keyboardCtrl = createKeyboardController((keyboardOpen) => {
+ async connectedCallback() {
+ this.keyboardCtrl = await createKeyboardController(async (keyboardOpen, waitForResize) => {
+ /**
+ * If the keyboard is hiding, then we need to wait
+ * for the webview to resize. Otherwise, the footer
+ * will flicker before the webview resizes.
+ */
+ if (keyboardOpen === false && waitForResize !== undefined) {
+ await waitForResize;
+ }
+
this.keyboardVisible = keyboardOpen; // trigger re-render by updating state
});
}
diff --git a/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-flip-md-ltr-Mobile-Chrome-linux.png b/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-flip-md-ltr-Mobile-Chrome-linux.png
index 38df343ca1..ede70e7d90 100644
Binary files a/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-flip-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-flip-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-flip-md-rtl-Mobile-Chrome-linux.png b/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-flip-md-rtl-Mobile-Chrome-linux.png
index 2548c0e7da..cc454aee66 100644
Binary files a/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-flip-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-flip-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-no-flip-md-ltr-Mobile-Chrome-linux.png b/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-no-flip-md-ltr-Mobile-Chrome-linux.png
index 38df343ca1..ede70e7d90 100644
Binary files a/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-no-flip-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-no-flip-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-no-flip-md-rtl-Mobile-Chrome-linux.png b/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-no-flip-md-rtl-Mobile-Chrome-linux.png
index 38df343ca1..ede70e7d90 100644
Binary files a/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-no-flip-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/icon/test/dir/icon.e2e.ts-snapshots/icon-no-flip-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/input/input.ios.scss b/core/src/components/input/input.ios.scss
index 76291d92cc..e52fb443c6 100644
--- a/core/src/components/input/input.ios.scss
+++ b/core/src/components/input/input.ios.scss
@@ -44,3 +44,14 @@
:host(.input-label-placement-stacked) {
min-height: 56px;
}
+
+
+// Input - Disabled
+// ----------------------------------------------------------------
+// The input, label, helper text, char counter and placeholder
+// should use the same opacity and match the other form controls
+
+:host(.legacy-input) .native-input[disabled],
+:host(.input-disabled) {
+ opacity: #{$input-ios-disabled-opacity};
+}
diff --git a/core/src/components/input/input.ios.vars.scss b/core/src/components/input/input.ios.vars.scss
index eca1b4197b..46b35176f7 100644
--- a/core/src/components/input/input.ios.vars.scss
+++ b/core/src/components/input/input.ios.vars.scss
@@ -72,3 +72,6 @@ $input-ios-highlight-color-valid: ion-color(success, base) !default;
/// @prop - Color of the input highlight when invalid
$input-ios-highlight-color-invalid: ion-color(danger, base) !default;
+
+/// @prop - The opacity of the input text, label, helper text, char counter and placeholder of a disabled input
+$input-ios-disabled-opacity: $form-control-ios-disabled-opacity !default;
diff --git a/core/src/components/input/input.md.scss b/core/src/components/input/input.md.scss
index 29e51842a9..46241740e0 100644
--- a/core/src/components/input/input.md.scss
+++ b/core/src/components/input/input.md.scss
@@ -36,6 +36,9 @@
// Input - Disabled
// ----------------------------------------------------------------
+// The input, label, helper text, char counter and placeholder
+// should use the same opacity and match the other form controls
+
:host(.legacy-input) .native-input[disabled],
:host(.input-disabled) {
opacity: #{$input-md-disabled-opacity};
@@ -43,6 +46,7 @@
// Input Bottom
// ----------------------------------------------------------------
+
/**
* If the input has a validity state, the
* border and label should reflect that as a color.
diff --git a/core/src/components/input/input.md.vars.scss b/core/src/components/input/input.md.vars.scss
index 06aacfe6af..e52e24bc0d 100644
--- a/core/src/components/input/input.md.vars.scss
+++ b/core/src/components/input/input.md.vars.scss
@@ -70,7 +70,5 @@ $input-md-inset-margin-start: $item-md-padding-start !default;
/// @prop - The amount of whitespace to display on either side of the floating label
$input-md-floating-label-padding: 4px !default;
-/// @prop - The disabled opacity of the input text, the label, helper text, char counter and placeholder of a disabled input.
-/// This value comes from the Material Design spec:
-/// - https://github.com/material-components/material-web/pull/549
-$input-md-disabled-opacity: 0.37 !default;
+/// @prop - The opacity of the input text, label, helper text, char counter and placeholder of a disabled input
+$input-md-disabled-opacity: $form-control-md-disabled-opacity !default;
diff --git a/core/src/components/input/input.scss b/core/src/components/input/input.scss
index 2dbcf1e408..ab0cf76b37 100644
--- a/core/src/components/input/input.scss
+++ b/core/src/components/input/input.scss
@@ -161,13 +161,6 @@
}
}
-
-:host(.legacy-input) .native-input[disabled],
-:host(.input-disabled) {
- opacity: 0.4;
-}
-
-
// Input Cover: Unfocused
// --------------------------------------------------
// The input cover is the div that actually receives the
@@ -193,7 +186,6 @@
opacity: 1;
}
-
// Clear Input Icon
// --------------------------------------------------
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-end-long-label-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-end-long-label-ios-rtl-Mobile-Safari-linux.png
index 8271968604..7b49bc8636 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-end-long-label-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-end-long-label-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-end-long-label-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-end-long-label-md-rtl-Mobile-Safari-linux.png
index a4db99f94e..40759ce6df 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-end-long-label-md-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-end-long-label-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-fixed-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-fixed-md-rtl-Mobile-Safari-linux.png
index 0450a8fc71..8b3f3ebc42 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-fixed-md-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-fixed-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-ios-rtl-Mobile-Safari-linux.png
index 9763d8dca9..aa31296db2 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-md-rtl-Mobile-Safari-linux.png
index 139efa081f..9b9ee68111 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-md-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-outline-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-outline-md-rtl-Mobile-Safari-linux.png
index 1bee14ddc3..bba87baa1c 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-outline-md-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-outline-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-solid-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-solid-md-rtl-Mobile-Safari-linux.png
index 1eabb69814..aeed770e4b 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-solid-md-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-floating-long-label-solid-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-stacked-long-label-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-stacked-long-label-ios-rtl-Mobile-Safari-linux.png
index 9763d8dca9..aa31296db2 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-stacked-long-label-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-stacked-long-label-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-stacked-long-label-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-stacked-long-label-md-rtl-Mobile-Safari-linux.png
index 139efa081f..9b9ee68111 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-stacked-long-label-md-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-stacked-long-label-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-start-long-label-ios-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-start-long-label-ios-rtl-Mobile-Safari-linux.png
index ee0758e49d..df285daf58 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-start-long-label-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-start-long-label-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-start-long-label-md-rtl-Mobile-Safari-linux.png b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-start-long-label-md-rtl-Mobile-Safari-linux.png
index 57068e3163..e8c47288c9 100644
Binary files a/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-start-long-label-md-rtl-Mobile-Safari-linux.png and b/core/src/components/input/test/label-placement/input.e2e.ts-snapshots/input-placement-start-long-label-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-ltr-Mobile-Chrome-linux.png
index 5a6c508653..5ec704a523 100644
Binary files a/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Chrome-linux.png
index 9719ef7e9e..47e6d1c280 100644
Binary files a/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Safari-linux.png
index d67ee96d41..0788034530 100644
Binary files a/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-md-rtl-Mobile-Safari-linux.png
index a57972dc4b..46fbe59668 100644
Binary files a/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/alignment/item.e2e.ts-snapshots/item-alignment-diff-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/basic/item.e2e.ts-snapshots/item-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/basic/item.e2e.ts-snapshots/item-diff-ios-rtl-Mobile-Safari-linux.png
index 8cac1c651f..15d421905f 100644
Binary files a/core/src/components/item/test/basic/item.e2e.ts-snapshots/item-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/basic/item.e2e.ts-snapshots/item-diff-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/basic/item.e2e.ts-snapshots/item-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/basic/item.e2e.ts-snapshots/item-diff-md-rtl-Mobile-Safari-linux.png
index f0f38a7a75..a9f0299738 100644
Binary files a/core/src/components/item/test/basic/item.e2e.ts-snapshots/item-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/basic/item.e2e.ts-snapshots/item-diff-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-ios-rtl-Mobile-Safari-linux.png
index cfee9665cd..3a104de5da 100644
Binary files a/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-ltr-Mobile-Chrome-linux.png
index d74e9bbfa2..d635a3b288 100644
Binary files a/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-rtl-Mobile-Chrome-linux.png
index a36f82d6f5..dab28f118f 100644
Binary files a/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-rtl-Mobile-Safari-linux.png
index 23a34b9a99..2cb48fba02 100644
Binary files a/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/buttons/item.e2e.ts-snapshots/item-buttons-diff-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/disabled/index.html b/core/src/components/item/test/disabled/index.html
index 91e14fb24c..3c653f134c 100644
--- a/core/src/components/item/test/disabled/index.html
+++ b/core/src/components/item/test/disabled/index.html
@@ -55,6 +55,10 @@
+
+
+
+
Disabled Toggle
@@ -63,6 +67,12 @@
Disabled Checkbox
+
+
+ Disabled Radio
+
+
+
Disabled Range
diff --git a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Chrome-linux.png
index 7664d666b1..e763e7982e 100644
Binary files a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Firefox-linux.png
index 8a61faa707..12df8381eb 100644
Binary files a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Safari-linux.png
index c26d5201a0..73e2c433c0 100644
Binary files a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png
index b8d604ae39..6dd27b5be0 100644
Binary files a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png
index a21321ad29..a3832144c4 100644
Binary files a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png
index d9ca64c71e..65e25dbb5e 100644
Binary files a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-ios-ltr-Mobile-Chrome-linux.png
index 9995736019..add6b828d2 100644
Binary files a/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-ios-rtl-Mobile-Chrome-linux.png
index eeb6a575cb..2c53c983d6 100644
Binary files a/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-md-ltr-Mobile-Chrome-linux.png
index 59ceebba2d..29bad13a44 100644
Binary files a/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-md-rtl-Mobile-Chrome-linux.png
index 240610e30c..f0e81f7ced 100644
Binary files a/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/dividers/item.e2e.ts-snapshots/item-dividers-diff-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-ltr-Mobile-Chrome-linux.png
index 2e2f90ba5f..0a6715da71 100644
Binary files a/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-rtl-Mobile-Chrome-linux.png
index 0663b6fad8..d29d8367e8 100644
Binary files a/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-rtl-Mobile-Safari-linux.png
index 8bf2093cdd..bd77316c1a 100644
Binary files a/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-md-rtl-Mobile-Safari-linux.png
index 0cc200b6a0..9fa873e320 100644
Binary files a/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/icons/item.e2e.ts-snapshots/item-icons-diff-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/images/item.e2e.ts-snapshots/item-images-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/images/item.e2e.ts-snapshots/item-images-diff-ios-rtl-Mobile-Safari-linux.png
index 15d8331401..b0c7a1e81f 100644
Binary files a/core/src/components/item/test/images/item.e2e.ts-snapshots/item-images-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/images/item.e2e.ts-snapshots/item-images-diff-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Chrome-linux.png
index eb0ddf66f3..e09bb8165f 100644
Binary files a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Firefox-linux.png
index a86b75af94..ebca29ab21 100644
Binary files a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Safari-linux.png
index d74a8fa25e..67dc173537 100644
Binary files a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-ltr-Mobile-Chrome-linux.png
index c8dd332d5f..67ae11c34d 100644
Binary files a/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Chrome-linux.png
index 6695c22473..11199791ab 100644
Binary files a/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Safari-linux.png
index 1665b93af8..3755294ac5 100644
Binary files a/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-md-rtl-Mobile-Safari-linux.png
index 7c43091f4d..894b1112b2 100644
Binary files a/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/legacy/alignment/item.e2e.ts-snapshots/item-alignment-diff-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/index.html b/core/src/components/item/test/legacy/disabled/index.html
index a728328928..7378c9c84b 100644
--- a/core/src/components/item/test/legacy/disabled/index.html
+++ b/core/src/components/item/test/legacy/disabled/index.html
@@ -57,6 +57,11 @@
+
+ Disabled Textarea
+
+
+
Disabled Toggle
@@ -67,6 +72,13 @@
+
+
+ Disabled Radio
+
+
+
+
Disabled Range
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Chrome-linux.png
index bfbbd7762d..a39ded2697 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Firefox-linux.png
index 784f4c4160..51501d2b3f 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Safari-linux.png
index 359ba33681..9b643bcde6 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Chrome-linux.png
index 4b47b30be4..634e0a0942 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Firefox-linux.png
index 3a4b76c5f8..43949a22a2 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Safari-linux.png
index 64cb2c49d9..e93f0f81b4 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png
index 8070a4cfac..360f3ce4f3 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png
index 4e0e6542ff..b85c5ec44b 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png
index 77402b6db6..dc6bac1231 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Chrome-linux.png
index 4a898b64be..0be3dc78c4 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Firefox-linux.png
index 36c4e3ad97..c8dd449af4 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Safari-linux.png
index 6d125a2a76..48b50b32da 100644
Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-ltr-Mobile-Chrome-linux.png
index ed88466a93..7fdd8fcab9 100644
Binary files a/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-rtl-Mobile-Chrome-linux.png
index e32b9b16a6..6df30a7119 100644
Binary files a/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-rtl-Mobile-Firefox-linux.png
index b9b07ee21f..dd67daaf0c 100644
Binary files a/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-ios-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-md-rtl-Mobile-Firefox-linux.png
index 9dafe340b3..0aa889d1e4 100644
Binary files a/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/item/test/legacy/fill/item.e2e.ts-snapshots/item-fill-diff-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/item/test/media/item.e2e.ts-snapshots/item-media-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/media/item.e2e.ts-snapshots/item-media-diff-ios-rtl-Mobile-Safari-linux.png
index 343c0cbc85..f21cfc94e1 100644
Binary files a/core/src/components/item/test/media/item.e2e.ts-snapshots/item-media-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/media/item.e2e.ts-snapshots/item-media-diff-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/text/item.e2e.ts-snapshots/item-text-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/text/item.e2e.ts-snapshots/item-text-diff-ios-rtl-Mobile-Safari-linux.png
index eddfb960e4..2e16695805 100644
Binary files a/core/src/components/item/test/text/item.e2e.ts-snapshots/item-text-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/text/item.e2e.ts-snapshots/item-text-diff-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/item/test/text/item.e2e.ts-snapshots/item-text-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/text/item.e2e.ts-snapshots/item-text-diff-md-rtl-Mobile-Safari-linux.png
index 396cd968da..8f77600cf8 100644
Binary files a/core/src/components/item/test/text/item.e2e.ts-snapshots/item-text-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/text/item.e2e.ts-snapshots/item-text-diff-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/list/test/basic/list.e2e.ts b/core/src/components/list/test/basic/list.e2e.ts
index dc23fb9e3c..d7bb1b3986 100644
--- a/core/src/components/list/test/basic/list.e2e.ts
+++ b/core/src/components/list/test/basic/list.e2e.ts
@@ -4,7 +4,20 @@ import { configs, test } from '@utils/test/playwright';
configs().forEach(({ title, screenshot, config }) => {
test.describe(title('list: basic'), () => {
test('should not have visual regressions', async ({ page }) => {
- await page.goto(`/src/components/list/test/basic`, config);
+ await page.setContent(
+ `
+
+
+ Pokémon Yellow
+ Super Metroid
+ Mega Man X
+ The Legend of Zelda
+ Halo
+
+
+ `,
+ config
+ );
const list = page.locator('ion-list');
diff --git a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Chrome-linux.png
index 6c0d8104d8..d4598f5b86 100644
Binary files a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Firefox-linux.png
index 3508642090..129996fb08 100644
Binary files a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Safari-linux.png
index 254be86050..b45706ef0a 100644
Binary files a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Chrome-linux.png
index ae7e97add6..e718a4b189 100644
Binary files a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Firefox-linux.png
index 3f82eecc61..5e1b8ed624 100644
Binary files a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Safari-linux.png
index 12ba94a0af..d286190df7 100644
Binary files a/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/list/test/basic/list.e2e.ts-snapshots/list-basic-diff-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-basic-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-basic-diff-ios-ltr-Mobile-Chrome-linux.png
index d23bad86c9..53df9c5c01 100644
Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-basic-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-basic-diff-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/modal/test/card-scroll-target/modal.e2e.ts b/core/src/components/modal/test/card-scroll-target/modal.e2e.ts
index 848fc26e38..0856e73a8d 100644
--- a/core/src/components/modal/test/card-scroll-target/modal.e2e.ts
+++ b/core/src/components/modal/test/card-scroll-target/modal.e2e.ts
@@ -15,7 +15,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
await ionModalDidPresent.next();
const content = page.locator('ion-modal .ion-content-scroll-host');
- await dragElementBy(content, page, 0, 500);
+ await dragElementBy(content, page, 0, 300);
await ionModalDidDismiss.next();
});
diff --git a/core/src/components/modal/test/fixtures.ts b/core/src/components/modal/test/fixtures.ts
index 297ed32fcb..c5632c6f1a 100644
--- a/core/src/components/modal/test/fixtures.ts
+++ b/core/src/components/modal/test/fixtures.ts
@@ -22,7 +22,7 @@ export class CardModalPage {
return this.page.locator('ion-modal');
}
- async swipeToCloseModal(selector: string, waitForDismiss = true, swipeY = 500) {
+ async swipeToCloseModal(selector: string, waitForDismiss = true, swipeY = 300) {
const { page } = this;
const elementRef = page.locator(selector);
await dragElementBy(elementRef, page, 0, swipeY);
diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts b/core/src/components/modal/test/sheet/modal.e2e.ts
index 51a0eea2c3..2485842bd3 100644
--- a/core/src/components/modal/test/sheet/modal.e2e.ts
+++ b/core/src/components/modal/test/sheet/modal.e2e.ts
@@ -129,7 +129,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange');
const header = page.locator('.modal-sheet ion-header');
- await dragElementBy(header, page, 0, 500);
+ await dragElementBy(header, page, 0, 150);
await ionBreakpointDidChange.next();
diff --git a/core/src/components/picker-column/picker-column.tsx b/core/src/components/picker-column/picker-column.tsx
index 75f0b07890..3d21d18b9d 100644
--- a/core/src/components/picker-column/picker-column.tsx
+++ b/core/src/components/picker-column/picker-column.tsx
@@ -146,6 +146,7 @@ export class PickerColumnCmp implements ComponentInterface {
let translateY = 0;
let translateZ = 0;
const { col, rotateFactor } = this;
+ const prevSelected = col.selectedIndex;
const selectedIndex = (col.selectedIndex = this.indexForY(-y));
const durationStr = duration === 0 ? '' : duration + 'ms';
const scaleStr = `scale(${this.scaleFactor})`;
@@ -204,7 +205,7 @@ export class PickerColumnCmp implements ComponentInterface {
button.classList.remove(PICKER_OPT_SELECTED);
}
}
- this.col.prevSelected = selectedIndex;
+ this.col.prevSelected = prevSelected;
if (saveY) {
this.y = y;
diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts
index e25bdcbaa7..d2b108ac25 100644
--- a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts
+++ b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts
@@ -3,9 +3,11 @@ import { configs, test } from '@utils/test/playwright';
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
test.describe(title('picker-column'), () => {
- test('should present picker without ion-app', async ({ page }) => {
- await page.goto('/src/components/picker-column/test/standalone', config);
+ test.beforeEach(async ({ page }) => {
+ await page.goto(`/src/components/picker-column/test/standalone`, config);
+ });
+ test('should present picker without ion-app', async ({ page }) => {
const ionPickerDidPresent = await page.spyOnEvent('ionPickerDidPresent');
const picker = page.locator('ion-picker');
@@ -16,5 +18,29 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
await expect(picker).toBeVisible();
});
+
+ test('should have the correct selectedIndex and prevSelected', async ({ page }) => {
+ test.info().annotations.push({
+ type: 'issue',
+ description: 'https://github.com/ionic-team/ionic-framework/issues/21764',
+ });
+
+ const ionPickerDidPresent = await page.spyOnEvent('ionPickerDidPresent');
+ const ionPickerColChangeEvent = await page.spyOnEvent('ionPickerColChange');
+
+ const column = page.locator('ion-picker-column');
+ const secondOption = column.locator('.picker-opt').nth(1);
+
+ await page.click('#single-column-button');
+
+ await ionPickerDidPresent.next();
+
+ await secondOption.click();
+
+ await ionPickerColChangeEvent.next();
+
+ expect(ionPickerColChangeEvent.events[0].detail.prevSelected).toBe(0);
+ expect(ionPickerColChangeEvent.events[0].detail.selectedIndex).toBe(1);
+ });
});
});
diff --git a/core/src/components/picker/picker.scss b/core/src/components/picker/picker.scss
index ea082b73b0..2d83319a12 100644
--- a/core/src/components/picker/picker.scss
+++ b/core/src/components/picker/picker.scss
@@ -120,7 +120,6 @@
margin-bottom: var(--ion-safe-area-bottom, 0);
contain: strict;
- direction: ltr;
overflow: hidden;
}
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
index 315fb2cd63..c578518629 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Chrome-linux.png 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
index 24391c0686..c3a8f28cc2 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Firefox-linux.png 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
index 907836c68c..b2ab2c21ba 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-ios-rtl-Mobile-Safari-linux.png 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-rtl-Mobile-Chrome-linux.png b/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Chrome-linux.png
index 5aa4d8a327..bee04e3057 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Chrome-linux.png 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
index 3c014f4475..68f9b67c9e 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Firefox-linux.png 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
index 0a2fb389ac..0a0f4d239d 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-basic-md-rtl-Mobile-Safari-linux.png 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-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
index d1dec582b8..d06bc84410 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Chrome-linux.png 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
index 9a1c718c3a..802e5c45d8 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Firefox-linux.png 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
index c375eb198e..857e6d1d1a 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-ios-rtl-Mobile-Safari-linux.png 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-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
index a7dfe06b57..b26238a5a6 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Chrome-linux.png 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
index 1420ec4916..2404554503 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Firefox-linux.png 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
index 13e37f3602..48fdee55c7 100644
Binary files a/core/src/components/picker/test/basic/picker.e2e.ts-snapshots/picker-value-selected-md-rtl-Mobile-Safari-linux.png 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/animations/ios.enter.ts b/core/src/components/popover/animations/ios.enter.ts
index 4f2c74b9d5..aa4e056814 100644
--- a/core/src/components/popover/animations/ios.enter.ts
+++ b/core/src/components/popover/animations/ios.enter.ts
@@ -86,7 +86,7 @@ export const iosEnterAnimation = (baseEl: HTMLElement, opts?: any): Animation =>
const baseAnimation = createAnimation();
const backdropAnimation = createAnimation();
- const wrapperAnimation = createAnimation();
+ const contentAnimation = createAnimation();
backdropAnimation
.addElement(root.querySelector('ion-backdrop')!)
@@ -96,7 +96,15 @@ export const iosEnterAnimation = (baseEl: HTMLElement, opts?: any): Animation =>
})
.afterClearStyles(['pointer-events']);
- wrapperAnimation.addElement(root.querySelector('.popover-wrapper')!).fromTo('opacity', 0.01, 1);
+ // In Chromium, if the wrapper animates, the backdrop filter doesn't work.
+ // The Chromium team stated that this behavior is expected and not a bug. The element animating opacity creates a backdrop root for the backdrop-filter.
+ // To get around this, instead of animating the wrapper, animate both the arrow and content.
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=1148826
+ contentAnimation
+ .addElement(root.querySelector('.popover-arrow')!)
+ .addElement(root.querySelector('.popover-content')!)
+ .fromTo('opacity', 0.01, 1);
+ // TODO(FW-4376) Ensure that arrow also blurs when translucent
return baseAnimation
.easing('ease')
@@ -142,5 +150,5 @@ export const iosEnterAnimation = (baseEl: HTMLElement, opts?: any): Animation =>
}
}
})
- .addAnimation([backdropAnimation, wrapperAnimation]);
+ .addAnimation([backdropAnimation, contentAnimation]);
};
diff --git a/core/src/components/popover/animations/ios.leave.ts b/core/src/components/popover/animations/ios.leave.ts
index 77594c752f..fa85937876 100644
--- a/core/src/components/popover/animations/ios.leave.ts
+++ b/core/src/components/popover/animations/ios.leave.ts
@@ -13,11 +13,14 @@ export const iosLeaveAnimation = (baseEl: HTMLElement): Animation => {
const baseAnimation = createAnimation();
const backdropAnimation = createAnimation();
- const wrapperAnimation = createAnimation();
+ const contentAnimation = createAnimation();
backdropAnimation.addElement(root.querySelector('ion-backdrop')!).fromTo('opacity', 'var(--backdrop-opacity)', 0);
- wrapperAnimation.addElement(root.querySelector('.popover-wrapper')!).fromTo('opacity', 0.99, 0);
+ contentAnimation
+ .addElement(root.querySelector('.popover-arrow')!)
+ .addElement(root.querySelector('.popover-content')!)
+ .fromTo('opacity', 0.99, 0);
return baseAnimation
.easing('ease')
@@ -37,5 +40,5 @@ export const iosLeaveAnimation = (baseEl: HTMLElement): Animation => {
}
})
.duration(300)
- .addAnimation([backdropAnimation, wrapperAnimation]);
+ .addAnimation([backdropAnimation, contentAnimation]);
};
diff --git a/core/src/components/popover/popover.ios.scss b/core/src/components/popover/popover.ios.scss
index 3b2de457aa..26ee84ed2c 100644
--- a/core/src/components/popover/popover.ios.scss
+++ b/core/src/components/popover/popover.ios.scss
@@ -89,6 +89,11 @@
transform: rotate(-90deg);
}
+.popover-arrow,
+.popover-content {
+ opacity: 0;
+}
+
// Translucent Popover
// -----------------------------------------
diff --git a/core/src/components/popover/popover.md.scss b/core/src/components/popover/popover.md.scss
index e588debfc0..7b4e5c2d19 100644
--- a/core/src/components/popover/popover.md.scss
+++ b/core/src/components/popover/popover.md.scss
@@ -19,3 +19,7 @@
.popover-viewport {
transition-delay: 100ms;
}
+
+.popover-wrapper {
+ opacity: 0;
+}
diff --git a/core/src/components/popover/popover.scss b/core/src/components/popover/popover.scss
index 9468bc1020..1568503adf 100644
--- a/core/src/components/popover/popover.scss
+++ b/core/src/components/popover/popover.scss
@@ -68,7 +68,6 @@
}
.popover-wrapper {
- opacity: 0;
z-index: $z-index-overlay-wrapper;
}
diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Chrome-linux.png
index f27128c240..befbd7a1d3 100644
Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-popover-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-md-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-md-ltr-Mobile-Firefox-linux.png
index fa3dd5383c..2ad9df6bac 100644
Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-md-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-md-rtl-Mobile-Firefox-linux.png
index 910d0bdc33..18918e6c2f 100644
Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-trigger-trigger-md-rtl-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/radio/radio.ios.scss b/core/src/components/radio/radio.ios.scss
index 334c369478..958cad6ffe 100644
--- a/core/src/components/radio/radio.ios.scss
+++ b/core/src/components/radio/radio.ios.scss
@@ -42,6 +42,9 @@
// iOS Radio: Disabled
// -----------------------------------------
+// The radio and label should use the
+// same opacity and match the other form
+// controls
:host(.radio-disabled) {
opacity: $radio-ios-disabled-opacity;
diff --git a/core/src/components/radio/radio.ios.vars.scss b/core/src/components/radio/radio.ios.vars.scss
index 6dd09bd7fc..e440eb4df1 100644
--- a/core/src/components/radio/radio.ios.vars.scss
+++ b/core/src/components/radio/radio.ios.vars.scss
@@ -23,7 +23,7 @@ $radio-ios-icon-border-width: 2px !default;
$radio-ios-icon-border-style: solid !default;
/// @prop - Opacity of the disabled radio
-$radio-ios-disabled-opacity: .3 !default;
+$radio-ios-disabled-opacity: $form-control-ios-disabled-opacity !default;
/// @prop - Margin top of the item-start in a radio
$radio-ios-item-start-margin-top: 8px !default;
diff --git a/core/src/components/radio/radio.md.scss b/core/src/components/radio/radio.md.scss
index 5bddee6b57..55db7d97c9 100644
--- a/core/src/components/radio/radio.md.scss
+++ b/core/src/components/radio/radio.md.scss
@@ -70,12 +70,19 @@
// Material Design Radio: Disabled
// -----------------------------------------
+// The radio itself should use the disabled
+// opacity set by its spec, while the label
+// should match the other form controls
-// .item-md.item-radio-disabled ion-label {
-:host(.radio-disabled) {
+:host(.legacy-radio.radio-disabled),
+:host(.radio-disabled) .label-text-wrapper {
opacity: $radio-md-disabled-opacity;
}
+:host(.radio-disabled) .native-wrapper {
+ opacity: $radio-md-icon-disabled-opacity;
+}
+
// Material Design Radio: Keyboard Focus
// -----------------------------------------
diff --git a/core/src/components/radio/radio.md.vars.scss b/core/src/components/radio/radio.md.vars.scss
index b0aa4f4d02..09250f8cb5 100644
--- a/core/src/components/radio/radio.md.vars.scss
+++ b/core/src/components/radio/radio.md.vars.scss
@@ -34,8 +34,8 @@ $radio-md-transition-duration: 280ms !default;
/// @prop - Transition easing of the radio
$radio-md-transition-easing: cubic-bezier(.4, 0, .2, 1) !default;
-/// @prop - Opacity of the disabled radio
-$radio-md-disabled-opacity: .3 !default;
+/// @prop - Opacity of the disabled radio label
+$radio-md-disabled-opacity: $form-control-md-disabled-opacity !default;
/// @prop - Margin top of the item-start in a radio
$radio-md-item-start-margin-top: 11px !default;
@@ -60,3 +60,12 @@ $radio-md-item-end-margin-bottom: $radio-md-item-end-margin-top !default;
/// @prop - Margin start of the item-end in a radio
$radio-md-item-end-margin-start: 0 !default;
+
+/// @prop - Opacity of the disabled radio
+/// This value is used because the radio color is set to
+/// `rgb(0, 0, 0, 0.60)` when enabled and we need it to be
+/// `rgb(0, 0, 0, 0.38)` when disabled but the disabled
+/// opacity is applied on top of the transparent color so
+/// this opacity gets us the equivalent of applying `0.38`
+/// on top of an opaque radio `rgb(0, 0, 0, 1.0)`
+$radio-md-icon-disabled-opacity: 0.63 !default;
diff --git a/core/src/components/radio/radio.tsx b/core/src/components/radio/radio.tsx
index 5f6384448e..14ae1f4d68 100644
--- a/core/src/components/radio/radio.tsx
+++ b/core/src/components/radio/radio.tsx
@@ -135,7 +135,8 @@ export class Radio implements ComponentInterface {
ev.stopPropagation();
ev.preventDefault();
- this.el.focus();
+ const element = this.legacyFormController.hasLegacyControl() ? this.el : this.nativeInput;
+ element.focus();
}
/** @internal */
@@ -231,7 +232,18 @@ export class Radio implements ComponentInterface {
}
private renderRadio() {
- const { checked, disabled, inputId, color, el, justify, labelPlacement, inheritedAttributes, hasLabel } = this;
+ const {
+ checked,
+ disabled,
+ inputId,
+ color,
+ el,
+ justify,
+ labelPlacement,
+ inheritedAttributes,
+ hasLabel,
+ buttonTabindex,
+ } = this;
const mode = getIonMode(this);
const inItem = hostContext('ion-item', el);
@@ -260,6 +272,7 @@ export class Radio implements ComponentInterface {
checked={checked}
disabled={disabled}
id={inputId}
+ tabindex={buttonTabindex}
ref={(nativeEl) => (this.nativeInput = nativeEl as HTMLInputElement)}
{...inheritedAttributes}
/>
diff --git a/core/src/components/radio/test/a11y/radio.e2e.ts b/core/src/components/radio/test/a11y/radio.e2e.ts
index bc6fe4c945..6010aa0baf 100644
--- a/core/src/components/radio/test/a11y/radio.e2e.ts
+++ b/core/src/components/radio/test/a11y/radio.e2e.ts
@@ -15,9 +15,11 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
});
});
- // TODO: FW-4155 - Enable tests once tab behavior is fixed for modern syntax.
- test.describe.skip(title('radio: keyboard navigation'), () => {
- test.beforeEach(async ({ page }) => {
+ test.describe(title('radio: keyboard navigation'), () => {
+ test.beforeEach(async ({ page, skip }) => {
+ // TODO (FW-2979)
+ skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.');
+
await page.setContent(
`
diff --git a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png
index b506f09e7a..23d308d4e5 100644
Binary files a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png
index 74c70c6b83..04a81dffcc 100644
Binary files a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png and b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png
index 0fc95b20c4..32e579cc82 100644
Binary files a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png
index 440f706718..4acf428ea6 100644
Binary files a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png and b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png
index 0668a57a89..4ea950a91e 100644
Binary files a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png
index 192f686edf..6b8c154b84 100644
Binary files a/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png and b/core/src/components/radio/test/label-placement/radio.e2e.ts-snapshots/radio-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png differ
diff --git a/core/src/components/radio/test/states/radio.e2e.ts b/core/src/components/radio/test/states/radio.e2e.ts
index 5bd0112a2d..5c53c84049 100644
--- a/core/src/components/radio/test/states/radio.e2e.ts
+++ b/core/src/components/radio/test/states/radio.e2e.ts
@@ -3,6 +3,20 @@ import { configs, test } from '@utils/test/playwright';
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
test.describe(title('radio: states'), () => {
+ test('should render disabled radio correctly', async ({ page }) => {
+ await page.setContent(
+ `
+
+ Label
+
+ `,
+ config
+ );
+
+ const radio = page.locator('ion-radio');
+ expect(await radio.screenshot()).toMatchSnapshot(screenshot(`radio-disabled`));
+ });
+
test('should render disabled checked radio correctly', async ({ page }) => {
await page.setContent(
`
diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Chrome-linux.png
index 3bd35d13ce..c3d429bc77 100644
Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Firefox-linux.png
index a0add6fcf4..a1716e4c6b 100644
Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Safari-linux.png
index 78392c6c87..4de57fb8d3 100644
Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Safari-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-checked-disabled-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Chrome-linux.png
index e95adfdd0b..635c6589ab 100644
Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Firefox-linux.png
index bea96f5753..5e2e6ea13b 100644
Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Safari-linux.png
index b85881e267..2f7cca8050 100644
Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Chrome-linux.png
index a825f26b94..944ca8cd49 100644
Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Firefox-linux.png
index a089b550a2..0f1021eb1e 100644
Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Safari-linux.png
index 07a95f76db..9e39e4eded 100644
Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Safari-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-disabled-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/range/range.ios.scss b/core/src/components/range/range.ios.scss
index 72133df519..d1b57b1776 100644
--- a/core/src/components/range/range.ios.scss
+++ b/core/src/components/range/range.ios.scss
@@ -94,6 +94,12 @@
@include transform(translate3d(0, 0, 0), scale(1));
}
+// iOS Range: Disabled
+// --------------------------------------------------
+// When the range is disabled, the entire range,
+// range label, any slotted labels, and any slotted
+// icons need to receive the same opacity.
+
:host(.range-disabled) {
- opacity: .5;
+ opacity: $range-ios-disabled-opacity;
}
diff --git a/core/src/components/range/range.ios.vars.scss b/core/src/components/range/range.ios.vars.scss
index 91067981d0..1fba3f3c93 100644
--- a/core/src/components/range/range.ios.vars.scss
+++ b/core/src/components/range/range.ios.vars.scss
@@ -80,3 +80,6 @@ $range-ios-pin-padding-bottom: $range-ios-pin-padding-top !default;
/// @prop - Padding start of the range pin
$range-ios-pin-padding-start: $range-ios-pin-padding-end !default;
+
+/// @prop - Opacity of the disabled range
+$range-ios-disabled-opacity: $form-control-ios-disabled-opacity !default;
diff --git a/core/src/components/range/range.md.scss b/core/src/components/range/range.md.scss
index fcefe691b8..6fb2a4a9f8 100644
--- a/core/src/components/range/range.md.scss
+++ b/core/src/components/range/range.md.scss
@@ -195,6 +195,13 @@
transform: scale(1);
}
+// Material Design Range: Disabled
+// --------------------------------------------------
+// When the range is disabled, the range label,
+// any slotted labels, and any slotted icons
+// need to receive the same opacity. The range
+// changes color instead of becoming transparent.
+
:host(.range-disabled) .range-bar-active,
:host(.range-disabled) .range-bar,
:host(.range-disabled) .range-tick {
@@ -208,3 +215,9 @@
background-color: $range-md-bar-background-color;
}
+
+:host(.range-disabled) .label-text-wrapper,
+:host(.range-disabled) ::slotted([slot=start]),
+:host(.range-disabled) ::slotted([slot=end]) {
+ opacity: $range-md-disabled-opacity;
+}
diff --git a/core/src/components/range/range.md.vars.scss b/core/src/components/range/range.md.vars.scss
index 8294ec3d64..ef26283c37 100644
--- a/core/src/components/range/range.md.vars.scss
+++ b/core/src/components/range/range.md.vars.scss
@@ -55,4 +55,7 @@ $range-md-knob-indicator-opacity-hover: 0.13 !default;
$range-md-knob-indicator-opacity-focus: 0.13 !default;
/// @prop - Opacity of the indicator shown when the range knob is active
-$range-md-knob-indicator-opacity-active: 0.25 !default;
\ No newline at end of file
+$range-md-knob-indicator-opacity-active: 0.25 !default;
+
+/// @prop - Opacity of the disabled range
+$range-md-disabled-opacity: $form-control-md-disabled-opacity !default;
diff --git a/core/src/components/range/range.scss b/core/src/components/range/range.scss
index b28ff4bad2..500b0a0566 100644
--- a/core/src/components/range/range.scss
+++ b/core/src/components/range/range.scss
@@ -200,15 +200,7 @@
// Range Label
// ----------------------------------------------------------------
-/**
- * When the range is disabled, only the text
- * receives an opacity. The range changes color instead.
- */
-:host(.range-disabled) .label-text-wrapper {
- opacity: 0.3;
-}
-
-::slotted([slot="label"]), .label-text {
+::slotted([slot="label"]) {
/**
* Label text should not extend
* beyond the bounds of the range.
diff --git a/core/src/components/range/test/states/index.html b/core/src/components/range/test/states/index.html
index ded21b7a56..36f5891d95 100644
--- a/core/src/components/range/test/states/index.html
+++ b/core/src/components/range/test/states/index.html
@@ -16,9 +16,10 @@
.grid {
display: grid;
grid-template-columns: repeat(4, minmax(250px, 1fr));
- grid-row-gap: 20px;
+ grid-row-gap: 10px;
grid-column-gap: 20px;
}
+
h2 {
font-size: 12px;
font-weight: normal;
@@ -26,7 +27,9 @@
color: #6f7378;
margin-top: 10px;
+ margin-bottom: 0;
}
+
@media screen and (max-width: 800px) {
.grid {
grid-template-columns: 1fr;
@@ -55,6 +58,24 @@
+
+
Value
+
+
+
+ Temperature
+
+
+
+
+
Ticks
+
+
+
+ Temperature
+
+
+
Disabled
@@ -63,6 +84,24 @@
Temperature
+
+
+
Disabled, Value
+
+
+
+ Temperature
+
+
+
+
+
Disabled, Ticks
+
+
+
+ Temperature
+
+
diff --git a/core/src/components/range/test/states/range.e2e.ts b/core/src/components/range/test/states/range.e2e.ts
index 82a0bbdbed..77235ad662 100644
--- a/core/src/components/range/test/states/range.e2e.ts
+++ b/core/src/components/range/test/states/range.e2e.ts
@@ -19,6 +19,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
expect(await range.screenshot()).toMatchSnapshot(screenshot(`range-enabled`));
});
+
test('should render disabled state', async ({ page }) => {
await page.setContent(
`
@@ -35,5 +36,39 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
expect(await range.screenshot()).toMatchSnapshot(screenshot(`range-disabled`));
});
+
+ test('should render disabled state with a value', async ({ page }) => {
+ await page.setContent(
+ `
+
+
+
+ Temperature
+
+ `,
+ config
+ );
+
+ const range = page.locator('ion-range');
+
+ expect(await range.screenshot()).toMatchSnapshot(screenshot(`range-disabled-value`));
+ });
+
+ test('should render disabled state with ticks', async ({ page }) => {
+ await page.setContent(
+ `
+
+
+
+ Temperature
+
+ `,
+ config
+ );
+
+ const range = page.locator('ion-range');
+
+ expect(await range.screenshot()).toMatchSnapshot(screenshot(`range-disabled-ticks`));
+ });
});
});
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Chrome-linux.png
index e72926ea76..196a17cef2 100644
Binary files a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Firefox-linux.png
index fb889e1fd1..d206e6ef9b 100644
Binary files a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Safari-linux.png
index 08d78a4133..a44c9c61b7 100644
Binary files a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Chrome-linux.png
index 59ad47a104..af9aac8ffa 100644
Binary files a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Firefox-linux.png
index 2e34719d34..79bf012f77 100644
Binary files a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Safari-linux.png
index c5eb63e2b3..748a588cc4 100644
Binary files a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Safari-linux.png and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..f5c973a589
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..006f7302ac
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-ios-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..477b14cc88
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-md-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..156404d8cc
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-md-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..009e3a5501
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-md-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..a6be190de5
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-ticks-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-ios-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..25fada81ca
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-ios-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..ea96651e65
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-ios-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-ios-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-ios-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..c5707e790b
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-ios-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-md-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-md-ltr-Mobile-Chrome-linux.png
new file mode 100644
index 0000000000..a7281b14b8
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-md-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-md-ltr-Mobile-Firefox-linux.png
new file mode 100644
index 0000000000..9bf1f14333
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-md-ltr-Mobile-Firefox-linux.png differ
diff --git a/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-md-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-md-ltr-Mobile-Safari-linux.png
new file mode 100644
index 0000000000..9974289a44
Binary files /dev/null and b/core/src/components/range/test/states/range.e2e.ts-snapshots/range-disabled-value-md-ltr-Mobile-Safari-linux.png differ
diff --git a/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-buttons-md-ltr-Mobile-Chrome-linux.png b/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-buttons-md-ltr-Mobile-Chrome-linux.png
index 8e7cbda834..c291883de6 100644
Binary files a/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-buttons-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-buttons-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-buttons-md-rtl-Mobile-Chrome-linux.png b/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-buttons-md-rtl-Mobile-Chrome-linux.png
index 8501659172..b1579bb496 100644
Binary files a/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-buttons-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-buttons-md-rtl-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-search-icon-md-ltr-Mobile-Chrome-linux.png b/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-search-icon-md-ltr-Mobile-Chrome-linux.png
index e90d6533aa..ce465429b2 100644
Binary files a/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-search-icon-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/searchbar/test/basic/searchbar.e2e.ts-snapshots/searchbar-search-icon-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/segment/segment.tsx b/core/src/components/segment/segment.tsx
index f07d7b91ef..50bf1943d3 100644
--- a/core/src/components/segment/segment.tsx
+++ b/core/src/components/segment/segment.tsx
@@ -5,7 +5,6 @@ import { pointerCoord } from '@utils/helpers';
import { isRTL } from '@utils/rtl';
import { createColorClasses, hostContext } from '@utils/theme';
-import { config } from '../../global/config';
import { getIonMode } from '../../global/ionic-global';
import type { Color, StyleEventDetail } from '../../interface';
@@ -194,14 +193,10 @@ export class Segment implements ComponentInterface {
onEnd(detail: GestureDetail) {
this.setActivated(false);
- const checkedValidButton = this.setNextIndex(detail, true);
+ this.setNextIndex(detail, true);
detail.event.stopImmediatePropagation();
- if (checkedValidButton) {
- this.addRipple(detail);
- }
-
const value = this.value;
if (value !== undefined) {
if (this.valueBeforeGesture !== value) {
@@ -230,32 +225,6 @@ export class Segment implements ComponentInterface {
return this.getButtons().find((button) => button.value === this.value);
}
- /**
- * The gesture blocks the segment button ripple. This
- * function adds the ripple based on the checked segment
- * and where the cursor ended.
- */
- private addRipple(detail: GestureDetail) {
- const useRippleEffect = config.getBoolean('animated', true) && config.getBoolean('rippleEffect', true);
- if (!useRippleEffect) {
- return;
- }
-
- const buttons = this.getButtons();
- const checked = buttons.find((button) => button.value === this.value)!;
-
- const root = checked.shadowRoot || checked;
- const ripple = root.querySelector('ion-ripple-effect');
-
- if (!ripple) {
- return;
- }
-
- const { x, y } = pointerCoord(detail.event);
-
- ripple.addRipple(x, y).then((remove) => remove());
- }
-
/*
* Activate both the segment and the buttons
* due to a bug with ::slotted in Safari
diff --git a/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Chrome-linux.png
index 2aaf5b0a22..661e86c58d 100644
Binary files a/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Chrome-linux.png
index 9e9550325d..d563c03b44 100644
Binary files a/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Chrome-linux.png differ
diff --git a/core/src/components/select/select.ios.scss b/core/src/components/select/select.ios.scss
index 4c89a36290..d899179616 100644
--- a/core/src/components/select/select.ios.scss
+++ b/core/src/components/select/select.ios.scss
@@ -43,3 +43,13 @@
:host(.select-label-placement-floating) .native-wrapper {
width: calc(100% - $select-ios-icon-size - $select-icon-margin-start);
}
+
+// Select: Disabled
+// ----------------------------------------------------------------
+// The select and label should use the
+// same opacity and match the other form
+// controls
+
+:host(.select-disabled) {
+ opacity: $select-ios-disabled-opacity;
+}
diff --git a/core/src/components/select/select.ios.vars.scss b/core/src/components/select/select.ios.vars.scss
index a9c62dcbc5..1039516110 100644
--- a/core/src/components/select/select.ios.vars.scss
+++ b/core/src/components/select/select.ios.vars.scss
@@ -27,3 +27,6 @@ $select-ios-placeholder-color: $select-ios-icon-color !default;
/// @prop - Text Color of the selected item
$select-ios-text-color: $text-color !default;
+
+/// @prop - Opacity of the disabled select
+$select-ios-disabled-opacity: $form-control-ios-disabled-opacity !default;
diff --git a/core/src/components/select/select.md.scss b/core/src/components/select/select.md.scss
index 874108db36..ffbd004520 100644
--- a/core/src/components/select/select.md.scss
+++ b/core/src/components/select/select.md.scss
@@ -150,3 +150,13 @@
:host(.select-label-placement-floating) .native-wrapper {
width: calc(100% - $select-md-icon-size - $select-icon-margin-start);
}
+
+// Select: Disabled
+// ----------------------------------------------------------------
+// The select and label should use the
+// same opacity and match the other form
+// controls
+
+:host(.select-disabled) {
+ opacity: $select-md-disabled-opacity;
+}
diff --git a/core/src/components/select/select.md.vars.scss b/core/src/components/select/select.md.vars.scss
index 7d38d11f47..c3b5fe0885 100644
--- a/core/src/components/select/select.md.vars.scss
+++ b/core/src/components/select/select.md.vars.scss
@@ -30,3 +30,6 @@ $select-md-text-color: $text-color !default;
/// @prop - The amount of whitespace to display on either side of the floating label
$select-md-floating-label-padding: 4px !default;
+
+/// @prop - Opacity of the disabled select
+$select-md-disabled-opacity: $form-control-md-disabled-opacity !default;
diff --git a/core/src/components/select/select.scss b/core/src/components/select/select.scss
index e223e1ca67..abfc74d9e2 100644
--- a/core/src/components/select/select.scss
+++ b/core/src/components/select/select.scss
@@ -86,7 +86,6 @@
}
:host(.select-disabled) {
- opacity: .4;
pointer-events: none;
}
diff --git a/core/src/components/select/test/basic/index.html b/core/src/components/select/test/basic/index.html
index 3163513a6a..421dd4505f 100644
--- a/core/src/components/select/test/basic/index.html
+++ b/core/src/components/select/test/basic/index.html
@@ -22,52 +22,65 @@
-
+
- Single Value Select
+ Single Value
-
- Female
- Male
+
+ Apples
+ Oranges
+ Pears
-
- Brown
- Blonde
- Black
- Red
+
+ Apples
+ Oranges
+ Pears
-
- Red
- Purple
- Yellow
- Orange
- Green
+
+ Apples
+ Oranges
+ Pears
- Object Values with trackBy
+ Multiple Value Select
-
+
+ Pepperoni
+ Bacon
+ Extra Cheese
+ Mushrooms
+ Onions
+
+
+
+
+
+ Bird
+ Cat
+ Dog
+ Honey Badger
+
- Select - Custom Interface Options
+ Custom Interface Options
@@ -77,27 +90,23 @@
value="bacon"
interface="alert"
multiple="true"
- placeholder="Select One"
+ placeholder="Select"
>
+ Pepperoni
Bacon
- Black Olives
Extra Cheese
- Green Peppers
Mushrooms
Onions
- Pepperoni
- Pineapple
- Sausage
- Spinach
-
- Brown
- Blonde
- Black
- Red
+
+ Pepperoni
+ Bacon
+ Extra Cheese
+ Mushrooms
+ Onions
@@ -108,273 +117,17 @@
interface="action-sheet"
placeholder="Select One"
>
- Red
- Purple
- Yellow
- Orange
- Green
-
-
-
-
-
-
- Popover Interface Select
-
-
-
-
- Female
- Male
-
-
-
-
-
- Steak
- Pizza
- Tacos
-
-
-
-
- Date
-
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
-
-
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
-
-
-
-
-
- 0
- 1
- 2
- 3
- 4
- 5
-
-
-
-
-
-
- Action Sheet Interface Select
-
-
-
-
- For 15 Minutes
- For 1 Hour
- For 24 Hours
- Until I turn it back on
-
-
-
-
-
- 1 Star
- 2 Stars
- 3 Stars
- 4 Stars
- 5 Stars
-
-
-
-
-
-
- Multiple Value Select
-
-
-
-
+ Pepperoni
Bacon
- Black Olives
Extra Cheese
- Green Peppers
Mushrooms
Onions
- Pepperoni
- Pineapple
- Sausage
- Spinach
-
-
-
-
-
- Bird
- Cat
- Dog
- Honey Badger
-
-
-
-
-
- 0
- 1
- 2
- 3
- 4
- 5
-
-
-
-
-
- Extra cheese
- Mushroom
- Onion
- Pepperoni
- Sausage
-
-
-
-
-
- Selected Text
-
-
-
-
-
- Default
- Other
- N/A
-
-
-
-
-
- Default
- Other
- N/A
-
-
-
-
-
- Default
- Other
- N/A
-
-
-
-
-
- Default
- Other
- N/A
-
-
- Toggle Disabled
-
-
-