diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f03ac0d62f..9c913dccf9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -15,9 +15,9 @@ ## Angular -/angular/ @sean-perkins +/packages/angular/ @sean-perkins /packages/angular-server @sean-perkins -/angular/test +/packages/angular/test ## React diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 55ebcda299..a9a62f7542 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -295,7 +295,7 @@ See [Ionic's E2E testing guide](../core/src/utils/test/playwright/docs/README.md #### Modifying Files 1. Locate the files inside the relevant root directory: - - Angular: [`/angular/src`](/angular/src) + - Angular: [`/packages/angular/src`](/packages/angular/src) - React: [`/packages/react/src`](/packages/react/src) - Vue: [`/packages/vue/src`](/packages/vue/src) 2. Make your changes to the files. If the change is overly complex or out of the ordinary, add comments so we can understand the changes. @@ -311,7 +311,7 @@ See [Ionic's E2E testing guide](../core/src/utils/test/playwright/docs/README.md ##### Previewing in this repository Follow the steps in the test directory for each framework: - - Angular: [`/angular/test`](/angular/test/README.md) + - Angular: [`/packages/angular/test`](/packages/angular/test/README.md) - React: [`/packages/react/test`](/packages/react/test/README.md) - Vue: [`/packages/vue/test`](/packages/vue/test/README.md) @@ -322,7 +322,7 @@ Follow the steps to [preview changes in core](#preview-changes). #### Lint Changes 1. Run `npm run lint` to lint the TypeScript in the relevant directory: - - Angular: [`/angular/src`](/angular/src) + - Angular: [`/packages/angular/src`](/packages/angular/src) - React: [`/packages/react/src`](/packages/react/src) - Vue: [`/packages/vue/src`](/packages/vue/src) 2. If there are lint errors, run `npm run lint.fix` to automatically fix any errors. Repeat step 1 to ensure the errors have been fixed, and manually fix them if not. @@ -330,7 +330,7 @@ Follow the steps to [preview changes in core](#preview-changes). #### Modifying Tests 1. Locate the e2e test to modify inside the relevant test app directory: - - Angular: [`/angular/test/base/e2e/src`](/angular/test/base/e2e/src) + - Angular: [`/packages/angular/test/base/e2e/src`](/packages/angular/test/base/e2e/src) - React: [`/packages/react/test/base/tests/e2e/specs`](/packages/react/test/base/tests/e2e/specs) - Vue: [`/packages/vue/test/base/tests/e2e/specs`](/packages/vue/test/base/tests/e2e/specs) 2. If a test exists, modify the test by adding an example to reproduce the problem fixed or feature added. diff --git a/.github/labeler.yml b/.github/labeler.yml index c39479e679..545025db58 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -9,7 +9,7 @@ - core/**/* 'package: angular': - - angular/**/* + - packages/angular/**/* - packages/angular-*/**/* 'package: react': diff --git a/.github/workflows/actions/build-angular/action.yml b/.github/workflows/actions/build-angular/action.yml index 121c37896b..3e07cda394 100644 --- a/.github/workflows/actions/build-angular/action.yml +++ b/.github/workflows/actions/build-angular/action.yml @@ -14,25 +14,25 @@ runs: - name: Install Angular Dependencies run: npm ci shell: bash - working-directory: ./angular + working-directory: ./packages/angular - name: Sync run: npm run sync shell: bash - working-directory: ./angular + working-directory: ./packages/angular - name: Lint run: npm run lint shell: bash - working-directory: ./angular + working-directory: ./packages/angular - name: Build run: npm run build shell: bash - working-directory: ./angular + working-directory: ./packages/angular - name: Check Diff run: git diff --exit-code shell: bash - working-directory: ./angular + working-directory: ./packages/angular - uses: ./.github/workflows/actions/upload-archive with: name: ionic-angular - output: ./angular/AngularBuild.zip - paths: ./angular/dist + output: ./packages/angular/AngularBuild.zip + paths: ./packages/angular/dist diff --git a/.github/workflows/actions/publish-npm/action.yml b/.github/workflows/actions/publish-npm/action.yml index 4022753792..fb0680d204 100644 --- a/.github/workflows/actions/publish-npm/action.yml +++ b/.github/workflows/actions/publish-npm/action.yml @@ -22,6 +22,10 @@ runs: - uses: actions/setup-node@v3 with: node-version: 16.x + # Provenance requires npm 9.5.0+ + - name: Install latest npm + run: npm install -g npm@latest + shell: bash # This ensures the local version of Lerna is installed # and that we do not use the global Lerna version - name: Install root dependencies diff --git a/.github/workflows/actions/test-angular-e2e/action.yml b/.github/workflows/actions/test-angular-e2e/action.yml index 6e734a9765..8225a93ea8 100644 --- a/.github/workflows/actions/test-angular-e2e/action.yml +++ b/.github/workflows/actions/test-angular-e2e/action.yml @@ -27,16 +27,16 @@ runs: - name: Create Test App run: ./build.sh ${{ inputs.app }} shell: bash - working-directory: ./angular/test + working-directory: ./packages/angular/test - name: Install Dependencies run: npm install shell: bash - working-directory: ./angular/test/build/${{ inputs.app }} + working-directory: ./packages/angular/test/build/${{ inputs.app }} - name: Sync Built Changes run: npm run sync shell: bash - working-directory: ./angular/test/build/${{ inputs.app }} + working-directory: ./packages/angular/test/build/${{ inputs.app }} - name: Run Tests run: npm run test shell: bash - working-directory: ./angular/test/build/${{ inputs.app }} + working-directory: ./packages/angular/test/build/${{ inputs.app }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bbe12728ea..fe8f9f2e2d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -122,7 +122,7 @@ jobs: - uses: ./.github/workflows/actions/build-angular build-angular-server: - needs: [build-angular] + needs: [build-core] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/release-ionic.yml b/.github/workflows/release-ionic.yml index 43aedeebe4..b6be9a446b 100644 --- a/.github/workflows/release-ionic.yml +++ b/.github/workflows/release-ionic.yml @@ -81,15 +81,15 @@ jobs: tag: ${{ inputs.tag }} version: ${{ inputs.version }} preid: ${{ inputs.preid }} - working-directory: 'angular' + working-directory: 'packages/angular' folder: './dist' token: ${{ secrets.NPM_TOKEN }} - name: Cache Built @ionic/angular uses: ./.github/workflows/actions/upload-archive with: name: ionic-angular - output: ./angular/AngularBuild.zip - paths: ./angular/dist + output: packages/angular/AngularBuild.zip + paths: packages/angular/dist release-react: needs: [release-core] @@ -144,7 +144,7 @@ jobs: paths: packages/vue/dist packages/vue/css release-angular-server: - needs: [release-angular] + needs: [release-core] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -154,12 +154,6 @@ jobs: name: ionic-core path: ./core filename: CoreBuild.zip - - name: Restore @ionic/angular built cache - uses: ./.github/workflows/actions/download-archive - with: - name: ionic-angular - path: ./angular - filename: AngularBuild.zip - uses: ./.github/workflows/actions/publish-npm with: scope: '@ionic/angular-server' diff --git a/.github/workflows/stencil-nightly.yml b/.github/workflows/stencil-nightly.yml index 404cb22e5b..daa138b779 100644 --- a/.github/workflows/stencil-nightly.yml +++ b/.github/workflows/stencil-nightly.yml @@ -133,7 +133,7 @@ jobs: - uses: ./.github/workflows/actions/build-angular build-angular-server: - needs: [build-angular] + needs: [build-core-with-stencil-nightly] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/stencil-v4.yml b/.github/workflows/stencil-v4.yml deleted file mode 100644 index afab1d97d2..0000000000 --- a/.github/workflows/stencil-v4.yml +++ /dev/null @@ -1,220 +0,0 @@ -# This workflow is intended to run against the `HEAD` of Stencil's primary branch. -# See https://github.com/ionic-team/stencil for contents of the repository -name: 'Stencil v4 Build' - -on: - schedule: - # Run every Monday-Friday - # at 6:00 UTC (6:00 am UTC) - - cron: '00 06 * * 1-5' - workflow_dispatch: - # allows for manual invocations in the GitHub UI - -# When pushing a new commit we should -# cancel the previous test run to not -# consume more runners than we need to. -concurrency: - group: ${{ github.ref }} - cancel-in-progress: false - -jobs: - build-core-with-stencil-v4: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/build-core-stencil-prerelease - with: - stencil-version: v4-next - - test-core-clean-build: - needs: [build-core-with-stencil-v4] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/test-core-clean-build - - test-core-lint: - needs: [build-core-with-stencil-v4] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/test-core-lint - - test-core-spec: - needs: [build-core-with-stencil-v4] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/test-core-spec - - test-core-screenshot: - strategy: - # This ensures that all screenshot shard - # failures are reported so the dev can - # review everything at once. - fail-fast: false - matrix: - # Divide the tests into n buckets - # and run those buckets in parallel. - # To increase the number of shards, - # add new items to the shard array - # and change the value of totalShards - # to be the length of the shard array. - shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] - totalShards: [20] - needs: [build-core-with-stencil-v4] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/test-core-screenshot - with: - shard: ${{ matrix.shard }} - totalShards: ${{ matrix.totalShards }} - - # Screenshots are required to pass - # in order for the branch to be merge - # eligible. However, the screenshot tests - # are run on n runners where n can change - # over time. The verify-screenshots step allows - # us to have a required status check for screenshot - # results without having to manually add each - # matrix run in the branch protection rules - # Source: https://github.community/t/status-check-for-a-matrix-jobs/127354 - verify-screenshots: - if: ${{ always() }} - needs: test-core-screenshot - runs-on: ubuntu-latest - steps: - - name: Check build matrix status - if: ${{ needs.test-core-screenshot.result != 'success' }} - run: exit 1 - - build-vue: - needs: [build-core-with-stencil-v4] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/build-vue - - build-vue-router: - needs: [build-vue] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/build-vue-router - - test-vue-e2e: - strategy: - fail-fast: false - matrix: - apps: [vue3] - needs: [build-vue, build-vue-router] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/test-vue-e2e - with: - app: ${{ matrix.apps }} - - verify-test-vue-e2e: - if: ${{ always() }} - needs: test-vue-e2e - runs-on: ubuntu-latest - steps: - - name: Check build matrix status - if: ${{ needs.test-vue-e2e.result != 'success' }} - run: exit 1 - - build-angular: - needs: [build-core-with-stencil-v4] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/build-angular - - build-angular-server: - needs: [build-angular] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/build-angular-server - - test-angular-e2e: - strategy: - fail-fast: false - matrix: - apps: [ng12, ng13, ng14, ng15] - needs: [build-angular, build-angular-server] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/test-angular-e2e - with: - app: ${{ matrix.apps }} - - verify-test-angular-e2e: - if: ${{ always() }} - needs: test-angular-e2e - runs-on: ubuntu-latest - steps: - - name: Check build matrix status - if: ${{ needs.test-angular-e2e.result != 'success' }} - run: exit 1 - - build-react: - needs: [build-core-with-stencil-v4] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/build-react - - build-react-router: - needs: [build-react] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/build-react-router - - test-react-router-e2e: - strategy: - fail-fast: false - matrix: - apps: [reactrouter5] - needs: [build-react, build-react-router] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/test-react-router-e2e - with: - app: ${{ matrix.apps }} - - verify-test-react-router-e2e: - if: ${{ always() }} - needs: test-react-router-e2e - runs-on: ubuntu-latest - steps: - - name: Check build matrix status - if: ${{ needs.test-react-router-e2e.result != 'success' }} - run: exit 1 - - test-react-e2e: - strategy: - fail-fast: false - matrix: - apps: [react17, react18] - needs: [build-react, build-react-router] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/test-react-e2e - with: - app: ${{ matrix.apps }} - - verify-test-react-e2e: - if: ${{ always() }} - needs: test-react-e2e - runs-on: ubuntu-latest - steps: - - name: Check build matrix status - if: ${{ needs.test-react-e2e.result != 'success' }} - run: exit 1 diff --git a/.gitignore b/.gitignore index f6f448fb67..ec9a5f272d 100644 --- a/.gitignore +++ b/.gitignore @@ -71,8 +71,8 @@ core/playwright-report/ core/**/*-snapshots # angular -angular/css/ -angular/test/build/ +packages/angular/css/ +packages/angular/test/build/ .angular/ # vue diff --git a/CHANGELOG.md b/CHANGELOG.md index d1dc4bd7d1..f25b4d1b95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,70 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.1.3](https://github.com/ionic-team/ionic-framework/compare/v7.1.2...v7.1.3) (2023-07-12) + + +### Bug Fixes + +* avoid unresolved import warning on stencil apps ([#27765](https://github.com/ionic-team/ionic-framework/issues/27765)) ([2085025](https://github.com/ionic-team/ionic-framework/commit/2085025644f075e63d04bece56eca4f2beeadbb6)), closes [#27762](https://github.com/ionic-team/ionic-framework/issues/27762) +* **overlays:** first button is not focused on backdrop tap ([#27774](https://github.com/ionic-team/ionic-framework/issues/27774)) ([82c568b](https://github.com/ionic-team/ionic-framework/commit/82c568b8c8e1e9934e1928452aa5216619290e7b)), closes [#27773](https://github.com/ionic-team/ionic-framework/issues/27773) + + + + + +## [7.1.2](https://github.com/ionic-team/ionic-framework/compare/v7.1.1...v7.1.2) (2023-07-06) + + +### Bug Fixes + +* **back-button:** show correct background on focus + hover with ios ([#27723](https://github.com/ionic-team/ionic-framework/issues/27723)) ([db9a001](https://github.com/ionic-team/ionic-framework/commit/db9a0010df3c7fd0fcd0dbcd8c4ad3b30d022b5c)), closes [#27722](https://github.com/ionic-team/ionic-framework/issues/27722) +* **nav:** root component is mounted with root params ([#27676](https://github.com/ionic-team/ionic-framework/issues/27676)) ([1f06be4](https://github.com/ionic-team/ionic-framework/commit/1f06be4a31965f2a949b4866a585aee6af0af29d)), closes [#27146](https://github.com/ionic-team/ionic-framework/issues/27146) + + + + + +## [7.1.1](https://github.com/ionic-team/ionic-framework/compare/v7.1.0...v7.1.1) (2023-06-26) + + +### Bug Fixes + +* **textarea:** autogrow resizes correctly ([#27691](https://github.com/ionic-team/ionic-framework/issues/27691)) ([f263611](https://github.com/ionic-team/ionic-framework/commit/f263611260c465bfeefc2db7b1ea04bfa5b54303)), closes [#27688](https://github.com/ionic-team/ionic-framework/issues/27688) + + + + + +# [7.1.0](https://github.com/ionic-team/ionic-framework/compare/v7.0.14...v7.1.0) (2023-06-21) + + +### Bug Fixes + +* **angular:** tabs supports conditional slot bindings ([#27582](https://github.com/ionic-team/ionic-framework/issues/27582)) ([d20bea5](https://github.com/ionic-team/ionic-framework/commit/d20bea561c362eacd250cdedbc9b79159eb2c95f)), closes [#19484](https://github.com/ionic-team/ionic-framework/issues/19484) +* **datetime:** ascending order for years ([#27551](https://github.com/ionic-team/ionic-framework/issues/27551)) ([2098806](https://github.com/ionic-team/ionic-framework/commit/209880622a4600f88c4878e82975ad0492bd55db)), closes [#27422](https://github.com/ionic-team/ionic-framework/issues/27422) +* import paths ([d10509f](https://github.com/ionic-team/ionic-framework/commit/d10509f84099515f62c895dcd736cc387e382bde)) +* **select:** hide notch cutout if no visible label provided ([#27649](https://github.com/ionic-team/ionic-framework/issues/27649)) ([606a892](https://github.com/ionic-team/ionic-framework/commit/606a892e400a531cac5c413dc7492a54ae0e1fea)) + + +### Features + +* **datetime:** add part for month/year button ([#27618](https://github.com/ionic-team/ionic-framework/issues/27618)) ([d44422e](https://github.com/ionic-team/ionic-framework/commit/d44422e224374804010746a12f398d3c0d6a9f2c)), closes [#26596](https://github.com/ionic-team/ionic-framework/issues/26596) +* **datetime:** add shadow parts and CSS variables for styling wheel pickers ([#27529](https://github.com/ionic-team/ionic-framework/issues/27529)) ([f2c1845](https://github.com/ionic-team/ionic-framework/commit/f2c1845fba11d8273331c601052f0f34457b6649)), closes [#25945](https://github.com/ionic-team/ionic-framework/issues/25945) +* **input:** add experimental label slot ([#27650](https://github.com/ionic-team/ionic-framework/issues/27650)) ([a45395c](https://github.com/ionic-team/ionic-framework/commit/a45395cc02b2617b80e6c2389fa745e7c20540fc)), closes [#27061](https://github.com/ionic-team/ionic-framework/issues/27061) +* **range:** add label prop ([#27408](https://github.com/ionic-team/ionic-framework/issues/27408)) ([368add2](https://github.com/ionic-team/ionic-framework/commit/368add2a5ca3820a1f9623c96d29bcccfa693fdc)) +* return if the pop on NavController was successful ([#27404](https://github.com/ionic-team/ionic-framework/issues/27404)) ([e80f0b2](https://github.com/ionic-team/ionic-framework/commit/e80f0b240968de0d642463e95a35adf8dbffd2e1)), closes [#27403](https://github.com/ionic-team/ionic-framework/issues/27403) +* **segment, segment-button:** update segment value property to accept numbers ([#27222](https://github.com/ionic-team/ionic-framework/issues/27222)) ([ec95ae5](https://github.com/ionic-team/ionic-framework/commit/ec95ae5cd38e3d2b9ec9fdbc9e237fa1241f7a4e)), closes [#27221](https://github.com/ionic-team/ionic-framework/issues/27221) +* **segment:** display segment as a grid and add an ellipsis to overflowing text in a segment button ([#27457](https://github.com/ionic-team/ionic-framework/issues/27457)) ([448e63f](https://github.com/ionic-team/ionic-framework/commit/448e63fef0aca603214cb357dec37e1db2a0f052)), closes [#16532](https://github.com/ionic-team/ionic-framework/issues/16532) +* **select:** add label slot ([#27545](https://github.com/ionic-team/ionic-framework/issues/27545)) ([af92cb2](https://github.com/ionic-team/ionic-framework/commit/af92cb28c8819c88b40192b5dcbafedc1eb2064a)), closes [#26838](https://github.com/ionic-team/ionic-framework/issues/26838) +* **select:** add props to customize toggle icons ([#27648](https://github.com/ionic-team/ionic-framework/issues/27648)) ([95e28b6](https://github.com/ionic-team/ionic-framework/commit/95e28b6629843af7dce62f20bc8e31adfb391990)), closes [#17248](https://github.com/ionic-team/ionic-framework/issues/17248) +* **select:** expose container and label as CSS parts ([#27541](https://github.com/ionic-team/ionic-framework/issues/27541)) ([5c10f88](https://github.com/ionic-team/ionic-framework/commit/5c10f88b2eb4d869966ea9a6d1db34185cefe676)), closes [#27112](https://github.com/ionic-team/ionic-framework/issues/27112) +* **textarea:** add experimental label slot ([#27677](https://github.com/ionic-team/ionic-framework/issues/27677)) ([8bcd9e8](https://github.com/ionic-team/ionic-framework/commit/8bcd9e8b35f252a4efaec7a7be7d69a70beefa9f)), closes [#27061](https://github.com/ionic-team/ionic-framework/issues/27061) + + + + + ## [7.0.14](https://github.com/ionic-team/ionic-framework/compare/v7.0.13...v7.0.14) (2023-06-15) diff --git a/angular/test/apps/ng16/src/app/version-test/version-test-routing.module.ts b/angular/test/apps/ng16/src/app/version-test/version-test-routing.module.ts deleted file mode 100644 index be335bd1af..0000000000 --- a/angular/test/apps/ng16/src/app/version-test/version-test-routing.module.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { NgModule } from "@angular/core"; -import { RouterModule } from "@angular/router"; - -@NgModule({ - imports: [ - RouterModule.forChild([]) - ], - exports: [RouterModule] -}) -export class VersionTestRoutingModule { } diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index 7f8da3069c..278da208d8 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -3,6 +3,67 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.1.3](https://github.com/ionic-team/ionic-framework/compare/v7.1.2...v7.1.3) (2023-07-12) + + +### Bug Fixes + +* avoid unresolved import warning on stencil apps ([#27765](https://github.com/ionic-team/ionic-framework/issues/27765)) ([2085025](https://github.com/ionic-team/ionic-framework/commit/2085025644f075e63d04bece56eca4f2beeadbb6)), closes [#27762](https://github.com/ionic-team/ionic-framework/issues/27762) +* **overlays:** first button is not focused on backdrop tap ([#27774](https://github.com/ionic-team/ionic-framework/issues/27774)) ([82c568b](https://github.com/ionic-team/ionic-framework/commit/82c568b8c8e1e9934e1928452aa5216619290e7b)), closes [#27773](https://github.com/ionic-team/ionic-framework/issues/27773) + + + + + +## [7.1.2](https://github.com/ionic-team/ionic-framework/compare/v7.1.1...v7.1.2) (2023-07-06) + + +### Bug Fixes + +* **back-button:** show correct background on focus + hover with ios ([#27723](https://github.com/ionic-team/ionic-framework/issues/27723)) ([db9a001](https://github.com/ionic-team/ionic-framework/commit/db9a0010df3c7fd0fcd0dbcd8c4ad3b30d022b5c)), closes [#27722](https://github.com/ionic-team/ionic-framework/issues/27722) +* **nav:** root component is mounted with root params ([#27676](https://github.com/ionic-team/ionic-framework/issues/27676)) ([1f06be4](https://github.com/ionic-team/ionic-framework/commit/1f06be4a31965f2a949b4866a585aee6af0af29d)), closes [#27146](https://github.com/ionic-team/ionic-framework/issues/27146) + + + + + +## [7.1.1](https://github.com/ionic-team/ionic-framework/compare/v7.1.0...v7.1.1) (2023-06-26) + + +### Bug Fixes + +* **textarea:** autogrow resizes correctly ([#27691](https://github.com/ionic-team/ionic-framework/issues/27691)) ([f263611](https://github.com/ionic-team/ionic-framework/commit/f263611260c465bfeefc2db7b1ea04bfa5b54303)), closes [#27688](https://github.com/ionic-team/ionic-framework/issues/27688) + + + + + +# [7.1.0](https://github.com/ionic-team/ionic-framework/compare/v7.0.14...v7.1.0) (2023-06-21) + + +### Bug Fixes + +* **datetime:** ascending order for years ([#27551](https://github.com/ionic-team/ionic-framework/issues/27551)) ([2098806](https://github.com/ionic-team/ionic-framework/commit/209880622a4600f88c4878e82975ad0492bd55db)), closes [#27422](https://github.com/ionic-team/ionic-framework/issues/27422) +* **select:** hide notch cutout if no visible label provided ([#27649](https://github.com/ionic-team/ionic-framework/issues/27649)) ([606a892](https://github.com/ionic-team/ionic-framework/commit/606a892e400a531cac5c413dc7492a54ae0e1fea)) + + +### Features + +* **datetime:** add part for month/year button ([#27618](https://github.com/ionic-team/ionic-framework/issues/27618)) ([d44422e](https://github.com/ionic-team/ionic-framework/commit/d44422e224374804010746a12f398d3c0d6a9f2c)), closes [#26596](https://github.com/ionic-team/ionic-framework/issues/26596) +* **datetime:** add shadow parts and CSS variables for styling wheel pickers ([#27529](https://github.com/ionic-team/ionic-framework/issues/27529)) ([f2c1845](https://github.com/ionic-team/ionic-framework/commit/f2c1845fba11d8273331c601052f0f34457b6649)), closes [#25945](https://github.com/ionic-team/ionic-framework/issues/25945) +* **input:** add experimental label slot ([#27650](https://github.com/ionic-team/ionic-framework/issues/27650)) ([a45395c](https://github.com/ionic-team/ionic-framework/commit/a45395cc02b2617b80e6c2389fa745e7c20540fc)), closes [#27061](https://github.com/ionic-team/ionic-framework/issues/27061) +* **range:** add label prop ([#27408](https://github.com/ionic-team/ionic-framework/issues/27408)) ([368add2](https://github.com/ionic-team/ionic-framework/commit/368add2a5ca3820a1f9623c96d29bcccfa693fdc)) +* **segment, segment-button:** update segment value property to accept numbers ([#27222](https://github.com/ionic-team/ionic-framework/issues/27222)) ([ec95ae5](https://github.com/ionic-team/ionic-framework/commit/ec95ae5cd38e3d2b9ec9fdbc9e237fa1241f7a4e)), closes [#27221](https://github.com/ionic-team/ionic-framework/issues/27221) +* **segment:** display segment as a grid and add an ellipsis to overflowing text in a segment button ([#27457](https://github.com/ionic-team/ionic-framework/issues/27457)) ([448e63f](https://github.com/ionic-team/ionic-framework/commit/448e63fef0aca603214cb357dec37e1db2a0f052)), closes [#16532](https://github.com/ionic-team/ionic-framework/issues/16532) +* **select:** add label slot ([#27545](https://github.com/ionic-team/ionic-framework/issues/27545)) ([af92cb2](https://github.com/ionic-team/ionic-framework/commit/af92cb28c8819c88b40192b5dcbafedc1eb2064a)), closes [#26838](https://github.com/ionic-team/ionic-framework/issues/26838) +* **select:** add props to customize toggle icons ([#27648](https://github.com/ionic-team/ionic-framework/issues/27648)) ([95e28b6](https://github.com/ionic-team/ionic-framework/commit/95e28b6629843af7dce62f20bc8e31adfb391990)), closes [#17248](https://github.com/ionic-team/ionic-framework/issues/17248) +* **select:** expose container and label as CSS parts ([#27541](https://github.com/ionic-team/ionic-framework/issues/27541)) ([5c10f88](https://github.com/ionic-team/ionic-framework/commit/5c10f88b2eb4d869966ea9a6d1db34185cefe676)), closes [#27112](https://github.com/ionic-team/ionic-framework/issues/27112) +* **textarea:** add experimental label slot ([#27677](https://github.com/ionic-team/ionic-framework/issues/27677)) ([8bcd9e8](https://github.com/ionic-team/ionic-framework/commit/8bcd9e8b35f252a4efaec7a7be7d69a70beefa9f)), closes [#27061](https://github.com/ionic-team/ionic-framework/issues/27061) + + + + + ## [7.0.14](https://github.com/ionic-team/ionic-framework/compare/v7.0.13...v7.0.14) (2023-06-15) diff --git a/core/api.txt b/core/api.txt index f25a05b642..eecee0c71f 100644 --- a/core/api.txt +++ b/core/api.txt @@ -425,6 +425,13 @@ ion-datetime,event,ionFocus,void,true ion-datetime,css-prop,--background ion-datetime,css-prop,--background-rgb ion-datetime,css-prop,--title-color +ion-datetime,css-prop,--wheel-fade-background-rgb +ion-datetime,css-prop,--wheel-highlight-background +ion-datetime,part,month-year-button +ion-datetime,part,time-button +ion-datetime,part,time-button active +ion-datetime,part,wheel-item +ion-datetime,part,wheel-item active ion-datetime-button,shadow ion-datetime-button,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,'primary',false,true @@ -1030,6 +1037,7 @@ ion-range,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secon ion-range,prop,debounce,number | undefined,undefined,false,false ion-range,prop,disabled,boolean,false,false,false ion-range,prop,dualKnobs,boolean,false,false,false +ion-range,prop,label,string | undefined,undefined,false,false ion-range,prop,labelPlacement,"end" | "fixed" | "start",'start',false,false ion-range,prop,legacy,boolean | undefined,undefined,false,false ion-range,prop,max,number,100,false,false @@ -1183,7 +1191,7 @@ ion-segment,prop,mode,"ios" | "md",undefined,false,false ion-segment,prop,scrollable,boolean,false,false,false ion-segment,prop,selectOnFocus,boolean,false,false,false ion-segment,prop,swipeGesture,boolean,true,false,false -ion-segment,prop,value,string | undefined,undefined,false,false +ion-segment,prop,value,number | string | undefined,undefined,false,false ion-segment,event,ionChange,SegmentChangeEventDetail,true ion-segment,css-prop,--background @@ -1192,7 +1200,7 @@ ion-segment-button,prop,disabled,boolean,false,false,false ion-segment-button,prop,layout,"icon-bottom" | "icon-end" | "icon-hide" | "icon-start" | "icon-top" | "label-hide" | undefined,'icon-top',false,false ion-segment-button,prop,mode,"ios" | "md",undefined,false,false ion-segment-button,prop,type,"button" | "reset" | "submit",'button',false,false -ion-segment-button,prop,value,string,'ion-sb-' + ids++,false,false +ion-segment-button,prop,value,number | string,'ion-sb-' + ids++,false,false ion-segment-button,css-prop,--background ion-segment-button,css-prop,--background-checked ion-segment-button,css-prop,--background-focused @@ -1230,6 +1238,7 @@ ion-select,prop,cancelText,string,'Cancel',false,false ion-select,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-select,prop,compareWith,((currentValue: any, compareValue: any) => boolean) | null | string | undefined,undefined,false,false ion-select,prop,disabled,boolean,false,false,false +ion-select,prop,expandedIcon,string | undefined,undefined,false,false ion-select,prop,fill,"outline" | "solid" | undefined,undefined,false,false ion-select,prop,interface,"action-sheet" | "alert" | "popover",'alert',false,false ion-select,prop,interfaceOptions,any,{},false,false @@ -1244,6 +1253,7 @@ ion-select,prop,okText,string,'OK',false,false ion-select,prop,placeholder,string | undefined,undefined,false,false ion-select,prop,selectedText,null | string | undefined,undefined,false,false ion-select,prop,shape,"round" | undefined,undefined,false,false +ion-select,prop,toggleIcon,string | undefined,undefined,false,false ion-select,prop,value,any,undefined,false,false ion-select,method,open,open(event?: UIEvent) => Promise ion-select,event,ionBlur,void,true @@ -1266,7 +1276,9 @@ ion-select,css-prop,--padding-top ion-select,css-prop,--placeholder-color ion-select,css-prop,--placeholder-opacity ion-select,css-prop,--ripple-color +ion-select,part,container ion-select,part,icon +ion-select,part,label ion-select,part,placeholder ion-select,part,text diff --git a/core/package-lock.json b/core/package-lock.json index 752f795921..cf2db537ae 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -1,16 +1,16 @@ { "name": "@ionic/core", - "version": "7.0.14", + "version": "7.1.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/core", - "version": "7.0.14", + "version": "7.1.3", "license": "MIT", "dependencies": { "@stencil/core": "^3.4.0", - "ionicons": "^7.1.0", + "ionicons": "7.1.0", "tslib": "^2.1.0" }, "devDependencies": { @@ -18,7 +18,7 @@ "@ionic/eslint-config": "^0.3.0", "@ionic/prettier-config": "^2.0.0", "@jest/core": "^27.5.1", - "@playwright/test": "^1.35.1", + "@playwright/test": "^1.36.0", "@rollup/plugin-node-resolve": "^8.4.0", "@rollup/plugin-virtual": "^2.0.3", "@stencil/angular-output-target": "^0.7.1", @@ -1501,13 +1501,13 @@ } }, "node_modules/@playwright/test": { - "version": "1.35.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.35.1.tgz", - "integrity": "sha512-b5YoFe6J9exsMYg0pQAobNDR85T1nLumUYgUTtKm4d21iX2L7WqKq9dW8NGJ+2vX0etZd+Y7UeuqsxDXm9+5ZA==", + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.36.0.tgz", + "integrity": "sha512-yN+fvMYtiyLFDCQos+lWzoX4XW3DNuaxjBu68G0lkgLgC6BP+m/iTxJQoSicz/x2G5EsrqlZTqTIP9sTgLQerg==", "dev": true, "dependencies": { "@types/node": "*", - "playwright-core": "1.35.1" + "playwright-core": "1.36.0" }, "bin": { "playwright": "cli.js" @@ -8150,9 +8150,9 @@ } }, "node_modules/playwright-core": { - "version": "1.35.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.35.1.tgz", - "integrity": "sha512-pNXb6CQ7OqmGDRspEjlxE49w+4YtR6a3X6mT1hZXeJHWmsEz7SunmvZeiG/+y1yyMZdHnnn73WKYdtV1er0Xyg==", + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.36.0.tgz", + "integrity": "sha512-7RTr8P6YJPAqB+8j5ATGHqD6LvLLM39sYVNsslh78g8QeLcBs5750c6+msjrHUwwGt+kEbczBj1XB22WMwn+WA==", "dev": true, "bin": { "playwright-core": "cli.js" @@ -11381,14 +11381,14 @@ } }, "@playwright/test": { - "version": "1.35.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.35.1.tgz", - "integrity": "sha512-b5YoFe6J9exsMYg0pQAobNDR85T1nLumUYgUTtKm4d21iX2L7WqKq9dW8NGJ+2vX0etZd+Y7UeuqsxDXm9+5ZA==", + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.36.0.tgz", + "integrity": "sha512-yN+fvMYtiyLFDCQos+lWzoX4XW3DNuaxjBu68G0lkgLgC6BP+m/iTxJQoSicz/x2G5EsrqlZTqTIP9sTgLQerg==", "dev": true, "requires": { "@types/node": "*", "fsevents": "2.3.2", - "playwright-core": "1.35.1" + "playwright-core": "1.36.0" } }, "@rollup/plugin-node-resolve": { @@ -16258,9 +16258,9 @@ } }, "playwright-core": { - "version": "1.35.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.35.1.tgz", - "integrity": "sha512-pNXb6CQ7OqmGDRspEjlxE49w+4YtR6a3X6mT1hZXeJHWmsEz7SunmvZeiG/+y1yyMZdHnnn73WKYdtV1er0Xyg==", + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.36.0.tgz", + "integrity": "sha512-7RTr8P6YJPAqB+8j5ATGHqD6LvLLM39sYVNsslh78g8QeLcBs5750c6+msjrHUwwGt+kEbczBj1XB22WMwn+WA==", "dev": true }, "postcss": { diff --git a/core/package.json b/core/package.json index 5a30b3663c..abc9dfa32e 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/core", - "version": "7.0.14", + "version": "7.1.3", "description": "Base components for Ionic", "keywords": [ "ionic", @@ -32,7 +32,7 @@ ], "dependencies": { "@stencil/core": "^3.4.0", - "ionicons": "^7.1.0", + "ionicons": "7.1.0", "tslib": "^2.1.0" }, "devDependencies": { @@ -40,7 +40,7 @@ "@ionic/eslint-config": "^0.3.0", "@ionic/prettier-config": "^2.0.0", "@jest/core": "^27.5.1", - "@playwright/test": "^1.35.1", + "@playwright/test": "^1.36.0", "@rollup/plugin-node-resolve": "^8.4.0", "@rollup/plugin-virtual": "^2.0.3", "@stencil/angular-output-target": "^0.7.1", diff --git a/core/src/components.d.ts b/core/src/components.d.ts index b61bac1a57..24f42a4887 100644 --- a/core/src/components.d.ts +++ b/core/src/components.d.ts @@ -33,7 +33,7 @@ import { RefresherEventDetail } from "./components/refresher/refresher-interface import { ItemReorderEventDetail } from "./components/reorder-group/reorder-group-interface"; import { NavigationHookCallback } from "./components/route/route-interface"; import { SearchbarChangeEventDetail, SearchbarInputEventDetail } from "./components/searchbar/searchbar-interface"; -import { SegmentChangeEventDetail } from "./components/segment/segment-interface"; +import { SegmentChangeEventDetail, SegmentValue } from "./components/segment/segment-interface"; import { SegmentButtonLayout } from "./components/segment-button/segment-button-interface"; import { SelectChangeEventDetail, SelectCompareFn, SelectInterface } from "./components/select/select-interface"; import { SelectPopoverOption } from "./components/select-popover/select-popover-interface"; @@ -69,7 +69,7 @@ export { RefresherEventDetail } from "./components/refresher/refresher-interface export { ItemReorderEventDetail } from "./components/reorder-group/reorder-group-interface"; export { NavigationHookCallback } from "./components/route/route-interface"; export { SearchbarChangeEventDetail, SearchbarInputEventDetail } from "./components/searchbar/searchbar-interface"; -export { SegmentChangeEventDetail } from "./components/segment/segment-interface"; +export { SegmentChangeEventDetail, SegmentValue } from "./components/segment/segment-interface"; export { SegmentButtonLayout } from "./components/segment-button/segment-button-interface"; export { SelectChangeEventDetail, SelectCompareFn, SelectInterface } from "./components/select/select-interface"; export { SelectPopoverOption } from "./components/select-popover/select-popover-interface"; @@ -947,7 +947,7 @@ export namespace Components { */ "value"?: string | string[] | null; /** - * Values used to create the list of selectable years. By default the year values range between the `min` and `max` datetime inputs. However, to control exactly which years to display, the `yearValues` input can take a number, an array of numbers, or string of comma separated numbers. For example, to show upcoming and recent leap years, then this input's value would be `yearValues="2024,2020,2016,2012,2008"`. + * Values used to create the list of selectable years. By default the year values range between the `min` and `max` datetime inputs. However, to control exactly which years to display, the `yearValues` input can take a number, an array of numbers, or string of comma separated numbers. For example, to show upcoming and recent leap years, then this input's value would be `yearValues="2008,2012,2016,2020,2024"`. */ "yearValues"?: number[] | number | string; } @@ -1214,7 +1214,7 @@ export namespace Components { */ "inputmode"?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; /** - * The visible label associated with the input. + * The visible label associated with the input. Use this if you need to render a plaintext label. The `label` property will take priority over the `label` slot if both are used. */ "label"?: string; /** @@ -2289,6 +2289,10 @@ export namespace Components { * Show two knobs. */ "dualKnobs": boolean; + /** + * The text to display as the control's label. Use this over the `label` slot if you only need plain text. The `label` property will take priority over the `label` slot if both are used. + */ + "label"?: string; /** * Where to place the label relative to the range. `"start"`: The label will appear to the left of the range in LTR and to the right in RTL. `"end"`: The label will appear to the right of the range in LTR and to the left in RTL. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("..."). */ @@ -2635,7 +2639,7 @@ export namespace Components { /** * the value of the segment. */ - "value"?: string; + "value"?: SegmentValue; } interface IonSegmentButton { /** @@ -2658,7 +2662,7 @@ export namespace Components { /** * The value of the segment button. */ - "value": string; + "value": SegmentValue; } interface IonSelect { /** @@ -2677,6 +2681,10 @@ export namespace Components { * If `true`, the user cannot interact with the select. */ "disabled": boolean; + /** + * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed. + */ + "expandedIcon"?: string; /** * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode. */ @@ -2694,7 +2702,7 @@ export namespace Components { */ "justify": 'start' | 'end' | 'space-between'; /** - * The visible label associated with the select. + * The visible label associated with the select. Use this if you need to render a plaintext label. The `label` property will take priority over the `label` slot if both are used. */ "label"?: string; /** @@ -2738,6 +2746,10 @@ export namespace Components { * The shape of the select. If "round" it will have an increased border radius. */ "shape"?: 'round'; + /** + * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode. + */ + "toggleIcon"?: string; /** * The value of the select. */ @@ -2980,7 +2992,7 @@ export namespace Components { */ "inputmode"?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; /** - * The visible label associated with the textarea. + * The visible label associated with the textarea. Use this if you need to render a plaintext label. The `label` property will take priority over the `label` slot if both are used. */ "label"?: string; /** @@ -4969,7 +4981,7 @@ declare namespace LocalJSX { */ "value"?: string | string[] | null; /** - * Values used to create the list of selectable years. By default the year values range between the `min` and `max` datetime inputs. However, to control exactly which years to display, the `yearValues` input can take a number, an array of numbers, or string of comma separated numbers. For example, to show upcoming and recent leap years, then this input's value would be `yearValues="2024,2020,2016,2012,2008"`. + * Values used to create the list of selectable years. By default the year values range between the `min` and `max` datetime inputs. However, to control exactly which years to display, the `yearValues` input can take a number, an array of numbers, or string of comma separated numbers. For example, to show upcoming and recent leap years, then this input's value would be `yearValues="2008,2012,2016,2020,2024"`. */ "yearValues"?: number[] | number | string; } @@ -5244,7 +5256,7 @@ declare namespace LocalJSX { */ "inputmode"?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; /** - * The visible label associated with the input. + * The visible label associated with the input. Use this if you need to render a plaintext label. The `label` property will take priority over the `label` slot if both are used. */ "label"?: string; /** @@ -5288,7 +5300,7 @@ declare namespace LocalJSX { */ "onIonBlur"?: (event: IonInputCustomEvent) => void; /** - * The `ionChange` event is fired for `` elements when the user modifies the element's value. Unlike the `ionInput` event, the `ionChange` event is not necessarily fired for each alteration to an element's value. Depending on the way the users interacts with the element, the `ionChange` event fires at a different moment: - When the user commits the change explicitly (e.g. by selecting a date from a date picker for ``, pressing the "Enter" key, etc.). - When the element loses focus after its value has changed: for elements where the user's interaction is typing. + * The `ionChange` event is fired when the user modifies the input's value. Unlike the `ionInput` event, the `ionChange` event is only fired when changes are committed, not as the user types. Depending on the way the users interacts with the element, the `ionChange` event fires at a different moment: - When the user commits the change explicitly (e.g. by selecting a date from a date picker for ``, pressing the "Enter" key, etc.). - When the element loses focus after its value has changed: for elements where the user's interaction is typing. */ "onIonChange"?: (event: IonInputCustomEvent) => void; /** @@ -5296,7 +5308,7 @@ declare namespace LocalJSX { */ "onIonFocus"?: (event: IonInputCustomEvent) => void; /** - * The `ionInput` event fires when the `value` of an `` element has been changed. For elements that accept text input (`type=text`, `type=tel`, etc.), the interface is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others, the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If the input is cleared on edit, the type is `null`. + * The `ionInput` event is fired each time the user modifies the input's value. Unlike the `ionChange` event, the `ionInput` event is fired for each alteration to the input's value. This typically happens for each keystroke as the user types. For elements that accept text input (`type=text`, `type=tel`, etc.), the interface is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others, the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If the input is cleared on edit, the type is `null`. */ "onIonInput"?: (event: IonInputCustomEvent) => void; /** @@ -6304,6 +6316,10 @@ declare namespace LocalJSX { * Show two knobs. */ "dualKnobs"?: boolean; + /** + * The text to display as the control's label. Use this over the `label` slot if you only need plain text. The `label` property will take priority over the `label` slot if both are used. + */ + "label"?: string; /** * Where to place the label relative to the range. `"start"`: The label will appear to the left of the range in LTR and to the right in RTL. `"end"`: The label will appear to the right of the range in LTR and to the left in RTL. `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("..."). */ @@ -6706,7 +6722,7 @@ declare namespace LocalJSX { /** * the value of the segment. */ - "value"?: string; + "value"?: SegmentValue; } interface IonSegmentButton { /** @@ -6728,7 +6744,7 @@ declare namespace LocalJSX { /** * The value of the segment button. */ - "value"?: string; + "value"?: SegmentValue; } interface IonSelect { /** @@ -6747,6 +6763,10 @@ declare namespace LocalJSX { * If `true`, the user cannot interact with the select. */ "disabled"?: boolean; + /** + * The toggle icon to show when the select is open. If defined, the icon rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon` will be used for when the select is both open and closed. + */ + "expandedIcon"?: string; /** * The fill for the item. If `"solid"` the item will have a background. If `"outline"` the item will be transparent with a border. Only available in `md` mode. */ @@ -6764,7 +6784,7 @@ declare namespace LocalJSX { */ "justify"?: 'start' | 'end' | 'space-between'; /** - * The visible label associated with the select. + * The visible label associated with the select. Use this if you need to render a plaintext label. The `label` property will take priority over the `label` slot if both are used. */ "label"?: string; /** @@ -6827,6 +6847,10 @@ declare namespace LocalJSX { * The shape of the select. If "round" it will have an increased border radius. */ "shape"?: 'round'; + /** + * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, or `caretDownSharp` for `md` mode. + */ + "toggleIcon"?: string; /** * The value of the select. */ @@ -7066,7 +7090,7 @@ declare namespace LocalJSX { */ "inputmode"?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; /** - * The visible label associated with the textarea. + * The visible label associated with the textarea. Use this if you need to render a plaintext label. The `label` property will take priority over the `label` slot if both are used. */ "label"?: string; /** @@ -7098,7 +7122,7 @@ declare namespace LocalJSX { */ "onIonBlur"?: (event: IonTextareaCustomEvent) => void; /** - * The `ionChange` event is fired for `` elements when the user modifies the element's value. Unlike the `ionInput` event, the `ionChange` event is not necessarily fired for each alteration to an element's value. The `ionChange` event is fired when the element loses focus after its value has been modified. + * The `ionChange` event is fired when the user modifies the textarea's value. Unlike the `ionInput` event, the `ionChange` event is fired when the element loses focus after its value has been modified. */ "onIonChange"?: (event: IonTextareaCustomEvent) => void; /** @@ -7106,7 +7130,7 @@ declare namespace LocalJSX { */ "onIonFocus"?: (event: IonTextareaCustomEvent) => void; /** - * The `ionInput` event fires when the `value` of an `` element has been changed. When `clearOnEdit` is enabled, the `ionInput` event will be fired when the user clears the textarea by performing a keydown event. + * The `ionInput` event is fired each time the user modifies the textarea's value. Unlike the `ionChange` event, the `ionInput` event is fired for each alteration to the textarea's value. This typically happens for each keystroke as the user types. When `clearOnEdit` is enabled, the `ionInput` event will be fired when the user clears the textarea by performing a keydown event. */ "onIonInput"?: (event: IonTextareaCustomEvent) => void; /** diff --git a/core/src/components/accordion-group/accordion-group.tsx b/core/src/components/accordion-group/accordion-group.tsx index 4844edd8e8..6907e74569 100644 --- a/core/src/components/accordion-group/accordion-group.tsx +++ b/core/src/components/accordion-group/accordion-group.tsx @@ -1,8 +1,8 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Listen, Method, Prop, Watch, h } from '@stencil/core'; +import { printIonWarning } from '@utils/logging'; import { getIonMode } from '../../global/ionic-global'; -import { printIonWarning } from '../../utils/logging'; import type { AccordionGroupChangeEventDetail } from './accordion-group-interface'; diff --git a/core/src/components/accordion/accordion.tsx b/core/src/components/accordion/accordion.tsx index fd65ffcd3e..eab83209cd 100644 --- a/core/src/components/accordion/accordion.tsx +++ b/core/src/components/accordion/accordion.tsx @@ -1,10 +1,10 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Element, Host, Prop, State, Watch, h } from '@stencil/core'; +import { addEventListener, getElementRoot, raf, removeEventListener, transitionEndAsync } from '@utils/helpers'; import { chevronDown } from 'ionicons/icons'; import { config } from '../../global/config'; import { getIonMode } from '../../global/ionic-global'; -import { addEventListener, getElementRoot, raf, removeEventListener, transitionEndAsync } from '../../utils/helpers'; const enum AccordionState { Collapsed = 1 << 0, diff --git a/core/src/components/action-sheet/action-sheet.tsx b/core/src/components/action-sheet/action-sheet.tsx index 3a13827a3c..9a877054cf 100644 --- a/core/src/components/action-sheet/action-sheet.tsx +++ b/core/src/components/action-sheet/action-sheet.tsx @@ -1,10 +1,7 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Watch, Component, Element, Event, Host, Method, Prop, h, readTask } from '@stencil/core'; - -import { getIonMode } from '../../global/ionic-global'; -import type { AnimationBuilder, CssClassMap, FrameworkDelegate, OverlayInterface } from '../../interface'; -import type { Gesture } from '../../utils/gesture'; -import { createButtonActiveGesture } from '../../utils/gesture/button-active'; +import type { Gesture } from '@utils/gesture'; +import { createButtonActiveGesture } from '@utils/gesture/button-active'; import { BACKDROP, createDelegateController, @@ -16,9 +13,12 @@ import { present, safeCall, setOverlayId, -} from '../../utils/overlays'; +} from '@utils/overlays'; +import { getClassMap } from '@utils/theme'; + +import { getIonMode } from '../../global/ionic-global'; +import type { AnimationBuilder, CssClassMap, FrameworkDelegate, OverlayInterface } from '../../interface'; import type { OverlayEventDetail } from '../../utils/overlays-interface'; -import { getClassMap } from '../../utils/theme'; import type { ActionSheetButton } from './action-sheet-interface'; import { iosEnterAnimation } from './animations/ios.enter'; diff --git a/core/src/components/action-sheet/animations/ios.enter.ts b/core/src/components/action-sheet/animations/ios.enter.ts index 4235d1cc39..ff188415b4 100644 --- a/core/src/components/action-sheet/animations/ios.enter.ts +++ b/core/src/components/action-sheet/animations/ios.enter.ts @@ -1,5 +1,6 @@ +import { createAnimation } from '@utils/animation/animation'; + import type { Animation } from '../../../interface'; -import { createAnimation } from '../../../utils/animation/animation'; /** * iOS Action Sheet Enter Animation diff --git a/core/src/components/action-sheet/animations/ios.leave.ts b/core/src/components/action-sheet/animations/ios.leave.ts index ff6741d8d1..d29fca9b5b 100644 --- a/core/src/components/action-sheet/animations/ios.leave.ts +++ b/core/src/components/action-sheet/animations/ios.leave.ts @@ -1,5 +1,6 @@ +import { createAnimation } from '@utils/animation/animation'; + import type { Animation } from '../../../interface'; -import { createAnimation } from '../../../utils/animation/animation'; /** * iOS Action Sheet Leave Animation diff --git a/core/src/components/action-sheet/animations/md.enter.ts b/core/src/components/action-sheet/animations/md.enter.ts index b9dcaa0998..8053d8a962 100644 --- a/core/src/components/action-sheet/animations/md.enter.ts +++ b/core/src/components/action-sheet/animations/md.enter.ts @@ -1,5 +1,6 @@ +import { createAnimation } from '@utils/animation/animation'; + import type { Animation } from '../../../interface'; -import { createAnimation } from '../../../utils/animation/animation'; /** * MD Action Sheet Enter Animation diff --git a/core/src/components/action-sheet/animations/md.leave.ts b/core/src/components/action-sheet/animations/md.leave.ts index 952dd8ac1d..56255b23f7 100644 --- a/core/src/components/action-sheet/animations/md.leave.ts +++ b/core/src/components/action-sheet/animations/md.leave.ts @@ -1,5 +1,6 @@ +import { createAnimation } from '@utils/animation/animation'; + import type { Animation } from '../../../interface'; -import { createAnimation } from '../../../utils/animation/animation'; /** * MD Action Sheet Leave Animation diff --git a/core/src/components/action-sheet/test/translucent/action-sheet.e2e.ts-snapshots/action-sheet-translucent-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/action-sheet/test/translucent/action-sheet.e2e.ts-snapshots/action-sheet-translucent-ios-ltr-Mobile-Firefox-linux.png index 40108b5517..19beb6fe82 100644 Binary files a/core/src/components/action-sheet/test/translucent/action-sheet.e2e.ts-snapshots/action-sheet-translucent-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/action-sheet/test/translucent/action-sheet.e2e.ts-snapshots/action-sheet-translucent-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/alert/alert.tsx b/core/src/components/alert/alert.tsx index 7c00a569d8..8ce5094492 100644 --- a/core/src/components/alert/alert.tsx +++ b/core/src/components/alert/alert.tsx @@ -1,12 +1,8 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Listen, Method, Prop, Watch, forceUpdate, h } from '@stencil/core'; - -import { config } from '../../global/config'; -import { getIonMode } from '../../global/ionic-global'; -import type { AnimationBuilder, CssClassMap, OverlayInterface, FrameworkDelegate } from '../../interface'; -import { ENABLE_HTML_CONTENT_DEFAULT } from '../../utils/config'; -import type { Gesture } from '../../utils/gesture'; -import { createButtonActiveGesture } from '../../utils/gesture/button-active'; +import { ENABLE_HTML_CONTENT_DEFAULT } from '@utils/config'; +import type { Gesture } from '@utils/gesture'; +import { createButtonActiveGesture } from '@utils/gesture/button-active'; import { createDelegateController, createTriggerController, @@ -18,11 +14,15 @@ import { present, safeCall, setOverlayId, -} from '../../utils/overlays'; +} from '@utils/overlays'; +import { sanitizeDOMString } from '@utils/sanitization'; +import { getClassMap } from '@utils/theme'; + +import { config } from '../../global/config'; +import { getIonMode } from '../../global/ionic-global'; +import type { AnimationBuilder, CssClassMap, OverlayInterface, FrameworkDelegate } from '../../interface'; import type { OverlayEventDetail } from '../../utils/overlays-interface'; import type { IonicSafeString } from '../../utils/sanitization'; -import { sanitizeDOMString } from '../../utils/sanitization'; -import { getClassMap } from '../../utils/theme'; import type { AlertButton, AlertInput } from './alert-interface'; import { iosEnterAnimation } from './animations/ios.enter'; diff --git a/core/src/components/alert/animations/ios.enter.ts b/core/src/components/alert/animations/ios.enter.ts index 839560fec6..ac7edcaabc 100644 --- a/core/src/components/alert/animations/ios.enter.ts +++ b/core/src/components/alert/animations/ios.enter.ts @@ -1,5 +1,6 @@ +import { createAnimation } from '@utils/animation/animation'; + import type { Animation } from '../../../interface'; -import { createAnimation } from '../../../utils/animation/animation'; /** * iOS Alert Enter Animation diff --git a/core/src/components/alert/animations/ios.leave.ts b/core/src/components/alert/animations/ios.leave.ts index ec4f4093f7..ac951b2b13 100644 --- a/core/src/components/alert/animations/ios.leave.ts +++ b/core/src/components/alert/animations/ios.leave.ts @@ -1,5 +1,6 @@ +import { createAnimation } from '@utils/animation/animation'; + import type { Animation } from '../../../interface'; -import { createAnimation } from '../../../utils/animation/animation'; /** * iOS Alert Leave Animation diff --git a/core/src/components/alert/animations/md.enter.ts b/core/src/components/alert/animations/md.enter.ts index 7d6b260dab..cc15d7a616 100644 --- a/core/src/components/alert/animations/md.enter.ts +++ b/core/src/components/alert/animations/md.enter.ts @@ -1,5 +1,6 @@ +import { createAnimation } from '@utils/animation/animation'; + import type { Animation } from '../../../interface'; -import { createAnimation } from '../../../utils/animation/animation'; /** * Md Alert Enter Animation diff --git a/core/src/components/alert/animations/md.leave.ts b/core/src/components/alert/animations/md.leave.ts index f2b5abd6fe..d4e1a85ddd 100644 --- a/core/src/components/alert/animations/md.leave.ts +++ b/core/src/components/alert/animations/md.leave.ts @@ -1,5 +1,6 @@ +import { createAnimation } from '@utils/animation/animation'; + import type { Animation } from '../../../interface'; -import { createAnimation } from '../../../utils/animation/animation'; /** * Md Alert Leave Animation diff --git a/core/src/components/app/app.tsx b/core/src/components/app/app.tsx index 9c3ba928f3..fd11019db2 100644 --- a/core/src/components/app/app.tsx +++ b/core/src/components/app/app.tsx @@ -1,9 +1,9 @@ import type { ComponentInterface } from '@stencil/core'; import { Build, Component, Element, Host, Method, h } from '@stencil/core'; +import { isPlatform } from '@utils/platform'; import { config } from '../../global/config'; import { getIonMode } from '../../global/ionic-global'; -import { isPlatform } from '../../utils/platform'; @Component({ tag: 'ion-app', diff --git a/core/src/components/back-button/back-button.ios.scss b/core/src/components/back-button/back-button.ios.scss index 73c7469157..dba2f52e18 100644 --- a/core/src/components/back-button/back-button.ios.scss +++ b/core/src/components/back-button/back-button.ios.scss @@ -38,11 +38,3 @@ opacity: .6; } } - - -// Back Button Color: Focused -// -------------------------------------------------- - -:host(.ion-color.ion-focused) .button-native::after { - background: #{current-color(base)}; -} diff --git a/core/src/components/back-button/back-button.tsx b/core/src/components/back-button/back-button.tsx index d7140f0811..b85e092eaf 100644 --- a/core/src/components/back-button/back-button.tsx +++ b/core/src/components/back-button/back-button.tsx @@ -1,14 +1,14 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Element, Host, Prop, h } from '@stencil/core'; +import type { ButtonInterface } from '@utils/element-interface'; +import type { Attributes } from '@utils/helpers'; +import { inheritAriaAttributes } from '@utils/helpers'; +import { createColorClasses, hostContext, openURL } from '@utils/theme'; import { arrowBackSharp, chevronBack } from 'ionicons/icons'; import { config } from '../../global/config'; import { getIonMode } from '../../global/ionic-global'; import type { AnimationBuilder, Color } from '../../interface'; -import type { ButtonInterface } from '../../utils/element-interface'; -import type { Attributes } from '../../utils/helpers'; -import { inheritAriaAttributes } from '../../utils/helpers'; -import { createColorClasses, hostContext, openURL } from '../../utils/theme'; /** * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. diff --git a/core/src/components/backdrop/backdrop.tsx b/core/src/components/backdrop/backdrop.tsx index ae6930120a..1e566a4bc8 100644 --- a/core/src/components/backdrop/backdrop.tsx +++ b/core/src/components/backdrop/backdrop.tsx @@ -1,8 +1,8 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Event, Host, Listen, Prop, h } from '@stencil/core'; +import { GESTURE_CONTROLLER } from '@utils/gesture'; import { getIonMode } from '../../global/ionic-global'; -import { GESTURE_CONTROLLER } from '../../utils/gesture'; @Component({ tag: 'ion-backdrop', diff --git a/core/src/components/badge/badge.tsx b/core/src/components/badge/badge.tsx index 92ffb9a047..e443c3513b 100644 --- a/core/src/components/badge/badge.tsx +++ b/core/src/components/badge/badge.tsx @@ -1,9 +1,9 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Host, Prop, h } from '@stencil/core'; +import { createColorClasses } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { Color } from '../../interface'; -import { createColorClasses } from '../../utils/theme'; /** * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. diff --git a/core/src/components/breadcrumb/breadcrumb.tsx b/core/src/components/breadcrumb/breadcrumb.tsx index 264b1919f9..1355022937 100644 --- a/core/src/components/breadcrumb/breadcrumb.tsx +++ b/core/src/components/breadcrumb/breadcrumb.tsx @@ -1,12 +1,12 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Prop, h } from '@stencil/core'; +import type { Attributes } from '@utils/helpers'; +import { inheritAriaAttributes } from '@utils/helpers'; +import { createColorClasses, hostContext, openURL } from '@utils/theme'; import { chevronForwardOutline, ellipsisHorizontal } from 'ionicons/icons'; import { getIonMode } from '../../global/ionic-global'; import type { AnimationBuilder, Color } from '../../interface'; -import type { Attributes } from '../../utils/helpers'; -import { inheritAriaAttributes } from '../../utils/helpers'; -import { createColorClasses, hostContext, openURL } from '../../utils/theme'; import type { RouterDirection } from '../router/utils/interface'; import type { BreadcrumbCollapsedClickEventDetail } from './breadcrumb-interface'; diff --git a/core/src/components/breadcrumbs/breadcrumbs.tsx b/core/src/components/breadcrumbs/breadcrumbs.tsx index 7b7bb2b738..7bba1284d1 100644 --- a/core/src/components/breadcrumbs/breadcrumbs.tsx +++ b/core/src/components/breadcrumbs/breadcrumbs.tsx @@ -1,9 +1,9 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Listen, Prop, State, Watch, h } from '@stencil/core'; +import { createColorClasses, hostContext } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { Color } from '../../interface'; -import { createColorClasses, hostContext } from '../../utils/theme'; import type { BreadcrumbCollapsedClickEventDetail } from '../breadcrumb/breadcrumb-interface'; /** diff --git a/core/src/components/button/button.tsx b/core/src/components/button/button.tsx index f187c429f1..a4e73d15f7 100644 --- a/core/src/components/button/button.tsx +++ b/core/src/components/button/button.tsx @@ -1,13 +1,13 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Prop, h } from '@stencil/core'; +import type { AnchorInterface, ButtonInterface } from '@utils/element-interface'; +import type { Attributes } from '@utils/helpers'; +import { inheritAriaAttributes, hasShadowDom } from '@utils/helpers'; +import { printIonWarning } from '@utils/logging'; +import { createColorClasses, hostContext, openURL } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { AnimationBuilder, Color } from '../../interface'; -import type { AnchorInterface, ButtonInterface } from '../../utils/element-interface'; -import type { Attributes } from '../../utils/helpers'; -import { inheritAriaAttributes, hasShadowDom } from '../../utils/helpers'; -import { printIonWarning } from '../../utils/logging'; -import { createColorClasses, hostContext, openURL } from '../../utils/theme'; import type { RouterDirection } from '../router/utils/interface'; /** diff --git a/core/src/components/button/test/round/button.e2e.ts-snapshots/button-round-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/button/test/round/button.e2e.ts-snapshots/button-round-ios-ltr-Mobile-Firefox-linux.png index a6bfc2f179..df9290e116 100644 Binary files a/core/src/components/button/test/round/button.e2e.ts-snapshots/button-round-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/button/test/round/button.e2e.ts-snapshots/button-round-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/card-header/card-header.tsx b/core/src/components/card-header/card-header.tsx index d4b463451b..982cf513ea 100644 --- a/core/src/components/card-header/card-header.tsx +++ b/core/src/components/card-header/card-header.tsx @@ -1,9 +1,9 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Host, Prop, h } from '@stencil/core'; +import { createColorClasses } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { Color } from '../../interface'; -import { createColorClasses } from '../../utils/theme'; /** * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. diff --git a/core/src/components/card-subtitle/card-subtitle.tsx b/core/src/components/card-subtitle/card-subtitle.tsx index 4d00466435..898e2cb8d6 100644 --- a/core/src/components/card-subtitle/card-subtitle.tsx +++ b/core/src/components/card-subtitle/card-subtitle.tsx @@ -1,9 +1,9 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Host, Prop, h } from '@stencil/core'; +import { createColorClasses } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { Color } from '../../interface'; -import { createColorClasses } from '../../utils/theme'; /** * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. diff --git a/core/src/components/card-title/card-title.tsx b/core/src/components/card-title/card-title.tsx index 2afec8b259..53cb8bc606 100644 --- a/core/src/components/card-title/card-title.tsx +++ b/core/src/components/card-title/card-title.tsx @@ -1,9 +1,9 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Host, Prop, h } from '@stencil/core'; +import { createColorClasses } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { Color } from '../../interface'; -import { createColorClasses } from '../../utils/theme'; /** * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. diff --git a/core/src/components/card/card.tsx b/core/src/components/card/card.tsx index 641c745559..68e21d0ba5 100644 --- a/core/src/components/card/card.tsx +++ b/core/src/components/card/card.tsx @@ -1,12 +1,12 @@ import type { ComponentInterface } from '@stencil/core'; import { Element, Component, Host, Prop, h } from '@stencil/core'; +import type { AnchorInterface, ButtonInterface } from '@utils/element-interface'; +import type { Attributes } from '@utils/helpers'; +import { inheritAttributes } from '@utils/helpers'; +import { createColorClasses, openURL } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { AnimationBuilder, Color, Mode } from '../../interface'; -import type { AnchorInterface, ButtonInterface } from '../../utils/element-interface'; -import type { Attributes } from '../../utils/helpers'; -import { inheritAttributes } from '../../utils/helpers'; -import { createColorClasses, openURL } from '../../utils/theme'; import type { RouterDirection } from '../router/utils/interface'; /** diff --git a/core/src/components/checkbox/checkbox.scss b/core/src/components/checkbox/checkbox.scss index 24188dbc33..9f2b6269ea 100644 --- a/core/src/components/checkbox/checkbox.scss +++ b/core/src/components/checkbox/checkbox.scss @@ -1,4 +1,5 @@ @import "../../themes/ionic.globals"; +@import "./checkbox.vars.scss"; // Checkbox // -------------------------------------------------- @@ -103,6 +104,10 @@ overflow: hidden; } +:host(.in-item:not(.legacy-checkbox)) .label-text-wrapper { + @include margin($checkbox-item-label-margin-top, null, $checkbox-item-label-margin-bottom, null); +} + /** * If no label text is placed into the slot * then the element should be hidden otherwise @@ -194,7 +199,7 @@ input { * the checkbox should be on the end * when the label sits at the start. */ - @include margin(0, $form-control-label-margin, 0, 0); + @include margin(null, $form-control-label-margin, null, 0); } @@ -215,7 +220,7 @@ input { * when the label sits at the end. */ :host(.checkbox-label-placement-end) .label-text-wrapper { - @include margin(0, 0, 0, $form-control-label-margin); + @include margin(null, 0, null, $form-control-label-margin); } @@ -228,7 +233,7 @@ input { * the checkbox should be on the end * when the label sits at the start. */ - @include margin(0, $form-control-label-margin, 0, 0); + @include margin(null, $form-control-label-margin, null, 0); } /** diff --git a/core/src/components/checkbox/checkbox.tsx b/core/src/components/checkbox/checkbox.tsx index 7a2386f01a..08cfc581ff 100644 --- a/core/src/components/checkbox/checkbox.tsx +++ b/core/src/components/checkbox/checkbox.tsx @@ -1,15 +1,14 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Prop, Watch, h } from '@stencil/core'; +import type { LegacyFormController } from '@utils/forms'; +import { createLegacyFormController } from '@utils/forms'; +import type { Attributes } from '@utils/helpers'; +import { getAriaLabel, inheritAriaAttributes, renderHiddenInput } from '@utils/helpers'; +import { printIonWarning } from '@utils/logging'; +import { createColorClasses, hostContext } from '@utils/theme'; -// TODO(FW-2845) - Use @utils/forms and @utils/logging when https://github.com/ionic-team/stencil/issues/3826 is resolved import { getIonMode } from '../../global/ionic-global'; import type { Color, Mode, StyleEventDetail } from '../../interface'; -import type { LegacyFormController } from '../../utils/forms'; -import { createLegacyFormController } from '../../utils/forms'; -import type { Attributes } from '../../utils/helpers'; -import { getAriaLabel, inheritAriaAttributes, renderHiddenInput } from '../../utils/helpers'; -import { printIonWarning } from '../../utils/logging'; -import { createColorClasses, hostContext } from '../../utils/theme'; import type { CheckboxChangeEventDetail } from './checkbox-interface'; diff --git a/core/src/components/checkbox/checkbox.vars.scss b/core/src/components/checkbox/checkbox.vars.scss new file mode 100644 index 0000000000..2116a369e8 --- /dev/null +++ b/core/src/components/checkbox/checkbox.vars.scss @@ -0,0 +1,5 @@ +/// @prop - Top margin of checkbox's label when in an item +$checkbox-item-label-margin-top: 10px !default; + +/// @prop - Bottom margin of checkbox's label when in an item +$checkbox-item-label-margin-bottom: 10px !default; \ No newline at end of file diff --git a/core/src/components/checkbox/test/item/checkbox.e2e.ts b/core/src/components/checkbox/test/item/checkbox.e2e.ts index 676d8ebf75..7162857e85 100644 --- a/core/src/components/checkbox/test/item/checkbox.e2e.ts +++ b/core/src/components/checkbox/test/item/checkbox.e2e.ts @@ -50,3 +50,24 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { }); }); }); + +configs({ directions: ['ltr'], modes: ['md'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('checkbox: long label in item'), () => { + test('should render margins correctly when using long label in item', async ({ page }) => { + await page.setContent( + ` + + + + Enable Notifications Enable Notifications Enable Notifications + + + + `, + config + ); + const list = page.locator('ion-list'); + expect(await list.screenshot()).toMatchSnapshot(screenshot(`checkbox-long-label-in-item`)); + }); + }); +}); diff --git a/core/src/components/checkbox/test/item/checkbox.e2e.ts-snapshots/checkbox-long-label-in-item-md-ltr-Mobile-Chrome-linux.png b/core/src/components/checkbox/test/item/checkbox.e2e.ts-snapshots/checkbox-long-label-in-item-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..25884f0428 Binary files /dev/null and b/core/src/components/checkbox/test/item/checkbox.e2e.ts-snapshots/checkbox-long-label-in-item-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/checkbox/test/item/checkbox.e2e.ts-snapshots/checkbox-long-label-in-item-md-ltr-Mobile-Firefox-linux.png b/core/src/components/checkbox/test/item/checkbox.e2e.ts-snapshots/checkbox-long-label-in-item-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..fc9274c51a Binary files /dev/null and b/core/src/components/checkbox/test/item/checkbox.e2e.ts-snapshots/checkbox-long-label-in-item-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/checkbox/test/item/checkbox.e2e.ts-snapshots/checkbox-long-label-in-item-md-ltr-Mobile-Safari-linux.png b/core/src/components/checkbox/test/item/checkbox.e2e.ts-snapshots/checkbox-long-label-in-item-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..b92c6febf2 Binary files /dev/null and b/core/src/components/checkbox/test/item/checkbox.e2e.ts-snapshots/checkbox-long-label-in-item-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/checkbox/test/item/index.html b/core/src/components/checkbox/test/item/index.html index a1628f44bd..156e3ca6dc 100644 --- a/core/src/components/checkbox/test/item/index.html +++ b/core/src/components/checkbox/test/item/index.html @@ -148,6 +148,19 @@ + +

