diff --git a/CHANGELOG.md b/CHANGELOG.md index 910d2ab51..6dc9eb428 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,74 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.8.0](https://github.com/umbraco/Umbraco.UI/compare/v1.8.0-rc.3...v1.8.0) (2024-05-23) + +### Bug Fixes + +- Dont show a link when no href is supplied ([#797](https://github.com/umbraco/Umbraco.UI/issues/797)) ([658b6a6](https://github.com/umbraco/Umbraco.UI/commit/658b6a685e026fa4f7d201cc00a5ed2eb718f9ab)) + +### Features + +- Add custom properties to uui-tag ([#791](https://github.com/umbraco/Umbraco.UI/issues/791)) ([46fde86](https://github.com/umbraco/Umbraco.UI/commit/46fde86c6f2e783e6ddd0c49b0e5a6688808df89)) +- Align FormControl implementation with latest from Backoffice Validation ([#788](https://github.com/umbraco/Umbraco.UI/issues/788)) ([0edfd0c](https://github.com/umbraco/Umbraco.UI/commit/0edfd0c4acfe29e7d108db83308baea8618d30b0)) +- focus method for menu-item ([#789](https://github.com/umbraco/Umbraco.UI/issues/789)) ([86062ae](https://github.com/umbraco/Umbraco.UI/commit/86062ae020841b145edd81977a62728301e2d570)) +- menu items hide actions ([#796](https://github.com/umbraco/Umbraco.UI/issues/796)) ([9f07ae6](https://github.com/umbraco/Umbraco.UI/commit/9f07ae6b98881dc048b2c90710aaca8a38502cd9)) + +# [1.8.0-rc.3](https://github.com/umbraco/Umbraco.UI/compare/v1.8.0-rc.2...v1.8.0-rc.3) (2024-04-16) + +### Bug Fixes + +- modal css vars ([#784](https://github.com/umbraco/Umbraco.UI/issues/784)) ([145dbf0](https://github.com/umbraco/Umbraco.UI/commit/145dbf016eac5a5591a5470ebe327bd9a6ef3f3b)) + +# [1.8.0-rc.2](https://github.com/umbraco/Umbraco.UI/compare/v1.8.0-rc.1...v1.8.0-rc.2) (2024-04-15) + +### Bug Fixes + +- **uui-button:** :ambulance: add back missing animation ([#782](https://github.com/umbraco/Umbraco.UI/issues/782)) ([5a1fea7](https://github.com/umbraco/Umbraco.UI/commit/5a1fea7d84a01193ab1af479ae389411584dead2)) +- **uui-dialog:** remove background ([#781](https://github.com/umbraco/Umbraco.UI/issues/781)) ([13fd470](https://github.com/umbraco/Umbraco.UI/commit/13fd470e233c51b0312ebde2ad77934108d15202)) + +# [1.8.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.8.0-rc.0...v1.8.0-rc.1) (2024-04-11) + +### Bug Fixes + +- add custom property for menu border radius ([f6e0a94](https://github.com/umbraco/Umbraco.UI/commit/f6e0a9444eb982969ec70aeff773daa51f97cf8b)) +- inherit font weight for uui-menu-item ([d1c59ad](https://github.com/umbraco/Umbraco.UI/commit/d1c59ad81d5bd2b893ab67795d83667440050fd4)) +- Update uui-box.element.ts to support border color changeability ([455c1ca](https://github.com/umbraco/Umbraco.UI/commit/455c1caa9b96ecd43c07cd75a46abacb8e0af5c2)) + +# [1.8.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.1...v1.8.0-rc.0) (2024-04-05) + +### Bug Fixes + +- **uui-css:** do not import the lato font here as it means you cannot import only the custom properties without getting the font ([2b57abb](https://github.com/umbraco/Umbraco.UI/commit/2b57abbd1331092f02e05622db81862de587249e)) +- **uui-css:** do not import the lato font here as it means you cannot import only the custom properties without getting the font ([ed8659c](https://github.com/umbraco/Umbraco.UI/commit/ed8659c707ecdce0507a3c22bec1af95e7523950)) +- **uui-tab-group:** Unable to remove tab ([#753](https://github.com/umbraco/Umbraco.UI/issues/753)) ([2e24e27](https://github.com/umbraco/Umbraco.UI/commit/2e24e27317d20adea6572da07f8df39081ffe415)) +- **uui-tab-group:** Unable to remove tab ([#753](https://github.com/umbraco/Umbraco.UI/issues/753)) ([07c0045](https://github.com/umbraco/Umbraco.UI/commit/07c00452ed9668799a9b4edef01103959e6c7d90)) +- **uui-textarea:** Don't hide placeholder text on focus ([#751](https://github.com/umbraco/Umbraco.UI/issues/751)) ([d6cf94f](https://github.com/umbraco/Umbraco.UI/commit/d6cf94fa09499e3c5eb1400f331bf355aa49340a)) +- **uui-textarea:** Don't hide placeholder text on focus ([#751](https://github.com/umbraco/Umbraco.UI/issues/751)) ([a90a510](https://github.com/umbraco/Umbraco.UI/commit/a90a510a01ce8a752167e5f455571e010c9cb9ed)) + +### Features + +- :lipstick: add custom properties for menu item ([#773](https://github.com/umbraco/Umbraco.UI/issues/773)) ([229b8da](https://github.com/umbraco/Umbraco.UI/commit/229b8da5cc8ae616e1442e2e11531461864bbe26)) +- :lipstick: add more custom properties to uui-box ([#772](https://github.com/umbraco/Umbraco.UI/issues/772)) ([def0263](https://github.com/umbraco/Umbraco.UI/commit/def02631de128e0a45ef678b74f0bb4715d72ea9)) +- FormControlMixin refactor for types safety and default values ([#745](https://github.com/umbraco/Umbraco.UI/issues/745)) ([37e473b](https://github.com/umbraco/Umbraco.UI/commit/37e473b004e35f69776617dba7787b0a4d64bd80)) +- **uui-button:** add transition property ([#771](https://github.com/umbraco/Umbraco.UI/issues/771)) ([da9151a](https://github.com/umbraco/Umbraco.UI/commit/da9151af7381ddfd84f233789b364b6f66019885)) + +### BREAKING CHANGES + +- rename to UUIFormControlMixin + +- ValueType type + +- append the ValueType type on getDefaultValue method + +- refactor for typings and default value + +- declare \_runValidators method + +- undefined Default Value Type + +- corrections + ## [1.7.2](https://github.com/umbraco/Umbraco.UI/compare/v1.7.1...v1.7.2) (2024-03-18) ### Bug Fixes diff --git a/lerna.json b/lerna.json index 39fa68781..6c2f3c483 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,7 @@ { "$schema": "node_modules/@lerna-lite/cli/schemas/lerna-schema.json", "packages": ["packages/*"], - "version": "1.7.2", + "version": "1.8.0", "preid": "rc", "exact": true, "noPush": true, diff --git a/package-lock.json b/package-lock.json index bae48847c..4118d1c1f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,11 +17,11 @@ }, "devDependencies": { "@babel/core": "7.23.9", - "@lerna-lite/cli": "3.3.0", - "@lerna-lite/exec": "3.3.0", - "@lerna-lite/publish": "3.3.0", - "@lerna-lite/run": "3.3.0", - "@lerna-lite/version": "3.3.0", + "@lerna-lite/cli": "3.3.2", + "@lerna-lite/exec": "3.3.2", + "@lerna-lite/publish": "3.3.2", + "@lerna-lite/run": "3.3.2", + "@lerna-lite/version": "3.3.2", "@open-wc/testing": "4.0.0", "@rollup/plugin-node-resolve": "15.2.3", "@storybook/addon-a11y": "^7.6.14", @@ -62,9 +62,9 @@ "postcss-advanced-variables": "3.0.1", "postcss-cli": "11.0.0", "postcss-color-function": "4.1.0", - "postcss-custom-properties": "13.3.4", + "postcss-custom-properties": "13.3.6", "postcss-jsx": "0.36.4", - "postcss-load-config": "5.0.2", + "postcss-load-config": "5.0.3", "postcss-syntax": "0.36.2", "postcss-url": "10.1.3", "postcss-values-parser": "6.0.2", @@ -83,11 +83,11 @@ "rollup-plugin-postcss": "4.0.2", "storybook": "^7.6.14", "tsc-files": "1.1.4", - "turbo": "1.12.2", - "typescript": "5.2.2", - "vite": "5.0.12", + "turbo": "1.13.2", + "typescript": "5.4.5", + "vite": "5.0.13", "vite-plugin-turbosnap": "^1.0.3", - "vite-tsconfig-paths": "4.3.1", + "vite-tsconfig-paths": "4.3.2", "web-component-analyzer": "2.0.0" }, "engines": { @@ -2064,9 +2064,9 @@ } }, "node_modules/@csstools/cascade-layer-name-parser": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.7.tgz", - "integrity": "sha512-9J4aMRJ7A2WRjaRLvsMeWrL69FmEuijtiW1XlK/sG+V0UJiHVYUyvj9mY4WAXfU/hGIiGOgL8e0jJcRyaZTjDQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.9.tgz", + "integrity": "sha512-RRqNjxTZDUhx7pxYOBG/AkCVmPS3zYzfE47GEhIGkFuWFTQGJBgWOUUkKNo5MfxIfjDz5/1L3F3rF1oIsYaIpw==", "dev": true, "funding": [ { @@ -2082,14 +2082,14 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.5.0", - "@csstools/css-tokenizer": "^2.2.3" + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.5.0.tgz", - "integrity": "sha512-abypo6m9re3clXA00eu5syw+oaPHbJTPapu9C4pzNsJ4hdZDzushT50Zhu+iIYXgEe1CxnRMn7ngsbV+MLrlpQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.1.tgz", + "integrity": "sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==", "dev": true, "funding": [ { @@ -2105,13 +2105,13 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.3" + "@csstools/css-tokenizer": "^2.2.4" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.3.tgz", - "integrity": "sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.4.tgz", + "integrity": "sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==", "dev": true, "funding": [ { @@ -2135,6 +2135,28 @@ "node": ">=4.0.0" } }, + "node_modules/@csstools/utilities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/utilities/-/utilities-1.0.0.tgz", + "integrity": "sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -3175,15 +3197,15 @@ "dev": true }, "node_modules/@lerna-lite/cli": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@lerna-lite/cli/-/cli-3.3.0.tgz", - "integrity": "sha512-u3JG4576T0oex9TDIJoB1QOMwZ14FB4h1sae1/FtTUUhPis1loyvdlr2zw2HvPpCtMhv+JTGYpsjslQNFfWigA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@lerna-lite/cli/-/cli-3.3.2.tgz", + "integrity": "sha512-EC4/9NitwbVDbPXMficHjOIU+vyFAQ6NwLOxvLScw6dMrrKdBwyZXCrnP3DAfajEubG9fuPsj6w2N7G1stw9pQ==", "dev": true, "dependencies": { - "@lerna-lite/core": "3.3.0", - "@lerna-lite/init": "3.3.0", + "@lerna-lite/core": "3.3.2", + "@lerna-lite/init": "3.3.2", "dedent": "^1.5.1", - "dotenv": "^16.4.1", + "dotenv": "^16.4.5", "import-local": "^3.1.0", "load-json-file": "^7.0.1", "npmlog": "^7.0.1", @@ -3217,9 +3239,9 @@ } }, "node_modules/@lerna-lite/core": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@lerna-lite/core/-/core-3.3.0.tgz", - "integrity": "sha512-IpCIvql2LuJJ6UQpsKlOMtYTz0bSa9Gq/hMGkWeT75lVSa9NICYxBAaSXSkMHvoUEPex+y7XVGm2LYbhVCOzPA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@lerna-lite/core/-/core-3.3.2.tgz", + "integrity": "sha512-lqBAnD/RHdtNT+45AGO4kPUWops/MqiH6NHS4dllB2D5np/dfwZf94gbVDej8kqQu5c5pLRSIqbbIaFUcXqlyg==", "dev": true, "dependencies": { "@npmcli/run-script": "^7.0.4", @@ -3231,12 +3253,12 @@ "execa": "^8.0.1", "fs-extra": "^11.2.0", "glob-parent": "^6.0.2", - "globby": "^14.0.0", - "inquirer": "^9.2.14", + "globby": "^14.0.1", + "inquirer": "^9.2.17", "is-ci": "^3.0.1", "json5": "^2.2.3", "load-json-file": "^7.0.1", - "minimatch": "^9.0.3", + "minimatch": "^9.0.4", "npm-package-arg": "^11.0.1", "npmlog": "^7.0.1", "p-map": "^7.0.1", @@ -3247,7 +3269,7 @@ "strong-log-transformer": "^2.1.0", "write-file-atomic": "^5.0.1", "write-json-file": "^5.0.0", - "write-pkg": "^6.0.1" + "write-package": "^7.0.1" }, "engines": { "node": "^18.0.0 || >=20.0.0" @@ -3286,9 +3308,9 @@ } }, "node_modules/@lerna-lite/core/node_modules/@sindresorhus/merge-streams": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.2.0.tgz", - "integrity": "sha512-UTce8mUwUW0RikMb/eseJ7ys0BRkZVFB86orHzrfW12ZmFtym5zua8joZ4L7okH2dDFHkcFjqnZ5GocWBXOFtA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", "dev": true, "engines": { "node": ">=18" @@ -3362,16 +3384,16 @@ } }, "node_modules/@lerna-lite/core/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.3.6", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -3455,6 +3477,21 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@lerna-lite/core/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@lerna-lite/core/node_modules/minipass-collect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", @@ -3468,9 +3505,9 @@ } }, "node_modules/@lerna-lite/core/node_modules/node-gyp": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", - "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", + "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", "dev": true, "dependencies": { "env-paths": "^2.2.0", @@ -3567,17 +3604,17 @@ "dev": true }, "node_modules/@lerna-lite/exec": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@lerna-lite/exec/-/exec-3.3.0.tgz", - "integrity": "sha512-DSBX0MIieeRGNDl/3Ue1vDE2t9b1t6yhBb+7m8+aLWezKGSYYo7F6Q1sbN08J7vR3Yo0Mj6URgzFb2MqYnBXIw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@lerna-lite/exec/-/exec-3.3.2.tgz", + "integrity": "sha512-FDajJGtM2Orn4bNaauud7N7D2Akx+p1cccozDKBCCbhOib9FVii4bAqXoqUyO/HE4lUlmEoHIceFSbnI3dIkpQ==", "dev": true, "dependencies": { - "@lerna-lite/cli": "3.3.0", - "@lerna-lite/core": "3.3.0", - "@lerna-lite/filter-packages": "3.3.0", - "@lerna-lite/profiler": "3.3.0", + "@lerna-lite/cli": "3.3.2", + "@lerna-lite/core": "3.3.2", + "@lerna-lite/filter-packages": "3.3.2", + "@lerna-lite/profiler": "3.3.2", "chalk": "^5.3.0", - "dotenv": "^16.4.1", + "dotenv": "^16.4.5", "npmlog": "^7.0.1", "p-map": "^7.0.1" }, @@ -3587,8 +3624,9 @@ }, "node_modules/@lerna-lite/exec/node_modules/chalk": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -3597,12 +3635,12 @@ } }, "node_modules/@lerna-lite/filter-packages": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@lerna-lite/filter-packages/-/filter-packages-3.3.0.tgz", - "integrity": "sha512-rybTGTEP9ud0IcFKJbnwGw6GSnTFltjA+hmk9KsCS5M48/Cu5GFDMgrIz0OPP7TcAqs/Qu/is1SoJMwLVo8+kg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@lerna-lite/filter-packages/-/filter-packages-3.3.2.tgz", + "integrity": "sha512-p5Izc1ZUPmSSVMRsO/fw1fn7NVnME3UKspTTxIMfLLR+Kjc8YIDqAfXR5zHX24v0AOBIHblqiUAML5XcmQVWMA==", "dev": true, "dependencies": { - "@lerna-lite/core": "3.3.0", + "@lerna-lite/core": "3.3.2", "multimatch": "^7.0.0", "npmlog": "^7.0.1" }, @@ -3611,12 +3649,12 @@ } }, "node_modules/@lerna-lite/init": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@lerna-lite/init/-/init-3.3.0.tgz", - "integrity": "sha512-lYhswm6lid8GhZ8My93GUhoN/+NW5E+5FwFKInLNUsFaNY7Oxb4kGmIrxShY3uAe0fj6PytohYFJy+IeeEGYoQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@lerna-lite/init/-/init-3.3.2.tgz", + "integrity": "sha512-VauK97s/v9wbWZsUd/hdlmeoIx8hCH/8Zeti7q5qQWVTbVzsF7sDh0TmiaJ75emW1pTJiAo7eYgLQ2rY5mv3Qg==", "dev": true, "dependencies": { - "@lerna-lite/core": "3.3.0", + "@lerna-lite/core": "3.3.2", "fs-extra": "^11.2.0", "p-map": "^7.0.1", "write-json-file": "^5.0.0" @@ -3640,12 +3678,12 @@ } }, "node_modules/@lerna-lite/profiler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@lerna-lite/profiler/-/profiler-3.3.0.tgz", - "integrity": "sha512-tjcAIzEpxI4XuCU0loneyi1e6XeG+fk1DIsBTjZBykHac69DEjFjoihfrfQJDpqJD7zqTH/m/o8IQ26ALr/Rng==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@lerna-lite/profiler/-/profiler-3.3.2.tgz", + "integrity": "sha512-KUyv8uRdfCp+PbbLjD2INNAyXDi7Ma9F3aKUiEyjqXPX1GtpMUWDS0SpoqMW9PLRhANIyEWc6NuBrxFzvS/egw==", "dev": true, "dependencies": { - "@lerna-lite/core": "3.3.0", + "@lerna-lite/core": "3.3.2", "fs-extra": "^11.2.0", "npmlog": "^7.0.1", "upath": "^2.0.1" @@ -3669,20 +3707,20 @@ } }, "node_modules/@lerna-lite/publish": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@lerna-lite/publish/-/publish-3.3.0.tgz", - "integrity": "sha512-3DxprCHf+CTUmSfLhalui+v2Ej8Beo//Ls7jhP2IsMxUPvVBE4clOtyCpJdwUJ/1eNvkq9WsAnkwx+HqG9xOUQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@lerna-lite/publish/-/publish-3.3.2.tgz", + "integrity": "sha512-e/if/7u7xq76EzUj3UUhJLd3gy9MlnKNIpWmD44d+MyFzOHDVhoCCXyCwA2HQxARfQ7wXK+3ZESjwn8WGKZdxw==", "dev": true, "dependencies": { - "@lerna-lite/cli": "3.3.0", - "@lerna-lite/core": "3.3.0", - "@lerna-lite/version": "3.3.0", - "@npmcli/arborist": "^7.3.1", + "@lerna-lite/cli": "3.3.2", + "@lerna-lite/core": "3.3.2", + "@lerna-lite/version": "3.3.2", + "@npmcli/arborist": "^7.4.0", "byte-size": "^8.1.1", "chalk": "^5.3.0", "columnify": "^1.6.0", "fs-extra": "^11.2.0", - "glob": "^10.3.10", + "glob": "^10.3.12", "has-unicode": "^2.0.1", "libnpmaccess": "^8.0.2", "libnpmpublish": "^9.0.4", @@ -3698,7 +3736,7 @@ "read-package-json": "^7.0.0", "semver": "^7.6.0", "ssri": "^10.0.5", - "tar": "^6.2.0", + "tar": "^6.2.1", "temp-dir": "^3.0.0" }, "engines": { @@ -3878,16 +3916,16 @@ } }, "node_modules/@lerna-lite/publish/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.3.6", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -4189,15 +4227,15 @@ "dev": true }, "node_modules/@lerna-lite/run": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@lerna-lite/run/-/run-3.3.0.tgz", - "integrity": "sha512-+Wz7BIPRSLFx6CQM5PYG9pM0W+IqfzazQHNaxJ21uas7Ed+ZtL87t+n4ssSgJ+4Eg9W2A+rdXD/RJl7NvCi2nQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@lerna-lite/run/-/run-3.3.2.tgz", + "integrity": "sha512-paEtIQx8rNr4k9lHbZKX7Bi1izALCUwwiVcpWSTWzH1DtZ48CkVw/sSGLSGoslokGMc1pMWB81MLgI09ZLYyhA==", "dev": true, "dependencies": { - "@lerna-lite/cli": "3.3.0", - "@lerna-lite/core": "3.3.0", - "@lerna-lite/filter-packages": "3.3.0", - "@lerna-lite/profiler": "3.3.0", + "@lerna-lite/cli": "3.3.2", + "@lerna-lite/core": "3.3.2", + "@lerna-lite/filter-packages": "3.3.2", + "@lerna-lite/profiler": "3.3.2", "chalk": "^5.3.0", "fs-extra": "^11.2.0", "npmlog": "^7.0.1", @@ -4233,13 +4271,13 @@ } }, "node_modules/@lerna-lite/version": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@lerna-lite/version/-/version-3.3.0.tgz", - "integrity": "sha512-Mi75gbjQreIDKWG9gtaolzuVua2hutp/tx4oXYkX0MENvWB5zmIYZCEqOawqvGSFSt+esD7P0MIU896aV2qyAQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@lerna-lite/version/-/version-3.3.2.tgz", + "integrity": "sha512-wF1IAHYHrwyZFf/Ca2sPDvwfsiLtV7SWWGK0dS5h5t6INuCFXhDWb/Vhcn42NJMMbw6QdvTiGdyBBYnczauGmQ==", "dev": true, "dependencies": { - "@lerna-lite/cli": "3.3.0", - "@lerna-lite/core": "3.3.0", + "@lerna-lite/cli": "3.3.2", + "@lerna-lite/core": "3.3.2", "@octokit/plugin-enterprise-rest": "^6.0.1", "@octokit/rest": "^20.0.2", "chalk": "^5.3.0", @@ -4250,13 +4288,13 @@ "conventional-recommended-bump": "^9.0.0", "dedent": "^1.5.1", "fs-extra": "^11.2.0", - "get-stream": "^8.0.1", + "get-stream": "^9.0.1", "git-url-parse": "^14.0.0", "graceful-fs": "^4.2.11", - "is-stream": "^3.0.0", + "is-stream": "^4.0.1", "load-json-file": "^7.0.1", "make-dir": "^4.0.0", - "minimatch": "^9.0.3", + "minimatch": "^9.0.4", "new-github-release-url": "^2.0.0", "node-fetch": "^3.3.2", "npm-package-arg": "^11.0.1", @@ -4301,6 +4339,22 @@ "node": ">=14.14" } }, + "node_modules/@lerna-lite/version/node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@lerna-lite/version/node_modules/hosted-git-info": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", @@ -4313,6 +4367,18 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@lerna-lite/version/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@lerna-lite/version/node_modules/lru-cache": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", @@ -4322,6 +4388,21 @@ "node": "14 || >=16.14" } }, + "node_modules/@lerna-lite/version/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@lerna-lite/version/node_modules/npm-package-arg": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", @@ -4383,12 +4464,12 @@ } }, "node_modules/@ljharb/through": { - "version": "2.3.12", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.12.tgz", - "integrity": "sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==", + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", + "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.5" + "call-bind": "^1.0.7" }, "engines": { "node": ">= 0.4" @@ -4571,9 +4652,9 @@ } }, "node_modules/@npmcli/arborist": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.3.1.tgz", - "integrity": "sha512-qjMywu8clYczZE2SlLZWVOujAyiJEHHSEzapIXpuMURRH/tfY0KPKvGPyjvV041QsGN3tsWeaTUHcOi59wscSw==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.4.1.tgz", + "integrity": "sha512-5/+bbRol8fvhyebwjqzmwjToAvTOR+k/hzAGFcGlV8k94H1PISNVyOGeSQl6MOMuxPo3BMMYVa39NZp2eNyzUQ==", "dev": true, "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", @@ -4584,7 +4665,7 @@ "@npmcli/name-from-folder": "^2.0.0", "@npmcli/node-gyp": "^3.0.0", "@npmcli/package-json": "^5.0.0", - "@npmcli/query": "^3.0.1", + "@npmcli/query": "^3.1.0", "@npmcli/run-script": "^7.0.2", "bin-links": "^4.0.1", "cacache": "^18.0.0", @@ -4592,12 +4673,12 @@ "hosted-git-info": "^7.0.1", "json-parse-even-better-errors": "^3.0.0", "json-stringify-nice": "^1.1.4", - "minimatch": "^9.0.0", + "minimatch": "^9.0.4", "nopt": "^7.0.0", "npm-install-checks": "^6.2.0", "npm-package-arg": "^11.0.1", "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.0.0", + "npm-registry-fetch": "^16.2.0", "npmlog": "^7.0.1", "pacote": "^17.0.4", "parse-conflict-json": "^3.0.0", @@ -4665,26 +4746,44 @@ } }, "node_modules/@npmcli/arborist/node_modules/@sigstore/bundle": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.1.tgz", - "integrity": "sha512-v3/iS+1nufZdKQ5iAlQKcCsoh0jffQyABvYIxKsZQFWc4ubuGjwZklFHpDgV6O6T7vvV78SW5NHI91HFKEcxKg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.1.tgz", + "integrity": "sha512-eqV17lO3EIFqCWK3969Rz+J8MYrRZKw9IBHpSo6DEcEX2c+uzDFOgHE9f2MnyDpfs48LFO4hXmk9KhQ74JzU1g==", "dev": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1" + "@sigstore/protobuf-specs": "^0.3.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@npmcli/arborist/node_modules/@sigstore/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz", + "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/arborist/node_modules/@sigstore/protobuf-specs": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.1.tgz", + "integrity": "sha512-aIL8Z9NsMr3C64jyQzE0XlkEyBLpgEJJFDHLVVStkFV5Q3Il/r/YtY6NJWKQ4cy4AE7spP1IX5Jq7VCAxHHMfQ==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/@npmcli/arborist/node_modules/@sigstore/sign": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.1.tgz", - "integrity": "sha512-U5sKQEj+faE1MsnLou1f4DQQHeFZay+V9s9768lw48J4pKykPj34rWyI1lsMOGJ3Mae47Ye6q3HAJvgXO21rkQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.0.tgz", + "integrity": "sha512-tsAyV6FC3R3pHmKS880IXcDJuiFJiKITO1jxR1qbplcsBkZLBmjrEw5GbC7ikD6f5RU1hr7WnmxB/2kKc1qUWQ==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.1.1", - "@sigstore/core": "^0.2.0", - "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/bundle": "^2.3.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.1", "make-fetch-happen": "^13.0.0" }, "engines": { @@ -4692,18 +4791,32 @@ } }, "node_modules/@npmcli/arborist/node_modules/@sigstore/tuf": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.0.tgz", - "integrity": "sha512-S98jo9cpJwO1mtQ+2zY7bOdcYyfVYCUaofCG6wWRzk3pxKHVAkSfshkfecto2+LKsx7Ovtqbgb2LS8zTRhxJ9Q==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.2.tgz", + "integrity": "sha512-mwbY1VrEGU4CO55t+Kl6I7WZzIl+ysSzEYdA1Nv/FTrl2bkeaPXo5PnWZAVfcY2zSdhOpsUTJW67/M2zHXGn5w==", "dev": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/protobuf-specs": "^0.3.0", "tuf-js": "^2.2.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@npmcli/arborist/node_modules/@sigstore/verify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.0.tgz", + "integrity": "sha512-hQF60nc9yab+Csi4AyoAmilGNfpXT+EXdBgFkP9OgPwIBPwyqVf7JAWPtmqrrrneTmAT6ojv7OlH1f6Ix5BG4Q==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.3.1", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/@npmcli/arborist/node_modules/@tufjs/canonical-json": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", @@ -4750,16 +4863,16 @@ } }, "node_modules/@npmcli/arborist/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.3.6", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -4823,6 +4936,21 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@npmcli/arborist/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@npmcli/arborist/node_modules/minipass-collect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", @@ -4836,9 +4964,9 @@ } }, "node_modules/@npmcli/arborist/node_modules/node-gyp": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", - "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", + "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", "dev": true, "dependencies": { "env-paths": "^2.2.0", @@ -4917,11 +5045,12 @@ } }, "node_modules/@npmcli/arborist/node_modules/npm-registry-fetch": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", - "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.2.0.tgz", + "integrity": "sha512-zVH+G0q1O2hqgQBUvQ2LWp6ujr6VJAeDnmWxqiMlCguvLexEzBnuQIwC70r04vcvCMAcYEIpA/rO9YyVi+fmJQ==", "dev": true, "dependencies": { + "@npmcli/redact": "^1.1.0", "make-fetch-happen": "^13.0.0", "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", @@ -5024,17 +5153,17 @@ } }, "node_modules/@npmcli/arborist/node_modules/sigstore": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.0.tgz", - "integrity": "sha512-fcU9clHwEss2/M/11FFM8Jwc4PjBgbhXoNskoK5guoK0qGQBSeUbQZRJ+B2fDFIvhyf0gqCaPrel9mszbhAxug==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.0.tgz", + "integrity": "sha512-q+o8L2ebiWD1AxD17eglf1pFrl9jtW7FHa0ygqY6EKvibK8JHyq9Z26v9MZXeDiw+RbfOJ9j2v70M10Hd6E06A==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.1.1", - "@sigstore/core": "^0.2.0", - "@sigstore/protobuf-specs": "^0.2.1", - "@sigstore/sign": "^2.2.1", - "@sigstore/tuf": "^2.3.0", - "@sigstore/verify": "^0.1.0" + "@sigstore/bundle": "^2.3.1", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.1", + "@sigstore/sign": "^2.3.0", + "@sigstore/tuf": "^2.3.1", + "@sigstore/verify": "^1.2.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -5203,16 +5332,16 @@ } }, "node_modules/@npmcli/map-workspaces/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.3.6", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -5287,26 +5416,44 @@ } }, "node_modules/@npmcli/metavuln-calculator/node_modules/@sigstore/bundle": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.1.tgz", - "integrity": "sha512-v3/iS+1nufZdKQ5iAlQKcCsoh0jffQyABvYIxKsZQFWc4ubuGjwZklFHpDgV6O6T7vvV78SW5NHI91HFKEcxKg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.1.tgz", + "integrity": "sha512-eqV17lO3EIFqCWK3969Rz+J8MYrRZKw9IBHpSo6DEcEX2c+uzDFOgHE9f2MnyDpfs48LFO4hXmk9KhQ74JzU1g==", "dev": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1" + "@sigstore/protobuf-specs": "^0.3.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@npmcli/metavuln-calculator/node_modules/@sigstore/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz", + "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/metavuln-calculator/node_modules/@sigstore/protobuf-specs": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.1.tgz", + "integrity": "sha512-aIL8Z9NsMr3C64jyQzE0XlkEyBLpgEJJFDHLVVStkFV5Q3Il/r/YtY6NJWKQ4cy4AE7spP1IX5Jq7VCAxHHMfQ==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/@npmcli/metavuln-calculator/node_modules/@sigstore/sign": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.1.tgz", - "integrity": "sha512-U5sKQEj+faE1MsnLou1f4DQQHeFZay+V9s9768lw48J4pKykPj34rWyI1lsMOGJ3Mae47Ye6q3HAJvgXO21rkQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.0.tgz", + "integrity": "sha512-tsAyV6FC3R3pHmKS880IXcDJuiFJiKITO1jxR1qbplcsBkZLBmjrEw5GbC7ikD6f5RU1hr7WnmxB/2kKc1qUWQ==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.1.1", - "@sigstore/core": "^0.2.0", - "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/bundle": "^2.3.0", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.1", "make-fetch-happen": "^13.0.0" }, "engines": { @@ -5314,18 +5461,32 @@ } }, "node_modules/@npmcli/metavuln-calculator/node_modules/@sigstore/tuf": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.0.tgz", - "integrity": "sha512-S98jo9cpJwO1mtQ+2zY7bOdcYyfVYCUaofCG6wWRzk3pxKHVAkSfshkfecto2+LKsx7Ovtqbgb2LS8zTRhxJ9Q==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.2.tgz", + "integrity": "sha512-mwbY1VrEGU4CO55t+Kl6I7WZzIl+ysSzEYdA1Nv/FTrl2bkeaPXo5PnWZAVfcY2zSdhOpsUTJW67/M2zHXGn5w==", "dev": true, "dependencies": { - "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/protobuf-specs": "^0.3.0", "tuf-js": "^2.2.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/@npmcli/metavuln-calculator/node_modules/@sigstore/verify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.0.tgz", + "integrity": "sha512-hQF60nc9yab+Csi4AyoAmilGNfpXT+EXdBgFkP9OgPwIBPwyqVf7JAWPtmqrrrneTmAT6ojv7OlH1f6Ix5BG4Q==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.3.1", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/@npmcli/metavuln-calculator/node_modules/@tufjs/canonical-json": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", @@ -5372,16 +5533,16 @@ } }, "node_modules/@npmcli/metavuln-calculator/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.3.12", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", + "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.3.6", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -5458,9 +5619,9 @@ } }, "node_modules/@npmcli/metavuln-calculator/node_modules/node-gyp": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", - "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", + "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", "dev": true, "dependencies": { "env-paths": "^2.2.0", @@ -5539,11 +5700,12 @@ } }, "node_modules/@npmcli/metavuln-calculator/node_modules/npm-registry-fetch": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", - "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.2.0.tgz", + "integrity": "sha512-zVH+G0q1O2hqgQBUvQ2LWp6ujr6VJAeDnmWxqiMlCguvLexEzBnuQIwC70r04vcvCMAcYEIpA/rO9YyVi+fmJQ==", "dev": true, "dependencies": { + "@npmcli/redact": "^1.1.0", "make-fetch-happen": "^13.0.0", "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", @@ -5646,17 +5808,17 @@ } }, "node_modules/@npmcli/metavuln-calculator/node_modules/sigstore": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.0.tgz", - "integrity": "sha512-fcU9clHwEss2/M/11FFM8Jwc4PjBgbhXoNskoK5guoK0qGQBSeUbQZRJ+B2fDFIvhyf0gqCaPrel9mszbhAxug==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.0.tgz", + "integrity": "sha512-q+o8L2ebiWD1AxD17eglf1pFrl9jtW7FHa0ygqY6EKvibK8JHyq9Z26v9MZXeDiw+RbfOJ9j2v70M10Hd6E06A==", "dev": true, "dependencies": { - "@sigstore/bundle": "^2.1.1", - "@sigstore/core": "^0.2.0", - "@sigstore/protobuf-specs": "^0.2.1", - "@sigstore/sign": "^2.2.1", - "@sigstore/tuf": "^2.3.0", - "@sigstore/verify": "^0.1.0" + "@sigstore/bundle": "^2.3.1", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.1", + "@sigstore/sign": "^2.3.0", + "@sigstore/tuf": "^2.3.1", + "@sigstore/verify": "^1.2.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -5920,9 +6082,9 @@ } }, "node_modules/@npmcli/query": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.0.1.tgz", - "integrity": "sha512-0jE8iHBogf/+bFDj+ju6/UMLbJ39c8h6nSe6qile+dB7PJ0iV3gNqcb2vtt6WWCBrxv9uAjzUT/8vroluulidA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz", + "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==", "dev": true, "dependencies": { "postcss-selector-parser": "^6.0.10" @@ -5931,6 +6093,15 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/@npmcli/redact": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-1.1.0.tgz", + "integrity": "sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/@npmcli/run-script": { "version": "6.0.2", "dev": true, @@ -6001,9 +6172,9 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz", - "integrity": "sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==", + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", + "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", "dev": true }, "node_modules/@octokit/plugin-enterprise-rest": { @@ -6013,45 +6184,45 @@ "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "9.1.5", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.5.tgz", - "integrity": "sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz", + "integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==", "dev": true, "dependencies": { - "@octokit/types": "^12.4.0" + "@octokit/types": "^12.6.0" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=5" + "@octokit/core": "5" } }, "node_modules/@octokit/plugin-request-log": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.0.tgz", - "integrity": "sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", + "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==", "dev": true, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=5" + "@octokit/core": "5" } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.2.0.tgz", - "integrity": "sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", + "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==", "dev": true, "dependencies": { - "@octokit/types": "^12.3.0" + "@octokit/types": "^12.6.0" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=5" + "@octokit/core": "5" } }, "node_modules/@octokit/request": { @@ -6084,27 +6255,27 @@ } }, "node_modules/@octokit/rest": { - "version": "20.0.2", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.0.2.tgz", - "integrity": "sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ==", + "version": "20.1.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.0.tgz", + "integrity": "sha512-STVO3itHQLrp80lvcYB2UIKoeil5Ctsgd2s1AM+du3HqZIR35ZH7WE9HLwUOLXH0myA0y3AGNPo8gZtcgIbw0g==", "dev": true, "dependencies": { - "@octokit/core": "^5.0.0", - "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/core": "^5.0.2", + "@octokit/plugin-paginate-rest": "^9.1.5", "@octokit/plugin-request-log": "^4.0.0", - "@octokit/plugin-rest-endpoint-methods": "^10.0.0" + "@octokit/plugin-rest-endpoint-methods": "^10.2.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/types": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz", - "integrity": "sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==", + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", "dev": true, "dependencies": { - "@octokit/openapi-types": "^19.1.0" + "@octokit/openapi-types": "^20.0.0" } }, "node_modules/@open-wc/dedupe-mixin": { @@ -7175,6 +7346,12 @@ "win32" ] }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, "node_modules/@sigstore/bundle": { "version": "1.1.0", "dev": true, @@ -10173,9 +10350,10 @@ } }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "dev": true, - "license": "MIT" + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true }, "node_modules/@types/parse5": { "version": "6.0.3", @@ -13272,13 +13450,13 @@ } }, "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dev": true, "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -13286,7 +13464,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -13334,21 +13512,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/body-parser/node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/boolbase": { "version": "1.0.0", "dev": true, @@ -13784,15 +13947,16 @@ } }, "node_modules/call-bind": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz", - "integrity": "sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, "dependencies": { + "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "set-function-length": "^1.2.0" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -15025,9 +15189,9 @@ } }, "node_modules/conventional-changelog-core/node_modules/type-fest": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz", - "integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.15.0.tgz", + "integrity": "sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==", "dev": true, "engines": { "node": ">=16" @@ -15169,9 +15333,9 @@ "license": "MIT" }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, "engines": { "node": ">= 0.6" @@ -15766,18 +15930,20 @@ } }, "node_modules/define-data-property": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.2.tgz", - "integrity": "sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, "dependencies": { + "es-define-property": "^1.0.0", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.2", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-lazy-prop": { @@ -16280,9 +16446,9 @@ } }, "node_modules/dotenv": { - "version": "16.4.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.3.tgz", - "integrity": "sha512-II98GFrje5psQTSve0E7bnwMFybNLqT8Vu8JIFWRjsE3khyNUm/loZupuy5DVzG2IXf/ysxvrixYOQnM6mjD3A==", + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "dev": true, "engines": { "node": ">=12" @@ -16549,6 +16715,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-errors": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", @@ -17517,17 +17695,17 @@ "license": "Apache-2.0" }, "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -18976,12 +19154,12 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -19608,6 +19786,18 @@ "node": ">=8" } }, + "node_modules/index-to-position": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", + "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/inflation": { "version": "2.0.0", "dev": true, @@ -19642,12 +19832,12 @@ "dev": true }, "node_modules/inquirer": { - "version": "9.2.14", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.14.tgz", - "integrity": "sha512-4ByIMt677Iz5AvjyKrDpzaepIyMewNvDcvwpVVRZNmy9dLakVoVgdCHZXbK1SlVJra1db0JZ6XkJyHsanpdrdQ==", + "version": "9.2.17", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.17.tgz", + "integrity": "sha512-Vr3Ia2ud5sGnioURkE69endl4SkeJcMzTF6SosKcX5GALJfId7C+JvO5ZZb6y1LOXnEofCPbwzoQ1q0e8Gaduw==", "dev": true, "dependencies": { - "@ljharb/through": "^2.3.12", + "@ljharb/through": "^2.3.13", "ansi-escapes": "^4.3.2", "chalk": "^5.3.0", "cli-cursor": "^3.1.0", @@ -23652,9 +23842,10 @@ } }, "node_modules/minipass": { - "version": "7.0.3", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true, - "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -25734,11 +25925,12 @@ } }, "node_modules/path-scurry": { - "version": "1.10.1", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", + "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", "dev": true, - "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { @@ -25749,9 +25941,10 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.1", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", "dev": true, - "license": "ISC", "engines": { "node": "14 || >=16.14" } @@ -26115,8 +26308,9 @@ }, "node_modules/postcss-advanced-variables": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-advanced-variables/-/postcss-advanced-variables-3.0.1.tgz", + "integrity": "sha512-JqVjfkmqPoazMobVeQYzbt7djcDGJfMlpwBd9abTqmzWR40tvIUMXpTU5w3riqz7h+wYPY7V6GF8BIXL/ybEfg==", "dev": true, - "license": "CC0-1.0", "dependencies": { "@csstools/sass-import-resolve": "^1.0.0", "postcss": "^7.0.6" @@ -26127,13 +26321,15 @@ }, "node_modules/postcss-advanced-variables/node_modules/picocolors": { "version": "0.2.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true }, "node_modules/postcss-advanced-variables/node_modules/postcss": { "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, - "license": "MIT", "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" @@ -26148,8 +26344,9 @@ }, "node_modules/postcss-advanced-variables/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, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -26308,9 +26505,9 @@ } }, "node_modules/postcss-custom-properties": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.4.tgz", - "integrity": "sha512-9YN0gg9sG3OH+Z9xBrp2PWRb+O4msw+5Sbp3ZgqrblrwKspXVQe5zr5sVqi43gJGwW/Rv1A483PRQUzQOEewvA==", + "version": "13.3.6", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.6.tgz", + "integrity": "sha512-vVVIwQbJiIz+PBLMIWA6XMi53Zg66/f474KolA7x0Das6EwkATc/9ZvM6zZx2gs7ZhcgVHjmWBbHkK9FlCgLeA==", "dev": true, "funding": [ { @@ -26323,9 +26520,10 @@ } ], "dependencies": { - "@csstools/cascade-layer-name-parser": "^1.0.7", - "@csstools/css-parser-algorithms": "^2.5.0", - "@csstools/css-tokenizer": "^2.2.3", + "@csstools/cascade-layer-name-parser": "^1.0.9", + "@csstools/css-parser-algorithms": "^2.6.1", + "@csstools/css-tokenizer": "^2.2.4", + "@csstools/utilities": "^1.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -26392,9 +26590,9 @@ } }, "node_modules/postcss-load-config": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.0.2.tgz", - "integrity": "sha512-Q8QR3FYbqOKa0bnC1UQ2bFq9/ulHX5Bi34muzitMr8aDtUelO5xKeJEYC/5smE0jNE9zdB/NBnOwXKexELbRlw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.0.3.tgz", + "integrity": "sha512-90pBBI5apUVruIEdCxZic93Wm+i9fTrp7TXbgdUCH+/L+2WnfpITSpq5dFU/IPvbv7aNiMlQISpUkAm3fEcvgQ==", "dev": true, "funding": [ { @@ -27940,9 +28138,9 @@ } }, "node_modules/read-pkg/node_modules/type-fest": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz", - "integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.15.0.tgz", + "integrity": "sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==", "dev": true, "engines": { "node": ">=16" @@ -29146,16 +29344,17 @@ "license": "ISC" }, "node_modules/set-function-length": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", - "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "dependencies": { - "define-data-property": "^1.1.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -29902,9 +30101,10 @@ } }, "node_modules/tar": { - "version": "6.2.0", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, - "license": "ISC", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -30370,9 +30570,9 @@ } }, "node_modules/tsconfck": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.1.tgz", - "integrity": "sha512-7ppiBlF3UEddCLeI1JRx5m2Ryq+xk4JrZuq4EuYXykipebaq1dV0Fhgr1hb7CkmHt32QSgOZlcqVLEtHBG4/mg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.0.3.tgz", + "integrity": "sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==", "dev": true, "bin": { "tsconfck": "bin/tsconfck.js" @@ -30459,26 +30659,26 @@ } }, "node_modules/turbo": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.12.2.tgz", - "integrity": "sha512-BcoQjBZ+LJCMdjzWhzQflOinUjek28rWXj07aaaAQ8T3Ehs0JFSjIsXOm4qIbo52G4xk3gFVcUtJhh/QRADl7g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.13.2.tgz", + "integrity": "sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==", "dev": true, "bin": { "turbo": "bin/turbo" }, "optionalDependencies": { - "turbo-darwin-64": "1.12.2", - "turbo-darwin-arm64": "1.12.2", - "turbo-linux-64": "1.12.2", - "turbo-linux-arm64": "1.12.2", - "turbo-windows-64": "1.12.2", - "turbo-windows-arm64": "1.12.2" + "turbo-darwin-64": "1.13.2", + "turbo-darwin-arm64": "1.13.2", + "turbo-linux-64": "1.13.2", + "turbo-linux-arm64": "1.13.2", + "turbo-windows-64": "1.13.2", + "turbo-windows-arm64": "1.13.2" } }, "node_modules/turbo-darwin-64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.12.2.tgz", - "integrity": "sha512-Aq/ePQ5KNx6XGwlZWTVTqpQYfysm1vkwkI6kAYgrX5DjMWn+tUXrSgNx4YNte0F+V4DQ7PtuWX+jRG0h0ZNg0A==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.13.2.tgz", + "integrity": "sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==", "cpu": [ "x64" ], @@ -30489,9 +30689,9 @@ ] }, "node_modules/turbo-darwin-arm64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.12.2.tgz", - "integrity": "sha512-wTr+dqkwJo/eXE+4SPTSeNBKyyfQJhI6I9sKVlCSBmtaNEqoGNgdVzgMUdqrg9AIFzLIiKO+zhfskNaSWpVFow==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.13.2.tgz", + "integrity": "sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==", "cpu": [ "arm64" ], @@ -30502,9 +30702,9 @@ ] }, "node_modules/turbo-linux-64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.12.2.tgz", - "integrity": "sha512-BggBKrLojGarDaa2zBo+kUR3fmjpd6bLA8Unm3Aa2oJw0UvEi3Brd+w9lNsPZHXXQYBUzNUY2gCdxf3RteWb0g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.13.2.tgz", + "integrity": "sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==", "cpu": [ "x64" ], @@ -30515,9 +30715,9 @@ ] }, "node_modules/turbo-linux-arm64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.12.2.tgz", - "integrity": "sha512-v/apSRvVuwYjq1D9MJFsHv2EpGd1S4VoSdZvVfW6FaM06L8CFZa92urNR1svdGYN28YVKwK9Ikc9qudC6t/d5A==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.13.2.tgz", + "integrity": "sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==", "cpu": [ "arm64" ], @@ -30528,9 +30728,9 @@ ] }, "node_modules/turbo-windows-64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.12.2.tgz", - "integrity": "sha512-3uDdwXcRGkgopYFdPDpxQiuQjfQ12Fxq0fhj+iGymav0eWA4W4wzYwSdlUp6rT22qOBIzaEsrIspRwx1DsMkNg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.13.2.tgz", + "integrity": "sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==", "cpu": [ "x64" ], @@ -30541,9 +30741,9 @@ ] }, "node_modules/turbo-windows-arm64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.12.2.tgz", - "integrity": "sha512-zNIHnwtQfJSjFi7movwhPQh2rfrcKZ7Xv609EN1yX0gEp9GxooCUi2yNnBQ8wTqFjioA2M5hZtGJQ0RrKaEm/Q==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.13.2.tgz", + "integrity": "sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==", "cpu": [ "arm64" ], @@ -30663,9 +30863,9 @@ } }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -31318,9 +31518,9 @@ } }, "node_modules/vite": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", - "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.13.tgz", + "integrity": "sha512-/9ovhv2M2dGTuA+dY93B9trfyWMDRQw2jdVBhHNP6wr0oF34wG2i/N55801iZIpgUpnHDm4F/FabGQLyc+eOgg==", "dev": true, "dependencies": { "esbuild": "^0.19.3", @@ -31379,14 +31579,14 @@ "dev": true }, "node_modules/vite-tsconfig-paths": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.1.tgz", - "integrity": "sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz", + "integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==", "dev": true, "dependencies": { "debug": "^4.1.1", "globrex": "^0.1.2", - "tsconfck": "^3.0.1" + "tsconfck": "^3.0.3" }, "peerDependencies": { "vite": "*" @@ -31838,10 +32038,23 @@ "web-component-analyzer": "cli.js" } }, + "node_modules/web-component-analyzer/node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/web-streams-polyfill": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.2.tgz", - "integrity": "sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", "dev": true, "engines": { "node": ">= 8" @@ -32137,29 +32350,128 @@ "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/write-pkg": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-6.0.1.tgz", - "integrity": "sha512-ZwKp0+CQCNrJbhHStRy6IVDnVjvD4gYy6MhQLKgBnl85oaiTNXhvtuox7AqvOSf1wta0YW4U5JidjpJnd1i8TA==", + "node_modules/write-package": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/write-package/-/write-package-7.0.1.tgz", + "integrity": "sha512-S7c5F2mpb5o+9pS1UfO3jcQb0OR25L7ZJT64cv3K0TkGh1VxJb+PNnL8b46KSJ6tmxIbA0xgHnrtBdVGeHmJ0A==", "dev": true, "dependencies": { "deepmerge-ts": "^5.1.0", - "read-pkg": "^8.1.0", + "read-pkg": "^9.0.0", "sort-keys": "^5.0.0", "type-fest": "^4.6.0", "write-json-file": "^5.0.0" }, "engines": { - "node": ">=16" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/write-package/node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/write-package/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/write-package/node_modules/normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/write-package/node_modules/parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/write-package/node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/write-pkg/node_modules/type-fest": { - "version": "4.10.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.2.tgz", - "integrity": "sha512-anpAG63wSpdEbLwOqH8L84urkL6PiVIov3EMmgIhhThevh9aiMQov+6Btx0wldNcvm4wV+e2/Rt1QdDwKHFbHw==", + "node_modules/write-package/node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/write-package/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/write-package/node_modules/type-fest": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.15.0.tgz", + "integrity": "sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==", "dev": true, "engines": { "node": ">=16" @@ -32168,6 +32480,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/write-package/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/ws": { "version": "8.16.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", @@ -32303,130 +32621,130 @@ }, "packages/uui": { "name": "@umbraco-ui/uui", - "version": "1.7.2", - "license": "MIT", - "dependencies": { - "@umbraco-ui/uui-action-bar": "1.7.0", - "@umbraco-ui/uui-avatar": "1.7.0", - "@umbraco-ui/uui-avatar-group": "1.7.0", - "@umbraco-ui/uui-badge": "1.7.0", - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-boolean-input": "1.7.0", - "@umbraco-ui/uui-box": "1.7.2", - "@umbraco-ui/uui-breadcrumbs": "1.7.0", - "@umbraco-ui/uui-button": "1.7.1", - "@umbraco-ui/uui-button-group": "1.7.0", - "@umbraco-ui/uui-button-inline-create": "1.7.0", - "@umbraco-ui/uui-card": "1.7.0", - "@umbraco-ui/uui-card-block-type": "1.7.0", - "@umbraco-ui/uui-card-content-node": "1.7.0", - "@umbraco-ui/uui-card-media": "1.7.0", - "@umbraco-ui/uui-card-user": "1.7.0", - "@umbraco-ui/uui-caret": "1.7.0", - "@umbraco-ui/uui-checkbox": "1.7.0", - "@umbraco-ui/uui-color-area": "1.7.0", - "@umbraco-ui/uui-color-picker": "1.7.0", - "@umbraco-ui/uui-color-slider": "1.7.0", - "@umbraco-ui/uui-color-swatch": "1.7.0", - "@umbraco-ui/uui-color-swatches": "1.7.0", - "@umbraco-ui/uui-combobox": "1.7.1", - "@umbraco-ui/uui-combobox-list": "1.7.0", - "@umbraco-ui/uui-css": "1.7.2", - "@umbraco-ui/uui-dialog": "1.7.2", - "@umbraco-ui/uui-dialog-layout": "1.7.0", - "@umbraco-ui/uui-file-dropzone": "1.7.0", - "@umbraco-ui/uui-file-preview": "1.7.0", - "@umbraco-ui/uui-form": "1.7.0", - "@umbraco-ui/uui-form-layout-item": "1.7.0", - "@umbraco-ui/uui-form-validation-message": "1.7.0", - "@umbraco-ui/uui-icon": "1.7.0", - "@umbraco-ui/uui-icon-registry": "1.7.0", - "@umbraco-ui/uui-icon-registry-essential": "1.7.0", - "@umbraco-ui/uui-input": "1.7.0", - "@umbraco-ui/uui-input-file": "1.7.1", - "@umbraco-ui/uui-input-lock": "1.7.1", - "@umbraco-ui/uui-input-password": "1.7.0", - "@umbraco-ui/uui-keyboard-shortcut": "1.7.0", - "@umbraco-ui/uui-label": "1.7.0", - "@umbraco-ui/uui-loader": "1.7.0", - "@umbraco-ui/uui-loader-bar": "1.7.0", - "@umbraco-ui/uui-loader-circle": "1.7.0", - "@umbraco-ui/uui-menu-item": "1.7.0", - "@umbraco-ui/uui-modal": "1.7.0", - "@umbraco-ui/uui-pagination": "1.7.1", - "@umbraco-ui/uui-popover": "1.7.0", - "@umbraco-ui/uui-popover-container": "1.7.0", - "@umbraco-ui/uui-progress-bar": "1.7.0", - "@umbraco-ui/uui-radio": "1.7.0", - "@umbraco-ui/uui-range-slider": "1.7.0", - "@umbraco-ui/uui-ref": "1.7.0", - "@umbraco-ui/uui-ref-list": "1.7.0", - "@umbraco-ui/uui-ref-node": "1.7.0", - "@umbraco-ui/uui-ref-node-data-type": "1.7.0", - "@umbraco-ui/uui-ref-node-document-type": "1.7.0", - "@umbraco-ui/uui-ref-node-form": "1.7.0", - "@umbraco-ui/uui-ref-node-member": "1.7.0", - "@umbraco-ui/uui-ref-node-package": "1.7.0", - "@umbraco-ui/uui-ref-node-user": "1.7.0", - "@umbraco-ui/uui-scroll-container": "1.7.0", - "@umbraco-ui/uui-select": "1.7.0", - "@umbraco-ui/uui-slider": "1.7.0", - "@umbraco-ui/uui-symbol-expand": "1.7.0", - "@umbraco-ui/uui-symbol-file": "1.7.0", - "@umbraco-ui/uui-symbol-file-dropzone": "1.7.0", - "@umbraco-ui/uui-symbol-file-thumbnail": "1.7.0", - "@umbraco-ui/uui-symbol-folder": "1.7.0", - "@umbraco-ui/uui-symbol-lock": "1.7.0", - "@umbraco-ui/uui-symbol-more": "1.7.0", - "@umbraco-ui/uui-symbol-sort": "1.7.0", - "@umbraco-ui/uui-table": "1.7.0", - "@umbraco-ui/uui-tabs": "1.7.2", - "@umbraco-ui/uui-tag": "1.7.0", - "@umbraco-ui/uui-textarea": "1.7.2", - "@umbraco-ui/uui-toast-notification": "1.7.2", - "@umbraco-ui/uui-toast-notification-container": "1.7.2", - "@umbraco-ui/uui-toast-notification-layout": "1.7.2", - "@umbraco-ui/uui-toggle": "1.7.0", - "@umbraco-ui/uui-visually-hidden": "1.7.0" + "version": "1.8.0", + "license": "MIT", + "dependencies": { + "@umbraco-ui/uui-action-bar": "1.8.0", + "@umbraco-ui/uui-avatar": "1.8.0", + "@umbraco-ui/uui-avatar-group": "1.8.0", + "@umbraco-ui/uui-badge": "1.8.0", + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-boolean-input": "1.8.0", + "@umbraco-ui/uui-box": "1.8.0", + "@umbraco-ui/uui-breadcrumbs": "1.8.0", + "@umbraco-ui/uui-button": "1.8.0", + "@umbraco-ui/uui-button-group": "1.8.0", + "@umbraco-ui/uui-button-inline-create": "1.8.0", + "@umbraco-ui/uui-card": "1.8.0", + "@umbraco-ui/uui-card-block-type": "1.8.0", + "@umbraco-ui/uui-card-content-node": "1.8.0", + "@umbraco-ui/uui-card-media": "1.8.0", + "@umbraco-ui/uui-card-user": "1.8.0", + "@umbraco-ui/uui-caret": "1.8.0", + "@umbraco-ui/uui-checkbox": "1.8.0", + "@umbraco-ui/uui-color-area": "1.8.0", + "@umbraco-ui/uui-color-picker": "1.8.0", + "@umbraco-ui/uui-color-slider": "1.8.0", + "@umbraco-ui/uui-color-swatch": "1.8.0", + "@umbraco-ui/uui-color-swatches": "1.8.0", + "@umbraco-ui/uui-combobox": "1.8.0", + "@umbraco-ui/uui-combobox-list": "1.8.0", + "@umbraco-ui/uui-css": "1.8.0", + "@umbraco-ui/uui-dialog": "1.8.0", + "@umbraco-ui/uui-dialog-layout": "1.8.0", + "@umbraco-ui/uui-file-dropzone": "1.8.0", + "@umbraco-ui/uui-file-preview": "1.8.0", + "@umbraco-ui/uui-form": "1.8.0", + "@umbraco-ui/uui-form-layout-item": "1.8.0", + "@umbraco-ui/uui-form-validation-message": "1.8.0", + "@umbraco-ui/uui-icon": "1.8.0", + "@umbraco-ui/uui-icon-registry": "1.8.0", + "@umbraco-ui/uui-icon-registry-essential": "1.8.0", + "@umbraco-ui/uui-input": "1.8.0", + "@umbraco-ui/uui-input-file": "1.8.0", + "@umbraco-ui/uui-input-lock": "1.8.0", + "@umbraco-ui/uui-input-password": "1.8.0", + "@umbraco-ui/uui-keyboard-shortcut": "1.8.0", + "@umbraco-ui/uui-label": "1.8.0", + "@umbraco-ui/uui-loader": "1.8.0", + "@umbraco-ui/uui-loader-bar": "1.8.0", + "@umbraco-ui/uui-loader-circle": "1.8.0", + "@umbraco-ui/uui-menu-item": "1.8.0", + "@umbraco-ui/uui-modal": "1.8.0", + "@umbraco-ui/uui-pagination": "1.8.0", + "@umbraco-ui/uui-popover": "1.8.0", + "@umbraco-ui/uui-popover-container": "1.8.0", + "@umbraco-ui/uui-progress-bar": "1.8.0", + "@umbraco-ui/uui-radio": "1.8.0", + "@umbraco-ui/uui-range-slider": "1.8.0", + "@umbraco-ui/uui-ref": "1.8.0", + "@umbraco-ui/uui-ref-list": "1.8.0", + "@umbraco-ui/uui-ref-node": "1.8.0", + "@umbraco-ui/uui-ref-node-data-type": "1.8.0", + "@umbraco-ui/uui-ref-node-document-type": "1.8.0", + "@umbraco-ui/uui-ref-node-form": "1.8.0", + "@umbraco-ui/uui-ref-node-member": "1.8.0", + "@umbraco-ui/uui-ref-node-package": "1.8.0", + "@umbraco-ui/uui-ref-node-user": "1.8.0", + "@umbraco-ui/uui-scroll-container": "1.8.0", + "@umbraco-ui/uui-select": "1.8.0", + "@umbraco-ui/uui-slider": "1.8.0", + "@umbraco-ui/uui-symbol-expand": "1.8.0", + "@umbraco-ui/uui-symbol-file": "1.8.0", + "@umbraco-ui/uui-symbol-file-dropzone": "1.8.0", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.8.0", + "@umbraco-ui/uui-symbol-folder": "1.8.0", + "@umbraco-ui/uui-symbol-lock": "1.8.0", + "@umbraco-ui/uui-symbol-more": "1.8.0", + "@umbraco-ui/uui-symbol-sort": "1.8.0", + "@umbraco-ui/uui-table": "1.8.0", + "@umbraco-ui/uui-tabs": "1.8.0", + "@umbraco-ui/uui-tag": "1.8.0", + "@umbraco-ui/uui-textarea": "1.8.0", + "@umbraco-ui/uui-toast-notification": "1.8.0", + "@umbraco-ui/uui-toast-notification-container": "1.8.0", + "@umbraco-ui/uui-toast-notification-layout": "1.8.0", + "@umbraco-ui/uui-toggle": "1.8.0", + "@umbraco-ui/uui-visually-hidden": "1.8.0" } }, "packages/uui-action-bar": { "name": "@umbraco-ui/uui-action-bar", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-button-group": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-button-group": "1.8.0" } }, "packages/uui-avatar": { "name": "@umbraco-ui/uui-avatar", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-avatar-group": { "name": "@umbraco-ui/uui-avatar-group", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-avatar": "1.7.0", - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-avatar": "1.8.0", + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-badge": { "name": "@umbraco-ui/uui-badge", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-base": { "name": "@umbraco-ui/uui-base", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "peerDependencies": { "lit": ">=2.8.0" @@ -32434,191 +32752,191 @@ }, "packages/uui-boolean-input": { "name": "@umbraco-ui/uui-boolean-input", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-box": { "name": "@umbraco-ui/uui-box", - "version": "1.7.2", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-css": "1.7.2" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-css": "1.8.0" } }, "packages/uui-breadcrumbs": { "name": "@umbraco-ui/uui-breadcrumbs", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-button": { "name": "@umbraco-ui/uui-button", - "version": "1.7.1", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-icon-registry-essential": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-icon-registry-essential": "1.8.0" } }, "packages/uui-button-group": { "name": "@umbraco-ui/uui-button-group", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-button-inline-create": { "name": "@umbraco-ui/uui-button-inline-create", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-card": { "name": "@umbraco-ui/uui-card", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-card-block-type": { "name": "@umbraco-ui/uui-card-block-type", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-card": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-card": "1.8.0" } }, "packages/uui-card-content-node": { "name": "@umbraco-ui/uui-card-content-node", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-card": "1.7.0", - "@umbraco-ui/uui-icon": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-card": "1.8.0", + "@umbraco-ui/uui-icon": "1.8.0" } }, "packages/uui-card-media": { "name": "@umbraco-ui/uui-card-media", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-card": "1.7.0", - "@umbraco-ui/uui-symbol-file": "1.7.0", - "@umbraco-ui/uui-symbol-folder": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-card": "1.8.0", + "@umbraco-ui/uui-symbol-file": "1.8.0", + "@umbraco-ui/uui-symbol-folder": "1.8.0" } }, "packages/uui-card-user": { "name": "@umbraco-ui/uui-card-user", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-avatar": "1.7.0", - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-card": "1.7.0" + "@umbraco-ui/uui-avatar": "1.8.0", + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-card": "1.8.0" } }, "packages/uui-caret": { "name": "@umbraco-ui/uui-caret", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-checkbox": { "name": "@umbraco-ui/uui-checkbox", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-boolean-input": "1.7.0", - "@umbraco-ui/uui-icon-registry-essential": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-boolean-input": "1.8.0", + "@umbraco-ui/uui-icon-registry-essential": "1.8.0" } }, "packages/uui-color-area": { "name": "@umbraco-ui/uui-color-area", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", + "@umbraco-ui/uui-base": "1.8.0", "colord": "^2.9.3" } }, "packages/uui-color-picker": { "name": "@umbraco-ui/uui-color-picker", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-popover-container": "1.7.0", + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-popover-container": "1.8.0", "colord": "^2.9.3" } }, "packages/uui-color-slider": { "name": "@umbraco-ui/uui-color-slider", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-color-swatch": { "name": "@umbraco-ui/uui-color-swatch", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-icon-registry-essential": "1.7.0", + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-icon-registry-essential": "1.8.0", "colord": "^2.9.3" } }, "packages/uui-color-swatches": { "name": "@umbraco-ui/uui-color-swatches", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-color-swatch": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-color-swatch": "1.8.0" } }, "packages/uui-combobox": { "name": "@umbraco-ui/uui-combobox", - "version": "1.7.1", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-button": "1.7.1", - "@umbraco-ui/uui-combobox-list": "1.7.0", - "@umbraco-ui/uui-icon": "1.7.0", - "@umbraco-ui/uui-popover-container": "1.7.0", - "@umbraco-ui/uui-scroll-container": "1.7.0", - "@umbraco-ui/uui-symbol-expand": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-button": "1.8.0", + "@umbraco-ui/uui-combobox-list": "1.8.0", + "@umbraco-ui/uui-icon": "1.8.0", + "@umbraco-ui/uui-popover-container": "1.8.0", + "@umbraco-ui/uui-scroll-container": "1.8.0", + "@umbraco-ui/uui-symbol-expand": "1.8.0" } }, "packages/uui-combobox-list": { "name": "@umbraco-ui/uui-combobox-list", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-css": { "name": "@umbraco-ui/uui-css", - "version": "1.7.2", + "version": "1.8.0", "license": "MIT", "peerDependencies": { "lit": ">=2.8.0" @@ -32626,490 +32944,490 @@ }, "packages/uui-dialog": { "name": "@umbraco-ui/uui-dialog", - "version": "1.7.2", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-css": "1.7.2" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-css": "1.8.0" } }, "packages/uui-dialog-layout": { "name": "@umbraco-ui/uui-dialog-layout", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-file-dropzone": { "name": "@umbraco-ui/uui-file-dropzone", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-symbol-file-dropzone": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-symbol-file-dropzone": "1.8.0" } }, "packages/uui-file-preview": { "name": "@umbraco-ui/uui-file-preview", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-symbol-file": "1.7.0", - "@umbraco-ui/uui-symbol-file-thumbnail": "1.7.0", - "@umbraco-ui/uui-symbol-folder": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-symbol-file": "1.8.0", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.8.0", + "@umbraco-ui/uui-symbol-folder": "1.8.0" } }, "packages/uui-form": { "name": "@umbraco-ui/uui-form", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-form-layout-item": { "name": "@umbraco-ui/uui-form-layout-item", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-form-validation-message": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-form-validation-message": "1.8.0" } }, "packages/uui-form-validation-message": { "name": "@umbraco-ui/uui-form-validation-message", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-icon": { "name": "@umbraco-ui/uui-icon", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-icon-registry": { "name": "@umbraco-ui/uui-icon-registry", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-icon": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-icon": "1.8.0" } }, "packages/uui-icon-registry-essential": { "name": "@umbraco-ui/uui-icon-registry-essential", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-icon-registry": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-icon-registry": "1.8.0" } }, "packages/uui-input": { "name": "@umbraco-ui/uui-input", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-input-file": { "name": "@umbraco-ui/uui-input-file", - "version": "1.7.1", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-action-bar": "1.7.0", - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-button": "1.7.1", - "@umbraco-ui/uui-file-dropzone": "1.7.0", - "@umbraco-ui/uui-icon": "1.7.0", - "@umbraco-ui/uui-icon-registry-essential": "1.7.0" + "@umbraco-ui/uui-action-bar": "1.8.0", + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-button": "1.8.0", + "@umbraco-ui/uui-file-dropzone": "1.8.0", + "@umbraco-ui/uui-icon": "1.8.0", + "@umbraco-ui/uui-icon-registry-essential": "1.8.0" } }, "packages/uui-input-lock": { "name": "@umbraco-ui/uui-input-lock", - "version": "1.7.1", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-button": "1.7.1", - "@umbraco-ui/uui-icon": "1.7.0", - "@umbraco-ui/uui-input": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-button": "1.8.0", + "@umbraco-ui/uui-icon": "1.8.0", + "@umbraco-ui/uui-input": "1.8.0" } }, "packages/uui-input-password": { "name": "@umbraco-ui/uui-input-password", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-icon-registry-essential": "1.7.0", - "@umbraco-ui/uui-input": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-icon-registry-essential": "1.8.0", + "@umbraco-ui/uui-input": "1.8.0" } }, "packages/uui-keyboard-shortcut": { "name": "@umbraco-ui/uui-keyboard-shortcut", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-label": { "name": "@umbraco-ui/uui-label", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-loader": { "name": "@umbraco-ui/uui-loader", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-loader-bar": { "name": "@umbraco-ui/uui-loader-bar", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-loader-circle": { "name": "@umbraco-ui/uui-loader-circle", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-menu-item": { "name": "@umbraco-ui/uui-menu-item", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-loader-bar": "1.7.0", - "@umbraco-ui/uui-symbol-expand": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-loader-bar": "1.8.0", + "@umbraco-ui/uui-symbol-expand": "1.8.0" } }, "packages/uui-modal": { "name": "@umbraco-ui/uui-modal", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-pagination": { "name": "@umbraco-ui/uui-pagination", - "version": "1.7.1", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-button": "1.7.1", - "@umbraco-ui/uui-button-group": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-button": "1.8.0", + "@umbraco-ui/uui-button-group": "1.8.0" } }, "packages/uui-popover": { "name": "@umbraco-ui/uui-popover", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-popover-container": { "name": "@umbraco-ui/uui-popover-container", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-progress-bar": { "name": "@umbraco-ui/uui-progress-bar", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-radio": { "name": "@umbraco-ui/uui-radio", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-range-slider": { "name": "@umbraco-ui/uui-range-slider", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-ref": { "name": "@umbraco-ui/uui-ref", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-ref-list": { "name": "@umbraco-ui/uui-ref-list", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-ref-node": { "name": "@umbraco-ui/uui-ref-node", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-icon": "1.7.0", - "@umbraco-ui/uui-ref": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-icon": "1.8.0", + "@umbraco-ui/uui-ref": "1.8.0" } }, "packages/uui-ref-node-data-type": { "name": "@umbraco-ui/uui-ref-node-data-type", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-ref-node": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-ref-node": "1.8.0" } }, "packages/uui-ref-node-document-type": { "name": "@umbraco-ui/uui-ref-node-document-type", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-ref-node": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-ref-node": "1.8.0" } }, "packages/uui-ref-node-form": { "name": "@umbraco-ui/uui-ref-node-form", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-ref-node": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-ref-node": "1.8.0" } }, "packages/uui-ref-node-member": { "name": "@umbraco-ui/uui-ref-node-member", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-ref-node": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-ref-node": "1.8.0" } }, "packages/uui-ref-node-package": { "name": "@umbraco-ui/uui-ref-node-package", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-ref-node": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-ref-node": "1.8.0" } }, "packages/uui-ref-node-user": { "name": "@umbraco-ui/uui-ref-node-user", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-ref-node": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-ref-node": "1.8.0" } }, "packages/uui-scroll-container": { "name": "@umbraco-ui/uui-scroll-container", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-select": { "name": "@umbraco-ui/uui-select", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-slider": { "name": "@umbraco-ui/uui-slider", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-symbol-expand": { "name": "@umbraco-ui/uui-symbol-expand", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-symbol-file": { "name": "@umbraco-ui/uui-symbol-file", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-symbol-file-dropzone": { "name": "@umbraco-ui/uui-symbol-file-dropzone", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-symbol-file-thumbnail": { "name": "@umbraco-ui/uui-symbol-file-thumbnail", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-symbol-folder": { "name": "@umbraco-ui/uui-symbol-folder", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-symbol-lock": { "name": "@umbraco-ui/uui-symbol-lock", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-symbol-more": { "name": "@umbraco-ui/uui-symbol-more", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-symbol-sort": { "name": "@umbraco-ui/uui-symbol-sort", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-table": { "name": "@umbraco-ui/uui-table", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-tabs": { "name": "@umbraco-ui/uui-tabs", - "version": "1.7.2", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-button": "1.7.1", - "@umbraco-ui/uui-popover-container": "1.7.0", - "@umbraco-ui/uui-symbol-more": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-button": "1.8.0", + "@umbraco-ui/uui-popover-container": "1.8.0", + "@umbraco-ui/uui-symbol-more": "1.8.0" } }, "packages/uui-tag": { "name": "@umbraco-ui/uui-tag", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-textarea": { "name": "@umbraco-ui/uui-textarea", - "version": "1.7.2", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } }, "packages/uui-toast-notification": { "name": "@umbraco-ui/uui-toast-notification", - "version": "1.7.2", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-button": "1.7.1", - "@umbraco-ui/uui-css": "1.7.2", - "@umbraco-ui/uui-icon": "1.7.0", - "@umbraco-ui/uui-icon-registry-essential": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-button": "1.8.0", + "@umbraco-ui/uui-css": "1.8.0", + "@umbraco-ui/uui-icon": "1.8.0", + "@umbraco-ui/uui-icon-registry-essential": "1.8.0" } }, "packages/uui-toast-notification-container": { "name": "@umbraco-ui/uui-toast-notification-container", - "version": "1.7.2", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-toast-notification": "1.7.2" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-toast-notification": "1.8.0" } }, "packages/uui-toast-notification-layout": { "name": "@umbraco-ui/uui-toast-notification-layout", - "version": "1.7.2", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-css": "1.7.2" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-css": "1.8.0" } }, "packages/uui-toggle": { "name": "@umbraco-ui/uui-toggle", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-boolean-input": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-boolean-input": "1.8.0" } }, "packages/uui-visually-hidden": { "name": "@umbraco-ui/uui-visually-hidden", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" } } } diff --git a/package.json b/package.json index 463425ffc..3c944f621 100644 --- a/package.json +++ b/package.json @@ -60,11 +60,11 @@ }, "devDependencies": { "@babel/core": "7.23.9", - "@lerna-lite/cli": "3.3.0", - "@lerna-lite/exec": "3.3.0", - "@lerna-lite/publish": "3.3.0", - "@lerna-lite/run": "3.3.0", - "@lerna-lite/version": "3.3.0", + "@lerna-lite/cli": "3.3.2", + "@lerna-lite/exec": "3.3.2", + "@lerna-lite/publish": "3.3.2", + "@lerna-lite/run": "3.3.2", + "@lerna-lite/version": "3.3.2", "@open-wc/testing": "4.0.0", "@rollup/plugin-node-resolve": "15.2.3", "@storybook/addon-a11y": "^7.6.14", @@ -105,9 +105,9 @@ "postcss-advanced-variables": "3.0.1", "postcss-cli": "11.0.0", "postcss-color-function": "4.1.0", - "postcss-custom-properties": "13.3.4", + "postcss-custom-properties": "13.3.6", "postcss-jsx": "0.36.4", - "postcss-load-config": "5.0.2", + "postcss-load-config": "5.0.3", "postcss-syntax": "0.36.2", "postcss-url": "10.1.3", "postcss-values-parser": "6.0.2", @@ -126,11 +126,11 @@ "rollup-plugin-postcss": "4.0.2", "storybook": "^7.6.14", "tsc-files": "1.1.4", - "turbo": "1.12.2", - "typescript": "5.2.2", - "vite": "5.0.12", + "turbo": "1.13.2", + "typescript": "5.4.5", + "vite": "5.0.13", "vite-plugin-turbosnap": "^1.0.3", - "vite-tsconfig-paths": "4.3.1", + "vite-tsconfig-paths": "4.3.2", "web-component-analyzer": "2.0.0" }, "workspaces": [ diff --git a/packages/uui-action-bar/CHANGELOG.md b/packages/uui-action-bar/CHANGELOG.md index 48bfef389..13f7f2fd6 100644 --- a/packages/uui-action-bar/CHANGELOG.md +++ b/packages/uui-action-bar/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.8.0](https://github.com/umbraco/Umbraco.UI/compare/v1.8.0-rc.3...v1.8.0) (2024-05-23) + +**Note:** Version bump only for package @umbraco-ui/uui-action-bar + +# [1.8.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.1...v1.8.0-rc.0) (2024-04-05) + +**Note:** Version bump only for package @umbraco-ui/uui-action-bar + # [1.7.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.0-rc.0...v1.7.0) (2024-02-13) **Note:** Version bump only for package @umbraco-ui/uui-action-bar diff --git a/packages/uui-action-bar/package.json b/packages/uui-action-bar/package.json index 8ec092051..4ad704d2c 100644 --- a/packages/uui-action-bar/package.json +++ b/packages/uui-action-bar/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-action-bar", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.7.0", - "@umbraco-ui/uui-button-group": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0", + "@umbraco-ui/uui-button-group": "1.8.0" }, "scripts": { "build": "npm run analyze && tsc --build && rollup -c rollup.config.js", diff --git a/packages/uui-avatar-group/CHANGELOG.md b/packages/uui-avatar-group/CHANGELOG.md index a1b20e225..5ef642ad2 100644 --- a/packages/uui-avatar-group/CHANGELOG.md +++ b/packages/uui-avatar-group/CHANGELOG.md @@ -3,6 +3,32 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.8.0](https://github.com/umbraco/Umbraco.UI/compare/v1.8.0-rc.3...v1.8.0) (2024-05-23) + +**Note:** Version bump only for package @umbraco-ui/uui-avatar-group + +# [1.8.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.1...v1.8.0-rc.0) (2024-04-05) + +### Features + +- FormControlMixin refactor for types safety and default values ([#745](https://github.com/umbraco/Umbraco.UI/issues/745)) ([37e473b](https://github.com/umbraco/Umbraco.UI/commit/37e473b004e35f69776617dba7787b0a4d64bd80)) + +### BREAKING CHANGES + +- rename to UUIFormControlMixin + +- ValueType type + +- append the ValueType type on getDefaultValue method + +- refactor for typings and default value + +- declare \_runValidators method + +- undefined Default Value Type + +- corrections + # [1.7.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.0-rc.0...v1.7.0) (2024-02-13) **Note:** Version bump only for package @umbraco-ui/uui-avatar-group diff --git a/packages/uui-avatar-group/lib/uui-avatar-group.story.ts b/packages/uui-avatar-group/lib/uui-avatar-group.story.ts index 80d6eae64..d82af8591 100644 --- a/packages/uui-avatar-group/lib/uui-avatar-group.story.ts +++ b/packages/uui-avatar-group/lib/uui-avatar-group.story.ts @@ -1,6 +1,6 @@ import '.'; -import { Story } from '@storybook/web-components'; +import { StoryFn } from '@storybook/web-components'; import { html } from 'lit'; import readme from '../README.md?raw'; @@ -18,7 +18,7 @@ export default { }, }; -export const AAAOverview: Story = props => html` +export const AAAOverview: StoryFn = props => html` diff --git a/packages/uui-avatar-group/package.json b/packages/uui-avatar-group/package.json index 2a2443fc5..227664273 100644 --- a/packages/uui-avatar-group/package.json +++ b/packages/uui-avatar-group/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-avatar-group", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-avatar": "1.7.0", - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-avatar": "1.8.0", + "@umbraco-ui/uui-base": "1.8.0" }, "scripts": { "build": "npm run analyze && tsc --build && rollup -c rollup.config.js", diff --git a/packages/uui-avatar/CHANGELOG.md b/packages/uui-avatar/CHANGELOG.md index 9f70c4989..0bc6d6d91 100644 --- a/packages/uui-avatar/CHANGELOG.md +++ b/packages/uui-avatar/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.8.0](https://github.com/umbraco/Umbraco.UI/compare/v1.8.0-rc.3...v1.8.0) (2024-05-23) + +**Note:** Version bump only for package @umbraco-ui/uui-avatar + +# [1.8.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.1...v1.8.0-rc.0) (2024-04-05) + +**Note:** Version bump only for package @umbraco-ui/uui-avatar + # [1.7.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.0-rc.0...v1.7.0) (2024-02-13) **Note:** Version bump only for package @umbraco-ui/uui-avatar diff --git a/packages/uui-avatar/package.json b/packages/uui-avatar/package.json index 7fc50b346..319fe0259 100644 --- a/packages/uui-avatar/package.json +++ b/packages/uui-avatar/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-avatar", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "description": "An avatar web component for displaying user avatars.", "keywords": [ @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" }, "scripts": { "build": "npm run analyze && tsc --build && rollup -c rollup.config.js", diff --git a/packages/uui-badge/CHANGELOG.md b/packages/uui-badge/CHANGELOG.md index 9602ad9b2..58ddae5b6 100644 --- a/packages/uui-badge/CHANGELOG.md +++ b/packages/uui-badge/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.8.0](https://github.com/umbraco/Umbraco.UI/compare/v1.8.0-rc.3...v1.8.0) (2024-05-23) + +**Note:** Version bump only for package @umbraco-ui/uui-badge + +# [1.8.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.1...v1.8.0-rc.0) (2024-04-05) + +**Note:** Version bump only for package @umbraco-ui/uui-badge + # [1.7.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.0-rc.0...v1.7.0) (2024-02-13) **Note:** Version bump only for package @umbraco-ui/uui-badge diff --git a/packages/uui-badge/package.json b/packages/uui-badge/package.json index 941d51606..d2cc93c13 100644 --- a/packages/uui-badge/package.json +++ b/packages/uui-badge/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-badge", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "description": "A badge to notify that there is something that requires attention of the user.", "keywords": [ @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.7.0" + "@umbraco-ui/uui-base": "1.8.0" }, "scripts": { "build": "npm run analyze && tsc --build && rollup -c rollup.config.js", diff --git a/packages/uui-base/CHANGELOG.md b/packages/uui-base/CHANGELOG.md index 8bf45a14a..c8074df4c 100644 --- a/packages/uui-base/CHANGELOG.md +++ b/packages/uui-base/CHANGELOG.md @@ -3,6 +3,34 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.8.0](https://github.com/umbraco/Umbraco.UI/compare/v1.8.0-rc.3...v1.8.0) (2024-05-23) + +### Features + +- Align FormControl implementation with latest from Backoffice Validation ([#788](https://github.com/umbraco/Umbraco.UI/issues/788)) ([0edfd0c](https://github.com/umbraco/Umbraco.UI/commit/0edfd0c4acfe29e7d108db83308baea8618d30b0)) + +# [1.8.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.1...v1.8.0-rc.0) (2024-04-05) + +### Features + +- FormControlMixin refactor for types safety and default values ([#745](https://github.com/umbraco/Umbraco.UI/issues/745)) ([37e473b](https://github.com/umbraco/Umbraco.UI/commit/37e473b004e35f69776617dba7787b0a4d64bd80)) + +### BREAKING CHANGES + +- rename to UUIFormControlMixin + +- ValueType type + +- append the ValueType type on getDefaultValue method + +- refactor for typings and default value + +- declare \_runValidators method + +- undefined Default Value Type + +- corrections + # [1.7.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.0-rc.0...v1.7.0) (2024-02-13) **Note:** Version bump only for package @umbraco-ui/uui-base diff --git a/packages/uui-base/lib/events/UUIFormControlEvent.ts b/packages/uui-base/lib/events/UUIFormControlEvent.ts index 8800385b0..63476a108 100644 --- a/packages/uui-base/lib/events/UUIFormControlEvent.ts +++ b/packages/uui-base/lib/events/UUIFormControlEvent.ts @@ -1,9 +1,9 @@ -import { FormControlMixinInterface } from '../mixins'; +import { UUIFormControlMixinInterface } from '../mixins'; import { UUIEvent } from './UUIEvent'; export class UUIFormControlEvent extends UUIEvent< {}, - FormControlMixinInterface + UUIFormControlMixinInterface > { constructor(evName: string, eventInit: any | null = {}) { super(evName, { diff --git a/packages/uui-base/lib/mixins/FormControlMixin.ts b/packages/uui-base/lib/mixins/FormControlMixin.ts index 56f621d96..f6575c98a 100644 --- a/packages/uui-base/lib/mixins/FormControlMixin.ts +++ b/packages/uui-base/lib/mixins/FormControlMixin.ts @@ -3,38 +3,10 @@ import { property } from 'lit/decorators.js'; import { UUIFormControlEvent } from '../events'; -type Constructor = new (...args: any[]) => T; +type HTMLElementConstructor = new (...args: any[]) => T; type NativeFormControlElement = HTMLInputElement; // Eventually use a specific interface or list multiple options like appending these types: ... | HTMLTextAreaElement | HTMLSelectElement -// TODO: make it possible to define FormDataEntryValue type. -export declare abstract class FormControlMixinInterface extends LitElement { - formAssociated: boolean; - get value(): FormDataEntryValue | FormData; - set value(newValue: FormDataEntryValue | FormData); - name: string; - formResetCallback(): void; - checkValidity(): boolean; - get validationMessage(): string; - get validity(): ValidityState; - public setCustomValidity(error: string): void; - public submit(): void; - protected _value: FormDataEntryValue | FormData; - protected _internals: any; - protected abstract getFormElement(): HTMLElement | undefined; - protected addValidator: ( - flagKey: FlagTypes, - getMessageMethod: () => String, - checkMethod: () => boolean, - ) => void; - protected addFormControlElement(element: NativeFormControlElement): void; - pristine: boolean; - required: boolean; - requiredMessage: string; - error: boolean; - errorMessage: string; -} - /* FlagTypes type options originate from: * https://developer.mozilla.org/en-US/docs/Web/API/ValidityState * */ @@ -53,22 +25,82 @@ type FlagTypes = | 'valid'; // Acceptable as an internal interface/type, BUT if exposed externally this should be turned into a public class in a separate file. -interface Validator { +interface UUIFormControlValidatorConfig { flagKey: FlagTypes; - getMessageMethod: () => String; + getMessageMethod: () => string; checkMethod: () => boolean; } +export interface UUIFormControlMixinInterface extends LitElement { + addValidator: ( + flagKey: FlagTypes, + getMessageMethod: () => string, + checkMethod: () => boolean, + ) => void; + removeValidator: (obj: UUIFormControlValidatorConfig) => void; + //static formAssociated: boolean; + //protected getFormElement(): HTMLElement | undefined | null; // allows for null as it makes it simpler to just implement a querySelector as that might return null. [NL] + focusFirstInvalidElement(): void; + get value(): ValueType; + set value(newValue: ValueType); + formResetCallback(): void; + checkValidity(): boolean; + get validationMessage(): string; + get validity(): ValidityState; + setCustomValidity(error?: string): void; + submit(): void; + pristine: boolean; +} + +export declare abstract class UUIFormControlMixinElement + extends LitElement + implements UUIFormControlMixinInterface +{ + protected _internals: ElementInternals; + protected _runValidators(): void; + addValidator: ( + flagKey: FlagTypes, + getMessageMethod: () => string, + checkMethod: () => boolean, + ) => void; + removeValidator: (obj: UUIFormControlValidatorConfig) => void; + protected addFormControlElement(element: NativeFormControlElement): void; + + //static formAssociated: boolean; + protected abstract getFormElement(): HTMLElement | undefined | null; // allows for null as it makes it simpler to just implement a querySelector as that might return null. [NL] + focusFirstInvalidElement(): void; + get value(): ValueType; + set value(newValue: ValueType); + formResetCallback(): void; + checkValidity(): boolean; + get validationMessage(): string; + get validity(): ValidityState; + public setCustomValidity(error: string): void; + public submit(): void; + pristine: boolean; + + name: string; + required: boolean; + requiredMessage: string; + error: boolean; + errorMessage: string; +} + /** * The mixin allows a custom element to participate in HTML forms. * * @param {Object} superClass - superclass to be extended. * @mixin */ -export const FormControlMixin = >( +export const UUIFormControlMixin = < + ValueType = FormDataEntryValue | FormData, + T extends HTMLElementConstructor = typeof LitElement, + DefaultValueType = undefined, +>( superClass: T, + defaultValue?: DefaultValueType, ) => { - abstract class FormControlMixinClass extends superClass { + abstract class UUIFormControlMixinClass extends superClass { /** * This is a static class field indicating that the element is can be used inside a native form and participate in its events. * It may require a polyfill, check support here https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals. @@ -88,38 +120,53 @@ export const FormControlMixin = >( /** * Value of this form control. + * If you dont want the setFormValue to be called on the ElementInternals, then prevent calling this method, by not calling super.value = newValue in your implementation of the value setter method. * @type {string} - * @attr + * @attr value * @default '' */ @property() // Do not 'reflect' as the attribute is used as fallback. - get value() { - return this._value; + get value(): ValueType | DefaultValueType { + return this.#value; } - set value(newValue) { - const oldValue = this._value; - this._value = newValue; + set value(newValue: ValueType | DefaultValueType) { + const oldValue = this.#value; + this.#value = newValue; if ( 'ElementInternals' in window && - //@ts-ignore 'setFormValue' in window.ElementInternals.prototype ) { - this._internals.setFormValue(this._value); + this._internals.setFormValue((this.#value as any) ?? null); } this.requestUpdate('value', oldValue); } // Validation - private _validityState: any = {}; + #validity: any = {}; /** * Determines wether the form control has been touched or interacted with, this determines wether the validation-status of this form control should be made visible. * @type {boolean} * @attr - * @default false + * @default true */ - @property({ type: Boolean, reflect: true }) - pristine: boolean = true; + @property({ type: Boolean, reflect: true, attribute: 'pristine' }) + public set pristine(value: boolean) { + if (this._pristine !== value) { + this._pristine = value; + // I have trouble with the reflect option on this one, maybe reflect does not work from mixins? [NL] + if (value) { + this.setAttribute('pristine', ''); + } else { + this.removeAttribute('pristine'); + } + this.#dispatchValidationState(); + } + } + public get pristine(): boolean { + return this._pristine; + } + private _pristine: boolean = true; /** * Apply validation rule for requiring a value of this form control. @@ -150,15 +197,17 @@ export const FormControlMixin = >( @property({ type: String, attribute: 'error-message' }) errorMessage = 'This field is invalid'; - private _value: FormDataEntryValue | FormData = ''; - private _internals: any; - private _form: HTMLFormElement | null = null; - private _validators: Validator[] = []; - private _formCtrlElements: NativeFormControlElement[] = []; + #value: ValueType | DefaultValueType = + defaultValue as unknown as DefaultValueType; + protected _internals: ElementInternals; + #form: HTMLFormElement | null = null; + #validators: UUIFormControlValidatorConfig[] = []; + #formCtrlElements: NativeFormControlElement[] = []; constructor(...args: any[]) { super(...args); - this._internals = (this as any).attachInternals(); + this._internals = this.attachInternals(); + this.setAttribute('pristine', ''); this.addValidator( 'valueMissing', @@ -173,16 +222,17 @@ export const FormControlMixin = >( this.addEventListener('blur', () => { this.pristine = false; + this.checkValidity(); }); } /** - * Determn wether this FormControl has a value. + * Determine wether this FormControl has a value. * @method hasValue * @returns {boolean} */ public hasValue(): boolean { - return this.value !== ''; + return this.value !== this.getDefaultValue(); } /** @@ -194,13 +244,33 @@ export const FormControlMixin = >( */ protected abstract getFormElement(): HTMLElement | undefined; + /** + * Focus first element that is invalid. + * @method focusFirstInvalidElement + * @returns {HTMLElement | undefined} + */ + focusFirstInvalidElement() { + const firstInvalid = this.#formCtrlElements.find( + el => el.validity.valid === false, + ); + if (firstInvalid) { + if ('focusFirstInvalidElement' in firstInvalid) { + (firstInvalid as any).focusFirstInvalidElement(); + } else { + firstInvalid.focus(); + } + } else { + this.focus(); + } + } + disconnectedCallback(): void { super.disconnectedCallback(); - this._removeFormListeners(); + this.#removeFormListeners(); } - private _removeFormListeners() { - if (this._form) { - this._form.removeEventListener('submit', this._onFormSubmit); + #removeFormListeners() { + if (this.#form) { + this.#form.removeEventListener('submit', this.#onFormSubmit); } } @@ -221,22 +291,22 @@ export const FormControlMixin = >( */ protected addValidator( flagKey: FlagTypes, - getMessageMethod: () => String, + getMessageMethod: () => string, checkMethod: () => boolean, - ): Validator { + ): UUIFormControlValidatorConfig { const obj = { flagKey: flagKey, getMessageMethod: getMessageMethod, checkMethod: checkMethod, }; - this._validators.push(obj); + this.#validators.push(obj); return obj; } - protected removeValidator(validator: Validator) { - const index = this._validators.indexOf(validator); + protected removeValidator(validator: UUIFormControlValidatorConfig) { + const index = this.#validators.indexOf(validator); if (index !== -1) { - this._validators.splice(index, 1); + this.#validators.splice(index, 1); } } @@ -246,10 +316,22 @@ export const FormControlMixin = >( * @param element {NativeFormControlElement} - element to validate and include as part of this form association. */ protected addFormControlElement(element: NativeFormControlElement) { - this._formCtrlElements.push(element); + this.#formCtrlElements.push(element); + element.addEventListener(UUIFormControlEvent.INVALID, () => { + this._runValidators(); + }); + element.addEventListener(UUIFormControlEvent.VALID, () => { + this._runValidators(); + }); + // If we are in validationMode/'touched'/not-pristine then we need to validate this newly added control. [NL] + if (this._pristine === false) { + element.checkValidity(); + // I think we could just execute validators for the new control, but now lets just run al of it again. [NL] + this._runValidators(); + } } - private _customValidityObject?: Validator; + private _customValidityObject?: UUIFormControlValidatorConfig; /** * @method setCustomValidity @@ -273,47 +355,64 @@ export const FormControlMixin = >( this._runValidators(); } - private _runValidators() { - this._validityState = {}; - - // Loop through inner native form controls to adapt their validityState. - this._formCtrlElements.forEach(formCtrlEl => { - for (const key in formCtrlEl.validity) { - if (key !== 'valid' && (formCtrlEl.validity as any)[key]) { - (this as any)._validityState[key] = true; - this._internals.setValidity( - (this as any)._validityState, - formCtrlEl.validationMessage, - formCtrlEl, - ); + /** + * @protected + * @method _runValidators + * @description Run all validators and set the validityState of this form control. + * Run this method when you want to re-run all validators. + * This can be relevant if you have a validators that is using values that is not triggering the Lit Updated Callback. + * Such are mainly properties that are not declared as a Lit state and or Lit property. + */ + protected _runValidators() { + this.#validity = {}; + const messages: Set = new Set(); + let innerFormControlEl: NativeFormControlElement | undefined = undefined; + + // Loop through inner native form controls to adapt their validityState. [NL] + this.#formCtrlElements.forEach(formCtrlEl => { + let key: keyof ValidityState; + for (key in formCtrlEl.validity) { + if (key !== 'valid' && formCtrlEl.validity[key]) { + this.#validity[key] = true; + messages.add(formCtrlEl.validationMessage); + innerFormControlEl ??= formCtrlEl; } } }); - // Loop through custom validators, currently its intentional to have them overwritten native validity. but might need to be reconsidered (This current way enables to overwrite with custom messages) - this._validators.forEach(validator => { + // Loop through custom validators, currently its intentional to have them overwritten native validity. but might need to be reconsidered (This current way enables to overwrite with custom messages) [NL] + this.#validators.forEach(validator => { if (validator.checkMethod()) { - this._validityState[validator.flagKey] = true; - this._internals.setValidity( - this._validityState, - validator.getMessageMethod(), - this.getFormElement(), - ); + this.#validity[validator.flagKey] = true; + messages.add(validator.getMessageMethod()); } }); - const hasError = Object.values(this._validityState).includes(true); + const hasError = Object.values(this.#validity).includes(true); // https://developer.mozilla.org/en-US/docs/Web/API/ValidityState#valid - this._validityState.valid = !hasError; + this.#validity.valid = !hasError; + + // Transfer the new validityState to the ElementInternals. [NL] + this._internals.setValidity( + this.#validity, + // Turn messages into an array and join them with a comma. [NL]: + [...messages].join(', '), + innerFormControlEl ?? this.getFormElement() ?? undefined, + ); + + this.#dispatchValidationState(); + } - if (hasError) { + #dispatchValidationState() { + // Do not fire validation events unless we are not pristine/'untouched'/not-in-validation-mode. [NL] + if (this._pristine === true) return; + if (this.#validity.valid) { + this.dispatchEvent(new UUIFormControlEvent(UUIFormControlEvent.VALID)); + } else { this.dispatchEvent( new UUIFormControlEvent(UUIFormControlEvent.INVALID), ); - } else { - this._internals.setValidity({}); - this.dispatchEvent(new UUIFormControlEvent(UUIFormControlEvent.VALID)); } } @@ -322,33 +421,43 @@ export const FormControlMixin = >( this._runValidators(); } - private _onFormSubmit = () => { + #onFormSubmit = () => { this.pristine = false; }; public submit() { - this._form?.requestSubmit(); + this.#form?.requestSubmit(); } public formAssociatedCallback() { - this._removeFormListeners(); - this._form = this._internals.form; - if (this._form) { + this.#removeFormListeners(); + this.#form = this._internals.form; + if (this.#form) { // This relies on the form begin a 'uui-form': - if (this._form.hasAttribute('submit-invalid')) { + if (this.#form.hasAttribute('submit-invalid')) { this.pristine = false; } - this._form.addEventListener('submit', this._onFormSubmit); + this.#form.addEventListener('submit', this.#onFormSubmit); } } public formResetCallback() { this.pristine = true; - this.value = this.getAttribute('value') || ''; + this.value = this.getInitialValue() ?? this.getDefaultValue(); + } + + protected getDefaultValue(): DefaultValueType { + return defaultValue as DefaultValueType; + } + protected getInitialValue(): ValueType | DefaultValueType { + return this.getAttribute('value') as ValueType | DefaultValueType; } public checkValidity() { - for (const key in this._formCtrlElements) { - if (this._formCtrlElements[key].checkValidity() === false) { + this.pristine = false; + this._runValidators(); + + for (const key in this.#formCtrlElements) { + if (this.#formCtrlElements[key].checkValidity() === false) { return false; } } @@ -358,13 +467,15 @@ export const FormControlMixin = >( // https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/validity public get validity(): ValidityState { - return this._validityState; + return this.#validity; } get validationMessage() { return this._internals?.validationMessage; } } - return FormControlMixinClass as unknown as Constructor & + return UUIFormControlMixinClass as unknown as HTMLElementConstructor< + UUIFormControlMixinElement + > & T; }; diff --git a/packages/uui-base/package.json b/packages/uui-base/package.json index 456cc7c0d..de507bd03 100644 --- a/packages/uui-base/package.json +++ b/packages/uui-base/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-base", - "version": "1.7.0", + "version": "1.8.0", "license": "MIT", "keywords": [ "Umbraco", diff --git a/packages/uui-boolean-input/CHANGELOG.md b/packages/uui-boolean-input/CHANGELOG.md index 1131dd65b..7afbed299 100644 --- a/packages/uui-boolean-input/CHANGELOG.md +++ b/packages/uui-boolean-input/CHANGELOG.md @@ -3,6 +3,32 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.8.0](https://github.com/umbraco/Umbraco.UI/compare/v1.8.0-rc.3...v1.8.0) (2024-05-23) + +**Note:** Version bump only for package @umbraco-ui/uui-boolean-input + +# [1.8.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.1...v1.8.0-rc.0) (2024-04-05) + +### Features + +- FormControlMixin refactor for types safety and default values ([#745](https://github.com/umbraco/Umbraco.UI/issues/745)) ([37e473b](https://github.com/umbraco/Umbraco.UI/commit/37e473b004e35f69776617dba7787b0a4d64bd80)) + +### BREAKING CHANGES + +- rename to UUIFormControlMixin + +- ValueType type + +- append the ValueType type on getDefaultValue method + +- refactor for typings and default value + +- declare \_runValidators method + +- undefined Default Value Type + +- corrections + # [1.7.0](https://github.com/umbraco/Umbraco.UI/compare/v1.7.0-rc.0...v1.7.0) (2024-02-13) **Note:** Version bump only for package @umbraco-ui/uui-boolean-input diff --git a/packages/uui-boolean-input/lib/uui-boolean-input.element.ts b/packages/uui-boolean-input/lib/uui-boolean-input.element.ts index 484e931fe..80e5124e4 100644 --- a/packages/uui-boolean-input/lib/uui-boolean-input.element.ts +++ b/packages/uui-boolean-input/lib/uui-boolean-input.element.ts @@ -1,4 +1,7 @@ -import { FormControlMixin, LabelMixin } from '@umbraco-ui/uui-base/lib/mixins'; +import { + UUIFormControlMixin, + LabelMixin, +} from '@umbraco-ui/uui-base/lib/mixins'; import { css, html, LitElement, TemplateResult } from 'lit'; import { property, query } from 'lit/decorators.js'; @@ -12,15 +15,18 @@ type LabelPosition = 'left' | 'right' | 'top' | 'bottom'; * @fires UUIBooleanInputEvent#change on change * @abstract */ -export abstract class UUIBooleanInputElement extends FormControlMixin( +export abstract class UUIBooleanInputElement extends UUIFormControlMixin( LabelMixin('', LitElement), + '', ) { + private _value = ''; + /** intentional overwrite of FormControlMixins value getter and setter method. */ get value() { - return this._value as string; + return this._value; } set value(newVal: string) { - const oldValue = this._value; + const oldValue = super.value; this._value = newVal; if ( 'ElementInternals' in window && @@ -93,7 +99,7 @@ export abstract class UUIBooleanInputElement extends FormControlMixin( this.addEventListener('keypress', this._onKeypress); } - protected getFormElement(): HTMLElement { + protected getFormElement(): HTMLInputElement { return this._input; } @@ -139,10 +145,12 @@ export abstract class UUIBooleanInputElement extends FormControlMixin( /** * This method enables