diff --git a/.github/workflows/assign-issues.yml b/.github/workflows/assign-issues.yml index 97aed0295a6..318f4875ac8 100644 --- a/.github/workflows/assign-issues.yml +++ b/.github/workflows/assign-issues.yml @@ -11,7 +11,7 @@ jobs: issues: write steps: - name: 'Auto-assign issue' - uses: pozil/auto-assign-issue@d4b175c7e47cd6d5067f5aa83c9f21b93f8c723e # v2.1.1 + uses: pozil/auto-assign-issue@c015a6a3f410f12f58255c3d085fd774312f7a2f # v2.1.2 with: assignees: brandyscarney, thetaPC, joselrio, rugoncalves, BenOsodrac, JoaoFerreira-FrontEnd, OS-giulianasilva, tanner-reits numOfAssignee: 1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 53f56f54e58..8b4158d403c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,29 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.4.3](https://github.com/ionic-team/ionic-framework/compare/v8.4.2...v8.4.3) (2025-01-29) + + +### Bug Fixes + +* **vue:** update Stencil Vue output target ([#30159](https://github.com/ionic-team/ionic-framework/issues/30159)) ([eb725fc](https://github.com/ionic-team/ionic-framework/commit/eb725fce6eb15facd8a1c21be11a1b2d46336479)) + + + + + +## [8.4.2](https://github.com/ionic-team/ionic-framework/compare/v8.4.1...v8.4.2) (2025-01-22) + + +### Bug Fixes + +* **segment:** add logic to connect to segment-view in `componentDidLoad()` callback ([#30060](https://github.com/ionic-team/ionic-framework/issues/30060)) ([000f553](https://github.com/ionic-team/ionic-framework/commit/000f55303e459c583e642337fb1894f419f37d48)), closes [#30000](https://github.com/ionic-team/ionic-framework/issues/30000) +* **select-modal:** match radio styles to iOS native ([#30119](https://github.com/ionic-team/ionic-framework/issues/30119)) ([3f8346e](https://github.com/ionic-team/ionic-framework/commit/3f8346e718ae3a6eb5008d739f10b6898b84ca9b)) + + + + + ## [8.4.1](https://github.com/ionic-team/ionic-framework/compare/v8.4.0...v8.4.1) (2024-11-27) diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index 0c1255506f8..ae08dcbd2b6 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.4.3](https://github.com/ionic-team/ionic-framework/compare/v8.4.2...v8.4.3) (2025-01-29) + +**Note:** Version bump only for package @ionic/core + + + + + +## [8.4.2](https://github.com/ionic-team/ionic-framework/compare/v8.4.1...v8.4.2) (2025-01-22) + + +### Bug Fixes + +* **segment:** add logic to connect to segment-view in `componentDidLoad()` callback ([#30060](https://github.com/ionic-team/ionic-framework/issues/30060)) ([000f553](https://github.com/ionic-team/ionic-framework/commit/000f55303e459c583e642337fb1894f419f37d48)), closes [#30000](https://github.com/ionic-team/ionic-framework/issues/30000) +* **select-modal:** match radio styles to iOS native ([#30119](https://github.com/ionic-team/ionic-framework/issues/30119)) ([3f8346e](https://github.com/ionic-team/ionic-framework/commit/3f8346e718ae3a6eb5008d739f10b6898b84ca9b)) + + + + + ## [8.4.1](https://github.com/ionic-team/ionic-framework/compare/v8.4.0...v8.4.1) (2024-11-27) diff --git a/core/package-lock.json b/core/package-lock.json index c4f10d12da9..6a79fb3c921 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ionic/core", - "version": "8.4.1", + "version": "8.4.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/core", - "version": "8.4.1", + "version": "8.4.3", "license": "MIT", "dependencies": { "@stencil/core": "4.20.0", @@ -25,10 +25,10 @@ "@playwright/test": "^1.46.1", "@rollup/plugin-node-resolve": "^8.4.0", "@rollup/plugin-virtual": "^2.0.3", - "@stencil/angular-output-target": "^0.8.4", + "@stencil/angular-output-target": "^0.10.0", "@stencil/react-output-target": "0.5.3", "@stencil/sass": "^3.0.9", - "@stencil/vue-output-target": "^0.8.9", + "@stencil/vue-output-target": "^0.9.0", "@types/jest": "^29.5.6", "@types/node": "^14.6.0", "@typescript-eslint/eslint-plugin": "^6.7.2", @@ -319,18 +319,18 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -400,10 +400,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", "dev": true, + "dependencies": { + "@babel/types": "^7.26.5" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -641,14 +644,13 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -697,9 +699,9 @@ } }, "node_modules/@clack/core": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.4.0.tgz", - "integrity": "sha512-YJCYBsyJfNDaTbvDUVSJ3SgSuPrcujarRgkJ5NLjexDZKvaOiVVJvAQYx8lIgG0qRT8ff0fPgqyBCVivanIZ+A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.4.1.tgz", + "integrity": "sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==", "dev": true, "dependencies": { "picocolors": "^1.0.0", @@ -707,12 +709,12 @@ } }, "node_modules/@clack/prompts": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.9.0.tgz", - "integrity": "sha512-nGsytiExgUr4FL0pR/LeqxA28nz3E0cW7eLTSh3Iod9TGrbBt8Y7BHbV3mmkNC4G0evdYyQ3ZsbiBkk7ektArA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.9.1.tgz", + "integrity": "sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==", "dev": true, "dependencies": { - "@clack/core": "0.4.0", + "@clack/core": "0.4.1", "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } @@ -1662,9 +1664,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { @@ -1799,9 +1801,9 @@ } }, "node_modules/@stencil/angular-output-target": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-0.8.4.tgz", - "integrity": "sha512-QvmHTueXXs5vB9W2L12uEzFmAuR8sqATJV2b+SCFmYsjJSaymiSqR3dKo2wnr0tZiTgU1t16BWaUKiSh3wPXpw==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-0.10.2.tgz", + "integrity": "sha512-jPRa2NMAPtm/iMY+mUaWATbIhgY5zPJfUNQyF8nwC0rMrfXifPoRCf6BbH2S4Gy7SX0X4hlP+jAbVUjQNg/P+Q==", "dev": true, "peerDependencies": { "@stencil/core": ">=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0" @@ -1844,12 +1846,21 @@ } }, "node_modules/@stencil/vue-output-target": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.8.9.tgz", - "integrity": "sha512-1yuapCWYViLlxGlEaeta2wryq4M5zZxxBa+4rEBp54VwW2W/trlzPv0IJyw6I3Il51rHYm2WmWlBLOGmoMyW9Q==", + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.9.2.tgz", + "integrity": "sha512-AeBmfo8bQhtob4VKpYTNiCoqh50MeXUwRgYLyO/JxRgAAK9GSfenNrUxXDrK0DK65SWsx/GCOsRwWbfOveorOQ==", "dev": true, "peerDependencies": { - "@stencil/core": ">=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0" + "@stencil/core": ">=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0", + "vue": "^3.4.38" + }, + "peerDependenciesMeta": { + "@stencil/core": { + "optional": true + }, + "vue": { + "optional": false + } } }, "node_modules/@stylelint/postcss-css-in-js": { @@ -2483,6 +2494,171 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@vue/compiler-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "peer": true + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "dev": true, + "peer": true, + "dependencies": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "peer": true + }, + "node_modules/@vue/compiler-sfc/node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "dev": true, + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "dev": true, + "peer": true, + "dependencies": { + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "dev": true, + "peer": true, + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "dev": true, + "peer": true, + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "dev": true, + "peer": true, + "dependencies": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "vue": "3.5.13" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "dev": true, + "peer": true + }, "node_modules/@zeit/schemas": { "version": "2.21.0", "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.21.0.tgz", @@ -3167,9 +3343,9 @@ ] }, "node_modules/chalk": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.0.tgz", - "integrity": "sha512-ZkD35Mx92acjB2yNJgziGqT9oKHEOxjTBTDRpOsRWtdecL/0jM3z5kM/CTzHWvHIen1GvkM85p6TuFfDGfc8/Q==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -3761,6 +3937,13 @@ "node": ">=4" } }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "peer": true + }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -7568,6 +7751,16 @@ "node": ">=10" } }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, "node_modules/make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -7899,6 +8092,25 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -8220,9 +8432,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "node_modules/picomatch": { @@ -9087,6 +9299,16 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-support": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", @@ -9667,15 +9889,6 @@ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -10009,6 +10222,28 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/vue": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "dev": true, + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -10489,15 +10724,15 @@ } }, "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true }, "@babel/helper-validator-option": { @@ -10551,10 +10786,13 @@ } }, "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", + "dev": true, + "requires": { + "@babel/types": "^7.26.5" + } }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", @@ -10723,14 +10961,13 @@ } }, "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" } }, "@bcoe/v8-coverage": { @@ -10770,9 +11007,9 @@ "requires": {} }, "@clack/core": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.4.0.tgz", - "integrity": "sha512-YJCYBsyJfNDaTbvDUVSJ3SgSuPrcujarRgkJ5NLjexDZKvaOiVVJvAQYx8lIgG0qRT8ff0fPgqyBCVivanIZ+A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.4.1.tgz", + "integrity": "sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==", "dev": true, "requires": { "picocolors": "^1.0.0", @@ -10780,12 +11017,12 @@ } }, "@clack/prompts": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.9.0.tgz", - "integrity": "sha512-nGsytiExgUr4FL0pR/LeqxA28nz3E0cW7eLTSh3Iod9TGrbBt8Y7BHbV3mmkNC4G0evdYyQ3ZsbiBkk7ektArA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.9.1.tgz", + "integrity": "sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==", "dev": true, "requires": { - "@clack/core": "0.4.0", + "@clack/core": "0.4.1", "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } @@ -11459,9 +11696,9 @@ "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "@jridgewell/trace-mapping": { @@ -11567,9 +11804,9 @@ } }, "@stencil/angular-output-target": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-0.8.4.tgz", - "integrity": "sha512-QvmHTueXXs5vB9W2L12uEzFmAuR8sqATJV2b+SCFmYsjJSaymiSqR3dKo2wnr0tZiTgU1t16BWaUKiSh3wPXpw==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-0.10.2.tgz", + "integrity": "sha512-jPRa2NMAPtm/iMY+mUaWATbIhgY5zPJfUNQyF8nwC0rMrfXifPoRCf6BbH2S4Gy7SX0X4hlP+jAbVUjQNg/P+Q==", "dev": true, "requires": {} }, @@ -11593,9 +11830,9 @@ "requires": {} }, "@stencil/vue-output-target": { - "version": "0.8.9", - "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.8.9.tgz", - "integrity": "sha512-1yuapCWYViLlxGlEaeta2wryq4M5zZxxBa+4rEBp54VwW2W/trlzPv0IJyw6I3Il51rHYm2WmWlBLOGmoMyW9Q==", + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.9.2.tgz", + "integrity": "sha512-AeBmfo8bQhtob4VKpYTNiCoqh50MeXUwRgYLyO/JxRgAAK9GSfenNrUxXDrK0DK65SWsx/GCOsRwWbfOveorOQ==", "dev": true, "requires": {} }, @@ -12039,6 +12276,149 @@ "eslint-visitor-keys": "^3.4.1" } }, + "@vue/compiler-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "dev": true, + "peer": true, + "requires": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + }, + "dependencies": { + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "peer": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "peer": true + } + } + }, + "@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "dev": true, + "peer": true, + "requires": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "dev": true, + "peer": true, + "requires": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + }, + "dependencies": { + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "peer": true + }, + "postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "dev": true, + "peer": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + } + } + } + }, + "@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "dev": true, + "peer": true, + "requires": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "@vue/reactivity": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "dev": true, + "peer": true, + "requires": { + "@vue/shared": "3.5.13" + } + }, + "@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "dev": true, + "peer": true, + "requires": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "dev": true, + "peer": true, + "requires": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "dev": true, + "peer": true, + "requires": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "dev": true, + "peer": true + }, "@zeit/schemas": { "version": "2.21.0", "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.21.0.tgz", @@ -12513,9 +12893,9 @@ "dev": true }, "chalk": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.0.tgz", - "integrity": "sha512-ZkD35Mx92acjB2yNJgziGqT9oKHEOxjTBTDRpOsRWtdecL/0jM3z5kM/CTzHWvHIen1GvkM85p6TuFfDGfc8/Q==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true }, "chalk-template": { @@ -12929,6 +13309,13 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "peer": true + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -15733,6 +16120,16 @@ "yallist": "^4.0.0" } }, + "magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "peer": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, "make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -15967,6 +16364,13 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "peer": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -16205,9 +16609,9 @@ "dev": true }, "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "picomatch": { @@ -16826,6 +17230,13 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "peer": true + }, "source-map-support": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", @@ -17281,12 +17692,6 @@ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -17546,6 +17951,20 @@ "unist-util-stringify-position": "^2.0.0" } }, + "vue": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "dev": true, + "peer": true, + "requires": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + } + }, "walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", diff --git a/core/package.json b/core/package.json index 72c96addb03..15e9d095dc4 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/core", - "version": "8.4.1", + "version": "8.4.3", "description": "Base components for Ionic", "keywords": [ "ionic", @@ -47,10 +47,10 @@ "@playwright/test": "^1.46.1", "@rollup/plugin-node-resolve": "^8.4.0", "@rollup/plugin-virtual": "^2.0.3", - "@stencil/angular-output-target": "^0.8.4", + "@stencil/angular-output-target": "^0.10.0", "@stencil/react-output-target": "0.5.3", "@stencil/sass": "^3.0.9", - "@stencil/vue-output-target": "^0.8.9", + "@stencil/vue-output-target": "^0.9.0", "@types/jest": "^29.5.6", "@types/node": "^14.6.0", "@typescript-eslint/eslint-plugin": "^6.7.2", diff --git a/lerna.json b/lerna.json index 25106cf05bc..c41d4badeac 100644 --- a/lerna.json +++ b/lerna.json @@ -3,5 +3,5 @@ "core", "packages/*" ], - "version": "8.4.1" + "version": "8.4.3" } \ No newline at end of file diff --git a/packages/angular-server/CHANGELOG.md b/packages/angular-server/CHANGELOG.md index 4bd9b065c22..8fcebba9599 100644 --- a/packages/angular-server/CHANGELOG.md +++ b/packages/angular-server/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.4.3](https://github.com/ionic-team/ionic-framework/compare/v8.4.2...v8.4.3) (2025-01-29) + +**Note:** Version bump only for package @ionic/angular-server + + + + + +## [8.4.2](https://github.com/ionic-team/ionic-framework/compare/v8.4.1...v8.4.2) (2025-01-22) + +**Note:** Version bump only for package @ionic/angular-server + + + + + ## [8.4.1](https://github.com/ionic-team/ionic-framework/compare/v8.4.0...v8.4.1) (2024-11-27) **Note:** Version bump only for package @ionic/angular-server diff --git a/packages/angular-server/package-lock.json b/packages/angular-server/package-lock.json index a7cba511c48..de23ec7ed49 100644 --- a/packages/angular-server/package-lock.json +++ b/packages/angular-server/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/angular-server", - "version": "8.4.1", + "version": "8.4.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/angular-server", - "version": "8.4.1", + "version": "8.4.3", "license": "MIT", "dependencies": { - "@ionic/core": "^8.4.1" + "@ionic/core": "^8.4.3" }, "devDependencies": { "@angular-eslint/eslint-plugin": "^16.0.0", @@ -1031,9 +1031,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "license": "MIT", "dependencies": { "@stencil/core": "4.20.0", @@ -7189,9 +7189,9 @@ "dev": true }, "@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "requires": { "@stencil/core": "4.20.0", "ionicons": "^7.2.2", diff --git a/packages/angular-server/package.json b/packages/angular-server/package.json index 277ca8aa437..840ac39dddd 100644 --- a/packages/angular-server/package.json +++ b/packages/angular-server/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/angular-server", - "version": "8.4.1", + "version": "8.4.3", "description": "Angular SSR Module for Ionic", "keywords": [ "ionic", @@ -62,6 +62,6 @@ }, "prettier": "@ionic/prettier-config", "dependencies": { - "@ionic/core": "^8.4.1" + "@ionic/core": "^8.4.3" } } diff --git a/packages/angular/CHANGELOG.md b/packages/angular/CHANGELOG.md index 4d6c522b0f7..ecf28a0408f 100644 --- a/packages/angular/CHANGELOG.md +++ b/packages/angular/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.4.3](https://github.com/ionic-team/ionic-framework/compare/v8.4.2...v8.4.3) (2025-01-29) + + +### Bug Fixes + +* **vue:** update Stencil Vue output target ([#30159](https://github.com/ionic-team/ionic-framework/issues/30159)) ([eb725fc](https://github.com/ionic-team/ionic-framework/commit/eb725fce6eb15facd8a1c21be11a1b2d46336479)) + + + + + +## [8.4.2](https://github.com/ionic-team/ionic-framework/compare/v8.4.1...v8.4.2) (2025-01-22) + +**Note:** Version bump only for package @ionic/angular + + + + + ## [8.4.1](https://github.com/ionic-team/ionic-framework/compare/v8.4.0...v8.4.1) (2024-11-27) **Note:** Version bump only for package @ionic/angular diff --git a/packages/angular/package-lock.json b/packages/angular/package-lock.json index 0cd39ba8615..262377cbdc3 100644 --- a/packages/angular/package-lock.json +++ b/packages/angular/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/angular", - "version": "8.4.1", + "version": "8.4.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/angular", - "version": "8.4.1", + "version": "8.4.3", "license": "MIT", "dependencies": { - "@ionic/core": "^8.4.1", + "@ionic/core": "^8.4.3", "ionicons": "^7.0.0", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" @@ -1398,9 +1398,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "license": "MIT", "dependencies": { "@stencil/core": "4.20.0", @@ -9821,9 +9821,9 @@ "dev": true }, "@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "requires": { "@stencil/core": "4.20.0", "ionicons": "^7.2.2", diff --git a/packages/angular/package.json b/packages/angular/package.json index 6b11db9bf62..caf0d881002 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/angular", - "version": "8.4.1", + "version": "8.4.3", "description": "Angular specific wrappers for @ionic/core", "keywords": [ "ionic", @@ -47,7 +47,7 @@ } }, "dependencies": { - "@ionic/core": "^8.4.1", + "@ionic/core": "^8.4.3", "ionicons": "^7.0.0", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" diff --git a/packages/angular/src/directives/proxies.ts b/packages/angular/src/directives/proxies.ts index 1a229dbfe03..e8af8bf7950 100644 --- a/packages/angular/src/directives/proxies.ts +++ b/packages/angular/src/directives/proxies.ts @@ -18,7 +18,7 @@ import { Components } from '@ionic/core'; inputs: ['disabled', 'mode', 'readonly', 'toggleIcon', 'toggleIconSlot', 'value'], }) export class IonAccordion { - protected el: HTMLElement; + protected el: HTMLIonAccordionElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -40,7 +40,7 @@ export declare interface IonAccordion extends Components.IonAccordion {} inputs: ['animated', 'disabled', 'expand', 'mode', 'multiple', 'readonly', 'value'], }) export class IonAccordionGroup { - protected el: HTMLElement; + protected el: HTMLIonAccordionGroupElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -73,7 +73,7 @@ This event will not emit when programmatically setting the `value` property. inputs: ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'subHeader', 'translucent', 'trigger'], }) export class IonActionSheet { - protected el: HTMLElement; + protected el: HTMLIonActionSheetElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -136,7 +136,7 @@ Shorthand for ionActionSheetDidDismiss. inputs: ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'inputs', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'subHeader', 'translucent', 'trigger'], }) export class IonAlert { - protected el: HTMLElement; + protected el: HTMLIonAlertElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -198,7 +198,7 @@ Shorthand for ionAlertDidDismiss. inputs: [], }) export class IonApp { - protected el: HTMLElement; + protected el: HTMLIonAppElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -219,7 +219,7 @@ export declare interface IonApp extends Components.IonApp {} inputs: [], }) export class IonAvatar { - protected el: HTMLElement; + protected el: HTMLIonAvatarElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -241,7 +241,7 @@ export declare interface IonAvatar extends Components.IonAvatar {} inputs: ['stopPropagation', 'tappable', 'visible'], }) export class IonBackdrop { - protected el: HTMLElement; + protected el: HTMLIonBackdropElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -269,7 +269,7 @@ export declare interface IonBackdrop extends Components.IonBackdrop { inputs: ['color', 'mode'], }) export class IonBadge { - protected el: HTMLElement; + protected el: HTMLIonBadgeElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -291,7 +291,7 @@ export declare interface IonBadge extends Components.IonBadge {} inputs: ['active', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'separator', 'target'], }) export class IonBreadcrumb { - protected el: HTMLElement; + protected el: HTMLIonBreadcrumbElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -323,7 +323,7 @@ export declare interface IonBreadcrumb extends Components.IonBreadcrumb { inputs: ['color', 'itemsAfterCollapse', 'itemsBeforeCollapse', 'maxItems', 'mode'], }) export class IonBreadcrumbs { - protected el: HTMLElement; + protected el: HTMLIonBreadcrumbsElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -353,7 +353,7 @@ export declare interface IonBreadcrumbs extends Components.IonBreadcrumbs { inputs: ['buttonType', 'color', 'disabled', 'download', 'expand', 'fill', 'form', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'shape', 'size', 'strong', 'target', 'type'], }) export class IonButton { - protected el: HTMLElement; + protected el: HTMLIonButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -385,7 +385,7 @@ export declare interface IonButton extends Components.IonButton { inputs: ['collapse'], }) export class IonButtons { - protected el: HTMLElement; + protected el: HTMLIonButtonsElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -407,7 +407,7 @@ export declare interface IonButtons extends Components.IonButtons {} inputs: ['button', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type'], }) export class IonCard { - protected el: HTMLElement; + protected el: HTMLIonCardElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -429,7 +429,7 @@ export declare interface IonCard extends Components.IonCard {} inputs: ['mode'], }) export class IonCardContent { - protected el: HTMLElement; + protected el: HTMLIonCardContentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -451,7 +451,7 @@ export declare interface IonCardContent extends Components.IonCardContent {} inputs: ['color', 'mode', 'translucent'], }) export class IonCardHeader { - protected el: HTMLElement; + protected el: HTMLIonCardHeaderElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -473,7 +473,7 @@ export declare interface IonCardHeader extends Components.IonCardHeader {} inputs: ['color', 'mode'], }) export class IonCardSubtitle { - protected el: HTMLElement; + protected el: HTMLIonCardSubtitleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -495,7 +495,7 @@ export declare interface IonCardSubtitle extends Components.IonCardSubtitle {} inputs: ['color', 'mode'], }) export class IonCardTitle { - protected el: HTMLElement; + protected el: HTMLIonCardTitleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -517,7 +517,7 @@ export declare interface IonCardTitle extends Components.IonCardTitle {} inputs: ['alignment', 'checked', 'color', 'disabled', 'indeterminate', 'justify', 'labelPlacement', 'mode', 'name', 'value'], }) export class IonCheckbox { - protected el: HTMLElement; + protected el: HTMLIonCheckboxElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -557,7 +557,7 @@ This event will not emit when programmatically setting the `checked` property. inputs: ['color', 'disabled', 'mode', 'outline'], }) export class IonChip { - protected el: HTMLElement; + protected el: HTMLIonChipElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -579,7 +579,7 @@ export declare interface IonChip extends Components.IonChip {} inputs: ['offset', 'offsetLg', 'offsetMd', 'offsetSm', 'offsetXl', 'offsetXs', 'pull', 'pullLg', 'pullMd', 'pullSm', 'pullXl', 'pullXs', 'push', 'pushLg', 'pushMd', 'pushSm', 'pushXl', 'pushXs', 'size', 'sizeLg', 'sizeMd', 'sizeSm', 'sizeXl', 'sizeXs'], }) export class IonCol { - protected el: HTMLElement; + protected el: HTMLIonColElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -602,7 +602,7 @@ export declare interface IonCol extends Components.IonCol {} inputs: ['color', 'fixedSlotPlacement', 'forceOverscroll', 'fullscreen', 'scrollEvents', 'scrollX', 'scrollY'], }) export class IonContent { - protected el: HTMLElement; + protected el: HTMLIonContentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -645,7 +645,7 @@ Set `scrollEvents` to `true` to enable. inputs: ['cancelText', 'clearText', 'color', 'dayValues', 'disabled', 'doneText', 'firstDayOfWeek', 'formatOptions', 'highlightedDates', 'hourCycle', 'hourValues', 'isDateEnabled', 'locale', 'max', 'min', 'minuteValues', 'mode', 'monthValues', 'multiple', 'name', 'preferWheel', 'presentation', 'readonly', 'showClearButton', 'showDefaultButtons', 'showDefaultTimeLabel', 'showDefaultTitle', 'size', 'titleSelectedDatesFormatter', 'value', 'yearValues'], }) export class IonDatetime { - protected el: HTMLElement; + protected el: HTMLIonDatetimeElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -689,7 +689,7 @@ This event will not emit when programmatically setting the `value` property. inputs: ['color', 'datetime', 'disabled', 'mode'], }) export class IonDatetimeButton { - protected el: HTMLElement; + protected el: HTMLIonDatetimeButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -712,7 +712,7 @@ export declare interface IonDatetimeButton extends Components.IonDatetimeButton inputs: ['activated', 'edge', 'horizontal', 'vertical'], }) export class IonFab { - protected el: HTMLElement; + protected el: HTMLIonFabElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -734,7 +734,7 @@ export declare interface IonFab extends Components.IonFab {} inputs: ['activated', 'closeIcon', 'color', 'disabled', 'download', 'href', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'show', 'size', 'target', 'translucent', 'type'], }) export class IonFabButton { - protected el: HTMLElement; + protected el: HTMLIonFabButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -766,7 +766,7 @@ export declare interface IonFabButton extends Components.IonFabButton { inputs: ['activated', 'side'], }) export class IonFabList { - protected el: HTMLElement; + protected el: HTMLIonFabListElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -788,7 +788,7 @@ export declare interface IonFabList extends Components.IonFabList {} inputs: ['collapse', 'mode', 'translucent'], }) export class IonFooter { - protected el: HTMLElement; + protected el: HTMLIonFooterElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -810,7 +810,7 @@ export declare interface IonFooter extends Components.IonFooter {} inputs: ['fixed'], }) export class IonGrid { - protected el: HTMLElement; + protected el: HTMLIonGridElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -832,7 +832,7 @@ export declare interface IonGrid extends Components.IonGrid {} inputs: ['collapse', 'mode', 'translucent'], }) export class IonHeader { - protected el: HTMLElement; + protected el: HTMLIonHeaderElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -854,7 +854,7 @@ export declare interface IonHeader extends Components.IonHeader {} inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src'], }) export class IonIcon { - protected el: HTMLElement; + protected el: HTMLIonIconElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -876,7 +876,7 @@ export declare interface IonIcon extends Components.IonIcon {} inputs: ['alt', 'src'], }) export class IonImg { - protected el: HTMLElement; + protected el: HTMLIonImgElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -913,7 +913,7 @@ export declare interface IonImg extends Components.IonImg { inputs: ['disabled', 'position', 'threshold'], }) export class IonInfiniteScroll { - protected el: HTMLElement; + protected el: HTMLIonInfiniteScrollElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -944,7 +944,7 @@ your async operation has completed. inputs: ['loadingSpinner', 'loadingText'], }) export class IonInfiniteScrollContent { - protected el: HTMLElement; + protected el: HTMLIonInfiniteScrollContentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -967,7 +967,7 @@ export declare interface IonInfiniteScrollContent extends Components.IonInfinite inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearInput', 'clearInputIcon', 'clearOnEdit', 'color', 'counter', 'counterFormatter', 'debounce', 'disabled', 'enterkeyhint', 'errorText', 'fill', 'helperText', 'inputmode', 'label', 'labelPlacement', 'max', 'maxlength', 'min', 'minlength', 'mode', 'multiple', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'shape', 'spellcheck', 'step', 'type', 'value'], }) export class IonInput { - protected el: HTMLElement; + protected el: HTMLIonInputElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1028,7 +1028,7 @@ This event will not emit when programmatically setting the `value` property. inputs: ['color', 'hideIcon', 'mode', 'showIcon'], }) export class IonInputPasswordToggle { - protected el: HTMLElement; + protected el: HTMLIonInputPasswordToggleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1050,7 +1050,7 @@ export declare interface IonInputPasswordToggle extends Components.IonInputPassw inputs: ['button', 'color', 'detail', 'detailIcon', 'disabled', 'download', 'href', 'lines', 'mode', 'rel', 'routerAnimation', 'routerDirection', 'target', 'type'], }) export class IonItem { - protected el: HTMLElement; + protected el: HTMLIonItemElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1072,7 +1072,7 @@ export declare interface IonItem extends Components.IonItem {} inputs: ['color', 'mode', 'sticky'], }) export class IonItemDivider { - protected el: HTMLElement; + protected el: HTMLIonItemDividerElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1093,7 +1093,7 @@ export declare interface IonItemDivider extends Components.IonItemDivider {} inputs: [], }) export class IonItemGroup { - protected el: HTMLElement; + protected el: HTMLIonItemGroupElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1115,7 +1115,7 @@ export declare interface IonItemGroup extends Components.IonItemGroup {} inputs: ['color', 'disabled', 'download', 'expandable', 'href', 'mode', 'rel', 'target', 'type'], }) export class IonItemOption { - protected el: HTMLElement; + protected el: HTMLIonItemOptionElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1137,7 +1137,7 @@ export declare interface IonItemOption extends Components.IonItemOption {} inputs: ['side'], }) export class IonItemOptions { - protected el: HTMLElement; + protected el: HTMLIonItemOptionsElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1166,7 +1166,7 @@ export declare interface IonItemOptions extends Components.IonItemOptions { inputs: ['disabled'], }) export class IonItemSliding { - protected el: HTMLElement; + protected el: HTMLIonItemSlidingElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1194,7 +1194,7 @@ export declare interface IonItemSliding extends Components.IonItemSliding { inputs: ['color', 'mode', 'position'], }) export class IonLabel { - protected el: HTMLElement; + protected el: HTMLIonLabelElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1217,7 +1217,7 @@ export declare interface IonLabel extends Components.IonLabel {} inputs: ['inset', 'lines', 'mode'], }) export class IonList { - protected el: HTMLElement; + protected el: HTMLIonListElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1239,7 +1239,7 @@ export declare interface IonList extends Components.IonList {} inputs: ['color', 'lines', 'mode'], }) export class IonListHeader { - protected el: HTMLElement; + protected el: HTMLIonListHeaderElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1262,7 +1262,7 @@ export declare interface IonListHeader extends Components.IonListHeader {} inputs: ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'translucent', 'trigger'], }) export class IonLoading { - protected el: HTMLElement; + protected el: HTMLIonLoadingElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1325,7 +1325,7 @@ Shorthand for ionLoadingDidDismiss. inputs: ['contentId', 'disabled', 'maxEdgeStart', 'menuId', 'side', 'swipeGesture', 'type'], }) export class IonMenu { - protected el: HTMLElement; + protected el: HTMLIonMenuElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1367,7 +1367,7 @@ export declare interface IonMenu extends Components.IonMenu { inputs: ['autoHide', 'color', 'disabled', 'menu', 'mode', 'type'], }) export class IonMenuButton { - protected el: HTMLElement; + protected el: HTMLIonMenuButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1389,7 +1389,7 @@ export declare interface IonMenuButton extends Components.IonMenuButton {} inputs: ['autoHide', 'menu'], }) export class IonMenuToggle { - protected el: HTMLElement; + protected el: HTMLIonMenuToggleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1411,7 +1411,7 @@ export declare interface IonMenuToggle extends Components.IonMenuToggle {} inputs: ['component', 'componentProps', 'routerAnimation', 'routerDirection'], }) export class IonNavLink { - protected el: HTMLElement; + protected el: HTMLIonNavLinkElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1433,7 +1433,7 @@ export declare interface IonNavLink extends Components.IonNavLink {} inputs: ['color', 'mode'], }) export class IonNote { - protected el: HTMLElement; + protected el: HTMLIonNoteElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1455,7 +1455,7 @@ export declare interface IonNote extends Components.IonNote {} inputs: ['mode'], }) export class IonPicker { - protected el: HTMLElement; + protected el: HTMLIonPickerElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1478,7 +1478,7 @@ export declare interface IonPicker extends Components.IonPicker {} inputs: ['color', 'disabled', 'mode', 'value'], }) export class IonPickerColumn { - protected el: HTMLElement; + protected el: HTMLIonPickerColumnElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1510,7 +1510,7 @@ This event will not emit when programmatically setting the `value` property. inputs: ['color', 'disabled', 'value'], }) export class IonPickerColumnOption { - protected el: HTMLElement; + protected el: HTMLIonPickerColumnOptionElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1533,7 +1533,7 @@ export declare interface IonPickerColumnOption extends Components.IonPickerColum inputs: ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'trigger'], }) export class IonPickerLegacy { - protected el: HTMLElement; + protected el: HTMLIonPickerLegacyElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1595,7 +1595,7 @@ Shorthand for ionPickerDidDismiss. inputs: ['buffer', 'color', 'mode', 'reversed', 'type', 'value'], }) export class IonProgressBar { - protected el: HTMLElement; + protected el: HTMLIonProgressBarElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1617,7 +1617,7 @@ export declare interface IonProgressBar extends Components.IonProgressBar {} inputs: ['alignment', 'color', 'disabled', 'justify', 'labelPlacement', 'mode', 'name', 'value'], }) export class IonRadio { - protected el: HTMLElement; + protected el: HTMLIonRadioElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1649,7 +1649,7 @@ export declare interface IonRadio extends Components.IonRadio { inputs: ['allowEmptySelection', 'compareWith', 'name', 'value'], }) export class IonRadioGroup { - protected el: HTMLElement; + protected el: HTMLIonRadioGroupElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1681,7 +1681,7 @@ This event will not emit when programmatically setting the `value` property. inputs: ['activeBarStart', 'color', 'debounce', 'disabled', 'dualKnobs', 'label', 'labelPlacement', 'max', 'min', 'mode', 'name', 'pin', 'pinFormatter', 'snaps', 'step', 'ticks', 'value'], }) export class IonRange { - protected el: HTMLElement; + protected el: HTMLIonRangeElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1743,7 +1743,7 @@ mouse drag, touch gesture, or keyboard interaction. inputs: ['closeDuration', 'disabled', 'mode', 'pullFactor', 'pullMax', 'pullMin', 'snapbackDuration'], }) export class IonRefresher { - protected el: HTMLElement; + protected el: HTMLIonRefresherElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1784,7 +1784,7 @@ called when the async operation has completed. inputs: ['pullingIcon', 'pullingText', 'refreshingSpinner', 'refreshingText'], }) export class IonRefresherContent { - protected el: HTMLElement; + protected el: HTMLIonRefresherContentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1805,7 +1805,7 @@ export declare interface IonRefresherContent extends Components.IonRefresherCont inputs: [], }) export class IonReorder { - protected el: HTMLElement; + protected el: HTMLIonReorderElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1828,7 +1828,7 @@ export declare interface IonReorder extends Components.IonReorder {} inputs: ['disabled'], }) export class IonReorderGroup { - protected el: HTMLElement; + protected el: HTMLIonReorderGroupElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1861,7 +1861,7 @@ to be called in order to finalize the reorder action. inputs: ['type'], }) export class IonRippleEffect { - protected el: HTMLElement; + protected el: HTMLIonRippleEffectElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1882,7 +1882,7 @@ export declare interface IonRippleEffect extends Components.IonRippleEffect {} inputs: [], }) export class IonRow { - protected el: HTMLElement; + protected el: HTMLIonRowElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1905,7 +1905,7 @@ export declare interface IonRow extends Components.IonRow {} inputs: ['animated', 'autocapitalize', 'autocomplete', 'autocorrect', 'cancelButtonIcon', 'cancelButtonText', 'clearIcon', 'color', 'debounce', 'disabled', 'enterkeyhint', 'inputmode', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'searchIcon', 'showCancelButton', 'showClearButton', 'spellcheck', 'type', 'value'], }) export class IonSearchbar { - protected el: HTMLElement; + protected el: HTMLIonSearchbarElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1965,7 +1965,7 @@ This event will not emit when programmatically setting the `value` property. inputs: ['color', 'disabled', 'mode', 'scrollable', 'selectOnFocus', 'swipeGesture', 'value'], }) export class IonSegment { - protected el: HTMLElement; + protected el: HTMLIonSegmentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1997,7 +1997,7 @@ This event will not emit when programmatically setting the `value` property. inputs: ['contentId', 'disabled', 'layout', 'mode', 'type', 'value'], }) export class IonSegmentButton { - protected el: HTMLElement; + protected el: HTMLIonSegmentButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2018,7 +2018,7 @@ export declare interface IonSegmentButton extends Components.IonSegmentButton {} inputs: [], }) export class IonSegmentContent { - protected el: HTMLElement; + protected el: HTMLIonSegmentContentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2040,7 +2040,7 @@ export declare interface IonSegmentContent extends Components.IonSegmentContent inputs: ['disabled'], }) export class IonSegmentView { - protected el: HTMLElement; + protected el: HTMLIonSegmentViewElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2071,7 +2071,7 @@ export declare interface IonSegmentView extends Components.IonSegmentView { inputs: ['cancelText', 'color', 'compareWith', 'disabled', 'expandedIcon', 'fill', 'interface', 'interfaceOptions', 'justify', 'label', 'labelPlacement', 'mode', 'multiple', 'name', 'okText', 'placeholder', 'selectedText', 'shape', 'toggleIcon', 'value'], }) export class IonSelect { - protected el: HTMLElement; + protected el: HTMLIonSelectElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2119,7 +2119,7 @@ This event will not emit when programmatically setting the `value` property. inputs: ['header', 'multiple', 'options'], }) export class IonSelectModal { - protected el: HTMLElement; + protected el: HTMLIonSelectModalElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2141,7 +2141,7 @@ export declare interface IonSelectModal extends Components.IonSelectModal {} inputs: ['disabled', 'value'], }) export class IonSelectOption { - protected el: HTMLElement; + protected el: HTMLIonSelectOptionElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2163,7 +2163,7 @@ export declare interface IonSelectOption extends Components.IonSelectOption {} inputs: ['animated'], }) export class IonSkeletonText { - protected el: HTMLElement; + protected el: HTMLIonSkeletonTextElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2185,7 +2185,7 @@ export declare interface IonSkeletonText extends Components.IonSkeletonText {} inputs: ['color', 'duration', 'name', 'paused'], }) export class IonSpinner { - protected el: HTMLElement; + protected el: HTMLIonSpinnerElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2207,7 +2207,7 @@ export declare interface IonSpinner extends Components.IonSpinner {} inputs: ['contentId', 'disabled', 'when'], }) export class IonSplitPane { - protected el: HTMLElement; + protected el: HTMLIonSplitPaneElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2236,7 +2236,7 @@ export declare interface IonSplitPane extends Components.IonSplitPane { inputs: ['component', 'tab'], }) export class IonTab { - protected el: HTMLElement; + protected el: HTMLIonTabElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2258,7 +2258,7 @@ export declare interface IonTab extends Components.IonTab {} inputs: ['color', 'mode', 'selectedTab', 'translucent'], }) export class IonTabBar { - protected el: HTMLElement; + protected el: HTMLIonTabBarElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2280,7 +2280,7 @@ export declare interface IonTabBar extends Components.IonTabBar {} inputs: ['disabled', 'download', 'href', 'layout', 'mode', 'rel', 'selected', 'tab', 'target'], }) export class IonTabButton { - protected el: HTMLElement; + protected el: HTMLIonTabButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2302,7 +2302,7 @@ export declare interface IonTabButton extends Components.IonTabButton {} inputs: ['color', 'mode'], }) export class IonText { - protected el: HTMLElement; + protected el: HTMLIonTextElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2325,7 +2325,7 @@ export declare interface IonText extends Components.IonText {} inputs: ['autoGrow', 'autocapitalize', 'autofocus', 'clearOnEdit', 'color', 'cols', 'counter', 'counterFormatter', 'debounce', 'disabled', 'enterkeyhint', 'errorText', 'fill', 'helperText', 'inputmode', 'label', 'labelPlacement', 'maxlength', 'minlength', 'mode', 'name', 'placeholder', 'readonly', 'required', 'rows', 'shape', 'spellcheck', 'value', 'wrap'], }) export class IonTextarea { - protected el: HTMLElement; + protected el: HTMLIonTextareaElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2376,7 +2376,7 @@ the user clears the textarea by performing a keydown event. inputs: [], }) export class IonThumbnail { - protected el: HTMLElement; + protected el: HTMLIonThumbnailElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2398,7 +2398,7 @@ export declare interface IonThumbnail extends Components.IonThumbnail {} inputs: ['color', 'size'], }) export class IonTitle { - protected el: HTMLElement; + protected el: HTMLIonTitleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2421,7 +2421,7 @@ export declare interface IonTitle extends Components.IonTitle {} inputs: ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'swipeGesture', 'translucent', 'trigger'], }) export class IonToast { - protected el: HTMLElement; + protected el: HTMLIonToastElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2483,7 +2483,7 @@ Shorthand for ionToastDidDismiss. inputs: ['alignment', 'checked', 'color', 'disabled', 'enableOnOffLabels', 'errorText', 'helperText', 'justify', 'labelPlacement', 'mode', 'name', 'value'], }) export class IonToggle { - protected el: HTMLElement; + protected el: HTMLIonToggleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2523,7 +2523,7 @@ This event will not emit when programmatically setting the `checked` property. inputs: ['color', 'mode'], }) export class IonToolbar { - protected el: HTMLElement; + protected el: HTMLIonToolbarElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; diff --git a/packages/angular/standalone/src/directives/proxies.ts b/packages/angular/standalone/src/directives/proxies.ts index a30385ead5c..c7d111f7bef 100644 --- a/packages/angular/standalone/src/directives/proxies.ts +++ b/packages/angular/standalone/src/directives/proxies.ts @@ -93,7 +93,7 @@ import { defineCustomElement as defineIonToolbar } from '@ionic/core/components/ standalone: true }) export class IonAccordion { - protected el: HTMLElement; + protected el: HTMLIonAccordionElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -117,7 +117,7 @@ export declare interface IonAccordion extends Components.IonAccordion {} standalone: true }) export class IonAccordionGroup { - protected el: HTMLElement; + protected el: HTMLIonAccordionGroupElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -152,7 +152,7 @@ This event will not emit when programmatically setting the `value` property. standalone: true }) export class IonActionSheet { - protected el: HTMLElement; + protected el: HTMLIonActionSheetElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -217,7 +217,7 @@ Shorthand for ionActionSheetDidDismiss. standalone: true }) export class IonAlert { - protected el: HTMLElement; + protected el: HTMLIonAlertElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -281,7 +281,7 @@ Shorthand for ionAlertDidDismiss. standalone: true }) export class IonApp { - protected el: HTMLElement; + protected el: HTMLIonAppElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -304,7 +304,7 @@ export declare interface IonApp extends Components.IonApp {} standalone: true }) export class IonAvatar { - protected el: HTMLElement; + protected el: HTMLIonAvatarElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -328,7 +328,7 @@ export declare interface IonAvatar extends Components.IonAvatar {} standalone: true }) export class IonBackdrop { - protected el: HTMLElement; + protected el: HTMLIonBackdropElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -358,7 +358,7 @@ export declare interface IonBackdrop extends Components.IonBackdrop { standalone: true }) export class IonBadge { - protected el: HTMLElement; + protected el: HTMLIonBadgeElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -382,7 +382,7 @@ export declare interface IonBadge extends Components.IonBadge {} standalone: true }) export class IonBreadcrumb { - protected el: HTMLElement; + protected el: HTMLIonBreadcrumbElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -416,7 +416,7 @@ export declare interface IonBreadcrumb extends Components.IonBreadcrumb { standalone: true }) export class IonBreadcrumbs { - protected el: HTMLElement; + protected el: HTMLIonBreadcrumbsElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -448,7 +448,7 @@ export declare interface IonBreadcrumbs extends Components.IonBreadcrumbs { standalone: true }) export class IonButton { - protected el: HTMLElement; + protected el: HTMLIonButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -482,7 +482,7 @@ export declare interface IonButton extends Components.IonButton { standalone: true }) export class IonButtons { - protected el: HTMLElement; + protected el: HTMLIonButtonsElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -506,7 +506,7 @@ export declare interface IonButtons extends Components.IonButtons {} standalone: true }) export class IonCard { - protected el: HTMLElement; + protected el: HTMLIonCardElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -530,7 +530,7 @@ export declare interface IonCard extends Components.IonCard {} standalone: true }) export class IonCardContent { - protected el: HTMLElement; + protected el: HTMLIonCardContentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -554,7 +554,7 @@ export declare interface IonCardContent extends Components.IonCardContent {} standalone: true }) export class IonCardHeader { - protected el: HTMLElement; + protected el: HTMLIonCardHeaderElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -578,7 +578,7 @@ export declare interface IonCardHeader extends Components.IonCardHeader {} standalone: true }) export class IonCardSubtitle { - protected el: HTMLElement; + protected el: HTMLIonCardSubtitleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -602,7 +602,7 @@ export declare interface IonCardSubtitle extends Components.IonCardSubtitle {} standalone: true }) export class IonCardTitle { - protected el: HTMLElement; + protected el: HTMLIonCardTitleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -626,7 +626,7 @@ export declare interface IonCardTitle extends Components.IonCardTitle {} standalone: true }) export class IonChip { - protected el: HTMLElement; + protected el: HTMLIonChipElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -650,7 +650,7 @@ export declare interface IonChip extends Components.IonChip {} standalone: true }) export class IonCol { - protected el: HTMLElement; + protected el: HTMLIonColElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -675,7 +675,7 @@ export declare interface IonCol extends Components.IonCol {} standalone: true }) export class IonContent { - protected el: HTMLElement; + protected el: HTMLIonContentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -719,7 +719,7 @@ Set `scrollEvents` to `true` to enable. standalone: true }) export class IonDatetimeButton { - protected el: HTMLElement; + protected el: HTMLIonDatetimeButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -744,7 +744,7 @@ export declare interface IonDatetimeButton extends Components.IonDatetimeButton standalone: true }) export class IonFab { - protected el: HTMLElement; + protected el: HTMLIonFabElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -768,7 +768,7 @@ export declare interface IonFab extends Components.IonFab {} standalone: true }) export class IonFabButton { - protected el: HTMLElement; + protected el: HTMLIonFabButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -802,7 +802,7 @@ export declare interface IonFabButton extends Components.IonFabButton { standalone: true }) export class IonFabList { - protected el: HTMLElement; + protected el: HTMLIonFabListElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -826,7 +826,7 @@ export declare interface IonFabList extends Components.IonFabList {} standalone: true }) export class IonFooter { - protected el: HTMLElement; + protected el: HTMLIonFooterElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -850,7 +850,7 @@ export declare interface IonFooter extends Components.IonFooter {} standalone: true }) export class IonGrid { - protected el: HTMLElement; + protected el: HTMLIonGridElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -874,7 +874,7 @@ export declare interface IonGrid extends Components.IonGrid {} standalone: true }) export class IonHeader { - protected el: HTMLElement; + protected el: HTMLIonHeaderElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -898,7 +898,7 @@ export declare interface IonHeader extends Components.IonHeader {} standalone: true }) export class IonImg { - protected el: HTMLElement; + protected el: HTMLIonImgElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -937,7 +937,7 @@ export declare interface IonImg extends Components.IonImg { standalone: true }) export class IonInfiniteScroll { - protected el: HTMLElement; + protected el: HTMLIonInfiniteScrollElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -970,7 +970,7 @@ your async operation has completed. standalone: true }) export class IonInfiniteScrollContent { - protected el: HTMLElement; + protected el: HTMLIonInfiniteScrollContentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -994,7 +994,7 @@ export declare interface IonInfiniteScrollContent extends Components.IonInfinite standalone: true }) export class IonInputPasswordToggle { - protected el: HTMLElement; + protected el: HTMLIonInputPasswordToggleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1018,7 +1018,7 @@ export declare interface IonInputPasswordToggle extends Components.IonInputPassw standalone: true }) export class IonItem { - protected el: HTMLElement; + protected el: HTMLIonItemElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1042,7 +1042,7 @@ export declare interface IonItem extends Components.IonItem {} standalone: true }) export class IonItemDivider { - protected el: HTMLElement; + protected el: HTMLIonItemDividerElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1065,7 +1065,7 @@ export declare interface IonItemDivider extends Components.IonItemDivider {} standalone: true }) export class IonItemGroup { - protected el: HTMLElement; + protected el: HTMLIonItemGroupElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1089,7 +1089,7 @@ export declare interface IonItemGroup extends Components.IonItemGroup {} standalone: true }) export class IonItemOption { - protected el: HTMLElement; + protected el: HTMLIonItemOptionElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1113,7 +1113,7 @@ export declare interface IonItemOption extends Components.IonItemOption {} standalone: true }) export class IonItemOptions { - protected el: HTMLElement; + protected el: HTMLIonItemOptionsElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1144,7 +1144,7 @@ export declare interface IonItemOptions extends Components.IonItemOptions { standalone: true }) export class IonItemSliding { - protected el: HTMLElement; + protected el: HTMLIonItemSlidingElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1174,7 +1174,7 @@ export declare interface IonItemSliding extends Components.IonItemSliding { standalone: true }) export class IonLabel { - protected el: HTMLElement; + protected el: HTMLIonLabelElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1199,7 +1199,7 @@ export declare interface IonLabel extends Components.IonLabel {} standalone: true }) export class IonList { - protected el: HTMLElement; + protected el: HTMLIonListElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1223,7 +1223,7 @@ export declare interface IonList extends Components.IonList {} standalone: true }) export class IonListHeader { - protected el: HTMLElement; + protected el: HTMLIonListHeaderElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1248,7 +1248,7 @@ export declare interface IonListHeader extends Components.IonListHeader {} standalone: true }) export class IonLoading { - protected el: HTMLElement; + protected el: HTMLIonLoadingElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1313,7 +1313,7 @@ Shorthand for ionLoadingDidDismiss. standalone: true }) export class IonMenu { - protected el: HTMLElement; + protected el: HTMLIonMenuElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1357,7 +1357,7 @@ export declare interface IonMenu extends Components.IonMenu { standalone: true }) export class IonMenuButton { - protected el: HTMLElement; + protected el: HTMLIonMenuButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1381,7 +1381,7 @@ export declare interface IonMenuButton extends Components.IonMenuButton {} standalone: true }) export class IonMenuToggle { - protected el: HTMLElement; + protected el: HTMLIonMenuToggleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1405,7 +1405,7 @@ export declare interface IonMenuToggle extends Components.IonMenuToggle {} standalone: true }) export class IonNavLink { - protected el: HTMLElement; + protected el: HTMLIonNavLinkElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1429,7 +1429,7 @@ export declare interface IonNavLink extends Components.IonNavLink {} standalone: true }) export class IonNote { - protected el: HTMLElement; + protected el: HTMLIonNoteElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1453,7 +1453,7 @@ export declare interface IonNote extends Components.IonNote {} standalone: true }) export class IonPicker { - protected el: HTMLElement; + protected el: HTMLIonPickerElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1478,7 +1478,7 @@ export declare interface IonPicker extends Components.IonPicker {} standalone: true }) export class IonPickerColumn { - protected el: HTMLElement; + protected el: HTMLIonPickerColumnElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1512,7 +1512,7 @@ This event will not emit when programmatically setting the `value` property. standalone: true }) export class IonPickerColumnOption { - protected el: HTMLElement; + protected el: HTMLIonPickerColumnOptionElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1537,7 +1537,7 @@ export declare interface IonPickerColumnOption extends Components.IonPickerColum standalone: true }) export class IonPickerLegacy { - protected el: HTMLElement; + protected el: HTMLIonPickerLegacyElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1601,7 +1601,7 @@ Shorthand for ionPickerDidDismiss. standalone: true }) export class IonProgressBar { - protected el: HTMLElement; + protected el: HTMLIonProgressBarElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1625,7 +1625,7 @@ export declare interface IonProgressBar extends Components.IonProgressBar {} standalone: true }) export class IonRadio { - protected el: HTMLElement; + protected el: HTMLIonRadioElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1660,7 +1660,7 @@ export declare interface IonRadio extends Components.IonRadio { standalone: true }) export class IonRefresher { - protected el: HTMLElement; + protected el: HTMLIonRefresherElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1703,7 +1703,7 @@ called when the async operation has completed. standalone: true }) export class IonRefresherContent { - protected el: HTMLElement; + protected el: HTMLIonRefresherContentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1726,7 +1726,7 @@ export declare interface IonRefresherContent extends Components.IonRefresherCont standalone: true }) export class IonReorder { - protected el: HTMLElement; + protected el: HTMLIonReorderElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1751,7 +1751,7 @@ export declare interface IonReorder extends Components.IonReorder {} standalone: true }) export class IonReorderGroup { - protected el: HTMLElement; + protected el: HTMLIonReorderGroupElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1786,7 +1786,7 @@ to be called in order to finalize the reorder action. standalone: true }) export class IonRippleEffect { - protected el: HTMLElement; + protected el: HTMLIonRippleEffectElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1809,7 +1809,7 @@ export declare interface IonRippleEffect extends Components.IonRippleEffect {} standalone: true }) export class IonRow { - protected el: HTMLElement; + protected el: HTMLIonRowElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1833,7 +1833,7 @@ export declare interface IonRow extends Components.IonRow {} standalone: true }) export class IonSegmentButton { - protected el: HTMLElement; + protected el: HTMLIonSegmentButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1856,7 +1856,7 @@ export declare interface IonSegmentButton extends Components.IonSegmentButton {} standalone: true }) export class IonSegmentContent { - protected el: HTMLElement; + protected el: HTMLIonSegmentContentElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1880,7 +1880,7 @@ export declare interface IonSegmentContent extends Components.IonSegmentContent standalone: true }) export class IonSegmentView { - protected el: HTMLElement; + protected el: HTMLIonSegmentViewElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1912,7 +1912,7 @@ export declare interface IonSegmentView extends Components.IonSegmentView { standalone: true }) export class IonSelectModal { - protected el: HTMLElement; + protected el: HTMLIonSelectModalElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1936,7 +1936,7 @@ export declare interface IonSelectModal extends Components.IonSelectModal {} standalone: true }) export class IonSelectOption { - protected el: HTMLElement; + protected el: HTMLIonSelectOptionElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1960,7 +1960,7 @@ export declare interface IonSelectOption extends Components.IonSelectOption {} standalone: true }) export class IonSkeletonText { - protected el: HTMLElement; + protected el: HTMLIonSkeletonTextElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -1984,7 +1984,7 @@ export declare interface IonSkeletonText extends Components.IonSkeletonText {} standalone: true }) export class IonSpinner { - protected el: HTMLElement; + protected el: HTMLIonSpinnerElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2008,7 +2008,7 @@ export declare interface IonSpinner extends Components.IonSpinner {} standalone: true }) export class IonSplitPane { - protected el: HTMLElement; + protected el: HTMLIonSplitPaneElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2039,7 +2039,7 @@ export declare interface IonSplitPane extends Components.IonSplitPane { standalone: true }) export class IonTab { - protected el: HTMLElement; + protected el: HTMLIonTabElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2063,7 +2063,7 @@ export declare interface IonTab extends Components.IonTab {} standalone: true }) export class IonTabBar { - protected el: HTMLElement; + protected el: HTMLIonTabBarElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2087,7 +2087,7 @@ export declare interface IonTabBar extends Components.IonTabBar {} standalone: true }) export class IonTabButton { - protected el: HTMLElement; + protected el: HTMLIonTabButtonElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2111,7 +2111,7 @@ export declare interface IonTabButton extends Components.IonTabButton {} standalone: true }) export class IonText { - protected el: HTMLElement; + protected el: HTMLIonTextElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2134,7 +2134,7 @@ export declare interface IonText extends Components.IonText {} standalone: true }) export class IonThumbnail { - protected el: HTMLElement; + protected el: HTMLIonThumbnailElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2158,7 +2158,7 @@ export declare interface IonThumbnail extends Components.IonThumbnail {} standalone: true }) export class IonTitle { - protected el: HTMLElement; + protected el: HTMLIonTitleElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2183,7 +2183,7 @@ export declare interface IonTitle extends Components.IonTitle {} standalone: true }) export class IonToast { - protected el: HTMLElement; + protected el: HTMLIonToastElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; @@ -2247,7 +2247,7 @@ Shorthand for ionToastDidDismiss. standalone: true }) export class IonToolbar { - protected el: HTMLElement; + protected el: HTMLIonToolbarElement; constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) { c.detach(); this.el = r.nativeElement; diff --git a/packages/docs/CHANGELOG.md b/packages/docs/CHANGELOG.md index c55c8ff4715..39847fdaec1 100644 --- a/packages/docs/CHANGELOG.md +++ b/packages/docs/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.4.3](https://github.com/ionic-team/ionic-framework/compare/v8.4.2...v8.4.3) (2025-01-29) + +**Note:** Version bump only for package @ionic/docs + + + + + +## [8.4.2](https://github.com/ionic-team/ionic-framework/compare/v8.4.1...v8.4.2) (2025-01-22) + +**Note:** Version bump only for package @ionic/docs + + + + + ## [8.4.1](https://github.com/ionic-team/ionic-framework/compare/v8.4.0...v8.4.1) (2024-11-27) **Note:** Version bump only for package @ionic/docs diff --git a/packages/docs/package-lock.json b/packages/docs/package-lock.json index 23673b495d7..60651ae476e 100644 --- a/packages/docs/package-lock.json +++ b/packages/docs/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ionic/docs", - "version": "8.4.1", + "version": "8.4.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/docs", - "version": "8.4.1", + "version": "8.4.3", "license": "MIT" } } diff --git a/packages/docs/package.json b/packages/docs/package.json index 62ce152ba62..9380e5be461 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/docs", - "version": "8.4.1", + "version": "8.4.3", "description": "Pre-packaged API documentation for the Ionic docs.", "main": "core.json", "types": "core.d.ts", diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index 686c6fc9249..e5c50014419 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.4.3](https://github.com/ionic-team/ionic-framework/compare/v8.4.2...v8.4.3) (2025-01-29) + +**Note:** Version bump only for package @ionic/react-router + + + + + +## [8.4.2](https://github.com/ionic-team/ionic-framework/compare/v8.4.1...v8.4.2) (2025-01-22) + +**Note:** Version bump only for package @ionic/react-router + + + + + ## [8.4.1](https://github.com/ionic-team/ionic-framework/compare/v8.4.0...v8.4.1) (2024-11-27) **Note:** Version bump only for package @ionic/react-router diff --git a/packages/react-router/package-lock.json b/packages/react-router/package-lock.json index 7f96b76fd03..4a9140f09aa 100644 --- a/packages/react-router/package-lock.json +++ b/packages/react-router/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/react-router", - "version": "8.4.1", + "version": "8.4.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/react-router", - "version": "8.4.1", + "version": "8.4.3", "license": "MIT", "dependencies": { - "@ionic/react": "^8.4.1", + "@ionic/react": "^8.4.3", "tslib": "*" }, "devDependencies": { @@ -238,9 +238,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "license": "MIT", "dependencies": { "@stencil/core": "4.20.0", @@ -415,12 +415,12 @@ } }, "node_modules/@ionic/react": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-8.4.1.tgz", - "integrity": "sha512-QGxcNilIAMWylgKFQuojESDm7T5aRopKDqsH7c0mdRZPMA5o5i9ErnjBfhZgG7ABuyZ7m+T3TWHqzE/umX43ng==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-8.4.3.tgz", + "integrity": "sha512-AqwmoRCjTDBIgmywE6VnOOacOry21ma6TWMS8Dg8ZGu41rT6edDSmX/lKvAAV+jg4TkjE/U5n//OxzHBY/0+Zg==", "license": "MIT", "dependencies": { - "@ionic/core": "8.4.1", + "@ionic/core": "8.4.3", "ionicons": "^7.0.0", "tslib": "*" }, @@ -4061,9 +4061,9 @@ "dev": true }, "@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "requires": { "@stencil/core": "4.20.0", "ionicons": "^7.2.2", @@ -4167,11 +4167,11 @@ "requires": {} }, "@ionic/react": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-8.4.1.tgz", - "integrity": "sha512-QGxcNilIAMWylgKFQuojESDm7T5aRopKDqsH7c0mdRZPMA5o5i9ErnjBfhZgG7ABuyZ7m+T3TWHqzE/umX43ng==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-8.4.3.tgz", + "integrity": "sha512-AqwmoRCjTDBIgmywE6VnOOacOry21ma6TWMS8Dg8ZGu41rT6edDSmX/lKvAAV+jg4TkjE/U5n//OxzHBY/0+Zg==", "requires": { - "@ionic/core": "8.4.1", + "@ionic/core": "8.4.3", "ionicons": "^7.0.0", "tslib": "*" } diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 5d3161028ad..bba6d3b8877 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/react-router", - "version": "8.4.1", + "version": "8.4.3", "description": "React Router wrapper for @ionic/react", "keywords": [ "ionic", @@ -36,7 +36,7 @@ "dist/" ], "dependencies": { - "@ionic/react": "^8.4.1", + "@ionic/react": "^8.4.3", "tslib": "*" }, "peerDependencies": { diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 504b70db8cf..923311ee395 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.4.3](https://github.com/ionic-team/ionic-framework/compare/v8.4.2...v8.4.3) (2025-01-29) + +**Note:** Version bump only for package @ionic/react + + + + + +## [8.4.2](https://github.com/ionic-team/ionic-framework/compare/v8.4.1...v8.4.2) (2025-01-22) + +**Note:** Version bump only for package @ionic/react + + + + + ## [8.4.1](https://github.com/ionic-team/ionic-framework/compare/v8.4.0...v8.4.1) (2024-11-27) **Note:** Version bump only for package @ionic/react diff --git a/packages/react/package-lock.json b/packages/react/package-lock.json index f86e75d9805..764b474e23e 100644 --- a/packages/react/package-lock.json +++ b/packages/react/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/react", - "version": "8.4.1", + "version": "8.4.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/react", - "version": "8.4.1", + "version": "8.4.3", "license": "MIT", "dependencies": { - "@ionic/core": "^8.4.1", + "@ionic/core": "^8.4.3", "ionicons": "^7.0.0", "tslib": "*" }, @@ -736,9 +736,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "license": "MIT", "dependencies": { "@stencil/core": "4.20.0", @@ -12316,9 +12316,9 @@ "dev": true }, "@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "requires": { "@stencil/core": "4.20.0", "ionicons": "^7.2.2", diff --git a/packages/react/package.json b/packages/react/package.json index 152e60b797a..c2f96852035 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/react", - "version": "8.4.1", + "version": "8.4.3", "description": "React specific wrapper for @ionic/core", "keywords": [ "ionic", @@ -39,7 +39,7 @@ "css/" ], "dependencies": { - "@ionic/core": "^8.4.1", + "@ionic/core": "^8.4.3", "ionicons": "^7.0.0", "tslib": "*" }, diff --git a/packages/vue-router/CHANGELOG.md b/packages/vue-router/CHANGELOG.md index b698ac96fbb..2776428865d 100644 --- a/packages/vue-router/CHANGELOG.md +++ b/packages/vue-router/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.4.3](https://github.com/ionic-team/ionic-framework/compare/v8.4.2...v8.4.3) (2025-01-29) + +**Note:** Version bump only for package @ionic/vue-router + + + + + +## [8.4.2](https://github.com/ionic-team/ionic-framework/compare/v8.4.1...v8.4.2) (2025-01-22) + +**Note:** Version bump only for package @ionic/vue-router + + + + + ## [8.4.1](https://github.com/ionic-team/ionic-framework/compare/v8.4.0...v8.4.1) (2024-11-27) **Note:** Version bump only for package @ionic/vue-router diff --git a/packages/vue-router/package-lock.json b/packages/vue-router/package-lock.json index 75f1604ac69..1cf875dcea7 100644 --- a/packages/vue-router/package-lock.json +++ b/packages/vue-router/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/vue-router", - "version": "8.4.1", + "version": "8.4.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/vue-router", - "version": "8.4.1", + "version": "8.4.3", "license": "MIT", "dependencies": { - "@ionic/vue": "^8.4.1" + "@ionic/vue": "^8.4.3" }, "devDependencies": { "@ionic/eslint-config": "^0.3.0", @@ -661,9 +661,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "license": "MIT", "dependencies": { "@stencil/core": "4.20.0", @@ -853,12 +853,12 @@ } }, "node_modules/@ionic/vue": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.4.1.tgz", - "integrity": "sha512-L2IyyK/74saLuRoyTHGsRDywe7ehQol2d8X5KJgEhajt2i0A1zZaqIxfJJra4k9a+ZwNVASotMbRGURK9RqCZA==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.4.3.tgz", + "integrity": "sha512-jg4zDRfSrk3jSx3jvYf618Nf4pwTngB2viNihsOcXd2o04JvNHytouEQ7zES40/u9+tctRd0Db98nRyDOqwrCw==", "license": "MIT", "dependencies": { - "@ionic/core": "8.4.1", + "@ionic/core": "8.4.3", "ionicons": "^7.0.0" } }, @@ -7882,9 +7882,9 @@ "dev": true }, "@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "requires": { "@stencil/core": "4.20.0", "ionicons": "^7.2.2", @@ -7997,11 +7997,11 @@ "requires": {} }, "@ionic/vue": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.4.1.tgz", - "integrity": "sha512-L2IyyK/74saLuRoyTHGsRDywe7ehQol2d8X5KJgEhajt2i0A1zZaqIxfJJra4k9a+ZwNVASotMbRGURK9RqCZA==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.4.3.tgz", + "integrity": "sha512-jg4zDRfSrk3jSx3jvYf618Nf4pwTngB2viNihsOcXd2o04JvNHytouEQ7zES40/u9+tctRd0Db98nRyDOqwrCw==", "requires": { - "@ionic/core": "8.4.1", + "@ionic/core": "8.4.3", "ionicons": "^7.0.0" } }, diff --git a/packages/vue-router/package.json b/packages/vue-router/package.json index c284dd4e573..2a59ceb4e67 100644 --- a/packages/vue-router/package.json +++ b/packages/vue-router/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/vue-router", - "version": "8.4.1", + "version": "8.4.3", "description": "Vue Router integration for @ionic/vue", "scripts": { "test.spec": "jest", @@ -44,7 +44,7 @@ }, "homepage": "https://github.com/ionic-team/ionic-framework#readme", "dependencies": { - "@ionic/vue": "^8.4.1" + "@ionic/vue": "^8.4.3" }, "devDependencies": { "@ionic/eslint-config": "^0.3.0", diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index a14b2411a20..95bab4b0cd9 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [8.4.3](https://github.com/ionic-team/ionic-framework/compare/v8.4.2...v8.4.3) (2025-01-29) + + +### Bug Fixes + +* **vue:** update Stencil Vue output target ([#30159](https://github.com/ionic-team/ionic-framework/issues/30159)) ([eb725fc](https://github.com/ionic-team/ionic-framework/commit/eb725fce6eb15facd8a1c21be11a1b2d46336479)) + + + + + +## [8.4.2](https://github.com/ionic-team/ionic-framework/compare/v8.4.1...v8.4.2) (2025-01-22) + +**Note:** Version bump only for package @ionic/vue + + + + + ## [8.4.1](https://github.com/ionic-team/ionic-framework/compare/v8.4.0...v8.4.1) (2024-11-27) **Note:** Version bump only for package @ionic/vue diff --git a/packages/vue/package-lock.json b/packages/vue/package-lock.json index 6198cf6d87b..95e52a16061 100644 --- a/packages/vue/package-lock.json +++ b/packages/vue/package-lock.json @@ -1,22 +1,24 @@ { "name": "@ionic/vue", - "version": "8.4.1", + "version": "8.4.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/vue", - "version": "8.4.1", + "version": "8.4.3", "license": "MIT", "dependencies": { - "@ionic/core": "^8.4.1", + "@ionic/core": "^8.4.3", "ionicons": "^7.0.0" }, "devDependencies": { "@babel/types": "^7.18.4", "@ionic/eslint-config": "^0.3.0", "@ionic/prettier-config": "^2.0.0", + "@rollup/plugin-node-resolve": "^16.0.0", "@rollup/plugin-typescript": "^11.1.5", + "@stencil/vue-output-target": "0.9.4", "@typescript-eslint/eslint-plugin": "^5.48.2", "@typescript-eslint/parser": "^5.48.2", "change-case": "^4.1.1", @@ -25,8 +27,8 @@ "prettier": "^2.8.3", "rimraf": "^3.0.2", "rollup": "^4.2.0", - "typescript": "^4.7.3", - "vue": "3.2.47", + "typescript": "^5.7.3", + "vue": "3.4.38", "vue-router": "^4.0.16" } }, @@ -39,11 +41,22 @@ "@babel/highlight": "^7.10.4" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -134,10 +147,14 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", - "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", + "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.7" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -146,13 +163,14 @@ } }, "node_modules/@babel/types": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", - "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", + "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -208,9 +226,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "license": "MIT", "dependencies": { "@stencil/core": "4.20.0", @@ -389,6 +407,13 @@ "prettier": "^2.0.0" } }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -424,6 +449,31 @@ "node": ">= 8" } }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.0.tgz", + "integrity": "sha512-0FPvAeVUT/zdWoO0jnb/V5BlBsUSNfkIOtFHzMO4H9MOklrmQFY6FduVHKucNb/aTFxvnGhj4MNj/T1oNdDfNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, "node_modules/@rollup/plugin-typescript": { "version": "11.1.5", "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.5.tgz", @@ -640,6 +690,25 @@ "npm": ">=7.10.0" } }, + "node_modules/@stencil/vue-output-target": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.9.4.tgz", + "integrity": "sha512-nXt1ZKjQ8n+ZaKbj1gcutqcgt7SCwVYzNxa1LfKpKz4L1DST33k1/goahvFeWO/lJzLm47spPtHfcjeaLUg/iQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@stencil/core": ">=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0", + "vue": "^3.4.38" + }, + "peerDependenciesMeta": { + "@stencil/core": { + "optional": true + }, + "vue": { + "optional": false + } + } + }, "node_modules/@types/estree": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz", @@ -658,6 +727,13 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/semver": { "version": "7.3.13", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", @@ -959,53 +1035,57 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", - "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.38.tgz", + "integrity": "sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.47", + "@babel/parser": "^7.24.7", + "@vue/shared": "3.4.38", + "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map": "^0.6.1" + "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", - "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.38.tgz", + "integrity": "sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==", "dev": true, + "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-core": "3.4.38", + "@vue/shared": "3.4.38" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", - "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.38.tgz", + "integrity": "sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/compiler-dom": "3.2.47", - "@vue/compiler-ssr": "3.2.47", - "@vue/reactivity-transform": "3.2.47", - "@vue/shared": "3.2.47", + "@babel/parser": "^7.24.7", + "@vue/compiler-core": "3.4.38", + "@vue/compiler-dom": "3.4.38", + "@vue/compiler-ssr": "3.4.38", + "@vue/shared": "3.4.38", "estree-walker": "^2.0.2", - "magic-string": "^0.25.7", - "postcss": "^8.1.10", - "source-map": "^0.6.1" + "magic-string": "^0.30.10", + "postcss": "^8.4.40", + "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", - "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.38.tgz", + "integrity": "sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==", "dev": true, + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-dom": "3.4.38", + "@vue/shared": "3.4.38" } }, "node_modules/@vue/devtools-api": { @@ -1015,66 +1095,59 @@ "dev": true }, "node_modules/@vue/reactivity": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", - "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", - "dev": true, - "dependencies": { - "@vue/shared": "3.2.47" - } - }, - "node_modules/@vue/reactivity-transform": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", - "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.38.tgz", + "integrity": "sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47", - "estree-walker": "^2.0.2", - "magic-string": "^0.25.7" + "@vue/shared": "3.4.38" } }, "node_modules/@vue/runtime-core": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", - "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.38.tgz", + "integrity": "sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==", "dev": true, + "license": "MIT", "dependencies": { - "@vue/reactivity": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/reactivity": "3.4.38", + "@vue/shared": "3.4.38" } }, "node_modules/@vue/runtime-dom": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", - "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.38.tgz", + "integrity": "sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==", "dev": true, + "license": "MIT", "dependencies": { - "@vue/runtime-core": "3.2.47", - "@vue/shared": "3.2.47", - "csstype": "^2.6.8" + "@vue/reactivity": "3.4.38", + "@vue/runtime-core": "3.4.38", + "@vue/shared": "3.4.38", + "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", - "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.38.tgz", + "integrity": "sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==", "dev": true, + "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-ssr": "3.4.38", + "@vue/shared": "3.4.38" }, "peerDependencies": { - "vue": "3.2.47" + "vue": "3.4.38" } }, "node_modules/@vue/shared": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", - "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", - "dev": true + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.38.tgz", + "integrity": "sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==", + "dev": true, + "license": "MIT" }, "node_modules/acorn": { "version": "7.4.1", @@ -1406,10 +1479,11 @@ } }, "node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", - "dev": true + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "license": "MIT" }, "node_modules/debug": { "version": "4.3.4", @@ -1434,6 +1508,16 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/define-properties": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", @@ -1502,6 +1586,19 @@ "node": ">=8.6" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/es-abstract": { "version": "1.21.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", @@ -2550,6 +2647,13 @@ "node": ">=0.10.0" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true, + "license": "MIT" + }, "node_modules/is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -2783,12 +2887,13 @@ } }, "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, + "license": "MIT", "dependencies": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/merge2": { @@ -2841,9 +2946,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, "funding": [ { @@ -2851,6 +2956,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -3035,10 +3141,11 @@ } }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -3053,9 +3160,9 @@ } }, "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", "dev": true, "funding": [ { @@ -3071,10 +3178,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -3390,31 +3498,16 @@ "tslib": "^1.10.0" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", - "dev": true - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -3564,15 +3657,6 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -3657,16 +3741,17 @@ } }, "node_modules/typescript": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz", - "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/unbox-primitive": { @@ -3727,16 +3812,25 @@ "dev": true }, "node_modules/vue": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", - "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.38.tgz", + "integrity": "sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==", "dev": true, + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.2.47", - "@vue/compiler-sfc": "3.2.47", - "@vue/runtime-dom": "3.2.47", - "@vue/server-renderer": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-dom": "3.4.38", + "@vue/compiler-sfc": "3.4.38", + "@vue/runtime-dom": "3.4.38", + "@vue/server-renderer": "3.4.38", + "@vue/shared": "3.4.38" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/vue-router": { @@ -3837,10 +3931,16 @@ "@babel/highlight": "^7.10.4" } }, + "@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true }, "@babel/highlight": { @@ -3913,19 +4013,22 @@ } }, "@babel/parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", - "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", - "dev": true + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", + "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", + "dev": true, + "requires": { + "@babel/types": "^7.26.7" + } }, "@babel/types": { - "version": "7.18.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", - "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", + "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" } }, "@eslint/eslintrc": { @@ -3971,9 +4074,9 @@ "dev": true }, "@ionic/core": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.1.tgz", - "integrity": "sha512-D5xpw5TF2wldpAWE0rHq3L+5T79EjR6d++QFpprjp+q+cFjjhOnfGD+2k7gLlWepAod9LUUigeL0JF02C2wgRQ==", + "version": "8.4.3", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.4.3.tgz", + "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", "requires": { "@stencil/core": "4.20.0", "ionicons": "^7.2.2", @@ -4083,6 +4186,12 @@ "dev": true, "requires": {} }, + "@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -4109,6 +4218,19 @@ "fastq": "^1.6.0" } }, + "@rollup/plugin-node-resolve": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.0.tgz", + "integrity": "sha512-0FPvAeVUT/zdWoO0jnb/V5BlBsUSNfkIOtFHzMO4H9MOklrmQFY6FduVHKucNb/aTFxvnGhj4MNj/T1oNdDfNg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + } + }, "@rollup/plugin-typescript": { "version": "11.1.5", "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.5.tgz", @@ -4219,6 +4341,13 @@ "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.20.0.tgz", "integrity": "sha512-WPrTHFngvN081RY+dJPneKQLwnOFD60OMCOQGmmSHfCW0f4ujPMzzhwWU1gcSwXPWXz5O+8cBiiCaxAbJU7kAg==" }, + "@stencil/vue-output-target": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.9.4.tgz", + "integrity": "sha512-nXt1ZKjQ8n+ZaKbj1gcutqcgt7SCwVYzNxa1LfKpKz4L1DST33k1/goahvFeWO/lJzLm47spPtHfcjeaLUg/iQ==", + "dev": true, + "requires": {} + }, "@types/estree": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz", @@ -4237,6 +4366,12 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, "@types/semver": { "version": "7.3.13", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", @@ -4405,53 +4540,53 @@ } }, "@vue/compiler-core": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", - "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.38.tgz", + "integrity": "sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==", "dev": true, "requires": { - "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.47", + "@babel/parser": "^7.24.7", + "@vue/shared": "3.4.38", + "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map": "^0.6.1" + "source-map-js": "^1.2.0" } }, "@vue/compiler-dom": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", - "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.38.tgz", + "integrity": "sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==", "dev": true, "requires": { - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-core": "3.4.38", + "@vue/shared": "3.4.38" } }, "@vue/compiler-sfc": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", - "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.38.tgz", + "integrity": "sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==", "dev": true, "requires": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/compiler-dom": "3.2.47", - "@vue/compiler-ssr": "3.2.47", - "@vue/reactivity-transform": "3.2.47", - "@vue/shared": "3.2.47", + "@babel/parser": "^7.24.7", + "@vue/compiler-core": "3.4.38", + "@vue/compiler-dom": "3.4.38", + "@vue/compiler-ssr": "3.4.38", + "@vue/shared": "3.4.38", "estree-walker": "^2.0.2", - "magic-string": "^0.25.7", - "postcss": "^8.1.10", - "source-map": "^0.6.1" + "magic-string": "^0.30.10", + "postcss": "^8.4.40", + "source-map-js": "^1.2.0" } }, "@vue/compiler-ssr": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", - "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.38.tgz", + "integrity": "sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==", "dev": true, "requires": { - "@vue/compiler-dom": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-dom": "3.4.38", + "@vue/shared": "3.4.38" } }, "@vue/devtools-api": { @@ -4461,62 +4596,50 @@ "dev": true }, "@vue/reactivity": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", - "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.38.tgz", + "integrity": "sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==", "dev": true, "requires": { - "@vue/shared": "3.2.47" - } - }, - "@vue/reactivity-transform": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", - "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", - "dev": true, - "requires": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47", - "estree-walker": "^2.0.2", - "magic-string": "^0.25.7" + "@vue/shared": "3.4.38" } }, "@vue/runtime-core": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", - "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.38.tgz", + "integrity": "sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==", "dev": true, "requires": { - "@vue/reactivity": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/reactivity": "3.4.38", + "@vue/shared": "3.4.38" } }, "@vue/runtime-dom": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", - "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.38.tgz", + "integrity": "sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==", "dev": true, "requires": { - "@vue/runtime-core": "3.2.47", - "@vue/shared": "3.2.47", - "csstype": "^2.6.8" + "@vue/reactivity": "3.4.38", + "@vue/runtime-core": "3.4.38", + "@vue/shared": "3.4.38", + "csstype": "^3.1.3" } }, "@vue/server-renderer": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", - "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.38.tgz", + "integrity": "sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==", "dev": true, "requires": { - "@vue/compiler-ssr": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-ssr": "3.4.38", + "@vue/shared": "3.4.38" } }, "@vue/shared": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", - "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.38.tgz", + "integrity": "sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==", "dev": true }, "acorn": { @@ -4771,9 +4894,9 @@ } }, "csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, "debug": { @@ -4791,6 +4914,12 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true + }, "define-properties": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", @@ -4844,6 +4973,12 @@ "ansi-colors": "^4.1.1" } }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, "es-abstract": { "version": "1.21.1", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", @@ -5639,6 +5774,12 @@ "is-extglob": "^2.1.1" } }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -5813,12 +5954,12 @@ } }, "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "requires": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "merge2": { @@ -5859,9 +6000,9 @@ "dev": true }, "nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true }, "natural-compare": { @@ -6008,9 +6149,9 @@ "dev": true }, "picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "picomatch": { @@ -6020,14 +6161,14 @@ "dev": true }, "postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", "dev": true, "requires": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" } }, "prelude-ls": { @@ -6229,22 +6370,10 @@ "tslib": "^1.10.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, "source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true }, "sprintf-js": { @@ -6361,12 +6490,6 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -6430,9 +6553,9 @@ } }, "typescript": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz", - "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true }, "unbox-primitive": { @@ -6487,16 +6610,16 @@ "dev": true }, "vue": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", - "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.38.tgz", + "integrity": "sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==", "dev": true, "requires": { - "@vue/compiler-dom": "3.2.47", - "@vue/compiler-sfc": "3.2.47", - "@vue/runtime-dom": "3.2.47", - "@vue/server-renderer": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-dom": "3.4.38", + "@vue/compiler-sfc": "3.4.38", + "@vue/runtime-dom": "3.4.38", + "@vue/server-renderer": "3.4.38", + "@vue/shared": "3.4.38" } }, "vue-router": { diff --git a/packages/vue/package.json b/packages/vue/package.json index c35914e4684..fc4240f4292 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/vue", - "version": "8.4.1", + "version": "8.4.3", "description": "Vue specific wrapper for @ionic/core", "scripts": { "eslint": "eslint src", @@ -52,7 +52,9 @@ "@babel/types": "^7.18.4", "@ionic/eslint-config": "^0.3.0", "@ionic/prettier-config": "^2.0.0", + "@rollup/plugin-node-resolve": "^16.0.0", "@rollup/plugin-typescript": "^11.1.5", + "@stencil/vue-output-target": "0.9.4", "@typescript-eslint/eslint-plugin": "^5.48.2", "@typescript-eslint/parser": "^5.48.2", "change-case": "^4.1.1", @@ -61,12 +63,12 @@ "prettier": "^2.8.3", "rimraf": "^3.0.2", "rollup": "^4.2.0", - "typescript": "^4.7.3", - "vue": "3.2.47", + "typescript": "^5.7.3", + "vue": "3.4.38", "vue-router": "^4.0.16" }, "dependencies": { - "@ionic/core": "^8.4.1", + "@ionic/core": "^8.4.3", "ionicons": "^7.0.0" }, "vetur": { diff --git a/packages/vue/rollup.config.mjs b/packages/vue/rollup.config.mjs index 1a4f607d2bd..63fffd85150 100644 --- a/packages/vue/rollup.config.mjs +++ b/packages/vue/rollup.config.mjs @@ -1,4 +1,6 @@ +import resolve from '@rollup/plugin-node-resolve'; import typescript from '@rollup/plugin-typescript'; + const external = ['vue', 'vue-router']; export default { @@ -12,6 +14,13 @@ export default { sourcemap: true }, ], - plugins: [typescript()], - external: id => external.includes(id) || id.startsWith('@ionic/core') || id.startsWith('ionicons') + plugins: [ + typescript(), + resolve() + ], + external: ( + id => external.includes(id) || + id.startsWith('@ionic/core') || + id.startsWith('ionicons') + ) }; diff --git a/packages/vue/scripts/copy-overlays.js b/packages/vue/scripts/copy-overlays.js index 36322e29c8a..b400cd38463 100644 --- a/packages/vue/scripts/copy-overlays.js +++ b/packages/vue/scripts/copy-overlays.js @@ -37,7 +37,7 @@ function generateOverlays() { let componentImports = []; let componentDefinitions = []; - components.forEach(component => { + components.sort((a, b) => a.tag.localeCompare(b.tag)).forEach(component => { const docsBlock = getDocsBlock(component.tag); const props = getPropsFromDocsBlock(docsBlock); @@ -57,13 +57,12 @@ export const ${component.name} = /*@__PURE__*/ defineOverlayContainer { - defineCustomElement(); - return () => { - return h( - "ion-app", - { - ...attrs, - }, - [slots.default && slots.default(), ...userComponents.value] - ); - }; -}); - -IonApp.name = "IonApp"; +export const IonApp = /*@__PURE__*/ defineComponent( + (_, { attrs, slots }) => { + defineCustomElement(); + return () => { + return h( + "ion-app", + { + name: "IonApp", + ...attrs, + }, + [slots.default && slots.default(), ...userComponents.value] + ); + }; + }, + { + name: "IonApp", + } +); /** * When rendering user components inside of diff --git a/packages/vue/src/components/IonBackButton.ts b/packages/vue/src/components/IonBackButton.ts index e6dba3a71bb..740e8658824 100644 --- a/packages/vue/src/components/IonBackButton.ts +++ b/packages/vue/src/components/IonBackButton.ts @@ -34,7 +34,8 @@ export const IonBackButton = /*@__PURE__*/ defineComponent( slots.default && slots.default() ); }; + }, + { + name: "IonBackButton", } ); - -IonBackButton.name = "IonBackButton"; diff --git a/packages/vue/src/components/IonNav.ts b/packages/vue/src/components/IonNav.ts index 47124a19ffc..cb30df58d38 100644 --- a/packages/vue/src/components/IonNav.ts +++ b/packages/vue/src/components/IonNav.ts @@ -4,54 +4,56 @@ import { defineComponent, h, shallowRef } from "vue"; import { VueDelegate } from "../framework-delegate"; -export const IonNav = /*@__PURE__*/ defineComponent((props) => { - defineCustomElement(); - const views = shallowRef([]); +export const IonNav = /*@__PURE__*/ defineComponent( + (props) => { + defineCustomElement(); + const views = shallowRef([]); - /** - * Allows us to create the component - * within the Vue application context. - */ - const addView = (component: VNode) => - (views.value = [...views.value, component]); - const removeView = (component: VNode) => - (views.value = views.value.filter((cmp) => cmp !== component)); + /** + * Allows us to create the component + * within the Vue application context. + */ + const addView = (component: VNode) => + (views.value = [...views.value, component]); + const removeView = (component: VNode) => + (views.value = views.value.filter((cmp) => cmp !== component)); - const delegate = VueDelegate(addView, removeView); - return () => { - return h("ion-nav", { ...props, delegate }, views.value); - }; -}); - -IonNav.name = "IonNav"; - -/** - * The default values follow what is defined at - * https://ionicframework.com/docs/api/nav#properties - * otherwise the default values on the Web Component - * may be overridden. For example, if the default animated value - * is not `true` below, then Vue would default the prop to `false` - * which would override the Web Component default of `true`. - */ -IonNav.props = { - animated: { - type: Boolean, - default: true, - }, - animation: { - type: Function, - default: undefined, - }, - root: { - type: [Function, Object, String], - default: undefined, - }, - rootParams: { - type: Object, - default: undefined, - }, - swipeGesture: { - type: Boolean, - default: undefined, + const delegate = VueDelegate(addView, removeView); + return () => { + return h("ion-nav", { ...props, delegate }, views.value); + }; }, -}; + { + name: "IonNav", + /** + * The default values follow what is defined at + * https://ionicframework.com/docs/api/nav#properties + * otherwise the default values on the Web Component + * may be overridden. For example, if the default animated value + * is not `true` below, then Vue would default the prop to `false` + * which would override the Web Component default of `true`. + */ + props: { + animated: { + type: Boolean, + default: true, + }, + animation: { + type: Function, + default: undefined, + }, + root: { + type: [Function, Object, String], + default: undefined, + }, + rootParams: { + type: Object, + default: undefined, + }, + swipeGesture: { + type: Boolean, + default: undefined, + }, + }, + } +); diff --git a/packages/vue/src/components/IonRouterOutlet.ts b/packages/vue/src/components/IonRouterOutlet.ts index 1c32de13c01..ee77b37ebef 100644 --- a/packages/vue/src/components/IonRouterOutlet.ts +++ b/packages/vue/src/components/IonRouterOutlet.ts @@ -44,7 +44,7 @@ export const IonRouterOutlet = /*@__PURE__*/ defineComponent({ let previousMatchedRouteRef: Ref | undefined; let previousMatchedPath: string | undefined; - provide(viewDepthKey, depth + 1); + provide(viewDepthKey, (depth + 1) as 0); provide(matchedRouteKey, matchedRouteRef); const ionRouterOutlet = ref(); diff --git a/packages/vue/src/components/IonTabBar.ts b/packages/vue/src/components/IonTabBar.ts index 714891c188e..4da54f9eee0 100644 --- a/packages/vue/src/components/IonTabBar.ts +++ b/packages/vue/src/components/IonTabBar.ts @@ -43,7 +43,7 @@ export const IonTabBar = defineComponent({ data() { return { tabState: { - activeTab: undefined, + activeTab: undefined as string | undefined, tabs: {}, /** * Passing this prop to each tab button @@ -52,7 +52,7 @@ export const IonTabBar = defineComponent({ */ hasRouterOutlet: false, }, - tabVnodes: [], + tabVnodes: [] as VNode[], /* eslint-disable @typescript-eslint/no-empty-function */ _tabsWillChange: { type: Function, default: () => {} }, _tabsDidChange: { type: Function, default: () => {} }, diff --git a/packages/vue/src/components/Overlays.ts b/packages/vue/src/components/Overlays.ts index 2e5b0d31737..7c41f8f1c4f 100644 --- a/packages/vue/src/components/Overlays.ts +++ b/packages/vue/src/components/Overlays.ts @@ -3,19 +3,18 @@ * Changes made to this file will be overwritten on build. */ -import { +import type { JSX, } from '@ionic/core/components'; - import { defineCustomElement as defineIonActionSheetCustomElement } from '@ionic/core/components/ion-action-sheet.js' import { defineCustomElement as defineIonAlertCustomElement } from '@ionic/core/components/ion-alert.js' import { defineCustomElement as defineIonLoadingCustomElement } from '@ionic/core/components/ion-loading.js' -import { defineCustomElement as defineIonPickerLegacyCustomElement } from '@ionic/core/components/ion-picker-legacy.js' -import { defineCustomElement as defineIonToastCustomElement } from '@ionic/core/components/ion-toast.js' import { defineCustomElement as defineIonModalCustomElement } from '@ionic/core/components/ion-modal.js' +import { defineCustomElement as defineIonPickerLegacyCustomElement } from '@ionic/core/components/ion-picker-legacy.js' import { defineCustomElement as defineIonPopoverCustomElement } from '@ionic/core/components/ion-popover.js' +import { defineCustomElement as defineIonToastCustomElement } from '@ionic/core/components/ion-toast.js' -import { defineOverlayContainer } from '../vue-component-lib/overlays'; +import { defineOverlayContainer } from '../utils/overlays'; export const IonActionSheet = /*@__PURE__*/ defineOverlayContainer('ion-action-sheet', defineIonActionSheetCustomElement, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'subHeader', 'translucent', 'trigger']); @@ -23,11 +22,11 @@ export const IonAlert = /*@__PURE__*/ defineOverlayContainer('ion- export const IonLoading = /*@__PURE__*/ defineOverlayContainer('ion-loading', defineIonLoadingCustomElement, ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'translucent', 'trigger']); -export const IonPickerLegacy = /*@__PURE__*/ defineOverlayContainer('ion-picker-legacy', defineIonPickerLegacyCustomElement, ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'trigger']); - -export const IonToast = /*@__PURE__*/ defineOverlayContainer('ion-toast', defineIonToastCustomElement, ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'swipeGesture', 'translucent', 'trigger']); - export const IonModal = /*@__PURE__*/ defineOverlayContainer('ion-modal', defineIonModalCustomElement, ['animated', 'backdropBreakpoint', 'backdropDismiss', 'breakpoints', 'canDismiss', 'enterAnimation', 'focusTrap', 'handle', 'handleBehavior', 'htmlAttributes', 'initialBreakpoint', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'presentingElement', 'showBackdrop', 'trigger'], true); +export const IonPickerLegacy = /*@__PURE__*/ defineOverlayContainer('ion-picker-legacy', defineIonPickerLegacyCustomElement, ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'trigger']); + export const IonPopover = /*@__PURE__*/ defineOverlayContainer('ion-popover', defineIonPopoverCustomElement, ['alignment', 'animated', 'arrow', 'backdropDismiss', 'component', 'componentProps', 'dismissOnSelect', 'enterAnimation', 'event', 'focusTrap', 'htmlAttributes', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'reference', 'showBackdrop', 'side', 'size', 'translucent', 'trigger', 'triggerAction']); +export const IonToast = /*@__PURE__*/ defineOverlayContainer('ion-toast', defineIonToastCustomElement, ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'swipeGesture', 'translucent', 'trigger']); + diff --git a/packages/vue/src/proxies.ts b/packages/vue/src/proxies.ts index 94434f25bf7..25b40b903dd 100644 --- a/packages/vue/src/proxies.ts +++ b/packages/vue/src/proxies.ts @@ -1,9 +1,9 @@ /* eslint-disable */ /* tslint:disable */ /* auto-generated vue proxies */ -import { defineContainer } from './vue-component-lib/utils'; +import { defineContainer } from '@stencil/vue-output-target/runtime'; -import type { JSX } from '@ionic/core/components'; +import type { JSX } from '@ionic/core'; import { defineCustomElement as defineIonAccordion } from '@ionic/core/components/ion-accordion.js'; import { defineCustomElement as defineIonAccordionGroup } from '@ionic/core/components/ion-accordion-group.js'; @@ -102,6 +102,9 @@ export const IonAccordionGroup = /*@__PURE__*/ defineContainer('ion-b 'tappable', 'stopPropagation', 'ionBackdropTap' +], [ + 'ionBackdropTap' ]); @@ -139,6 +144,10 @@ export const IonBreadcrumb = /*@__PURE__*/ defineContainer('i 'ionFocus', 'ionBlur', 'collapsedClick' +], [ + 'ionFocus', + 'ionBlur', + 'collapsedClick' ]); @@ -148,6 +157,8 @@ export const IonBreadcrumbs = /*@__PURE__*/ defineContainer( 'itemsBeforeCollapse', 'itemsAfterCollapse', 'ionCollapsedClick' +], [ + 'ionCollapsedClick' ]); @@ -170,6 +181,9 @@ export const IonButton = /*@__PURE__*/ defineContainer('ion-butto 'form', 'ionFocus', 'ionBlur' +], [ + 'ionFocus', + 'ionBlur' ]); @@ -224,6 +238,10 @@ export const IonCheckbox = /*@__PURE__*/ defineContainer('ion-con 'ionScrollStart', 'ionScroll', 'ionScrollEnd' +], [ + 'ionScrollStart', + 'ionScroll', + 'ionScrollEnd' ]); @@ -315,6 +337,14 @@ export const IonDatetime = /*@__PURE__*/ defineContainer('ion 'closeIcon', 'ionFocus', 'ionBlur' +], [ + 'ionFocus', + 'ionBlur' ]); @@ -383,6 +416,10 @@ export const IonImg = /*@__PURE__*/ defineContainer('ion-img', defin 'ionImgWillLoad', 'ionImgDidLoad', 'ionError' +], [ + 'ionImgWillLoad', + 'ionImgDidLoad', + 'ionError' ]); @@ -391,6 +428,8 @@ export const IonInfiniteScroll = /*@__PURE__*/ defineContainer('i export const IonItemOptions = /*@__PURE__*/ defineContainer('ion-item-options', defineIonItemOptions, [ 'side', 'ionSwipe' +], [ + 'ionSwipe' ]); export const IonItemSliding = /*@__PURE__*/ defineContainer('ion-item-sliding', defineIonItemSliding, [ 'disabled', 'ionDrag' +], [ + 'ionDrag' ]); @@ -506,6 +554,9 @@ export const IonLabel = /*@__PURE__*/ defineContainer('ion-label', 'position', 'ionColor', 'ionStyle' +], [ + 'ionColor', + 'ionStyle' ]); @@ -534,6 +585,12 @@ export const IonMenu = /*@__PURE__*/ defineContainer('ion-menu', de 'ionDidOpen', 'ionDidClose', 'ionMenuChange' +], [ + 'ionWillOpen', + 'ionWillClose', + 'ionDidOpen', + 'ionDidClose', + 'ionMenuChange' ]); @@ -562,6 +619,10 @@ export const IonNav = /*@__PURE__*/ defineContainer('ion-nav', defin 'ionNavWillLoad', 'ionNavWillChange', 'ionNavDidChange' +], [ + 'ionNavWillLoad', + 'ionNavWillChange', + 'ionNavDidChange' ]); @@ -580,6 +641,8 @@ export const IonNote = /*@__PURE__*/ defineContainer('ion-note', de export const IonPicker = /*@__PURE__*/ defineContainer('ion-picker', defineIonPicker, [ 'ionInputModeChange' +], [ + 'ionInputModeChange' ]); @@ -589,6 +652,8 @@ export const IonPickerColumn = /*@__PURE__*/ defineContainer('ion 'ionRefresh', 'ionPull', 'ionStart' +], [ + 'ionRefresh', + 'ionPull', + 'ionStart' ]); @@ -687,6 +769,8 @@ export const IonReorder = /*@__PURE__*/ defineContainer('ion-reo export const IonReorderGroup = /*@__PURE__*/ defineContainer('ion-reorder-group', defineIonReorderGroup, [ 'disabled', 'ionItemReorder' +], [ + 'ionItemReorder' ]); @@ -728,6 +812,14 @@ export const IonSearchbar = /*@__PURE__*/ defineContainer('ion-segment-view', defineIonSegmentView, [ 'disabled', 'ionSegmentViewScroll' +], [ + 'ionSegmentViewScroll' ]); @@ -791,6 +889,13 @@ export const IonSelect = /*@__PURE__*/ defineContainer('ion-skeleton-text', defineIonSkeletonText, [ 'animated', 'ionStyle' +], [ + 'ionStyle' ]); @@ -827,6 +934,8 @@ export const IonSplitPane = /*@__PURE__*/ defineContainer('ion 'disabled', 'when', 'ionSplitPaneVisible' +], [ + 'ionSplitPaneVisible' ]); @@ -876,6 +985,11 @@ export const IonTextarea = /*@__PURE__*/ defineContainer('ion-title', 'color', 'size', 'ionStyle' +], [ + 'ionStyle' ]); @@ -905,6 +1021,10 @@ export const IonToggle = /*@__PURE__*/ defineContainer(name: string, defineCustomElement: () => void, componentProps: string[] = [], hasDelegateHost?: boolean, controller?: any) => { - - const createControllerComponent = () => { +export const defineOverlayContainer = ( + name: string, + defineCustomElement: () => void, + componentProps: string[] = [], + hasDelegateHost?: boolean, + controller?: any +) => { + const createControllerComponent = (options: ComponentOptions) => { return defineComponent((props, { slots, emit }) => { const eventListeners = [ - { componentEv: `${name}-will-present`, frameworkEv: 'willPresent' }, - { componentEv: `${name}-did-present`, frameworkEv: 'didPresent' }, - { componentEv: `${name}-will-dismiss`, frameworkEv: 'willDismiss' }, - { componentEv: `${name}-did-dismiss`, frameworkEv: 'didDismiss' }, + { componentEv: `${name}-will-present`, frameworkEv: "willPresent" }, + { componentEv: `${name}-did-present`, frameworkEv: "didPresent" }, + { componentEv: `${name}-will-dismiss`, frameworkEv: "willDismiss" }, + { componentEv: `${name}-did-dismiss`, frameworkEv: "didDismiss" }, ]; if (defineCustomElement !== undefined) { @@ -27,8 +33,8 @@ export const defineOverlayContainer = (name: string, defin const overlay = ref(); const onVnodeMounted = async () => { const isOpen = props.isOpen; - isOpen && (await present(props)) - } + isOpen && (await present(props)); + }; const onVnodeUpdated = async (node: VNode, prevNode: VNode) => { const isOpen = node.props!.isOpen; @@ -45,11 +51,11 @@ export const defineOverlayContainer = (name: string, defin } else { await dismiss(); } - } + }; const onVnodeBeforeUnmount = async () => { await dismiss(); - } + }; const dismiss = async () => { if (!overlay.value) return; @@ -61,7 +67,7 @@ export const defineOverlayContainer = (name: string, defin await overlay.value; overlay.value = undefined; - } + }; const present = async (props: Readonly) => { /** @@ -77,7 +83,7 @@ export const defineOverlayContainer = (name: string, defin return; } - let restOfProps: any = {}; + const restOfProps: Record = {}; /** * We can use Object.entries here @@ -87,7 +93,10 @@ export const defineOverlayContainer = (name: string, defin */ for (const key in props) { const value = props[key] as any; - if (props.hasOwnProperty(key) && value !== EMPTY_PROP) { + if ( + Object.prototype.hasOwnProperty.call(props, key) && + value !== EMPTY_PROP + ) { restOfProps[key] = value; } } @@ -104,35 +113,32 @@ export const defineOverlayContainer = (name: string, defin const component = slots.default && slots.default()[0]; overlay.value = controller.create({ ...restOfProps, - component + component, }); overlay.value = await overlay.value; - eventListeners.forEach(eventListener => { + eventListeners.forEach((eventListener) => { overlay.value.addEventListener(eventListener.componentEv, () => { emit(eventListener.frameworkEv); }); - }) + }); await overlay.value.present(); - } + }; return () => { - return h( - 'div', - { - style: { display: 'none' }, - onVnodeMounted, - onVnodeUpdated, - onVnodeBeforeUnmount, - isOpen: props.isOpen === true - } - ); - } - }); + return h("div", { + style: { display: "none" }, + onVnodeMounted, + onVnodeUpdated, + onVnodeBeforeUnmount, + isOpen: props.isOpen === true, + }); + }; + }, options); }; - const createInlineComponent = () => { + const createInlineComponent = (options: any) => { return defineComponent((props, { slots }) => { if (defineCustomElement !== undefined) { defineCustomElement(); @@ -141,13 +147,22 @@ export const defineOverlayContainer = (name: string, defin const elementRef = ref(); onMounted(() => { - elementRef.value.addEventListener('ion-mount', () => isOpen.value = true); - elementRef.value.addEventListener('will-present', () => isOpen.value = true); - elementRef.value.addEventListener('did-dismiss', () => isOpen.value = false); + elementRef.value.addEventListener( + "ion-mount", + () => (isOpen.value = true) + ); + elementRef.value.addEventListener( + "will-present", + () => (isOpen.value = true) + ); + elementRef.value.addEventListener( + "did-dismiss", + () => (isOpen.value = false) + ); }); return () => { - let restOfProps: any = {}; + const restOfProps: Record = {}; /** * We can use Object.entries here @@ -157,7 +172,10 @@ export const defineOverlayContainer = (name: string, defin */ for (const key in props) { const value = (props as any)[key]; - if (props.hasOwnProperty(key) && value !== EMPTY_PROP) { + if ( + Object.prototype.hasOwnProperty.call(props, key) && + value !== EMPTY_PROP + ) { restOfProps[key] = value; } } @@ -168,11 +186,11 @@ export const defineOverlayContainer = (name: string, defin */ const renderChildren = () => { if (hasDelegateHost) { - return h('div', { className: 'ion-delegate-host ion-page' }, slots); + return h("div", { className: "ion-delegate-host ion-page" }, slots); } return slots; - } + }; return h( name, @@ -184,27 +202,32 @@ export const defineOverlayContainer = (name: string, defin * the value of the prop will be the empty string which is * why we still call renderChildren() in that case. */ - (isOpen.value || restOfProps.keepContentsMounted || restOfProps.keepContentsMounted === '') ? renderChildren() : undefined - ) - } - }); - } - - const Container = (controller !== undefined) ? createControllerComponent() : createInlineComponent(); - - Container.name = name; - - Container.props = { - 'isOpen': DEFAULT_EMPTY_PROP + isOpen.value || + restOfProps.keepContentsMounted || + restOfProps.keepContentsMounted === "" + ? renderChildren() + : undefined + ); + }; + }, options); }; - componentProps.forEach(componentProp => { - Container.props[componentProp] = DEFAULT_EMPTY_PROP; - }); - - if (controller !== undefined) { - Container.emits = ['willPresent', 'didPresent', 'willDismiss', 'didDismiss']; - } + const options: ComponentOptions = { + name, + props: { + isOpen: DEFAULT_EMPTY_PROP, + ...componentProps.reduce((acc, prop) => { + acc[prop] = DEFAULT_EMPTY_PROP; + return acc; + }, {} as Record), + }, + emits: + typeof controller !== "undefined" + ? ["willPresent", "didPresent", "willDismiss", "didDismiss"] + : undefined, + }; - return Container; -} + return controller !== undefined + ? createControllerComponent(options) + : createInlineComponent(options); +}; diff --git a/packages/vue/src/vue-component-lib/utils.ts b/packages/vue/src/vue-component-lib/utils.ts deleted file mode 100644 index 0d99b6696d7..00000000000 --- a/packages/vue/src/vue-component-lib/utils.ts +++ /dev/null @@ -1,236 +0,0 @@ -// @ts-nocheck -// It's easier and safer for Volar to disable typechecking and let the return type inference do its job. -import { defineComponent, getCurrentInstance, h, inject, ref, Ref, withDirectives } from 'vue'; - -export interface InputProps { - modelValue?: T; -} - -const UPDATE_VALUE_EVENT = 'update:modelValue'; -const MODEL_VALUE = 'modelValue'; -const ROUTER_LINK_VALUE = 'routerLink'; -const NAV_MANAGER = 'navManager'; -const ROUTER_PROP_PREFIX = 'router'; -const ARIA_PROP_PREFIX = 'aria'; -/** - * Starting in Vue 3.1.0, all properties are - * added as keys to the props object, even if - * they are not being used. In order to correctly - * account for both value props and v-model props, - * we need to check if the key exists for Vue <3.1.0 - * and then check if it is not undefined for Vue >= 3.1.0. - * See https://github.com/vuejs/vue-next/issues/3889 - */ -const EMPTY_PROP = Symbol(); -const DEFAULT_EMPTY_PROP = { default: EMPTY_PROP }; - -interface NavManager { - navigate: (options: T) => void; -} - -const getComponentClasses = (classes: unknown) => { - return (classes as string)?.split(' ') || []; -}; - -const getElementClasses = ( - ref: Ref, - componentClasses: Set, - defaultClasses: string[] = [] -) => { - return [...Array.from(ref.value?.classList || []), ...defaultClasses].filter( - (c: string, i, self) => !componentClasses.has(c) && self.indexOf(c) === i - ); -}; - -/** - * Create a callback to define a Vue component wrapper around a Web Component. - * - * @prop name - The component tag name (i.e. `ion-button`) - * @prop componentProps - An array of properties on the - * component. These usually match up with the @Prop definitions - * in each component's TSX file. - * @prop customElement - An option custom element instance to pass - * to customElements.define. Only set if `includeImportCustomElements: true` in your config. - * @prop modelProp - The prop that v-model binds to (i.e. value) - * @prop modelUpdateEvent - The event that is fired from your Web Component when the value changes (i.e. ionChange) - */ -export const defineContainer = ( - name: string, - defineCustomElement: any, - componentProps: string[] = [], - modelProp?: string, - modelUpdateEvent?: string -) => { - /** - * Create a Vue component wrapper around a Web Component. - * Note: The `props` here are not all properties on a component. - * They refer to whatever properties are set on an instance of a component. - */ - - if (defineCustomElement !== undefined) { - defineCustomElement(); - } - - const Container = defineComponent>((props, { attrs, slots, emit }) => { - let modelPropValue = props[modelProp]; - const containerRef = ref(); - const classes = new Set(getComponentClasses(attrs.class)); - - /** - * This directive is responsible for updating any reactive - * reference associated with v-model on the component. - * This code must be run inside of the "created" callback. - * Since the following listener callbacks as well as any potential - * event callback defined in the developer's app are set on - * the same element, we need to make sure the following callbacks - * are set first so they fire first. If the developer's callback fires first - * then the reactive reference will not have been updated yet. - */ - const vModelDirective = { - created: (el: HTMLElement) => { - const eventsNames = Array.isArray(modelUpdateEvent) ? modelUpdateEvent : [modelUpdateEvent]; - eventsNames.forEach((eventName: string) => { - el.addEventListener(eventName.toLowerCase(), (e: Event) => { - /** - * Only update the v-model binding if the event's target is the element we are - * listening on. For example, Component A could emit ionChange, but it could also - * have a descendant Component B that also emits ionChange. We only want to update - * the v-model for Component A when ionChange originates from that element and not - * when ionChange bubbles up from Component B. - */ - if (e.target.tagName === el.tagName) { - modelPropValue = (e?.target as any)[modelProp]; - emit(UPDATE_VALUE_EVENT, modelPropValue); - } - }); - }); - }, - }; - - const currentInstance = getCurrentInstance(); - const hasRouter = currentInstance?.appContext?.provides[NAV_MANAGER]; - const navManager: NavManager | undefined = hasRouter ? inject(NAV_MANAGER) : undefined; - const handleRouterLink = (ev: Event) => { - const { routerLink } = props; - if (routerLink === EMPTY_PROP) return; - - if (navManager !== undefined) { - /** - * This prevents the browser from - * performing a page reload when pressing - * an Ionic component with routerLink. - * The page reload interferes with routing - * and causes ion-back-button to disappear - * since the local history is wiped on reload. - */ - ev.preventDefault(); - - let navigationPayload: any = { event: ev }; - for (const key in props) { - const value = props[key]; - if (props.hasOwnProperty(key) && key.startsWith(ROUTER_PROP_PREFIX) && value !== EMPTY_PROP) { - navigationPayload[key] = value; - } - } - - navManager.navigate(navigationPayload); - } else { - console.warn('Tried to navigate, but no router was found. Make sure you have mounted Vue Router.'); - } - }; - - return () => { - modelPropValue = props[modelProp]; - - getComponentClasses(attrs.class).forEach((value) => { - classes.add(value); - }); - - const oldClick = props.onClick; - const handleClick = (ev: Event) => { - if (oldClick !== undefined) { - oldClick(ev); - } - if (!ev.defaultPrevented) { - handleRouterLink(ev); - } - }; - - let propsToAdd: any = { - ref: containerRef, - class: getElementClasses(containerRef, classes), - onClick: handleClick, - }; - - /** - * We can use Object.entries here - * to avoid the hasOwnProperty check, - * but that would require 2 iterations - * where as this only requires 1. - */ - for (const key in props) { - const value = props[key]; - if ((props.hasOwnProperty(key) && value !== EMPTY_PROP) || key.startsWith(ARIA_PROP_PREFIX)) { - propsToAdd[key] = value; - } - } - - if (modelProp) { - /** - * If form value property was set using v-model - * then we should use that value. - * Otherwise, check to see if form value property - * was set as a static value (i.e. no v-model). - */ - if (props[MODEL_VALUE] !== EMPTY_PROP) { - propsToAdd = { - ...propsToAdd, - [modelProp]: props[MODEL_VALUE], - }; - } else if (modelPropValue !== EMPTY_PROP) { - propsToAdd = { - ...propsToAdd, - [modelProp]: modelPropValue, - }; - } - } - - // If router link is defined, add href to props - // in order to properly render an anchor tag inside - // of components that should become activatable and - // focusable with router link. - if (props[ROUTER_LINK_VALUE] !== EMPTY_PROP) { - propsToAdd = { - ...propsToAdd, - href: props[ROUTER_LINK_VALUE], - }; - } - - /** - * vModelDirective is only needed on components that support v-model. - * As a result, we conditionally call withDirectives with v-model components. - */ - const node = h(name, propsToAdd, slots.default && slots.default()); - return modelProp === undefined ? node : withDirectives(node, [[vModelDirective]]); - }; - }); - - if (typeof Container !== 'function') { - Container.name = name; - - Container.props = { - [ROUTER_LINK_VALUE]: DEFAULT_EMPTY_PROP, - }; - - componentProps.forEach((componentProp) => { - Container.props[componentProp] = DEFAULT_EMPTY_PROP; - }); - - if (modelProp) { - Container.props[MODEL_VALUE] = DEFAULT_EMPTY_PROP; - Container.emits = [UPDATE_VALUE_EVENT]; - } - } - - return Container; -}; diff --git a/packages/vue/tsconfig.json b/packages/vue/tsconfig.json index 68d8436547c..3fdabe6f1a3 100644 --- a/packages/vue/tsconfig.json +++ b/packages/vue/tsconfig.json @@ -7,8 +7,8 @@ "experimentalDecorators": true, "esModuleInterop": true, "lib": ["dom", "es2020"], - "module": "es2015", - "moduleResolution": "node", + "module": "ES2020", + "moduleResolution": "bundler", "noImplicitAny": true, "noImplicitReturns": false, "noUnusedLocals": true,