Merge branch 'main' into feature-8.2
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -9,7 +9,7 @@ body:
|
|||||||
label: Prerequisites
|
label: Prerequisites
|
||||||
description: Please ensure you have completed all of the following.
|
description: Please ensure you have completed all of the following.
|
||||||
options:
|
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
|
required: true
|
||||||
- label: I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
|
- label: I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
|
||||||
required: true
|
required: true
|
||||||
|
2
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@ -9,7 +9,7 @@ body:
|
|||||||
label: Prerequisites
|
label: Prerequisites
|
||||||
description: Please ensure you have completed all of the following.
|
description: Please ensure you have completed all of the following.
|
||||||
options:
|
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
|
required: true
|
||||||
- label: I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
|
- label: I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
|
||||||
required: true
|
required: true
|
||||||
|
@ -29,7 +29,7 @@ runs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ./packages/angular/test
|
working-directory: ./packages/angular/test
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: npm install
|
run: npm install --legacy-peer-deps # TODO(FW-6227): Remove legacy-peer-deps flag
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: ./packages/angular/test/build/${{ inputs.app }}
|
working-directory: ./packages/angular/test/build/${{ inputs.app }}
|
||||||
- name: Sync Built Changes
|
- name: Sync Built Changes
|
||||||
|
4
.github/workflows/assign-issues.yml
vendored
@ -11,8 +11,8 @@ jobs:
|
|||||||
issues: write
|
issues: write
|
||||||
steps:
|
steps:
|
||||||
- name: 'Auto-assign issue'
|
- name: 'Auto-assign issue'
|
||||||
uses: pozil/auto-assign-issue@65947009a243e6b3993edeef4e64df3ca85d760c # v1.14.0
|
uses: pozil/auto-assign-issue@c5bca5027e680b9e8411b826d16947afd8c76b32 # v2.0.0
|
||||||
with:
|
with:
|
||||||
assignees: sean-perkins, brandyscarney, thetaPC
|
assignees: brandyscarney, thetaPC
|
||||||
numOfAssignee: 1
|
numOfAssignee: 1
|
||||||
allowSelfAssign: false
|
allowSelfAssign: false
|
||||||
|
2
.github/workflows/build.yml
vendored
@ -140,7 +140,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
apps: [ng16, ng17]
|
apps: [ng16, ng17, ng18]
|
||||||
needs: [build-angular, build-angular-server]
|
needs: [build-angular, build-angular-server]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
6
.github/workflows/conventional-commit.yml
vendored
@ -24,3 +24,9 @@ jobs:
|
|||||||
# within the message.
|
# within the message.
|
||||||
subjectPatternError: |
|
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.
|
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
|
||||||
|
2
.github/workflows/stencil-nightly.yml
vendored
@ -150,7 +150,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
apps: [ng16, ng17]
|
apps: [ng16, ng17, ng18]
|
||||||
needs: [build-angular, build-angular-server]
|
needs: [build-angular, build-angular-server]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
37
CHANGELOG.md
@ -3,6 +3,43 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
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)
|
# [8.1.0](https://github.com/ionic-team/ionic-framework/compare/v8.0.2...v8.1.0) (2024-05-01)
|
||||||
|
|
||||||
|
|
||||||
|
22
README.md
@ -20,7 +20,7 @@
|
|||||||
<a href="https://github.com/ionic-team/ionic-framework/blob/main/LICENSE">
|
<a href="https://github.com/ionic-team/ionic-framework/blob/main/LICENSE">
|
||||||
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="Ionic Framework is released under the MIT license." />
|
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="Ionic Framework is released under the MIT license." />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/ionic-team/ionic/blob/main/docs/CONTRIBUTING.md">
|
<a href="https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md">
|
||||||
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs welcome!" />
|
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs welcome!" />
|
||||||
</a>
|
</a>
|
||||||
<a href="https://twitter.com/Ionicframework">
|
<a href="https://twitter.com/Ionicframework">
|
||||||
@ -38,7 +38,7 @@
|
|||||||
Documentation
|
Documentation
|
||||||
</a>
|
</a>
|
||||||
<span> · </span>
|
<span> · </span>
|
||||||
<a href="https://github.com/ionic-team/ionic/blob/main/docs/CONTRIBUTING.md">Contribute</a>
|
<a href="https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md">Contribute</a>
|
||||||
<span> · </span>
|
<span> · </span>
|
||||||
<a href="https://blog.ionicframework.com/">Blog</a>
|
<a href="https://blog.ionicframework.com/">Blog</a>
|
||||||
<br />
|
<br />
|
||||||
@ -63,14 +63,15 @@ Looking for the `ionic-angular` package? Ionic 3 has been moved to the [`ionic-v
|
|||||||
|
|
||||||
### Getting Started
|
### 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
|
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
|
### Migration Guides
|
||||||
|
|
||||||
Already have an Ionic app? These guides will help you migrate to the latest versions.
|
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 v6 to v7](https://ionicframework.com/docs/updating/7-0)
|
||||||
* [Migrate from v5 to v6](https://ionicframework.com/docs/updating/6-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)
|
* [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)
|
- [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)
|
- [React Ionic Conference App](https://github.com/ionic-team/ionic-react-conference-app)
|
||||||
<!-- TODO(FW-3811): add this when the vue conference app is updated -->
|
- [Vue Ionic Conference App](https://github.com/ionic-team/ionic-vue-conference-app)
|
||||||
<!-- - [Vue Ionic Conference App](https://github.com/ionic-team/ionic-vue-conference-app) -->
|
|
||||||
|
|
||||||
### Contributing
|
### Contributing
|
||||||
|
|
||||||
Thanks for your interest in contributing! Read up on our guidelines for
|
Thanks for your interest in contributing! Read up on our guidelines for
|
||||||
[contributing](https://github.com/ionic-team/ionic/blob/main/docs/CONTRIBUTING.md)
|
[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/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
|
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.
|
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.
|
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.
|
||||||
|
|
||||||
### 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.
|
|
||||||
|
|
||||||
### Earlier Versions
|
### Earlier Versions
|
||||||
|
|
||||||
|
@ -3,6 +3,42 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
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)
|
# [8.1.0](https://github.com/ionic-team/ionic-framework/compare/v8.0.2...v8.1.0) (2024-05-01)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Get Playwright
|
# Get Playwright
|
||||||
FROM mcr.microsoft.com/playwright:v1.43.1
|
FROM mcr.microsoft.com/playwright:v1.44.0
|
||||||
|
|
||||||
# Set the working directory
|
# Set the working directory
|
||||||
WORKDIR /ionic
|
WORKDIR /ionic
|
||||||
|
@ -96,7 +96,7 @@ const showModal = async () => {
|
|||||||
|
|
||||||
## How to contribute
|
## How to contribute
|
||||||
|
|
||||||
[Check out the CONTRIBUTE guide](/.github/CONTRIBUTING.md)
|
[Check out the CONTRIBUTE guide](/docs/CONTRIBUTING.md)
|
||||||
|
|
||||||
## Related
|
## Related
|
||||||
|
|
||||||
|
1296
core/api.txt
60
core/package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@ionic/core",
|
"name": "@ionic/core",
|
||||||
"version": "8.1.0",
|
"version": "8.1.3",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@ionic/core",
|
"name": "@ionic/core",
|
||||||
"version": "8.1.0",
|
"version": "8.1.3",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@stencil/core": "^4.17.2",
|
"@stencil/core": "^4.17.2",
|
||||||
@ -1691,12 +1691,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@playwright/test": {
|
"node_modules/@playwright/test": {
|
||||||
"version": "1.43.1",
|
"version": "1.44.0",
|
||||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz",
|
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.0.tgz",
|
||||||
"integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==",
|
"integrity": "sha512-rNX5lbNidamSUorBhB4XZ9SQTjAqfe5M+p37Z8ic0jPFBMo5iCtQz1kRWkEMg+rYOKSlVycpQmpqjSFq7LXOfg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"playwright": "1.43.1"
|
"playwright": "1.44.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"playwright": "cli.js"
|
"playwright": "cli.js"
|
||||||
@ -1786,9 +1786,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@stencil/core": {
|
"node_modules/@stencil/core": {
|
||||||
"version": "4.17.2",
|
"version": "4.18.1",
|
||||||
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.17.2.tgz",
|
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.18.1.tgz",
|
||||||
"integrity": "sha512-MX7yaLmpTU9iZvCire9nhecTcE0qBlV0vPWrLMeIXewYN7/hb8B3NjnhQyBKC93FDPI8NBRmt6KIugLw9zcRZg==",
|
"integrity": "sha512-WoRctLuXqoiLquS4EEvMoyLsbQ5+xuk8wp0+n4mYjoAoXy8NppXmMqKrMlFyYXL/zUI5ODS7U7IcLCpZ3IcKZQ==",
|
||||||
"bin": {
|
"bin": {
|
||||||
"stencil": "bin/stencil"
|
"stencil": "bin/stencil"
|
||||||
},
|
},
|
||||||
@ -8222,12 +8222,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/playwright": {
|
"node_modules/playwright": {
|
||||||
"version": "1.43.1",
|
"version": "1.44.0",
|
||||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz",
|
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.0.tgz",
|
||||||
"integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==",
|
"integrity": "sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"playwright-core": "1.43.1"
|
"playwright-core": "1.44.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"playwright": "cli.js"
|
"playwright": "cli.js"
|
||||||
@ -8240,9 +8240,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/playwright-core": {
|
"node_modules/playwright-core": {
|
||||||
"version": "1.43.1",
|
"version": "1.44.0",
|
||||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz",
|
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.0.tgz",
|
||||||
"integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==",
|
"integrity": "sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"playwright-core": "cli.js"
|
"playwright-core": "cli.js"
|
||||||
@ -11443,12 +11443,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@playwright/test": {
|
"@playwright/test": {
|
||||||
"version": "1.43.1",
|
"version": "1.44.0",
|
||||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.43.1.tgz",
|
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.0.tgz",
|
||||||
"integrity": "sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==",
|
"integrity": "sha512-rNX5lbNidamSUorBhB4XZ9SQTjAqfe5M+p37Z8ic0jPFBMo5iCtQz1kRWkEMg+rYOKSlVycpQmpqjSFq7LXOfg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"playwright": "1.43.1"
|
"playwright": "1.44.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@rollup/plugin-node-resolve": {
|
"@rollup/plugin-node-resolve": {
|
||||||
@ -11516,9 +11516,9 @@
|
|||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@stencil/core": {
|
"@stencil/core": {
|
||||||
"version": "4.17.2",
|
"version": "4.18.1",
|
||||||
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.17.2.tgz",
|
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.18.1.tgz",
|
||||||
"integrity": "sha512-MX7yaLmpTU9iZvCire9nhecTcE0qBlV0vPWrLMeIXewYN7/hb8B3NjnhQyBKC93FDPI8NBRmt6KIugLw9zcRZg=="
|
"integrity": "sha512-WoRctLuXqoiLquS4EEvMoyLsbQ5+xuk8wp0+n4mYjoAoXy8NppXmMqKrMlFyYXL/zUI5ODS7U7IcLCpZ3IcKZQ=="
|
||||||
},
|
},
|
||||||
"@stencil/react-output-target": {
|
"@stencil/react-output-target": {
|
||||||
"version": "0.5.3",
|
"version": "0.5.3",
|
||||||
@ -16167,19 +16167,19 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"playwright": {
|
"playwright": {
|
||||||
"version": "1.43.1",
|
"version": "1.44.0",
|
||||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz",
|
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.0.tgz",
|
||||||
"integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==",
|
"integrity": "sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"fsevents": "2.3.2",
|
"fsevents": "2.3.2",
|
||||||
"playwright-core": "1.43.1"
|
"playwright-core": "1.44.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"playwright-core": {
|
"playwright-core": {
|
||||||
"version": "1.43.1",
|
"version": "1.44.0",
|
||||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz",
|
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.0.tgz",
|
||||||
"integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==",
|
"integrity": "sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@ionic/core",
|
"name": "@ionic/core",
|
||||||
"version": "8.1.0",
|
"version": "8.1.3",
|
||||||
"description": "Base components for Ionic",
|
"description": "Base components for Ionic",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"ionic",
|
"ionic",
|
||||||
@ -108,7 +108,7 @@
|
|||||||
"url": "git+https://github.com/ionic-team/ionic-framework.git"
|
"url": "git+https://github.com/ionic-team/ionic-framework.git"
|
||||||
},
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/ionic-team/ionic/issues"
|
"url": "https://github.com/ionic-team/ionic-framework/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://ionicframework.com/",
|
"homepage": "https://ionicframework.com/",
|
||||||
"jest": {
|
"jest": {
|
||||||
|
@ -33,7 +33,7 @@ function generateComponent(component, content) {
|
|||||||
content.push(`${component.tag},event,${prop.event},${prop.detail},${prop.bubbles}`);
|
content.push(`${component.tag},event,${prop.event},${prop.detail},${prop.bubbles}`);
|
||||||
});
|
});
|
||||||
component.styles.forEach(prop => {
|
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 => {
|
component.parts.forEach(part => {
|
||||||
content.push(`${component.tag},part,${part.name}`);
|
content.push(`${component.tag},part,${part.name}`);
|
||||||
|
@ -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'));
|
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);
|
||||||
|
@ -3,10 +3,11 @@ import { configs, test } from '@utils/test/playwright';
|
|||||||
|
|
||||||
configs().forEach(({ config, title }) => {
|
configs().forEach(({ config, title }) => {
|
||||||
test.describe(title('accordion: a11y'), () => {
|
test.describe(title('accordion: a11y'), () => {
|
||||||
test('accordions should be keyboard navigable', async ({ page, skip, browserName }) => {
|
// TODO(ROU-8157): remove skip once the keyboard navigation is working again
|
||||||
// TODO(FW-1764): remove skip once issue is resolved
|
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');
|
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.');
|
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);
|
await page.goto(`/src/components/accordion/test/a11y`, config);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<html lang="en" dir="ltr">
|
<html lang="en" dir="ltr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<title>Accordion - Basic</title>
|
<title>Accordion - Standalone</title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
|
||||||
<link href="../../../../../css/ionic.bundle.css" rel="stylesheet" />
|
<link href="../../../../../css/ionic.bundle.css" rel="stylesheet" />
|
||||||
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
||||||
@ -119,6 +119,7 @@
|
|||||||
outline: none;
|
outline: none;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding: 20px 16px;
|
padding: 20px 16px;
|
||||||
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.custom-accordion-content {
|
.custom-accordion-content {
|
||||||
|
@ -180,7 +180,10 @@ configs({ directions: ['ltr'] }).forEach(({ config, title }) => {
|
|||||||
*/
|
*/
|
||||||
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
||||||
test.describe(title('alert: font scaling'), () => {
|
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(
|
await page.setContent(
|
||||||
`
|
`
|
||||||
<style>
|
<style>
|
||||||
|
@ -11,7 +11,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ config, screenshot, t
|
|||||||
test('should update the active item', async ({ page }) => {
|
test('should update the active item', async ({ page }) => {
|
||||||
const breadcrumbItems = page.locator('ion-breadcrumb');
|
const breadcrumbItems = page.locator('ion-breadcrumb');
|
||||||
|
|
||||||
const addItemButton = page.locator('ion-button#add-btn');
|
const addItemButton = page.locator('#add-btn');
|
||||||
|
|
||||||
await expect(breadcrumbItems).toHaveCount(4);
|
await expect(breadcrumbItems).toHaveCount(4);
|
||||||
|
|
||||||
|
@ -52,6 +52,11 @@
|
|||||||
*/
|
*/
|
||||||
:host([slot="start"]),
|
:host([slot="start"]),
|
||||||
:host([slot="end"]) {
|
:host([slot="end"]) {
|
||||||
|
// Reset the flex property when the checkbox
|
||||||
|
// is slotted to avoid growing the element larger
|
||||||
|
// than its content.
|
||||||
|
flex: initial;
|
||||||
|
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 36 KiB |
@ -7,7 +7,7 @@ configs().forEach(({ title, screenshot, config }) => {
|
|||||||
await page.goto('/src/components/datetime/test/position', config);
|
await page.goto('/src/components/datetime/test/position', config);
|
||||||
const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
|
const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
|
||||||
|
|
||||||
const openDateTimeBtn = page.locator('ion-button#open-datetime');
|
const openDateTimeBtn = page.locator('#open-datetime');
|
||||||
await openDateTimeBtn.click();
|
await openDateTimeBtn.click();
|
||||||
|
|
||||||
await ionPopoverDidPresent.next();
|
await ionPopoverDidPresent.next();
|
||||||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 48 KiB |
@ -200,3 +200,57 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This behavior does not vary across directions
|
||||||
|
*/
|
||||||
|
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
||||||
|
test.describe(title('item: inputs'), () => {
|
||||||
|
test('should not shrink the width of a div next to a checkbox, radio, select or toggle', async ({
|
||||||
|
page,
|
||||||
|
}, testInfo) => {
|
||||||
|
testInfo.annotations.push({
|
||||||
|
type: 'issue',
|
||||||
|
description: 'https://github.com/ionic-team/ionic-framework/issues/29319',
|
||||||
|
});
|
||||||
|
await page.setContent(
|
||||||
|
`
|
||||||
|
<style>
|
||||||
|
.box {
|
||||||
|
background: lightgreen;
|
||||||
|
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<ion-list lines="none">
|
||||||
|
<ion-item>
|
||||||
|
<div class="box"></div>
|
||||||
|
<ion-checkbox>Checkbox</ion-checkbox>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<div class="box"></div>
|
||||||
|
<ion-radio>Radio</ion-radio>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<div class="box"></div>
|
||||||
|
<ion-select label="Select">
|
||||||
|
<ion-select-option>Option</ion-select-option>
|
||||||
|
</ion-select>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<div class="box"></div>
|
||||||
|
<ion-toggle>Toggle</ion-toggle>
|
||||||
|
</ion-item>
|
||||||
|
</ion-list>
|
||||||
|
`,
|
||||||
|
config
|
||||||
|
);
|
||||||
|
|
||||||
|
const list = page.locator('ion-list');
|
||||||
|
|
||||||
|
await expect(list).toHaveScreenshot(screenshot(`item-inputs-div-with-inputs`));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 9.6 KiB |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 6.9 KiB |
@ -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(
|
||||||
|
`
|
||||||
|
<ion-list>
|
||||||
|
<ion-item>
|
||||||
|
<ion-checkbox slot="start"></ion-checkbox>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
<ion-checkbox slot="end"></ion-checkbox>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-checkbox slot="start">Start</ion-checkbox>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
<ion-checkbox slot="end">End</ion-checkbox>
|
||||||
|
</ion-item>
|
||||||
|
</ion-list>
|
||||||
|
`,
|
||||||
|
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(
|
||||||
|
`
|
||||||
|
<ion-list>
|
||||||
|
<ion-item>
|
||||||
|
<ion-radio slot="start"></ion-radio>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
<ion-radio slot="end"></ion-radio>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-radio slot="start">Start</ion-radio>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
<ion-radio slot="end">End</ion-radio>
|
||||||
|
</ion-item>
|
||||||
|
</ion-list>
|
||||||
|
`,
|
||||||
|
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(
|
||||||
|
`
|
||||||
|
<ion-list>
|
||||||
|
<ion-item>
|
||||||
|
<ion-select slot="start">
|
||||||
|
<ion-select-option>Option</ion-select-option>
|
||||||
|
</ion-select>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
<ion-select slot="end">
|
||||||
|
<ion-select-option>Option</ion-select-option>
|
||||||
|
</ion-select>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-select slot="start" label="Start">
|
||||||
|
<ion-select-option>Option</ion-select-option>
|
||||||
|
</ion-select>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
<ion-select slot="end" label="End">
|
||||||
|
<ion-select-option>Option</ion-select-option>
|
||||||
|
</ion-select>
|
||||||
|
</ion-item>
|
||||||
|
</ion-list>
|
||||||
|
`,
|
||||||
|
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(
|
||||||
|
`
|
||||||
|
<ion-list>
|
||||||
|
<ion-item>
|
||||||
|
<ion-toggle slot="start"></ion-toggle>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
<ion-toggle slot="end"></ion-toggle>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-toggle slot="start">Start</ion-toggle>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
</ion-item>
|
||||||
|
<ion-item>
|
||||||
|
<ion-label>Label</ion-label>
|
||||||
|
<ion-toggle slot="end">End</ion-toggle>
|
||||||
|
</ion-item>
|
||||||
|
</ion-list>
|
||||||
|
`,
|
||||||
|
config
|
||||||
|
);
|
||||||
|
|
||||||
|
const list = page.locator('ion-list');
|
||||||
|
|
||||||
|
await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-toggle`));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 7.6 KiB |