Multiline Label

+
+
+ + + + Enable Notifications Enable Notifications Enable Notifications + + + +
+
diff --git a/core/src/components/chip/chip.tsx b/core/src/components/chip/chip.tsx index 51100a992f..35f052b766 100644 --- a/core/src/components/chip/chip.tsx +++ b/core/src/components/chip/chip.tsx @@ -1,9 +1,9 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Host, Prop, h } from '@stencil/core'; +import { createColorClasses } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { Color } from '../../interface'; -import { createColorClasses } from '../../utils/theme'; /** * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. diff --git a/core/src/components/col/col.tsx b/core/src/components/col/col.tsx index 7bea442b76..80480dfe7c 100644 --- a/core/src/components/col/col.tsx +++ b/core/src/components/col/col.tsx @@ -1,8 +1,8 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Host, Listen, Prop, forceUpdate, h } from '@stencil/core'; +import { matchBreakpoint } from '@utils/media'; import { getIonMode } from '../../global/ionic-global'; -import { matchBreakpoint } from '../../utils/media'; const win = typeof (window as any) !== 'undefined' ? (window as any) : undefined; // eslint-disable-next-line @typescript-eslint/prefer-optional-chain diff --git a/core/src/components/content/content.tsx b/core/src/components/content/content.tsx index 5a1e208563..f0de55608e 100644 --- a/core/src/components/content/content.tsx +++ b/core/src/components/content/content.tsx @@ -1,12 +1,12 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Build, Component, Element, Event, Host, Listen, Method, Prop, forceUpdate, h, readTask } from '@stencil/core'; +import { componentOnReady } from '@utils/helpers'; +import { isPlatform } from '@utils/platform'; +import { isRTL } from '@utils/rtl'; +import { createColorClasses, hostContext } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { Color } from '../../interface'; -import { componentOnReady } from '../../utils/helpers'; -import { isPlatform } from '../../utils/platform'; -import { isRTL } from '../../utils/rtl'; -import { createColorClasses, hostContext } from '../../utils/theme'; import type { ScrollBaseDetail, ScrollDetail } from './content-interface'; diff --git a/core/src/components/datetime-button/datetime-button.tsx b/core/src/components/datetime-button/datetime-button.tsx index 68b4a7ddf0..46aa2a3b07 100644 --- a/core/src/components/datetime-button/datetime-button.tsx +++ b/core/src/components/datetime-button/datetime-button.tsx @@ -1,11 +1,11 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Element, Host, Prop, State, h } from '@stencil/core'; +import { componentOnReady, addEventListener } from '@utils/helpers'; +import { printIonError } from '@utils/logging'; +import { createColorClasses } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { Color } from '../../interface'; -import { componentOnReady, addEventListener } from '../../utils/helpers'; -import { printIonError } from '../../utils/logging'; -import { createColorClasses } from '../../utils/theme'; import type { DatetimePresentation } from '../datetime/datetime-interface'; import { getToday } from '../datetime/utils/data'; import { getMonthAndYear, getMonthDayAndYear, getLocalizedDateTime, getLocalizedTime } from '../datetime/utils/format'; diff --git a/core/src/components/datetime/datetime.md.scss b/core/src/components/datetime/datetime.md.scss index 832b61fec8..97bb2e3fc2 100644 --- a/core/src/components/datetime/datetime.md.scss +++ b/core/src/components/datetime/datetime.md.scss @@ -36,7 +36,7 @@ :host .calendar-action-buttons ion-item, :host .calendar-action-buttons ion-button { - color: #{$text-color-step-350}; + --color: #{$text-color-step-350}; } // Calendar / Header / Days of Week diff --git a/core/src/components/datetime/datetime.scss b/core/src/components/datetime/datetime.scss index 3bd90f3bb2..34eca2603c 100644 --- a/core/src/components/datetime/datetime.scss +++ b/core/src/components/datetime/datetime.scss @@ -8,6 +8,12 @@ * @prop --background: The primary background of the datetime component. * @prop --background-rgb: The primary background of the datetime component in RGB format. * @prop --title-color: The text color of the title. + * + * @prop --wheel-highlight-background: The background of the highlight under the selected + * item when using a wheel style layout, or in the month/year picker for grid style layouts. + * @prop --wheel-fade-background-rgb: The color of the gradient covering non-selected items + * when using a wheel style layout, or in the month/year picker for grid style layouts. Must + * be in RGB format, e.g. `255, 255, 255`. */ display: flex; diff --git a/core/src/components/datetime/datetime.tsx b/core/src/components/datetime/datetime.tsx index 1278693e90..a09eb0fdad 100644 --- a/core/src/components/datetime/datetime.tsx +++ b/core/src/components/datetime/datetime.tsx @@ -1,14 +1,14 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Method, Prop, State, Watch, h, writeTask } from '@stencil/core'; +import { startFocusVisible } from '@utils/focus-visible'; +import { getElementRoot, raf, renderHiddenInput } from '@utils/helpers'; +import { printIonError, printIonWarning } from '@utils/logging'; +import { isRTL } from '@utils/rtl'; +import { createColorClasses } from '@utils/theme'; import { caretDownSharp, caretUpSharp, chevronBack, chevronDown, chevronForward } from 'ionicons/icons'; import { getIonMode } from '../../global/ionic-global'; import type { Color, Mode, StyleEventDetail } from '../../interface'; -import { startFocusVisible } from '../../utils/focus-visible'; -import { getElementRoot, raf, renderHiddenInput } from '../../utils/helpers'; -import { printIonError, printIonWarning } from '../../utils/logging'; -import { isRTL } from '../../utils/rtl'; -import { createColorClasses } from '../../utils/theme'; import type { PickerColumnItem } from '../picker-column-internal/picker-column-internal-interfaces'; import type { @@ -74,6 +74,17 @@ import { * @slot title - The title of the datetime. * @slot buttons - The buttons in the datetime. * @slot time-label - The label for the time selector in the datetime. + * + * @part wheel-item - The individual items when using a wheel style layout, or in the + * month/year picker when using a grid style layout. + * @part wheel-item active - The currently selected wheel-item. + * + * @part time-button - The button that opens the time picker when using a grid style + * layout with `presentation="date-time"` or `"time-date"`. + * @part time-button active - The time picker button when the picker is open. + * + * @part month-year-button - The button that opens the month/year picker when + * using a grid style layout. */ @Component({ tag: 'ion-datetime', @@ -231,7 +242,7 @@ export class Datetime implements ComponentInterface { * the year values range between the `min` and `max` datetime inputs. However, to * control exactly which years to display, the `yearValues` input can take a number, an array * of numbers, or string of comma separated numbers. For example, to show upcoming and - * recent leap years, then this input's value would be `yearValues="2024,2020,2016,2012,2008"`. + * recent leap years, then this input's value would be `yearValues="2008,2012,2016,2020,2024"`. */ @Prop() yearValues?: number[] | number | string; @Watch('yearValues') @@ -1920,6 +1931,7 @@ export class Datetime implements ComponentInterface {
(this.monthYearToggleItemRef = el)} button aria-label="Show year picker" @@ -2167,7 +2179,8 @@ export class Datetime implements ComponentInterface { } private renderTimeOverlay() { - const use24Hour = is24Hour(this.locale, this.hourCycle); + const { hourCycle, isTimePopoverOpen, locale } = this; + const use24Hour = is24Hour(locale, hourCycle); const activePart = this.getActivePartsWithFallback(); return [ @@ -2175,8 +2188,9 @@ export class Datetime implements ComponentInterface { , { + test.describe(title('datetime: custom'), () => { + test.beforeEach(async ({ page }) => { + await page.goto(`/src/components/datetime/test/custom`, config); + }); + + test('should allow styling wheel style datetimes', async ({ page }) => { + const datetime = page.locator('#custom-wheel'); + + await expect(datetime).toHaveScreenshot(screenshot(`datetime-custom-wheel`)); + }); + + test('should allow styling month/year picker in grid style datetimes', async ({ page }) => { + const datetime = page.locator('#custom-grid'); + const monthYearToggle = datetime.locator('.calendar-month-year'); + + await monthYearToggle.click(); + await page.waitForChanges(); + + await expect(datetime).toHaveScreenshot(screenshot(`datetime-custom-month-year`)); + }); + + test('should allow styling time picker in grid style datetimes', async ({ page }) => { + const timeButton = page.locator('ion-datetime .time-body'); + const popover = page.locator('.popover-viewport'); + const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + + await expect(timeButton).toHaveScreenshot(screenshot(`datetime-custom-time-button`)); + + await timeButton.click(); + await ionPopoverDidPresent.next(); + + await expect(popover).toHaveScreenshot(screenshot(`datetime-custom-time-picker`)); + await expect(timeButton).toHaveScreenshot(screenshot(`datetime-custom-time-button-active`)); + }); + }); +}); diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..1bfe630bf4 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..7fa479c096 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..b6e53a62ad Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..09e1a507ad Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..48521ceaed Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..689108370e Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-month-year-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..912df56ea9 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..d42fedf747 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..7c5a8a3dd6 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..ff38ee55f4 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..c1e3fe559d Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..f6a23c7a14 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-active-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..c56abdbba7 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..c84b92e3f3 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..52b7447a67 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..6c44ee7a68 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..73c0ea15fb Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..ea1d2a3cf3 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-button-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..26407824fb Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..b12a1f8b12 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..af2ff059e1 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..6dc7b71ce3 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..ee7bf829ec Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..a560454e4d Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-time-picker-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..431c7cc96d Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..a855426ba0 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..2a7ae19d73 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..3254451986 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..82c71323a6 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..54116af529 Binary files /dev/null and b/core/src/components/datetime/test/custom/datetime.e2e.ts-snapshots/datetime-custom-wheel-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/custom/index.html b/core/src/components/datetime/test/custom/index.html new file mode 100644 index 0000000000..722a026dc5 --- /dev/null +++ b/core/src/components/datetime/test/custom/index.html @@ -0,0 +1,98 @@ + + + + + Datetime - Custom + + + + + + + + + + + + + Datetime - Custom + + + +
+
+

Grid Style

+ +
+
+

Wheel Style

+ +
+
+
+
+ + diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Chrome-linux.png index d3c61f76b1..fdce2a483c 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Firefox-linux.png index 02a245b3b5..d7b4b1022c 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Safari-linux.png index 31031b961a..1ace75c078 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Chrome-linux.png index 7f3a890964..a051e0d0ce 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Firefox-linux.png index 79ff8e263e..55eeb7b0b3 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Safari-linux.png index feef78d2e0..8d6f69ad61 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-month-year-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Chrome-linux.png index 8c6820ce99..4fc7722a01 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Firefox-linux.png index 803a4c894e..167901c197 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Safari-linux.png index a62ddaa286..405d517599 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Chrome-linux.png index 7ea82d8929..2d91e8b490 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Firefox-linux.png index 7ce582afdd..e79a0cc52e 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Safari-linux.png index 980e90e54a..86580475f0 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-es-ES-month-year-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Chrome-linux.png index 2bd4569a5b..dd3e99ac66 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Firefox-linux.png index 4969c53910..6a0e81e094 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Safari-linux.png index dc855ae729..b016e797c5 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Chrome-linux.png index a42c846527..aa05f01dca 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Firefox-linux.png index 3d2d2d7519..f8cfc12ca6 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Safari-linux.png index 15080052bc..e6cbd4758a 100644 Binary files a/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-ja-JP-month-year-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Chrome-linux.png index 0969f4e04d..fc1f88eebf 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Firefox-linux.png index babb265e5d..5ff8f9ff3e 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Safari-linux.png index 4fdc8afbc8..8f74982cb6 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Chrome-linux.png index 0969f4e04d..fc1f88eebf 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Firefox-linux.png index babb265e5d..5ff8f9ff3e 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Safari-linux.png index 4fdc8afbc8..8f74982cb6 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Chrome-linux.png index 834cd28f53..609b4f8867 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Firefox-linux.png index dc19979e8e..a4d502fe6e 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Safari-linux.png index 04450f0810..507cb99796 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Chrome-linux.png index 834cd28f53..609b4f8867 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Firefox-linux.png index dc19979e8e..a4d502fe6e 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Safari-linux.png index 04450f0810..507cb99796 100644 Binary files a/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/prefer-wheel/datetime.e2e.ts-snapshots/datetime-wheel-date-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-date-time-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-month-year-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-date-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-time-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Chrome-linux.png index ae6ddb3d25..9788a7217a 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Firefox-linux.png index e33921786d..7a85b777b7 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Safari-linux.png index 803b62cf3f..cb65ee81f5 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Chrome-linux.png index 5243a93e95..62814046bc 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Firefox-linux.png index 3abbbe9dcc..d1e133f2e6 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Safari-linux.png index 9c60c0ffe2..55aaeb1c21 100644 Binary files a/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/datetime/test/presentation/datetime.e2e.ts-snapshots/datetime-presentation-year-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/datetime/utils/comparison.ts b/core/src/components/datetime/utils/comparison.ts index b35a81b0e1..0507b16908 100644 --- a/core/src/components/datetime/utils/comparison.ts +++ b/core/src/components/datetime/utils/comparison.ts @@ -1,4 +1,5 @@ -import { printIonWarning } from '../../../utils/logging'; +import { printIonWarning } from '@utils/logging'; + import type { DatetimeParts } from '../datetime-interface'; /** diff --git a/core/src/components/datetime/utils/data.ts b/core/src/components/datetime/utils/data.ts index 6de3aae2a6..a4609a9be9 100644 --- a/core/src/components/datetime/utils/data.ts +++ b/core/src/components/datetime/utils/data.ts @@ -411,7 +411,7 @@ export const getYearColumnData = ( const maxYear = maxParts?.year ?? year; const minYear = minParts?.year ?? year - 100; - for (let i = maxYear; i >= minYear; i--) { + for (let i = minYear; i <= maxYear; i++) { processedYears.push(i); } } diff --git a/core/src/components/datetime/utils/state.ts b/core/src/components/datetime/utils/state.ts index d2a886537a..f709d7289a 100644 --- a/core/src/components/datetime/utils/state.ts +++ b/core/src/components/datetime/utils/state.ts @@ -1,4 +1,5 @@ -import { printIonError } from '../../../utils/logging'; +import { printIonError } from '@utils/logging'; + import type { DatetimeHighlight, DatetimeHighlightCallback, diff --git a/core/src/components/fab-button/fab-button.tsx b/core/src/components/fab-button/fab-button.tsx index a98052897c..2a7a4a6198 100755 --- a/core/src/components/fab-button/fab-button.tsx +++ b/core/src/components/fab-button/fab-button.tsx @@ -1,13 +1,13 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Prop, h } from '@stencil/core'; +import type { AnchorInterface, ButtonInterface } from '@utils/element-interface'; +import { inheritAriaAttributes } from '@utils/helpers'; +import type { Attributes } from '@utils/helpers'; +import { createColorClasses, hostContext, openURL } from '@utils/theme'; import { close } from 'ionicons/icons'; import { getIonMode } from '../../global/ionic-global'; import type { AnimationBuilder, Color } from '../../interface'; -import type { AnchorInterface, ButtonInterface } from '../../utils/element-interface'; -import { inheritAriaAttributes } from '../../utils/helpers'; -import type { Attributes } from '../../utils/helpers'; -import { createColorClasses, hostContext, openURL } from '../../utils/theme'; import type { RouterDirection } from '../router/utils/interface'; /** diff --git a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-ltr-Mobile-Firefox-linux.png index aea81d2fc1..98ac83df2e 100644 Binary files a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Firefox-linux.png index aefd887da2..f6b5d1a700 100644 Binary files a/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/fab/test/basic/fab.e2e.ts-snapshots/fab-open-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/footer/footer.tsx b/core/src/components/footer/footer.tsx index 11e3947ec5..e857f9afda 100644 --- a/core/src/components/footer/footer.tsx +++ b/core/src/components/footer/footer.tsx @@ -1,10 +1,10 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Element, Host, Prop, State, h } from '@stencil/core'; +import { findIonContent, getScrollElement, printIonContentErrorMsg } from '@utils/content'; +import type { KeyboardController } from '@utils/keyboard/keyboard-controller'; +import { createKeyboardController } from '@utils/keyboard/keyboard-controller'; import { getIonMode } from '../../global/ionic-global'; -import { findIonContent, getScrollElement, printIonContentErrorMsg } from '../../utils/content'; -import type { KeyboardController } from '../../utils/keyboard/keyboard-controller'; -import { createKeyboardController } from '../../utils/keyboard/keyboard-controller'; import { handleFooterFade } from './footer.utils'; diff --git a/core/src/components/footer/footer.utils.ts b/core/src/components/footer/footer.utils.ts index 0ceae14057..a269ffb072 100644 --- a/core/src/components/footer/footer.utils.ts +++ b/core/src/components/footer/footer.utils.ts @@ -1,6 +1,5 @@ import { readTask, writeTask } from '@stencil/core'; - -import { clamp } from '../../utils/helpers'; +import { clamp } from '@utils/helpers'; export const handleFooterFade = (scrollEl: HTMLElement, baseEl: HTMLElement) => { readTask(() => { diff --git a/core/src/components/header/header.tsx b/core/src/components/header/header.tsx index 35b476d8fb..6b2102a7db 100644 --- a/core/src/components/header/header.tsx +++ b/core/src/components/header/header.tsx @@ -1,11 +1,11 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Element, Host, Prop, h, writeTask } from '@stencil/core'; +import { findIonContent, getScrollElement, printIonContentErrorMsg } from '@utils/content'; +import type { Attributes } from '@utils/helpers'; +import { inheritAriaAttributes } from '@utils/helpers'; +import { hostContext } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; -import { findIonContent, getScrollElement, printIonContentErrorMsg } from '../../utils/content'; -import type { Attributes } from '../../utils/helpers'; -import { inheritAriaAttributes } from '../../utils/helpers'; -import { hostContext } from '../../utils/theme'; import { cloneElement, diff --git a/core/src/components/header/header.utils.ts b/core/src/components/header/header.utils.ts index 77c3807cfe..f1b6273ef5 100644 --- a/core/src/components/header/header.utils.ts +++ b/core/src/components/header/header.utils.ts @@ -1,6 +1,5 @@ import { readTask, writeTask } from '@stencil/core'; - -import { clamp } from '../../utils/helpers'; +import { clamp } from '@utils/helpers'; const TRANSITION = 'all 0.2s ease-in-out'; diff --git a/core/src/components/img/img.tsx b/core/src/components/img/img.tsx index cee4c6f9fd..c83f0fab3c 100644 --- a/core/src/components/img/img.tsx +++ b/core/src/components/img/img.tsx @@ -1,9 +1,9 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Prop, State, Watch, h } from '@stencil/core'; +import type { Attributes } from '@utils/helpers'; +import { inheritAttributes } from '@utils/helpers'; import { getIonMode } from '../../global/ionic-global'; -import type { Attributes } from '../../utils/helpers'; -import { inheritAttributes } from '../../utils/helpers'; /** * @part image - The inner `img` element. diff --git a/core/src/components/infinite-scroll-content/infinite-scroll-content.tsx b/core/src/components/infinite-scroll-content/infinite-scroll-content.tsx index 747d6fab63..841ff278b0 100644 --- a/core/src/components/infinite-scroll-content/infinite-scroll-content.tsx +++ b/core/src/components/infinite-scroll-content/infinite-scroll-content.tsx @@ -1,11 +1,11 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Host, Prop, h } from '@stencil/core'; +import { ENABLE_HTML_CONTENT_DEFAULT } from '@utils/config'; +import { sanitizeDOMString } from '@utils/sanitization'; import { config } from '../../global/config'; import { getIonMode } from '../../global/ionic-global'; -import { ENABLE_HTML_CONTENT_DEFAULT } from '../../utils/config'; import type { IonicSafeString } from '../../utils/sanitization'; -import { sanitizeDOMString } from '../../utils/sanitization'; import type { SpinnerTypes } from '../spinner/spinner-configs'; @Component({ diff --git a/core/src/components/infinite-scroll/infinite-scroll.tsx b/core/src/components/infinite-scroll/infinite-scroll.tsx index f2c04fab73..190fab5863 100644 --- a/core/src/components/infinite-scroll/infinite-scroll.tsx +++ b/core/src/components/infinite-scroll/infinite-scroll.tsx @@ -1,8 +1,8 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Method, Prop, State, Watch, h, readTask, writeTask } from '@stencil/core'; +import { findClosestIonContent, getScrollElement, printIonContentErrorMsg } from '@utils/content'; import { getIonMode } from '../../global/ionic-global'; -import { findClosestIonContent, getScrollElement, printIonContentErrorMsg } from '../../utils/content'; @Component({ tag: 'ion-infinite-scroll', diff --git a/core/src/components/input/input.md.outline.scss b/core/src/components/input/input.md.outline.scss index 30367cf807..4efbd2fcdd 100644 --- a/core/src/components/input/input.md.outline.scss +++ b/core/src/components/input/input.md.outline.scss @@ -172,6 +172,16 @@ opacity: 0; pointer-events: none; + + /** + * The spacer currently inherits + * border-box sizing from the Ionic reset styles. + * However, we do not want to include padding in + * the calculation of the element dimensions. + * This code can be removed if input is updated + * to use the Shadow DOM. + */ + box-sizing: content-box; } :host(.input-fill-outline) .input-outline-start { diff --git a/core/src/components/input/input.scss b/core/src/components/input/input.scss index ab0cf76b37..4a18956e01 100644 --- a/core/src/components/input/input.scss +++ b/core/src/components/input/input.scss @@ -463,7 +463,8 @@ * works on block-level elements. A flex item is * considered blockified (https://www.w3.org/TR/css-display-3/#blockify). */ -.label-text { +.label-text, +::slotted([slot="label"]) { text-overflow: ellipsis; white-space: nowrap; @@ -471,6 +472,16 @@ overflow: hidden; } +/** + * If no label text is placed into the slot + * then the element should be hidden otherwise + * there will be additional margins added. + */ +.label-text-wrapper-hidden, +.input-outline-notch-hidden { + display: none; +} + .input-wrapper input { /** * When the floating label appears on top of the diff --git a/core/src/components/input/input.tsx b/core/src/components/input/input.tsx index 166f5c2539..edbc963c37 100644 --- a/core/src/components/input/input.tsx +++ b/core/src/components/input/input.tsx @@ -1,21 +1,25 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; -import { Build, Component, Element, Event, Host, Method, Prop, State, Watch, h } from '@stencil/core'; +import { Build, Component, Element, Event, Host, Method, Prop, State, Watch, forceUpdate, h } from '@stencil/core'; +import type { LegacyFormController, NotchController } from '@utils/forms'; +import { createLegacyFormController, createNotchController } from '@utils/forms'; +import type { Attributes } from '@utils/helpers'; +import { inheritAriaAttributes, debounceEvent, findItemLabel, inheritAttributes } from '@utils/helpers'; +import { printIonWarning } from '@utils/logging'; +import { createSlotMutationController } from '@utils/slot-mutation-controller'; +import type { SlotMutationController } from '@utils/slot-mutation-controller'; +import { createColorClasses, hostContext } from '@utils/theme'; import { closeCircle, closeSharp } from 'ionicons/icons'; import { getIonMode } from '../../global/ionic-global'; import type { AutocompleteTypes, Color, StyleEventDetail, TextFieldTypes } from '../../interface'; -import type { LegacyFormController } from '../../utils/forms'; -import { createLegacyFormController } from '../../utils/forms'; -import type { Attributes } from '../../utils/helpers'; -import { inheritAriaAttributes, debounceEvent, findItemLabel, inheritAttributes } from '../../utils/helpers'; -import { printIonWarning } from '../../utils/logging'; -import { createColorClasses, hostContext } from '../../utils/theme'; import type { InputChangeEventDetail, InputInputEventDetail } from './input-interface'; import { getCounterText } from './input.utils'; /** * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. + * + * @slot label - The label text to associate with the input. Use the `labelPlacement` property to control where the label is placed relative to the input. Use this if you need to render a label with custom HTML. (EXPERIMENTAL) */ @Component({ tag: 'ion-input', @@ -31,6 +35,9 @@ export class Input implements ComponentInterface { private inheritedAttributes: Attributes = {}; private isComposing = false; private legacyFormController!: LegacyFormController; + private slotMutationController?: SlotMutationController; + private notchController?: NotchController; + private notchSpacerEl: HTMLElement | undefined; // This flag ensures we log the deprecation warning at most once. private hasLoggedDeprecationWarning = false; @@ -165,6 +172,10 @@ export class Input implements ComponentInterface { /** * The visible label associated with the input. + * + * Use this if you need to render a plaintext label. + * + * The `label` property will take priority over the `label` slot if both are used. */ @Prop() label?: string; @@ -273,8 +284,9 @@ export class Input implements ComponentInterface { @Prop({ mutable: true }) value?: string | number | null = ''; /** - * The `ionInput` event fires when the `value` of an `` element - * has been changed. + * The `ionInput` event is fired each time the user modifies the input's value. + * Unlike the `ionChange` event, the `ionInput` event is fired for each alteration + * to the input's value. This typically happens for each keystroke as the user types. * * For elements that accept text input (`type=text`, `type=tel`, etc.), the interface * is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others, @@ -284,9 +296,9 @@ export class Input implements ComponentInterface { @Event() ionInput!: EventEmitter; /** - * The `ionChange` event is fired for `` elements when the user - * modifies the element's value. Unlike the `ionInput` event, the `ionChange` - * event is not necessarily fired for each alteration to an element's value. + * The `ionChange` event is fired when the user modifies the input's value. + * Unlike the `ionInput` event, the `ionChange` event is only fired when changes + * are committed, not as the user types. * * Depending on the way the users interacts with the element, the `ionChange` * event fires at a different moment: @@ -353,6 +365,12 @@ export class Input implements ComponentInterface { const { el } = this; this.legacyFormController = createLegacyFormController(el); + this.slotMutationController = createSlotMutationController(el, 'label', () => forceUpdate(this)); + this.notchController = createNotchController( + el, + () => this.notchSpacerEl, + () => this.labelSlot + ); this.emitStyle(); this.debounceChanged(); @@ -369,6 +387,10 @@ export class Input implements ComponentInterface { this.originalIonInput = this.ionInput; } + componentDidRender() { + this.notchController?.calculateNotchWidth(); + } + disconnectedCallback() { if (Build.isBrowser) { document.dispatchEvent( @@ -377,6 +399,16 @@ export class Input implements ComponentInterface { }) ); } + + if (this.slotMutationController) { + this.slotMutationController.destroy(); + this.slotMutationController = undefined; + } + + if (this.notchController) { + this.notchController.destroy(); + this.notchController = undefined; + } } /** @@ -578,17 +610,37 @@ export class Input implements ComponentInterface { private renderLabel() { const { label } = this; - if (label === undefined) { - return; - } return ( -
-
{this.label}
+
+ {label === undefined ? :
{label}
}
); } + /** + * Gets any content passed into the `label` slot, + * not the definition. + */ + private get labelSlot() { + return this.el.querySelector('[slot="label"]'); + } + + /** + * Returns `true` if label content is provided + * either by a prop or a content. If you want + * to get the plaintext value of the label use + * the `labelText` getter instead. + */ + private get hasLabel() { + return this.label !== undefined || this.labelSlot !== null; + } + /** * Renders the border container * when fill="outline". @@ -608,8 +660,13 @@ export class Input implements ComponentInterface { return [
-
- +

Label Property

+
+
+

Placement Start

+ +
+
+

Placement End

+ +
+
+

Placement Fixed

+ +
+
+

Slotted Items

diff --git a/core/src/components/range/test/label/range.e2e.ts b/core/src/components/range/test/label/range.e2e.ts index 9e90103f04..dac0fbc443 100644 --- a/core/src/components/range/test/label/range.e2e.ts +++ b/core/src/components/range/test/label/range.e2e.ts @@ -125,6 +125,32 @@ configs().forEach(({ title, screenshot, config }) => { expect(await range.screenshot()).toMatchSnapshot(screenshot(`range-items-fixed`)); }); }); + + test.describe('range: label prop', () => { + test('should render label in the start placement', async ({ page }) => { + await page.setContent(``, config); + + const range = page.locator('ion-range'); + + expect(await range.screenshot()).toMatchSnapshot(screenshot(`range-label-prop-start`)); + }); + + test('should render label in the end placement', async ({ page }) => { + await page.setContent(``, config); + + const range = page.locator('ion-range'); + + expect(await range.screenshot()).toMatchSnapshot(screenshot(`range-label-prop-end`)); + }); + + test('should render label in the fixed placement', async ({ page }) => { + await page.setContent(``, config); + + const range = page.locator('ion-range'); + + expect(await range.screenshot()).toMatchSnapshot(screenshot(`range-label-prop-fixed`)); + }); + }); }); }); diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..34050f8670 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..6311af01ba Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..affc850838 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..8fb9750702 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..1d3314e552 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-rtl-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..f4258931f4 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..86e5b91d33 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..6357292172 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..34589015d7 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-rtl-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..afd1956112 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-rtl-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..cecf116400 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-rtl-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..6d06144265 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-end-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..65d6321964 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..2675a7ed06 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..6232547c64 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..03240040c4 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..f92d0905c5 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-rtl-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..9ab2bf2866 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..019d4cf41e Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..dc4ec56fac Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..2e3860e711 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-rtl-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..36fd1c3f74 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-rtl-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..a663651f3d Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-rtl-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..1eab47c71c Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-fixed-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..0c3f86175c Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..f269c836d6 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..b382666b80 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..38b3336637 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..d043a88697 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-rtl-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..50e30949e0 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..1c62087c66 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-ltr-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..74ce9c17ca Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..6e9c989274 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-rtl-Mobile-Chrome-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-rtl-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..535ec0d177 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-rtl-Mobile-Firefox-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-rtl-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..c0a77c37da Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-rtl-Mobile-Safari-linux.png b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-rtl-Mobile-Safari-linux.png new file mode 100644 index 0000000000..d24912bc26 Binary files /dev/null and b/core/src/components/range/test/label/range.e2e.ts-snapshots/range-label-prop-start-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/label/range.spec.ts b/core/src/components/range/test/label/range.spec.ts new file mode 100644 index 0000000000..c7006561ad --- /dev/null +++ b/core/src/components/range/test/label/range.spec.ts @@ -0,0 +1,23 @@ +import { newSpecPage } from '@stencil/core/testing'; + +import { Range } from '../../range'; + +describe('range: label', () => { + it('should prioritize the label prop over the slot', async () => { + const page = await newSpecPage({ + components: [Range], + html: ` + +
Label slot
+
+ `, + }); + + const range = page.body.querySelector('ion-range'); + const propEl = range?.shadowRoot?.querySelector('.label-text'); + const slotEl = range?.shadowRoot?.querySelector('slot[name="label"]'); + + expect(propEl).not.toBeNull(); + expect(slotEl).toBeNull(); + }); +}); diff --git a/core/src/components/refresher-content/refresher-content.tsx b/core/src/components/refresher-content/refresher-content.tsx index 0ade928a7c..35b6554a77 100644 --- a/core/src/components/refresher-content/refresher-content.tsx +++ b/core/src/components/refresher-content/refresher-content.tsx @@ -1,13 +1,13 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Element, Host, Prop, h } from '@stencil/core'; +import { ENABLE_HTML_CONTENT_DEFAULT } from '@utils/config'; +import { isPlatform } from '@utils/platform'; +import { sanitizeDOMString } from '@utils/sanitization'; import { arrowDown, caretBackSharp } from 'ionicons/icons'; import { config } from '../../global/config'; import { getIonMode } from '../../global/ionic-global'; -import { ENABLE_HTML_CONTENT_DEFAULT } from '../../utils/config'; -import { isPlatform } from '../../utils/platform'; import type { IonicSafeString } from '../../utils/sanitization'; -import { sanitizeDOMString } from '../../utils/sanitization'; import type { SpinnerTypes } from '../spinner/spinner-configs'; import { SPINNERS } from '../spinner/spinner-configs'; diff --git a/core/src/components/refresher/refresher.tsx b/core/src/components/refresher/refresher.tsx index fb4497ac23..858f5c394d 100644 --- a/core/src/components/refresher/refresher.tsx +++ b/core/src/components/refresher/refresher.tsx @@ -1,17 +1,17 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Method, Prop, State, Watch, h, readTask, writeTask } from '@stencil/core'; - -import { getIonMode } from '../../global/ionic-global'; -import type { Animation, Gesture, GestureDetail } from '../../interface'; -import { getTimeGivenProgression } from '../../utils/animation/cubic-bezier'; +import { getTimeGivenProgression } from '@utils/animation/cubic-bezier'; import { getScrollElement, ION_CONTENT_CLASS_SELECTOR, ION_CONTENT_ELEMENT_SELECTOR, printIonContentErrorMsg, -} from '../../utils/content'; -import { clamp, componentOnReady, getElementRoot, raf, transitionEndAsync } from '../../utils/helpers'; -import { hapticImpact } from '../../utils/native/haptic'; +} from '@utils/content'; +import { clamp, componentOnReady, getElementRoot, raf, transitionEndAsync } from '@utils/helpers'; +import { hapticImpact } from '@utils/native/haptic'; + +import { getIonMode } from '../../global/ionic-global'; +import type { Animation, Gesture, GestureDetail } from '../../interface'; import type { RefresherEventDetail } from './refresher-interface'; import { diff --git a/core/src/components/refresher/refresher.utils.ts b/core/src/components/refresher/refresher.utils.ts index 38a44abb6d..d40653727d 100644 --- a/core/src/components/refresher/refresher.utils.ts +++ b/core/src/components/refresher/refresher.utils.ts @@ -1,8 +1,7 @@ import { writeTask } from '@stencil/core'; - -import { createAnimation } from '../../utils/animation/animation'; -import { clamp, componentOnReady, transitionEndAsync } from '../../utils/helpers'; -import { isPlatform } from '../../utils/platform'; +import { createAnimation } from '@utils/animation/animation'; +import { clamp, componentOnReady, transitionEndAsync } from '@utils/helpers'; +import { isPlatform } from '@utils/platform'; // MD Native Refresher // ----------------------------- diff --git a/core/src/components/reorder-group/reorder-group.tsx b/core/src/components/reorder-group/reorder-group.tsx index db6272f22e..3dba0535b8 100644 --- a/core/src/components/reorder-group/reorder-group.tsx +++ b/core/src/components/reorder-group/reorder-group.tsx @@ -1,11 +1,11 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Method, Prop, State, Watch, h } from '@stencil/core'; +import { findClosestIonContent, getScrollElement } from '@utils/content'; +import { raf } from '@utils/helpers'; +import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart } from '@utils/native/haptic'; import { getIonMode } from '../../global/ionic-global'; import type { Gesture, GestureDetail } from '../../interface'; -import { findClosestIonContent, getScrollElement } from '../../utils/content'; -import { raf } from '../../utils/helpers'; -import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart } from '../../utils/native/haptic'; import type { ItemReorderEventDetail } from './reorder-group-interface'; diff --git a/core/src/components/router-link/router-link.tsx b/core/src/components/router-link/router-link.tsx index d395561e9e..51ede733af 100644 --- a/core/src/components/router-link/router-link.tsx +++ b/core/src/components/router-link/router-link.tsx @@ -1,9 +1,9 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Host, Prop, h } from '@stencil/core'; +import { createColorClasses, openURL } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { AnimationBuilder, Color } from '../../interface'; -import { createColorClasses, openURL } from '../../utils/theme'; import type { RouterDirection } from '../router/utils/interface'; @Component({ diff --git a/core/src/components/router-outlet/route-outlet.tsx b/core/src/components/router-outlet/route-outlet.tsx index 358bc267ce..7e4ba3d42a 100644 --- a/core/src/components/router-outlet/route-outlet.tsx +++ b/core/src/components/router-outlet/route-outlet.tsx @@ -1,5 +1,9 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Method, Prop, Watch, h } from '@stencil/core'; +import { getTimeGivenProgression } from '@utils/animation/cubic-bezier'; +import { attachComponent, detachComponent } from '@utils/framework-delegate'; +import { shallowEqualStringMap, hasLazyBuild } from '@utils/helpers'; +import { transition } from '@utils/transition'; import { config } from '../../global/config'; import { getIonMode } from '../../global/ionic-global'; @@ -11,10 +15,6 @@ import type { FrameworkDelegate, Gesture, } from '../../interface'; -import { getTimeGivenProgression } from '../../utils/animation/cubic-bezier'; -import { attachComponent, detachComponent } from '../../utils/framework-delegate'; -import { shallowEqualStringMap, hasLazyBuild } from '../../utils/helpers'; -import { transition } from '../../utils/transition'; import type { RouterOutletOptions, SwipeGestureHandler } from '../nav/nav-interface'; import type { RouteID, RouterDirection, RouteWrite, NavOutlet } from '../router/utils/interface'; diff --git a/core/src/components/router/router.tsx b/core/src/components/router/router.tsx index 0daf2eeac8..7a4b73a818 100644 --- a/core/src/components/router/router.tsx +++ b/core/src/components/router/router.tsx @@ -1,8 +1,8 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Listen, Method, Prop } from '@stencil/core'; +import { debounce } from '@utils/helpers'; import type { AnimationBuilder, BackButtonEvent } from '../../interface'; -import { debounce } from '../../utils/helpers'; import type { NavigationHookResult } from '../route/route-interface'; import { ROUTER_INTENT_BACK, ROUTER_INTENT_FORWARD, ROUTER_INTENT_NONE } from './utils/constants'; diff --git a/core/src/components/router/utils/dom.ts b/core/src/components/router/utils/dom.ts index 528a873d59..95bc6fec53 100644 --- a/core/src/components/router/utils/dom.ts +++ b/core/src/components/router/utils/dom.ts @@ -1,5 +1,6 @@ +import { componentOnReady } from '@utils/helpers'; + import type { AnimationBuilder } from '../../../interface'; -import { componentOnReady } from '../../../utils/helpers'; import { ROUTER_INTENT_NONE } from './constants'; import type { NavOutletElement, RouteChain, RouteID, RouterDirection } from './interface'; diff --git a/core/src/components/searchbar/searchbar.tsx b/core/src/components/searchbar/searchbar.tsx index 85b717169a..5a432c065d 100644 --- a/core/src/components/searchbar/searchbar.tsx +++ b/core/src/components/searchbar/searchbar.tsx @@ -1,13 +1,13 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Method, Prop, State, Watch, forceUpdate, h } from '@stencil/core'; +import { debounceEvent, raf } from '@utils/helpers'; +import { isRTL } from '@utils/rtl'; +import { createColorClasses } from '@utils/theme'; import { arrowBackSharp, closeCircle, closeSharp, searchOutline, searchSharp } from 'ionicons/icons'; import { config } from '../../global/config'; import { getIonMode } from '../../global/ionic-global'; import type { AutocompleteTypes, Color, StyleEventDetail } from '../../interface'; -import { debounceEvent, raf } from '../../utils/helpers'; -import { isRTL } from '../../utils/rtl'; -import { createColorClasses } from '../../utils/theme'; import type { SearchbarChangeEventDetail, SearchbarInputEventDetail } from './searchbar-interface'; diff --git a/core/src/components/segment-button/segment-button.ios.scss b/core/src/components/segment-button/segment-button.ios.scss index fc90e5e398..2c95ea0b4e 100644 --- a/core/src/components/segment-button/segment-button.ios.scss +++ b/core/src/components/segment-button/segment-button.ios.scss @@ -30,7 +30,6 @@ position: relative; - flex-basis: 0; flex-direction: row; min-width: #{$segment-button-ios-min-width}; diff --git a/core/src/components/segment-button/segment-button.md.scss b/core/src/components/segment-button/segment-button.md.scss index 175893f2f9..9ee5b85f5e 100644 --- a/core/src/components/segment-button/segment-button.md.scss +++ b/core/src/components/segment-button/segment-button.md.scss @@ -27,7 +27,6 @@ min-width: $segment-button-md-min-width; - max-width: $segment-button-md-max-width; min-height: $segment-button-md-min-height; border-width: var(--border-width); diff --git a/core/src/components/segment-button/segment-button.scss b/core/src/components/segment-button/segment-button.scss index 7342a9337a..fe89437bcc 100644 --- a/core/src/components/segment-button/segment-button.scss +++ b/core/src/components/segment-button/segment-button.scss @@ -57,7 +57,6 @@ position: relative; - flex: 1 1 auto; flex-direction: column; height: auto; @@ -71,9 +70,11 @@ white-space: nowrap; - font-kerning: none; - cursor: pointer; + + grid-row: 1; + + font-kerning: none; } .button-native { @@ -210,12 +211,16 @@ align-self: center; + max-width: 100%; + line-height: 22px; text-overflow: ellipsis; white-space: nowrap; + overflow: hidden; + box-sizing: border-box; pointer-events: none; @@ -310,4 +315,4 @@ ion-ripple-effect { .segment-button-indicator-animated { transition: none; } -} \ No newline at end of file +} diff --git a/core/src/components/segment-button/segment-button.tsx b/core/src/components/segment-button/segment-button.tsx index b8629e8999..26954fb6cb 100644 --- a/core/src/components/segment-button/segment-button.tsx +++ b/core/src/components/segment-button/segment-button.tsx @@ -1,11 +1,12 @@ import type { ComponentInterface } from '@stencil/core'; import { Component, Element, Host, Prop, Method, State, Watch, forceUpdate, h } from '@stencil/core'; +import type { ButtonInterface } from '@utils/element-interface'; +import type { Attributes } from '@utils/helpers'; +import { addEventListener, removeEventListener, inheritAttributes } from '@utils/helpers'; +import { hostContext } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; -import type { ButtonInterface } from '../../utils/element-interface'; -import type { Attributes } from '../../utils/helpers'; -import { addEventListener, removeEventListener, inheritAttributes } from '../../utils/helpers'; -import { hostContext } from '../../utils/theme'; +import type { SegmentValue } from '../segment/segment-interface'; import type { SegmentButtonLayout } from './segment-button-interface'; @@ -53,7 +54,7 @@ export class SegmentButton implements ComponentInterface, ButtonInterface { /** * The value of the segment button. */ - @Prop() value: string = 'ion-sb-' + ids++; + @Prop() value: SegmentValue = 'ion-sb-' + ids++; @Watch('value') valueChanged() { this.updateState(); diff --git a/core/src/components/segment/segment-interface.ts b/core/src/components/segment/segment-interface.ts index 1ae52cdc0b..6325e802f8 100644 --- a/core/src/components/segment/segment-interface.ts +++ b/core/src/components/segment/segment-interface.ts @@ -1,7 +1,9 @@ export type SegmentButtonLayout = 'icon-top' | 'icon-start' | 'icon-end' | 'icon-bottom' | 'icon-hide' | 'label-hide'; +export type SegmentValue = string | number; + export interface SegmentChangeEventDetail { - value?: string; + value?: SegmentValue; } export interface SegmentCustomEvent extends CustomEvent { diff --git a/core/src/components/segment/segment.md.scss b/core/src/components/segment/segment.md.scss index 6c299e0ff7..6efc1174e7 100644 --- a/core/src/components/segment/segment.md.scss +++ b/core/src/components/segment/segment.md.scss @@ -6,6 +6,8 @@ :host { --background: transparent; + + grid-auto-columns: minmax(auto, $segment-button-md-max-width); } // Segment: In Toolbar diff --git a/core/src/components/segment/segment.scss b/core/src/components/segment/segment.scss index 42bb468692..f4e8ca9cfe 100644 --- a/core/src/components/segment/segment.scss +++ b/core/src/components/segment/segment.scss @@ -11,7 +11,9 @@ @include font-smoothing(); - display: flex; + display: grid; + + grid-auto-columns: 1fr; position: relative; @@ -41,6 +43,8 @@ width: auto; overflow-x: auto; + + grid-auto-columns: minmax(min-content, 1fr); } :host(.segment-scrollable::-webkit-scrollbar) { diff --git a/core/src/components/segment/segment.tsx b/core/src/components/segment/segment.tsx index 00de52e31f..6aa98fa755 100644 --- a/core/src/components/segment/segment.tsx +++ b/core/src/components/segment/segment.tsx @@ -1,13 +1,13 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Listen, Prop, State, Watch, h, writeTask } from '@stencil/core'; +import type { Gesture, GestureDetail } from '@utils/gesture'; +import { isRTL } from '@utils/rtl'; +import { createColorClasses, hostContext } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { Color, StyleEventDetail } from '../../interface'; -import type { Gesture, GestureDetail } from '../../utils/gesture'; -import { isRTL } from '../../utils/rtl'; -import { createColorClasses, hostContext } from '../../utils/theme'; -import type { SegmentChangeEventDetail } from './segment-interface'; +import type { SegmentChangeEventDetail, SegmentValue } from './segment-interface'; /** * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. @@ -24,7 +24,7 @@ export class Segment implements ComponentInterface { private gesture?: Gesture; // Value before the segment is dragged - private valueBeforeGesture?: string; + private valueBeforeGesture?: SegmentValue; @Element() el!: HTMLIonSegmentElement; @@ -74,10 +74,10 @@ export class Segment implements ComponentInterface { /** * the value of the segment. */ - @Prop({ mutable: true }) value?: string; + @Prop({ mutable: true }) value?: SegmentValue; @Watch('value') - protected valueChanged(value: string | undefined) { + protected valueChanged(value: SegmentValue | undefined) { /** * `ionSelect` is emitted every time the value changes (internal or external changes). * Used by `ion-segment-button` to determine if the button should be checked. diff --git a/core/src/components/segment/test/basic/index.html b/core/src/components/segment/test/basic/index.html index be76eafb28..f9eb7a5261 100644 --- a/core/src/components/segment/test/basic/index.html +++ b/core/src/components/segment/test/basic/index.html @@ -23,53 +23,91 @@ - PaidPaidPaid - Free - Top + + PaidPaidPaid + + + Free + + + Top + - Button 1 - Button 3 - Button 3 - Button 4 - Button 5 - Button 6 + + Button 1 + + + Button 2 + + + Button 3 + + + Button 4 + + + Button 5 + + + Button 6 + - Bookmarks - Reading List - Shared Links + + Bookmarks + + + Reading List + + + Shared Links + - Active - - Disabled + + Active + + + Disabled + + + Inactive - Inactive - All - Missed + + All + + + Missed + - Segment - Outside - Content + + Segment + + + Outside + + + Content + diff --git a/core/src/components/segment/test/basic/segment.e2e.ts b/core/src/components/segment/test/basic/segment.e2e.ts index f9f13b22ac..b158d78d33 100644 --- a/core/src/components/segment/test/basic/segment.e2e.ts +++ b/core/src/components/segment/test/basic/segment.e2e.ts @@ -7,9 +7,15 @@ configs().forEach(({ title, screenshot, config }) => { await page.setContent( ` - First - Second - Third + + First + + + Second + + + Third + `, config @@ -23,9 +29,15 @@ configs().forEach(({ title, screenshot, config }) => { await page.setContent( ` - First - Second - Third + + First + + + Second + + + Third + `, config @@ -47,9 +59,15 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { await page.setContent( ` - First - Second - Third + + First + + + Second + + + Third + `, config @@ -64,9 +82,15 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { await page.setContent( ` - First - Second - Third + + First + + + Second + + + Third + `, config diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-ios-ltr-Mobile-Chrome-linux.png index 9df96146a3..6e0b05c485 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-ios-ltr-Mobile-Safari-linux.png index 087575d8fd..4e5e570d7f 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Chrome-linux.png index f408b00049..cc655fb527 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Firefox-linux.png index 3fe3e3bc5b..f609c4769b 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Safari-linux.png index 434ce0d869..a87d8dc1f1 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-color-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-ios-ltr-Mobile-Chrome-linux.png index 7be524098a..b5bcb45b8a 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-ios-ltr-Mobile-Safari-linux.png index 7441d84db6..1e7a6d2548 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Chrome-linux.png index ff5ab4b17e..9ef61a597b 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Firefox-linux.png index b598bb20bc..77b5dd3e03 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Safari-linux.png index d96456e6d2..ae93e12bf4 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-disabled-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-ltr-Mobile-Chrome-linux.png index c027a936b6..e92e3e31d7 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-ltr-Mobile-Safari-linux.png index bbd022aa3e..39a9fc75d5 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-rtl-Mobile-Chrome-linux.png index dfc79d8026..d64a915333 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-rtl-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-rtl-Mobile-Safari-linux.png index bec8f30106..72a357e83f 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Chrome-linux.png index d77e44c84a..58267e8f77 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Firefox-linux.png index 623c472064..7835b32983 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Safari-linux.png index 5e3dccc7f6..52c19c3505 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Chrome-linux.png index 181a8f3786..61268eec1b 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Firefox-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Firefox-linux.png index d309c9a615..3c34c998ca 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Safari-linux.png index b0ad2b60c6..ebe1278a95 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-no-value-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-ltr-Mobile-Chrome-linux.png index 65ddd350ae..0799097194 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-ltr-Mobile-Safari-linux.png index 1ce6b15d18..e246e83632 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-rtl-Mobile-Chrome-linux.png index 0ff4b82b63..efa064a090 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-rtl-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-rtl-Mobile-Safari-linux.png index e74b025ce7..85c1eb3ae7 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Chrome-linux.png index e5a69579ca..8a5f4e02f8 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Firefox-linux.png index 7598573c26..bcad5e0f85 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Safari-linux.png index 3e429799df..5fb426a029 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Chrome-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Chrome-linux.png index bdc70d4140..4b210d8e22 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Firefox-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Firefox-linux.png index 9cd4bc4dc6..fb0b2f5440 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Safari-linux.png b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Safari-linux.png index b96cea196f..29211ebd0e 100644 Binary files a/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Safari-linux.png and b/core/src/components/segment/test/basic/segment.e2e.ts-snapshots/segment-value-md-rtl-Mobile-Safari-linux.png differ 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 661e86c58d..d65ede6428 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-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Firefox-linux.png index 8eea7b8fc0..5e3def9d9d 100644 Binary files a/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Safari-linux.png index bb8d5adf8a..6ede1da44a 100644 Binary files a/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-ios-ltr-Mobile-Safari-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 bf95250f19..5a15142b2e 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/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Firefox-linux.png index e0e5fc67e4..c80ff12ca5 100644 Binary files a/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Safari-linux.png index c528b57df4..c3a2d15516 100644 Binary files a/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/custom/segment.e2e.ts-snapshots/segment-custom-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Chrome-linux.png index fb7e93656d..8f95e073a7 100644 Binary files a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Firefox-linux.png index 39bd55b844..7caa4c4323 100644 Binary files a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Safari-linux.png index 1f8555d1fc..04aefd8fc9 100644 Binary files a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Chrome-linux.png b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Chrome-linux.png index 48f9f037e6..15cc2d07dc 100644 Binary files a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Firefox-linux.png b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Firefox-linux.png index bbf4722690..cb0dfd4cff 100644 Binary files a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Safari-linux.png b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Safari-linux.png index 7941f4ee17..b1bfa25530 100644 Binary files a/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Safari-linux.png and b/core/src/components/segment/test/icon/segment.e2e.ts-snapshots/segment-icons-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/scrollable/segment.e2e.ts b/core/src/components/segment/test/scrollable/segment.e2e.ts index d40258a70f..3a21b9ac92 100644 --- a/core/src/components/segment/test/scrollable/segment.e2e.ts +++ b/core/src/components/segment/test/scrollable/segment.e2e.ts @@ -7,15 +7,33 @@ configs().forEach(({ title, screenshot, config }) => { await page.setContent( ` - First - Second - Third - Fourth - Fifth - Sixth - Seventh - Eigth - Nineth + + First + + + Second + + + Third + + + Fourth + + + Fifth + + + Sixth + + + Seventh + + + Eighth + + + Ninth + `, config diff --git a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Chrome-linux.png index 184a1c5313..7894f9ffa0 100644 Binary files a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Firefox-linux.png index 31bfe165eb..d3ec69ee3f 100644 Binary files a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Safari-linux.png index b0cdcd2699..503f7f7bb4 100644 Binary files a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Chrome-linux.png index 908195695c..ec1161a0fa 100644 Binary files a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Firefox-linux.png index b508faef93..e6733293fe 100644 Binary files a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Safari-linux.png b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Safari-linux.png index 50c1473a77..fede3a3f2d 100644 Binary files a/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/segment/test/scrollable/segment.e2e.ts-snapshots/segment-scrollable-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/segment-events.e2e.ts b/core/src/components/segment/test/segment-events.e2e.ts index f0b10d0e9a..71aa7bdf80 100644 --- a/core/src/components/segment/test/segment-events.e2e.ts +++ b/core/src/components/segment/test/segment-events.e2e.ts @@ -11,9 +11,15 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => await page.setContent( ` - One - Two - Three + + One + + + Two + + + Three + `, config @@ -40,9 +46,15 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => await page.setContent( ` - One - Two - Three + + One + + + Two + + + Three + `, config @@ -65,9 +77,15 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => await page.setContent( ` - One - Two - Three + + One + + + Two + + + Three + `, config @@ -100,9 +118,15 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => - One - Two - Three + + One + + + Two + + + Three + @@ -129,9 +153,15 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => await page.setContent( ` - One - Two - Three + + One + + + Two + + + Three + `, config @@ -158,9 +188,15 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => await page.setContent( ` - One - Two - Three + + One + + + Two + + + Three + `, config @@ -180,9 +216,15 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => await page.setContent( ` - One - Two - Three + + One + + + Two + + + Three + `, config @@ -206,9 +248,15 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => await page.setContent( ` - One - Two - Three + + One + + + Two + + + Three + `, config diff --git a/core/src/components/segment/test/segment.spec.ts b/core/src/components/segment/test/segment.spec.ts index 18f5566311..b9f55b3334 100644 --- a/core/src/components/segment/test/segment.spec.ts +++ b/core/src/components/segment/test/segment.spec.ts @@ -10,7 +10,10 @@ it('should disable segment buttons added to disabled segment async', async () => }); const segment = page.body.querySelector('ion-segment'); - segment.innerHTML = `Segment Button`; + segment.innerHTML = ` + + Segment Button + `; await page.waitForChanges(); const segmentButton = page.body.querySelector('ion-segment-button'); @@ -22,7 +25,9 @@ it('should set checked state when value is set asynchronously', async () => { components: [Segment, SegmentButton], html: ` - First + + First + `, }); diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts b/core/src/components/segment/test/toolbar/segment.e2e.ts index a3687a6feb..55151ede46 100644 --- a/core/src/components/segment/test/toolbar/segment.e2e.ts +++ b/core/src/components/segment/test/toolbar/segment.e2e.ts @@ -9,9 +9,15 @@ configs().forEach(({ title, screenshot, config }) => { - First - Second - Third + + First + + + Second + + + Third + @@ -30,30 +36,54 @@ configs().forEach(({ title, screenshot, config }) => { - First - Second - Third + + First + + + Second + + + Third + - First - Second - Third + + First + + + Second + + + Third + - First - Second - Third + + First + + + Second + + + Third + - First - Second - Third + + First + + + Second + + + Third + @@ -84,9 +114,15 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, co - First - Second - Third + + First + + + Second + + + Third + diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Chrome-linux.png index 522b236f31..50289ae027 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Firefox-linux.png index d7c81a3fcd..8c8a0fa592 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Safari-linux.png index 5d81610a60..240ff6131b 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Chrome-linux.png index 4747e32d1a..ff2ea2b1c0 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Firefox-linux.png index 703a18b1cc..fb195f3df1 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Safari-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Safari-linux.png index 944c48abda..bc3ec4e461 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Chrome-linux.png index 0205164369..dcb4fcedd6 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Firefox-linux.png index a2718f8300..df02c33b04 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Safari-linux.png index b9c20f151a..52d669a9a4 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Chrome-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Chrome-linux.png index 47f4b4032f..e30467a81b 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Firefox-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Firefox-linux.png index dc4cab330f..9e9f07f8f8 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Safari-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Safari-linux.png index a93e89ec25..65058d8e86 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Safari-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-color-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Chrome-linux.png index 501d2eeb14..fbe789fa9e 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Firefox-linux.png index 8394553b5c..bccbdda0a4 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Safari-linux.png index 4e7953ff99..e22980fe88 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-height-inherit-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Chrome-linux.png index 55ca8d85d2..a37b76c40c 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Firefox-linux.png index 5fd9425dd1..6c500e1658 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Safari-linux.png index 8f49d2913c..bfc8d86397 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Chrome-linux.png index a0782c44d5..c07b20e2c7 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Firefox-linux.png index 86130a86ca..f71b915f9e 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Safari-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Safari-linux.png index b28c6030f4..6fef1d1b59 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Chrome-linux.png index f9f9f13672..e40eef3811 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Firefox-linux.png index ce1fafc9bc..c7816999c7 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Safari-linux.png index e6cc4b6abb..9fa0546c1d 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Safari-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Chrome-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Chrome-linux.png index 41f4e42973..4c5ada2c80 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Firefox-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Firefox-linux.png index 78b108f692..c51a63cfc7 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Safari-linux.png b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Safari-linux.png index 63fdae8044..69d0e45b36 100644 Binary files a/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Safari-linux.png and b/core/src/components/segment/test/toolbar/segment.e2e.ts-snapshots/segment-toolbar-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts b/core/src/components/segment/test/wrap/segment.e2e.ts new file mode 100644 index 0000000000..a75594ed18 --- /dev/null +++ b/core/src/components/segment/test/wrap/segment.e2e.ts @@ -0,0 +1,103 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('segment: wrap'), () => { + test('should wrap long text', async ({ page }) => { + await page.setContent( + ` + + + This is the button that never ends it just goes on and on my friends + + + Free + + + Purchased + + + `, + config + ); + + const segment = page.locator('ion-segment'); + + await expect(segment).toHaveScreenshot(screenshot(`segment-wrap`)); + }); + test('should wrap long text with an icon', async ({ page }) => { + await page.setContent( + ` + + + + This is the button that never ends it just goes on and on my friends + + + + Free + + + + Purchased + + + `, + config + ); + + const segment = page.locator('ion-segment'); + + await expect(segment).toHaveScreenshot(screenshot(`segment-wrap-icon`)); + }); + test('should wrap long text with a start icon', async ({ page }) => { + await page.setContent( + ` + + + + This is the button that never ends it just goes on and on my friends + + + + Free + + + + Purchased + + + `, + config + ); + + const segment = page.locator('ion-segment'); + + await expect(segment).toHaveScreenshot(screenshot(`segment-wrap-icon-start`)); + }); + test('should wrap long text in a toolbar', async ({ page }) => { + await page.setContent( + ` + + + + This is the button that never ends it just goes on and on my friends + + + Free + + + Purchased + + + + `, + config + ); + + const toolbar = page.locator('ion-toolbar'); + + await expect(toolbar).toHaveScreenshot(screenshot(`segment-wrap-toolbar`)); + }); + }); +}); diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..ea91640f9f Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..152e91e0be Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..dd4e01b525 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..38a2e24278 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..1d695e782d Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..1aac22e94e Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..d1f0c0c7fe Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..3e41a0e0e9 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..ab18a144db Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..cb2591e854 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..62a7b2fd96 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..c405d42cc5 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-icon-start-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..784571f31f Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..56c28bb732 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..bf02bd3117 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..72e8d787ab Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..4225a5635a Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..9db3c2ad70 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..3807445fb7 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..bb783bee09 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-ios-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..a9e3dfe2ae Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-md-ltr-Mobile-Chrome-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..37ea113a99 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-md-ltr-Mobile-Firefox-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..dca445f8c4 Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-md-ltr-Mobile-Safari-linux.png b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..409c7e280b Binary files /dev/null and b/core/src/components/segment/test/wrap/segment.e2e.ts-snapshots/segment-wrap-toolbar-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/select-popover/select-popover.tsx b/core/src/components/select-popover/select-popover.tsx index 605269d407..a82597fe3b 100644 --- a/core/src/components/select-popover/select-popover.tsx +++ b/core/src/components/select-popover/select-popover.tsx @@ -1,9 +1,9 @@ import type { ComponentInterface } from '@stencil/core'; import { Element, Component, Host, Prop, h } from '@stencil/core'; +import { safeCall } from '@utils/overlays'; +import { getClassMap } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; -import { safeCall } from '../../utils/overlays'; -import { getClassMap } from '../../utils/theme'; import type { CheckboxCustomEvent } from '../checkbox/checkbox-interface'; import type { RadioGroupCustomEvent } from '../radio-group/radio-group-interface'; diff --git a/core/src/components/select/select.md.outline.scss b/core/src/components/select/select.md.outline.scss index 9e7f5dcc13..8d199aa1be 100644 --- a/core/src/components/select/select.md.outline.scss +++ b/core/src/components/select/select.md.outline.scss @@ -196,16 +196,16 @@ pointer-events: none; } +:host(.select-fill-outline) .select-outline-start { + @include border(null, null, null, var(--border-width) var(--border-style) var(--border-color)); +} + :host(.select-ltr.select-fill-outline) .select-outline-start { - // stylelint-disable-next-line property-disallowed-list - border-left: var(--border-width) var(--border-style) var(--border-color); // stylelint-disable-next-line property-disallowed-list border-radius: var(--border-radius) 0px 0px var(--border-radius); } :host(.select-rtl.select-fill-outline) .select-outline-start { - // stylelint-disable-next-line property-disallowed-list - border-right: var(--border-width) var(--border-style) var(--border-color); // stylelint-disable-next-line property-disallowed-list border-radius: 0px var(--border-radius) var(--border-radius) 0px; } @@ -222,16 +222,16 @@ width: calc(var(--padding-start) - #{$select-md-floating-label-padding}); } +:host(.select-fill-outline) .select-outline-end { + @include border(null, var(--border-width) var(--border-style) var(--border-color), null, null); +} + :host(.select-ltr.select-fill-outline) .select-outline-end { - // stylelint-disable-next-line property-disallowed-list - border-right: var(--border-width) var(--border-style) var(--border-color); // stylelint-disable-next-line property-disallowed-list border-radius: 0px var(--border-radius) var(--border-radius) 0px; } :host(.select-rtl.select-fill-outline) .select-outline-end { - // stylelint-disable-next-line property-disallowed-list - border-left: var(--border-width) var(--border-style) var(--border-color); // stylelint-disable-next-line property-disallowed-list border-radius: var(--border-radius) 0px 0px var(--border-radius); } diff --git a/core/src/components/select/select.md.scss b/core/src/components/select/select.md.scss index ffbd004520..fa7c621c40 100644 --- a/core/src/components/select/select.md.scss +++ b/core/src/components/select/select.md.scss @@ -94,7 +94,7 @@ * when the select is activated. * This should only happen on MD. */ -:host(.select-expanded:not(.legacy-select)) .select-icon { +:host(.select-expanded:not(.legacy-select):not(.has-expanded-icon)) .select-icon { @include transform(rotate(180deg)); } @@ -123,7 +123,7 @@ @include transform(translate3d(0, -9px, 0)); } -:host-context(.item-has-focus) .select-icon { +:host-context(.item-has-focus):host(:not(.has-expanded-icon)) .select-icon { @include transform(rotate(180deg)); } @@ -131,8 +131,8 @@ * Ensure that the translation we did * above is preserved when we rotate the select icon. */ -:host-context(.item-has-focus.item-label-stacked) .select-icon, -:host-context(.item-has-focus.item-label-floating:not(.item-fill-outline)) .select-icon { +:host-context(.item-has-focus.item-label-stacked):host(:not(.has-expanded-icon)) .select-icon, +:host-context(.item-has-focus.item-label-floating:not(.item-fill-outline)):host(:not(.has-expanded-icon)) .select-icon { @include transform(rotate(180deg), translate3d(0, -9px, 0)); } diff --git a/core/src/components/select/select.scss b/core/src/components/select/select.scss index ca43b77a83..7823d04bd7 100644 --- a/core/src/components/select/select.scss +++ b/core/src/components/select/select.scss @@ -302,7 +302,8 @@ button { * works on block-level elements. A flex item is * considered blockified (https://www.w3.org/TR/css-display-3/#blockify). */ -.label-text { +.label-text, +::slotted([slot="label"]) { text-overflow: ellipsis; white-space: nowrap; @@ -310,6 +311,16 @@ button { overflow: hidden; } +/** + * If no label text is placed into the slot + * then the element should be hidden otherwise + * there will be additional margins added. + */ +.label-text-wrapper-hidden, +.select-outline-notch-hidden { + display: none; +} + // Select Native Wrapper // ---------------------------------------------------------------- diff --git a/core/src/components/select/select.tsx b/core/src/components/select/select.tsx index f55ddac853..639d8e22a3 100644 --- a/core/src/components/select/select.tsx +++ b/core/src/components/select/select.tsx @@ -1,5 +1,15 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; import { Component, Element, Event, Host, Method, Prop, State, Watch, h, forceUpdate } from '@stencil/core'; +import type { LegacyFormController, NotchController } from '@utils/forms'; +import { createLegacyFormController, createNotchController } from '@utils/forms'; +import { findItemLabel, focusElement, getAriaLabel, renderHiddenInput, inheritAttributes } from '@utils/helpers'; +import type { Attributes } from '@utils/helpers'; +import { printIonWarning } from '@utils/logging'; +import { actionSheetController, alertController, popoverController } from '@utils/overlays'; +import type { OverlaySelect } from '@utils/overlays-interface'; +import { isRTL } from '@utils/rtl'; +import { createColorClasses, hostContext } from '@utils/theme'; +import { watchForOptions } from '@utils/watch-options'; import { caretDownSharp, chevronExpand } from 'ionicons/icons'; import { getIonMode } from '../../global/ionic-global'; @@ -11,16 +21,6 @@ import type { PopoverOptions, StyleEventDetail, } from '../../interface'; -import type { LegacyFormController } from '../../utils/forms'; -import { createLegacyFormController } from '../../utils/forms'; -import { findItemLabel, focusElement, getAriaLabel, renderHiddenInput, inheritAttributes } from '../../utils/helpers'; -import type { Attributes } from '../../utils/helpers'; -import { printIonWarning } from '../../utils/logging'; -import { actionSheetController, alertController, popoverController } from '../../utils/overlays'; -import type { OverlaySelect } from '../../utils/overlays-interface'; -import { isRTL } from '../../utils/rtl'; -import { createColorClasses, hostContext } from '../../utils/theme'; -import { watchForOptions } from '../../utils/watch-options'; import type { ActionSheetButton } from '../action-sheet/action-sheet-interface'; import type { AlertInput } from '../alert/alert-interface'; import type { SelectPopoverOption } from '../select-popover/select-popover-interface'; @@ -32,9 +32,13 @@ import type { SelectChangeEventDetail, SelectInterface, SelectCompareFn } from ' /** * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use. * + * @slot label - The label text to associate with the select. Use the `labelPlacement` property to control where the label is placed relative to the select. Use this if you need to render a label with custom HTML. + * * @part placeholder - The text displayed in the select when there is no value. * @part text - The displayed value of the select. * @part icon - The select icon container. + * @part container - The container for the selected text or placeholder. + * @part label - The label text describing the select. */ @Component({ tag: 'ion-select', @@ -52,6 +56,9 @@ export class Select implements ComponentInterface { private legacyFormController!: LegacyFormController; private inheritedAttributes: Attributes = {}; private nativeWrapperEl: HTMLElement | undefined; + private notchSpacerEl: HTMLElement | undefined; + + private notchController?: NotchController; // This flag ensures we log the deprecation warning at most once. private hasLoggedDeprecationWarning = false; @@ -122,6 +129,10 @@ export class Select implements ComponentInterface { /** * The visible label associated with the select. + * + * Use this if you need to render a plaintext label. + * + * The `label` property will take priority over the `label` slot if both are used. */ @Prop() label?: string; @@ -172,6 +183,19 @@ export class Select implements ComponentInterface { */ @Prop() selectedText?: string | null; + /** + * The toggle icon to use. Defaults to `chevronExpand` for `ios` mode, + * or `caretDownSharp` for `md` mode. + */ + @Prop() toggleIcon?: string; + + /** + * The toggle icon to show when the select is open. If defined, the icon + * rotation behavior in `md` mode will be disabled. If undefined, `toggleIcon` + * will be used for when the select is both open and closed. + */ + @Prop() expandedIcon?: string; + /** * The shape of the select. If "round" it will have an increased border radius. */ @@ -234,6 +258,11 @@ export class Select implements ComponentInterface { const { el } = this; this.legacyFormController = createLegacyFormController(el); + this.notchController = createNotchController( + el, + () => this.notchSpacerEl, + () => this.labelSlot + ); this.updateOverlayOptions(); this.emitStyle(); @@ -256,6 +285,11 @@ export class Select implements ComponentInterface { this.mutationO.disconnect(); this.mutationO = undefined; } + + if (this.notchController) { + this.notchController.destroy(); + this.notchController = undefined; + } } /** @@ -566,7 +600,7 @@ export class Select implements ComponentInterface { * TODO FW-3194 * Remove legacyFormController logic. * Remove label and labelText vars - * Pass `this.label` instead of `labelText` + * Pass `this.labelText` instead of `labelText` * when setting the header. */ let label: HTMLElement | null; @@ -576,7 +610,7 @@ export class Select implements ComponentInterface { label = this.getLabel(); labelText = label ? label.textContent : null; } else { - labelText = this.label; + labelText = this.labelText; } const interfaceOptions = this.interfaceOptions; @@ -649,6 +683,30 @@ export class Select implements ComponentInterface { return Array.from(this.el.querySelectorAll('ion-select-option')); } + /** + * Returns any plaintext associated with + * the label (either prop or slot). + * Note: This will not return any custom + * HTML. Use the `hasLabel` getter if you + * want to know if any slotted label content + * was passed. + */ + private get labelText() { + const { label } = this; + + if (label !== undefined) { + return label; + } + + const { labelSlot } = this; + + if (labelSlot !== null) { + return labelSlot.textContent; + } + + return; + } + private getText(): string { const selectedText = this.selectedText; if (selectedText != null && selectedText !== '') { @@ -696,17 +754,42 @@ export class Select implements ComponentInterface { private renderLabel() { const { label } = this; - if (label === undefined) { - return; - } return ( -
-
{this.label}
+
+ {label === undefined ? :
{label}
}
); } + componentDidRender() { + this.notchController?.calculateNotchWidth(); + } + + /** + * Gets any content passed into the `label` slot, + * not the definition. + */ + private get labelSlot() { + return this.el.querySelector('[slot="label"]'); + } + + /** + * Returns `true` if label content is provided + * either by a prop or a content. If you want + * to get the plaintext value of the label use + * the `labelText` getter instead. + */ + private get hasLabel() { + return this.label !== undefined || this.labelSlot !== null; + } + /** * Renders the border container * when fill="outline". @@ -726,8 +809,13 @@ export class Select implements ComponentInterface { return [
-
-