Merge branch 'next' into ROU-4848
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -23,7 +23,7 @@ body:
|
|||||||
description: Which version(s) of Ionic Framework does this issue impact? [Ionic Framework 1.x to 6.x are no longer supported](https://ionicframework.com/docs/reference/support#framework-maintenance-and-support-status). For extended support, considering visiting [Ionic's Enterprise offering](https://ionic.io/enterprise).
|
description: Which version(s) of Ionic Framework does this issue impact? [Ionic Framework 1.x to 6.x are no longer supported](https://ionicframework.com/docs/reference/support#framework-maintenance-and-support-status). For extended support, considering visiting [Ionic's Enterprise offering](https://ionic.io/enterprise).
|
||||||
options:
|
options:
|
||||||
- v7.x
|
- v7.x
|
||||||
- v8.x (Beta)
|
- v8.x
|
||||||
- Nightly
|
- Nightly
|
||||||
multiple: true
|
multiple: true
|
||||||
validations:
|
validations:
|
||||||
|
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@edee9537367a8fbc625d27f9e10aa8bad47b8723 # v1.13.0
|
uses: pozil/auto-assign-issue@65947009a243e6b3993edeef4e64df3ca85d760c # v1.14.0
|
||||||
with:
|
with:
|
||||||
assignees: liamdebeasi, sean-perkins, brandyscarney, amandaejohnston, thetaPC
|
assignees: liamdebeasi, sean-perkins, brandyscarney, thetaPC
|
||||||
numOfAssignee: 1
|
numOfAssignee: 1
|
||||||
allowSelfAssign: false
|
allowSelfAssign: false
|
||||||
|
1
.vercelignore
Normal file
@ -0,0 +1 @@
|
|||||||
|
core/src/components/**/*/*.png
|
52
CHANGELOG.md
@ -3,6 +3,58 @@
|
|||||||
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.0.0](https://github.com/ionic-team/ionic-framework/compare/v8.0.0-rc.2...v8.0.0) (2024-04-17)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package ionic-framework
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# [8.0.0-rc.2](https://github.com/ionic-team/ionic-framework/compare/v8.0.0-rc.1...v8.0.0-rc.2) (2024-04-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **dark-palette:** improve base colors ([#29239](https://github.com/ionic-team/ionic-framework/issues/29239)) ([4698d22](https://github.com/ionic-team/ionic-framework/commit/4698d22413966b59f9fa65b4e2533695cf00ed70)), closes [#29219](https://github.com/ionic-team/ionic-framework/issues/29219)
|
||||||
|
* **form-controls:** adjust flex properties inside of an item ([#29328](https://github.com/ionic-team/ionic-framework/issues/29328)) ([9b59138](https://github.com/ionic-team/ionic-framework/commit/9b59138011fd1e71def209ec3a43fb7f91b58949)), closes [#29319](https://github.com/ionic-team/ionic-framework/issues/29319)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [7.8.5](https://github.com/ionic-team/ionic-framework/compare/v7.8.4...v7.8.5) (2024-04-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **modal:** improve sheet modal scrolling and gesture behavior ([#29312](https://github.com/ionic-team/ionic-framework/issues/29312)) ([9738228](https://github.com/ionic-team/ionic-framework/commit/9738228bc05abe3e2012e57b0e6b85f0ec06f66b)), closes [#24583](https://github.com/ionic-team/ionic-framework/issues/24583)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# [8.0.0-rc.1](https://github.com/ionic-team/ionic-framework/compare/v8.0.0-rc.0...v8.0.0-rc.1) (2024-04-10)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **button:** use clamp for font sizes on circle shape ([#29200](https://github.com/ionic-team/ionic-framework/issues/29200)) ([4d6edee](https://github.com/ionic-team/ionic-framework/commit/4d6edee89c7bb2cb669d67730d7ddf24c78b3cb1))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [7.8.4](https://github.com/ionic-team/ionic-framework/compare/v7.8.3...v7.8.4) (2024-04-10)
|
||||||
|
|
||||||
|
|
||||||
|
### Performance Improvements
|
||||||
|
|
||||||
|
* **styles:** compress distributed global stylesheets ([#29275](https://github.com/ionic-team/ionic-framework/issues/29275)) ([b3cd49b](https://github.com/ionic-team/ionic-framework/commit/b3cd49bf2219aacffc1ac34acbae7c76ef243765))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [7.8.3](https://github.com/ionic-team/ionic-framework/compare/v7.8.2...v7.8.3) (2024-04-03)
|
## [7.8.3](https://github.com/ionic-team/ionic-framework/compare/v7.8.2...v7.8.3) (2024-04-03)
|
||||||
|
|
||||||
|
@ -3,6 +3,58 @@
|
|||||||
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.0.0](https://github.com/ionic-team/ionic-framework/compare/v8.0.0-rc.2...v8.0.0) (2024-04-17)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package @ionic/core
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# [8.0.0-rc.2](https://github.com/ionic-team/ionic-framework/compare/v8.0.0-rc.1...v8.0.0-rc.2) (2024-04-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **dark-palette:** improve base colors ([#29239](https://github.com/ionic-team/ionic-framework/issues/29239)) ([4698d22](https://github.com/ionic-team/ionic-framework/commit/4698d22413966b59f9fa65b4e2533695cf00ed70)), closes [#29219](https://github.com/ionic-team/ionic-framework/issues/29219)
|
||||||
|
* **form-controls:** adjust flex properties inside of an item ([#29328](https://github.com/ionic-team/ionic-framework/issues/29328)) ([9b59138](https://github.com/ionic-team/ionic-framework/commit/9b59138011fd1e71def209ec3a43fb7f91b58949)), closes [#29319](https://github.com/ionic-team/ionic-framework/issues/29319)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [7.8.5](https://github.com/ionic-team/ionic-framework/compare/v7.8.4...v7.8.5) (2024-04-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **modal:** improve sheet modal scrolling and gesture behavior ([#29312](https://github.com/ionic-team/ionic-framework/issues/29312)) ([9738228](https://github.com/ionic-team/ionic-framework/commit/9738228bc05abe3e2012e57b0e6b85f0ec06f66b)), closes [#24583](https://github.com/ionic-team/ionic-framework/issues/24583)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# [8.0.0-rc.1](https://github.com/ionic-team/ionic-framework/compare/v8.0.0-rc.0...v8.0.0-rc.1) (2024-04-10)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **button:** use clamp for font sizes on circle shape ([#29200](https://github.com/ionic-team/ionic-framework/issues/29200)) ([4d6edee](https://github.com/ionic-team/ionic-framework/commit/4d6edee89c7bb2cb669d67730d7ddf24c78b3cb1))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [7.8.4](https://github.com/ionic-team/ionic-framework/compare/v7.8.3...v7.8.4) (2024-04-10)
|
||||||
|
|
||||||
|
|
||||||
|
### Performance Improvements
|
||||||
|
|
||||||
|
* **styles:** compress distributed global stylesheets ([#29275](https://github.com/ionic-team/ionic-framework/issues/29275)) ([b3cd49b](https://github.com/ionic-team/ionic-framework/commit/b3cd49bf2219aacffc1ac34acbae7c76ef243765))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [7.8.3](https://github.com/ionic-team/ionic-framework/compare/v7.8.2...v7.8.3) (2024-04-03)
|
## [7.8.3](https://github.com/ionic-team/ionic-framework/compare/v7.8.2...v7.8.3) (2024-04-03)
|
||||||
|
|
||||||
|
697
core/package-lock.json
generated
@ -1,15 +1,15 @@
|
|||||||
{
|
{
|
||||||
"name": "@ionic/core",
|
"name": "@ionic/core",
|
||||||
"version": "8.0.0-rc.0",
|
"version": "8.0.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@ionic/core",
|
"name": "@ionic/core",
|
||||||
"version": "8.0.0-rc.0",
|
"version": "8.0.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@stencil/core": "^4.12.2",
|
"@stencil/core": "^4.17.1",
|
||||||
"ionicons": "^7.2.2",
|
"ionicons": "^7.2.2",
|
||||||
"tslib": "^2.1.0"
|
"tslib": "^2.1.0"
|
||||||
},
|
},
|
||||||
@ -32,12 +32,13 @@
|
|||||||
"@types/node": "^14.6.0",
|
"@types/node": "^14.6.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.7.2",
|
"@typescript-eslint/eslint-plugin": "^6.7.2",
|
||||||
"@typescript-eslint/parser": "^6.7.2",
|
"@typescript-eslint/parser": "^6.7.2",
|
||||||
|
"chalk": "^5.3.0",
|
||||||
"clean-css-cli": "^5.6.1",
|
"clean-css-cli": "^5.6.1",
|
||||||
"domino": "^2.1.6",
|
"domino": "^2.1.6",
|
||||||
"eslint": "^7.32.0",
|
"eslint": "^7.32.0",
|
||||||
"eslint-config-prettier": "^8.5.0",
|
"eslint-config-prettier": "^8.5.0",
|
||||||
"eslint-plugin-custom-rules": "file:custom-rules",
|
"eslint-plugin-custom-rules": "file:custom-rules",
|
||||||
"execa": "^5.0.0",
|
"execa": "^8.0.1",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"jest-cli": "^29.7.0",
|
"jest-cli": "^29.7.0",
|
||||||
@ -350,6 +351,32 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@babel/highlight/node_modules/chalk": {
|
||||||
|
"version": "2.4.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||||
|
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": "^3.2.1",
|
||||||
|
"escape-string-regexp": "^1.0.5",
|
||||||
|
"supports-color": "^5.3.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@babel/highlight/node_modules/supports-color": {
|
||||||
|
"version": "5.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||||
|
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"has-flag": "^3.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
"version": "7.24.1",
|
"version": "7.24.1",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz",
|
||||||
@ -612,9 +639,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@capacitor/core": {
|
"node_modules/@capacitor/core": {
|
||||||
"version": "5.7.4",
|
"version": "5.7.5",
|
||||||
"resolved": "https://registry.npmjs.org/@capacitor/core/-/core-5.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/@capacitor/core/-/core-5.7.5.tgz",
|
||||||
"integrity": "sha512-iZBgvx3o4amzKv5ttA+QHB6i7cxK+/mYpCQd1tnSdipg6ZkvfBhg1HkzhEqHk+I7MNur+QwgYDZho9+ycHRwOw==",
|
"integrity": "sha512-babBo26lgIyKkAOr/AbPq5wwi9I4uHDP0lBteJq7p4xZElA6tAA8mD3xRH1/4EKmZ4+acYpKmmyegX3zsVh37A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^2.1.0"
|
"tslib": "^2.1.0"
|
||||||
@ -1832,9 +1859,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@stencil/core": {
|
"node_modules/@stencil/core": {
|
||||||
"version": "4.14.0",
|
"version": "4.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.17.1.tgz",
|
||||||
"integrity": "sha512-+s0u/KsNolXZ7tC2hEMgMA3jaNaqOhZvYKwSzjQbc0Wv+cB481Isxzo7ifgEWRYqsJzNSyqhO6cyu/EJrGGTdg==",
|
"integrity": "sha512-nlARe1QtK5abnCG8kPQKJMWiELg39vKabvf3ebm6YEhQA35CgrxC1pVYTsYq3yktJKoY+k+VzGRnATLKyaLbvA==",
|
||||||
"bin": {
|
"bin": {
|
||||||
"stencil": "bin/stencil"
|
"stencil": "bin/stencil"
|
||||||
},
|
},
|
||||||
@ -2993,18 +3020,6 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/boxen/node_modules/chalk": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": "^12.17.0 || ^14.13 || >=16.0.0"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/boxen/node_modules/string-width": {
|
"node_modules/boxen/node_modules/string-width": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
||||||
@ -3222,17 +3237,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/chalk": {
|
"node_modules/chalk": {
|
||||||
"version": "2.4.2",
|
"version": "5.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
|
||||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
"integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
|
||||||
"ansi-styles": "^3.2.1",
|
|
||||||
"escape-string-regexp": "^1.0.5",
|
|
||||||
"supports-color": "^5.3.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=4"
|
"node": "^12.17.0 || ^14.13 || >=16.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/chalk-template": {
|
"node_modules/chalk-template": {
|
||||||
@ -3299,18 +3312,6 @@
|
|||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/chalk/node_modules/supports-color": {
|
|
||||||
"version": "5.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
|
||||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"has-flag": "^3.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/change-case": {
|
"node_modules/change-case": {
|
||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
|
||||||
@ -3477,6 +3478,107 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/clipboardy/node_modules/execa": {
|
||||||
|
"version": "5.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
|
||||||
|
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"cross-spawn": "^7.0.3",
|
||||||
|
"get-stream": "^6.0.0",
|
||||||
|
"human-signals": "^2.1.0",
|
||||||
|
"is-stream": "^2.0.0",
|
||||||
|
"merge-stream": "^2.0.0",
|
||||||
|
"npm-run-path": "^4.0.1",
|
||||||
|
"onetime": "^5.1.2",
|
||||||
|
"signal-exit": "^3.0.3",
|
||||||
|
"strip-final-newline": "^2.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clipboardy/node_modules/get-stream": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clipboardy/node_modules/human-signals": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.17.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clipboardy/node_modules/is-stream": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clipboardy/node_modules/mimic-fn": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clipboardy/node_modules/npm-run-path": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"path-key": "^3.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clipboardy/node_modules/onetime": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||||
|
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"mimic-fn": "^2.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clipboardy/node_modules/strip-final-newline": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/cliui": {
|
"node_modules/cliui": {
|
||||||
"version": "8.0.1",
|
"version": "8.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
|
||||||
@ -3581,7 +3683,7 @@
|
|||||||
"node_modules/color-name": {
|
"node_modules/color-name": {
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/colorette": {
|
"node_modules/colorette": {
|
||||||
@ -4084,7 +4186,7 @@
|
|||||||
"node_modules/escape-string-regexp": {
|
"node_modules/escape-string-regexp": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.8.0"
|
"node": ">=0.8.0"
|
||||||
@ -4702,38 +4804,38 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/execa": {
|
"node_modules/execa": {
|
||||||
"version": "5.1.1",
|
"version": "8.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
|
||||||
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
|
"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cross-spawn": "^7.0.3",
|
"cross-spawn": "^7.0.3",
|
||||||
"get-stream": "^6.0.0",
|
"get-stream": "^8.0.1",
|
||||||
"human-signals": "^2.1.0",
|
"human-signals": "^5.0.0",
|
||||||
"is-stream": "^2.0.0",
|
"is-stream": "^3.0.0",
|
||||||
"merge-stream": "^2.0.0",
|
"merge-stream": "^2.0.0",
|
||||||
"npm-run-path": "^4.0.1",
|
"npm-run-path": "^5.1.0",
|
||||||
"onetime": "^5.1.2",
|
"onetime": "^6.0.0",
|
||||||
"signal-exit": "^3.0.3",
|
"signal-exit": "^4.1.0",
|
||||||
"strip-final-newline": "^2.0.0"
|
"strip-final-newline": "^3.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=16.17"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/execa/node_modules/get-stream": {
|
"node_modules/execa/node_modules/signal-exit": {
|
||||||
"version": "6.0.1",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
|
||||||
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
|
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=14"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/execall": {
|
"node_modules/execall": {
|
||||||
@ -5045,6 +5147,18 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/get-stream": {
|
||||||
|
"version": "8.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
|
||||||
|
"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/get-symbol-description": {
|
"node_modules/get-symbol-description": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
|
||||||
@ -5305,12 +5419,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/human-signals": {
|
"node_modules/human-signals": {
|
||||||
"version": "2.1.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
|
||||||
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
|
"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.17.0"
|
"node": ">=16.17.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ignore": {
|
"node_modules/ignore": {
|
||||||
@ -5738,12 +5852,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/is-stream": {
|
"node_modules/is-stream": {
|
||||||
"version": "2.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
|
||||||
"integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
|
"integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/is-string": {
|
"node_modules/is-string": {
|
||||||
@ -5980,6 +6097,98 @@
|
|||||||
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
|
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/jest-changed-files/node_modules/execa": {
|
||||||
|
"version": "5.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
|
||||||
|
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"cross-spawn": "^7.0.3",
|
||||||
|
"get-stream": "^6.0.0",
|
||||||
|
"human-signals": "^2.1.0",
|
||||||
|
"is-stream": "^2.0.0",
|
||||||
|
"merge-stream": "^2.0.0",
|
||||||
|
"npm-run-path": "^4.0.1",
|
||||||
|
"onetime": "^5.1.2",
|
||||||
|
"signal-exit": "^3.0.3",
|
||||||
|
"strip-final-newline": "^2.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jest-changed-files/node_modules/get-stream": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jest-changed-files/node_modules/human-signals": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.17.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jest-changed-files/node_modules/is-stream": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jest-changed-files/node_modules/mimic-fn": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jest-changed-files/node_modules/npm-run-path": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"path-key": "^3.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jest-changed-files/node_modules/onetime": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||||
|
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"mimic-fn": "^2.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/jest-changed-files/node_modules/p-limit": {
|
"node_modules/jest-changed-files/node_modules/p-limit": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
||||||
@ -5995,6 +6204,15 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/jest-changed-files/node_modules/strip-final-newline": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/jest-circus": {
|
"node_modules/jest-circus": {
|
||||||
"version": "29.7.0",
|
"version": "29.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz",
|
||||||
@ -7788,12 +8006,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/mimic-fn": {
|
"node_modules/mimic-fn": {
|
||||||
"version": "2.1.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
|
||||||
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
"integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/min-indent": {
|
"node_modules/min-indent": {
|
||||||
@ -7926,15 +8147,30 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/npm-run-path": {
|
"node_modules/npm-run-path": {
|
||||||
"version": "4.0.1",
|
"version": "5.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
|
||||||
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
"integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"path-key": "^3.0.0"
|
"path-key": "^4.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/npm-run-path/node_modules/path-key": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/num2fraction": {
|
"node_modules/num2fraction": {
|
||||||
@ -8015,15 +8251,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/onetime": {
|
"node_modules/onetime": {
|
||||||
"version": "5.1.2",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
|
||||||
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
"integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"mimic-fn": "^2.1.0"
|
"mimic-fn": "^4.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
@ -9300,12 +9536,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/strip-final-newline": {
|
"node_modules/strip-final-newline": {
|
||||||
"version": "2.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
|
||||||
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
"integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/strip-indent": {
|
"node_modules/strip-indent": {
|
||||||
@ -10755,6 +10994,28 @@
|
|||||||
"chalk": "^2.4.2",
|
"chalk": "^2.4.2",
|
||||||
"js-tokens": "^4.0.0",
|
"js-tokens": "^4.0.0",
|
||||||
"picocolors": "^1.0.0"
|
"picocolors": "^1.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"chalk": {
|
||||||
|
"version": "2.4.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||||
|
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "^3.2.1",
|
||||||
|
"escape-string-regexp": "^1.0.5",
|
||||||
|
"supports-color": "^5.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"supports-color": {
|
||||||
|
"version": "5.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||||
|
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"has-flag": "^3.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/parser": {
|
"@babel/parser": {
|
||||||
@ -10947,9 +11208,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@capacitor/core": {
|
"@capacitor/core": {
|
||||||
"version": "5.7.4",
|
"version": "5.7.5",
|
||||||
"resolved": "https://registry.npmjs.org/@capacitor/core/-/core-5.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/@capacitor/core/-/core-5.7.5.tgz",
|
||||||
"integrity": "sha512-iZBgvx3o4amzKv5ttA+QHB6i7cxK+/mYpCQd1tnSdipg6ZkvfBhg1HkzhEqHk+I7MNur+QwgYDZho9+ycHRwOw==",
|
"integrity": "sha512-babBo26lgIyKkAOr/AbPq5wwi9I4uHDP0lBteJq7p4xZElA6tAA8mD3xRH1/4EKmZ4+acYpKmmyegX3zsVh37A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^2.1.0"
|
"tslib": "^2.1.0"
|
||||||
@ -11826,9 +12087,9 @@
|
|||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@stencil/core": {
|
"@stencil/core": {
|
||||||
"version": "4.14.0",
|
"version": "4.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.17.1.tgz",
|
||||||
"integrity": "sha512-+s0u/KsNolXZ7tC2hEMgMA3jaNaqOhZvYKwSzjQbc0Wv+cB481Isxzo7ifgEWRYqsJzNSyqhO6cyu/EJrGGTdg=="
|
"integrity": "sha512-nlARe1QtK5abnCG8kPQKJMWiELg39vKabvf3ebm6YEhQA35CgrxC1pVYTsYq3yktJKoY+k+VzGRnATLKyaLbvA=="
|
||||||
},
|
},
|
||||||
"@stencil/react-output-target": {
|
"@stencil/react-output-target": {
|
||||||
"version": "0.5.3",
|
"version": "0.5.3",
|
||||||
@ -12638,12 +12899,6 @@
|
|||||||
"integrity": "sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==",
|
"integrity": "sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"chalk": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"string-width": {
|
"string-width": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
||||||
@ -12792,26 +13047,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chalk": {
|
"chalk": {
|
||||||
"version": "2.4.2",
|
"version": "5.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
|
||||||
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
"integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"requires": {
|
|
||||||
"ansi-styles": "^3.2.1",
|
|
||||||
"escape-string-regexp": "^1.0.5",
|
|
||||||
"supports-color": "^5.3.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"supports-color": {
|
|
||||||
"version": "5.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
|
||||||
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"has-flag": "^3.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"chalk-template": {
|
"chalk-template": {
|
||||||
"version": "0.4.0",
|
"version": "0.4.0",
|
||||||
@ -12966,6 +13205,73 @@
|
|||||||
"arch": "^2.2.0",
|
"arch": "^2.2.0",
|
||||||
"execa": "^5.1.1",
|
"execa": "^5.1.1",
|
||||||
"is-wsl": "^2.2.0"
|
"is-wsl": "^2.2.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"execa": {
|
||||||
|
"version": "5.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
|
||||||
|
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"cross-spawn": "^7.0.3",
|
||||||
|
"get-stream": "^6.0.0",
|
||||||
|
"human-signals": "^2.1.0",
|
||||||
|
"is-stream": "^2.0.0",
|
||||||
|
"merge-stream": "^2.0.0",
|
||||||
|
"npm-run-path": "^4.0.1",
|
||||||
|
"onetime": "^5.1.2",
|
||||||
|
"signal-exit": "^3.0.3",
|
||||||
|
"strip-final-newline": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get-stream": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"human-signals": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-stream": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"mimic-fn": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"npm-run-path": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"path-key": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"onetime": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||||
|
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"mimic-fn": "^2.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"strip-final-newline": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cliui": {
|
"cliui": {
|
||||||
@ -13049,7 +13355,7 @@
|
|||||||
"color-name": {
|
"color-name": {
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
|
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"colorette": {
|
"colorette": {
|
||||||
@ -13451,7 +13757,7 @@
|
|||||||
"escape-string-regexp": {
|
"escape-string-regexp": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"eslint": {
|
"eslint": {
|
||||||
@ -13907,26 +14213,26 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"execa": {
|
"execa": {
|
||||||
"version": "5.1.1",
|
"version": "8.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
|
||||||
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
|
"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"cross-spawn": "^7.0.3",
|
"cross-spawn": "^7.0.3",
|
||||||
"get-stream": "^6.0.0",
|
"get-stream": "^8.0.1",
|
||||||
"human-signals": "^2.1.0",
|
"human-signals": "^5.0.0",
|
||||||
"is-stream": "^2.0.0",
|
"is-stream": "^3.0.0",
|
||||||
"merge-stream": "^2.0.0",
|
"merge-stream": "^2.0.0",
|
||||||
"npm-run-path": "^4.0.1",
|
"npm-run-path": "^5.1.0",
|
||||||
"onetime": "^5.1.2",
|
"onetime": "^6.0.0",
|
||||||
"signal-exit": "^3.0.3",
|
"signal-exit": "^4.1.0",
|
||||||
"strip-final-newline": "^2.0.0"
|
"strip-final-newline": "^3.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"get-stream": {
|
"signal-exit": {
|
||||||
"version": "6.0.1",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
|
||||||
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
|
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -14179,6 +14485,12 @@
|
|||||||
"integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
|
"integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"get-stream": {
|
||||||
|
"version": "8.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
|
||||||
|
"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"get-symbol-description": {
|
"get-symbol-description": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
|
||||||
@ -14375,9 +14687,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"human-signals": {
|
"human-signals": {
|
||||||
"version": "2.1.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
|
||||||
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
|
"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"ignore": {
|
"ignore": {
|
||||||
@ -14660,9 +14972,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"is-stream": {
|
"is-stream": {
|
||||||
"version": "2.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
|
||||||
"integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
|
"integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"is-string": {
|
"is-string": {
|
||||||
@ -14825,6 +15137,65 @@
|
|||||||
"p-limit": "^3.1.0"
|
"p-limit": "^3.1.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"execa": {
|
||||||
|
"version": "5.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
|
||||||
|
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"cross-spawn": "^7.0.3",
|
||||||
|
"get-stream": "^6.0.0",
|
||||||
|
"human-signals": "^2.1.0",
|
||||||
|
"is-stream": "^2.0.0",
|
||||||
|
"merge-stream": "^2.0.0",
|
||||||
|
"npm-run-path": "^4.0.1",
|
||||||
|
"onetime": "^5.1.2",
|
||||||
|
"signal-exit": "^3.0.3",
|
||||||
|
"strip-final-newline": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get-stream": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"human-signals": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"is-stream": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"mimic-fn": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"npm-run-path": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"path-key": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"onetime": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||||
|
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"mimic-fn": "^2.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"p-limit": {
|
"p-limit": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
||||||
@ -14833,6 +15204,12 @@
|
|||||||
"requires": {
|
"requires": {
|
||||||
"yocto-queue": "^0.1.0"
|
"yocto-queue": "^0.1.0"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"strip-final-newline": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
||||||
|
"dev": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -16168,9 +16545,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mimic-fn": {
|
"mimic-fn": {
|
||||||
"version": "2.1.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
|
||||||
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
"integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"min-indent": {
|
"min-indent": {
|
||||||
@ -16282,12 +16659,20 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"npm-run-path": {
|
"npm-run-path": {
|
||||||
"version": "4.0.1",
|
"version": "5.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
|
||||||
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
|
"integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"path-key": "^3.0.0"
|
"path-key": "^4.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"path-key": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"num2fraction": {
|
"num2fraction": {
|
||||||
@ -16347,12 +16732,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"onetime": {
|
"onetime": {
|
||||||
"version": "5.1.2",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
|
||||||
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
"integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"mimic-fn": "^2.1.0"
|
"mimic-fn": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"p-limit": {
|
"p-limit": {
|
||||||
@ -17302,9 +17687,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"strip-final-newline": {
|
"strip-final-newline": {
|
||||||
"version": "2.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
|
||||||
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
"integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"strip-indent": {
|
"strip-indent": {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@ionic/core",
|
"name": "@ionic/core",
|
||||||
"version": "8.0.0-rc.0",
|
"version": "8.0.0",
|
||||||
"description": "Base components for Ionic",
|
"description": "Base components for Ionic",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"ionic",
|
"ionic",
|
||||||
@ -31,7 +31,7 @@
|
|||||||
"loader/"
|
"loader/"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@stencil/core": "^4.12.2",
|
"@stencil/core": "^4.17.1",
|
||||||
"ionicons": "^7.2.2",
|
"ionicons": "^7.2.2",
|
||||||
"tslib": "^2.1.0"
|
"tslib": "^2.1.0"
|
||||||
},
|
},
|
||||||
@ -54,12 +54,13 @@
|
|||||||
"@types/node": "^14.6.0",
|
"@types/node": "^14.6.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.7.2",
|
"@typescript-eslint/eslint-plugin": "^6.7.2",
|
||||||
"@typescript-eslint/parser": "^6.7.2",
|
"@typescript-eslint/parser": "^6.7.2",
|
||||||
|
"chalk": "^5.3.0",
|
||||||
"clean-css-cli": "^5.6.1",
|
"clean-css-cli": "^5.6.1",
|
||||||
"domino": "^2.1.6",
|
"domino": "^2.1.6",
|
||||||
"eslint": "^7.32.0",
|
"eslint": "^7.32.0",
|
||||||
"eslint-config-prettier": "^8.5.0",
|
"eslint-config-prettier": "^8.5.0",
|
||||||
"eslint-plugin-custom-rules": "file:custom-rules",
|
"eslint-plugin-custom-rules": "file:custom-rules",
|
||||||
"execa": "^5.0.0",
|
"execa": "^8.0.1",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"jest-cli": "^29.7.0",
|
"jest-cli": "^29.7.0",
|
||||||
@ -99,10 +100,9 @@
|
|||||||
"test.treeshake": "node scripts/treeshaking.js dist/index.js",
|
"test.treeshake": "node scripts/treeshaking.js dist/index.js",
|
||||||
"validate": "npm run lint && npm run test && npm run build && npm run test.treeshake",
|
"validate": "npm run lint && npm run test && npm run build && npm run test.treeshake",
|
||||||
"docker.build": "docker build -t ionic-playwright .",
|
"docker.build": "docker build -t ionic-playwright .",
|
||||||
"test.e2e.docker": "npm run docker.build && docker run -it --rm -e DISPLAY=$(cat docker-display.txt) -v $(cat docker-display-volume.txt) --ipc=host --mount=type=bind,source=./,target=/ionic ionic-playwright npm run test.e2e --",
|
"test.e2e.docker": "npm run docker.build && node ./scripts/docker.mjs",
|
||||||
"test.e2e.docker.update-snapshots": "npm run test.e2e.docker -- --update-snapshots",
|
"test.e2e.docker.update-snapshots": "npm run test.e2e.docker -- --update-snapshots",
|
||||||
"test.e2e.docker.ci": "npm run docker.build && docker run -e CI='true' --rm --ipc=host --mount=type=bind,source=./,target=/ionic ionic-playwright npm run test.e2e --",
|
"test.e2e.docker.ci": "npm run docker.build && CI=true node ./scripts/docker.mjs"
|
||||||
"test.report": "npx playwright show-report"
|
|
||||||
},
|
},
|
||||||
"author": "Ionic Team",
|
"author": "Ionic Team",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
56
core/scripts/docker.mjs
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
import { execa } from 'execa';
|
||||||
|
import * as fs from 'fs';
|
||||||
|
import { resolve } from 'path';
|
||||||
|
import chalk from 'chalk';
|
||||||
|
|
||||||
|
const removeNewline = (string) => {
|
||||||
|
return string.replace(/(\r\n|\n|\r)/gm, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
const readConfigFile = (file) => {
|
||||||
|
if (fs.existsSync(file)) {
|
||||||
|
return fs.readFileSync(file, { encoding: 'utf-8' });
|
||||||
|
}
|
||||||
|
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// These files are optional, so we don't want to error if they don't exist
|
||||||
|
const display = removeNewline(readConfigFile('docker-display.txt'));
|
||||||
|
const displayVolume = removeNewline(readConfigFile('docker-display-volume.txt'));
|
||||||
|
|
||||||
|
// Using --mount requires an absolute path which is what this gives us.
|
||||||
|
const pwd = resolve('./');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* -it will let the user gracefully kill the process using Ctrl+C (or equivalent)
|
||||||
|
* -e DISPLAY and -v handle configuration for headed mode
|
||||||
|
* --ipc=host is recommended when using Chromium to avoid out of memory crashes: https://playwright.dev/docs/ci#docker
|
||||||
|
* --init is recommended to avoid zombie processes: https://playwright.dev/docs/ci#docker
|
||||||
|
* --mount allow us to mount the local Ionic project inside of the Docker container so devs do not need to re-build the project in Docker.
|
||||||
|
*/
|
||||||
|
const args = ['run', '--rm', '--init', `-e DISPLAY=${display}`, `-v ${displayVolume}`, '--ipc=host', `--mount=type=bind,source=${pwd},target=/ionic`, 'ionic-playwright', 'npm run test.e2e --', ...process.argv.slice(2)];
|
||||||
|
|
||||||
|
// Set the CI env variable so Playwright uses the CI config
|
||||||
|
if (process.env.CI) {
|
||||||
|
args.splice(1, 0, '-e CI=true');
|
||||||
|
/**
|
||||||
|
* Otherwise, we should let the session be interactive locally. This will
|
||||||
|
* not work on CI which is why we do not apply it there.
|
||||||
|
*/
|
||||||
|
} else {
|
||||||
|
args.splice(1, 0, '-it');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* While these config files are optional to run the tests, they are required to run
|
||||||
|
* the tests in headed mode. Add a warning if dev tries to run headed tests without
|
||||||
|
* the correct config files.
|
||||||
|
*/
|
||||||
|
const requestHeaded = process.argv.find(arg => arg.includes('headed'));
|
||||||
|
const hasHeadedConfigFiles = display && displayVolume;
|
||||||
|
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' });
|
@ -14,6 +14,20 @@
|
|||||||
document.head.appendChild(style);
|
document.head.appendChild(style);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The term `palette` is used to as a param to match the
|
||||||
|
* Ionic docs, plus here is already a `ionic:theme` query being
|
||||||
|
* used for `md`, `ios`, and `ionic` themes.
|
||||||
|
*/
|
||||||
|
const palette = window.location.search.match(/palette=([a-z]+)/);
|
||||||
|
if (palette && palette[1] !== 'light') {
|
||||||
|
const linkTag = document.createElement('link');
|
||||||
|
linkTag.setAttribute('rel', 'stylesheet');
|
||||||
|
linkTag.setAttribute('type', 'text/css');
|
||||||
|
linkTag.setAttribute('href', `/css/palettes/${palette[1]}.always.css`);
|
||||||
|
document.head.appendChild(linkTag);
|
||||||
|
}
|
||||||
|
|
||||||
window.Ionic = window.Ionic || {};
|
window.Ionic = window.Ionic || {};
|
||||||
window.Ionic.config = window.Ionic.config || {};
|
window.Ionic.config = window.Ionic.config || {};
|
||||||
|
|
||||||
|
@ -38,6 +38,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
:host(.in-item) {
|
:host(.in-item) {
|
||||||
|
flex: 1 1 0;
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
<title>Datetime - Basic</title>
|
<title>Datetime - Basic</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="../../../../../css/palettes/dark.class.css" rel="stylesheet" />
|
||||||
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
||||||
<script src="../../../../../scripts/testing/scripts.js"></script>
|
<script src="../../../../../scripts/testing/scripts.js"></script>
|
||||||
<script type="module" src="../../../../../dist/ionic/ionic.esm.js"></script>
|
<script type="module" src="../../../../../dist/ionic/ionic.esm.js"></script>
|
||||||
@ -49,158 +50,6 @@
|
|||||||
ion-datetime {
|
ion-datetime {
|
||||||
width: 350px;
|
width: 350px;
|
||||||
}
|
}
|
||||||
|
|
||||||
body.dark {
|
|
||||||
--ion-color-primary: #428cff;
|
|
||||||
--ion-color-primary-rgb: 66, 140, 255;
|
|
||||||
--ion-color-primary-contrast: #ffffff;
|
|
||||||
--ion-color-primary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-primary-shade: #3a7be0;
|
|
||||||
--ion-color-primary-tint: #5598ff;
|
|
||||||
|
|
||||||
--ion-color-secondary: #50c8ff;
|
|
||||||
--ion-color-secondary-rgb: 80, 200, 255;
|
|
||||||
--ion-color-secondary-contrast: #ffffff;
|
|
||||||
--ion-color-secondary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-secondary-shade: #46b0e0;
|
|
||||||
--ion-color-secondary-tint: #62ceff;
|
|
||||||
|
|
||||||
--ion-color-tertiary: #6a64ff;
|
|
||||||
--ion-color-tertiary-rgb: 106, 100, 255;
|
|
||||||
--ion-color-tertiary-contrast: #ffffff;
|
|
||||||
--ion-color-tertiary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-tertiary-shade: #5d58e0;
|
|
||||||
--ion-color-tertiary-tint: #7974ff;
|
|
||||||
|
|
||||||
--ion-color-success: #2fdf75;
|
|
||||||
--ion-color-success-rgb: 47, 223, 117;
|
|
||||||
--ion-color-success-contrast: #000000;
|
|
||||||
--ion-color-success-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-success-shade: #29c467;
|
|
||||||
--ion-color-success-tint: #44e283;
|
|
||||||
|
|
||||||
--ion-color-warning: #ffd534;
|
|
||||||
--ion-color-warning-rgb: 255, 213, 52;
|
|
||||||
--ion-color-warning-contrast: #000000;
|
|
||||||
--ion-color-warning-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-warning-shade: #e0bb2e;
|
|
||||||
--ion-color-warning-tint: #ffd948;
|
|
||||||
|
|
||||||
--ion-color-danger: #ff4961;
|
|
||||||
--ion-color-danger-rgb: 255, 73, 97;
|
|
||||||
--ion-color-danger-contrast: #ffffff;
|
|
||||||
--ion-color-danger-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-danger-shade: #e04055;
|
|
||||||
--ion-color-danger-tint: #ff5b71;
|
|
||||||
|
|
||||||
--ion-color-dark: #f4f5f8;
|
|
||||||
--ion-color-dark-rgb: 244, 245, 248;
|
|
||||||
--ion-color-dark-contrast: #000000;
|
|
||||||
--ion-color-dark-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-dark-shade: #d7d8da;
|
|
||||||
--ion-color-dark-tint: #f5f6f9;
|
|
||||||
|
|
||||||
--ion-color-medium: #989aa2;
|
|
||||||
--ion-color-medium-rgb: 152, 154, 162;
|
|
||||||
--ion-color-medium-contrast: #000000;
|
|
||||||
--ion-color-medium-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-medium-shade: #86888f;
|
|
||||||
--ion-color-medium-tint: #a2a4ab;
|
|
||||||
|
|
||||||
--ion-color-light: #222428;
|
|
||||||
--ion-color-light-rgb: 34, 36, 40;
|
|
||||||
--ion-color-light-contrast: #ffffff;
|
|
||||||
--ion-color-light-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-light-shade: #1e2023;
|
|
||||||
--ion-color-light-tint: #383a3e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* iOS Dark Theme
|
|
||||||
* -------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
.ios body.dark {
|
|
||||||
--ion-background-color: #000000;
|
|
||||||
--ion-background-color-rgb: 0, 0, 0;
|
|
||||||
|
|
||||||
--ion-text-color: #ffffff;
|
|
||||||
--ion-text-color-rgb: 255, 255, 255;
|
|
||||||
|
|
||||||
--ion-color-step-50: #0d0d0d;
|
|
||||||
--ion-color-step-100: #1a1a1a;
|
|
||||||
--ion-color-step-150: #262626;
|
|
||||||
--ion-color-step-200: #333333;
|
|
||||||
--ion-color-step-250: #404040;
|
|
||||||
--ion-color-step-300: #4d4d4d;
|
|
||||||
--ion-color-step-350: #595959;
|
|
||||||
--ion-color-step-400: #666666;
|
|
||||||
--ion-color-step-450: #737373;
|
|
||||||
--ion-color-step-500: #808080;
|
|
||||||
--ion-color-step-550: #8c8c8c;
|
|
||||||
--ion-color-step-600: #999999;
|
|
||||||
--ion-color-step-650: #a6a6a6;
|
|
||||||
--ion-color-step-700: #b3b3b3;
|
|
||||||
--ion-color-step-750: #bfbfbf;
|
|
||||||
--ion-color-step-800: #cccccc;
|
|
||||||
--ion-color-step-850: #d9d9d9;
|
|
||||||
--ion-color-step-900: #e6e6e6;
|
|
||||||
--ion-color-step-950: #f2f2f2;
|
|
||||||
|
|
||||||
--ion-item-background: #000000;
|
|
||||||
|
|
||||||
--ion-card-background: #1c1c1d;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ios body.dark ion-modal {
|
|
||||||
--ion-background-color: var(--ion-color-step-100);
|
|
||||||
--ion-toolbar-background: var(--ion-color-step-150);
|
|
||||||
--ion-toolbar-border-color: var(--ion-color-step-250);
|
|
||||||
--ion-item-background: var(--ion-color-step-150);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Material Design Dark Theme
|
|
||||||
* -------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
.md body.dark {
|
|
||||||
--ion-background-color: #121212;
|
|
||||||
--ion-background-color-rgb: 18, 18, 18;
|
|
||||||
|
|
||||||
--ion-text-color: #ffffff;
|
|
||||||
--ion-text-color-rgb: 255, 255, 255;
|
|
||||||
|
|
||||||
--ion-border-color: #222222;
|
|
||||||
|
|
||||||
--ion-color-step-50: #1e1e1e;
|
|
||||||
--ion-color-step-100: #2a2a2a;
|
|
||||||
--ion-color-step-150: #363636;
|
|
||||||
--ion-color-step-200: #414141;
|
|
||||||
--ion-color-step-250: #4d4d4d;
|
|
||||||
--ion-color-step-300: #595959;
|
|
||||||
--ion-color-step-350: #656565;
|
|
||||||
--ion-color-step-400: #717171;
|
|
||||||
--ion-color-step-450: #7d7d7d;
|
|
||||||
--ion-color-step-500: #898989;
|
|
||||||
--ion-color-step-550: #949494;
|
|
||||||
--ion-color-step-600: #a0a0a0;
|
|
||||||
--ion-color-step-650: #acacac;
|
|
||||||
--ion-color-step-700: #b8b8b8;
|
|
||||||
--ion-color-step-750: #c4c4c4;
|
|
||||||
--ion-color-step-800: #d0d0d0;
|
|
||||||
--ion-color-step-850: #dbdbdb;
|
|
||||||
--ion-color-step-900: #e7e7e7;
|
|
||||||
--ion-color-step-950: #f3f3f3;
|
|
||||||
|
|
||||||
--ion-item-background: #1e1e1e;
|
|
||||||
|
|
||||||
--ion-toolbar-background: #1f1f1f;
|
|
||||||
|
|
||||||
--ion-tab-bar-background: #1f1f1f;
|
|
||||||
|
|
||||||
--ion-card-background: #1e1e1e;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@ -335,12 +184,9 @@
|
|||||||
|
|
||||||
const darkModeCheckbox = document.querySelector('ion-checkbox');
|
const darkModeCheckbox = document.querySelector('ion-checkbox');
|
||||||
darkModeCheckbox.addEventListener('ionChange', (ev) => {
|
darkModeCheckbox.addEventListener('ionChange', (ev) => {
|
||||||
if (ev.detail.checked) {
|
document.documentElement.classList.toggle('ion-palette-dark');
|
||||||
document.body.classList.add('dark');
|
|
||||||
} else {
|
|
||||||
document.body.classList.remove('dark');
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
color.addEventListener('ionChange', (ev) => {
|
color.addEventListener('ionChange', (ev) => {
|
||||||
datetime.color = ev.target.value;
|
datetime.color = ev.target.value;
|
||||||
buttons.forEach((button) => {
|
buttons.forEach((button) => {
|
||||||
|
@ -4,19 +4,28 @@ import { configs, test } from '@utils/test/playwright';
|
|||||||
/**
|
/**
|
||||||
* This behavior does not vary across directions
|
* This behavior does not vary across directions
|
||||||
*/
|
*/
|
||||||
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
configs({ directions: ['ltr'], palettes: ['light', 'dark'] }).forEach(({ title, screenshot, config }) => {
|
||||||
test.describe(title('datetime: color'), () => {
|
test.describe(title('datetime: color'), () => {
|
||||||
test('should not have visual regressions', async ({ page }) => {
|
test('should not have visual regressions', async ({ page }) => {
|
||||||
await page.goto('/src/components/datetime/test/color', config);
|
await page.setContent(
|
||||||
|
`
|
||||||
|
<div id="container" style="width: 250px;">
|
||||||
|
<ion-datetime
|
||||||
|
color="danger"
|
||||||
|
value="2022-05-03"
|
||||||
|
show-default-title="true"
|
||||||
|
show-default-buttons="true"
|
||||||
|
></ion-datetime>
|
||||||
|
</div>
|
||||||
|
`,
|
||||||
|
config
|
||||||
|
);
|
||||||
|
|
||||||
const datetime = page.locator('#color-datetime');
|
const container = page.locator('#container');
|
||||||
|
|
||||||
await expect(datetime).toHaveScreenshot(screenshot(`datetime-color`));
|
await page.locator('.datetime-ready').waitFor();
|
||||||
|
|
||||||
await page.evaluate(() => document.body.classList.toggle('dark'));
|
await expect(container).toHaveScreenshot(screenshot(`datetime-color`));
|
||||||
await page.waitForChanges();
|
|
||||||
|
|
||||||
await expect(datetime).toHaveScreenshot(screenshot(`datetime-color-dark`));
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 18 KiB |
@ -5,6 +5,7 @@
|
|||||||
<title>Datetime - Color</title>
|
<title>Datetime - Color</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="../../../../../css/palettes/dark.class.css" rel="stylesheet" />
|
||||||
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
||||||
<script src="../../../../../scripts/testing/scripts.js"></script>
|
<script src="../../../../../scripts/testing/scripts.js"></script>
|
||||||
<script type="module" src="../../../../../dist/ionic/ionic.esm.js"></script>
|
<script type="module" src="../../../../../dist/ionic/ionic.esm.js"></script>
|
||||||
@ -39,163 +40,6 @@
|
|||||||
#color-name::first-letter {
|
#color-name::first-letter {
|
||||||
text-transform: capitalize;
|
text-transform: capitalize;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Dark Theme
|
|
||||||
* -------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
body.dark {
|
|
||||||
--ion-color-primary: #428cff;
|
|
||||||
--ion-color-primary-rgb: 66, 140, 255;
|
|
||||||
--ion-color-primary-contrast: #ffffff;
|
|
||||||
--ion-color-primary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-primary-shade: #3a7be0;
|
|
||||||
--ion-color-primary-tint: #5598ff;
|
|
||||||
|
|
||||||
--ion-color-secondary: #50c8ff;
|
|
||||||
--ion-color-secondary-rgb: 80, 200, 255;
|
|
||||||
--ion-color-secondary-contrast: #ffffff;
|
|
||||||
--ion-color-secondary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-secondary-shade: #46b0e0;
|
|
||||||
--ion-color-secondary-tint: #62ceff;
|
|
||||||
|
|
||||||
--ion-color-tertiary: #6a64ff;
|
|
||||||
--ion-color-tertiary-rgb: 106, 100, 255;
|
|
||||||
--ion-color-tertiary-contrast: #ffffff;
|
|
||||||
--ion-color-tertiary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-tertiary-shade: #5d58e0;
|
|
||||||
--ion-color-tertiary-tint: #7974ff;
|
|
||||||
|
|
||||||
--ion-color-success: #2fdf75;
|
|
||||||
--ion-color-success-rgb: 47, 223, 117;
|
|
||||||
--ion-color-success-contrast: #000000;
|
|
||||||
--ion-color-success-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-success-shade: #29c467;
|
|
||||||
--ion-color-success-tint: #44e283;
|
|
||||||
|
|
||||||
--ion-color-warning: #ffd534;
|
|
||||||
--ion-color-warning-rgb: 255, 213, 52;
|
|
||||||
--ion-color-warning-contrast: #000000;
|
|
||||||
--ion-color-warning-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-warning-shade: #e0bb2e;
|
|
||||||
--ion-color-warning-tint: #ffd948;
|
|
||||||
|
|
||||||
--ion-color-danger: #ff4961;
|
|
||||||
--ion-color-danger-rgb: 255, 73, 97;
|
|
||||||
--ion-color-danger-contrast: #ffffff;
|
|
||||||
--ion-color-danger-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-danger-shade: #e04055;
|
|
||||||
--ion-color-danger-tint: #ff5b71;
|
|
||||||
|
|
||||||
--ion-color-dark: #f4f5f8;
|
|
||||||
--ion-color-dark-rgb: 244, 245, 248;
|
|
||||||
--ion-color-dark-contrast: #000000;
|
|
||||||
--ion-color-dark-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-dark-shade: #d7d8da;
|
|
||||||
--ion-color-dark-tint: #f5f6f9;
|
|
||||||
|
|
||||||
--ion-color-medium: #989aa2;
|
|
||||||
--ion-color-medium-rgb: 152, 154, 162;
|
|
||||||
--ion-color-medium-contrast: #000000;
|
|
||||||
--ion-color-medium-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-medium-shade: #86888f;
|
|
||||||
--ion-color-medium-tint: #a2a4ab;
|
|
||||||
|
|
||||||
--ion-color-light: #222428;
|
|
||||||
--ion-color-light-rgb: 34, 36, 40;
|
|
||||||
--ion-color-light-contrast: #ffffff;
|
|
||||||
--ion-color-light-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-light-shade: #1e2023;
|
|
||||||
--ion-color-light-tint: #383a3e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* iOS Dark Theme
|
|
||||||
* -------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
.ios body.dark {
|
|
||||||
--ion-background-color: #000000;
|
|
||||||
--ion-background-color-rgb: 0, 0, 0;
|
|
||||||
|
|
||||||
--ion-text-color: #ffffff;
|
|
||||||
--ion-text-color-rgb: 255, 255, 255;
|
|
||||||
|
|
||||||
--ion-color-step-50: #0d0d0d;
|
|
||||||
--ion-color-step-100: #1a1a1a;
|
|
||||||
--ion-color-step-150: #262626;
|
|
||||||
--ion-color-step-200: #333333;
|
|
||||||
--ion-color-step-250: #404040;
|
|
||||||
--ion-color-step-300: #4d4d4d;
|
|
||||||
--ion-color-step-350: #595959;
|
|
||||||
--ion-color-step-400: #666666;
|
|
||||||
--ion-color-step-450: #737373;
|
|
||||||
--ion-color-step-500: #808080;
|
|
||||||
--ion-color-step-550: #8c8c8c;
|
|
||||||
--ion-color-step-600: #999999;
|
|
||||||
--ion-color-step-650: #a6a6a6;
|
|
||||||
--ion-color-step-700: #b3b3b3;
|
|
||||||
--ion-color-step-750: #bfbfbf;
|
|
||||||
--ion-color-step-800: #cccccc;
|
|
||||||
--ion-color-step-850: #d9d9d9;
|
|
||||||
--ion-color-step-900: #e6e6e6;
|
|
||||||
--ion-color-step-950: #f2f2f2;
|
|
||||||
|
|
||||||
--ion-item-background: #000000;
|
|
||||||
|
|
||||||
--ion-card-background: #1c1c1d;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ios body.dark ion-modal {
|
|
||||||
--ion-background-color: var(--ion-color-step-100);
|
|
||||||
--ion-toolbar-background: var(--ion-color-step-150);
|
|
||||||
--ion-toolbar-border-color: var(--ion-color-step-250);
|
|
||||||
--ion-item-background: var(--ion-color-step-150);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Material Design Dark Theme
|
|
||||||
* -------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
.md body.dark {
|
|
||||||
--ion-background-color: #121212;
|
|
||||||
--ion-background-color-rgb: 18, 18, 18;
|
|
||||||
|
|
||||||
--ion-text-color: #ffffff;
|
|
||||||
--ion-text-color-rgb: 255, 255, 255;
|
|
||||||
|
|
||||||
--ion-border-color: #222222;
|
|
||||||
|
|
||||||
--ion-color-step-50: #1e1e1e;
|
|
||||||
--ion-color-step-100: #2a2a2a;
|
|
||||||
--ion-color-step-150: #363636;
|
|
||||||
--ion-color-step-200: #414141;
|
|
||||||
--ion-color-step-250: #4d4d4d;
|
|
||||||
--ion-color-step-300: #595959;
|
|
||||||
--ion-color-step-350: #656565;
|
|
||||||
--ion-color-step-400: #717171;
|
|
||||||
--ion-color-step-450: #7d7d7d;
|
|
||||||
--ion-color-step-500: #898989;
|
|
||||||
--ion-color-step-550: #949494;
|
|
||||||
--ion-color-step-600: #a0a0a0;
|
|
||||||
--ion-color-step-650: #acacac;
|
|
||||||
--ion-color-step-700: #b8b8b8;
|
|
||||||
--ion-color-step-750: #c4c4c4;
|
|
||||||
--ion-color-step-800: #d0d0d0;
|
|
||||||
--ion-color-step-850: #dbdbdb;
|
|
||||||
--ion-color-step-900: #e7e7e7;
|
|
||||||
--ion-color-step-950: #f3f3f3;
|
|
||||||
|
|
||||||
--ion-item-background: #1e1e1e;
|
|
||||||
|
|
||||||
--ion-toolbar-background: #1f1f1f;
|
|
||||||
|
|
||||||
--ion-tab-bar-background: #1f1f1f;
|
|
||||||
|
|
||||||
--ion-card-background: #1e1e1e;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@ -231,15 +75,15 @@
|
|||||||
const colorDatetime = document.querySelector('#color-datetime');
|
const colorDatetime = document.querySelector('#color-datetime');
|
||||||
const colorName = document.querySelector('#color-name');
|
const colorName = document.querySelector('#color-name');
|
||||||
const colorSelect = document.querySelector('ion-select');
|
const colorSelect = document.querySelector('ion-select');
|
||||||
const darkModeToggle = document.querySelector('ion-checkbox');
|
const darkModeCheckbox = document.querySelector('ion-checkbox');
|
||||||
|
|
||||||
colorSelect.addEventListener('ionChange', (ev) => {
|
colorSelect.addEventListener('ionChange', (ev) => {
|
||||||
colorDatetime.color = ev.detail.value;
|
colorDatetime.color = ev.detail.value;
|
||||||
colorName.innerHTML = ev.detail.value;
|
colorName.innerHTML = ev.detail.value;
|
||||||
});
|
});
|
||||||
|
|
||||||
darkModeToggle.addEventListener('ionChange', (ev) => {
|
darkModeCheckbox.addEventListener('ionChange', (ev) => {
|
||||||
document.body.classList.toggle('dark');
|
document.documentElement.classList.toggle('ion-palette-dark');
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</ion-app>
|
</ion-app>
|
||||||
|
@ -388,6 +388,7 @@ export class Input implements ComponentInterface {
|
|||||||
* such as [type] in Angular.
|
* such as [type] in Angular.
|
||||||
*/
|
*/
|
||||||
this.onTypeChange();
|
this.onTypeChange();
|
||||||
|
this.debounceChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidRender() {
|
componentDidRender() {
|
||||||
@ -849,6 +850,15 @@ export class Input implements ComponentInterface {
|
|||||||
*/
|
*/
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
}}
|
}}
|
||||||
|
onFocusin={(ev) => {
|
||||||
|
/**
|
||||||
|
* Prevent the focusin event from bubbling otherwise it will cause the focusin
|
||||||
|
* event listener in scroll assist to fire. When this fires, focus will be moved
|
||||||
|
* back to the input even if the clear button was never tapped. This poses issues
|
||||||
|
* for screen readers as it means users would be unable to swipe past the clear button.
|
||||||
|
*/
|
||||||
|
ev.stopPropagation();
|
||||||
|
}}
|
||||||
onClick={this.clearTextInput}
|
onClick={this.clearTextInput}
|
||||||
>
|
>
|
||||||
<ion-icon aria-hidden="true" icon={clearIconData}></ion-icon>
|
<ion-icon aria-hidden="true" icon={clearIconData}></ion-icon>
|
||||||
|
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: 25 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 |
@ -1,5 +1,6 @@
|
|||||||
|
import { isIonContent, findClosestIonContent } from '@utils/content';
|
||||||
import { createGesture } from '@utils/gesture';
|
import { createGesture } from '@utils/gesture';
|
||||||
import { clamp, raf } from '@utils/helpers';
|
import { clamp, raf, getElementRoot } from '@utils/helpers';
|
||||||
|
|
||||||
import type { Animation } from '../../../interface';
|
import type { Animation } from '../../../interface';
|
||||||
import type { GestureDetail } from '../../../utils/gesture';
|
import type { GestureDetail } from '../../../utils/gesture';
|
||||||
@ -142,22 +143,35 @@ export const createSheetGesture = (
|
|||||||
|
|
||||||
const canStart = (detail: GestureDetail) => {
|
const canStart = (detail: GestureDetail) => {
|
||||||
/**
|
/**
|
||||||
* If the sheet is fully expanded and
|
* If we are swiping on the content, swiping should only be possible if the content
|
||||||
* the user is swiping on the content,
|
* is scrolled all the way to the top so that we do not interfere with scrolling.
|
||||||
* the gesture should not start to
|
*
|
||||||
* allow for scrolling on the content.
|
* We cannot assume that the `ion-content` target will remain consistent between swipes.
|
||||||
|
* For example, when using ion-nav within a modal it is possible to swipe, push a view,
|
||||||
|
* and then swipe again. The target content will not be the same between swipes.
|
||||||
*/
|
*/
|
||||||
const content = (detail.event.target! as HTMLElement).closest('ion-content');
|
const contentEl = findClosestIonContent(detail.event.target! as HTMLElement);
|
||||||
currentBreakpoint = getCurrentBreakpoint();
|
currentBreakpoint = getCurrentBreakpoint();
|
||||||
|
|
||||||
if (currentBreakpoint === 1 && content) {
|
if (currentBreakpoint === 1 && contentEl) {
|
||||||
return false;
|
/**
|
||||||
|
* The modal should never swipe to close on the content with a refresher.
|
||||||
|
* Note 1: We cannot solve this by making this gesture have a higher priority than
|
||||||
|
* the refresher gesture as the iOS native refresh gesture uses a scroll listener in
|
||||||
|
* addition to a gesture.
|
||||||
|
*
|
||||||
|
* Note 2: Do not use getScrollElement here because we need this to be a synchronous
|
||||||
|
* operation, and getScrollElement is asynchronous.
|
||||||
|
*/
|
||||||
|
const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
||||||
|
const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
|
||||||
|
return !hasRefresherInContent && scrollEl!.scrollTop === 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
const onStart = () => {
|
const onStart = (detail: GestureDetail) => {
|
||||||
/**
|
/**
|
||||||
* If canDismiss is anything other than `true`
|
* If canDismiss is anything other than `true`
|
||||||
* then users should be able to swipe down
|
* then users should be able to swipe down
|
||||||
@ -173,11 +187,10 @@ export const createSheetGesture = (
|
|||||||
canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
|
canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If swiping on the content
|
* If we are pulling down, then it is possible we are pulling on the content.
|
||||||
* we should disable scrolling otherwise
|
* We do not want scrolling to happen at the same time as the gesture.
|
||||||
* the sheet will expand and the content will scroll.
|
|
||||||
*/
|
*/
|
||||||
if (contentEl) {
|
if (detail.deltaY > 0 && contentEl) {
|
||||||
contentEl.scrollY = false;
|
contentEl.scrollY = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,6 +206,16 @@ export const createSheetGesture = (
|
|||||||
};
|
};
|
||||||
|
|
||||||
const onMove = (detail: GestureDetail) => {
|
const onMove = (detail: GestureDetail) => {
|
||||||
|
/**
|
||||||
|
* If we are pulling down, then it is possible we are pulling on the content.
|
||||||
|
* We do not want scrolling to happen at the same time as the gesture.
|
||||||
|
* This accounts for when the user scrolls down, scrolls all the way up, and then
|
||||||
|
* pulls down again such that the modal should start to move.
|
||||||
|
*/
|
||||||
|
if (detail.deltaY > 0 && contentEl) {
|
||||||
|
contentEl.scrollY = false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Given the change in gesture position on the Y axis,
|
* Given the change in gesture position on the Y axis,
|
||||||
* compute where the offset of the animation should be
|
* compute where the offset of the animation should be
|
||||||
@ -314,6 +337,17 @@ export const createSheetGesture = (
|
|||||||
onDismiss();
|
onDismiss();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If the sheet is going to be fully expanded then we should enable
|
||||||
|
* scrolling immediately. The sheet modal animation takes ~500ms to finish
|
||||||
|
* so if we wait until then there is a visible delay for when scrolling is
|
||||||
|
* re-enabled. Native iOS allows for scrolling on the sheet modal as soon
|
||||||
|
* as the gesture is released, so we align with that.
|
||||||
|
*/
|
||||||
|
if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
|
||||||
|
contentEl.scrollY = true;
|
||||||
|
}
|
||||||
|
|
||||||
return new Promise<void>((resolve) => {
|
return new Promise<void>((resolve) => {
|
||||||
animation
|
animation
|
||||||
.onFinish(
|
.onFinish(
|
||||||
@ -334,14 +368,6 @@ export const createSheetGesture = (
|
|||||||
currentBreakpoint = snapToBreakpoint;
|
currentBreakpoint = snapToBreakpoint;
|
||||||
onBreakpointChange(currentBreakpoint);
|
onBreakpointChange(currentBreakpoint);
|
||||||
|
|
||||||
/**
|
|
||||||
* If the sheet is fully expanded, we can safely
|
|
||||||
* enable scrolling again.
|
|
||||||
*/
|
|
||||||
if (contentEl && currentBreakpoint === breakpoints[breakpoints.length - 1]) {
|
|
||||||
contentEl.scrollY = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Backdrop should become enabled
|
* Backdrop should become enabled
|
||||||
* after the backdropBreakpoint value
|
* after the backdropBreakpoint value
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
|
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
|
||||||
/>
|
/>
|
||||||
<link href="../../../../../css/ionic.bundle.css" rel="stylesheet" />
|
<link href="../../../../../css/ionic.bundle.css" rel="stylesheet" />
|
||||||
|
<link href="../../../../../css/palettes/dark.always.css" rel="stylesheet" />
|
||||||
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
||||||
<script src="../../../../../scripts/testing/scripts.js"></script>
|
<script src="../../../../../scripts/testing/scripts.js"></script>
|
||||||
<script nomodule src="../../../../../dist/ionic/ionic.js"></script>
|
<script nomodule src="../../../../../dist/ionic/ionic.js"></script>
|
||||||
@ -36,167 +37,10 @@
|
|||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Dark Colors
|
|
||||||
* -------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
body.dark {
|
|
||||||
--ion-color-primary: #428cff;
|
|
||||||
--ion-color-primary-rgb: 66, 140, 255;
|
|
||||||
--ion-color-primary-contrast: #ffffff;
|
|
||||||
--ion-color-primary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-primary-shade: #3a7be0;
|
|
||||||
--ion-color-primary-tint: #5598ff;
|
|
||||||
|
|
||||||
--ion-color-secondary: #50c8ff;
|
|
||||||
--ion-color-secondary-rgb: 80, 200, 255;
|
|
||||||
--ion-color-secondary-contrast: #ffffff;
|
|
||||||
--ion-color-secondary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-secondary-shade: #46b0e0;
|
|
||||||
--ion-color-secondary-tint: #62ceff;
|
|
||||||
|
|
||||||
--ion-color-tertiary: #6a64ff;
|
|
||||||
--ion-color-tertiary-rgb: 106, 100, 255;
|
|
||||||
--ion-color-tertiary-contrast: #ffffff;
|
|
||||||
--ion-color-tertiary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-tertiary-shade: #5d58e0;
|
|
||||||
--ion-color-tertiary-tint: #7974ff;
|
|
||||||
|
|
||||||
--ion-color-success: #2fdf75;
|
|
||||||
--ion-color-success-rgb: 47, 223, 117;
|
|
||||||
--ion-color-success-contrast: #000000;
|
|
||||||
--ion-color-success-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-success-shade: #29c467;
|
|
||||||
--ion-color-success-tint: #44e283;
|
|
||||||
|
|
||||||
--ion-color-warning: #ffd534;
|
|
||||||
--ion-color-warning-rgb: 255, 213, 52;
|
|
||||||
--ion-color-warning-contrast: #000000;
|
|
||||||
--ion-color-warning-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-warning-shade: #e0bb2e;
|
|
||||||
--ion-color-warning-tint: #ffd948;
|
|
||||||
|
|
||||||
--ion-color-danger: #ff4961;
|
|
||||||
--ion-color-danger-rgb: 255, 73, 97;
|
|
||||||
--ion-color-danger-contrast: #ffffff;
|
|
||||||
--ion-color-danger-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-danger-shade: #e04055;
|
|
||||||
--ion-color-danger-tint: #ff5b71;
|
|
||||||
|
|
||||||
--ion-color-dark: #f4f5f8;
|
|
||||||
--ion-color-dark-rgb: 244, 245, 248;
|
|
||||||
--ion-color-dark-contrast: #000000;
|
|
||||||
--ion-color-dark-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-dark-shade: #d7d8da;
|
|
||||||
--ion-color-dark-tint: #f5f6f9;
|
|
||||||
|
|
||||||
--ion-color-medium: #989aa2;
|
|
||||||
--ion-color-medium-rgb: 152, 154, 162;
|
|
||||||
--ion-color-medium-contrast: #000000;
|
|
||||||
--ion-color-medium-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-medium-shade: #86888f;
|
|
||||||
--ion-color-medium-tint: #a2a4ab;
|
|
||||||
|
|
||||||
--ion-color-light: #222428;
|
|
||||||
--ion-color-light-rgb: 34, 36, 40;
|
|
||||||
--ion-color-light-contrast: #ffffff;
|
|
||||||
--ion-color-light-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-light-shade: #1e2023;
|
|
||||||
--ion-color-light-tint: #383a3e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* iOS Dark Theme
|
|
||||||
* -------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
.ios body.dark {
|
|
||||||
--ion-background-color: #000000;
|
|
||||||
--ion-background-color-rgb: 0, 0, 0;
|
|
||||||
|
|
||||||
--ion-text-color: #ffffff;
|
|
||||||
--ion-text-color-rgb: 255, 255, 255;
|
|
||||||
|
|
||||||
--ion-color-step-50: #0d0d0d;
|
|
||||||
--ion-color-step-100: #1a1a1a;
|
|
||||||
--ion-color-step-150: #262626;
|
|
||||||
--ion-color-step-200: #333333;
|
|
||||||
--ion-color-step-250: #404040;
|
|
||||||
--ion-color-step-300: #4d4d4d;
|
|
||||||
--ion-color-step-350: #595959;
|
|
||||||
--ion-color-step-400: #666666;
|
|
||||||
--ion-color-step-450: #737373;
|
|
||||||
--ion-color-step-500: #808080;
|
|
||||||
--ion-color-step-550: #8c8c8c;
|
|
||||||
--ion-color-step-600: #999999;
|
|
||||||
--ion-color-step-650: #a6a6a6;
|
|
||||||
--ion-color-step-700: #b3b3b3;
|
|
||||||
--ion-color-step-750: #bfbfbf;
|
|
||||||
--ion-color-step-800: #cccccc;
|
|
||||||
--ion-color-step-850: #d9d9d9;
|
|
||||||
--ion-color-step-900: #e6e6e6;
|
|
||||||
--ion-color-step-950: #f2f2f2;
|
|
||||||
|
|
||||||
--ion-item-background: #000000;
|
|
||||||
|
|
||||||
--ion-card-background: #1c1c1d;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ios body.dark ion-modal {
|
|
||||||
--ion-background-color: var(--ion-color-step-100);
|
|
||||||
--ion-toolbar-background: var(--ion-color-step-150);
|
|
||||||
--ion-toolbar-border-color: var(--ion-color-step-250);
|
|
||||||
--ion-item-background: var(--ion-color-step-150);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Material Design Dark Theme
|
|
||||||
* -------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
.md body.dark {
|
|
||||||
--ion-background-color: #121212;
|
|
||||||
--ion-background-color-rgb: 18, 18, 18;
|
|
||||||
|
|
||||||
--ion-text-color: #ffffff;
|
|
||||||
--ion-text-color-rgb: 255, 255, 255;
|
|
||||||
|
|
||||||
--ion-border-color: #222222;
|
|
||||||
|
|
||||||
--ion-color-step-50: #1e1e1e;
|
|
||||||
--ion-color-step-100: #2a2a2a;
|
|
||||||
--ion-color-step-150: #363636;
|
|
||||||
--ion-color-step-200: #414141;
|
|
||||||
--ion-color-step-250: #4d4d4d;
|
|
||||||
--ion-color-step-300: #595959;
|
|
||||||
--ion-color-step-350: #656565;
|
|
||||||
--ion-color-step-400: #717171;
|
|
||||||
--ion-color-step-450: #7d7d7d;
|
|
||||||
--ion-color-step-500: #898989;
|
|
||||||
--ion-color-step-550: #949494;
|
|
||||||
--ion-color-step-600: #a0a0a0;
|
|
||||||
--ion-color-step-650: #acacac;
|
|
||||||
--ion-color-step-700: #b8b8b8;
|
|
||||||
--ion-color-step-750: #c4c4c4;
|
|
||||||
--ion-color-step-800: #d0d0d0;
|
|
||||||
--ion-color-step-850: #dbdbdb;
|
|
||||||
--ion-color-step-900: #e7e7e7;
|
|
||||||
--ion-color-step-950: #f3f3f3;
|
|
||||||
|
|
||||||
--ion-item-background: #1e1e1e;
|
|
||||||
|
|
||||||
--ion-toolbar-background: #1f1f1f;
|
|
||||||
|
|
||||||
--ion-tab-bar-background: #1f1f1f;
|
|
||||||
|
|
||||||
--ion-card-background: #1e1e1e;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="dark">
|
<body>
|
||||||
<ion-app>
|
<ion-app>
|
||||||
<div class="ion-page">
|
<div class="ion-page">
|
||||||
<ion-header>
|
<ion-header>
|
||||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.4 KiB |
@ -58,6 +58,8 @@ input {
|
|||||||
}
|
}
|
||||||
|
|
||||||
:host(.in-item) {
|
:host(.in-item) {
|
||||||
|
flex: 1 1 0;
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
@ -8,162 +8,11 @@
|
|||||||
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
|
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
|
||||||
/>
|
/>
|
||||||
<link href="../../../../../css/ionic.bundle.css" rel="stylesheet" />
|
<link href="../../../../../css/ionic.bundle.css" rel="stylesheet" />
|
||||||
|
<link href="../../../../../css/palettes/dark.class.css" rel="stylesheet" />
|
||||||
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
<link href="../../../../../scripts/testing/styles.css" rel="stylesheet" />
|
||||||
<script src="../../../../../scripts/testing/scripts.js"></script>
|
<script src="../../../../../scripts/testing/scripts.js"></script>
|
||||||
<script nomodule src="../../../../../dist/ionic/ionic.js"></script>
|
<script nomodule src="../../../../../dist/ionic/ionic.js"></script>
|
||||||
<script type="module" src="../../../../../dist/ionic/ionic.esm.js"></script>
|
<script type="module" src="../../../../../dist/ionic/ionic.esm.js"></script>
|
||||||
|
|
||||||
<style>
|
|
||||||
/*
|
|
||||||
* Dark Colors
|
|
||||||
* ------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
body.dark {
|
|
||||||
--ion-color-primary: #428cff;
|
|
||||||
--ion-color-primary-rgb: 66, 140, 255;
|
|
||||||
--ion-color-primary-contrast: #ffffff;
|
|
||||||
--ion-color-primary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-primary-shade: #3a7be0;
|
|
||||||
--ion-color-primary-tint: #5598ff;
|
|
||||||
|
|
||||||
--ion-color-secondary: #50c8ff;
|
|
||||||
--ion-color-secondary-rgb: 80, 200, 255;
|
|
||||||
--ion-color-secondary-contrast: #ffffff;
|
|
||||||
--ion-color-secondary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-secondary-shade: #46b0e0;
|
|
||||||
--ion-color-secondary-tint: #62ceff;
|
|
||||||
|
|
||||||
--ion-color-tertiary: #6a64ff;
|
|
||||||
--ion-color-tertiary-rgb: 106, 100, 255;
|
|
||||||
--ion-color-tertiary-contrast: #ffffff;
|
|
||||||
--ion-color-tertiary-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-tertiary-shade: #5d58e0;
|
|
||||||
--ion-color-tertiary-tint: #7974ff;
|
|
||||||
|
|
||||||
--ion-color-success: #2fdf75;
|
|
||||||
--ion-color-success-rgb: 47, 223, 117;
|
|
||||||
--ion-color-success-contrast: #000000;
|
|
||||||
--ion-color-success-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-success-shade: #29c467;
|
|
||||||
--ion-color-success-tint: #44e283;
|
|
||||||
|
|
||||||
--ion-color-warning: #ffd534;
|
|
||||||
--ion-color-warning-rgb: 255, 213, 52;
|
|
||||||
--ion-color-warning-contrast: #000000;
|
|
||||||
--ion-color-warning-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-warning-shade: #e0bb2e;
|
|
||||||
--ion-color-warning-tint: #ffd948;
|
|
||||||
|
|
||||||
--ion-color-danger: #ff4961;
|
|
||||||
--ion-color-danger-rgb: 255, 73, 97;
|
|
||||||
--ion-color-danger-contrast: #ffffff;
|
|
||||||
--ion-color-danger-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-danger-shade: #e04055;
|
|
||||||
--ion-color-danger-tint: #ff5b71;
|
|
||||||
|
|
||||||
--ion-color-dark: #f4f5f8;
|
|
||||||
--ion-color-dark-rgb: 244, 245, 248;
|
|
||||||
--ion-color-dark-contrast: #000000;
|
|
||||||
--ion-color-dark-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-dark-shade: #d7d8da;
|
|
||||||
--ion-color-dark-tint: #f5f6f9;
|
|
||||||
|
|
||||||
--ion-color-medium: #989aa2;
|
|
||||||
--ion-color-medium-rgb: 152, 154, 162;
|
|
||||||
--ion-color-medium-contrast: #000000;
|
|
||||||
--ion-color-medium-contrast-rgb: 0, 0, 0;
|
|
||||||
--ion-color-medium-shade: #86888f;
|
|
||||||
--ion-color-medium-tint: #a2a4ab;
|
|
||||||
|
|
||||||
--ion-color-light: #222428;
|
|
||||||
--ion-color-light-rgb: 34, 36, 40;
|
|
||||||
--ion-color-light-contrast: #ffffff;
|
|
||||||
--ion-color-light-contrast-rgb: 255, 255, 255;
|
|
||||||
--ion-color-light-shade: #1e2023;
|
|
||||||
--ion-color-light-tint: #383a3e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* iOS Dark Theme
|
|
||||||
* -------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
.ios body.dark {
|
|
||||||
--ion-background-color: #000000;
|
|
||||||
--ion-background-color-rgb: 0, 0, 0;
|
|
||||||
|
|
||||||
--ion-text-color: #ffffff;
|
|
||||||
--ion-text-color-rgb: 255, 255, 255;
|
|
||||||
|
|
||||||
--ion-color-step-50: #0d0d0d;
|
|
||||||
--ion-color-step-100: #1a1a1a;
|
|
||||||
--ion-color-step-150: #262626;
|
|
||||||
--ion-color-step-200: #333333;
|
|
||||||
--ion-color-step-250: #404040;
|
|
||||||
--ion-color-step-300: #4d4d4d;
|
|
||||||
--ion-color-step-350: #595959;
|
|
||||||
--ion-color-step-400: #666666;
|
|
||||||
--ion-color-step-450: #737373;
|
|
||||||
--ion-color-step-500: #808080;
|
|
||||||
--ion-color-step-550: #8c8c8c;
|
|
||||||
--ion-color-step-600: #999999;
|
|
||||||
--ion-color-step-650: #a6a6a6;
|
|
||||||
--ion-color-step-700: #b3b3b3;
|
|
||||||
--ion-color-step-750: #bfbfbf;
|
|
||||||
--ion-color-step-800: #cccccc;
|
|
||||||
--ion-color-step-850: #d9d9d9;
|
|
||||||
--ion-color-step-900: #e6e6e6;
|
|
||||||
--ion-color-step-950: #f2f2f2;
|
|
||||||
|
|
||||||
--ion-toolbar-background: #0d0d0d;
|
|
||||||
|
|
||||||
--ion-item-background: #1c1c1c;
|
|
||||||
--ion-item-background-activated: #313131;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Material Design Dark Theme
|
|
||||||
* ------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
.md body.dark {
|
|
||||||
--ion-background-color: #121212;
|
|
||||||
--ion-background-color-rgb: 18, 18, 18;
|
|
||||||
|
|
||||||
--ion-text-color: #ffffff;
|
|
||||||
--ion-text-color-rgb: 255, 255, 255;
|
|
||||||
|
|
||||||
--ion-border-color: #222222;
|
|
||||||
|
|
||||||
--ion-color-step-50: #1e1e1e;
|
|
||||||
--ion-color-step-100: #2a2a2a;
|
|
||||||
--ion-color-step-150: #363636;
|
|
||||||
--ion-color-step-200: #414141;
|
|
||||||
--ion-color-step-250: #4d4d4d;
|
|
||||||
--ion-color-step-300: #595959;
|
|
||||||
--ion-color-step-350: #656565;
|
|
||||||
--ion-color-step-400: #717171;
|
|
||||||
--ion-color-step-450: #7d7d7d;
|
|
||||||
--ion-color-step-500: #898989;
|
|
||||||
--ion-color-step-550: #949494;
|
|
||||||
--ion-color-step-600: #a0a0a0;
|
|
||||||
--ion-color-step-650: #acacac;
|
|
||||||
--ion-color-step-700: #b8b8b8;
|
|
||||||
--ion-color-step-750: #c4c4c4;
|
|
||||||
--ion-color-step-800: #d0d0d0;
|
|
||||||
--ion-color-step-850: #dbdbdb;
|
|
||||||
--ion-color-step-900: #e7e7e7;
|
|
||||||
--ion-color-step-950: #f3f3f3;
|
|
||||||
|
|
||||||
--ion-item-background: #1a1b1e;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Optional CSS, this is added for the flashing that happens when toggling between themes */
|
|
||||||
ion-item {
|
|
||||||
--transition: none;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -256,11 +105,7 @@
|
|||||||
<script>
|
<script>
|
||||||
const darkModeCheckbox = document.querySelector('ion-checkbox');
|
const darkModeCheckbox = document.querySelector('ion-checkbox');
|
||||||
darkModeCheckbox.addEventListener('ionChange', (ev) => {
|
darkModeCheckbox.addEventListener('ionChange', (ev) => {
|
||||||
if (ev.detail.checked) {
|
document.documentElement.classList.toggle('ion-palette-dark');
|
||||||
document.body.classList.add('dark');
|
|
||||||
} else {
|
|
||||||
document.body.classList.remove('dark');
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
@ -1,49 +1,70 @@
|
|||||||
import { expect } from '@playwright/test';
|
import { expect } from '@playwright/test';
|
||||||
import { configs, test } from '@utils/test/playwright';
|
import { configs, test } from '@utils/test/playwright';
|
||||||
|
|
||||||
configs().forEach(({ title, screenshot, config }) => {
|
configs({ palettes: ['light', 'dark'] }).forEach(({ title, screenshot, config }) => {
|
||||||
test.describe(title('toggle: enableOnOffLabels'), () => {
|
test.describe(title('toggle: enable-on-off-labels'), () => {
|
||||||
test.beforeEach(async ({ page }) => {
|
test('should not have visual regressions', async ({ page }) => {
|
||||||
await page.goto(`/src/components/toggle/test/enable-on-off-labels`, config);
|
await page.setContent(
|
||||||
|
`
|
||||||
|
<style>
|
||||||
|
#container {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(2, auto);
|
||||||
|
justify-content: space-evenly;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 16px 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div id="container">
|
||||||
|
<ion-toggle enable-on-off-labels="true">Unchecked</ion-toggle>
|
||||||
|
<ion-toggle enable-on-off-labels="true" checked>Checked</ion-toggle>
|
||||||
|
</div>
|
||||||
|
`,
|
||||||
|
config
|
||||||
|
);
|
||||||
|
|
||||||
|
const container = page.locator('#container');
|
||||||
|
|
||||||
|
await expect(container).toHaveScreenshot(screenshot(`toggle-on-off-labels`));
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should not have visual regressions', async ({ page }) => {
|
test('should not have visual regressions with color', async ({ page }) => {
|
||||||
await page.setIonViewport();
|
await page.setContent(
|
||||||
|
`
|
||||||
|
<style>
|
||||||
|
#container {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(2, auto);
|
||||||
|
justify-content: space-evenly;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 16px 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
await expect(page).toHaveScreenshot(screenshot(`toggle-on-off-labels-diff`));
|
<div id="container">
|
||||||
});
|
<ion-toggle color="secondary" enable-on-off-labels="true">Unchecked</ion-toggle>
|
||||||
});
|
<ion-toggle color="secondary" enable-on-off-labels="true" checked>Checked</ion-toggle>
|
||||||
});
|
<ion-toggle color="success" enable-on-off-labels="true">Unchecked</ion-toggle>
|
||||||
|
<ion-toggle color="success" enable-on-off-labels="true" checked>Checked</ion-toggle>
|
||||||
/**
|
<ion-toggle color="danger" enable-on-off-labels="true">Unchecked</ion-toggle>
|
||||||
* This behavior does not vary across directions
|
<ion-toggle color="danger" enable-on-off-labels="true" checked>Checked</ion-toggle>
|
||||||
*/
|
<ion-toggle color="tertiary" enable-on-off-labels="true">Unchecked</ion-toggle>
|
||||||
configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
|
<ion-toggle color="tertiary" enable-on-off-labels="true" checked>Checked</ion-toggle>
|
||||||
test.describe(title('toggle: dark mode'), () => {
|
<ion-toggle color="light" enable-on-off-labels="true">Unchecked</ion-toggle>
|
||||||
test.beforeEach(async ({ page }) => {
|
<ion-toggle color="light" enable-on-off-labels="true" checked>Checked</ion-toggle>
|
||||||
await page.goto(`/src/components/toggle/test/enable-on-off-labels`, config);
|
<ion-toggle color="medium" enable-on-off-labels="true">Unchecked</ion-toggle>
|
||||||
});
|
<ion-toggle color="medium" enable-on-off-labels="true" checked>Checked</ion-toggle>
|
||||||
|
<ion-toggle color="dark" enable-on-off-labels="true">Unchecked</ion-toggle>
|
||||||
test('should not have visual regressions', async ({ page }) => {
|
<ion-toggle color="dark" enable-on-off-labels="true" checked>Checked</ion-toggle>
|
||||||
const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
|
</div>
|
||||||
const ionPopoverDidDismiss = await page.spyOnEvent('ionPopoverDidDismiss');
|
`,
|
||||||
|
config
|
||||||
await page.click('#popover-trigger');
|
);
|
||||||
await ionPopoverDidPresent.next();
|
|
||||||
|
const container = page.locator('#container');
|
||||||
await page.click('#dark-mode');
|
|
||||||
|
await expect(container).toHaveScreenshot(screenshot(`toggle-on-off-labels-color`));
|
||||||
await page.evaluate(() => {
|
|
||||||
const popover = document.querySelector('ion-popover');
|
|
||||||
return popover?.dismiss();
|
|
||||||
});
|
|
||||||
await ionPopoverDidDismiss.next();
|
|
||||||
|
|
||||||
await page.waitForChanges();
|
|
||||||
|
|
||||||
await page.setIonViewport();
|
|
||||||
|
|
||||||
await expect(page).toHaveScreenshot(screenshot(`toggle-on-off-labels-dark-mode-diff`));
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 4.3 KiB |