diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index c16756cf00..e44acd3137 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -9,7 +9,7 @@ body: label: Prerequisites description: Please ensure you have completed all of the following. options: - - label: I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#creating-an-issue). + - label: I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue). required: true - label: I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct). required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 536ce1540c..788d41e3a2 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -9,7 +9,7 @@ body: label: Prerequisites description: Please ensure you have completed all of the following. options: - - label: I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#creating-an-issue). + - label: I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue). required: true - label: I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct). required: true diff --git a/.github/workflows/actions/test-angular-e2e/action.yml b/.github/workflows/actions/test-angular-e2e/action.yml index 50c5907af0..91d6bbcf19 100644 --- a/.github/workflows/actions/test-angular-e2e/action.yml +++ b/.github/workflows/actions/test-angular-e2e/action.yml @@ -29,7 +29,7 @@ runs: shell: bash working-directory: ./packages/angular/test - name: Install Dependencies - run: npm install + run: npm install --legacy-peer-deps # TODO(FW-6227): Remove legacy-peer-deps flag shell: bash working-directory: ./packages/angular/test/build/${{ inputs.app }} - name: Sync Built Changes diff --git a/.github/workflows/assign-issues.yml b/.github/workflows/assign-issues.yml index e40aca1228..41ae0aaf32 100644 --- a/.github/workflows/assign-issues.yml +++ b/.github/workflows/assign-issues.yml @@ -11,8 +11,8 @@ jobs: issues: write steps: - name: 'Auto-assign issue' - uses: pozil/auto-assign-issue@65947009a243e6b3993edeef4e64df3ca85d760c # v1.14.0 + uses: pozil/auto-assign-issue@c5bca5027e680b9e8411b826d16947afd8c76b32 # v2.0.0 with: - assignees: sean-perkins, brandyscarney, thetaPC + assignees: brandyscarney, thetaPC numOfAssignee: 1 allowSelfAssign: false diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 93030502aa..5bbc649387 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -140,7 +140,7 @@ jobs: strategy: fail-fast: false matrix: - apps: [ng16, ng17] + apps: [ng16, ng17, ng18] needs: [build-angular, build-angular-server] runs-on: ubuntu-latest steps: diff --git a/.github/workflows/conventional-commit.yml b/.github/workflows/conventional-commit.yml index b1ed2422bf..fe310a565a 100644 --- a/.github/workflows/conventional-commit.yml +++ b/.github/workflows/conventional-commit.yml @@ -24,3 +24,9 @@ jobs: # within the message. subjectPatternError: | The subject "{subject}" found in the pull request title "{title}" didn't match the configured pattern. Please ensure that the subject doesn't start with an uppercase character. + # If the PR contains one of these newline-delimited labels, the + # validation is skipped. If you want to rerun the validation when + # labels change, you might want to use the `labeled` and `unlabeled` + # event triggers in your workflow. + ignoreLabels: | + release diff --git a/.github/workflows/stencil-nightly.yml b/.github/workflows/stencil-nightly.yml index 56d3a56a71..3277171139 100644 --- a/.github/workflows/stencil-nightly.yml +++ b/.github/workflows/stencil-nightly.yml @@ -150,7 +150,7 @@ jobs: strategy: fail-fast: false matrix: - apps: [ng16, ng17] + apps: [ng16, ng17, ng18] needs: [build-angular, build-angular-server] runs-on: ubuntu-latest steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index c74a29e771..86ca0b0d03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,43 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.1.3](https://github.com/ionic-team/ionic-framework/compare/v8.1.2...v8.1.3) (2024-05-22) + + +### Bug Fixes + +* **core:** malformed URIs will not throw exception ([#29486](https://github.com/ionic-team/ionic-framework/issues/29486)) ([4a41983](https://github.com/ionic-team/ionic-framework/commit/4a41983098fe9bf83fdf05ce7ab28c79f414e11b)), closes [#29479](https://github.com/ionic-team/ionic-framework/issues/29479) + + + + + +## [8.1.2](https://github.com/ionic-team/ionic-framework/compare/v8.1.1...v8.1.2) (2024-05-15) + + +### Bug Fixes + +* **many:** do not grow slotted checkboxes, radios, selects and toggles ([#29501](https://github.com/ionic-team/ionic-framework/issues/29501)) ([c63d07b](https://github.com/ionic-team/ionic-framework/commit/c63d07bdd0c4d9939474c52b03a3f2535511933f)), closes [#29423](https://github.com/ionic-team/ionic-framework/issues/29423) +* **picker:** update keyboard navigation ([#29497](https://github.com/ionic-team/ionic-framework/issues/29497)) ([32bc681](https://github.com/ionic-team/ionic-framework/commit/32bc681192b1833f1c897e692d2d36ba90c6af53)) + + + + + +## [8.1.1](https://github.com/ionic-team/ionic-framework/compare/v8.1.0...v8.1.1) (2024-05-08) + + +### Bug Fixes + +* **angular:** add formatOptions property to standalone datetime ([#29468](https://github.com/ionic-team/ionic-framework/issues/29468)) ([bb1db52](https://github.com/ionic-team/ionic-framework/commit/bb1db52567e0884a896f9ccd76c27540b52f5e48)), closes [#29464](https://github.com/ionic-team/ionic-framework/issues/29464) +* **angular:** persist select disabled state in item ([#29448](https://github.com/ionic-team/ionic-framework/issues/29448)) ([dfb72d7](https://github.com/ionic-team/ionic-framework/commit/dfb72d7ea06e28d76069b23eb90c3426181b7c4c)), closes [#29234](https://github.com/ionic-team/ionic-framework/issues/29234) +* **angular:** set active segment button when dynamically changing items ([#29418](https://github.com/ionic-team/ionic-framework/issues/29418)) ([ee83388](https://github.com/ionic-team/ionic-framework/commit/ee833881da3ecaa0a9153397f0c7e62c1923f19c)), closes [#29414](https://github.com/ionic-team/ionic-framework/issues/29414) +* **radio:** persist checked state when items are updated in radio-group ([#29457](https://github.com/ionic-team/ionic-framework/issues/29457)) ([7ea14ae](https://github.com/ionic-team/ionic-framework/commit/7ea14ae41eb27f2a58952bd27d91ef4c77bb6a0c)), closes [#29442](https://github.com/ionic-team/ionic-framework/issues/29442) + + + + + # [8.1.0](https://github.com/ionic-team/ionic-framework/compare/v8.0.2...v8.1.0) (2024-05-01) diff --git a/README.md b/README.md index 091377a155..23fcb151f9 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Ionic Framework is released under the MIT license. - + PRs welcome! @@ -38,7 +38,7 @@ Documentation · - Contribute + Contribute · Blog
@@ -63,14 +63,15 @@ Looking for the `ionic-angular` package? Ionic 3 has been moved to the [`ionic-v ### Getting Started -Start a new project by following our quick [Getting Started guide](https://ionicframework.com/getting-started/). +Start a new project by following our [documentation](https://ionicframework.com/docs/). We would love to hear from you! If you have any feedback or run into issues using our framework, please file -an [issue](https://github.com/ionic-team/ionic/issues/new) on this repository. +an [issue](https://github.com/ionic-team/ionic-framework/issues/new) on this repository. ### Migration Guides Already have an Ionic app? These guides will help you migrate to the latest versions. +* [Migrate from v7 to v8](https://ionicframework.com/docs/updating/8-0) * [Migrate from v6 to v7](https://ionicframework.com/docs/updating/7-0) * [Migrate from v5 to v6](https://ionicframework.com/docs/updating/6-0) * [Migrate from v4 to v5](https://ionicframework.com/docs/updating/5-0) @@ -82,21 +83,16 @@ The Ionic Conference App is a full featured Ionic app. It is the perfect startin - [Angular Ionic Conference App](https://github.com/ionic-team/ionic-conference-app) - [React Ionic Conference App](https://github.com/ionic-team/ionic-react-conference-app) - - +- [Vue Ionic Conference App](https://github.com/ionic-team/ionic-vue-conference-app) ### Contributing Thanks for your interest in contributing! Read up on our guidelines for -[contributing](https://github.com/ionic-team/ionic/blob/main/docs/CONTRIBUTING.md) -and then look through our issues with a [help wanted](https://github.com/ionic-team/ionic/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) +[contributing](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md) +and then look through our issues with a [help wanted](https://github.com/ionic-team/ionic-framework/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) label. -Please note that this project is released with a [Contributor Code of Conduct](https://github.com/ionic-team/ionic/blob/main/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. - -### Future Goals - -As Ionic Framework components migrate to the web component standard, a goal of ours is to have Ionic Framework easily work within all of the popular frameworks. +Please note that this project is released with a [Contributor Code of Conduct](https://github.com/ionic-team/ionic-framework/blob/main/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. ### Earlier Versions diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index 5f680b5aa3..f2bef24436 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -3,6 +3,42 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.1.3](https://github.com/ionic-team/ionic-framework/compare/v8.1.2...v8.1.3) (2024-05-22) + + +### Bug Fixes + +* **core:** malformed URIs will not throw exception ([#29486](https://github.com/ionic-team/ionic-framework/issues/29486)) ([4a41983](https://github.com/ionic-team/ionic-framework/commit/4a41983098fe9bf83fdf05ce7ab28c79f414e11b)), closes [#29479](https://github.com/ionic-team/ionic-framework/issues/29479) + + + + + +## [8.1.2](https://github.com/ionic-team/ionic-framework/compare/v8.1.1...v8.1.2) (2024-05-15) + + +### Bug Fixes + +* **many:** do not grow slotted checkboxes, radios, selects and toggles ([#29501](https://github.com/ionic-team/ionic-framework/issues/29501)) ([c63d07b](https://github.com/ionic-team/ionic-framework/commit/c63d07bdd0c4d9939474c52b03a3f2535511933f)), closes [#29423](https://github.com/ionic-team/ionic-framework/issues/29423) +* **picker:** update keyboard navigation ([#29497](https://github.com/ionic-team/ionic-framework/issues/29497)) ([32bc681](https://github.com/ionic-team/ionic-framework/commit/32bc681192b1833f1c897e692d2d36ba90c6af53)) + + + + + +## [8.1.1](https://github.com/ionic-team/ionic-framework/compare/v8.1.0...v8.1.1) (2024-05-08) + + +### Bug Fixes + +* **angular:** persist select disabled state in item ([#29448](https://github.com/ionic-team/ionic-framework/issues/29448)) ([dfb72d7](https://github.com/ionic-team/ionic-framework/commit/dfb72d7ea06e28d76069b23eb90c3426181b7c4c)), closes [#29234](https://github.com/ionic-team/ionic-framework/issues/29234) +* **angular:** set active segment button when dynamically changing items ([#29418](https://github.com/ionic-team/ionic-framework/issues/29418)) ([ee83388](https://github.com/ionic-team/ionic-framework/commit/ee833881da3ecaa0a9153397f0c7e62c1923f19c)), closes [#29414](https://github.com/ionic-team/ionic-framework/issues/29414) +* **radio:** persist checked state when items are updated in radio-group ([#29457](https://github.com/ionic-team/ionic-framework/issues/29457)) ([7ea14ae](https://github.com/ionic-team/ionic-framework/commit/7ea14ae41eb27f2a58952bd27d91ef4c77bb6a0c)), closes [#29442](https://github.com/ionic-team/ionic-framework/issues/29442) + + + + + # [8.1.0](https://github.com/ionic-team/ionic-framework/compare/v8.0.2...v8.1.0) (2024-05-01) diff --git a/core/Dockerfile b/core/Dockerfile index d79582e477..ac5bbe3bf7 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -1,5 +1,5 @@ # Get Playwright -FROM mcr.microsoft.com/playwright:v1.43.1 +FROM mcr.microsoft.com/playwright:v1.44.0 # Set the working directory WORKDIR /ionic diff --git a/core/README.md b/core/README.md index 23dbfc1c2f..9fcdd4ff29 100644 --- a/core/README.md +++ b/core/README.md @@ -96,7 +96,7 @@ const showModal = async () => { ## How to contribute -[Check out the CONTRIBUTE guide](/.github/CONTRIBUTING.md) +[Check out the CONTRIBUTE guide](/docs/CONTRIBUTING.md) ## Related diff --git a/core/api.txt b/core/api.txt index 7b9ac05232..ea7d4ab3c6 100644 --- a/core/api.txt +++ b/core/api.txt @@ -47,30 +47,54 @@ ion-action-sheet,event,ionActionSheetWillDismiss,OverlayEventDetail,true ion-action-sheet,event,ionActionSheetWillPresent,void,true ion-action-sheet,event,willDismiss,OverlayEventDetail,true ion-action-sheet,event,willPresent,void,true -ion-action-sheet,css-prop,--backdrop-opacity -ion-action-sheet,css-prop,--background -ion-action-sheet,css-prop,--button-background -ion-action-sheet,css-prop,--button-background-activated -ion-action-sheet,css-prop,--button-background-activated-opacity -ion-action-sheet,css-prop,--button-background-focused -ion-action-sheet,css-prop,--button-background-focused-opacity -ion-action-sheet,css-prop,--button-background-hover -ion-action-sheet,css-prop,--button-background-hover-opacity -ion-action-sheet,css-prop,--button-background-selected -ion-action-sheet,css-prop,--button-background-selected-opacity -ion-action-sheet,css-prop,--button-color -ion-action-sheet,css-prop,--button-color-activated -ion-action-sheet,css-prop,--button-color-disabled -ion-action-sheet,css-prop,--button-color-focused -ion-action-sheet,css-prop,--button-color-hover -ion-action-sheet,css-prop,--button-color-selected -ion-action-sheet,css-prop,--color -ion-action-sheet,css-prop,--height -ion-action-sheet,css-prop,--max-height -ion-action-sheet,css-prop,--max-width -ion-action-sheet,css-prop,--min-height -ion-action-sheet,css-prop,--min-width -ion-action-sheet,css-prop,--width +ion-action-sheet,css-prop,--backdrop-opacity,ios +ion-action-sheet,css-prop,--backdrop-opacity,md +ion-action-sheet,css-prop,--background,ios +ion-action-sheet,css-prop,--background,md +ion-action-sheet,css-prop,--button-background,ios +ion-action-sheet,css-prop,--button-background,md +ion-action-sheet,css-prop,--button-background-activated,ios +ion-action-sheet,css-prop,--button-background-activated,md +ion-action-sheet,css-prop,--button-background-activated-opacity,ios +ion-action-sheet,css-prop,--button-background-activated-opacity,md +ion-action-sheet,css-prop,--button-background-focused,ios +ion-action-sheet,css-prop,--button-background-focused,md +ion-action-sheet,css-prop,--button-background-focused-opacity,ios +ion-action-sheet,css-prop,--button-background-focused-opacity,md +ion-action-sheet,css-prop,--button-background-hover,ios +ion-action-sheet,css-prop,--button-background-hover,md +ion-action-sheet,css-prop,--button-background-hover-opacity,ios +ion-action-sheet,css-prop,--button-background-hover-opacity,md +ion-action-sheet,css-prop,--button-background-selected,ios +ion-action-sheet,css-prop,--button-background-selected,md +ion-action-sheet,css-prop,--button-background-selected-opacity,ios +ion-action-sheet,css-prop,--button-background-selected-opacity,md +ion-action-sheet,css-prop,--button-color,ios +ion-action-sheet,css-prop,--button-color,md +ion-action-sheet,css-prop,--button-color-activated,ios +ion-action-sheet,css-prop,--button-color-activated,md +ion-action-sheet,css-prop,--button-color-disabled,ios +ion-action-sheet,css-prop,--button-color-disabled,md +ion-action-sheet,css-prop,--button-color-focused,ios +ion-action-sheet,css-prop,--button-color-focused,md +ion-action-sheet,css-prop,--button-color-hover,ios +ion-action-sheet,css-prop,--button-color-hover,md +ion-action-sheet,css-prop,--button-color-selected,ios +ion-action-sheet,css-prop,--button-color-selected,md +ion-action-sheet,css-prop,--color,ios +ion-action-sheet,css-prop,--color,md +ion-action-sheet,css-prop,--height,ios +ion-action-sheet,css-prop,--height,md +ion-action-sheet,css-prop,--max-height,ios +ion-action-sheet,css-prop,--max-height,md +ion-action-sheet,css-prop,--max-width,ios +ion-action-sheet,css-prop,--max-width,md +ion-action-sheet,css-prop,--min-height,ios +ion-action-sheet,css-prop,--min-height,md +ion-action-sheet,css-prop,--min-width,ios +ion-action-sheet,css-prop,--min-width,md +ion-action-sheet,css-prop,--width,ios +ion-action-sheet,css-prop,--width,md ion-alert,scoped ion-alert,prop,animated,boolean,true,false,false @@ -101,19 +125,28 @@ ion-alert,event,ionAlertWillDismiss,OverlayEventDetail,true ion-alert,event,ionAlertWillPresent,void,true ion-alert,event,willDismiss,OverlayEventDetail,true ion-alert,event,willPresent,void,true -ion-alert,css-prop,--backdrop-opacity -ion-alert,css-prop,--background -ion-alert,css-prop,--height -ion-alert,css-prop,--max-height -ion-alert,css-prop,--max-width -ion-alert,css-prop,--min-height -ion-alert,css-prop,--min-width -ion-alert,css-prop,--width +ion-alert,css-prop,--backdrop-opacity,ios +ion-alert,css-prop,--backdrop-opacity,md +ion-alert,css-prop,--background,ios +ion-alert,css-prop,--background,md +ion-alert,css-prop,--height,ios +ion-alert,css-prop,--height,md +ion-alert,css-prop,--max-height,ios +ion-alert,css-prop,--max-height,md +ion-alert,css-prop,--max-width,ios +ion-alert,css-prop,--max-width,md +ion-alert,css-prop,--min-height,ios +ion-alert,css-prop,--min-height,md +ion-alert,css-prop,--min-width,ios +ion-alert,css-prop,--min-width,md +ion-alert,css-prop,--width,ios +ion-alert,css-prop,--width,md ion-app,none ion-avatar,shadow -ion-avatar,css-prop,--border-radius +ion-avatar,css-prop,--border-radius,ios +ion-avatar,css-prop,--border-radius,md ion-back-button,shadow ion-back-button,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true @@ -124,38 +157,70 @@ ion-back-button,prop,mode,"ios" | "md",undefined,false,false ion-back-button,prop,routerAnimation,((baseEl: any, opts?: any) => Animation) | undefined,undefined,false,false ion-back-button,prop,text,null | string | undefined,undefined,false,false ion-back-button,prop,type,"button" | "reset" | "submit",'button',false,false -ion-back-button,css-prop,--background -ion-back-button,css-prop,--background-focused -ion-back-button,css-prop,--background-focused-opacity -ion-back-button,css-prop,--background-hover -ion-back-button,css-prop,--background-hover-opacity -ion-back-button,css-prop,--border-radius -ion-back-button,css-prop,--color -ion-back-button,css-prop,--color-focused -ion-back-button,css-prop,--color-hover -ion-back-button,css-prop,--icon-font-size -ion-back-button,css-prop,--icon-font-weight -ion-back-button,css-prop,--icon-margin-bottom -ion-back-button,css-prop,--icon-margin-end -ion-back-button,css-prop,--icon-margin-start -ion-back-button,css-prop,--icon-margin-top -ion-back-button,css-prop,--icon-padding-bottom -ion-back-button,css-prop,--icon-padding-end -ion-back-button,css-prop,--icon-padding-start -ion-back-button,css-prop,--icon-padding-top -ion-back-button,css-prop,--margin-bottom -ion-back-button,css-prop,--margin-end -ion-back-button,css-prop,--margin-start -ion-back-button,css-prop,--margin-top -ion-back-button,css-prop,--min-height -ion-back-button,css-prop,--min-width -ion-back-button,css-prop,--opacity -ion-back-button,css-prop,--padding-bottom -ion-back-button,css-prop,--padding-end -ion-back-button,css-prop,--padding-start -ion-back-button,css-prop,--padding-top -ion-back-button,css-prop,--ripple-color -ion-back-button,css-prop,--transition +ion-back-button,css-prop,--background,ios +ion-back-button,css-prop,--background,md +ion-back-button,css-prop,--background-focused,ios +ion-back-button,css-prop,--background-focused,md +ion-back-button,css-prop,--background-focused-opacity,ios +ion-back-button,css-prop,--background-focused-opacity,md +ion-back-button,css-prop,--background-hover,ios +ion-back-button,css-prop,--background-hover,md +ion-back-button,css-prop,--background-hover-opacity,ios +ion-back-button,css-prop,--background-hover-opacity,md +ion-back-button,css-prop,--border-radius,ios +ion-back-button,css-prop,--border-radius,md +ion-back-button,css-prop,--color,ios +ion-back-button,css-prop,--color,md +ion-back-button,css-prop,--color-focused,ios +ion-back-button,css-prop,--color-focused,md +ion-back-button,css-prop,--color-hover,ios +ion-back-button,css-prop,--color-hover,md +ion-back-button,css-prop,--icon-font-size,ios +ion-back-button,css-prop,--icon-font-size,md +ion-back-button,css-prop,--icon-font-weight,ios +ion-back-button,css-prop,--icon-font-weight,md +ion-back-button,css-prop,--icon-margin-bottom,ios +ion-back-button,css-prop,--icon-margin-bottom,md +ion-back-button,css-prop,--icon-margin-end,ios +ion-back-button,css-prop,--icon-margin-end,md +ion-back-button,css-prop,--icon-margin-start,ios +ion-back-button,css-prop,--icon-margin-start,md +ion-back-button,css-prop,--icon-margin-top,ios +ion-back-button,css-prop,--icon-margin-top,md +ion-back-button,css-prop,--icon-padding-bottom,ios +ion-back-button,css-prop,--icon-padding-bottom,md +ion-back-button,css-prop,--icon-padding-end,ios +ion-back-button,css-prop,--icon-padding-end,md +ion-back-button,css-prop,--icon-padding-start,ios +ion-back-button,css-prop,--icon-padding-start,md +ion-back-button,css-prop,--icon-padding-top,ios +ion-back-button,css-prop,--icon-padding-top,md +ion-back-button,css-prop,--margin-bottom,ios +ion-back-button,css-prop,--margin-bottom,md +ion-back-button,css-prop,--margin-end,ios +ion-back-button,css-prop,--margin-end,md +ion-back-button,css-prop,--margin-start,ios +ion-back-button,css-prop,--margin-start,md +ion-back-button,css-prop,--margin-top,ios +ion-back-button,css-prop,--margin-top,md +ion-back-button,css-prop,--min-height,ios +ion-back-button,css-prop,--min-height,md +ion-back-button,css-prop,--min-width,ios +ion-back-button,css-prop,--min-width,md +ion-back-button,css-prop,--opacity,ios +ion-back-button,css-prop,--opacity,md +ion-back-button,css-prop,--padding-bottom,ios +ion-back-button,css-prop,--padding-bottom,md +ion-back-button,css-prop,--padding-end,ios +ion-back-button,css-prop,--padding-end,md +ion-back-button,css-prop,--padding-start,ios +ion-back-button,css-prop,--padding-start,md +ion-back-button,css-prop,--padding-top,ios +ion-back-button,css-prop,--padding-top,md +ion-back-button,css-prop,--ripple-color,ios +ion-back-button,css-prop,--ripple-color,md +ion-back-button,css-prop,--transition,ios +ion-back-button,css-prop,--transition,md ion-back-button,part,icon ion-back-button,part,native ion-back-button,part,text @@ -169,12 +234,18 @@ ion-backdrop,event,ionBackdropTap,void,true ion-badge,shadow ion-badge,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-badge,prop,mode,"ios" | "md",undefined,false,false -ion-badge,css-prop,--background -ion-badge,css-prop,--color -ion-badge,css-prop,--padding-bottom -ion-badge,css-prop,--padding-end -ion-badge,css-prop,--padding-start -ion-badge,css-prop,--padding-top +ion-badge,css-prop,--background,ios +ion-badge,css-prop,--background,md +ion-badge,css-prop,--color,ios +ion-badge,css-prop,--color,md +ion-badge,css-prop,--padding-bottom,ios +ion-badge,css-prop,--padding-bottom,md +ion-badge,css-prop,--padding-end,ios +ion-badge,css-prop,--padding-end,md +ion-badge,css-prop,--padding-start,ios +ion-badge,css-prop,--padding-start,md +ion-badge,css-prop,--padding-top,ios +ion-badge,css-prop,--padding-top,md ion-breadcrumb,shadow ion-breadcrumb,prop,active,boolean,false,false,false @@ -190,11 +261,16 @@ ion-breadcrumb,prop,separator,boolean | undefined,undefined,false,false ion-breadcrumb,prop,target,string | undefined,undefined,false,false ion-breadcrumb,event,ionBlur,void,true ion-breadcrumb,event,ionFocus,void,true -ion-breadcrumb,css-prop,--background-focused -ion-breadcrumb,css-prop,--color -ion-breadcrumb,css-prop,--color-active -ion-breadcrumb,css-prop,--color-focused -ion-breadcrumb,css-prop,--color-hover +ion-breadcrumb,css-prop,--background-focused,ios +ion-breadcrumb,css-prop,--background-focused,md +ion-breadcrumb,css-prop,--color,ios +ion-breadcrumb,css-prop,--color,md +ion-breadcrumb,css-prop,--color-active,ios +ion-breadcrumb,css-prop,--color-active,md +ion-breadcrumb,css-prop,--color-focused,ios +ion-breadcrumb,css-prop,--color-focused,md +ion-breadcrumb,css-prop,--color-hover,ios +ion-breadcrumb,css-prop,--color-hover,md ion-breadcrumb,part,collapsed-indicator ion-breadcrumb,part,native ion-breadcrumb,part,separator @@ -227,29 +303,52 @@ ion-button,prop,target,string | undefined,undefined,false,false ion-button,prop,type,"button" | "reset" | "submit",'button',false,false ion-button,event,ionBlur,void,true ion-button,event,ionFocus,void,true -ion-button,css-prop,--background -ion-button,css-prop,--background-activated -ion-button,css-prop,--background-activated-opacity -ion-button,css-prop,--background-focused -ion-button,css-prop,--background-focused-opacity -ion-button,css-prop,--background-hover -ion-button,css-prop,--background-hover-opacity -ion-button,css-prop,--border-color -ion-button,css-prop,--border-radius -ion-button,css-prop,--border-style -ion-button,css-prop,--border-width -ion-button,css-prop,--box-shadow -ion-button,css-prop,--color -ion-button,css-prop,--color-activated -ion-button,css-prop,--color-focused -ion-button,css-prop,--color-hover -ion-button,css-prop,--opacity -ion-button,css-prop,--padding-bottom -ion-button,css-prop,--padding-end -ion-button,css-prop,--padding-start -ion-button,css-prop,--padding-top -ion-button,css-prop,--ripple-color -ion-button,css-prop,--transition +ion-button,css-prop,--background,ios +ion-button,css-prop,--background,md +ion-button,css-prop,--background-activated,ios +ion-button,css-prop,--background-activated,md +ion-button,css-prop,--background-activated-opacity,ios +ion-button,css-prop,--background-activated-opacity,md +ion-button,css-prop,--background-focused,ios +ion-button,css-prop,--background-focused,md +ion-button,css-prop,--background-focused-opacity,ios +ion-button,css-prop,--background-focused-opacity,md +ion-button,css-prop,--background-hover,ios +ion-button,css-prop,--background-hover,md +ion-button,css-prop,--background-hover-opacity,ios +ion-button,css-prop,--background-hover-opacity,md +ion-button,css-prop,--border-color,ios +ion-button,css-prop,--border-color,md +ion-button,css-prop,--border-radius,ios +ion-button,css-prop,--border-radius,md +ion-button,css-prop,--border-style,ios +ion-button,css-prop,--border-style,md +ion-button,css-prop,--border-width,ios +ion-button,css-prop,--border-width,md +ion-button,css-prop,--box-shadow,ios +ion-button,css-prop,--box-shadow,md +ion-button,css-prop,--color,ios +ion-button,css-prop,--color,md +ion-button,css-prop,--color-activated,ios +ion-button,css-prop,--color-activated,md +ion-button,css-prop,--color-focused,ios +ion-button,css-prop,--color-focused,md +ion-button,css-prop,--color-hover,ios +ion-button,css-prop,--color-hover,md +ion-button,css-prop,--opacity,ios +ion-button,css-prop,--opacity,md +ion-button,css-prop,--padding-bottom,ios +ion-button,css-prop,--padding-bottom,md +ion-button,css-prop,--padding-end,ios +ion-button,css-prop,--padding-end,md +ion-button,css-prop,--padding-start,ios +ion-button,css-prop,--padding-start,md +ion-button,css-prop,--padding-top,ios +ion-button,css-prop,--padding-top,md +ion-button,css-prop,--ripple-color,ios +ion-button,css-prop,--ripple-color,md +ion-button,css-prop,--transition,ios +ion-button,css-prop,--transition,md ion-button,part,native ion-buttons,scoped @@ -267,8 +366,10 @@ ion-card,prop,routerAnimation,((baseEl: any, opts?: any) => Animation) | undefin ion-card,prop,routerDirection,"back" | "forward" | "root",'forward',false,false ion-card,prop,target,string | undefined,undefined,false,false ion-card,prop,type,"button" | "reset" | "submit",'button',false,false -ion-card,css-prop,--background -ion-card,css-prop,--color +ion-card,css-prop,--background,ios +ion-card,css-prop,--background,md +ion-card,css-prop,--color,ios +ion-card,css-prop,--color,md ion-card,part,native ion-card-content,none @@ -282,12 +383,14 @@ ion-card-header,prop,translucent,boolean,false,false,false ion-card-subtitle,shadow ion-card-subtitle,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-card-subtitle,prop,mode,"ios" | "md",undefined,false,false -ion-card-subtitle,css-prop,--color +ion-card-subtitle,css-prop,--color,ios +ion-card-subtitle,css-prop,--color,md ion-card-title,shadow ion-card-title,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-card-title,prop,mode,"ios" | "md",undefined,false,false -ion-card-title,css-prop,--color +ion-card-title,css-prop,--color,ios +ion-card-title,css-prop,--color,md ion-checkbox,shadow ion-checkbox,prop,alignment,"center" | "start",'center',false,false @@ -303,17 +406,28 @@ ion-checkbox,prop,value,any,'on',false,false ion-checkbox,event,ionBlur,void,true ion-checkbox,event,ionChange,CheckboxChangeEventDetail,true ion-checkbox,event,ionFocus,void,true -ion-checkbox,css-prop,--border-color -ion-checkbox,css-prop,--border-color-checked -ion-checkbox,css-prop,--border-radius -ion-checkbox,css-prop,--border-style -ion-checkbox,css-prop,--border-width -ion-checkbox,css-prop,--checkbox-background -ion-checkbox,css-prop,--checkbox-background-checked -ion-checkbox,css-prop,--checkmark-color -ion-checkbox,css-prop,--checkmark-width -ion-checkbox,css-prop,--size -ion-checkbox,css-prop,--transition +ion-checkbox,css-prop,--border-color,ios +ion-checkbox,css-prop,--border-color,md +ion-checkbox,css-prop,--border-color-checked,ios +ion-checkbox,css-prop,--border-color-checked,md +ion-checkbox,css-prop,--border-radius,ios +ion-checkbox,css-prop,--border-radius,md +ion-checkbox,css-prop,--border-style,ios +ion-checkbox,css-prop,--border-style,md +ion-checkbox,css-prop,--border-width,ios +ion-checkbox,css-prop,--border-width,md +ion-checkbox,css-prop,--checkbox-background,ios +ion-checkbox,css-prop,--checkbox-background,md +ion-checkbox,css-prop,--checkbox-background-checked,ios +ion-checkbox,css-prop,--checkbox-background-checked,md +ion-checkbox,css-prop,--checkmark-color,ios +ion-checkbox,css-prop,--checkmark-color,md +ion-checkbox,css-prop,--checkmark-width,ios +ion-checkbox,css-prop,--checkmark-width,md +ion-checkbox,css-prop,--size,ios +ion-checkbox,css-prop,--size,md +ion-checkbox,css-prop,--transition,ios +ion-checkbox,css-prop,--transition,md ion-checkbox,part,container ion-checkbox,part,label ion-checkbox,part,mark @@ -323,8 +437,10 @@ ion-chip,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "second ion-chip,prop,disabled,boolean,false,false,false ion-chip,prop,mode,"ios" | "md",undefined,false,false ion-chip,prop,outline,boolean,false,false,false -ion-chip,css-prop,--background -ion-chip,css-prop,--color +ion-chip,css-prop,--background,ios +ion-chip,css-prop,--background,md +ion-chip,css-prop,--color,ios +ion-chip,css-prop,--color,md ion-col,shadow ion-col,prop,offset,string | undefined,undefined,false,false @@ -426,12 +542,18 @@ ion-datetime,event,ionBlur,void,true ion-datetime,event,ionCancel,void,true ion-datetime,event,ionChange,DatetimeChangeEventDetail,true 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,css-prop,--wheel-highlight-border-radius +ion-datetime,css-prop,--background,ios +ion-datetime,css-prop,--background,md +ion-datetime,css-prop,--background-rgb,ios +ion-datetime,css-prop,--background-rgb,md +ion-datetime,css-prop,--title-color,ios +ion-datetime,css-prop,--title-color,md +ion-datetime,css-prop,--wheel-fade-background-rgb,ios +ion-datetime,css-prop,--wheel-fade-background-rgb,md +ion-datetime,css-prop,--wheel-highlight-background,ios +ion-datetime,css-prop,--wheel-highlight-background,md +ion-datetime,css-prop,--wheel-highlight-border-radius,ios +ion-datetime,css-prop,--wheel-highlight-border-radius,md ion-datetime,part,calendar-day ion-datetime,part,calendar-day active ion-datetime,part,calendar-day disabled @@ -474,29 +596,52 @@ ion-fab-button,prop,translucent,boolean,false,false,false ion-fab-button,prop,type,"button" | "reset" | "submit",'button',false,false ion-fab-button,event,ionBlur,void,true ion-fab-button,event,ionFocus,void,true -ion-fab-button,css-prop,--background -ion-fab-button,css-prop,--background-activated -ion-fab-button,css-prop,--background-activated-opacity -ion-fab-button,css-prop,--background-focused -ion-fab-button,css-prop,--background-focused-opacity -ion-fab-button,css-prop,--background-hover -ion-fab-button,css-prop,--background-hover-opacity -ion-fab-button,css-prop,--border-color -ion-fab-button,css-prop,--border-radius -ion-fab-button,css-prop,--border-style -ion-fab-button,css-prop,--border-width -ion-fab-button,css-prop,--box-shadow -ion-fab-button,css-prop,--close-icon-font-size -ion-fab-button,css-prop,--color -ion-fab-button,css-prop,--color-activated -ion-fab-button,css-prop,--color-focused -ion-fab-button,css-prop,--color-hover -ion-fab-button,css-prop,--padding-bottom -ion-fab-button,css-prop,--padding-end -ion-fab-button,css-prop,--padding-start -ion-fab-button,css-prop,--padding-top -ion-fab-button,css-prop,--ripple-color -ion-fab-button,css-prop,--transition +ion-fab-button,css-prop,--background,ios +ion-fab-button,css-prop,--background,md +ion-fab-button,css-prop,--background-activated,ios +ion-fab-button,css-prop,--background-activated,md +ion-fab-button,css-prop,--background-activated-opacity,ios +ion-fab-button,css-prop,--background-activated-opacity,md +ion-fab-button,css-prop,--background-focused,ios +ion-fab-button,css-prop,--background-focused,md +ion-fab-button,css-prop,--background-focused-opacity,ios +ion-fab-button,css-prop,--background-focused-opacity,md +ion-fab-button,css-prop,--background-hover,ios +ion-fab-button,css-prop,--background-hover,md +ion-fab-button,css-prop,--background-hover-opacity,ios +ion-fab-button,css-prop,--background-hover-opacity,md +ion-fab-button,css-prop,--border-color,ios +ion-fab-button,css-prop,--border-color,md +ion-fab-button,css-prop,--border-radius,ios +ion-fab-button,css-prop,--border-radius,md +ion-fab-button,css-prop,--border-style,ios +ion-fab-button,css-prop,--border-style,md +ion-fab-button,css-prop,--border-width,ios +ion-fab-button,css-prop,--border-width,md +ion-fab-button,css-prop,--box-shadow,ios +ion-fab-button,css-prop,--box-shadow,md +ion-fab-button,css-prop,--close-icon-font-size,ios +ion-fab-button,css-prop,--close-icon-font-size,md +ion-fab-button,css-prop,--color,ios +ion-fab-button,css-prop,--color,md +ion-fab-button,css-prop,--color-activated,ios +ion-fab-button,css-prop,--color-activated,md +ion-fab-button,css-prop,--color-focused,ios +ion-fab-button,css-prop,--color-focused,md +ion-fab-button,css-prop,--color-hover,ios +ion-fab-button,css-prop,--color-hover,md +ion-fab-button,css-prop,--padding-bottom,ios +ion-fab-button,css-prop,--padding-bottom,md +ion-fab-button,css-prop,--padding-end,ios +ion-fab-button,css-prop,--padding-end,md +ion-fab-button,css-prop,--padding-start,ios +ion-fab-button,css-prop,--padding-start,md +ion-fab-button,css-prop,--padding-top,ios +ion-fab-button,css-prop,--padding-top,md +ion-fab-button,css-prop,--ripple-color,ios +ion-fab-button,css-prop,--ripple-color,md +ion-fab-button,css-prop,--transition,ios +ion-fab-button,css-prop,--transition,md ion-fab-button,part,close-icon ion-fab-button,part,native @@ -590,24 +735,42 @@ ion-input,event,ionBlur,FocusEvent,true ion-input,event,ionChange,InputChangeEventDetail,true ion-input,event,ionFocus,FocusEvent,true ion-input,event,ionInput,InputInputEventDetail,true -ion-input,css-prop,--background -ion-input,css-prop,--border-color -ion-input,css-prop,--border-radius -ion-input,css-prop,--border-style -ion-input,css-prop,--border-width -ion-input,css-prop,--color -ion-input,css-prop,--highlight-color-focused -ion-input,css-prop,--highlight-color-invalid -ion-input,css-prop,--highlight-color-valid -ion-input,css-prop,--highlight-height -ion-input,css-prop,--padding-bottom -ion-input,css-prop,--padding-end -ion-input,css-prop,--padding-start -ion-input,css-prop,--padding-top -ion-input,css-prop,--placeholder-color -ion-input,css-prop,--placeholder-font-style -ion-input,css-prop,--placeholder-font-weight -ion-input,css-prop,--placeholder-opacity +ion-input,css-prop,--background,ios +ion-input,css-prop,--background,md +ion-input,css-prop,--border-color,ios +ion-input,css-prop,--border-color,md +ion-input,css-prop,--border-radius,ios +ion-input,css-prop,--border-radius,md +ion-input,css-prop,--border-style,ios +ion-input,css-prop,--border-style,md +ion-input,css-prop,--border-width,ios +ion-input,css-prop,--border-width,md +ion-input,css-prop,--color,ios +ion-input,css-prop,--color,md +ion-input,css-prop,--highlight-color-focused,ios +ion-input,css-prop,--highlight-color-focused,md +ion-input,css-prop,--highlight-color-invalid,ios +ion-input,css-prop,--highlight-color-invalid,md +ion-input,css-prop,--highlight-color-valid,ios +ion-input,css-prop,--highlight-color-valid,md +ion-input,css-prop,--highlight-height,ios +ion-input,css-prop,--highlight-height,md +ion-input,css-prop,--padding-bottom,ios +ion-input,css-prop,--padding-bottom,md +ion-input,css-prop,--padding-end,ios +ion-input,css-prop,--padding-end,md +ion-input,css-prop,--padding-start,ios +ion-input,css-prop,--padding-start,md +ion-input,css-prop,--padding-top,ios +ion-input,css-prop,--padding-top,md +ion-input,css-prop,--placeholder-color,ios +ion-input,css-prop,--placeholder-color,md +ion-input,css-prop,--placeholder-font-style,ios +ion-input,css-prop,--placeholder-font-style,md +ion-input,css-prop,--placeholder-font-weight,ios +ion-input,css-prop,--placeholder-font-weight,md +ion-input,css-prop,--placeholder-opacity,ios +ion-input,css-prop,--placeholder-opacity,md ion-input-password-toggle,shadow ion-input-password-toggle,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true @@ -630,37 +793,68 @@ ion-item,prop,routerAnimation,((baseEl: any, opts?: any) => Animation) | undefin ion-item,prop,routerDirection,"back" | "forward" | "root",'forward',false,false ion-item,prop,target,string | undefined,undefined,false,false ion-item,prop,type,"button" | "reset" | "submit",'button',false,false -ion-item,css-prop,--background -ion-item,css-prop,--background-activated -ion-item,css-prop,--background-activated-opacity -ion-item,css-prop,--background-focused -ion-item,css-prop,--background-focused-opacity -ion-item,css-prop,--background-hover -ion-item,css-prop,--background-hover-opacity -ion-item,css-prop,--border-color -ion-item,css-prop,--border-radius -ion-item,css-prop,--border-style -ion-item,css-prop,--border-width -ion-item,css-prop,--color -ion-item,css-prop,--color-activated -ion-item,css-prop,--color-focused -ion-item,css-prop,--color-hover -ion-item,css-prop,--detail-icon-color -ion-item,css-prop,--detail-icon-font-size -ion-item,css-prop,--detail-icon-opacity -ion-item,css-prop,--inner-border-width -ion-item,css-prop,--inner-box-shadow -ion-item,css-prop,--inner-padding-bottom -ion-item,css-prop,--inner-padding-end -ion-item,css-prop,--inner-padding-start -ion-item,css-prop,--inner-padding-top -ion-item,css-prop,--min-height -ion-item,css-prop,--padding-bottom -ion-item,css-prop,--padding-end -ion-item,css-prop,--padding-start -ion-item,css-prop,--padding-top -ion-item,css-prop,--ripple-color -ion-item,css-prop,--transition +ion-item,css-prop,--background,ios +ion-item,css-prop,--background,md +ion-item,css-prop,--background-activated,ios +ion-item,css-prop,--background-activated,md +ion-item,css-prop,--background-activated-opacity,ios +ion-item,css-prop,--background-activated-opacity,md +ion-item,css-prop,--background-focused,ios +ion-item,css-prop,--background-focused,md +ion-item,css-prop,--background-focused-opacity,ios +ion-item,css-prop,--background-focused-opacity,md +ion-item,css-prop,--background-hover,ios +ion-item,css-prop,--background-hover,md +ion-item,css-prop,--background-hover-opacity,ios +ion-item,css-prop,--background-hover-opacity,md +ion-item,css-prop,--border-color,ios +ion-item,css-prop,--border-color,md +ion-item,css-prop,--border-radius,ios +ion-item,css-prop,--border-radius,md +ion-item,css-prop,--border-style,ios +ion-item,css-prop,--border-style,md +ion-item,css-prop,--border-width,ios +ion-item,css-prop,--border-width,md +ion-item,css-prop,--color,ios +ion-item,css-prop,--color,md +ion-item,css-prop,--color-activated,ios +ion-item,css-prop,--color-activated,md +ion-item,css-prop,--color-focused,ios +ion-item,css-prop,--color-focused,md +ion-item,css-prop,--color-hover,ios +ion-item,css-prop,--color-hover,md +ion-item,css-prop,--detail-icon-color,ios +ion-item,css-prop,--detail-icon-color,md +ion-item,css-prop,--detail-icon-font-size,ios +ion-item,css-prop,--detail-icon-font-size,md +ion-item,css-prop,--detail-icon-opacity,ios +ion-item,css-prop,--detail-icon-opacity,md +ion-item,css-prop,--inner-border-width,ios +ion-item,css-prop,--inner-border-width,md +ion-item,css-prop,--inner-box-shadow,ios +ion-item,css-prop,--inner-box-shadow,md +ion-item,css-prop,--inner-padding-bottom,ios +ion-item,css-prop,--inner-padding-bottom,md +ion-item,css-prop,--inner-padding-end,ios +ion-item,css-prop,--inner-padding-end,md +ion-item,css-prop,--inner-padding-start,ios +ion-item,css-prop,--inner-padding-start,md +ion-item,css-prop,--inner-padding-top,ios +ion-item,css-prop,--inner-padding-top,md +ion-item,css-prop,--min-height,ios +ion-item,css-prop,--min-height,md +ion-item,css-prop,--padding-bottom,ios +ion-item,css-prop,--padding-bottom,md +ion-item,css-prop,--padding-end,ios +ion-item,css-prop,--padding-end,md +ion-item,css-prop,--padding-start,ios +ion-item,css-prop,--padding-start,md +ion-item,css-prop,--padding-top,ios +ion-item,css-prop,--padding-top,md +ion-item,css-prop,--ripple-color,ios +ion-item,css-prop,--ripple-color,md +ion-item,css-prop,--transition,ios +ion-item,css-prop,--transition,md ion-item,part,detail-icon ion-item,part,native @@ -668,16 +862,26 @@ ion-item-divider,shadow ion-item-divider,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-item-divider,prop,mode,"ios" | "md",undefined,false,false ion-item-divider,prop,sticky,boolean,false,false,false -ion-item-divider,css-prop,--background -ion-item-divider,css-prop,--color -ion-item-divider,css-prop,--inner-padding-bottom -ion-item-divider,css-prop,--inner-padding-end -ion-item-divider,css-prop,--inner-padding-start -ion-item-divider,css-prop,--inner-padding-top -ion-item-divider,css-prop,--padding-bottom -ion-item-divider,css-prop,--padding-end -ion-item-divider,css-prop,--padding-start -ion-item-divider,css-prop,--padding-top +ion-item-divider,css-prop,--background,ios +ion-item-divider,css-prop,--background,md +ion-item-divider,css-prop,--color,ios +ion-item-divider,css-prop,--color,md +ion-item-divider,css-prop,--inner-padding-bottom,ios +ion-item-divider,css-prop,--inner-padding-bottom,md +ion-item-divider,css-prop,--inner-padding-end,ios +ion-item-divider,css-prop,--inner-padding-end,md +ion-item-divider,css-prop,--inner-padding-start,ios +ion-item-divider,css-prop,--inner-padding-start,md +ion-item-divider,css-prop,--inner-padding-top,ios +ion-item-divider,css-prop,--inner-padding-top,md +ion-item-divider,css-prop,--padding-bottom,ios +ion-item-divider,css-prop,--padding-bottom,md +ion-item-divider,css-prop,--padding-end,ios +ion-item-divider,css-prop,--padding-end,md +ion-item-divider,css-prop,--padding-start,ios +ion-item-divider,css-prop,--padding-start,md +ion-item-divider,css-prop,--padding-top,ios +ion-item-divider,css-prop,--padding-top,md ion-item-group,none @@ -691,8 +895,10 @@ ion-item-option,prop,mode,"ios" | "md",undefined,false,false ion-item-option,prop,rel,string | undefined,undefined,false,false ion-item-option,prop,target,string | undefined,undefined,false,false ion-item-option,prop,type,"button" | "reset" | "submit",'button',false,false -ion-item-option,css-prop,--background -ion-item-option,css-prop,--color +ion-item-option,css-prop,--background,ios +ion-item-option,css-prop,--background,md +ion-item-option,css-prop,--color,ios +ion-item-option,css-prop,--color,md ion-item-option,part,native ion-item-options,none @@ -712,7 +918,8 @@ ion-label,scoped ion-label,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-label,prop,mode,"ios" | "md",undefined,false,false ion-label,prop,position,"fixed" | "floating" | "stacked" | undefined,undefined,false,false -ion-label,css-prop,--color +ion-label,css-prop,--color,ios +ion-label,css-prop,--color,md ion-list,none ion-list,prop,inset,boolean,false,false,false @@ -724,12 +931,18 @@ ion-list-header,shadow ion-list-header,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-list-header,prop,lines,"full" | "inset" | "none" | undefined,undefined,false,false ion-list-header,prop,mode,"ios" | "md",undefined,false,false -ion-list-header,css-prop,--background -ion-list-header,css-prop,--border-color -ion-list-header,css-prop,--border-style -ion-list-header,css-prop,--border-width -ion-list-header,css-prop,--color -ion-list-header,css-prop,--inner-border-width +ion-list-header,css-prop,--background,ios +ion-list-header,css-prop,--background,md +ion-list-header,css-prop,--border-color,ios +ion-list-header,css-prop,--border-color,md +ion-list-header,css-prop,--border-style,ios +ion-list-header,css-prop,--border-style,md +ion-list-header,css-prop,--border-width,ios +ion-list-header,css-prop,--border-width,md +ion-list-header,css-prop,--color,ios +ion-list-header,css-prop,--color,md +ion-list-header,css-prop,--inner-border-width,ios +ion-list-header,css-prop,--inner-border-width,md ion-loading,scoped ion-loading,prop,animated,boolean,true,false,false @@ -759,15 +972,24 @@ ion-loading,event,ionLoadingWillDismiss,OverlayEventDetail,true ion-loading,event,ionLoadingWillPresent,void,true ion-loading,event,willDismiss,OverlayEventDetail,true ion-loading,event,willPresent,void,true -ion-loading,css-prop,--backdrop-opacity -ion-loading,css-prop,--background -ion-loading,css-prop,--height -ion-loading,css-prop,--max-height -ion-loading,css-prop,--max-width -ion-loading,css-prop,--min-height -ion-loading,css-prop,--min-width -ion-loading,css-prop,--spinner-color -ion-loading,css-prop,--width +ion-loading,css-prop,--backdrop-opacity,ios +ion-loading,css-prop,--backdrop-opacity,md +ion-loading,css-prop,--background,ios +ion-loading,css-prop,--background,md +ion-loading,css-prop,--height,ios +ion-loading,css-prop,--height,md +ion-loading,css-prop,--max-height,ios +ion-loading,css-prop,--max-height,md +ion-loading,css-prop,--max-width,ios +ion-loading,css-prop,--max-width,md +ion-loading,css-prop,--min-height,ios +ion-loading,css-prop,--min-height,md +ion-loading,css-prop,--min-width,ios +ion-loading,css-prop,--min-width,md +ion-loading,css-prop,--spinner-color,ios +ion-loading,css-prop,--spinner-color,md +ion-loading,css-prop,--width,ios +ion-loading,css-prop,--width,md ion-menu,shadow ion-menu,prop,contentId,string | undefined,undefined,false,true @@ -787,13 +1009,20 @@ ion-menu,event,ionDidClose,void,true ion-menu,event,ionDidOpen,void,true ion-menu,event,ionWillClose,void,true ion-menu,event,ionWillOpen,void,true -ion-menu,css-prop,--background -ion-menu,css-prop,--height -ion-menu,css-prop,--max-height -ion-menu,css-prop,--max-width -ion-menu,css-prop,--min-height -ion-menu,css-prop,--min-width -ion-menu,css-prop,--width +ion-menu,css-prop,--background,ios +ion-menu,css-prop,--background,md +ion-menu,css-prop,--height,ios +ion-menu,css-prop,--height,md +ion-menu,css-prop,--max-height,ios +ion-menu,css-prop,--max-height,md +ion-menu,css-prop,--max-width,ios +ion-menu,css-prop,--max-width,md +ion-menu,css-prop,--min-height,ios +ion-menu,css-prop,--min-height,md +ion-menu,css-prop,--min-width,ios +ion-menu,css-prop,--min-width,md +ion-menu,css-prop,--width,ios +ion-menu,css-prop,--width,md ion-menu,part,backdrop ion-menu,part,container @@ -804,19 +1033,32 @@ ion-menu-button,prop,disabled,boolean,false,false,false ion-menu-button,prop,menu,string | undefined,undefined,false,false ion-menu-button,prop,mode,"ios" | "md",undefined,false,false ion-menu-button,prop,type,"button" | "reset" | "submit",'button',false,false -ion-menu-button,css-prop,--background -ion-menu-button,css-prop,--background-focused -ion-menu-button,css-prop,--background-focused-opacity -ion-menu-button,css-prop,--background-hover -ion-menu-button,css-prop,--background-hover-opacity -ion-menu-button,css-prop,--border-radius -ion-menu-button,css-prop,--color -ion-menu-button,css-prop,--color-focused -ion-menu-button,css-prop,--color-hover -ion-menu-button,css-prop,--padding-bottom -ion-menu-button,css-prop,--padding-end -ion-menu-button,css-prop,--padding-start -ion-menu-button,css-prop,--padding-top +ion-menu-button,css-prop,--background,ios +ion-menu-button,css-prop,--background,md +ion-menu-button,css-prop,--background-focused,ios +ion-menu-button,css-prop,--background-focused,md +ion-menu-button,css-prop,--background-focused-opacity,ios +ion-menu-button,css-prop,--background-focused-opacity,md +ion-menu-button,css-prop,--background-hover,ios +ion-menu-button,css-prop,--background-hover,md +ion-menu-button,css-prop,--background-hover-opacity,ios +ion-menu-button,css-prop,--background-hover-opacity,md +ion-menu-button,css-prop,--border-radius,ios +ion-menu-button,css-prop,--border-radius,md +ion-menu-button,css-prop,--color,ios +ion-menu-button,css-prop,--color,md +ion-menu-button,css-prop,--color-focused,ios +ion-menu-button,css-prop,--color-focused,md +ion-menu-button,css-prop,--color-hover,ios +ion-menu-button,css-prop,--color-hover,md +ion-menu-button,css-prop,--padding-bottom,ios +ion-menu-button,css-prop,--padding-bottom,md +ion-menu-button,css-prop,--padding-end,ios +ion-menu-button,css-prop,--padding-end,md +ion-menu-button,css-prop,--padding-start,ios +ion-menu-button,css-prop,--padding-start,md +ion-menu-button,css-prop,--padding-top,ios +ion-menu-button,css-prop,--padding-top,md ion-menu-button,part,icon ion-menu-button,part,native @@ -859,18 +1101,30 @@ ion-modal,event,ionModalWillDismiss,OverlayEventDetail,true ion-modal,event,ionModalWillPresent,void,true ion-modal,event,willDismiss,OverlayEventDetail,true ion-modal,event,willPresent,void,true -ion-modal,css-prop,--backdrop-opacity -ion-modal,css-prop,--background -ion-modal,css-prop,--border-color -ion-modal,css-prop,--border-radius -ion-modal,css-prop,--border-style -ion-modal,css-prop,--border-width -ion-modal,css-prop,--height -ion-modal,css-prop,--max-height -ion-modal,css-prop,--max-width -ion-modal,css-prop,--min-height -ion-modal,css-prop,--min-width -ion-modal,css-prop,--width +ion-modal,css-prop,--backdrop-opacity,ios +ion-modal,css-prop,--backdrop-opacity,md +ion-modal,css-prop,--background,ios +ion-modal,css-prop,--background,md +ion-modal,css-prop,--border-color,ios +ion-modal,css-prop,--border-color,md +ion-modal,css-prop,--border-radius,ios +ion-modal,css-prop,--border-radius,md +ion-modal,css-prop,--border-style,ios +ion-modal,css-prop,--border-style,md +ion-modal,css-prop,--border-width,ios +ion-modal,css-prop,--border-width,md +ion-modal,css-prop,--height,ios +ion-modal,css-prop,--height,md +ion-modal,css-prop,--max-height,ios +ion-modal,css-prop,--max-height,md +ion-modal,css-prop,--max-width,ios +ion-modal,css-prop,--max-width,md +ion-modal,css-prop,--min-height,ios +ion-modal,css-prop,--min-height,md +ion-modal,css-prop,--min-width,ios +ion-modal,css-prop,--min-width,md +ion-modal,css-prop,--width,ios +ion-modal,css-prop,--width,md ion-modal,part,backdrop ion-modal,part,content ion-modal,part,handle @@ -907,13 +1161,17 @@ ion-nav-link,prop,routerDirection,"back" | "forward" | "root",'forward',false,fa ion-note,shadow ion-note,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-note,prop,mode,"ios" | "md",undefined,false,false -ion-note,css-prop,--color +ion-note,css-prop,--color,ios +ion-note,css-prop,--color,md ion-picker,shadow ion-picker,prop,mode,"ios" | "md",undefined,false,false -ion-picker,css-prop,--fade-background-rgb -ion-picker,css-prop,--highlight-background -ion-picker,css-prop,--highlight-border-radius +ion-picker,css-prop,--fade-background-rgb,ios +ion-picker,css-prop,--fade-background-rgb,md +ion-picker,css-prop,--highlight-background,ios +ion-picker,css-prop,--highlight-background,md +ion-picker,css-prop,--highlight-border-radius,ios +ion-picker,css-prop,--highlight-border-radius,md ion-picker-column,shadow ion-picker-column,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,'primary',false,true @@ -956,19 +1214,32 @@ ion-picker-legacy,event,ionPickerWillDismiss,OverlayEventDetail,true ion-picker-legacy,event,ionPickerWillPresent,void,true ion-picker-legacy,event,willDismiss,OverlayEventDetail,true ion-picker-legacy,event,willPresent,void,true -ion-picker-legacy,css-prop,--backdrop-opacity -ion-picker-legacy,css-prop,--background -ion-picker-legacy,css-prop,--background-rgb -ion-picker-legacy,css-prop,--border-color -ion-picker-legacy,css-prop,--border-radius -ion-picker-legacy,css-prop,--border-style -ion-picker-legacy,css-prop,--border-width -ion-picker-legacy,css-prop,--height -ion-picker-legacy,css-prop,--max-height -ion-picker-legacy,css-prop,--max-width -ion-picker-legacy,css-prop,--min-height -ion-picker-legacy,css-prop,--min-width -ion-picker-legacy,css-prop,--width +ion-picker-legacy,css-prop,--backdrop-opacity,ios +ion-picker-legacy,css-prop,--backdrop-opacity,md +ion-picker-legacy,css-prop,--background,ios +ion-picker-legacy,css-prop,--background,md +ion-picker-legacy,css-prop,--background-rgb,ios +ion-picker-legacy,css-prop,--background-rgb,md +ion-picker-legacy,css-prop,--border-color,ios +ion-picker-legacy,css-prop,--border-color,md +ion-picker-legacy,css-prop,--border-radius,ios +ion-picker-legacy,css-prop,--border-radius,md +ion-picker-legacy,css-prop,--border-style,ios +ion-picker-legacy,css-prop,--border-style,md +ion-picker-legacy,css-prop,--border-width,ios +ion-picker-legacy,css-prop,--border-width,md +ion-picker-legacy,css-prop,--height,ios +ion-picker-legacy,css-prop,--height,md +ion-picker-legacy,css-prop,--max-height,ios +ion-picker-legacy,css-prop,--max-height,md +ion-picker-legacy,css-prop,--max-width,ios +ion-picker-legacy,css-prop,--max-width,md +ion-picker-legacy,css-prop,--min-height,ios +ion-picker-legacy,css-prop,--min-height,md +ion-picker-legacy,css-prop,--min-width,ios +ion-picker-legacy,css-prop,--min-width,md +ion-picker-legacy,css-prop,--width,ios +ion-picker-legacy,css-prop,--width,md ion-popover,shadow ion-popover,prop,alignment,"center" | "end" | "start" | undefined,undefined,false,false @@ -1006,17 +1277,28 @@ ion-popover,event,ionPopoverWillDismiss,OverlayEventDetail,true ion-popover,event,ionPopoverWillPresent,void,true ion-popover,event,willDismiss,OverlayEventDetail,true ion-popover,event,willPresent,void,true -ion-popover,css-prop,--backdrop-opacity -ion-popover,css-prop,--background -ion-popover,css-prop,--box-shadow -ion-popover,css-prop,--height -ion-popover,css-prop,--max-height -ion-popover,css-prop,--max-width -ion-popover,css-prop,--min-height -ion-popover,css-prop,--min-width -ion-popover,css-prop,--offset-x -ion-popover,css-prop,--offset-y -ion-popover,css-prop,--width +ion-popover,css-prop,--backdrop-opacity,ios +ion-popover,css-prop,--backdrop-opacity,md +ion-popover,css-prop,--background,ios +ion-popover,css-prop,--background,md +ion-popover,css-prop,--box-shadow,ios +ion-popover,css-prop,--box-shadow,md +ion-popover,css-prop,--height,ios +ion-popover,css-prop,--height,md +ion-popover,css-prop,--max-height,ios +ion-popover,css-prop,--max-height,md +ion-popover,css-prop,--max-width,ios +ion-popover,css-prop,--max-width,md +ion-popover,css-prop,--min-height,ios +ion-popover,css-prop,--min-height,md +ion-popover,css-prop,--min-width,ios +ion-popover,css-prop,--min-width,md +ion-popover,css-prop,--offset-x,ios +ion-popover,css-prop,--offset-x,md +ion-popover,css-prop,--offset-y,ios +ion-popover,css-prop,--offset-y,md +ion-popover,css-prop,--width,ios +ion-popover,css-prop,--width,md ion-popover,part,arrow ion-popover,part,backdrop ion-popover,part,content @@ -1028,8 +1310,10 @@ ion-progress-bar,prop,mode,"ios" | "md",undefined,false,false ion-progress-bar,prop,reversed,boolean,false,false,false ion-progress-bar,prop,type,"determinate" | "indeterminate",'determinate',false,false ion-progress-bar,prop,value,number,0,false,false -ion-progress-bar,css-prop,--background -ion-progress-bar,css-prop,--progress-background +ion-progress-bar,css-prop,--background,ios +ion-progress-bar,css-prop,--background,md +ion-progress-bar,css-prop,--progress-background,ios +ion-progress-bar,css-prop,--progress-background,md ion-progress-bar,part,progress ion-progress-bar,part,stream ion-progress-bar,part,track @@ -1045,10 +1329,14 @@ ion-radio,prop,name,string,this.inputId,false,false ion-radio,prop,value,any,undefined,false,false ion-radio,event,ionBlur,void,true ion-radio,event,ionFocus,void,true -ion-radio,css-prop,--border-radius -ion-radio,css-prop,--color -ion-radio,css-prop,--color-checked -ion-radio,css-prop,--inner-border-radius +ion-radio,css-prop,--border-radius,ios +ion-radio,css-prop,--border-radius,md +ion-radio,css-prop,--color,ios +ion-radio,css-prop,--color,md +ion-radio,css-prop,--color-checked,ios +ion-radio,css-prop,--color-checked,md +ion-radio,css-prop,--inner-border-radius,ios +ion-radio,css-prop,--inner-border-radius,md ion-radio,part,container ion-radio,part,label ion-radio,part,mark @@ -1084,17 +1372,28 @@ ion-range,event,ionFocus,void,true ion-range,event,ionInput,RangeChangeEventDetail,true ion-range,event,ionKnobMoveEnd,RangeKnobMoveEndEventDetail,true ion-range,event,ionKnobMoveStart,RangeKnobMoveStartEventDetail,true -ion-range,css-prop,--bar-background -ion-range,css-prop,--bar-background-active -ion-range,css-prop,--bar-border-radius -ion-range,css-prop,--bar-height -ion-range,css-prop,--height -ion-range,css-prop,--knob-background -ion-range,css-prop,--knob-border-radius -ion-range,css-prop,--knob-box-shadow -ion-range,css-prop,--knob-size -ion-range,css-prop,--pin-background -ion-range,css-prop,--pin-color +ion-range,css-prop,--bar-background,ios +ion-range,css-prop,--bar-background,md +ion-range,css-prop,--bar-background-active,ios +ion-range,css-prop,--bar-background-active,md +ion-range,css-prop,--bar-border-radius,ios +ion-range,css-prop,--bar-border-radius,md +ion-range,css-prop,--bar-height,ios +ion-range,css-prop,--bar-height,md +ion-range,css-prop,--height,ios +ion-range,css-prop,--height,md +ion-range,css-prop,--knob-background,ios +ion-range,css-prop,--knob-background,md +ion-range,css-prop,--knob-border-radius,ios +ion-range,css-prop,--knob-border-radius,md +ion-range,css-prop,--knob-box-shadow,ios +ion-range,css-prop,--knob-box-shadow,md +ion-range,css-prop,--knob-size,ios +ion-range,css-prop,--knob-size,md +ion-range,css-prop,--pin-background,ios +ion-range,css-prop,--pin-background,md +ion-range,css-prop,--pin-color,ios +ion-range,css-prop,--pin-color,md ion-range,part,bar ion-range,part,bar-active ion-range,part,knob @@ -1206,17 +1505,28 @@ ion-searchbar,event,ionChange,SearchbarChangeEventDetail,true ion-searchbar,event,ionClear,void,true ion-searchbar,event,ionFocus,void,true ion-searchbar,event,ionInput,SearchbarInputEventDetail,true -ion-searchbar,css-prop,--background -ion-searchbar,css-prop,--border-radius -ion-searchbar,css-prop,--box-shadow -ion-searchbar,css-prop,--cancel-button-color -ion-searchbar,css-prop,--clear-button-color -ion-searchbar,css-prop,--color -ion-searchbar,css-prop,--icon-color -ion-searchbar,css-prop,--placeholder-color -ion-searchbar,css-prop,--placeholder-font-style -ion-searchbar,css-prop,--placeholder-font-weight -ion-searchbar,css-prop,--placeholder-opacity +ion-searchbar,css-prop,--background,ios +ion-searchbar,css-prop,--background,md +ion-searchbar,css-prop,--border-radius,ios +ion-searchbar,css-prop,--border-radius,md +ion-searchbar,css-prop,--box-shadow,ios +ion-searchbar,css-prop,--box-shadow,md +ion-searchbar,css-prop,--cancel-button-color,ios +ion-searchbar,css-prop,--cancel-button-color,md +ion-searchbar,css-prop,--clear-button-color,ios +ion-searchbar,css-prop,--clear-button-color,md +ion-searchbar,css-prop,--color,ios +ion-searchbar,css-prop,--color,md +ion-searchbar,css-prop,--icon-color,ios +ion-searchbar,css-prop,--icon-color,md +ion-searchbar,css-prop,--placeholder-color,ios +ion-searchbar,css-prop,--placeholder-color,md +ion-searchbar,css-prop,--placeholder-font-style,ios +ion-searchbar,css-prop,--placeholder-font-style,md +ion-searchbar,css-prop,--placeholder-font-weight,ios +ion-searchbar,css-prop,--placeholder-font-weight,md +ion-searchbar,css-prop,--placeholder-opacity,ios +ion-searchbar,css-prop,--placeholder-opacity,md ion-segment,shadow ion-segment,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true @@ -1227,7 +1537,8 @@ ion-segment,prop,selectOnFocus,boolean,false,false,false ion-segment,prop,swipeGesture,boolean,true,false,false ion-segment,prop,value,number | string | undefined,undefined,false,false ion-segment,event,ionChange,SegmentChangeEventDetail,true -ion-segment,css-prop,--background +ion-segment,css-prop,--background,ios +ion-segment,css-prop,--background,md ion-segment-button,shadow ion-segment-button,prop,disabled,boolean,false,false,false @@ -1235,34 +1546,62 @@ ion-segment-button,prop,layout,"icon-bottom" | "icon-end" | "icon-hide" | "icon- 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,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 -ion-segment-button,css-prop,--background-focused-opacity -ion-segment-button,css-prop,--background-hover -ion-segment-button,css-prop,--background-hover-opacity -ion-segment-button,css-prop,--border-color -ion-segment-button,css-prop,--border-radius -ion-segment-button,css-prop,--border-style -ion-segment-button,css-prop,--border-width -ion-segment-button,css-prop,--color -ion-segment-button,css-prop,--color-checked -ion-segment-button,css-prop,--color-focused -ion-segment-button,css-prop,--color-hover -ion-segment-button,css-prop,--indicator-box-shadow -ion-segment-button,css-prop,--indicator-color -ion-segment-button,css-prop,--indicator-height -ion-segment-button,css-prop,--indicator-transform -ion-segment-button,css-prop,--indicator-transition -ion-segment-button,css-prop,--margin-bottom -ion-segment-button,css-prop,--margin-end -ion-segment-button,css-prop,--margin-start -ion-segment-button,css-prop,--margin-top -ion-segment-button,css-prop,--padding-bottom -ion-segment-button,css-prop,--padding-end -ion-segment-button,css-prop,--padding-start -ion-segment-button,css-prop,--padding-top -ion-segment-button,css-prop,--transition +ion-segment-button,css-prop,--background,ios +ion-segment-button,css-prop,--background,md +ion-segment-button,css-prop,--background-checked,ios +ion-segment-button,css-prop,--background-checked,md +ion-segment-button,css-prop,--background-focused,ios +ion-segment-button,css-prop,--background-focused,md +ion-segment-button,css-prop,--background-focused-opacity,ios +ion-segment-button,css-prop,--background-focused-opacity,md +ion-segment-button,css-prop,--background-hover,ios +ion-segment-button,css-prop,--background-hover,md +ion-segment-button,css-prop,--background-hover-opacity,ios +ion-segment-button,css-prop,--background-hover-opacity,md +ion-segment-button,css-prop,--border-color,ios +ion-segment-button,css-prop,--border-color,md +ion-segment-button,css-prop,--border-radius,ios +ion-segment-button,css-prop,--border-radius,md +ion-segment-button,css-prop,--border-style,ios +ion-segment-button,css-prop,--border-style,md +ion-segment-button,css-prop,--border-width,ios +ion-segment-button,css-prop,--border-width,md +ion-segment-button,css-prop,--color,ios +ion-segment-button,css-prop,--color,md +ion-segment-button,css-prop,--color-checked,ios +ion-segment-button,css-prop,--color-checked,md +ion-segment-button,css-prop,--color-focused,ios +ion-segment-button,css-prop,--color-focused,md +ion-segment-button,css-prop,--color-hover,ios +ion-segment-button,css-prop,--color-hover,md +ion-segment-button,css-prop,--indicator-box-shadow,ios +ion-segment-button,css-prop,--indicator-box-shadow,md +ion-segment-button,css-prop,--indicator-color,ios +ion-segment-button,css-prop,--indicator-color,md +ion-segment-button,css-prop,--indicator-height,ios +ion-segment-button,css-prop,--indicator-height,md +ion-segment-button,css-prop,--indicator-transform,ios +ion-segment-button,css-prop,--indicator-transform,md +ion-segment-button,css-prop,--indicator-transition,ios +ion-segment-button,css-prop,--indicator-transition,md +ion-segment-button,css-prop,--margin-bottom,ios +ion-segment-button,css-prop,--margin-bottom,md +ion-segment-button,css-prop,--margin-end,ios +ion-segment-button,css-prop,--margin-end,md +ion-segment-button,css-prop,--margin-start,ios +ion-segment-button,css-prop,--margin-start,md +ion-segment-button,css-prop,--margin-top,ios +ion-segment-button,css-prop,--margin-top,md +ion-segment-button,css-prop,--padding-bottom,ios +ion-segment-button,css-prop,--padding-bottom,md +ion-segment-button,css-prop,--padding-end,ios +ion-segment-button,css-prop,--padding-end,md +ion-segment-button,css-prop,--padding-start,ios +ion-segment-button,css-prop,--padding-start,md +ion-segment-button,css-prop,--padding-top,ios +ion-segment-button,css-prop,--padding-top,md +ion-segment-button,css-prop,--transition,ios +ion-segment-button,css-prop,--transition,md ion-segment-button,part,indicator ion-segment-button,part,indicator-background ion-segment-button,part,native @@ -1294,22 +1633,38 @@ ion-select,event,ionCancel,void,true ion-select,event,ionChange,SelectChangeEventDetail,true ion-select,event,ionDismiss,void,true ion-select,event,ionFocus,void,true -ion-select,css-prop,--background -ion-select,css-prop,--border-color -ion-select,css-prop,--border-radius -ion-select,css-prop,--border-style -ion-select,css-prop,--border-width -ion-select,css-prop,--highlight-color-focused -ion-select,css-prop,--highlight-color-invalid -ion-select,css-prop,--highlight-color-valid -ion-select,css-prop,--highlight-height -ion-select,css-prop,--padding-bottom -ion-select,css-prop,--padding-end -ion-select,css-prop,--padding-start -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,css-prop,--background,ios +ion-select,css-prop,--background,md +ion-select,css-prop,--border-color,ios +ion-select,css-prop,--border-color,md +ion-select,css-prop,--border-radius,ios +ion-select,css-prop,--border-radius,md +ion-select,css-prop,--border-style,ios +ion-select,css-prop,--border-style,md +ion-select,css-prop,--border-width,ios +ion-select,css-prop,--border-width,md +ion-select,css-prop,--highlight-color-focused,ios +ion-select,css-prop,--highlight-color-focused,md +ion-select,css-prop,--highlight-color-invalid,ios +ion-select,css-prop,--highlight-color-invalid,md +ion-select,css-prop,--highlight-color-valid,ios +ion-select,css-prop,--highlight-color-valid,md +ion-select,css-prop,--highlight-height,ios +ion-select,css-prop,--highlight-height,md +ion-select,css-prop,--padding-bottom,ios +ion-select,css-prop,--padding-bottom,md +ion-select,css-prop,--padding-end,ios +ion-select,css-prop,--padding-end,md +ion-select,css-prop,--padding-start,ios +ion-select,css-prop,--padding-start,md +ion-select,css-prop,--padding-top,ios +ion-select,css-prop,--padding-top,md +ion-select,css-prop,--placeholder-color,ios +ion-select,css-prop,--placeholder-color,md +ion-select,css-prop,--placeholder-opacity,ios +ion-select,css-prop,--placeholder-opacity,md +ion-select,css-prop,--ripple-color,ios +ion-select,css-prop,--ripple-color,md ion-select,part,container ion-select,part,icon ion-select,part,label @@ -1338,10 +1693,14 @@ ion-split-pane,prop,contentId,string | undefined,undefined,false,true ion-split-pane,prop,disabled,boolean,false,false,false ion-split-pane,prop,when,boolean | string,QUERY['lg'],false,false ion-split-pane,event,ionSplitPaneVisible,{ visible: boolean; },true -ion-split-pane,css-prop,--border -ion-split-pane,css-prop,--side-max-width -ion-split-pane,css-prop,--side-min-width -ion-split-pane,css-prop,--side-width +ion-split-pane,css-prop,--border,ios +ion-split-pane,css-prop,--border,md +ion-split-pane,css-prop,--side-max-width,ios +ion-split-pane,css-prop,--side-max-width,md +ion-split-pane,css-prop,--side-min-width,ios +ion-split-pane,css-prop,--side-min-width,md +ion-split-pane,css-prop,--side-width,ios +ion-split-pane,css-prop,--side-width,md ion-tab,shadow ion-tab,prop,component,Function | HTMLElement | null | string | undefined,undefined,false,false @@ -1353,9 +1712,12 @@ ion-tab-bar,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "sec ion-tab-bar,prop,mode,"ios" | "md",undefined,false,false ion-tab-bar,prop,selectedTab,string | undefined,undefined,false,false ion-tab-bar,prop,translucent,boolean,false,false,false -ion-tab-bar,css-prop,--background -ion-tab-bar,css-prop,--border -ion-tab-bar,css-prop,--color +ion-tab-bar,css-prop,--background,ios +ion-tab-bar,css-prop,--background,md +ion-tab-bar,css-prop,--border,ios +ion-tab-bar,css-prop,--border,md +ion-tab-bar,css-prop,--color,ios +ion-tab-bar,css-prop,--color,md ion-tab-button,shadow ion-tab-button,prop,disabled,boolean,false,false,false @@ -1367,17 +1729,28 @@ ion-tab-button,prop,rel,string | undefined,undefined,false,false ion-tab-button,prop,selected,boolean,false,false,false ion-tab-button,prop,tab,string | undefined,undefined,false,false ion-tab-button,prop,target,string | undefined,undefined,false,false -ion-tab-button,css-prop,--background -ion-tab-button,css-prop,--background-focused -ion-tab-button,css-prop,--background-focused-opacity -ion-tab-button,css-prop,--color -ion-tab-button,css-prop,--color-focused -ion-tab-button,css-prop,--color-selected -ion-tab-button,css-prop,--padding-bottom -ion-tab-button,css-prop,--padding-end -ion-tab-button,css-prop,--padding-start -ion-tab-button,css-prop,--padding-top -ion-tab-button,css-prop,--ripple-color +ion-tab-button,css-prop,--background,ios +ion-tab-button,css-prop,--background,md +ion-tab-button,css-prop,--background-focused,ios +ion-tab-button,css-prop,--background-focused,md +ion-tab-button,css-prop,--background-focused-opacity,ios +ion-tab-button,css-prop,--background-focused-opacity,md +ion-tab-button,css-prop,--color,ios +ion-tab-button,css-prop,--color,md +ion-tab-button,css-prop,--color-focused,ios +ion-tab-button,css-prop,--color-focused,md +ion-tab-button,css-prop,--color-selected,ios +ion-tab-button,css-prop,--color-selected,md +ion-tab-button,css-prop,--padding-bottom,ios +ion-tab-button,css-prop,--padding-bottom,md +ion-tab-button,css-prop,--padding-end,ios +ion-tab-button,css-prop,--padding-end,md +ion-tab-button,css-prop,--padding-start,ios +ion-tab-button,css-prop,--padding-start,md +ion-tab-button,css-prop,--padding-top,ios +ion-tab-button,css-prop,--padding-top,md +ion-tab-button,css-prop,--ripple-color,ios +ion-tab-button,css-prop,--ripple-color,md ion-tab-button,part,native ion-tabs,shadow @@ -1427,24 +1800,42 @@ ion-textarea,event,ionBlur,FocusEvent,true ion-textarea,event,ionChange,TextareaChangeEventDetail,true ion-textarea,event,ionFocus,FocusEvent,true ion-textarea,event,ionInput,TextareaInputEventDetail,true -ion-textarea,css-prop,--background -ion-textarea,css-prop,--border-color -ion-textarea,css-prop,--border-radius -ion-textarea,css-prop,--border-style -ion-textarea,css-prop,--border-width -ion-textarea,css-prop,--color -ion-textarea,css-prop,--highlight-color-focused -ion-textarea,css-prop,--highlight-color-invalid -ion-textarea,css-prop,--highlight-color-valid -ion-textarea,css-prop,--highlight-height -ion-textarea,css-prop,--padding-bottom -ion-textarea,css-prop,--padding-end -ion-textarea,css-prop,--padding-start -ion-textarea,css-prop,--padding-top -ion-textarea,css-prop,--placeholder-color -ion-textarea,css-prop,--placeholder-font-style -ion-textarea,css-prop,--placeholder-font-weight -ion-textarea,css-prop,--placeholder-opacity +ion-textarea,css-prop,--background,ios +ion-textarea,css-prop,--background,md +ion-textarea,css-prop,--border-color,ios +ion-textarea,css-prop,--border-color,md +ion-textarea,css-prop,--border-radius,ios +ion-textarea,css-prop,--border-radius,md +ion-textarea,css-prop,--border-style,ios +ion-textarea,css-prop,--border-style,md +ion-textarea,css-prop,--border-width,ios +ion-textarea,css-prop,--border-width,md +ion-textarea,css-prop,--color,ios +ion-textarea,css-prop,--color,md +ion-textarea,css-prop,--highlight-color-focused,ios +ion-textarea,css-prop,--highlight-color-focused,md +ion-textarea,css-prop,--highlight-color-invalid,ios +ion-textarea,css-prop,--highlight-color-invalid,md +ion-textarea,css-prop,--highlight-color-valid,ios +ion-textarea,css-prop,--highlight-color-valid,md +ion-textarea,css-prop,--highlight-height,ios +ion-textarea,css-prop,--highlight-height,md +ion-textarea,css-prop,--padding-bottom,ios +ion-textarea,css-prop,--padding-bottom,md +ion-textarea,css-prop,--padding-end,ios +ion-textarea,css-prop,--padding-end,md +ion-textarea,css-prop,--padding-start,ios +ion-textarea,css-prop,--padding-start,md +ion-textarea,css-prop,--padding-top,ios +ion-textarea,css-prop,--padding-top,md +ion-textarea,css-prop,--placeholder-color,ios +ion-textarea,css-prop,--placeholder-color,md +ion-textarea,css-prop,--placeholder-font-style,ios +ion-textarea,css-prop,--placeholder-font-style,md +ion-textarea,css-prop,--placeholder-font-weight,ios +ion-textarea,css-prop,--placeholder-font-weight,md +ion-textarea,css-prop,--placeholder-opacity,ios +ion-textarea,css-prop,--placeholder-opacity,md ion-thumbnail,shadow ion-thumbnail,css-prop,--border-radius @@ -1453,7 +1844,8 @@ ion-thumbnail,css-prop,--size ion-title,shadow ion-title,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-title,prop,size,"large" | "small" | undefined,undefined,false,false -ion-title,css-prop,--color +ion-title,css-prop,--color,ios +ion-title,css-prop,--color,md ion-toast,shadow ion-toast,prop,animated,boolean,true,false,false @@ -1488,23 +1880,40 @@ ion-toast,event,ionToastWillDismiss,OverlayEventDetail,true ion-toast,event,ionToastWillPresent,void,true ion-toast,event,willDismiss,OverlayEventDetail,true ion-toast,event,willPresent,void,true -ion-toast,css-prop,--background -ion-toast,css-prop,--border-color -ion-toast,css-prop,--border-radius -ion-toast,css-prop,--border-style -ion-toast,css-prop,--border-width -ion-toast,css-prop,--box-shadow -ion-toast,css-prop,--button-color -ion-toast,css-prop,--color -ion-toast,css-prop,--end -ion-toast,css-prop,--height -ion-toast,css-prop,--max-height -ion-toast,css-prop,--max-width -ion-toast,css-prop,--min-height -ion-toast,css-prop,--min-width -ion-toast,css-prop,--start -ion-toast,css-prop,--white-space -ion-toast,css-prop,--width +ion-toast,css-prop,--background,ios +ion-toast,css-prop,--background,md +ion-toast,css-prop,--border-color,ios +ion-toast,css-prop,--border-color,md +ion-toast,css-prop,--border-radius,ios +ion-toast,css-prop,--border-radius,md +ion-toast,css-prop,--border-style,ios +ion-toast,css-prop,--border-style,md +ion-toast,css-prop,--border-width,ios +ion-toast,css-prop,--border-width,md +ion-toast,css-prop,--box-shadow,ios +ion-toast,css-prop,--box-shadow,md +ion-toast,css-prop,--button-color,ios +ion-toast,css-prop,--button-color,md +ion-toast,css-prop,--color,ios +ion-toast,css-prop,--color,md +ion-toast,css-prop,--end,ios +ion-toast,css-prop,--end,md +ion-toast,css-prop,--height,ios +ion-toast,css-prop,--height,md +ion-toast,css-prop,--max-height,ios +ion-toast,css-prop,--max-height,md +ion-toast,css-prop,--max-width,ios +ion-toast,css-prop,--max-width,md +ion-toast,css-prop,--min-height,ios +ion-toast,css-prop,--min-height,md +ion-toast,css-prop,--min-width,ios +ion-toast,css-prop,--min-width,md +ion-toast,css-prop,--start,ios +ion-toast,css-prop,--start,md +ion-toast,css-prop,--white-space,ios +ion-toast,css-prop,--white-space,md +ion-toast,css-prop,--width,ios +ion-toast,css-prop,--width,md ion-toast,part,button ion-toast,part,button cancel ion-toast,part,container @@ -1526,18 +1935,30 @@ ion-toggle,prop,value,null | string | undefined,'on',false,false ion-toggle,event,ionBlur,void,true ion-toggle,event,ionChange,ToggleChangeEventDetail,true ion-toggle,event,ionFocus,void,true -ion-toggle,css-prop,--border-radius -ion-toggle,css-prop,--handle-background -ion-toggle,css-prop,--handle-background-checked -ion-toggle,css-prop,--handle-border-radius -ion-toggle,css-prop,--handle-box-shadow -ion-toggle,css-prop,--handle-height -ion-toggle,css-prop,--handle-max-height -ion-toggle,css-prop,--handle-spacing -ion-toggle,css-prop,--handle-transition -ion-toggle,css-prop,--handle-width -ion-toggle,css-prop,--track-background -ion-toggle,css-prop,--track-background-checked +ion-toggle,css-prop,--border-radius,ios +ion-toggle,css-prop,--border-radius,md +ion-toggle,css-prop,--handle-background,ios +ion-toggle,css-prop,--handle-background,md +ion-toggle,css-prop,--handle-background-checked,ios +ion-toggle,css-prop,--handle-background-checked,md +ion-toggle,css-prop,--handle-border-radius,ios +ion-toggle,css-prop,--handle-border-radius,md +ion-toggle,css-prop,--handle-box-shadow,ios +ion-toggle,css-prop,--handle-box-shadow,md +ion-toggle,css-prop,--handle-height,ios +ion-toggle,css-prop,--handle-height,md +ion-toggle,css-prop,--handle-max-height,ios +ion-toggle,css-prop,--handle-max-height,md +ion-toggle,css-prop,--handle-spacing,ios +ion-toggle,css-prop,--handle-spacing,md +ion-toggle,css-prop,--handle-transition,ios +ion-toggle,css-prop,--handle-transition,md +ion-toggle,css-prop,--handle-width,ios +ion-toggle,css-prop,--handle-width,md +ion-toggle,css-prop,--track-background,ios +ion-toggle,css-prop,--track-background,md +ion-toggle,css-prop,--track-background-checked,ios +ion-toggle,css-prop,--track-background-checked,md ion-toggle,part,handle ion-toggle,part,label ion-toggle,part,track @@ -1545,14 +1966,25 @@ ion-toggle,part,track ion-toolbar,shadow ion-toolbar,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record | undefined,undefined,false,true ion-toolbar,prop,mode,"ios" | "md",undefined,false,false -ion-toolbar,css-prop,--background -ion-toolbar,css-prop,--border-color -ion-toolbar,css-prop,--border-style -ion-toolbar,css-prop,--border-width -ion-toolbar,css-prop,--color -ion-toolbar,css-prop,--min-height -ion-toolbar,css-prop,--opacity -ion-toolbar,css-prop,--padding-bottom -ion-toolbar,css-prop,--padding-end -ion-toolbar,css-prop,--padding-start -ion-toolbar,css-prop,--padding-top \ No newline at end of file +ion-toolbar,css-prop,--background,ios +ion-toolbar,css-prop,--background,md +ion-toolbar,css-prop,--border-color,ios +ion-toolbar,css-prop,--border-color,md +ion-toolbar,css-prop,--border-style,ios +ion-toolbar,css-prop,--border-style,md +ion-toolbar,css-prop,--border-width,ios +ion-toolbar,css-prop,--border-width,md +ion-toolbar,css-prop,--color,ios +ion-toolbar,css-prop,--color,md +ion-toolbar,css-prop,--min-height,ios +ion-toolbar,css-prop,--min-height,md +ion-toolbar,css-prop,--opacity,ios +ion-toolbar,css-prop,--opacity,md +ion-toolbar,css-prop,--padding-bottom,ios +ion-toolbar,css-prop,--padding-bottom,md +ion-toolbar,css-prop,--padding-end,ios +ion-toolbar,css-prop,--padding-end,md +ion-toolbar,css-prop,--padding-start,ios +ion-toolbar,css-prop,--padding-start,md +ion-toolbar,css-prop,--padding-top,ios +ion-toolbar,css-prop,--padding-top,md \ No newline at end of file diff --git a/core/package-lock.json b/core/package-lock.json index 245daafdca..b5f8785483 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ionic/core", - "version": "8.1.0", + "version": "8.1.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/core", - "version": "8.1.0", + "version": "8.1.3", "license": "MIT", "dependencies": { "@stencil/core": "^4.17.2", @@ -1691,12 +1691,12 @@ } }, "node_modules/@playwright/test": { - "version": "1.43.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz", - "integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.0.tgz", + "integrity": "sha512-rNX5lbNidamSUorBhB4XZ9SQTjAqfe5M+p37Z8ic0jPFBMo5iCtQz1kRWkEMg+rYOKSlVycpQmpqjSFq7LXOfg==", "dev": true, "dependencies": { - "playwright": "1.43.1" + "playwright": "1.44.0" }, "bin": { "playwright": "cli.js" @@ -1786,9 +1786,9 @@ } }, "node_modules/@stencil/core": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.17.2.tgz", - "integrity": "sha512-MX7yaLmpTU9iZvCire9nhecTcE0qBlV0vPWrLMeIXewYN7/hb8B3NjnhQyBKC93FDPI8NBRmt6KIugLw9zcRZg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.18.1.tgz", + "integrity": "sha512-WoRctLuXqoiLquS4EEvMoyLsbQ5+xuk8wp0+n4mYjoAoXy8NppXmMqKrMlFyYXL/zUI5ODS7U7IcLCpZ3IcKZQ==", "bin": { "stencil": "bin/stencil" }, @@ -8222,12 +8222,12 @@ } }, "node_modules/playwright": { - "version": "1.43.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz", - "integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.0.tgz", + "integrity": "sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ==", "dev": true, "dependencies": { - "playwright-core": "1.43.1" + "playwright-core": "1.44.0" }, "bin": { "playwright": "cli.js" @@ -8240,9 +8240,9 @@ } }, "node_modules/playwright-core": { - "version": "1.43.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz", - "integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.0.tgz", + "integrity": "sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==", "dev": true, "bin": { "playwright-core": "cli.js" @@ -11443,12 +11443,12 @@ } }, "@playwright/test": { - "version": "1.43.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz", - "integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.0.tgz", + "integrity": "sha512-rNX5lbNidamSUorBhB4XZ9SQTjAqfe5M+p37Z8ic0jPFBMo5iCtQz1kRWkEMg+rYOKSlVycpQmpqjSFq7LXOfg==", "dev": true, "requires": { - "playwright": "1.43.1" + "playwright": "1.44.0" } }, "@rollup/plugin-node-resolve": { @@ -11516,9 +11516,9 @@ "requires": {} }, "@stencil/core": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.17.2.tgz", - "integrity": "sha512-MX7yaLmpTU9iZvCire9nhecTcE0qBlV0vPWrLMeIXewYN7/hb8B3NjnhQyBKC93FDPI8NBRmt6KIugLw9zcRZg==" + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.18.1.tgz", + "integrity": "sha512-WoRctLuXqoiLquS4EEvMoyLsbQ5+xuk8wp0+n4mYjoAoXy8NppXmMqKrMlFyYXL/zUI5ODS7U7IcLCpZ3IcKZQ==" }, "@stencil/react-output-target": { "version": "0.5.3", @@ -16167,19 +16167,19 @@ } }, "playwright": { - "version": "1.43.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz", - "integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.0.tgz", + "integrity": "sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ==", "dev": true, "requires": { "fsevents": "2.3.2", - "playwright-core": "1.43.1" + "playwright-core": "1.44.0" } }, "playwright-core": { - "version": "1.43.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz", - "integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.0.tgz", + "integrity": "sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==", "dev": true }, "postcss": { diff --git a/core/package.json b/core/package.json index 7b4addd930..bbc9ac8e8a 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/core", - "version": "8.1.0", + "version": "8.1.3", "description": "Base components for Ionic", "keywords": [ "ionic", @@ -108,7 +108,7 @@ "url": "git+https://github.com/ionic-team/ionic-framework.git" }, "bugs": { - "url": "https://github.com/ionic-team/ionic/issues" + "url": "https://github.com/ionic-team/ionic-framework/issues" }, "homepage": "https://ionicframework.com/", "jest": { diff --git a/core/scripts/api-spec-generator.js b/core/scripts/api-spec-generator.js index 2896a5504b..58148e3043 100644 --- a/core/scripts/api-spec-generator.js +++ b/core/scripts/api-spec-generator.js @@ -33,7 +33,7 @@ function generateComponent(component, content) { content.push(`${component.tag},event,${prop.event},${prop.detail},${prop.bubbles}`); }); component.styles.forEach(prop => { - content.push(`${component.tag},css-prop,${prop.name}`); + content.push(`${component.tag},css-prop,${prop.name}${prop.mode ? ',' + prop.mode : ''}`); }); component.parts.forEach(part => { content.push(`${component.tag},part,${part.name}`); diff --git a/core/scripts/docker.mjs b/core/scripts/docker.mjs index f723305459..5c23812d2e 100644 --- a/core/scripts/docker.mjs +++ b/core/scripts/docker.mjs @@ -53,4 +53,7 @@ if (requestHeaded && !hasHeadedConfigFiles) { console.warn(chalk.yellow.bold('\n⚠️ You are running tests in headed mode, but one or more of your headed config files was not found.\nPlease ensure that both docker-display.txt and docker-display-volume.txt have been created in the correct location.\n')); } -execa('docker', args, { shell: true, stdio: 'inherit' }); +const res = await execa('docker', args, { shell: true, stdio: 'inherit' }); + +// If underlying scripts failed this whole process should fail too +process.exit(res.exitCode); diff --git a/core/src/components/accordion/test/a11y/accordion.e2e.ts b/core/src/components/accordion/test/a11y/accordion.e2e.ts index fce2bcc6c8..4abd5a7bf2 100644 --- a/core/src/components/accordion/test/a11y/accordion.e2e.ts +++ b/core/src/components/accordion/test/a11y/accordion.e2e.ts @@ -3,10 +3,11 @@ import { configs, test } from '@utils/test/playwright'; configs().forEach(({ config, title }) => { test.describe(title('accordion: a11y'), () => { - test('accordions should be keyboard navigable', async ({ page, skip, browserName }) => { - // TODO(FW-1764): remove skip once issue is resolved + // TODO(ROU-8157): remove skip once the keyboard navigation is working again + test.skip('accordions should be keyboard navigable', async ({ page, skip, browserName }) => { + // TODO(ROU-5358): remove skip once issue is resolved skip.browser('firefox', 'https://github.com/ionic-team/ionic-framework/issues/25070'); - // TODO (FW-2979) + // TODO (ROU-5437) skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.'); await page.goto(`/src/components/accordion/test/a11y`, config); diff --git a/core/src/components/accordion/test/standalone/index.html b/core/src/components/accordion/test/standalone/index.html index 50cf965424..2cf504b7ec 100644 --- a/core/src/components/accordion/test/standalone/index.html +++ b/core/src/components/accordion/test/standalone/index.html @@ -2,7 +2,7 @@ - Accordion - Basic + Accordion - Standalone @@ -119,6 +119,7 @@ outline: none; text-align: left; padding: 20px 16px; + color: black; } .custom-accordion-content { diff --git a/core/src/components/alert/test/a11y/alert.e2e.ts b/core/src/components/alert/test/a11y/alert.e2e.ts index 65d579c898..12add8b2ec 100644 --- a/core/src/components/alert/test/a11y/alert.e2e.ts +++ b/core/src/components/alert/test/a11y/alert.e2e.ts @@ -180,7 +180,10 @@ configs({ directions: ['ltr'] }).forEach(({ config, title }) => { */ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { test.describe(title('alert: font scaling'), () => { - test('should scale text on larger font sizes', async ({ page }) => { + test('should scale text on larger font sizes', async ({ page, skip }) => { + // TODO(ROU-8158): unskip this test when a solution is found + skip.browser('chromium', 'Rendering is flaky in Chrome.'); + await page.setContent( ` + + + +
+ Checkbox +
+ +
+ Radio +
+ +
+ + Option + +
+ +
+ Toggle +
+
+ `, + config + ); + + const list = page.locator('ion-list'); + + await expect(list).toHaveScreenshot(screenshot(`item-inputs-div-with-inputs`)); + }); + }); +}); diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..67d0ffd9bb Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..624b20210e Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..539832327f Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..b0d5bde4d7 Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..f440ae41a7 Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..eafd009d1d Binary files /dev/null and b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-div-with-inputs-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts b/core/src/components/item/test/slotted-inputs/item.e2e.ts index eef05ce3ab..7fcbf4b8b1 100644 --- a/core/src/components/item/test/slotted-inputs/item.e2e.ts +++ b/core/src/components/item/test/slotted-inputs/item.e2e.ts @@ -12,3 +12,163 @@ configs().forEach(({ title, screenshot, config }) => { }); }); }); + +/** + * This behavior does not vary across directions + */ +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('item: slotted inputs'), () => { + test.describe('checkbox', () => { + test('should not expand the slotted checkbox width larger than its content', async ({ page }, testInfo) => { + testInfo.annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/29423', + }); + + await page.setContent( + ` + + + + Label + + + Label + + + + Start + Label + + + Label + End + + + `, + config + ); + + const list = page.locator('ion-list'); + + await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-checkbox`)); + }); + }); + test.describe('radio', () => { + test('should not expand the slotted radio width larger than its content', async ({ page }, testInfo) => { + testInfo.annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/29423', + }); + + await page.setContent( + ` + + + + Label + + + Label + + + + Start + Label + + + Label + End + + + `, + config + ); + + const list = page.locator('ion-list'); + + await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-radio`)); + }); + }); + test.describe('select', () => { + test('should not expand the slotted select width larger than its content', async ({ page }, testInfo) => { + testInfo.annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/29423', + }); + + await page.setContent( + ` + + + + Option + + Label + + + Label + + Option + + + + + Option + + Label + + + Label + + Option + + + + `, + config + ); + + const list = page.locator('ion-list'); + + await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-select`)); + }); + }); + test.describe('toggle', () => { + test('should not expand the slotted toggle width larger than its content', async ({ page }, testInfo) => { + testInfo.annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/29423', + }); + + await page.setContent( + ` + + + + Label + + + Label + + + + Start + Label + + + Label + End + + + `, + config + ); + + const list = page.locator('ion-list'); + + await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-toggle`)); + }); + }); + }); +}); diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..89f28456b1 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..7f1c618670 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..f607cef301 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..9e81dce253 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..00d00427c5 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..0ea196c47b Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-checkbox-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Chrome-linux.png index 32b9ca4596..b11b0265d7 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Firefox-linux.png index e3c6966669..d843bde11b 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Safari-linux.png index 7a81cfbf2c..1530ac33bb 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Chrome-linux.png index dcce46ae7c..9193e4cd90 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Firefox-linux.png index 1295c03f6d..aa387c7f93 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Safari-linux.png index c8b7b05abc..8a78dd6694 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png index 1d24f390d2..30cab5c93c 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png index 1770b0e7f8..20a23a6ed9 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png index 8e0deee6a1..08de031cde 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png index f536ae3012..14c73662bf 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png index 5bbae0e1be..d777c35f19 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png index c914dfdcbe..c5469ec994 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..c3a4aa8dc5 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..e490b4de5e Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..57d932a442 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..f28b6f311e Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..f993da9452 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..4e4957f125 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-radio-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..1efd5b4003 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..69dc9c6fab Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..c64a4d2a37 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..403bce48fd Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..081d637178 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..b3a1e83aed Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-select-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..91a67e8ee6 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..f8e7bbafd9 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..1027efd0de Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..c8debd4918 Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..74fe912e5a Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..4d8e2e275b Binary files /dev/null and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-toggle-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts b/core/src/components/loading/test/basic/loading.e2e.ts index 002ab53b45..3f85cfacf1 100644 --- a/core/src/components/loading/test/basic/loading.e2e.ts +++ b/core/src/components/loading/test/basic/loading.e2e.ts @@ -74,7 +74,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, c await ionLoadingDidPresent.next(); - const button = page.locator('ion-loading ion-button'); + const button = page.locator('ion-loading button'); if (browserName === 'webkit') { await page.keyboard.down('Alt'); diff --git a/core/src/components/menu/test/basic/menu.e2e.ts b/core/src/components/menu/test/basic/menu.e2e.ts index 23c3ad0c3c..4a9faeca61 100644 --- a/core/src/components/menu/test/basic/menu.e2e.ts +++ b/core/src/components/menu/test/basic/menu.e2e.ts @@ -29,7 +29,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => test('should trap focus', async ({ page, skip, browserName }) => { skip.browser('firefox', 'Firefox incorrectly allows keyboard focus to move to ion-content'); - // TODO (FW-2979) + // TODO (ROU-5437) skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.'); const ionDidOpen = await page.spyOnEvent('ionDidOpen'); diff --git a/core/src/components/modal/test/trigger/modal.e2e.ts b/core/src/components/modal/test/trigger/modal.e2e.ts index 8513e2fbfb..4f2cc554d6 100644 --- a/core/src/components/modal/test/trigger/modal.e2e.ts +++ b/core/src/components/modal/test/trigger/modal.e2e.ts @@ -24,7 +24,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => { await modal.evaluate((modal: HTMLIonModalElement) => { modal.remove(); - document.querySelector('ion-button')?.insertAdjacentElement('afterend', modal); + document.querySelector('button')?.insertAdjacentElement('afterend', modal); }); await page.waitForChanges(); diff --git a/core/src/components/nav/test/basic/nav.e2e.ts b/core/src/components/nav/test/basic/nav.e2e.ts index 6bef1d6c63..4cb898a0a2 100644 --- a/core/src/components/nav/test/basic/nav.e2e.ts +++ b/core/src/components/nav/test/basic/nav.e2e.ts @@ -18,7 +18,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => test.describe('pushing a new page', () => { test('should render the pushed component', async ({ page }) => { - const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")'); + const pageTwoButton = page.locator('button:has-text("Go to Page Two")'); const pageOne = page.locator('page-one'); const pageTwo = page.locator('page-two'); @@ -32,7 +32,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => }); test('should render the back button', async ({ page }) => { - const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")'); + const pageTwoButton = page.locator('button:has-text("Go to Page Two")'); const pageTwoBackButton = page.locator('page-two ion-back-button'); await pageTwoButton.click(); @@ -45,7 +45,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => test('back button should pop to the previous page', async ({ page }) => { const pageOne = page.locator('page-one'); const pageTwo = page.locator('page-two'); - const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")'); + const pageTwoButton = page.locator('button:has-text("Go to Page Two")'); const pageTwoBackButton = page.locator('page-two ion-back-button'); await pageTwoButton.click(); @@ -65,8 +65,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => const pageTwo = page.locator('page-two'); const pageThree = page.locator('page-three'); - const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")'); - const pageThreeButton = page.locator('ion-button:has-text("Go to Page Three")'); + const pageTwoButton = page.locator('button:has-text("Go to Page Two")'); + const pageThreeButton = page.locator('button:has-text("Go to Page Three")'); await pageTwoButton.click(); await page.waitForChanges(); diff --git a/core/src/components/nav/test/nested/nav.e2e.ts b/core/src/components/nav/test/nested/nav.e2e.ts index eb2ec32922..6ae571e5ff 100644 --- a/core/src/components/nav/test/nested/nav.e2e.ts +++ b/core/src/components/nav/test/nested/nav.e2e.ts @@ -16,8 +16,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => const pageOne = page.locator('page-one'); const pageTwo = page.locator('page-two'); - const pageTwoButton = page.locator('ion-button:has-text("Go to Page 2")'); - const pageTwoTwoButton = page.locator('ion-button:has-text("Go to Page 2.2")'); + const pageTwoButton = page.locator('button:has-text("Go to Page 2")'); + const pageTwoTwoButton = page.locator('button:has-text("Go to Page 2.2")'); await pageTwoButton.click(); await page.waitForChanges(); @@ -35,7 +35,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => await expect(pageTwoOne).toHaveCount(1); await expect(pageTwoTwo).toBeVisible(); - const pageThreeButton = page.locator('ion-button:has-text("Go to Page 3")'); + const pageThreeButton = page.locator('button:has-text("Go to Page 3")'); await pageThreeButton.click(); await page.waitForChanges(); @@ -49,8 +49,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => test.describe('back button', () => { test('should work with nested ion-nav', async ({ page }) => { - const pageTwoButton = page.locator('ion-button:has-text("Go to Page 2")'); - const pageTwoTwoButton = page.locator('ion-button:has-text("Go to Page 2.2")'); + const pageTwoButton = page.locator('button:has-text("Go to Page 2")'); + const pageTwoTwoButton = page.locator('button:has-text("Go to Page 2.2")'); await pageTwoButton.click(); await page.waitForChanges(); @@ -61,7 +61,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => await pageTwoTwoButton.click(); await page.waitForChanges(); - const pageThreeButton = page.locator('ion-button:has-text("Go to Page 3")'); + const pageThreeButton = page.locator('button:has-text("Go to Page 3")'); const pageThreeBackButton = page.locator('page-three ion-back-button'); await pageThreeButton.click(); diff --git a/core/src/components/nav/test/routing/nav.e2e.ts b/core/src/components/nav/test/routing/nav.e2e.ts index 33f02c9882..7d533d5213 100644 --- a/core/src/components/nav/test/routing/nav.e2e.ts +++ b/core/src/components/nav/test/routing/nav.e2e.ts @@ -24,8 +24,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => const pageOne = page.locator('page-one'); const pageTwo = page.locator('page-two'); - const pageOneButton = page.locator('ion-button:has-text("Go to Page One")'); - const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")'); + const pageOneButton = page.locator('button:has-text("Go to Page One")'); + const pageTwoButton = page.locator('button:has-text("Go to Page Two")'); await pageOneButton.click(); await page.waitForChanges(); @@ -45,7 +45,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => }); test('should render the back button', async ({ page }) => { - const pageOneButton = page.locator('ion-button:has-text("Go to Page One")'); + const pageOneButton = page.locator('button:has-text("Go to Page One")'); const pageOneBackButton = page.locator('page-one ion-back-button'); await pageOneButton.click(); @@ -59,7 +59,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => const pageRoot = page.locator('page-root'); const pageOne = page.locator('page-one'); - const pageOneButton = page.locator('ion-button:has-text("Go to Page One")'); + const pageOneButton = page.locator('button:has-text("Go to Page One")'); const pageOneBackButton = page.locator('page-one ion-back-button'); await pageOneButton.click(); @@ -80,9 +80,9 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => const pageTwo = page.locator('page-two'); const pageThree = page.locator('page-three'); - const pageOneButton = page.locator('ion-button:has-text("Go to Page One")'); - const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")'); - const pageThreeButton = page.locator('ion-button:has-text("Go to Page Three")'); + const pageOneButton = page.locator('button:has-text("Go to Page One")'); + const pageTwoButton = page.locator('button:has-text("Go to Page Two")'); + const pageThreeButton = page.locator('button:has-text("Go to Page Three")'); await pageOneButton.click(); await page.waitForChanges(); diff --git a/core/src/components/picker-column/picker-column.tsx b/core/src/components/picker-column/picker-column.tsx index 16f7cbaeb4..0b4f57dd8a 100644 --- a/core/src/components/picker-column/picker-column.tsx +++ b/core/src/components/picker-column/picker-column.tsx @@ -212,8 +212,8 @@ export class PickerColumn implements ComponentInterface { */ @Method() async setFocus() { - if (this.scrollEl) { - this.scrollEl.focus(); + if (this.assistiveFocusable) { + this.assistiveFocusable.focus(); } } @@ -619,7 +619,7 @@ export class PickerColumn implements ComponentInterface { } if (newOption !== null) { - this.value = newOption.value; + this.setValue(newOption.value); // This stops any default browser behavior such as scrolling ev.preventDefault(); @@ -687,6 +687,25 @@ export class PickerColumn implements ComponentInterface { ref={(el) => { this.scrollEl = el; }} + /** + * When an element has an overlay scroll style and + * a fixed height, Firefox will focus the scrollable + * container if the content exceeds the container's + * dimensions. + * + * This causes keyboard navigation to focus to this + * element instead of going to the next element in + * the tab order. + * + * The desired behavior is for the user to be able to + * focus the assistive focusable element and tab to + * the next element in the tab order. Instead of tabbing + * to this element. + * + * To prevent this, we set the tabIndex to -1. This + * will match the behavior of the other browsers. + */ + tabIndex={-1} >