diff --git a/.changeset/ten-monkeys-dress.md b/.changeset/ten-monkeys-dress.md new file mode 100644 index 000000000..79aec66c6 --- /dev/null +++ b/.changeset/ten-monkeys-dress.md @@ -0,0 +1,5 @@ +--- +'@crowdstrike/glide-core': patch +--- + +Input's `type` attribute is now reflected. diff --git a/.changeset/twenty-pandas-brake.md b/.changeset/twenty-pandas-brake.md new file mode 100644 index 000000000..722d0781b --- /dev/null +++ b/.changeset/twenty-pandas-brake.md @@ -0,0 +1,21 @@ +--- +'@crowdstrike/glide-core': minor +--- + +- Tab Panel no longer has an unused static `instanceCount` property. +- Toggle no longer has a `name` property. `name` only applies to form controls and was unused. +- Tree Item's `hasChildTreeItems` and `hasExpandIcon` properties and its `toggleExpand()` method have been marked private. + +Additionally, some internal changes were made to facillitate generating documentation programmatically forced us remove a few exported types and rename some custom properties: + +- Input no longer exports a `SUPPORTED_TYPES` interface. +- Toasts no longer exports a `Toast` interface. +- Tab Panel's custom properties have been renamed: + + ```diff + - --panel-padding-inline-end + + --padding-inline-end + + - --panel-padding-inline-start + + --padding-inline-start + ``` diff --git a/.husky/pre-push b/.husky/pre-push index dee339b11..093f7af24 100755 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -1,4 +1,6 @@ #!/bin/sh . "$(dirname "$0")/_/husky.sh" -NODE_ENV=production pnpm typecheck && NODE_ENV=production pnpm test +NODE_ENV=production pnpm start +NODE_ENV=production pnpm test +NODE_ENV=production pnpm typecheck diff --git a/.stylelintrc.js b/.stylelintrc.js index 00e7d3ec5..667465faf 100644 --- a/.stylelintrc.js +++ b/.stylelintrc.js @@ -6,6 +6,7 @@ export default { 'stylelint-use-nesting', 'stylelint-use-logical', 'stylelint-order', + './dist/stylelint/plugin', ], rules: { // https://github.com/w3c/csswg-drafts/issues/9496 @@ -17,5 +18,6 @@ export default { 'no-descending-specificity': null, 'order/properties-alphabetical-order': true, 'prettier/prettier': true, + 'glide-core/no-unprefixed-private-custom-property': true, }, }; diff --git a/.vscode/settings.json b/.vscode/settings.json index 9bafe9a75..f4c59d164 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,11 +1,11 @@ { - "eslint.workingDirectories": [{ "mode": "auto" }], - "editor.formatOnSave": true, "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, - "stylelint.validate": ["css", "postcss", "typescript"], "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" - } + }, + "editor.formatOnSave": true, + "eslint.workingDirectories": [{ "mode": "auto" }], + "stylelint.validate": ["css", "postcss", "typescript"] } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 33f0b4ba5..95322a617 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -146,44 +146,35 @@ Embrace encapsulation wherever you can. #### Avoid styling `:host` -Styling `:host` exposes the styles to consumers—allowing internal styles to be overridden. -Due to that, we do not recommend styling `:host` in our components, but rather using CSS variables targeting the tag directly or using a class name. +Styling `:host` exposes styles to consumers—allowing internal styles to be overridden. +Style classes directly instead: ```css /* ✅ -- GOOD */ -/* Target the button tag directly */ -button { - background-color: var(--button-background-color); -} - -/* Or use a class name `; } } ``` @@ -225,13 +214,7 @@ export default class GlideCoreExample extends LitElement { @customElement('glide-core-example') export default class GlideCoreExample extends LitElement { override render() { - return html` -
- - Details -
-
- `; + return html` `; } } ``` @@ -347,15 +330,15 @@ If you need elements from a specific slot, use [assignedElements()](https://deve #### Prefer using animations only when the user has no reduced motion preference The [`prefers-reduced-motion`](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion) media query is used to detect if a user has enabled a setting on their device to minimize inessential motion. -Our accessibility team recommends only enabling animations when the user doesn't prefer reduced motion. +Our accessibility team recommends only enabling animations when the user has that setting turned off. ```css /* ✅ -- GOOD */ .animation { - background-color: purple; + transform: translateX(100%); @media (prefers-reduced-motion: no-preference) { - animation: pulse 1s linear infinite both; + transition: transform 1s; } } ``` @@ -363,8 +346,8 @@ Our accessibility team recommends only enabling animations when the user doesn't ```css /* ❌ -- BAD */ .animation { - animation: pulse 1s linear infinite both; - background-color: purple; + transform: translateX(100%); + transition: transform 1s; } ``` @@ -552,7 +535,7 @@ There are many ways to target the root element of a component in CSS; however, w // ✅ -- GOOD css` .component { - background-color: red; + display: flex; } `; @@ -565,7 +548,7 @@ render() { // ❌ -- BAD css` div { - background-color: red; + display: flex; } `; @@ -616,4 +599,4 @@ So it's best to always override and decorate (using `@property`) inherited prope It helps clarify how different scripts are used in different contexts. It also neatly abstracts away specific script names from CI configuration. -In general, think of `:development` scripts as either long-running (`--serve`, `--watch`) or mutative (`--fix`, `--write`) and `:production` scripts as neither of those things. +In general, think of `*:development:*` scripts as long-running (`--serve`, `--watch`) and mutative (`--fix`, `--write`) and `*:production:*` scripts as neither. diff --git a/eslint.config.js b/eslint.config.js index 5493c591e..1d5a75c98 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -45,6 +45,11 @@ export default [ '@crowdstrike/glide-core/no-space-press': 'error', '@crowdstrike/glide-core/prefer-shadow-root-mode': 'error', '@crowdstrike/glide-core/prefixed-lit-element-class-declaration': 'error', + '@crowdstrike/glide-core/public-member-return-type': 'error', + '@crowdstrike/glide-core/public-getter-default-comment': 'error', + '@crowdstrike/glide-core/event-dispatch-from-this': 'error', + '@crowdstrike/glide-core/string-event-name': 'error', + '@crowdstrike/glide-core/slot-type-comment': 'error', // Enabling this rule would force us to `await` any function that returns a promise. // One example is a function that itself `await`s `updateComplete`. The rule is a bit @@ -289,7 +294,6 @@ export default [ // and other times something else depending on what it's chained with. ...typescript.configs.disableTypeChecked, }, - { files: ['src/**/*.test.ts', 'src/*.test.*.ts', 'src/*.*.test.*.ts'], rules: { @@ -307,6 +311,18 @@ export default [ '@crowdstrike/glide-core/no-skip-tests': 'error', '@crowdstrike/glide-core/no-to-have-attribute': 'error', '@crowdstrike/glide-core/prefer-to-be-true-or-false': 'error', + '@crowdstrike/glide-core/public-member-return-type': 'off', + '@crowdstrike/glide-core/public-getter-default-comment': 'off', + '@crowdstrike/glide-core/event-dispatch-from-this': 'off', + '@crowdstrike/glide-core/string-event-name': 'off', + '@crowdstrike/glide-core/slot-type-comment': 'off', + }, + }, + { + files: ['src/library/**'], + rules: { + '@crowdstrike/glide-core/public-member-return-type': 'off', + '@crowdstrike/glide-core/public-getter-default-comment': 'off', }, }, ]; diff --git a/package.json b/package.json index bc7c3e8e7..26133acfd 100644 --- a/package.json +++ b/package.json @@ -11,64 +11,75 @@ }, "files": [ "dist", + "!dist/*.*.test.*.d.ts", + "!dist/*.*.test.*.js", + "!dist/*.stories.d.ts", + "!dist/*.stories.js", + "!dist/*.test.*.d.ts", + "!dist/*.test.*.js", + "!dist/cem-analyzer-plugins", "!dist/eslint", "!dist/icons/storybook.*", "!dist/storybook", - "!dist/*.test.js", - "!dist/*.test.*.d.ts", - "!dist/*.test.*.js", - "!dist/*.stories.js", - "!dist/*.stories.d.ts" + "!dist/stylelint", + "!dist/ts-morph" ], "exports": { "./*.js": { "types": "./dist/*.d.ts", "import": "./dist/*.js" }, - "./*.styles.js": null, - "./library/*": null, - "./icons/*": null, - "./styles/*": null, - "./label.js": null, - "./toasts.toast.js": null, + "./translations/*": null, "./tooltip.container.js": null, + "./toasts.toast.js": null, + "./styles/variables.css": "./dist/styles/variables.css", "./styles/fonts.css": "./dist/styles/fonts.css", - "./styles/variables.css": "./dist/styles/variables.css" + "./styles/*": null, + "./library/*": null, + "./label.js": null, + "./icons/*": null, + "./*.styles.js": null }, "pnpm": { "overrides": { "esbuild@0.24.2": "^0.25.0", - "koa@2.14.2": "^2.15.4" + "koa@2.14.2": "^2.15.4", + "playwright@1.49.1": "1.50.1" } }, "scripts": { "start": "per-env", - "start:development": "storybook dev --config-dir .storybook --no-open --no-version-updates --port 6006", - "start:production": "rimraf ./dist && npm-run-all --parallel start:production:components start:production:storybook start:production:stylesheets --aggregate-output --print-label", - "start:production:components": "tsc --outDir ./dist && node ./terser.js", + "start:development": "npm-run-all --parallel --print-name start:development:*", + "start:development:storybook": "storybook dev --config-dir .storybook --no-open --no-version-updates --port 6006", + "start:production": "rimraf ./dist && npm-run-all --aggregate-output --print-label --parallel start:production:components start:production:storybook start:production:stylesheets", + "start:production:components": "tsc --noCheck --outDir ./dist && node ./terser.js", "start:production:figma": "pnpm dt export-variables && pnpm dt build-tokens && pnpm dt build-styles", "start:production:storybook": "storybook build --config-dir .storybook --disable-telemetry --output-dir ./dist/storybook", "start:production:stylesheets": "node ./esbuild.js", "format": "per-env", - "format:development": "prettier . --write && stylelint '**/*.styles.ts' --custom-syntax postcss-lit --fix", - "format:production": "prettier . --check && stylelint '**/*.styles.ts' --custom-syntax postcss-lit --no-color", + "format:development": "chokidar '**/*' --ignore 'dist/**' --ignore '.changeset/**' --ignore '.git/**' --ignore 'node_modules/**' --ignore 'pnpm-lock.yaml' --initial --silent --comand 'prettier --write --ignore-unknown {path} && stylelint {path}'", + "format:production": "prettier . --debug-check", "lint": "per-env", - "lint:development": "npm-run-all --print-name lint:development:*", - "lint:development:eslint": "tsc --outDir ./dist && eslint . --fix", + "lint:development": "npm-run-all --parallel --print-name lint:development:*", + "lint:development:eslint": "chokidar ./eslint-config.js ./src/eslint/** ./src/*.ts ./src/*.*.ts --initial --silent --command 'tsc --noCheck --outDir ./dist && eslint {path} --fix'", "lint:development:lit-analyzer": "lit-analyzer **/*.ts", - "lint:production": "npm-run-all --parallel --aggregate-output --print-label lint:production:*", - "lint:production:eslint": "tsc --outDir ./dist && eslint .", + "lint:development:stylelint": "chokidar ./.stylelintrc.js ./src/stylelint/** ./src/*.styles.ts ./src/*.*.styles.ts --initial --silent --command 'tsc --noCheck --outDir ./dist && stylelint {path} --custom-syntax postcss-lit --fix'", + "lint:production": "npm-run-all --aggregate-output --print-label --parallel lint:production:*", + "lint:production:eslint": "tsc --noCheck --outDir ./dist && eslint .", "lint:production:lit-analyzer": "lit-analyzer **/*.ts", - "typecheck": "tsc --noEmit", + "lint:production:stylelint": "tsc --noCheck --outDir ./dist && stylelint '**/*.styles.ts' --custom-syntax postcss-lit --no-color", "test": "per-env", - "test:development": "npm-run-all --parallel test:development:serve test:development:web-test-runner start:production:stylesheets", - "test:development:serve": "npx http-server dist/coverage/lcov-report --silent", - "test:development:web-test-runner": "web-test-runner --watch", - "test:development:vitest": "vitest --config ./vitest.config.js", - "test:development:vitest:comment": "Vitest is excluded from `test:development` because it muddies the console when running alongside Web Test Runner.", - "test:production": "npm-run-all --parallel test:production:* start:production:stylesheets --aggregate-output --print-label", - "test:production:vitest": "vitest run --config ./vitest.config.js", - "test:production:web-test-runner": "web-test-runner", + "test:development": "pnpm start:production:stylesheets && npm-run-all --parallel test:development:components test:development:serve-component-coverage", + "test:development:components": "web-test-runner --watch", + "test:development:lint-rules": "vitest --config ./vitest.config.js & chokidar './src/eslint/**' './src/stylelint/**' --ignore './src/eslint/rules/*.test.ts' './src/stylelint/*.test.ts' --initial --silent --command 'tsc --noCheck --outDir ./dist'", + "test:development:lint-rules:comment": "Excluded from `test:development` because Vitest muddies the console when running alongside Web Test Runner.", + "test:development:serve-component-coverage": "npx http-server dist/coverage/lcov-report --silent", + "test:production": "pnpm start:production:stylesheets && npm-run-all --aggregate-output --print-label --parallel test:production:*", + "test:production:lint-rules": "tsc --noCheck --outDir ./dist && vitest run --config ./vitest.config.js", + "test:production:components": "web-test-runner", + "typecheck": "per-env", + "typecheck:development": "tsc --outDir ./dist -w", + "typecheck:production": "tsc --outDir ./dist", "postinstall": "pnpm dlx playwright@1.50.1 install --with-deps", "prepare": "is-ci || husky install", "release": "changeset publish" @@ -112,6 +123,8 @@ "@web/test-runner-commands": "^0.9.0", "@web/test-runner-playwright": "^0.11.0", "chalk": "^5.3.0", + "chokidar-cli": "^3.0.0", + "comment-parser": "^1.4.1", "esbuild": "^0.25.0", "eslint": "^9.17.0", "eslint-config-prettier": "^10.0.1", @@ -129,6 +142,7 @@ "lit": "^3.2.1", "lit-analyzer": "^2.0.3", "minify-literals": "^1.0.10", + "node-html-parser": "^7.0.1", "npm-run-all2": "^7.0.2", "per-env": "^1.0.2", "postcss": "^8.4.49", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 266389adc..a13262bea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,7 @@ settings: overrides: esbuild@0.24.2: ^0.25.0 koa@2.14.2: ^2.15.4 + playwright@1.49.1: 1.50.1 importers: @@ -14,20 +15,20 @@ importers: dependencies: '@floating-ui/dom': specifier: ^1.6.12 - version: 1.6.13 + version: 1.6.12 '@shoelace-style/localize': specifier: ^3.2.1 version: 3.2.1 nanoid: specifier: ^5.0.9 - version: 5.1.0 + version: 5.0.9 devDependencies: '@changesets/changelog-github': specifier: ^0.5.0 - version: 0.5.1 + version: 0.5.0 '@changesets/cli': specifier: ^2.27.10 - version: 2.28.0 + version: 2.27.10 '@crowdstrike/design-tokens': specifier: ^2.0.1 version: 2.0.1 @@ -36,13 +37,13 @@ importers: version: 3.2.0 '@eslint/js': specifier: ^9.17.0 - version: 9.20.0 + version: 9.17.0 '@open-wc/testing': specifier: ^4.0.0 version: 4.0.0 '@rollup/plugin-commonjs': specifier: ^25.0.8 - version: 25.0.8(rollup@4.34.8) + version: 25.0.8(rollup@4.28.1) '@storybook/addon-actions': specifier: ^8.5.8 version: 8.5.8(storybook@8.5.8(prettier@3.4.2)) @@ -51,7 +52,7 @@ importers: version: 8.5.8(storybook@8.5.8(prettier@3.4.2)) '@storybook/addon-docs': specifier: ^8.5.8 - version: 8.5.8(@types/react@19.0.10)(storybook@8.5.8(prettier@3.4.2)) + version: 8.5.8(@types/react@18.3.12)(storybook@8.5.8(prettier@3.4.2)) '@storybook/addon-toolbars': specifier: ^8.5.8 version: 8.5.8(storybook@8.5.8(prettier@3.4.2)) @@ -72,10 +73,10 @@ importers: version: 8.5.8(lit@3.2.1)(storybook@8.5.8(prettier@3.4.2)) '@storybook/web-components-vite': specifier: ^8.5.8 - version: 8.5.8(lit@3.2.1)(storybook@8.5.8(prettier@3.4.2))(vite@6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0)) + version: 8.5.8(lit@3.2.1)(storybook@8.5.8(prettier@3.4.2))(vite@6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0)) '@stylistic/eslint-plugin': specifier: ^2.12.1 - version: 2.13.0(eslint@9.20.1)(typescript@5.7.3) + version: 2.12.1(eslint@9.17.0)(typescript@5.7.3) '@types/eslint': specifier: ^8.56.12 version: 8.56.12 @@ -87,16 +88,16 @@ importers: version: 17.0.3 '@typescript-eslint/rule-tester': specifier: ^8.23.0 - version: 8.24.1(eslint@9.20.1)(typescript@5.7.3) + version: 8.23.0(eslint@9.17.0)(typescript@5.7.3) '@typescript-eslint/types': specifier: ^8.23.0 - version: 8.24.1 + version: 8.23.0 '@typescript-eslint/utils': specifier: ^8.23.0 - version: 8.24.1(eslint@9.20.1)(typescript@5.7.3) + version: 8.23.0(eslint@9.17.0)(typescript@5.7.3) '@web/dev-server-esbuild': specifier: ^1.0.3 - version: 1.0.4 + version: 1.0.3 '@web/dev-server-rollup': specifier: ^0.6.4 version: 0.6.4 @@ -112,36 +113,42 @@ importers: chalk: specifier: ^5.3.0 version: 5.4.1 + chokidar-cli: + specifier: ^3.0.0 + version: 3.0.0 + comment-parser: + specifier: ^1.4.1 + version: 1.4.1 esbuild: specifier: ^0.25.0 version: 0.25.0 eslint: specifier: ^9.17.0 - version: 9.20.1 + version: 9.17.0 eslint-config-prettier: specifier: ^10.0.1 - version: 10.0.1(eslint@9.20.1) + version: 10.0.1(eslint@9.17.0) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1)(typescript@5.7.3))(eslint@9.20.1) + version: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.17.0)(typescript@5.7.3))(eslint@9.17.0) eslint-plugin-lit: specifier: ^1.15.0 - version: 1.15.0(eslint@9.20.1) + version: 1.15.0(eslint@9.17.0) eslint-plugin-lit-a11y: specifier: ^4.1.4 - version: 4.1.4(eslint@9.20.1) + version: 4.1.4(eslint@9.17.0) eslint-plugin-sort-class-members: specifier: ^1.21.0 - version: 1.21.0(eslint@9.20.1) + version: 1.21.0(eslint@9.17.0) eslint-plugin-unicorn: specifier: ^56.0.1 - version: 56.0.1(eslint@9.20.1) + version: 56.0.1(eslint@9.17.0) globals: specifier: ^15.13.0 - version: 15.15.0 + version: 15.13.0 globby: specifier: ^14.0.2 - version: 14.1.0 + version: 14.0.2 http-server: specifier: ^14.1.1 version: 14.1.1 @@ -163,6 +170,9 @@ importers: minify-literals: specifier: ^1.0.10 version: 1.0.10 + node-html-parser: + specifier: ^7.0.1 + version: 7.0.1 npm-run-all2: specifier: ^7.0.2 version: 7.0.2 @@ -171,10 +181,10 @@ importers: version: 1.0.2 postcss: specifier: ^8.4.49 - version: 8.5.3 + version: 8.5.1 postcss-lit: specifier: ^1.1.1 - version: 1.2.0(postcss@8.5.3) + version: 1.1.1(postcss@8.5.1) prettier: specifier: 3.4.2 version: 3.4.2 @@ -189,25 +199,25 @@ importers: version: 8.5.8(prettier@3.4.2) stylelint: specifier: ^16.12.0 - version: 16.14.1(typescript@5.7.3) + version: 16.12.0(typescript@5.7.3) stylelint-config-standard: specifier: ^36.0.1 - version: 36.0.1(stylelint@16.14.1(typescript@5.7.3)) + version: 36.0.1(stylelint@16.12.0(typescript@5.7.3)) stylelint-order: specifier: ^6.0.4 - version: 6.0.4(stylelint@16.14.1(typescript@5.7.3)) + version: 6.0.4(stylelint@16.12.0(typescript@5.7.3)) stylelint-prettier: specifier: ^5.0.2 - version: 5.0.3(prettier@3.4.2)(stylelint@16.14.1(typescript@5.7.3)) + version: 5.0.2(prettier@3.4.2)(stylelint@16.12.0(typescript@5.7.3)) stylelint-use-logical: specifier: ^2.1.2 - version: 2.1.2(stylelint@16.14.1(typescript@5.7.3)) + version: 2.1.2(stylelint@16.12.0(typescript@5.7.3)) stylelint-use-nesting: specifier: ^6.0.0 - version: 6.0.0(stylelint@16.14.1(typescript@5.7.3)) + version: 6.0.0(stylelint@16.12.0(typescript@5.7.3)) terser: specifier: ^5.37.0 - version: 5.39.0 + version: 5.37.0 ts-lit-plugin: specifier: ^2.0.2 version: 2.0.2 @@ -216,13 +226,13 @@ importers: version: 5.7.3 typescript-eslint: specifier: ^8.23.0 - version: 8.24.1(eslint@9.20.1)(typescript@5.7.3) + version: 8.23.0(eslint@9.17.0)(typescript@5.7.3) vite: specifier: ^6.1.1 - version: 6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0) + version: 6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0) vitest: specifier: ^3.0.6 - version: 3.0.6(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0) + version: 3.0.6(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0) packages: @@ -230,8 +240,8 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/generator@7.26.9': - resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==} + '@babel/generator@7.26.3': + resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} engines: {node: '>=6.9.0'} '@babel/helper-string-parser@7.25.9': @@ -242,57 +252,57 @@ packages: resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.9': - resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==} + '@babel/parser@7.26.3': + resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/runtime@7.26.9': - resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==} + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} engines: {node: '>=6.9.0'} - '@babel/template@7.26.9': - resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.9': - resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} + '@babel/traverse@7.26.4': + resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.9': - resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} + '@babel/types@7.26.3': + resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} engines: {node: '>=6.9.0'} - '@changesets/apply-release-plan@7.0.9': - resolution: {integrity: sha512-xB1shQP6WhflnAN+rV8eJ7j4oBgka/K62+pHuEv6jmUtSqlx2ZvJSnCGzyNfkiQmSfVsqXoI3pbAuyVpTbsKzA==} + '@changesets/apply-release-plan@7.0.6': + resolution: {integrity: sha512-TKhVLtiwtQOgMAC0fCJfmv93faiViKSDqr8oMEqrnNs99gtSC1sZh/aEMS9a+dseU1ESZRCK+ofLgGY7o0fw/Q==} - '@changesets/assemble-release-plan@6.0.6': - resolution: {integrity: sha512-Frkj8hWJ1FRZiY3kzVCKzS0N5mMwWKwmv9vpam7vt8rZjLL1JMthdh6pSDVSPumHPshTTkKZ0VtNbE0cJHZZUg==} + '@changesets/assemble-release-plan@6.0.5': + resolution: {integrity: sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==} - '@changesets/changelog-git@0.2.1': - resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} + '@changesets/changelog-git@0.2.0': + resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} - '@changesets/changelog-github@0.5.1': - resolution: {integrity: sha512-BVuHtF+hrhUScSoHnJwTELB4/INQxVFc+P/Qdt20BLiBFIHFJDDUaGsZw+8fQeJTRP5hJZrzpt3oZWh0G19rAQ==} + '@changesets/changelog-github@0.5.0': + resolution: {integrity: sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==} - '@changesets/cli@2.28.0': - resolution: {integrity: sha512-of9/8Gzc+DP/Ol9Lak++Y0RsB1oO1CRzZoGIWTYcvHNREJQNqxW5tXm3YzqsA1Gx8ecZZw82FfahtiS+HkNqIw==} + '@changesets/cli@2.27.10': + resolution: {integrity: sha512-PfeXjvs9OfQJV8QSFFHjwHX3QnUL9elPEQ47SgkiwzLgtKGyuikWjrdM+lO9MXzOE22FO9jEGkcs4b+B6D6X0Q==} hasBin: true - '@changesets/config@3.1.0': - resolution: {integrity: sha512-UbZsPkRnv2SF8Ln72B8opmNLhsazv7/M0r6GSQSQzLY++/ZPr5dDSz3L+6G2fDZ+AN1ZjsEGDdBkpEna9eJtrA==} + '@changesets/config@3.0.4': + resolution: {integrity: sha512-+DiIwtEBpvvv1z30f8bbOsUQGuccnZl9KRKMM/LxUHuDu5oEjmN+bJQ1RIBKNJjfYMQn8RZzoPiX0UgPaLQyXw==} '@changesets/errors@0.2.0': resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - '@changesets/get-dependents-graph@2.1.3': - resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} + '@changesets/get-dependents-graph@2.1.2': + resolution: {integrity: sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==} '@changesets/get-github-info@0.6.0': resolution: {integrity: sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==} - '@changesets/get-release-plan@4.0.7': - resolution: {integrity: sha512-FdXJ5B4ZcIWtTu+SEIAthnSScwF+mS+e657gagYUyprVLFSkAJKrA50MqoW3iOopbwQ/UhYaTESNyF9cpg1bQA==} + '@changesets/get-release-plan@4.0.5': + resolution: {integrity: sha512-E6wW7JoSMcctdVakut0UB76FrrN3KIeJSXvB+DHMFo99CnC3ZVnNYDCVNClMlqAhYGmLmAj77QfApaI3ca4Fkw==} '@changesets/get-version-range-type@0.4.0': resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} @@ -303,26 +313,26 @@ packages: '@changesets/logger@0.1.1': resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - '@changesets/parse@0.4.1': - resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==} + '@changesets/parse@0.4.0': + resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} - '@changesets/pre@2.0.2': - resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} + '@changesets/pre@2.0.1': + resolution: {integrity: sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==} - '@changesets/read@0.6.3': - resolution: {integrity: sha512-9H4p/OuJ3jXEUTjaVGdQEhBdqoT2cO5Ts95JTFsQyawmKzpL8FnIeJSyhTDPW1MBRDnwZlHFEM9SpPwJDY5wIg==} + '@changesets/read@0.6.2': + resolution: {integrity: sha512-wjfQpJvryY3zD61p8jR87mJdyx2FIhEcdXhKUqkja87toMrP/3jtg/Yg29upN+N4Ckf525/uvV7a4tzBlpk6gg==} - '@changesets/should-skip-package@0.1.2': - resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} + '@changesets/should-skip-package@0.1.1': + resolution: {integrity: sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==} '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - '@changesets/types@6.1.0': - resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} + '@changesets/types@6.0.0': + resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} - '@changesets/write@0.4.0': - resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} + '@changesets/write@0.3.2': + resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} '@crowdstrike/design-tokens@2.0.1': resolution: {integrity: sha512-m5xoWkLEwDonFZT6tRd7ApSAZAh5kh7BvKNDKrLIY8ST5sgNuurUM2JarZxmJ/WeUBm+lmIraSImXqQwaqGjGA==} @@ -514,41 +524,41 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.19.2': - resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} + '@eslint/config-array@0.19.1': + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.11.0': - resolution: {integrity: sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==} + '@eslint/core@0.9.1': + resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.2.0': resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.20.0': - resolution: {integrity: sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==} + '@eslint/js@9.17.0': + resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + '@eslint/object-schema@2.1.5': + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.6': - resolution: {integrity: sha512-+0TjwR1eAUdZtvv/ir1mGX+v0tUoR3VEPB8Up0LLJC+whRW0GgBBtpbOkg/a/U4Dxa6l5a3l9AJ1aWIQVyoWJA==} + '@eslint/plugin-kit@0.2.4': + resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@esm-bundle/chai@4.3.4-fix.0': resolution: {integrity: sha512-26SKdM4uvDWlY8/OOOxSB1AqQWeBosCX3wRYUZO7enTAj03CtVxIiCimYVG2WpULcyV51qapK4qTovwkUr5Mlw==} - '@floating-ui/core@1.6.9': - resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} + '@floating-ui/core@1.6.8': + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} - '@floating-ui/dom@1.6.13': - resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==} + '@floating-ui/dom@1.6.12': + resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==} - '@floating-ui/utils@0.2.9': - resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} + '@floating-ui/utils@0.2.8': + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} '@hapi/bourne@3.0.0': resolution: {integrity: sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==} @@ -598,11 +608,8 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@keyv/serialize@1.0.3': - resolution: {integrity: sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==} - - '@lit-labs/ssr-dom-shim@1.3.0': - resolution: {integrity: sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ==} + '@lit-labs/ssr-dom-shim@1.2.1': + resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} '@lit/reactive-element@2.0.4': resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} @@ -681,98 +688,193 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.34.8': - resolution: {integrity: sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==} + '@rollup/rollup-android-arm-eabi@4.28.1': + resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm-eabi@4.32.0': + resolution: {integrity: sha512-G2fUQQANtBPsNwiVFg4zKiPQyjVKZCUdQUol53R8E71J7AsheRMV/Yv/nB8giOcOVqP7//eB5xPqieBYZe9bGg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.34.8': - resolution: {integrity: sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==} + '@rollup/rollup-android-arm64@4.28.1': + resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.34.8': - resolution: {integrity: sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==} + '@rollup/rollup-android-arm64@4.32.0': + resolution: {integrity: sha512-qhFwQ+ljoymC+j5lXRv8DlaJYY/+8vyvYmVx074zrLsu5ZGWYsJNLjPPVJJjhZQpyAKUGPydOq9hRLLNvh1s3A==} cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.28.1': + resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-arm64@4.32.0': + resolution: {integrity: sha512-44n/X3lAlWsEY6vF8CzgCx+LQaoqWGN7TzUfbJDiTIOjJm4+L2Yq+r5a8ytQRGyPqgJDs3Rgyo8eVL7n9iW6AQ==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.28.1': + resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} + cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.34.8': - resolution: {integrity: sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==} + '@rollup/rollup-darwin-x64@4.32.0': + resolution: {integrity: sha512-F9ct0+ZX5Np6+ZDztxiGCIvlCaW87HBdHcozUfsHnj1WCUTBUubAoanhHUfnUHZABlElyRikI0mgcw/qdEm2VQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.34.8': - resolution: {integrity: sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==} + '@rollup/rollup-freebsd-arm64@4.28.1': + resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-arm64@4.32.0': + resolution: {integrity: sha512-JpsGxLBB2EFXBsTLHfkZDsXSpSmKD3VxXCgBQtlPcuAqB8TlqtLcbeMhxXQkCDv1avgwNjF8uEIbq5p+Cee0PA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.34.8': - resolution: {integrity: sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==} + '@rollup/rollup-freebsd-x64@4.28.1': + resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.34.8': - resolution: {integrity: sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==} + '@rollup/rollup-freebsd-x64@4.32.0': + resolution: {integrity: sha512-wegiyBT6rawdpvnD9lmbOpx5Sph+yVZKHbhnSP9MqUEDX08G4UzMU+D87jrazGE7lRSyTRs6NEYHtzfkJ3FjjQ==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': + resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-gnueabihf@4.32.0': + resolution: {integrity: sha512-3pA7xecItbgOs1A5H58dDvOUEboG5UfpTq3WzAdF54acBbUM+olDJAPkgj1GRJ4ZqE12DZ9/hNS2QZk166v92A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.34.8': - resolution: {integrity: sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==} + '@rollup/rollup-linux-arm-musleabihf@4.28.1': + resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.34.8': - resolution: {integrity: sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==} + '@rollup/rollup-linux-arm-musleabihf@4.32.0': + resolution: {integrity: sha512-Y7XUZEVISGyge51QbYyYAEHwpGgmRrAxQXO3siyYo2kmaj72USSG8LtlQQgAtlGfxYiOwu+2BdbPjzEpcOpRmQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.28.1': + resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.32.0': + resolution: {integrity: sha512-r7/OTF5MqeBrZo5omPXcTnjvv1GsrdH8a8RerARvDFiDwFpDVDnJyByYM/nX+mvks8XXsgPUxkwe/ltaX2VH7w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.34.8': - resolution: {integrity: sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==} + '@rollup/rollup-linux-arm64-musl@4.28.1': + resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.34.8': - resolution: {integrity: sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==} + '@rollup/rollup-linux-arm64-musl@4.32.0': + resolution: {integrity: sha512-HJbifC9vex9NqnlodV2BHVFNuzKL5OnsV2dvTw6e1dpZKkNjPG6WUq+nhEYV6Hv2Bv++BXkwcyoGlXnPrjAKXw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': + resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.32.0': + resolution: {integrity: sha512-VAEzZTD63YglFlWwRj3taofmkV1V3xhebDXffon7msNz4b14xKsz7utO6F8F4cqt8K/ktTl9rm88yryvDpsfOw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': - resolution: {integrity: sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': + resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.32.0': + resolution: {integrity: sha512-Sts5DST1jXAc9YH/iik1C9QRsLcCoOScf3dfbY5i4kH9RJpKxiTBXqm7qU5O6zTXBTEZry69bGszr3SMgYmMcQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.34.8': - resolution: {integrity: sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==} + '@rollup/rollup-linux-riscv64-gnu@4.28.1': + resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.34.8': - resolution: {integrity: sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==} + '@rollup/rollup-linux-riscv64-gnu@4.32.0': + resolution: {integrity: sha512-qhlXeV9AqxIyY9/R1h1hBD6eMvQCO34ZmdYvry/K+/MBs6d1nRFLm6BOiITLVI+nFAAB9kUB6sdJRKyVHXnqZw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.28.1': + resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.34.8': - resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==} + '@rollup/rollup-linux-s390x-gnu@4.32.0': + resolution: {integrity: sha512-8ZGN7ExnV0qjXa155Rsfi6H8M4iBBwNLBM9lcVS+4NcSzOFaNqmt7djlox8pN1lWrRPMRRQ8NeDlozIGx3Omsw==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.28.1': + resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.34.8': - resolution: {integrity: sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==} + '@rollup/rollup-linux-x64-gnu@4.32.0': + resolution: {integrity: sha512-VDzNHtLLI5s7xd/VubyS10mq6TxvZBp+4NRWoW+Hi3tgV05RtVm4qK99+dClwTN1McA6PHwob6DEJ6PlXbY83A==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.34.8': - resolution: {integrity: sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==} + '@rollup/rollup-linux-x64-musl@4.28.1': + resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.32.0': + resolution: {integrity: sha512-qcb9qYDlkxz9DxJo7SDhWxTWV1gFuwznjbTiov289pASxlfGbaOD54mgbs9+z94VwrXtKTu+2RqwlSTbiOqxGg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.28.1': + resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.34.8': - resolution: {integrity: sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==} + '@rollup/rollup-win32-arm64-msvc@4.32.0': + resolution: {integrity: sha512-pFDdotFDMXW2AXVbfdUEfidPAk/OtwE/Hd4eYMTNVVaCQ6Yl8et0meDaKNL63L44Haxv4UExpv9ydSf3aSayDg==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.28.1': + resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.32.0': + resolution: {integrity: sha512-/TG7WfrCAjeRNDvI4+0AAMoHxea/USWhAzf9PVDFHbcqrQ7hMMKp4jZIy4VEjk72AAfN5k4TiSMRXRKf/0akSw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.34.8': - resolution: {integrity: sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==} + '@rollup/rollup-win32-x64-msvc@4.28.1': + resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.32.0': + resolution: {integrity: sha512-5hqO5S3PTEO2E5VjCePxv40gIgyS2KvO7E7/vvC/NbIW4SIRamkMr1hqj+5Y67fbBWv/bQLB6KelBQmXlyCjWA==} cpu: [x64] os: [win32] @@ -865,8 +967,8 @@ packages: '@storybook/global@5.0.0': resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} - '@storybook/icons@1.3.2': - resolution: {integrity: sha512-t3xcbCKkPvqyef8urBM0j/nP6sKtnlRkVgC+8JTbTAZQjaTmOjes3byEgzs89p4B/K6cJsg9wLW2k3SknLtYJw==} + '@storybook/icons@1.3.0': + resolution: {integrity: sha512-Nz/UzeYQdUZUhacrPyfkiiysSjydyjgg/p0P9HxB4p/WaJUUjMAcaoaLgy3EXx61zZJ3iD36WPuDkZs5QYrA0A==} engines: {node: '>=14.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta @@ -907,8 +1009,8 @@ packages: lit: ^2.0.0 || ^3.0.0 storybook: ^8.5.8 - '@stylistic/eslint-plugin@2.13.0': - resolution: {integrity: sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==} + '@stylistic/eslint-plugin@2.12.1': + resolution: {integrity: sha512-fubZKIHSPuo07FgRTn6S4Nl0uXPRPYVNpyZzIDGfp7Fny6JjNus6kReLD7NI380JXi4HtUTSOZ34LBuNPO1XLQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -967,8 +1069,8 @@ packages: '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - '@types/express-serve-static-core@5.0.6': - resolution: {integrity: sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==} + '@types/express-serve-static-core@5.0.2': + resolution: {integrity: sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==} '@types/express@5.0.0': resolution: {integrity: sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ==} @@ -1015,8 +1117,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@22.13.4': - resolution: {integrity: sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==} + '@types/node@22.10.2': + resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1027,14 +1129,17 @@ packages: '@types/parse5@6.0.3': resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} - '@types/qs@6.9.18': - resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==} + '@types/prop-types@15.7.14': + resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} + + '@types/qs@6.9.17': + resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/react@19.0.10': - resolution: {integrity: sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==} + '@types/react@18.3.12': + resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -1066,57 +1171,57 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.24.1': - resolution: {integrity: sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==} + '@typescript-eslint/eslint-plugin@8.23.0': + resolution: {integrity: sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.24.1': - resolution: {integrity: sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==} + '@typescript-eslint/parser@8.23.0': + resolution: {integrity: sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/rule-tester@8.24.1': - resolution: {integrity: sha512-9d9cceSuljUx0nJ//bAg8g0UUzz/EOjhR9K2u0btfM8C9uVIR73KgUm87kZnzcDxm9tK/LcWSG2jG5SQfQvNHA==} + '@typescript-eslint/rule-tester@8.23.0': + resolution: {integrity: sha512-8pmi9mxDD2Eb4rHmBM5UqLRelixNOUQziAs7mgUAH6TVZbdu7LOCIdZcy3DaMKa76IKBF+bFLB3ESMhSetojpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/scope-manager@8.24.1': - resolution: {integrity: sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==} + '@typescript-eslint/scope-manager@8.23.0': + resolution: {integrity: sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.24.1': - resolution: {integrity: sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==} + '@typescript-eslint/type-utils@8.23.0': + resolution: {integrity: sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@8.24.1': - resolution: {integrity: sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==} + '@typescript-eslint/types@8.23.0': + resolution: {integrity: sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.24.1': - resolution: {integrity: sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==} + '@typescript-eslint/typescript-estree@8.23.0': + resolution: {integrity: sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.24.1': - resolution: {integrity: sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==} + '@typescript-eslint/utils@8.23.0': + resolution: {integrity: sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@8.24.1': - resolution: {integrity: sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==} + '@typescript-eslint/visitor-keys@8.23.0': + resolution: {integrity: sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitest/expect@3.0.6': @@ -1151,20 +1256,20 @@ packages: '@vscode/web-custom-data@0.4.13': resolution: {integrity: sha512-2ZUIRfhofZ/npLlf872EBnPmn27Kt4M2UssmQIfnJvgGgMYZJ5fvtHEDnttBBf2hnVtBgNCqZMVHJA+wsFVqTA==} - '@web/browser-logs@0.4.1': - resolution: {integrity: sha512-ypmMG+72ERm+LvP+loj9A64MTXvWMXHUOu773cPO4L1SV/VWg6xA9Pv7vkvkXQX+ItJtCJt+KQ+U6ui2HhSFUw==} + '@web/browser-logs@0.4.0': + resolution: {integrity: sha512-/EBiDAUCJ2DzZhaFxTPRIznEPeafdLbXShIL6aTu7x73x7ZoxSDv7DGuTsh2rWNMUa4+AKli4UORrpyv6QBOiA==} engines: {node: '>=18.0.0'} '@web/config-loader@0.3.2': resolution: {integrity: sha512-Vrjv/FexBGmAdnCYpJKLHX1dfT1UaUdvHmX1JRaWos9OvDf/tFznYJ5SpJwww3Rl87/ewvLSYG7kfsMqEAsizQ==} engines: {node: '>=18.0.0'} - '@web/dev-server-core@0.7.5': - resolution: {integrity: sha512-Da65zsiN6iZPMRuj4Oa6YPwvsmZmo5gtPWhW2lx3GTUf5CAEapjVpZVlUXnKPL7M7zRuk72jSsIl8lo+XpTCtw==} + '@web/dev-server-core@0.7.4': + resolution: {integrity: sha512-nHSNrJ1J9GjmSceKNHpWRMjvpfE2NTV9EYUffPIr7j0sIV59gK7NI/4+9slotJ/ODXw0+e1gSeJshTOhjjVNxQ==} engines: {node: '>=18.0.0'} - '@web/dev-server-esbuild@1.0.4': - resolution: {integrity: sha512-ia1LxBwwRiQBYhJ7/RtLenHyPjzle3SvTw3jOZaeGv8UGXVPOkQV8fR05caOtW/DPPZaZovNAybzRKVnNiYIZg==} + '@web/dev-server-esbuild@1.0.3': + resolution: {integrity: sha512-oImN4/cpyfQC8+JcCx61M7WIo09zE2aDMFuwh+brqxuNXIBRQ+hnRGQK7fEIZSQeWWT5dFrWmH4oYZfqzCAlfQ==} engines: {node: '>=18.0.0'} '@web/dev-server-rollup@0.6.4': @@ -1245,6 +1350,10 @@ packages: resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} engines: {node: '>=18'} + ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1265,6 +1374,10 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -1327,10 +1440,6 @@ packages: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} - async-function@1.0.0: - resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} - engines: {node: '>= 0.4'} - async-mutex@0.4.0: resolution: {integrity: sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA==} @@ -1354,30 +1463,20 @@ packages: balanced-match@2.0.0: resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} - bare-events@2.5.4: - resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} + bare-events@2.5.0: + resolution: {integrity: sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==} - bare-fs@4.0.1: - resolution: {integrity: sha512-ilQs4fm/l9eMfWY2dY0WCIUplSUp7U0CT1vrqMg1MUdeZl4fypu5UP0XcDBK5WBQPJAKP1b7XEodISmekH/CEg==} - engines: {bare: '>=1.7.0'} + bare-fs@2.3.5: + resolution: {integrity: sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==} - bare-os@3.4.0: - resolution: {integrity: sha512-9Ous7UlnKbe3fMi7Y+qh0DwAup6A1JkYgPnjvMDNOlmnxNRQvQ/7Nst+OnUQKzk0iAT0m9BisbDVp9gCv8+ETA==} - engines: {bare: '>=1.6.0'} + bare-os@2.4.4: + resolution: {integrity: sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==} - bare-path@3.0.0: - resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + bare-path@2.1.3: + resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==} - bare-stream@2.6.5: - resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} - peerDependencies: - bare-buffer: '*' - bare-events: '*' - peerDependenciesMeta: - bare-buffer: - optional: true - bare-events: - optional: true + bare-stream@2.6.1: + resolution: {integrity: sha512-eVZbtKM+4uehzrsj49KtCy3Pbg7kO1pJ3SKZ1SFrIH/0pnj9scuGGgUlNDf/7qS8WKtGdiJY5Kyhs/ivYPTB/g==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -1398,6 +1497,13 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1411,8 +1517,8 @@ packages: browser-assert@1.2.1: resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} - browserslist@4.24.4: - resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + browserslist@4.24.3: + resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1425,9 +1531,6 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -1444,11 +1547,8 @@ packages: resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} engines: {node: '>= 6.0.0'} - cacheable@1.8.8: - resolution: {integrity: sha512-OE1/jlarWxROUIpd0qGBSKFLkNsotY8pt4GeiVErUYh/NUeTNrT+SBksUgllQv4m6a0W/VZsLuiHb88maavqEw==} - - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + call-bind-apply-helpers@1.0.1: + resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} engines: {node: '>= 0.4'} call-bind@1.0.8: @@ -1466,12 +1566,16 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001700: - resolution: {integrity: sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==} + caniuse-lite@1.0.30001690: + resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} chai-a11y-axe@1.5.0: resolution: {integrity: sha512-V/Vg/zJDr9aIkaHJ2KQu7lGTQQm5ZOH4u1k5iTMvIXuSVlSuUo0jcSpSqf9wUn9zl6oQXa4e4E0cqH18KOgKlQ==} @@ -1503,8 +1607,17 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + chokidar-cli@3.0.0: + resolution: {integrity: sha512-xVW+Qeh7z15uZRxHOkP93Ux8A0xbPzwK4GaqD8dQOYc34TlkqUhVSS59fK36DOp5WdJlrRzlYSy02Ht99FjZqQ==} + engines: {node: '>= 8.10.0'} + hasBin: true + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} engines: {node: '>= 14.16.0'} chrome-launcher@0.15.2: @@ -1512,8 +1625,8 @@ packages: engines: {node: '>=12.13.0'} hasBin: true - chromium-bidi@0.11.0: - resolution: {integrity: sha512-6CJWHkNRoyZyjV9Rwv2lYONZf1Xm0IuDyNq97nwSsxxP3wf5Bwy15K5rOvVKMtJ127jJBmxFUanSAOjgFRxgrA==} + chromium-bidi@0.8.0: + resolution: {integrity: sha512-uJydbGdTw0DEUjhoogGveneJVWX/9YuqkWePzMmkBYwtdAqo5d3J/ovNKFr+/2hWXYmYCr6it8mSSTIj6SS6Ug==} peerDependencies: devtools-protocol: '*' @@ -1545,6 +1658,9 @@ packages: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} + cliui@5.0.0: + resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==} + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -1599,6 +1715,10 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} @@ -1620,8 +1740,8 @@ packages: resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} engines: {node: '>= 0.8'} - core-js-compat@3.40.0: - resolution: {integrity: sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==} + core-js-compat@3.39.0: + resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} corser@2.0.1: resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} @@ -1644,10 +1764,17 @@ packages: resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==} engines: {node: '>=12 || >=16'} + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + css-tree@3.1.0: resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -1703,6 +1830,10 @@ packages: supports-color: optional: true + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -1787,9 +1918,22 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dom5@3.0.1: resolution: {integrity: sha512-JPFiouQIr16VQ4dX6i0+Hpbg3H2bMKPmZ+WZgBOSSvOPx9QHwwY8sPzeM2baUtViESYto6wC2nuZOMC/6gulcA==} + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -1797,6 +1941,10 @@ packages: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} + dunder-proto@1.0.0: + resolution: {integrity: sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==} + engines: {node: '>= 0.4'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -1807,12 +1955,15 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.102: - resolution: {integrity: sha512-eHhqaja8tE/FNpIiBrvBjFV/SSKpyWHLvxuR9dPTdo+3V9ppdLmFB7ZZQ98qNovcngPLYIz0oOBF9P0FfZef5Q==} + electron-to-chromium@1.5.74: + resolution: {integrity: sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==} emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} + emoji-regex@7.0.3: + resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1860,20 +2011,22 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} es-set-tostringtag@2.1.0: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - es-shim-unscopables@1.1.0: - resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} - engines: {node: '>= 0.4'} + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} es-to-primitive@1.3.0: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} @@ -1988,8 +2141,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.20.1: - resolution: {integrity: sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==} + eslint@9.17.0: + resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2072,6 +2225,10 @@ packages: fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} @@ -2082,26 +2239,27 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-uri@3.0.6: - resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + fast-uri@3.0.3: + resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} - fastq@1.19.0: - resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==} + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - file-entry-cache@10.0.6: - resolution: {integrity: sha512-0wvv16mVo9nN0Md3k7DMjgAPKG/TY4F/gYMBVb/wMThFRJvzrpaqBFqF6km9wf8QfYTN+mNg5aeaBLfy8k35uA==} - file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} + file-entry-cache@9.1.0: + resolution: {integrity: sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==} + engines: {node: '>=18'} + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -2110,6 +2268,10 @@ packages: resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} engines: {node: '>=4.0.0'} + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -2122,11 +2284,12 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flat-cache@6.1.6: - resolution: {integrity: sha512-F+CKgSwp0pzLx67u+Zy1aCueVWFAHWbXepvXlZ+bWVTaASbm5SyCnSJ80Fp1ePEmS57wU+Bf6cx6525qtMZ4lQ==} + flat-cache@5.0.0: + resolution: {integrity: sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==} + engines: {node: '>=18'} - flatted@3.3.3: - resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} @@ -2137,9 +2300,8 @@ packages: debug: optional: true - for-each@0.3.5: - resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} - engines: {node: '>= 0.4'} + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} foreground-child@3.3.0: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} @@ -2188,6 +2350,10 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} + get-intrinsic@1.2.6: + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} + engines: {node: '>= 0.4'} + get-intrinsic@1.2.7: resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} engines: {node: '>= 0.4'} @@ -2250,8 +2416,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.15.0: - resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + globals@15.13.0: + resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} engines: {node: '>=18'} globalthis@1.0.4: @@ -2262,8 +2428,8 @@ packages: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - globby@14.1.0: - resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} + globby@14.0.2: + resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} engines: {node: '>=18'} globjoin@0.1.4: @@ -2314,9 +2480,6 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - hookified@1.7.1: - resolution: {integrity: sha512-OXcdHsXeOiD7OJ5zvWj8Oy/6RCdLwntAX+wUrfemNcMGn6sux4xbEHi2QXwqePYhjQ/yvxxq2MvCRirdlHscBw==} - hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -2369,9 +2532,8 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} - human-id@4.1.1: - resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==} - hasBin: true + human-id@1.0.2: + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} @@ -2401,12 +2563,12 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.3: - resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==} + ignore@6.0.2: + resolution: {integrity: sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==} engines: {node: '>= 4'} - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} imurmurhash@0.1.4: @@ -2465,16 +2627,20 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-async-function@2.1.1: - resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + is-async-function@2.1.0: + resolution: {integrity: sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==} engines: {node: '>= 0.4'} is-bigint@1.1.0: resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} engines: {node: '>= 0.4'} - is-boolean-object@1.2.2: - resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.2.1: + resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==} engines: {node: '>= 0.4'} is-builtin-module@3.2.1: @@ -2489,8 +2655,8 @@ packages: resolution: {integrity: sha512-Ab9bQDQ11lWootZUI5qxgN2ZXwxNI5hTwnsvOc1wyxQ7zQ8OkEDw79mI0+9jI3x432NfwbVRru+3noJfXF6lSQ==} hasBin: true - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + is-core-module@2.16.0: + resolution: {integrity: sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==} engines: {node: '>= 0.4'} is-data-view@1.0.2: @@ -2514,6 +2680,10 @@ packages: resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} engines: {node: '>= 0.4'} + is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -2526,8 +2696,8 @@ packages: resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} engines: {node: '>=18'} - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} is-glob@4.0.3: @@ -2600,8 +2770,8 @@ packages: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} engines: {node: '>= 0.4'} - is-weakref@1.1.1: - resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + is-weakref@1.1.0: + resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==} engines: {node: '>= 0.4'} is-weakset@2.0.4: @@ -2642,8 +2812,8 @@ packages: resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} - jackspeak@4.0.3: - resolution: {integrity: sha512-oSwM7q8PTHQWuZAlp995iPpPJ4Vkl7qT0ZRD+9duL9j2oBy6KcTfyxc8mEuHJYC+z/kbps80aJLkaNzTOrf/kw==} + jackspeak@4.0.2: + resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} engines: {node: 20 || >=22} js-tokens@4.0.0: @@ -2709,9 +2879,6 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - keyv@5.2.3: - resolution: {integrity: sha512-AGKecUfzrowabUv0bH1RIR5Vf7w+l4S3xtQAypKaUpTdIR1EbrAcTxHCrpo9Q+IWeUlFE2palRtgIQcgm+PQJw==} - kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -2792,6 +2959,10 @@ packages: lit@3.2.1: resolution: {integrity: sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==} + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -2803,6 +2974,9 @@ packages: lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + lodash.deburr@4.1.0: resolution: {integrity: sha512-m/M1U1f3ddMCs6Hq2tAsYThTBDaAKFDX3dwDo97GEYzamXi9SqUpjWi/Rrj/gf3X2n8ktwgZrlP1z6E3v/IExQ==} @@ -2816,6 +2990,9 @@ packages: lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} @@ -2830,6 +3007,10 @@ packages: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + loupe@3.1.3: resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} @@ -2858,6 +3039,10 @@ packages: marky@1.2.5: resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} + math-intrinsics@1.0.0: + resolution: {integrity: sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==} + engines: {node: '>= 0.4'} + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -2976,8 +3161,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.1.0: - resolution: {integrity: sha512-zDAl/llz8Ue/EblwSYwdxGBYfj46IM1dhjVi8dyp9LQffoIGxJEAHj2oeZ4uNcgycSRcQ83CnfcZqEJzVDLcDw==} + nanoid@5.0.9: + resolution: {integrity: sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==} engines: {node: ^18 || >=20} hasBin: true @@ -3007,6 +3192,9 @@ packages: encoding: optional: true + node-html-parser@7.0.1: + resolution: {integrity: sha512-KGtmPY2kS0thCWGK0VuPyOS+pBKhhe8gXztzA2ilAOhbUbxa9homF1bOyKvhGzMLXUoRds9IOmr/v5lr/lqNmA==} + node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} @@ -3034,8 +3222,11 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} engines: {node: '>= 0.4'} object-keys@1.1.1: @@ -3123,6 +3314,10 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -3143,8 +3338,8 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - pac-proxy-agent@7.2.0: - resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} + pac-proxy-agent@7.1.0: + resolution: {integrity: sha512-Z5FnLVVZSnX7WjBg0mhDtydeRZ1xMcATZThjySQUHqr+0ksP8kqaw23fNKkaaN/Z8gwLUs/W7xdl0I75eP2Xyw==} engines: {node: '>= 14'} pac-resolver@7.0.1: @@ -3154,8 +3349,8 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - package-manager-detector@0.2.9: - resolution: {integrity: sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==} + package-manager-detector@0.2.7: + resolution: {integrity: sha512-g4+387DXDKlZzHkP+9FLt8yKj8+/3tOkPv7DVTJGGRm00RkEWgqbFstX1mXJ4M0VDYhUqsTOiISqNOJnhAu3PQ==} param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} @@ -3193,6 +3388,10 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -3224,9 +3423,9 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - path-type@6.0.0: - resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} - engines: {node: '>=18'} + path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -3284,12 +3483,12 @@ packages: resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} engines: {node: '>= 0.12.0'} - possible-typed-array-names@1.1.0: - resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - postcss-lit@1.2.0: - resolution: {integrity: sha512-PV1wC6MttgaA0w0P2nMCw4SyF/awtH2PgDTIuPVc+L8UHcy28DBQ2pUEqw12Ux342Y/E/cJU6Bq+gZHwBaHs0g==} + postcss-lit@1.1.1: + resolution: {integrity: sha512-zbOUUDmnHj9y/FINVARaSKE/gtPDpn/qT/B26NzQRFK9Z0yB3tUYnyn6PbSlNndKu3RnaTB8Q9bVO9UJwd/omg==} peerDependencies: postcss: ^8.3.11 @@ -3302,8 +3501,8 @@ packages: peerDependencies: postcss: ^8.4.31 - postcss-selector-parser@7.1.0: - resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + postcss-selector-parser@7.0.0: + resolution: {integrity: sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==} engines: {node: '>=4'} postcss-sorting@8.0.2: @@ -3314,6 +3513,10 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss@8.5.1: + resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} + engines: {node: ^10 || ^12 || >=14} + postcss@8.5.3: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} @@ -3358,28 +3561,31 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - puppeteer-core@23.11.1: - resolution: {integrity: sha512-3HZ2/7hdDKZvZQ7dhhITOUg4/wOrDRjyK2ZBllRB0ZCOi9u0cwq1ACHDjBB+nX+7+kltHjQvBRdeY7+W0T+7Gg==} + puppeteer-core@23.10.4: + resolution: {integrity: sha512-pQAY7+IFAndWDkDodsQGguW1/ifV5OMlGXJDspwtK49Asb7poJZ/V5rXJxVSpq57bWrJasjQBZ1X27z1oWVq4Q==} engines: {node: '>=18'} - qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + qs@6.13.1: + resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==} engines: {node: '>=0.6'} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} - react-dom@19.0.0: - resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^19.0.0 + react: ^18.3.1 - react@19.0.0: - resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} read-package-json-fast@4.0.0: @@ -3398,9 +3604,13 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.0.2: + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} + engines: {node: '>= 14.16.0'} recast@0.23.9: resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} @@ -3437,6 +3647,9 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + requireindex@1.2.0: resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} engines: {node: '>=0.10.5'} @@ -3456,9 +3669,8 @@ packages: resolution: {integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==} engines: {node: '>= 0.8'} - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} + resolve@1.22.9: + resolution: {integrity: sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==} hasBin: true restore-cursor@3.1.0: @@ -3481,8 +3693,13 @@ packages: engines: {node: 20 || >=22} hasBin: true - rollup@4.34.8: - resolution: {integrity: sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==} + rollup@4.28.1: + resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rollup@4.32.0: + resolution: {integrity: sha512-JmrhfQR31Q4AuNBjjAX4s+a/Pu/Q8Q9iwjWBsjRH1q52SPFE2NqRMK6fUZKKnvKO6id+h7JIRf0oYsph53eATg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3510,8 +3727,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - scheduler@0.25.0: - resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} secure-compare@3.0.1: resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} @@ -3524,11 +3741,19 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + semver@7.7.0: + resolution: {integrity: sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==} engines: {node: '>=10'} hasBin: true + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -3616,8 +3841,8 @@ packages: resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} - socks@2.8.4: - resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==} + socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} source-map-js@1.2.1: @@ -3647,8 +3872,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.21: - resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -3679,13 +3904,17 @@ packages: prettier: optional: true - streamx@2.22.0: - resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==} + streamx@2.21.1: + resolution: {integrity: sha512-PhP9wUnFLa+91CPy3N6tiQsK+gnYyUNuk15S3YG/zjYE7RuPeCjJngqnzpC31ow0lzBHQ+QGO4cNJnd0djYUsw==} string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} + string-width@3.1.0: + resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} + engines: {node: '>=6'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -3710,6 +3939,10 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} + strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3755,8 +3988,8 @@ packages: peerDependencies: stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 - stylelint-prettier@5.0.3: - resolution: {integrity: sha512-B6V0oa35ekRrKZlf+6+jA+i50C4GXJ7X1PPmoCqSUoXN6BrNF6NhqqhanvkLjqw2qgvrS0wjdpeC+Tn06KN3jw==} + stylelint-prettier@5.0.2: + resolution: {integrity: sha512-qJ+BN+1T2ZcKz9WIrv0x+eFGHzSUnXfXd5gL///T6XoJvr3D8/ztzz2fhtmXef7Vb8P33zBXmLTTveByr0nwBw==} engines: {node: '>=18.12.0'} peerDependencies: prettier: '>=3.0.0' @@ -3774,8 +4007,8 @@ packages: peerDependencies: stylelint: '>= 16.9.0' - stylelint@16.14.1: - resolution: {integrity: sha512-oqCL7AC3786oTax35T/nuLL8p2C3k/8rHKAooezrPGRvUX0wX+qqs5kMWh5YYT4PHQgVDobHT4tw55WgpYG6Sw==} + stylelint@16.12.0: + resolution: {integrity: sha512-F8zZ3L/rBpuoBZRvI4JVT20ZanPLXfQLzMOZg1tzPflRVh9mKpOZ8qcSIhh1my3FjAjZWG4T2POwGnmn6a6hbg==} engines: {node: '>=18.12.0'} hasBin: true @@ -3787,8 +4020,8 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - supports-hyperlinks@3.2.0: - resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} + supports-hyperlinks@3.1.0: + resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==} engines: {node: '>=14.18'} supports-preserve-symlinks-flag@1.0.0: @@ -3806,8 +4039,8 @@ packages: resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} engines: {node: '>=10.0.0'} - tar-fs@3.0.8: - resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==} + tar-fs@3.0.6: + resolution: {integrity: sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==} tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} @@ -3816,8 +4049,8 @@ packages: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - terser@5.39.0: - resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==} + terser@5.37.0: + resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} engines: {node: '>=10'} hasBin: true @@ -3944,8 +4177,8 @@ packages: typed-query-selector@2.12.0: resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} - typescript-eslint@8.24.1: - resolution: {integrity: sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA==} + typescript-eslint@8.23.0: + resolution: {integrity: sha512-/LBRo3HrXr5LxmrdYSOCvoAMm7p2jNizNfbIpCgvG4HMsnoprRUOce/+8VJ9BDYWW68rqIENE/haVLWPeFZBVQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3974,8 +4207,8 @@ packages: resolution: {integrity: sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==} engines: {node: '>=12.17'} - ua-parser-js@1.0.40: - resolution: {integrity: sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==} + ua-parser-js@1.0.39: + resolution: {integrity: sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==} hasBin: true unbox-primitive@1.1.0: @@ -3988,8 +4221,8 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} union@0.5.0: @@ -4004,12 +4237,12 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin@1.16.1: - resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} + unplugin@1.16.0: + resolution: {integrity: sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==} engines: {node: '>=14.0.0'} - update-browserslist-db@1.1.2: - resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -4020,6 +4253,9 @@ packages: url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} + urlpattern-polyfill@10.0.0: + resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -4150,8 +4386,8 @@ packages: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} - whatwg-url@14.1.1: - resolution: {integrity: sha512-mDGf9diDad/giZ/Sm9Xi2YcyzaFpbdLpJPr+E9fSkyQ7KpQD4SdFcugkRQYzhmfI4KeV4Qpnn2sKPdo+kmsgRQ==} + whatwg-url@14.1.0: + resolution: {integrity: sha512-jlf/foYIKywAt3x/XWKZ/3rz8OSJPiWktjmk891alJUEjiVxKX9LEO92qH3hv4aJ0mN3MWPvGMCy8jQi95xK4w==} engines: {node: '>=18'} whatwg-url@5.0.0: @@ -4169,6 +4405,9 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + which-typed-array@1.1.18: resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} engines: {node: '>= 0.4'} @@ -4200,6 +4439,10 @@ packages: resolution: {integrity: sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==} engines: {node: '>=12.17'} + wrap-ansi@5.1.0: + resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} + engines: {node: '>=6'} + wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -4247,6 +4490,9 @@ packages: utf-8-validate: optional: true + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -4256,10 +4502,16 @@ packages: engines: {node: '>= 14'} hasBin: true + yargs-parser@13.1.2: + resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs@13.3.2: + resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} + yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} @@ -4286,10 +4538,10 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/generator@7.26.9': + '@babel/generator@7.26.3': dependencies: - '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 @@ -4298,44 +4550,44 @@ snapshots: '@babel/helper-validator-identifier@7.25.9': {} - '@babel/parser@7.26.9': + '@babel/parser@7.26.3': dependencies: - '@babel/types': 7.26.9 + '@babel/types': 7.26.3 - '@babel/runtime@7.26.9': + '@babel/runtime@7.26.0': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.26.9': + '@babel/template@7.25.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.9 - '@babel/types': 7.26.9 + '@babel/parser': 7.26.3 + '@babel/types': 7.26.3 - '@babel/traverse@7.26.9': + '@babel/traverse@7.26.4': dependencies: '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.9 - '@babel/parser': 7.26.9 - '@babel/template': 7.26.9 - '@babel/types': 7.26.9 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/template': 7.25.9 + '@babel/types': 7.26.3 debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.26.9': + '@babel/types@7.26.3': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@changesets/apply-release-plan@7.0.9': + '@changesets/apply-release-plan@7.0.6': dependencies: - '@changesets/config': 3.1.0 + '@changesets/config': 3.0.4 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.2 - '@changesets/should-skip-package': 0.1.2 - '@changesets/types': 6.1.0 + '@changesets/should-skip-package': 0.1.1 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 detect-indent: 6.1.0 fs-extra: 7.0.1 @@ -4343,45 +4595,45 @@ snapshots: outdent: 0.5.0 prettier: 2.8.8 resolve-from: 5.0.0 - semver: 7.7.1 + semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.6': + '@changesets/assemble-release-plan@6.0.5': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 - '@changesets/should-skip-package': 0.1.2 - '@changesets/types': 6.1.0 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/should-skip-package': 0.1.1 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - semver: 7.7.1 + semver: 7.6.3 - '@changesets/changelog-git@0.2.1': + '@changesets/changelog-git@0.2.0': dependencies: - '@changesets/types': 6.1.0 + '@changesets/types': 6.0.0 - '@changesets/changelog-github@0.5.1': + '@changesets/changelog-github@0.5.0': dependencies: '@changesets/get-github-info': 0.6.0 - '@changesets/types': 6.1.0 + '@changesets/types': 6.0.0 dotenv: 8.6.0 transitivePeerDependencies: - encoding - '@changesets/cli@2.28.0': + '@changesets/cli@2.27.10': dependencies: - '@changesets/apply-release-plan': 7.0.9 - '@changesets/assemble-release-plan': 6.0.6 - '@changesets/changelog-git': 0.2.1 - '@changesets/config': 3.1.0 + '@changesets/apply-release-plan': 7.0.6 + '@changesets/assemble-release-plan': 6.0.5 + '@changesets/changelog-git': 0.2.0 + '@changesets/config': 3.0.4 '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 - '@changesets/get-release-plan': 4.0.7 + '@changesets/get-dependents-graph': 2.1.2 + '@changesets/get-release-plan': 4.0.5 '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 - '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.3 - '@changesets/should-skip-package': 0.1.2 - '@changesets/types': 6.1.0 - '@changesets/write': 0.4.0 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.2 + '@changesets/should-skip-package': 0.1.1 + '@changesets/types': 6.0.0 + '@changesets/write': 0.3.2 '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 @@ -4390,19 +4642,19 @@ snapshots: fs-extra: 7.0.1 mri: 1.2.0 p-limit: 2.3.0 - package-manager-detector: 0.2.9 + package-manager-detector: 0.2.7 picocolors: 1.1.1 resolve-from: 5.0.0 - semver: 7.7.1 + semver: 7.6.3 spawndamnit: 3.0.1 term-size: 2.2.1 - '@changesets/config@3.1.0': + '@changesets/config@3.0.4': dependencies: '@changesets/errors': 0.2.0 - '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-dependents-graph': 2.1.2 '@changesets/logger': 0.1.1 - '@changesets/types': 6.1.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 micromatch: 4.0.8 @@ -4411,12 +4663,12 @@ snapshots: dependencies: extendable-error: 0.1.7 - '@changesets/get-dependents-graph@2.1.3': + '@changesets/get-dependents-graph@2.1.2': dependencies: - '@changesets/types': 6.1.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 picocolors: 1.1.1 - semver: 7.7.1 + semver: 7.6.3 '@changesets/get-github-info@0.6.0': dependencies: @@ -4425,13 +4677,13 @@ snapshots: transitivePeerDependencies: - encoding - '@changesets/get-release-plan@4.0.7': + '@changesets/get-release-plan@4.0.5': dependencies: - '@changesets/assemble-release-plan': 6.0.6 - '@changesets/config': 3.1.0 - '@changesets/pre': 2.0.2 - '@changesets/read': 0.6.3 - '@changesets/types': 6.1.0 + '@changesets/assemble-release-plan': 6.0.5 + '@changesets/config': 3.0.4 + '@changesets/pre': 2.0.1 + '@changesets/read': 0.6.2 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} @@ -4448,42 +4700,42 @@ snapshots: dependencies: picocolors: 1.1.1 - '@changesets/parse@0.4.1': + '@changesets/parse@0.4.0': dependencies: - '@changesets/types': 6.1.0 + '@changesets/types': 6.0.0 js-yaml: 3.14.1 - '@changesets/pre@2.0.2': + '@changesets/pre@2.0.1': dependencies: '@changesets/errors': 0.2.0 - '@changesets/types': 6.1.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.3': + '@changesets/read@0.6.2': dependencies: '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 - '@changesets/parse': 0.4.1 - '@changesets/types': 6.1.0 + '@changesets/parse': 0.4.0 + '@changesets/types': 6.0.0 fs-extra: 7.0.1 p-filter: 2.1.0 picocolors: 1.1.1 - '@changesets/should-skip-package@0.1.2': + '@changesets/should-skip-package@0.1.1': dependencies: - '@changesets/types': 6.1.0 + '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 '@changesets/types@4.1.0': {} - '@changesets/types@6.1.0': {} + '@changesets/types@6.0.0': {} - '@changesets/write@0.4.0': + '@changesets/write@0.3.2': dependencies: - '@changesets/types': 6.1.0 + '@changesets/types': 6.0.0 fs-extra: 7.0.1 - human-id: 4.1.1 + human-id: 1.0.2 prettier: 2.8.8 '@crowdstrike/design-tokens@2.0.1': {} @@ -4499,9 +4751,9 @@ snapshots: '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) '@csstools/css-tokenizer': 3.0.3 - '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.0)': + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.0.0)': dependencies: - postcss-selector-parser: 7.1.0 + postcss-selector-parser: 7.0.0 '@dual-bundle/import-meta-resolve@4.1.0': {} @@ -4580,22 +4832,22 @@ snapshots: '@esbuild/win32-x64@0.25.0': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.20.1)': + '@eslint-community/eslint-utils@4.4.1(eslint@9.17.0)': dependencies: - eslint: 9.20.1 + eslint: 9.17.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.19.2': + '@eslint/config-array@0.19.1': dependencies: - '@eslint/object-schema': 2.1.6 + '@eslint/object-schema': 2.1.5 debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/core@0.11.0': + '@eslint/core@0.9.1': dependencies: '@types/json-schema': 7.0.15 @@ -4606,36 +4858,35 @@ snapshots: espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 - import-fresh: 3.3.1 + import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - '@eslint/js@9.20.0': {} + '@eslint/js@9.17.0': {} - '@eslint/object-schema@2.1.6': {} + '@eslint/object-schema@2.1.5': {} - '@eslint/plugin-kit@0.2.6': + '@eslint/plugin-kit@0.2.4': dependencies: - '@eslint/core': 0.11.0 levn: 0.4.1 '@esm-bundle/chai@4.3.4-fix.0': dependencies: '@types/chai': 4.3.20 - '@floating-ui/core@1.6.9': + '@floating-ui/core@1.6.8': dependencies: - '@floating-ui/utils': 0.2.9 + '@floating-ui/utils': 0.2.8 - '@floating-ui/dom@1.6.13': + '@floating-ui/dom@1.6.12': dependencies: - '@floating-ui/core': 1.6.9 - '@floating-ui/utils': 0.2.9 + '@floating-ui/core': 1.6.8 + '@floating-ui/utils': 0.2.8 - '@floating-ui/utils@0.2.9': {} + '@floating-ui/utils@0.2.8': {} '@hapi/bourne@3.0.0': {} @@ -4683,26 +4934,22 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@keyv/serialize@1.0.3': - dependencies: - buffer: 6.0.3 - - '@lit-labs/ssr-dom-shim@1.3.0': {} + '@lit-labs/ssr-dom-shim@1.2.1': {} '@lit/reactive-element@2.0.4': dependencies: - '@lit-labs/ssr-dom-shim': 1.3.0 + '@lit-labs/ssr-dom-shim': 1.2.1 '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.26.0 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.26.0 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -4711,11 +4958,11 @@ snapshots: '@mdn/browser-compat-data@4.2.1': {} - '@mdx-js/react@3.1.0(@types/react@19.0.10)(react@19.0.0)': + '@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 19.0.10 - react: 19.0.0 + '@types/react': 18.3.12 + react: 18.3.1 '@nodelib/fs.scandir@2.1.5': dependencies: @@ -4727,7 +4974,7 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.0 + fastq: 1.17.1 '@open-wc/dedupe-mixin@1.4.0': {} @@ -4770,98 +5017,154 @@ snapshots: extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.5.0 - semver: 7.7.1 - tar-fs: 3.0.8 + semver: 7.7.0 + tar-fs: 3.0.6 unbzip2-stream: 1.4.3 yargs: 17.7.2 transitivePeerDependencies: - - bare-buffer - supports-color - '@rollup/plugin-commonjs@25.0.8(rollup@4.34.8)': + '@rollup/plugin-commonjs@25.0.8(rollup@4.28.1)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.34.8) + '@rollup/pluginutils': 5.1.4(rollup@4.28.1) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.17 optionalDependencies: - rollup: 4.34.8 + rollup: 4.28.1 - '@rollup/plugin-node-resolve@15.3.1(rollup@4.34.8)': + '@rollup/plugin-node-resolve@15.3.1(rollup@4.28.1)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.34.8) + '@rollup/pluginutils': 5.1.4(rollup@4.28.1) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.10 + resolve: 1.22.9 optionalDependencies: - rollup: 4.34.8 + rollup: 4.28.1 - '@rollup/pluginutils@5.1.4(rollup@4.34.8)': + '@rollup/pluginutils@5.1.4(rollup@4.28.1)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.34.8 + rollup: 4.28.1 + + '@rollup/rollup-android-arm-eabi@4.28.1': + optional: true - '@rollup/rollup-android-arm-eabi@4.34.8': + '@rollup/rollup-android-arm-eabi@4.32.0': optional: true - '@rollup/rollup-android-arm64@4.34.8': + '@rollup/rollup-android-arm64@4.28.1': optional: true - '@rollup/rollup-darwin-arm64@4.34.8': + '@rollup/rollup-android-arm64@4.32.0': optional: true - '@rollup/rollup-darwin-x64@4.34.8': + '@rollup/rollup-darwin-arm64@4.28.1': optional: true - '@rollup/rollup-freebsd-arm64@4.34.8': + '@rollup/rollup-darwin-arm64@4.32.0': optional: true - '@rollup/rollup-freebsd-x64@4.34.8': + '@rollup/rollup-darwin-x64@4.28.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.34.8': + '@rollup/rollup-darwin-x64@4.32.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.34.8': + '@rollup/rollup-freebsd-arm64@4.28.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.34.8': + '@rollup/rollup-freebsd-arm64@4.32.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.34.8': + '@rollup/rollup-freebsd-x64@4.28.1': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.34.8': + '@rollup/rollup-freebsd-x64@4.32.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.34.8': + '@rollup/rollup-linux-arm-gnueabihf@4.32.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.34.8': + '@rollup/rollup-linux-arm-musleabihf@4.28.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.34.8': + '@rollup/rollup-linux-arm-musleabihf@4.32.0': optional: true - '@rollup/rollup-linux-x64-musl@4.34.8': + '@rollup/rollup-linux-arm64-gnu@4.28.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.34.8': + '@rollup/rollup-linux-arm64-gnu@4.32.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.34.8': + '@rollup/rollup-linux-arm64-musl@4.28.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.34.8': + '@rollup/rollup-linux-arm64-musl@4.32.0': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.32.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.32.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.28.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.32.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.28.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.32.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.28.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.32.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.28.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.32.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.28.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.32.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.28.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.32.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.28.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.32.0': optional: true '@rtsao/scc@1.1.0': {} @@ -4902,14 +5205,14 @@ snapshots: storybook: 8.5.8(prettier@3.4.2) ts-dedent: 2.2.0 - '@storybook/addon-docs@8.5.8(@types/react@19.0.10)(storybook@8.5.8(prettier@3.4.2))': + '@storybook/addon-docs@8.5.8(@types/react@18.3.12)(storybook@8.5.8(prettier@3.4.2))': dependencies: - '@mdx-js/react': 3.1.0(@types/react@19.0.10)(react@19.0.0) - '@storybook/blocks': 8.5.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.8(prettier@3.4.2)) + '@mdx-js/react': 3.1.0(@types/react@18.3.12)(react@18.3.1) + '@storybook/blocks': 8.5.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.8(prettier@3.4.2)) '@storybook/csf-plugin': 8.5.8(storybook@8.5.8(prettier@3.4.2)) - '@storybook/react-dom-shim': 8.5.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.8(prettier@3.4.2)) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@storybook/react-dom-shim': 8.5.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.8(prettier@3.4.2)) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) storybook: 8.5.8(prettier@3.4.2) ts-dedent: 2.2.0 transitivePeerDependencies: @@ -4919,23 +5222,23 @@ snapshots: dependencies: storybook: 8.5.8(prettier@3.4.2) - '@storybook/blocks@8.5.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.8(prettier@3.4.2))': + '@storybook/blocks@8.5.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.8(prettier@3.4.2))': dependencies: '@storybook/csf': 0.1.12 - '@storybook/icons': 1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@storybook/icons': 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) storybook: 8.5.8(prettier@3.4.2) ts-dedent: 2.2.0 optionalDependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-vite@8.5.8(storybook@8.5.8(prettier@3.4.2))(vite@6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0))': + '@storybook/builder-vite@8.5.8(storybook@8.5.8(prettier@3.4.2))(vite@6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0))': dependencies: '@storybook/csf-plugin': 8.5.8(storybook@8.5.8(prettier@3.4.2)) browser-assert: 1.2.1 storybook: 8.5.8(prettier@3.4.2) ts-dedent: 2.2.0 - vite: 6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0) + vite: 6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0) '@storybook/components@8.5.8(storybook@8.5.8(prettier@3.4.2))': dependencies: @@ -4955,7 +5258,7 @@ snapshots: jsdoc-type-pratt-parser: 4.1.0 process: 0.11.10 recast: 0.23.9 - semver: 7.7.1 + semver: 7.7.0 util: 0.12.5 ws: 8.18.0 optionalDependencies: @@ -4968,7 +5271,7 @@ snapshots: '@storybook/csf-plugin@8.5.8(storybook@8.5.8(prettier@3.4.2))': dependencies: storybook: 8.5.8(prettier@3.4.2) - unplugin: 1.16.1 + unplugin: 1.16.0 '@storybook/csf@0.1.12': dependencies: @@ -4976,10 +5279,10 @@ snapshots: '@storybook/global@5.0.0': {} - '@storybook/icons@1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@storybook/icons@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) '@storybook/manager-api@8.5.8(storybook@8.5.8(prettier@3.4.2))': dependencies: @@ -4989,19 +5292,19 @@ snapshots: dependencies: storybook: 8.5.8(prettier@3.4.2) - '@storybook/react-dom-shim@8.5.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.5.8(prettier@3.4.2))': + '@storybook/react-dom-shim@8.5.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.8(prettier@3.4.2))': dependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) storybook: 8.5.8(prettier@3.4.2) '@storybook/theming@8.5.8(storybook@8.5.8(prettier@3.4.2))': dependencies: storybook: 8.5.8(prettier@3.4.2) - '@storybook/web-components-vite@8.5.8(lit@3.2.1)(storybook@8.5.8(prettier@3.4.2))(vite@6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0))': + '@storybook/web-components-vite@8.5.8(lit@3.2.1)(storybook@8.5.8(prettier@3.4.2))(vite@6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0))': dependencies: - '@storybook/builder-vite': 8.5.8(storybook@8.5.8(prettier@3.4.2))(vite@6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0)) + '@storybook/builder-vite': 8.5.8(storybook@8.5.8(prettier@3.4.2))(vite@6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0)) '@storybook/web-components': 8.5.8(lit@3.2.1)(storybook@8.5.8(prettier@3.4.2)) magic-string: 0.30.17 storybook: 8.5.8(prettier@3.4.2) @@ -5021,10 +5324,10 @@ snapshots: tiny-invariant: 1.3.3 ts-dedent: 2.2.0 - '@stylistic/eslint-plugin@2.13.0(eslint@9.20.1)(typescript@5.7.3)': + '@stylistic/eslint-plugin@2.12.1(eslint@9.17.0)(typescript@5.7.3)': dependencies: - '@typescript-eslint/utils': 8.24.1(eslint@9.20.1)(typescript@5.7.3) - eslint: 9.20.1 + '@typescript-eslint/utils': 8.23.0(eslint@9.17.0)(typescript@5.7.3) + eslint: 9.17.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 estraverse: 5.3.0 @@ -5041,14 +5344,14 @@ snapshots: '@types/accepts@1.3.7': dependencies: - '@types/node': 22.13.4 + '@types/node': 22.10.2 '@types/babel__code-frame@7.0.6': {} '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.13.4 + '@types/node': 22.10.2 '@types/chai-dom@1.11.3': dependencies: @@ -5062,14 +5365,14 @@ snapshots: '@types/co-body@6.1.3': dependencies: - '@types/node': 22.13.4 - '@types/qs': 6.9.18 + '@types/node': 22.10.2 + '@types/qs': 6.9.17 '@types/command-line-args@5.2.3': {} '@types/connect@3.4.38': dependencies: - '@types/node': 22.13.4 + '@types/node': 22.10.2 '@types/content-disposition@0.5.8': {} @@ -5080,7 +5383,7 @@ snapshots: '@types/connect': 3.4.38 '@types/express': 5.0.0 '@types/keygrip': 1.0.6 - '@types/node': 22.13.4 + '@types/node': 22.10.2 '@types/debounce@1.2.4': {} @@ -5093,18 +5396,18 @@ snapshots: '@types/estree@1.0.6': {} - '@types/express-serve-static-core@5.0.6': + '@types/express-serve-static-core@5.0.2': dependencies: - '@types/node': 22.13.4 - '@types/qs': 6.9.18 + '@types/node': 22.10.2 + '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 '@types/express@5.0.0': dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 5.0.6 - '@types/qs': 6.9.18 + '@types/express-serve-static-core': 5.0.2 + '@types/qs': 6.9.17 '@types/serve-static': 1.15.7 '@types/http-assert@1.5.6': {} @@ -5140,7 +5443,7 @@ snapshots: '@types/http-errors': 2.0.4 '@types/keygrip': 1.0.6 '@types/koa-compose': 3.2.8 - '@types/node': 22.13.4 + '@types/node': 22.10.2 '@types/mdx@2.0.13': {} @@ -5150,7 +5453,7 @@ snapshots: '@types/node@12.20.55': {} - '@types/node@22.13.4': + '@types/node@22.10.2': dependencies: undici-types: 6.20.0 @@ -5158,16 +5461,19 @@ snapshots: '@types/parse5@2.2.34': dependencies: - '@types/node': 22.13.4 + '@types/node': 22.10.2 '@types/parse5@6.0.3': {} - '@types/qs@6.9.18': {} + '@types/prop-types@15.7.14': {} + + '@types/qs@6.9.17': {} '@types/range-parser@1.2.7': {} - '@types/react@19.0.10': + '@types/react@18.3.12': dependencies: + '@types/prop-types': 15.7.14 csstype: 3.1.3 '@types/resolve@1.20.2': {} @@ -5175,12 +5481,12 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.13.4 + '@types/node': 22.10.2 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.13.4 + '@types/node': 22.10.2 '@types/send': 0.17.4 '@types/sinon-chai@3.2.12': @@ -5200,22 +5506,22 @@ snapshots: '@types/ws@7.4.7': dependencies: - '@types/node': 22.13.4 + '@types/node': 22.10.2 '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.13.4 + '@types/node': 22.10.2 optional: true - '@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.20.1)(typescript@5.7.3))(eslint@9.20.1)(typescript@5.7.3)': + '@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.17.0)(typescript@5.7.3))(eslint@9.17.0)(typescript@5.7.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.24.1(eslint@9.20.1)(typescript@5.7.3) - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/type-utils': 8.24.1(eslint@9.20.1)(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.20.1)(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.1 - eslint: 9.20.1 + '@typescript-eslint/parser': 8.23.0(eslint@9.17.0)(typescript@5.7.3) + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/type-utils': 8.23.0(eslint@9.17.0)(typescript@5.7.3) + '@typescript-eslint/utils': 8.23.0(eslint@9.17.0)(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.23.0 + eslint: 9.17.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -5224,77 +5530,77 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.24.1(eslint@9.20.1)(typescript@5.7.3)': + '@typescript-eslint/parser@8.23.0(eslint@9.17.0)(typescript@5.7.3)': dependencies: - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 8.23.0 debug: 4.4.0 - eslint: 9.20.1 + eslint: 9.17.0 typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/rule-tester@8.24.1(eslint@9.20.1)(typescript@5.7.3)': + '@typescript-eslint/rule-tester@8.23.0(eslint@9.17.0)(typescript@5.7.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.20.1)(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.23.0(eslint@9.17.0)(typescript@5.7.3) ajv: 6.12.6 - eslint: 9.20.1 + eslint: 9.17.0 json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 - semver: 7.7.1 + semver: 7.7.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/scope-manager@8.24.1': + '@typescript-eslint/scope-manager@8.23.0': dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/visitor-keys': 8.23.0 - '@typescript-eslint/type-utils@8.24.1(eslint@9.20.1)(typescript@5.7.3)': + '@typescript-eslint/type-utils@8.23.0(eslint@9.17.0)(typescript@5.7.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.20.1)(typescript@5.7.3) + '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3) + '@typescript-eslint/utils': 8.23.0(eslint@9.17.0)(typescript@5.7.3) debug: 4.4.0 - eslint: 9.20.1 + eslint: 9.17.0 ts-api-utils: 2.0.1(typescript@5.7.3) typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.24.1': {} + '@typescript-eslint/types@8.23.0': {} - '@typescript-eslint/typescript-estree@8.24.1(typescript@5.7.3)': + '@typescript-eslint/typescript-estree@8.23.0(typescript@5.7.3)': dependencies: - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/visitor-keys': 8.24.1 + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/visitor-keys': 8.23.0 debug: 4.4.0 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.1 + semver: 7.7.0 ts-api-utils: 2.0.1(typescript@5.7.3) typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.24.1(eslint@9.20.1)(typescript@5.7.3)': + '@typescript-eslint/utils@8.23.0(eslint@9.17.0)(typescript@5.7.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1) - '@typescript-eslint/scope-manager': 8.24.1 - '@typescript-eslint/types': 8.24.1 - '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.7.3) - eslint: 9.20.1 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0) + '@typescript-eslint/scope-manager': 8.23.0 + '@typescript-eslint/types': 8.23.0 + '@typescript-eslint/typescript-estree': 8.23.0(typescript@5.7.3) + eslint: 9.17.0 typescript: 5.7.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.24.1': + '@typescript-eslint/visitor-keys@8.23.0': dependencies: - '@typescript-eslint/types': 8.24.1 + '@typescript-eslint/types': 8.23.0 eslint-visitor-keys: 4.2.0 '@vitest/expect@3.0.6': @@ -5304,13 +5610,13 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.6(vite@6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0))': + '@vitest/mocker@3.0.6(vite@6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0))': dependencies: '@vitest/spy': 3.0.6 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0) + vite: 6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0) '@vitest/pretty-format@3.0.6': dependencies: @@ -5339,20 +5645,20 @@ snapshots: '@vscode/web-custom-data@0.4.13': {} - '@web/browser-logs@0.4.1': + '@web/browser-logs@0.4.0': dependencies: errorstacks: 2.4.1 '@web/config-loader@0.3.2': {} - '@web/dev-server-core@0.7.5': + '@web/dev-server-core@0.7.4': dependencies: '@types/koa': 2.15.0 '@types/ws': 7.4.7 '@web/parse5-utils': 2.1.0 - chokidar: 4.0.3 + chokidar: 4.0.1 clone: 2.1.2 - es-module-lexer: 1.6.0 + es-module-lexer: 1.5.4 get-stream: 6.0.1 is-stream: 2.0.1 isbinaryfile: 5.0.4 @@ -5370,13 +5676,13 @@ snapshots: - supports-color - utf-8-validate - '@web/dev-server-esbuild@1.0.4': + '@web/dev-server-esbuild@1.0.3': dependencies: '@mdn/browser-compat-data': 4.2.1 - '@web/dev-server-core': 0.7.5 + '@web/dev-server-core': 0.7.4 esbuild: 0.25.0 parse5: 6.0.1 - ua-parser-js: 1.0.40 + ua-parser-js: 1.0.39 transitivePeerDependencies: - bufferutil - supports-color @@ -5384,12 +5690,12 @@ snapshots: '@web/dev-server-rollup@0.6.4': dependencies: - '@rollup/plugin-node-resolve': 15.3.1(rollup@4.34.8) - '@web/dev-server-core': 0.7.5 + '@rollup/plugin-node-resolve': 15.3.1(rollup@4.28.1) + '@web/dev-server-core': 0.7.4 nanocolors: 0.2.13 parse5: 6.0.1 - rollup: 4.34.8 - whatwg-url: 14.1.1 + rollup: 4.28.1 + whatwg-url: 14.1.0 transitivePeerDependencies: - bufferutil - supports-color @@ -5400,7 +5706,7 @@ snapshots: '@babel/code-frame': 7.26.2 '@types/command-line-args': 5.2.3 '@web/config-loader': 0.3.2 - '@web/dev-server-core': 0.7.5 + '@web/dev-server-core': 0.7.4 '@web/dev-server-rollup': 0.6.4 camelcase: 6.3.0 command-line-args: 5.2.1 @@ -5427,9 +5733,8 @@ snapshots: '@web/test-runner-coverage-v8': 0.8.0 async-mutex: 0.4.0 chrome-launcher: 0.15.2 - puppeteer-core: 23.11.1 + puppeteer-core: 23.10.4 transitivePeerDependencies: - - bare-buffer - bufferutil - supports-color - utf-8-validate @@ -5452,9 +5757,9 @@ snapshots: '@types/debounce': 1.2.4 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@web/browser-logs': 0.4.1 - '@web/dev-server-core': 0.7.5 - chokidar: 4.0.3 + '@web/browser-logs': 0.4.0 + '@web/dev-server-core': 0.7.4 + chokidar: 4.0.1 cli-cursor: 3.1.0 co-body: 6.2.0 convert-source-map: 2.0.0 @@ -5508,7 +5813,7 @@ snapshots: '@web/test-runner@0.19.0': dependencies: - '@web/browser-logs': 0.4.1 + '@web/browser-logs': 0.4.0 '@web/config-loader': 0.3.2 '@web/dev-server': 0.4.6 '@web/test-runner-chrome': 0.17.0 @@ -5525,7 +5830,6 @@ snapshots: portfinder: 1.0.32 source-map: 0.7.4 transitivePeerDependencies: - - bare-buffer - bufferutil - supports-color - utf-8-validate @@ -5553,7 +5857,7 @@ snapshots: ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.0.6 + fast-uri: 3.0.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -5567,6 +5871,8 @@ snapshots: dependencies: environment: 1.1.0 + ansi-regex@4.1.1: {} + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} @@ -5581,6 +5887,11 @@ snapshots: ansi-styles@6.2.1: {} + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -5603,8 +5914,8 @@ snapshots: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.9 - es-object-atoms: 1.1.1 - get-intrinsic: 1.2.7 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.6 is-string: 1.1.1 array-union@2.1.0: {} @@ -5615,22 +5926,22 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.9 es-errors: 1.3.0 - es-object-atoms: 1.1.1 - es-shim-unscopables: 1.1.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 array.prototype.flat@1.3.3: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.9 - es-shim-unscopables: 1.1.0 + es-shim-unscopables: 1.0.2 array.prototype.flatmap@1.3.3: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.9 - es-shim-unscopables: 1.1.0 + es-shim-unscopables: 1.0.2 arraybuffer.prototype.slice@1.0.4: dependencies: @@ -5654,8 +5965,6 @@ snapshots: astral-regex@2.0.0: {} - async-function@1.0.0: {} - async-mutex@0.4.0: dependencies: tslib: 2.8.1 @@ -5666,7 +5975,7 @@ snapshots: available-typed-arrays@1.0.7: dependencies: - possible-typed-array-names: 1.1.0 + possible-typed-array-names: 1.0.0 axe-core@4.10.2: {} @@ -5676,31 +5985,27 @@ snapshots: balanced-match@2.0.0: {} - bare-events@2.5.4: + bare-events@2.5.0: optional: true - bare-fs@4.0.1: + bare-fs@2.3.5: dependencies: - bare-events: 2.5.4 - bare-path: 3.0.0 - bare-stream: 2.6.5(bare-events@2.5.4) - transitivePeerDependencies: - - bare-buffer + bare-events: 2.5.0 + bare-path: 2.1.3 + bare-stream: 2.6.1 optional: true - bare-os@3.4.0: + bare-os@2.4.4: optional: true - bare-path@3.0.0: + bare-path@2.1.3: dependencies: - bare-os: 3.4.0 + bare-os: 2.4.4 optional: true - bare-stream@2.6.5(bare-events@2.5.4): + bare-stream@2.6.1: dependencies: - streamx: 2.22.0 - optionalDependencies: - bare-events: 2.5.4 + streamx: 2.21.1 optional: true base64-js@1.5.1: {} @@ -5719,6 +6024,10 @@ snapshots: dependencies: is-windows: 1.0.2 + binary-extensions@2.3.0: {} + + boolbase@1.0.0: {} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -5734,12 +6043,12 @@ snapshots: browser-assert@1.2.1: {} - browserslist@4.24.4: + browserslist@4.24.3: dependencies: - caniuse-lite: 1.0.30001700 - electron-to-chromium: 1.5.102 + caniuse-lite: 1.0.30001690 + electron-to-chromium: 1.5.74 node-releases: 2.0.19 - update-browserslist-db: 1.1.2(browserslist@4.24.4) + update-browserslist-db: 1.1.1(browserslist@4.24.3) buffer-crc32@0.2.13: {} @@ -5750,11 +6059,6 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - buffer@6.0.3: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - builtin-modules@3.3.0: {} bytes@3.1.2: {} @@ -5766,27 +6070,22 @@ snapshots: mime-types: 2.1.35 ylru: 1.4.0 - cacheable@1.8.8: - dependencies: - hookified: 1.7.1 - keyv: 5.2.3 - - call-bind-apply-helpers@1.0.2: + call-bind-apply-helpers@1.0.1: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 call-bind@1.0.8: dependencies: - call-bind-apply-helpers: 1.0.2 + call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 set-function-length: 1.2.2 call-bound@1.0.3: dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.2.7 + call-bind-apply-helpers: 1.0.1 + get-intrinsic: 1.2.6 callsites@3.1.0: {} @@ -5795,9 +6094,11 @@ snapshots: pascal-case: 3.1.2 tslib: 2.8.1 + camelcase@5.3.1: {} + camelcase@6.3.0: {} - caniuse-lite@1.0.30001700: {} + caniuse-lite@1.0.30001690: {} chai-a11y-axe@1.5.0: dependencies: @@ -5832,23 +6133,43 @@ snapshots: check-error@2.1.1: {} - chokidar@4.0.3: + chokidar-cli@3.0.0: dependencies: - readdirp: 4.1.2 + chokidar: 3.6.0 + lodash.debounce: 4.0.8 + lodash.throttle: 4.1.1 + yargs: 13.3.2 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@4.0.1: + dependencies: + readdirp: 4.0.2 chrome-launcher@0.15.2: dependencies: - '@types/node': 22.13.4 + '@types/node': 22.10.2 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 transitivePeerDependencies: - supports-color - chromium-bidi@0.11.0(devtools-protocol@0.0.1367902): + chromium-bidi@0.8.0(devtools-protocol@0.0.1367902): dependencies: devtools-protocol: 0.0.1367902 mitt: 3.0.1 + urlpattern-polyfill: 10.0.0 zod: 3.23.8 ci-info@3.9.0: {} @@ -5876,6 +6197,12 @@ snapshots: slice-ansi: 5.0.0 string-width: 7.2.0 + cliui@5.0.0: + dependencies: + string-width: 3.1.0 + strip-ansi: 5.2.0 + wrap-ansi: 5.1.0 + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -5888,7 +6215,7 @@ snapshots: dependencies: '@hapi/bourne': 3.0.0 inflation: 2.1.0 - qs: 6.14.0 + qs: 6.13.1 raw-body: 2.5.2 type-is: 1.6.18 @@ -5930,6 +6257,8 @@ snapshots: commander@2.20.3: {} + comment-parser@1.4.1: {} + commondir@1.0.1: {} concat-map@0.0.1: {} @@ -5947,16 +6276,16 @@ snapshots: depd: 2.0.0 keygrip: 1.1.0 - core-js-compat@3.40.0: + core-js-compat@3.39.0: dependencies: - browserslist: 4.24.4 + browserslist: 4.24.3 corser@2.0.1: {} cosmiconfig@9.0.0(typescript@5.7.3): dependencies: env-paths: 2.2.1 - import-fresh: 3.3.1 + import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: @@ -5970,11 +6299,21 @@ snapshots: css-functions-list@3.2.3: {} + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + css-tree@3.1.0: dependencies: mdn-data: 2.12.2 source-map-js: 1.2.1 + css-what@6.1.0: {} + cssesc@3.0.0: {} csstype@3.1.3: {} @@ -6015,6 +6354,8 @@ snapshots: dependencies: ms: 2.1.3 + decamelize@1.2.0: {} + deep-eql@5.0.2: {} deep-equal@1.0.1: {} @@ -6065,7 +6406,7 @@ snapshots: didyoumean2@4.1.0: dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.26.0 leven: 3.1.0 lodash.deburr: 4.1.0 @@ -6081,12 +6422,30 @@ snapshots: dependencies: esutils: 2.0.3 + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dom5@3.0.1: dependencies: '@types/parse5': 2.2.34 clone: 2.1.2 parse5: 4.0.0 + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dot-case@3.0.4: dependencies: no-case: 3.0.4 @@ -6094,9 +6453,15 @@ snapshots: dotenv@8.6.0: {} + dunder-proto@1.0.0: + dependencies: + call-bind-apply-helpers: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + dunder-proto@1.0.1: dependencies: - call-bind-apply-helpers: 1.0.2 + call-bind-apply-helpers: 1.0.1 es-errors: 1.3.0 gopd: 1.2.0 @@ -6104,10 +6469,12 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.102: {} + electron-to-chromium@1.5.74: {} emoji-regex@10.4.0: {} + emoji-regex@7.0.3: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -6147,7 +6514,7 @@ snapshots: data-view-byte-offset: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 es-set-tostringtag: 2.1.0 es-to-primitive: 1.3.0 function.prototype.name: 1.1.8 @@ -6168,9 +6535,9 @@ snapshots: is-shared-array-buffer: 1.0.4 is-string: 1.1.1 is-typed-array: 1.1.15 - is-weakref: 1.1.1 + is-weakref: 1.1.0 math-intrinsics: 1.1.0 - object-inspect: 1.13.4 + object-inspect: 1.13.3 object-keys: 1.1.1 object.assign: 4.1.7 own-keys: 1.0.1 @@ -6193,9 +6560,11 @@ snapshots: es-errors@1.3.0: {} + es-module-lexer@1.5.4: {} + es-module-lexer@1.6.0: {} - es-object-atoms@1.1.1: + es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 @@ -6206,7 +6575,7 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - es-shim-unscopables@1.1.0: + es-shim-unscopables@1.0.2: dependencies: hasown: 2.0.2 @@ -6267,29 +6636,29 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@10.0.1(eslint@9.20.1): + eslint-config-prettier@10.0.1(eslint@9.17.0): dependencies: - eslint: 9.20.1 + eslint: 9.17.0 eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 - is-core-module: 2.16.1 - resolve: 1.22.10 + is-core-module: 2.16.0 + resolve: 1.22.9 transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint@9.20.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.23.0(eslint@9.17.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint@9.17.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.24.1(eslint@9.20.1)(typescript@5.7.3) - eslint: 9.20.1 + '@typescript-eslint/parser': 8.23.0(eslint@9.17.0)(typescript@5.7.3) + eslint: 9.17.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1)(typescript@5.7.3))(eslint@9.20.1): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.17.0)(typescript@5.7.3))(eslint@9.17.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -6298,11 +6667,11 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.20.1 + eslint: 9.17.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint@9.20.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.23.0(eslint@9.17.0)(typescript@5.7.3))(eslint-import-resolver-node@0.3.9)(eslint@9.17.0) hasown: 2.0.2 - is-core-module: 2.16.1 + is-core-module: 2.16.0 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 @@ -6312,48 +6681,48 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.24.1(eslint@9.20.1)(typescript@5.7.3) + '@typescript-eslint/parser': 8.23.0(eslint@9.17.0)(typescript@5.7.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-lit-a11y@4.1.4(eslint@9.20.1): + eslint-plugin-lit-a11y@4.1.4(eslint@9.17.0): dependencies: '@thepassle/axobject-query': 4.0.0 aria-query: 5.3.2 axe-core: 4.10.2 dom5: 3.0.1 emoji-regex: 10.4.0 - eslint: 9.20.1 - eslint-plugin-lit: 1.15.0(eslint@9.20.1) + eslint: 9.17.0 + eslint-plugin-lit: 1.15.0(eslint@9.17.0) eslint-rule-extender: 0.0.1 language-tags: 1.0.9 parse5: 7.2.1 parse5-htmlparser2-tree-adapter: 6.0.1 requireindex: 1.2.0 - eslint-plugin-lit@1.15.0(eslint@9.20.1): + eslint-plugin-lit@1.15.0(eslint@9.17.0): dependencies: - eslint: 9.20.1 + eslint: 9.17.0 parse5: 6.0.1 parse5-htmlparser2-tree-adapter: 6.0.1 requireindex: 1.2.0 - eslint-plugin-sort-class-members@1.21.0(eslint@9.20.1): + eslint-plugin-sort-class-members@1.21.0(eslint@9.17.0): dependencies: - eslint: 9.20.1 + eslint: 9.17.0 - eslint-plugin-unicorn@56.0.1(eslint@9.20.1): + eslint-plugin-unicorn@56.0.1(eslint@9.17.0): dependencies: '@babel/helper-validator-identifier': 7.25.9 - '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0) ci-info: 4.1.0 clean-regexp: 1.0.0 - core-js-compat: 3.40.0 - eslint: 9.20.1 + core-js-compat: 3.39.0 + eslint: 9.17.0 esquery: 1.6.0 - globals: 15.15.0 + globals: 15.13.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 jsesc: 3.1.0 @@ -6361,7 +6730,7 @@ snapshots: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.7.1 + semver: 7.6.3 strip-indent: 3.0.0 eslint-rule-extender@0.0.1: {} @@ -6375,15 +6744,15 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.20.1: + eslint@9.17.0: dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.2 - '@eslint/core': 0.11.0 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.9.1 '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.20.0 - '@eslint/plugin-kit': 0.2.6 + '@eslint/js': 9.17.0 + '@eslint/plugin-kit': 0.2.4 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.1 @@ -6496,6 +6865,14 @@ snapshots: fast-fifo@1.3.2: {} + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6508,11 +6885,11 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-uri@3.0.6: {} + fast-uri@3.0.3: {} fastest-levenshtein@1.0.16: {} - fastq@1.19.0: + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -6520,14 +6897,14 @@ snapshots: dependencies: pend: 1.2.0 - file-entry-cache@10.0.6: - dependencies: - flat-cache: 6.1.6 - file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 + file-entry-cache@9.1.0: + dependencies: + flat-cache: 5.0.0 + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -6536,6 +6913,10 @@ snapshots: dependencies: array-back: 3.1.0 + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -6548,20 +6929,19 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.3.3 + flatted: 3.3.2 keyv: 4.5.4 - flat-cache@6.1.6: + flat-cache@5.0.0: dependencies: - cacheable: 1.8.8 - flatted: 3.3.3 - hookified: 1.7.1 + flatted: 3.3.2 + keyv: 4.5.4 - flatted@3.3.3: {} + flatted@3.3.2: {} follow-redirects@1.15.9: {} - for-each@0.3.5: + for-each@0.3.3: dependencies: is-callable: 1.2.7 @@ -6609,12 +6989,25 @@ snapshots: get-east-asian-width@1.3.0: {} + get-intrinsic@1.2.6: + dependencies: + call-bind-apply-helpers: 1.0.1 + dunder-proto: 1.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + function-bind: 1.1.2 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.0.0 + get-intrinsic@1.2.7: dependencies: - call-bind-apply-helpers: 1.0.2 + call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 @@ -6625,7 +7018,7 @@ snapshots: get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 get-stream@5.2.0: dependencies: @@ -6660,7 +7053,7 @@ snapshots: glob@11.0.1: dependencies: foreground-child: 3.3.0 - jackspeak: 4.0.3 + jackspeak: 4.0.2 minimatch: 10.0.1 minipass: 7.1.2 package-json-from-dist: 1.0.1 @@ -6688,7 +7081,7 @@ snapshots: globals@14.0.0: {} - globals@15.15.0: {} + globals@15.13.0: {} globalthis@1.0.4: dependencies: @@ -6699,19 +7092,19 @@ snapshots: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.3 + fast-glob: 3.3.2 ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 - globby@14.1.0: + globby@14.0.2: dependencies: '@sindresorhus/merge-streams': 2.3.0 - fast-glob: 3.3.3 - ignore: 7.0.3 - path-type: 6.0.0 + fast-glob: 3.3.2 + ignore: 5.3.2 + path-type: 5.0.0 slash: 5.1.0 - unicorn-magic: 0.3.0 + unicorn-magic: 0.1.0 globjoin@0.1.4: {} @@ -6733,7 +7126,7 @@ snapshots: has-proto@1.2.0: dependencies: - dunder-proto: 1.0.1 + dunder-proto: 1.0.0 has-symbols@1.1.0: {} @@ -6747,8 +7140,6 @@ snapshots: he@1.2.0: {} - hookified@1.7.1: {} - hosted-git-info@2.8.9: {} html-encoding-sniffer@3.0.0: @@ -6765,7 +7156,7 @@ snapshots: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.39.0 + terser: 5.37.0 html-tags@3.3.1: {} @@ -6838,7 +7229,7 @@ snapshots: transitivePeerDependencies: - supports-color - human-id@4.1.1: {} + human-id@1.0.2: {} human-signals@2.1.0: {} @@ -6858,9 +7249,9 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.3: {} + ignore@6.0.2: {} - import-fresh@3.3.1: + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 @@ -6917,9 +7308,8 @@ snapshots: is-arrayish@0.2.1: {} - is-async-function@2.1.1: + is-async-function@2.1.0: dependencies: - async-function: 1.0.0 call-bound: 1.0.3 get-proto: 1.0.1 has-tostringtag: 1.0.2 @@ -6929,7 +7319,11 @@ snapshots: dependencies: has-bigints: 1.1.0 - is-boolean-object@1.2.2: + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.2.1: dependencies: call-bound: 1.0.3 has-tostringtag: 1.0.2 @@ -6944,7 +7338,7 @@ snapshots: dependencies: ci-info: 4.1.0 - is-core-module@2.16.1: + is-core-module@2.16.0: dependencies: hasown: 2.0.2 @@ -6967,6 +7361,8 @@ snapshots: dependencies: call-bound: 1.0.3 + is-fullwidth-code-point@2.0.0: {} + is-fullwidth-code-point@3.0.0: {} is-fullwidth-code-point@4.0.0: {} @@ -6975,12 +7371,9 @@ snapshots: dependencies: get-east-asian-width: 1.3.0 - is-generator-function@1.1.0: + is-generator-function@1.0.10: dependencies: - call-bound: 1.0.3 - get-proto: 1.0.1 has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 is-glob@4.0.3: dependencies: @@ -7045,7 +7438,7 @@ snapshots: is-weakmap@2.0.2: {} - is-weakref@1.1.1: + is-weakref@1.1.0: dependencies: call-bound: 1.0.3 @@ -7081,7 +7474,7 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jackspeak@4.0.3: + jackspeak@4.0.2: dependencies: '@isaacs/cliui': 8.0.2 @@ -7134,10 +7527,6 @@ snapshots: dependencies: json-buffer: 3.0.1 - keyv@5.2.3: - dependencies: - '@keyv/serialize': 1.0.3 - kind-of@6.0.3: {} known-css-properties@0.35.0: {} @@ -7184,7 +7573,7 @@ snapshots: fresh: 0.5.2 http-assert: 1.5.0 http-errors: 1.8.1 - is-generator-function: 1.1.0 + is-generator-function: 1.0.10 koa-compose: 4.1.0 koa-convert: 2.0.0 on-finished: 2.4.1 @@ -7251,7 +7640,7 @@ snapshots: '@vscode/web-custom-data': 0.4.13 chalk: 2.4.2 didyoumean2: 4.1.0 - fast-glob: 3.3.3 + fast-glob: 3.3.2 parse5: 5.1.0 ts-simple-type: 2.0.0-next.0 vscode-css-languageservice: 4.3.0 @@ -7260,7 +7649,7 @@ snapshots: lit-element@4.1.1: dependencies: - '@lit-labs/ssr-dom-shim': 1.3.0 + '@lit-labs/ssr-dom-shim': 1.2.1 '@lit/reactive-element': 2.0.4 lit-html: 3.2.1 @@ -7274,6 +7663,11 @@ snapshots: lit-element: 4.1.1 lit-html: 3.2.1 + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -7284,6 +7678,8 @@ snapshots: lodash.camelcase@4.3.0: {} + lodash.debounce@4.0.8: {} + lodash.deburr@4.1.0: {} lodash.get@4.4.2: {} @@ -7292,6 +7688,8 @@ snapshots: lodash.startcase@4.4.0: {} + lodash.throttle@4.1.1: {} + lodash.truncate@4.4.2: {} lodash@4.17.21: {} @@ -7311,6 +7709,10 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 9.0.0 + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + loupe@3.1.3: {} lower-case@2.0.2: @@ -7329,10 +7731,12 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.1 + semver: 7.7.0 marky@1.2.5: {} + math-intrinsics@1.0.0: {} + math-intrinsics@1.1.0: {} mathml-tag-names@2.1.3: {} @@ -7415,7 +7819,7 @@ snapshots: nanoid@3.3.8: {} - nanoid@5.1.0: {} + nanoid@5.0.9: {} natural-compare@1.4.0: {} @@ -7440,12 +7844,17 @@ snapshots: dependencies: whatwg-url: 5.0.0 + node-html-parser@7.0.1: + dependencies: + css-select: 5.1.0 + he: 1.2.0 + node-releases@2.0.19: {} normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.10 + resolve: 1.22.9 semver: 5.7.2 validate-npm-package-license: 3.0.4 @@ -7472,7 +7881,11 @@ snapshots: dependencies: path-key: 4.0.0 - object-inspect@1.13.4: {} + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + object-inspect@1.13.3: {} object-keys@1.1.1: {} @@ -7481,7 +7894,7 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.3 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 has-symbols: 1.1.0 object-keys: 1.1.1 @@ -7490,7 +7903,7 @@ snapshots: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.23.9 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 object.groupby@1.0.3: dependencies: @@ -7503,7 +7916,7 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.3 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 on-finished@2.4.1: dependencies: @@ -7572,6 +7985,10 @@ snapshots: dependencies: yocto-queue: 0.1.0 + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -7588,7 +8005,7 @@ snapshots: p-try@2.2.0: {} - pac-proxy-agent@7.2.0: + pac-proxy-agent@7.1.0: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.3 @@ -7608,7 +8025,7 @@ snapshots: package-json-from-dist@1.0.1: {} - package-manager-detector@0.2.9: {} + package-manager-detector@0.2.7: {} param-case@3.0.4: dependencies: @@ -7651,6 +8068,8 @@ snapshots: no-case: 3.0.4 tslib: 2.8.1 + path-exists@3.0.0: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -7670,7 +8089,7 @@ snapshots: path-type@4.0.0: {} - path-type@6.0.0: {} + path-type@5.0.0: {} pathe@2.0.3: {} @@ -7702,7 +8121,7 @@ snapshots: polished@4.3.1: dependencies: - '@babel/runtime': 7.26.9 + '@babel/runtime': 7.26.0 portfinder@1.0.32: dependencies: @@ -7712,35 +8131,41 @@ snapshots: transitivePeerDependencies: - supports-color - possible-typed-array-names@1.1.0: {} + possible-typed-array-names@1.0.0: {} - postcss-lit@1.2.0(postcss@8.5.3): + postcss-lit@1.1.1(postcss@8.5.1): dependencies: - '@babel/generator': 7.26.9 - '@babel/parser': 7.26.9 - '@babel/traverse': 7.26.9 + '@babel/generator': 7.26.3 + '@babel/parser': 7.26.3 + '@babel/traverse': 7.26.4 lilconfig: 2.1.0 - postcss: 8.5.3 + postcss: 8.5.1 transitivePeerDependencies: - supports-color postcss-resolve-nested-selector@0.1.6: {} - postcss-safe-parser@7.0.1(postcss@8.5.3): + postcss-safe-parser@7.0.1(postcss@8.5.1): dependencies: - postcss: 8.5.3 + postcss: 8.5.1 - postcss-selector-parser@7.1.0: + postcss-selector-parser@7.0.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sorting@8.0.2(postcss@8.5.3): + postcss-sorting@8.0.2(postcss@8.5.1): dependencies: - postcss: 8.5.3 + postcss: 8.5.1 postcss-value-parser@4.2.0: {} + postcss@8.5.1: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + postcss@8.5.3: dependencies: nanoid: 3.3.8 @@ -7768,7 +8193,7 @@ snapshots: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 - pac-proxy-agent: 7.2.0 + pac-proxy-agent: 7.1.0 proxy-from-env: 1.1.0 socks-proxy-agent: 8.0.5 transitivePeerDependencies: @@ -7783,26 +8208,27 @@ snapshots: punycode@2.3.1: {} - puppeteer-core@23.11.1: + puppeteer-core@23.10.4: dependencies: '@puppeteer/browsers': 2.6.1 - chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902) + chromium-bidi: 0.8.0(devtools-protocol@0.0.1367902) debug: 4.4.0 devtools-protocol: 0.0.1367902 typed-query-selector: 2.12.0 ws: 8.18.0 transitivePeerDependencies: - - bare-buffer - bufferutil - supports-color - utf-8-validate - qs@6.14.0: + qs@6.13.1: dependencies: side-channel: 1.1.0 queue-microtask@1.2.3: {} + queue-tick@1.0.1: {} + raw-body@2.5.2: dependencies: bytes: 3.1.2 @@ -7810,12 +8236,15 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - react-dom@19.0.0(react@19.0.0): + react-dom@18.3.1(react@18.3.1): dependencies: - react: 19.0.0 - scheduler: 0.25.0 + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 - react@19.0.0: {} + react@18.3.1: + dependencies: + loose-envify: 1.4.0 read-package-json-fast@4.0.0: dependencies: @@ -7842,7 +8271,11 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 - readdirp@4.1.2: {} + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readdirp@4.0.2: {} recast@0.23.9: dependencies: @@ -7858,7 +8291,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.23.9 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 get-intrinsic: 1.2.7 get-proto: 1.0.1 which-builtin-type: 1.2.1 @@ -7886,6 +8319,8 @@ snapshots: require-from-string@2.0.2: {} + require-main-filename@2.0.0: {} + requireindex@1.2.0: {} requires-port@1.0.0: {} @@ -7899,9 +8334,9 @@ snapshots: http-errors: 1.6.3 path-is-absolute: 1.0.1 - resolve@1.22.10: + resolve@1.22.9: dependencies: - is-core-module: 2.16.1 + is-core-module: 2.16.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -7924,29 +8359,54 @@ snapshots: glob: 11.0.1 package-json-from-dist: 1.0.1 - rollup@4.34.8: + rollup@4.28.1: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.34.8 - '@rollup/rollup-android-arm64': 4.34.8 - '@rollup/rollup-darwin-arm64': 4.34.8 - '@rollup/rollup-darwin-x64': 4.34.8 - '@rollup/rollup-freebsd-arm64': 4.34.8 - '@rollup/rollup-freebsd-x64': 4.34.8 - '@rollup/rollup-linux-arm-gnueabihf': 4.34.8 - '@rollup/rollup-linux-arm-musleabihf': 4.34.8 - '@rollup/rollup-linux-arm64-gnu': 4.34.8 - '@rollup/rollup-linux-arm64-musl': 4.34.8 - '@rollup/rollup-linux-loongarch64-gnu': 4.34.8 - '@rollup/rollup-linux-powerpc64le-gnu': 4.34.8 - '@rollup/rollup-linux-riscv64-gnu': 4.34.8 - '@rollup/rollup-linux-s390x-gnu': 4.34.8 - '@rollup/rollup-linux-x64-gnu': 4.34.8 - '@rollup/rollup-linux-x64-musl': 4.34.8 - '@rollup/rollup-win32-arm64-msvc': 4.34.8 - '@rollup/rollup-win32-ia32-msvc': 4.34.8 - '@rollup/rollup-win32-x64-msvc': 4.34.8 + '@rollup/rollup-android-arm-eabi': 4.28.1 + '@rollup/rollup-android-arm64': 4.28.1 + '@rollup/rollup-darwin-arm64': 4.28.1 + '@rollup/rollup-darwin-x64': 4.28.1 + '@rollup/rollup-freebsd-arm64': 4.28.1 + '@rollup/rollup-freebsd-x64': 4.28.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.28.1 + '@rollup/rollup-linux-arm-musleabihf': 4.28.1 + '@rollup/rollup-linux-arm64-gnu': 4.28.1 + '@rollup/rollup-linux-arm64-musl': 4.28.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.28.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1 + '@rollup/rollup-linux-riscv64-gnu': 4.28.1 + '@rollup/rollup-linux-s390x-gnu': 4.28.1 + '@rollup/rollup-linux-x64-gnu': 4.28.1 + '@rollup/rollup-linux-x64-musl': 4.28.1 + '@rollup/rollup-win32-arm64-msvc': 4.28.1 + '@rollup/rollup-win32-ia32-msvc': 4.28.1 + '@rollup/rollup-win32-x64-msvc': 4.28.1 + fsevents: 2.3.3 + + rollup@4.32.0: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.32.0 + '@rollup/rollup-android-arm64': 4.32.0 + '@rollup/rollup-darwin-arm64': 4.32.0 + '@rollup/rollup-darwin-x64': 4.32.0 + '@rollup/rollup-freebsd-arm64': 4.32.0 + '@rollup/rollup-freebsd-x64': 4.32.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.32.0 + '@rollup/rollup-linux-arm-musleabihf': 4.32.0 + '@rollup/rollup-linux-arm64-gnu': 4.32.0 + '@rollup/rollup-linux-arm64-musl': 4.32.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.32.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.32.0 + '@rollup/rollup-linux-riscv64-gnu': 4.32.0 + '@rollup/rollup-linux-s390x-gnu': 4.32.0 + '@rollup/rollup-linux-x64-gnu': 4.32.0 + '@rollup/rollup-linux-x64-musl': 4.32.0 + '@rollup/rollup-win32-arm64-msvc': 4.32.0 + '@rollup/rollup-win32-ia32-msvc': 4.32.0 + '@rollup/rollup-win32-x64-msvc': 4.32.0 fsevents: 2.3.3 run-parallel@1.2.0: @@ -7978,7 +8438,9 @@ snapshots: safer-buffer@2.1.2: {} - scheduler@0.25.0: {} + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 secure-compare@3.0.1: {} @@ -7986,14 +8448,18 @@ snapshots: semver@6.3.1: {} - semver@7.7.1: {} + semver@7.6.3: {} + + semver@7.7.0: {} + + set-blocking@2.0.0: {} set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.7 + get-intrinsic: 1.2.6 gopd: 1.2.0 has-property-descriptors: 1.0.2 @@ -8008,7 +8474,7 @@ snapshots: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 setprototypeof@1.1.0: {} @@ -8025,27 +8491,27 @@ snapshots: side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 - object-inspect: 1.13.4 + object-inspect: 1.13.3 side-channel-map@1.0.1: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.7 - object-inspect: 1.13.4 + get-intrinsic: 1.2.6 + object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: call-bound: 1.0.3 es-errors: 1.3.0 - get-intrinsic: 1.2.7 - object-inspect: 1.13.4 + get-intrinsic: 1.2.6 + object-inspect: 1.13.3 side-channel-map: 1.0.1 side-channel@1.1.0: dependencies: es-errors: 1.3.0 - object-inspect: 1.13.4 + object-inspect: 1.13.3 side-channel-list: 1.0.0 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 @@ -8091,11 +8557,11 @@ snapshots: dependencies: agent-base: 7.1.3 debug: 4.4.0 - socks: 2.8.4 + socks: 2.8.3 transitivePeerDependencies: - supports-color - socks@2.8.4: + socks@2.8.3: dependencies: ip-address: 9.0.5 smart-buffer: 4.2.0 @@ -8119,16 +8585,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.21 + spdx-license-ids: 3.0.20 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.21 + spdx-license-ids: 3.0.20 - spdx-license-ids@3.0.21: {} + spdx-license-ids@3.0.20: {} sprintf-js@1.0.3: {} @@ -8152,15 +8618,22 @@ snapshots: - supports-color - utf-8-validate - streamx@2.22.0: + streamx@2.21.1: dependencies: fast-fifo: 1.3.2 + queue-tick: 1.0.1 text-decoder: 1.2.3 optionalDependencies: - bare-events: 2.5.4 + bare-events: 2.5.0 string-argv@0.3.2: {} + string-width@3.1.0: + dependencies: + emoji-regex: 7.0.3 + is-fullwidth-code-point: 2.0.0 + strip-ansi: 5.2.0 + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -8186,7 +8659,7 @@ snapshots: define-data-property: 1.1.4 define-properties: 1.2.1 es-abstract: 1.23.9 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 has-property-descriptors: 1.0.2 string.prototype.trimend@1.0.9: @@ -8194,13 +8667,17 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.3 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 + + strip-ansi@5.2.0: + dependencies: + ansi-regex: 4.1.1 strip-ansi@6.0.1: dependencies: @@ -8222,41 +8699,41 @@ snapshots: strip-json-comments@3.1.1: {} - stylelint-config-recommended@14.0.1(stylelint@16.14.1(typescript@5.7.3)): + stylelint-config-recommended@14.0.1(stylelint@16.12.0(typescript@5.7.3)): dependencies: - stylelint: 16.14.1(typescript@5.7.3) + stylelint: 16.12.0(typescript@5.7.3) - stylelint-config-standard@36.0.1(stylelint@16.14.1(typescript@5.7.3)): + stylelint-config-standard@36.0.1(stylelint@16.12.0(typescript@5.7.3)): dependencies: - stylelint: 16.14.1(typescript@5.7.3) - stylelint-config-recommended: 14.0.1(stylelint@16.14.1(typescript@5.7.3)) + stylelint: 16.12.0(typescript@5.7.3) + stylelint-config-recommended: 14.0.1(stylelint@16.12.0(typescript@5.7.3)) - stylelint-order@6.0.4(stylelint@16.14.1(typescript@5.7.3)): + stylelint-order@6.0.4(stylelint@16.12.0(typescript@5.7.3)): dependencies: - postcss: 8.5.3 - postcss-sorting: 8.0.2(postcss@8.5.3) - stylelint: 16.14.1(typescript@5.7.3) + postcss: 8.5.1 + postcss-sorting: 8.0.2(postcss@8.5.1) + stylelint: 16.12.0(typescript@5.7.3) - stylelint-prettier@5.0.3(prettier@3.4.2)(stylelint@16.14.1(typescript@5.7.3)): + stylelint-prettier@5.0.2(prettier@3.4.2)(stylelint@16.12.0(typescript@5.7.3)): dependencies: prettier: 3.4.2 prettier-linter-helpers: 1.0.0 - stylelint: 16.14.1(typescript@5.7.3) + stylelint: 16.12.0(typescript@5.7.3) - stylelint-use-logical@2.1.2(stylelint@16.14.1(typescript@5.7.3)): + stylelint-use-logical@2.1.2(stylelint@16.12.0(typescript@5.7.3)): dependencies: - stylelint: 16.14.1(typescript@5.7.3) + stylelint: 16.12.0(typescript@5.7.3) - stylelint-use-nesting@6.0.0(stylelint@16.14.1(typescript@5.7.3)): + stylelint-use-nesting@6.0.0(stylelint@16.12.0(typescript@5.7.3)): dependencies: - stylelint: 16.14.1(typescript@5.7.3) + stylelint: 16.12.0(typescript@5.7.3) - stylelint@16.14.1(typescript@5.7.3): + stylelint@16.12.0(typescript@5.7.3): dependencies: '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) '@csstools/css-tokenizer': 3.0.3 '@csstools/media-query-list-parser': 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.0.0) '@dual-bundle/import-meta-resolve': 4.1.0 balanced-match: 2.0.0 colord: 2.9.3 @@ -8264,14 +8741,14 @@ snapshots: css-functions-list: 3.2.3 css-tree: 3.1.0 debug: 4.4.0 - fast-glob: 3.3.3 + fast-glob: 3.3.2 fastest-levenshtein: 1.0.16 - file-entry-cache: 10.0.6 + file-entry-cache: 9.1.0 global-modules: 2.0.0 globby: 11.1.0 globjoin: 0.1.4 html-tags: 3.3.1 - ignore: 7.0.3 + ignore: 6.0.2 imurmurhash: 0.1.4 is-plain-object: 5.0.0 known-css-properties: 0.35.0 @@ -8280,14 +8757,14 @@ snapshots: micromatch: 4.0.8 normalize-path: 3.0.0 picocolors: 1.1.1 - postcss: 8.5.3 + postcss: 8.5.1 postcss-resolve-nested-selector: 0.1.6 - postcss-safe-parser: 7.0.1(postcss@8.5.3) - postcss-selector-parser: 7.1.0 + postcss-safe-parser: 7.0.1(postcss@8.5.1) + postcss-selector-parser: 7.0.0 postcss-value-parser: 4.2.0 resolve-from: 5.0.0 string-width: 4.2.3 - supports-hyperlinks: 3.2.0 + supports-hyperlinks: 3.1.0 svg-tags: 1.0.0 table: 6.9.0 write-file-atomic: 5.0.1 @@ -8303,7 +8780,7 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-hyperlinks@3.2.0: + supports-hyperlinks@3.1.0: dependencies: has-flag: 4.0.0 supports-color: 7.2.0 @@ -8325,25 +8802,23 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tar-fs@3.0.8: + tar-fs@3.0.6: dependencies: pump: 3.0.2 tar-stream: 3.1.7 optionalDependencies: - bare-fs: 4.0.1 - bare-path: 3.0.0 - transitivePeerDependencies: - - bare-buffer + bare-fs: 2.3.5 + bare-path: 2.1.3 tar-stream@3.1.7: dependencies: b4a: 1.6.7 fast-fifo: 1.3.2 - streamx: 2.22.0 + streamx: 2.21.1 term-size@2.2.1: {} - terser@5.39.0: + terser@5.37.0: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.14.0 @@ -8438,7 +8913,7 @@ snapshots: typed-array-byte-length@1.0.3: dependencies: call-bind: 1.0.8 - for-each: 0.3.5 + for-each: 0.3.3 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 @@ -8447,7 +8922,7 @@ snapshots: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 - for-each: 0.3.5 + for-each: 0.3.3 gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 @@ -8456,20 +8931,20 @@ snapshots: typed-array-length@1.0.7: dependencies: call-bind: 1.0.8 - for-each: 0.3.5 + for-each: 0.3.3 gopd: 1.2.0 is-typed-array: 1.1.15 - possible-typed-array-names: 1.1.0 + possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.10 typed-query-selector@2.12.0: {} - typescript-eslint@8.24.1(eslint@9.20.1)(typescript@5.7.3): + typescript-eslint@8.23.0(eslint@9.17.0)(typescript@5.7.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.20.1)(typescript@5.7.3))(eslint@9.20.1)(typescript@5.7.3) - '@typescript-eslint/parser': 8.24.1(eslint@9.20.1)(typescript@5.7.3) - '@typescript-eslint/utils': 8.24.1(eslint@9.20.1)(typescript@5.7.3) - eslint: 9.20.1 + '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.17.0)(typescript@5.7.3))(eslint@9.17.0)(typescript@5.7.3) + '@typescript-eslint/parser': 8.23.0(eslint@9.17.0)(typescript@5.7.3) + '@typescript-eslint/utils': 8.23.0(eslint@9.17.0)(typescript@5.7.3) + eslint: 9.17.0 typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -8484,7 +8959,7 @@ snapshots: typical@7.3.0: {} - ua-parser-js@1.0.40: {} + ua-parser-js@1.0.39: {} unbox-primitive@1.1.0: dependencies: @@ -8500,24 +8975,24 @@ snapshots: undici-types@6.20.0: {} - unicorn-magic@0.3.0: {} + unicorn-magic@0.1.0: {} union@0.5.0: dependencies: - qs: 6.14.0 + qs: 6.13.1 universalify@0.1.2: {} unpipe@1.0.0: {} - unplugin@1.16.1: + unplugin@1.16.0: dependencies: acorn: 8.14.0 webpack-virtual-modules: 0.6.2 - update-browserslist-db@1.1.2(browserslist@4.24.4): + update-browserslist-db@1.1.1(browserslist@4.24.3): dependencies: - browserslist: 4.24.4 + browserslist: 4.24.3 escalade: 3.2.0 picocolors: 1.1.1 @@ -8527,13 +9002,15 @@ snapshots: url-join@4.0.1: {} + urlpattern-polyfill@10.0.0: {} + util-deprecate@1.0.2: {} util@0.12.5: dependencies: inherits: 2.0.4 is-arguments: 1.2.0 - is-generator-function: 1.1.0 + is-generator-function: 1.0.10 is-typed-array: 1.1.15 which-typed-array: 1.1.18 @@ -8552,13 +9029,13 @@ snapshots: vary@1.1.2: {} - vite-node@3.0.6(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0): + vite-node@3.0.6(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0) + vite: 6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - jiti @@ -8573,21 +9050,21 @@ snapshots: - tsx - yaml - vite@6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0): + vite@6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0): dependencies: esbuild: 0.25.0 postcss: 8.5.3 - rollup: 4.34.8 + rollup: 4.32.0 optionalDependencies: - '@types/node': 22.13.4 + '@types/node': 22.10.2 fsevents: 2.3.3 - terser: 5.39.0 + terser: 5.37.0 yaml: 2.7.0 - vitest@3.0.6(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0): + vitest@3.0.6(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0): dependencies: '@vitest/expect': 3.0.6 - '@vitest/mocker': 3.0.6(vite@6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0)) + '@vitest/mocker': 3.0.6(vite@6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0)) '@vitest/pretty-format': 3.0.6 '@vitest/runner': 3.0.6 '@vitest/snapshot': 3.0.6 @@ -8603,11 +9080,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.1.1(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0) - vite-node: 3.0.6(@types/node@22.13.4)(terser@5.39.0)(yaml@2.7.0) + vite: 6.1.1(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0) + vite-node: 3.0.6(@types/node@22.10.2)(terser@5.37.0)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.4 + '@types/node': 22.10.2 transitivePeerDependencies: - jiti - less @@ -8646,7 +9123,7 @@ snapshots: web-component-analyzer@2.0.0: dependencies: - fast-glob: 3.3.3 + fast-glob: 3.3.2 ts-simple-type: 2.0.0-next.0 typescript: 5.2.2 yargs: 17.7.2 @@ -8661,7 +9138,7 @@ snapshots: dependencies: iconv-lite: 0.6.3 - whatwg-url@14.1.1: + whatwg-url@14.1.0: dependencies: tr46: 5.0.0 webidl-conversions: 7.0.0 @@ -8674,7 +9151,7 @@ snapshots: which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 - is-boolean-object: 1.2.2 + is-boolean-object: 1.2.1 is-number-object: 1.1.1 is-string: 1.1.1 is-symbol: 1.1.1 @@ -8684,12 +9161,12 @@ snapshots: call-bound: 1.0.3 function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 - is-async-function: 2.1.1 + is-async-function: 2.1.0 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.0 + is-generator-function: 1.0.10 is-regex: 1.2.1 - is-weakref: 1.1.1 + is-weakref: 1.1.0 isarray: 2.0.5 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 @@ -8702,12 +9179,14 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.4 + which-module@2.0.1: {} + which-typed-array@1.1.18: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.8 call-bound: 1.0.3 - for-each: 0.3.5 + for-each: 0.3.3 gopd: 1.2.0 has-tostringtag: 1.0.2 @@ -8732,6 +9211,12 @@ snapshots: wordwrapjs@5.1.0: {} + wrap-ansi@5.1.0: + dependencies: + ansi-styles: 3.2.1 + string-width: 3.1.0 + strip-ansi: 5.2.0 + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 @@ -8767,12 +9252,32 @@ snapshots: ws@8.18.0: {} + y18n@4.0.3: {} + y18n@5.0.8: {} yaml@2.7.0: {} + yargs-parser@13.1.2: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + yargs-parser@21.1.1: {} + yargs@13.3.2: + dependencies: + cliui: 5.0.0 + find-up: 3.0.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 3.1.0 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 13.1.2 + yargs@17.7.2: dependencies: cliui: 8.0.1 diff --git a/src/accordion.ts b/src/accordion.ts index ceafacfb4..489b169ac 100644 --- a/src/accordion.ts +++ b/src/accordion.ts @@ -38,8 +38,11 @@ export default class GlideCoreAccordion extends LitElement { @required label?: string; + /** + * @default false + */ @property({ reflect: true, type: Boolean }) - get open() { + get open(): boolean { return this.#isOpen; } @@ -47,9 +50,11 @@ export default class GlideCoreAccordion extends LitElement { const hasChanged = isOpen !== this.#isOpen; this.#isOpen = isOpen; - const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)'); + const isReducedMotion = window.matchMedia( + '(prefers-reduced-motion: reduce)', + ).matches; - if (reducedMotion.matches && hasChanged && this.#detailsElementRef.value) { + if (isReducedMotion && hasChanged && this.#detailsElementRef.value) { this.#detailsElementRef.value.open = isOpen; this.dispatchEvent( @@ -164,7 +169,12 @@ export default class GlideCoreAccordion extends LitElement { name="prefix-icon" @slotchange=${this.#onPrefixIconSlotChange} ${ref(this.#prefixIconSlotElementRef)} - > + > + + ${this.label} @@ -177,7 +187,12 @@ export default class GlideCoreAccordion extends LitElement { name="suffix-icons" @slotchange=${this.#onSuffixIconsSlotChange} ${ref(this.#suffixIconsSlotElementRef)} - > + > + + + > + + `; } diff --git a/src/button-group.button.ts b/src/button-group.button.ts index 01d73f53f..61bbce979 100644 --- a/src/button-group.button.ts +++ b/src/button-group.button.ts @@ -33,8 +33,11 @@ export default class GlideCoreButtonGroupButton extends LitElement { @required label?: string; + /** + * @default false + */ @property({ type: Boolean, reflect: true }) - get selected() { + get selected(): boolean { return this.#isSelected; } @@ -70,6 +73,14 @@ export default class GlideCoreButtonGroupButton extends LitElement { this.#componentElementRef.value?.focus(options); } + privateSelect() { + this.selected = true; + + this.dispatchEvent( + new Event('selected', { bubbles: true, composed: true }), + ); + } + override render() { return html`
+ > + +
+ > + +
`; @@ -139,11 +150,7 @@ export default class GlideCoreButtonGroup extends LitElement { // Guards against `button.selected` to prevent duplicate "change" and // "input" events. if (button && !button.disabled && !button.selected) { - button.selected = true; - - button.dispatchEvent( - new Event('selected', { bubbles: true, composed: true }), - ); + button.privateSelect(); } } } @@ -174,11 +181,7 @@ export default class GlideCoreButtonGroup extends LitElement { } if (previousButton instanceof GlideCoreButtonGroupButton) { - previousButton.selected = true; - - previousButton.dispatchEvent( - new Event('selected', { bubbles: true, composed: true }), - ); + previousButton.privateSelect(); } break; @@ -202,11 +205,7 @@ export default class GlideCoreButtonGroup extends LitElement { } if (nextButton instanceof GlideCoreButtonGroupButton) { - nextButton.selected = true; - - nextButton.dispatchEvent( - new Event('selected', { bubbles: true, composed: true }), - ); + nextButton.privateSelect(); } break; @@ -222,11 +221,7 @@ export default class GlideCoreButtonGroup extends LitElement { const button = event.target.closest('glide-core-button-group-button'); if (button && !button.disabled && !button.selected) { - button.selected = true; - - button.dispatchEvent( - new Event('selected', { bubbles: true, composed: true }), - ); + button.privateSelect(); } } diff --git a/src/button.ts b/src/button.ts index 7defb5b70..f72aee999 100644 --- a/src/button.ts +++ b/src/button.ts @@ -43,7 +43,8 @@ export default class GlideCoreButton extends LitElement { @property({ reflect: true }) size: 'large' | 'small' = 'large'; - @property({ reflect: true }) type: 'button' | 'submit' | 'reset' = 'button'; + @property({ reflect: true }) + type: 'button' | 'submit' | 'reset' = 'button'; @property({ reflect: true }) value = ''; @@ -53,7 +54,7 @@ export default class GlideCoreButton extends LitElement { @property({ reflect: true }) readonly version = packageJson.version; - get form() { + get form(): HTMLFormElement | null { return this.#internals.form; } @@ -81,7 +82,12 @@ export default class GlideCoreButton extends LitElement { name="prefix-icon" @slotchange=${this.#onPrefixIconSlotChange} ${ref(this.#prefixIconSlotElementRef)} - > + > + + ${this.label} @@ -89,7 +95,12 @@ export default class GlideCoreButton extends LitElement { name="suffix-icon" @slotchange=${this.#onSuffixIconSlotChange} ${ref(this.#suffixIconSlotElementRef)} - > + > + + `; } diff --git a/src/checkbox-group.styles.ts b/src/checkbox-group.styles.ts index 1192caa30..90f7b6096 100644 --- a/src/checkbox-group.styles.ts +++ b/src/checkbox-group.styles.ts @@ -26,7 +26,7 @@ export default [ } } - .checkboxes { + .default-slot { display: flex; flex-direction: column; grid-column: 2; diff --git a/src/checkbox-group.ts b/src/checkbox-group.ts index 8a33d90e0..cd16cef0a 100644 --- a/src/checkbox-group.ts +++ b/src/checkbox-group.ts @@ -46,8 +46,11 @@ export default class GlideCoreCheckboxGroup static override styles = styles; + /** + * @default false + */ @property({ reflect: true, type: Boolean }) - get disabled() { + get disabled(): boolean { return this.#isDisabled; } @@ -76,8 +79,11 @@ export default class GlideCoreCheckboxGroup @property() privateSplit?: 'left' | 'middle'; + /** + * @default false + */ @property({ reflect: true, type: Boolean }) - get required() { + get required(): boolean { return this.#isRequired; } @@ -108,8 +114,11 @@ export default class GlideCoreCheckboxGroup @property({ reflect: true }) tooltip?: string; + /** + * @default [] + */ @property({ reflect: true, type: Array }) - get value() { + get value(): string[] { return this.#value; } @@ -153,7 +162,7 @@ export default class GlideCoreCheckboxGroup @property({ reflect: true }) readonly version = packageJson.version; - checkValidity() { + checkValidity(): boolean { this.isCheckingValidity = true; const isValid = this.#internals.checkValidity(); this.isCheckingValidity = false; @@ -186,11 +195,11 @@ export default class GlideCoreCheckboxGroup } } - get form() { + get form(): HTMLFormElement | null { return this.#internals.form; } - get validity() { + get validity(): ValidityState { const isChecked = this.#checkboxes.some(({ checked }) => checked); if (this.required && !isChecked) { @@ -226,11 +235,11 @@ export default class GlideCoreCheckboxGroup checkbox?.focus(options); } - formAssociatedCallback() { + formAssociatedCallback(): void { this.form?.addEventListener('formdata', this.#onFormdata); } - formResetCallback() { + formResetCallback(): void { for (const checkbox of this.#checkboxes) { checkbox.formResetCallback(); } @@ -265,12 +274,17 @@ export default class GlideCoreCheckboxGroup })} > + > + +
@@ -282,7 +296,12 @@ export default class GlideCoreCheckboxGroup ), })} name="description" - > + > + + ${when( this.#isShowValidationFeedback && this.validityMessage, @@ -296,7 +315,7 @@ export default class GlideCoreCheckboxGroup
`; } - reportValidity() { + reportValidity(): boolean { this.isReportValidityOrSubmit = true; const isValid = this.#internals.reportValidity(); @@ -307,11 +326,11 @@ export default class GlideCoreCheckboxGroup return isValid; } - resetValidityFeedback() { + resetValidityFeedback(): void { this.isReportValidityOrSubmit = false; } - setCustomValidity(message: string) { + setCustomValidity(message: string): void { this.validityMessage = message; if (message === '') { @@ -334,7 +353,7 @@ export default class GlideCoreCheckboxGroup } } - setValidity(flags?: ValidityStateFlags, message?: string) { + setValidity(flags?: ValidityStateFlags, message?: string): void { this.validityMessage = message; // A validation message is required but unused because we disable native validation feedback. diff --git a/src/checkbox.styles.ts b/src/checkbox.styles.ts index 67f3a225c..65fd5d0bf 100644 --- a/src/checkbox.styles.ts +++ b/src/checkbox.styles.ts @@ -133,7 +133,7 @@ export default [ } .checked-icon { - --size: 0.75rem; + --private-size: 0.75rem; align-items: center; block-size: 100%; diff --git a/src/checkbox.ts b/src/checkbox.ts index 99e2dca59..f5d639808 100644 --- a/src/checkbox.ts +++ b/src/checkbox.ts @@ -50,8 +50,8 @@ export default class GlideCoreCheckbox @property({ type: Boolean }) checked = false; - @property({ attribute: 'internally-inert', type: Boolean }) - internallyInert = false; + @property({ attribute: 'private-internally-inert', type: Boolean }) + privateInternallyInert = false; @property({ reflect: true, type: Boolean }) disabled = false; @@ -62,9 +62,12 @@ export default class GlideCoreCheckbox @property({ type: Boolean }) indeterminate = false; + /** + * @default undefined + */ @property({ reflect: true }) @required - get label() { + get label(): string | undefined { return this.#label; } @@ -111,7 +114,7 @@ export default class GlideCoreCheckbox // Private because it's only meant to be used by Dropdown. @property({ attribute: 'private-size' }) - privateSize: 'large' | 'small' = 'large'; + privateSize: 'small' | 'large' = 'large'; // Private because it's only meant to be used by Form Controls Layout. @property() @@ -130,8 +133,11 @@ export default class GlideCoreCheckbox @property({ reflect: true }) tooltip?: string; + /** + * @default undefined + */ @property({ reflect: true }) - get value() { + get value(): string { return this.#value; } @@ -161,11 +167,11 @@ export default class GlideCoreCheckbox @property({ reflect: true }) readonly version = packageJson.version; - get form() { + get form(): HTMLFormElement | null { return this.#internals.form; } - checkValidity() { + checkValidity(): boolean { this.isCheckingValidity = true; const isValid = this.#internals.checkValidity(); this.isCheckingValidity = false; @@ -200,7 +206,7 @@ export default class GlideCoreCheckbox this.#intersectionObserver?.disconnect(); } - get validity() { + get validity(): ValidityState { // If we're in a Checkbox Group, `disabled`, `required`, and whether or not // the form has been submitted don't apply because Checkbox Group handles those // states for the group as a whole. @@ -245,11 +251,11 @@ export default class GlideCoreCheckbox this.#inputElementRef.value?.focus(options); } - formAssociatedCallback() { + formAssociatedCallback(): void { this.form?.addEventListener('formdata', this.#onFormdata); } - formResetCallback() { + formResetCallback(): void { this.checked = this.getAttribute('checked') === ''; this.indeterminate = this.getAttribute('indeterminate') === ''; } @@ -273,7 +279,7 @@ export default class GlideCoreCheckbox data-test="input" type="checkbox" .checked=${this.checked} - .inert=${this.internallyInert} + .inert=${this.privateInternallyInert} ?disabled=${this.disabled} ?required=${this.required} @change=${this.#onInputChangeOrInput} @@ -294,7 +300,9 @@ export default class GlideCoreCheckbox
- + + + + + > + + + ${when( this.#isShowValidationFeedback && this.validityMessage, () => @@ -399,7 +417,7 @@ export default class GlideCoreCheckbox
`; } - reportValidity() { + reportValidity(): boolean { this.privateIsReportValidityOrSubmit = true; const isValid = this.#internals.reportValidity(); @@ -409,11 +427,11 @@ export default class GlideCoreCheckbox return isValid; } - resetValidityFeedback() { + resetValidityFeedback(): void { this.privateIsReportValidityOrSubmit = false; } - setCustomValidity(message: string) { + setCustomValidity(message: string): void { this.validityMessage = message; if (message === '') { @@ -436,7 +454,7 @@ export default class GlideCoreCheckbox } } - setValidity(flags?: ValidityStateFlags, message?: string) { + setValidity(flags?: ValidityStateFlags, message?: string): void { this.validityMessage = message; this.#internals.setValidity(flags, ' ', this.#inputElementRef.value); } @@ -573,7 +591,7 @@ export default class GlideCoreCheckbox // Unlike "input" events, "change" events aren't composed. So we have to // manually dispatch them. this.dispatchEvent( - new Event(event.type, { bubbles: true, composed: true }), + new Event('change', { bubbles: true, composed: true }), ); } } diff --git a/src/drawer.styles.ts b/src/drawer.styles.ts index 9def92da5..d87ac049e 100644 --- a/src/drawer.styles.ts +++ b/src/drawer.styles.ts @@ -2,6 +2,11 @@ import { css } from 'lit'; export default [ css` + :host { + /* The width the drawer */ + --width: 27.375rem; + } + .component { background-color: var(--glide-core-surface-base-xlightest); block-size: 0; @@ -30,7 +35,7 @@ export default [ .open { backdrop-filter: blur(50px); block-size: auto; - inline-size: var(--width, 27.375rem); + inline-size: var(--width); inset: 0 0 0 auto; visibility: visible; } diff --git a/src/drawer.ts b/src/drawer.ts index 3b54d4bae..5c16963cd 100644 --- a/src/drawer.ts +++ b/src/drawer.ts @@ -40,8 +40,11 @@ export default class GlideCoreDrawer extends LitElement { @property({ reflect: true, type: Boolean }) pinned = false; + /** + * @default false + */ @property({ reflect: true, type: Boolean }) - get open() { + get open(): boolean { return this.#isOpen; } @@ -166,7 +169,14 @@ export default class GlideCoreDrawer extends LitElement { tabindex="-1" ${ref(this.#componentElementRef)} > - + + + `; } diff --git a/src/dropdown.option.styles.ts b/src/dropdown.option.styles.ts index 7412e4f6e..f4db28f68 100644 --- a/src/dropdown.option.styles.ts +++ b/src/dropdown.option.styles.ts @@ -152,7 +152,7 @@ export default [ } .checked-icon-container { - --size: 1rem; + --private-size: 1rem; display: contents; diff --git a/src/dropdown.option.ts b/src/dropdown.option.ts index 2a9aa7afa..3f8aec931 100644 --- a/src/dropdown.option.ts +++ b/src/dropdown.option.ts @@ -35,8 +35,11 @@ export default class GlideCoreDropdownOption extends LitElement { static override styles = styles; + /** + * @default false + */ @property({ reflect: true, type: Boolean }) - get disabled() { + get disabled(): boolean { return this.#isDisabled; } @@ -45,8 +48,11 @@ export default class GlideCoreDropdownOption extends LitElement { this.#isDisabled = isDisabled; } + /** + * @default false + */ @property({ reflect: true, type: Boolean }) - get editable() { + get editable(): boolean { return this.#isEditable; } @@ -60,9 +66,12 @@ export default class GlideCoreDropdownOption extends LitElement { ); } + /** + * @default undefined + */ @property({ reflect: true }) @required - get label() { + get label(): string | undefined { return this.#label; } @@ -95,8 +104,11 @@ export default class GlideCoreDropdownOption extends LitElement { @property({ attribute: 'private-multiple', type: Boolean }) privateMultiple = false; + /** + * @default false + */ @property({ reflect: true, type: Boolean }) - get selected() { + get selected(): boolean { return this.#selected; } @@ -206,8 +218,11 @@ export default class GlideCoreDropdownOption extends LitElement { } } + /** + * @default '' + */ @property({ reflect: true }) - get value() { + get value(): string { return this.#value; } @@ -229,6 +244,10 @@ export default class GlideCoreDropdownOption extends LitElement { this.#value = value; } + privateEdit() { + this.dispatchEvent(new Event('edit', { bubbles: true, composed: true })); + } + async privateUpdateCheckbox() { // Hacky indeed. This is for the case where Dropdown is set programmatically // from a single to a multiselect. `this.isMultiple` is set to `true` but @@ -246,7 +265,6 @@ export default class GlideCoreDropdownOption extends LitElement { // The linter wants a keyboard handler. There's one on Dropdown itself. It's there // because options aren't focusable and thus don't produce keyboard events when Dropdown // is filterable. - return html`
+ > + + ${when(this.editable, () => { @@ -323,7 +346,12 @@ export default class GlideCoreDropdownOption extends LitElement { + })} name="icon"> + + { return this.#optionElements.filter(({ label }) => { @@ -416,11 +436,11 @@ export default class GlideCoreDropdown } } - get form() { + get form(): HTMLFormElement | null { return this.#internals.form; } - get validity() { + get validity(): ValidityState { if (this.required && this.selectedOptions.length === 0) { // A validation message is required but unused because we disable native validation feedback. // And an empty string isn't allowed. Thus a single space. @@ -447,11 +467,11 @@ export default class GlideCoreDropdown return this.#internals.validity; } - formAssociatedCallback() { + formAssociatedCallback(): void { this.form?.addEventListener('formdata', this.#onFormdata); } - formResetCallback() { + formResetCallback(): void { for (const option of this.#optionElements) { const isInitiallySelected = option.hasAttribute('selected'); @@ -587,7 +607,15 @@ export default class GlideCoreDropdown data-test="multiselect-icon-slot" name="icon:${value}" slot="icon" - > + > + + `; })} @@ -604,7 +632,12 @@ export default class GlideCoreDropdown })} data-test="single-select-icon-slot" name="icon:${this.selectedOptions.at(0)?.value}" - >`; + > + + `; })} + > + +
${when(this.isNoResults, () => { @@ -880,7 +918,13 @@ export default class GlideCoreDropdown ), })} name="description" - > + > + + + ${when( this.#isShowValidationFeedback && this.validityMessage, () => @@ -893,9 +937,8 @@ export default class GlideCoreDropdown `; } - reportValidity() { + reportValidity(): boolean { this.isReportValidityOrSubmit = true; - const isValid = this.#internals.reportValidity(); // Ensures that getters referencing this.validity?.valid update (i.e. #isShowValidationFeedback) @@ -904,11 +947,11 @@ export default class GlideCoreDropdown return isValid; } - resetValidityFeedback() { + resetValidityFeedback(): void { this.isReportValidityOrSubmit = false; } - setCustomValidity(message: string) { + setCustomValidity(message: string): void { this.validityMessage = message; if (message === '') { @@ -935,7 +978,7 @@ export default class GlideCoreDropdown } } - setValidity(flags?: ValidityStateFlags, message?: string) { + setValidity(flags?: ValidityStateFlags, message?: string): void { this.validityMessage = message; // A validation message is required but unused because we disable native validation feedback. @@ -1430,9 +1473,7 @@ export default class GlideCoreDropdown // A "click" event, on the other hand, is dispatched when an Edit button is // clicked. So Dropdown Option could dispatch "edit" in that case. But then // two components instead of one would be responsible for dispatching "edit". - this.activeOption.dispatchEvent( - new Event('edit', { bubbles: true, composed: true }), - ); + this.activeOption.privateEdit(); this.open = false; @@ -1650,9 +1691,7 @@ export default class GlideCoreDropdown event.target instanceof Node && this.#editButtonElementRef.value?.contains(event.target) ) { - this.selectedOptions[0].dispatchEvent( - new Event('edit', { bubbles: true, composed: true }), - ); + this.selectedOptions[0].privateEdit(); return; } @@ -1939,10 +1978,7 @@ export default class GlideCoreDropdown option instanceof GlideCoreDropdownOption && option.privateIsEditActive ) { - option.dispatchEvent( - new Event('edit', { bubbles: true, composed: true }), - ); - + option.privateEdit(); this.open = false; return; @@ -2417,8 +2453,8 @@ const icons = { viewBox="0 0 16 16" fill="none" style=${styleMap({ - height: 'var(--size)', - width: 'var(--size)', + height: 'var(--private-size)', + width: 'var(--private-size)', })} > ( (name) => - `https://github.com/CrowdStrike/glide-core/blob/main/packages/eslint-plugin/src/rules/${name}.ts`, + `https://github.com/CrowdStrike/glide-core/blob/main/src/eslint/rules/${name}.ts`, ); export const consistentReferenceElementDeclarations = createRule({ diff --git a/src/eslint/rules/consistent-test-fixture-variable-declarator.ts b/src/eslint/rules/consistent-test-fixture-variable-declarator.ts index 138dab72c..1b5df289c 100644 --- a/src/eslint/rules/consistent-test-fixture-variable-declarator.ts +++ b/src/eslint/rules/consistent-test-fixture-variable-declarator.ts @@ -5,7 +5,7 @@ const createRule = ESLintUtils.RuleCreator<{ recommended: boolean; }>( (name) => - `https://github.com/CrowdStrike/glide-core/blob/main/packages/eslint-plugin/src/rules/${name}.ts`, + `https://github.com/CrowdStrike/glide-core/blob/main/src/eslint/rules/${name}.ts`, ); export const consistentTestFixtureVariableDeclarator = createRule({ @@ -27,7 +27,7 @@ export const consistentTestFixtureVariableDeclarator = createRule({ create(context) { return { VariableDeclarator(node) { - const isAFixture = + const isFixture = node.init && node.init.type === AST_NODE_TYPES.AwaitExpression && node.init.argument && @@ -37,7 +37,7 @@ export const consistentTestFixtureVariableDeclarator = createRule({ node.init.argument.callee.name === 'fixture' && node.init.argument.arguments?.length > 0; - if (!isAFixture) { + if (!isFixture) { return; } diff --git a/src/eslint/rules/event-dispatch-from-this.test.ts b/src/eslint/rules/event-dispatch-from-this.test.ts new file mode 100644 index 000000000..41f9ea5ee --- /dev/null +++ b/src/eslint/rules/event-dispatch-from-this.test.ts @@ -0,0 +1,48 @@ +import { RuleTester } from '@typescript-eslint/rule-tester'; +import { eventDispatchFromThis } from './event-dispatch-from-this.js'; + +const ruleTester = new RuleTester(); + +ruleTester.run('event-dispatch-from-this', eventDispatchFromThis, { + valid: [ + { + code: ` + export default class { + method() { + this.dispatchEvent(new Event('change')) + } + } + `, + }, + ], + invalid: [ + { + code: ` + export default class { + method() { + this.element.dispatchEvent(new Event('change')) + } + } + `, + errors: [ + { + messageId: 'dispatchFromThis', + }, + ], + }, + { + code: ` + export default class { + method() { + document.querySelector('input').dispatchEvent(new Event('change')) + } + } + `, + errors: [ + { + messageId: 'dispatchFromThis', + }, + ], + }, + ], +}); diff --git a/src/eslint/rules/event-dispatch-from-this.ts b/src/eslint/rules/event-dispatch-from-this.ts new file mode 100644 index 000000000..5cfba2f1d --- /dev/null +++ b/src/eslint/rules/event-dispatch-from-this.ts @@ -0,0 +1,42 @@ +import { AST_NODE_TYPES, ESLintUtils } from '@typescript-eslint/utils'; + +// https://github.com/typescript-eslint/typescript-eslint/blob/main/docs/developers/Custom_Rules.mdx?plain=1#L109 +const createRule = ESLintUtils.RuleCreator<{ + recommended: boolean; +}>((name) => { + return `https://github.com/CrowdStrike/glide-core/blob/main/src/eslint/rules/${name}.ts`; +}); + +export const eventDispatchFromThis = createRule({ + name: 'event-dispatch-from-this', + meta: { + docs: { + description: 'Ensures events are dispatched directly from `this`.', + recommended: true, + }, + type: 'suggestion', + messages: { + dispatchFromThis: + 'Dispatch events directly from `this` to help us populate our elements manifest with events.', + }, + schema: [], + }, + defaultOptions: [], + create(context) { + return { + CallExpression(node) { + if ( + node.callee.type === AST_NODE_TYPES.MemberExpression && + node.callee.property.type === AST_NODE_TYPES.Identifier && + node.callee.property.name === 'dispatchEvent' && + node.callee.object.type !== AST_NODE_TYPES.ThisExpression + ) { + context.report({ + node, + messageId: 'dispatchFromThis', + }); + } + }, + }; + }, +}); diff --git a/src/eslint/rules/no-glide-core-prefixed-event-name.ts b/src/eslint/rules/no-glide-core-prefixed-event-name.ts index a0801ab68..9c13785c0 100644 --- a/src/eslint/rules/no-glide-core-prefixed-event-name.ts +++ b/src/eslint/rules/no-glide-core-prefixed-event-name.ts @@ -28,10 +28,12 @@ export const noPrefixedEventName = createRule({ create(context) { return { NewExpression(node) { - if ( + const isEvent = node.callee.type === AST_NODE_TYPES.Identifier && - (node.callee.name === 'Event' || - node.callee.name === 'CustomEvent') && + ['Event', 'CustomEvent'].includes(node.callee.name); + + if ( + isEvent && node.arguments.length > 0 && node.arguments[0].type === AST_NODE_TYPES.Literal && typeof node.arguments[0].value === 'string' && @@ -42,7 +44,7 @@ export const noPrefixedEventName = createRule({ context.report({ node, messageId: 'noPrefix', - fix: function (fixer) { + fix(fixer) { return fixer.replaceText( node.arguments[0], `'${eventName.replace('glide-core-', '')}'`, diff --git a/src/eslint/rules/no-redundant-property-attribute.ts b/src/eslint/rules/no-redundant-property-attribute.ts index 33c6b9df0..5517a4c92 100644 --- a/src/eslint/rules/no-redundant-property-attribute.ts +++ b/src/eslint/rules/no-redundant-property-attribute.ts @@ -87,7 +87,7 @@ export const noRedudantPropertyAttribute = createRule({ context.report({ node: property, messageId: 'noRedudantPropertyAttribute', - fix: function (fixer) { + fix(fixer) { if (argument.properties?.length === 1) { const source = context.sourceCode; const tokenBefore = source.getTokenBefore(argument); diff --git a/src/eslint/rules/no-redundant-property-string-type.ts b/src/eslint/rules/no-redundant-property-string-type.ts index 59c1019c3..858947b9b 100644 --- a/src/eslint/rules/no-redundant-property-string-type.ts +++ b/src/eslint/rules/no-redundant-property-string-type.ts @@ -69,7 +69,7 @@ export const noRedudantPropertyStringType = createRule({ context.report({ node: property, messageId: 'noRedudantPropertyStringType', - fix: function (fixer) { + fix(fixer) { if (argument.properties?.length === 1) { const source = context.sourceCode; const tokenBefore = source.getTokenBefore(argument); diff --git a/src/eslint/rules/no-space-press.ts b/src/eslint/rules/no-space-press.ts index ff6d6f0b1..4e46ec8ce 100644 --- a/src/eslint/rules/no-space-press.ts +++ b/src/eslint/rules/no-space-press.ts @@ -39,7 +39,7 @@ export const noSpacePress = createRule({ context.report({ node, messageId: 'preferWhitespace', - fix: function (fixer) { + fix(fixer) { return fixer.replaceText(node.right, "' '"); }, }); @@ -68,7 +68,7 @@ export const noSpacePress = createRule({ context.report({ node: property, messageId: 'preferWhitespace', - fix: function (fixer) { + fix(fixer) { return fixer.replaceText(property.value, "' '"); }, }); diff --git a/src/eslint/rules/prefer-to-be-true-or-false.ts b/src/eslint/rules/prefer-to-be-true-or-false.ts index 9d438c136..29a070682 100644 --- a/src/eslint/rules/prefer-to-be-true-or-false.ts +++ b/src/eslint/rules/prefer-to-be-true-or-false.ts @@ -50,7 +50,7 @@ export const preferToBeTrueOrFalse = createRule({ context.report({ node, messageId: 'preferToBeFalse', - fix: function (fixer) { + fix(fixer) { if (node.callee.type !== AST_NODE_TYPES.MemberExpression) { return null; } @@ -79,7 +79,7 @@ export const preferToBeTrueOrFalse = createRule({ context.report({ node, messageId: 'preferToBeTrue', - fix: function (fixer) { + fix(fixer) { if (node.callee.type !== AST_NODE_TYPES.MemberExpression) { return null; } diff --git a/src/eslint/rules/prefixed-lit-element-class-declaration.ts b/src/eslint/rules/prefixed-lit-element-class-declaration.ts index 42e4fcfc3..c08ac7c3b 100644 --- a/src/eslint/rules/prefixed-lit-element-class-declaration.ts +++ b/src/eslint/rules/prefixed-lit-element-class-declaration.ts @@ -37,7 +37,7 @@ export const prefixedClassDeclaration = createRule({ context.report({ node, messageId: 'addPrefix', - fix: function (fixer) { + fix(fixer) { const nodeId = node.id; if (!nodeId) { diff --git a/src/eslint/rules/public-getter-default-comment.test.ts b/src/eslint/rules/public-getter-default-comment.test.ts new file mode 100644 index 000000000..51e6ca8ee --- /dev/null +++ b/src/eslint/rules/public-getter-default-comment.test.ts @@ -0,0 +1,106 @@ +import { RuleTester } from '@typescript-eslint/rule-tester'; +import { publicGetterDefaultComment } from './public-getter-default-comment.js'; + +const ruleTester = new RuleTester(); + +ruleTester.run('public-getter-default-comment', publicGetterDefaultComment, { + valid: [ + { + code: ` + export default class { + /** + * @default {string} + */ + get property() {} + set property() {} + } + `, + }, + { + code: ` + export default class { + get #property() {} + set #property() {} + } + `, + }, + { + code: ` + export default class { + private get property() {} + private set property() {} + } + `, + }, + { + code: ` + export default class { + get privateProperty() {} + set privateProperty() {} + } + `, + }, + { + code: ` + export default class { + override get property() {} + override set property() {} + } + `, + }, + { + code: ` + export default class { + override get property() {} + } + `, + }, + ], + invalid: [ + { + code: ` + export default class { + /** + * Description + */ + get property() {} + set property() {} + } + `, + errors: [ + { + messageId: 'addDefaultTag', + }, + ], + }, + { + code: ` + export default class { + get property() {} + set property() {} + } + `, + errors: [ + { + messageId: 'addCommentAndDefaultTag', + }, + ], + }, + { + code: ` + export default class { + /* + * @default {string} + */ + get property() {} + set property() {} + } + `, + errors: [ + { + messageId: 'useJsDocComment', + }, + ], + }, + ], +}); diff --git a/src/eslint/rules/public-getter-default-comment.ts b/src/eslint/rules/public-getter-default-comment.ts new file mode 100644 index 000000000..2281422d5 --- /dev/null +++ b/src/eslint/rules/public-getter-default-comment.ts @@ -0,0 +1,111 @@ +import { + AST_NODE_TYPES, + AST_TOKEN_TYPES, + ESLintUtils, +} from '@typescript-eslint/utils'; +import { parse as commentParser } from 'comment-parser'; + +// https://github.com/typescript-eslint/typescript-eslint/blob/main/docs/developers/Custom_Rules.mdx?plain=1#L109 +const createRule = ESLintUtils.RuleCreator<{ + recommended: boolean; +}>((name) => { + return `https://github.com/CrowdStrike/glide-core/blob/main/src/eslint/rules/${name}.ts`; +}); + +export const publicGetterDefaultComment = createRule({ + name: 'public-getter-default-comment', + meta: { + docs: { + description: + 'Ensures getters that have setters have a comment with a `@default` tag.', + recommended: true, + }, + type: 'suggestion', + messages: { + addDefaultTag: + 'Add a "@default" tag to your comment to help us populate our elements manifest with the correct default type.', + addCommentAndDefaultTag: + 'Add a JSDoc comment with a "@default" tag to help us populate our elements manifest with the correct default type.', + useJsDocComment: + 'Use a JSDoc-style comment to help us populate our elements manifest with the correct default type.', + }, + schema: [], + }, + defaultOptions: [], + create(context) { + const comments = context.sourceCode.getAllComments(); + + return { + MethodDefinition(node) { + const isPseudoPrivate = + node.key.type === AST_NODE_TYPES.Identifier && + node.key.name.startsWith('private'); + + const hasSetter = node.parent.body.some((classElement) => { + return ( + node.key.type === AST_NODE_TYPES.Identifier && + node.kind === 'get' && + classElement.type === AST_NODE_TYPES.MethodDefinition && + classElement.kind === 'set' && + classElement.key.type === AST_NODE_TYPES.Identifier && + classElement.key.name === node.key.name + ); + }); + + if ( + hasSetter && + node.kind === 'get' && + node.key.type !== AST_NODE_TYPES.PrivateIdentifier && + node.accessibility !== 'private' && + !isPseudoPrivate && + !node.override + ) { + const comment = comments.find(({ loc, type }) => { + return ( + type === AST_TOKEN_TYPES.Block && + loc.end.line === node.loc.start.line - 1 + ); + }); + + if (comment) { + const parsed = commentParser(`/** + ${comment.value} + */`); + + const hasDefaultTag = parsed.at(0)?.tags.some((tag) => { + return tag.tag === 'default'; + }); + + /* + * This is block comment. But it's not a JSDoc one. + */ + + /** + * This is a JSDoc one. + */ + if (hasDefaultTag && !comment.value.startsWith('*')) { + context.report({ + node, + messageId: 'useJsDocComment', + }); + } + + if (!hasDefaultTag) { + context.report({ + node, + messageId: 'addDefaultTag', + }); + } + + return; + } + + context.report({ + node, + messageId: 'addCommentAndDefaultTag', + }); + } + }, + }; + }, +}); diff --git a/src/eslint/rules/public-member-return-type.test.ts b/src/eslint/rules/public-member-return-type.test.ts new file mode 100644 index 000000000..c01274025 --- /dev/null +++ b/src/eslint/rules/public-member-return-type.test.ts @@ -0,0 +1,72 @@ +import { RuleTester } from '@typescript-eslint/rule-tester'; +import { publicMemberReturnType } from './public-member-return-type.js'; + +const ruleTester = new RuleTester(); + +ruleTester.run('public-member-return-type', publicMemberReturnType, { + valid: [ + { + code: ` + export default class { + method(): boolean {} + } + `, + }, + { + code: ` + export default class { + #method() {} + } + `, + }, + { + code: ` + export default class { + private method() {} + } + `, + }, + { + code: ` + export default class { + privateMethod() {} + } + `, + }, + { + code: ` + export default class { + constructor() {} + } + `, + }, + { + code: ` + export default class { + override method() {} + } + `, + }, + { + code: ` + export default class { + set property() {} + } + `, + }, + ], + invalid: [ + { + code: ` + export default class { + method() {} + } + `, + errors: [ + { + messageId: 'addReturnType', + }, + ], + }, + ], +}); diff --git a/src/eslint/rules/public-member-return-type.ts b/src/eslint/rules/public-member-return-type.ts new file mode 100644 index 000000000..5c50fd07d --- /dev/null +++ b/src/eslint/rules/public-member-return-type.ts @@ -0,0 +1,50 @@ +import { AST_NODE_TYPES, ESLintUtils } from '@typescript-eslint/utils'; + +// https://github.com/typescript-eslint/typescript-eslint/blob/main/docs/developers/Custom_Rules.mdx?plain=1#L109 +const createRule = ESLintUtils.RuleCreator<{ + recommended: boolean; +}>((name) => { + return `https://github.com/CrowdStrike/glide-core/blob/main/src/eslint/rules/${name}.ts`; +}); + +export const publicMemberReturnType = createRule({ + name: 'public-member-return-type', + meta: { + docs: { + description: + 'Ensures an explicit return type on public methods and getters with setters.', + recommended: true, + }, + type: 'suggestion', + messages: { + addReturnType: + 'Add an explicit return type to help us populate our elements manifest with the correct return type.', + }, + schema: [], + }, + defaultOptions: [], + create(context) { + return { + MethodDefinition(node) { + const isPseudoPrivate = + node.key.type === AST_NODE_TYPES.Identifier && + node.key.name.startsWith('private'); + + if ( + node.kind !== 'constructor' && + node.kind !== 'set' && + node.key.type !== AST_NODE_TYPES.PrivateIdentifier && + node.accessibility !== 'private' && + !isPseudoPrivate && + !node.override && + !node.value.returnType + ) { + context.report({ + node, + messageId: 'addReturnType', + }); + } + }, + }; + }, +}); diff --git a/src/eslint/rules/slot-type-comment.test.ts b/src/eslint/rules/slot-type-comment.test.ts new file mode 100644 index 000000000..ad6ae474f --- /dev/null +++ b/src/eslint/rules/slot-type-comment.test.ts @@ -0,0 +1,77 @@ +import { RuleTester } from '@typescript-eslint/rule-tester'; +import { slotTypeComment } from './slot-type-comment.js'; + +const ruleTester = new RuleTester(); +const classMap = () => null; + +ruleTester.run('slot-type-comment', slotTypeComment, { + valid: [ + { + code: ` + export default class { + render() { + return html\` + + + + \` + } + } + `, + }, + ], + invalid: [ + { + code: ` + export default class { + render() { + return html\` + + \` + } + } + `, + errors: [ + { + messageId: 'addSlotComment', + }, + ], + }, + { + code: ` + export default class { + render() { + return html\` + + + + \` + } + } + `, + errors: [ + { + messageId: 'addSlotTypeComment', + }, + ], + }, + { + code: ` + export default class { + render() { + return html\` + + + + \` + } + } + `, + errors: [ + { + messageId: 'addSlotTypeCommentType', + }, + ], + }, + ], +}); diff --git a/src/eslint/rules/slot-type-comment.ts b/src/eslint/rules/slot-type-comment.ts new file mode 100644 index 000000000..45aff2938 --- /dev/null +++ b/src/eslint/rules/slot-type-comment.ts @@ -0,0 +1,96 @@ +import { AST_NODE_TYPES, ESLintUtils } from '@typescript-eslint/utils'; +import { parse as htmlParser, CommentNode } from 'node-html-parser'; +import { parse as commentParser } from 'comment-parser'; + +// https://github.com/typescript-eslint/typescript-eslint/blob/main/docs/developers/Custom_Rules.mdx?plain=1#L109 +const createRule = ESLintUtils.RuleCreator<{ + recommended: boolean; +}>((name) => { + return `https://github.com/CrowdStrike/glide-core/blob/main/src/eslint/rules/${name}.ts`; +}); + +export const slotTypeComment = createRule({ + name: 'slot-type-comment', + meta: { + docs: { + description: 'Ensures slots have a `@type` comment.', + recommended: true, + }, + type: 'suggestion', + messages: { + addSlotComment: + 'Add a comment inside your slot and include a `@type` tag.', + addSlotTypeComment: 'Add a `@type` tag to your slot comment.', + addSlotTypeCommentType: + "Add a type to your slot's `@type` tag. Check that the type is wrapped in curlies.", + }, + schema: [], + }, + defaultOptions: [], + create(context) { + return { + TaggedTemplateExpression(node) { + if ( + node.tag.type === AST_NODE_TYPES.Identifier && + node.tag.name === 'html' + ) { + // Reducers are often inscrutable. But I thought this was a good case for + // one. + // + // A quasi is the string part of a template literal. When a template literal + // contains an expression, it's broken into a array of quasis, which we then + // have to recombine to get the entirety of the markup. + // + // eslint-disable-next-line unicorn/no-array-reduce + const markup = node.quasi.quasis.reduce((accumulator, quasi) => { + accumulator += quasi.value.raw; + return accumulator; + }, ''); + + const root = htmlParser(markup, { + comment: true, + }); + + for (const slot of root.querySelectorAll('slot')) { + const comment = slot.childNodes.find((node) => { + return node instanceof CommentNode; + }); + + if (!comment) { + context.report({ + node: node.quasi, + messageId: 'addSlotComment', + }); + + return; + } + + const tags = commentParser(`/** + ${comment.rawText} + */`).flatMap((block) => block.tags); + + const typeTag = tags.find((tag) => tag.tag === 'type'); + + if (!typeTag) { + context.report({ + node: node.quasi, + messageId: 'addSlotTypeComment', + }); + + return; + } + + if (typeTag.type === '') { + context.report({ + node: node.quasi, + messageId: 'addSlotTypeCommentType', + }); + + return; + } + } + } + }, + }; + }, +}); diff --git a/src/eslint/rules/string-event-name.test.ts b/src/eslint/rules/string-event-name.test.ts new file mode 100644 index 000000000..e87107055 --- /dev/null +++ b/src/eslint/rules/string-event-name.test.ts @@ -0,0 +1,43 @@ +import { RuleTester } from '@typescript-eslint/rule-tester'; +import { stringEventName } from './string-event-name.js'; + +const ruleTester = new RuleTester(); + +ruleTester.run('string-event-name', stringEventName, { + valid: [ + { + code: ` + this.dispatchEvent(new Event('change')); + `, + }, + { + code: ` + this.dispatchEvent(new CustomEvent('change')); + `, + }, + ], + invalid: [ + { + code: ` + const variable = 'change'; + this.dispatchEvent(new Event(variable)); + `, + errors: [ + { + messageId: 'stringEventName', + }, + ], + }, + { + code: ` + const variable = 'change'; + this.dispatchEvent(new CustomEvent(variable)); + `, + errors: [ + { + messageId: 'stringEventName', + }, + ], + }, + ], +}); diff --git a/src/eslint/rules/string-event-name.ts b/src/eslint/rules/string-event-name.ts new file mode 100644 index 000000000..3095209b9 --- /dev/null +++ b/src/eslint/rules/string-event-name.ts @@ -0,0 +1,44 @@ +import { AST_NODE_TYPES, ESLintUtils } from '@typescript-eslint/utils'; + +// https://github.com/typescript-eslint/typescript-eslint/blob/main/docs/developers/Custom_Rules.mdx?plain=1#L109 +const createRule = ESLintUtils.RuleCreator<{ + recommended: boolean; +}>((name) => { + return `https://github.com/CrowdStrike/glide-core/blob/main/src/eslint/rules/${name}.ts`; +}); + +export const stringEventName = createRule({ + name: 'string-event-name', + meta: { + docs: { + description: 'Ensures events names are strings.', + recommended: true, + }, + type: 'suggestion', + messages: { + stringEventName: + 'Use a string for the event name to help us populate our elements manifest with events.', + }, + schema: [], + }, + defaultOptions: [], + create(context) { + return { + NewExpression(node) { + const isRelevantConstructor = + node.callee.type === AST_NODE_TYPES.Identifier && + ['Event', 'CustomEvent'].includes(node.callee.name); + + if ( + isRelevantConstructor && + node.arguments.at(0)?.type !== AST_NODE_TYPES.Literal + ) { + context.report({ + node, + messageId: 'stringEventName', + }); + } + }, + }; + }, +}); diff --git a/src/form-controls-layout.ts b/src/form-controls-layout.ts index 93e0bb784..57488e5ed 100644 --- a/src/form-controls-layout.ts +++ b/src/form-controls-layout.ts @@ -32,8 +32,11 @@ export default class GlideCoreFormControlsLayout extends LitElement { static override styles = styles; + /** + * @default 'left' + */ @property({ reflect: true }) - get split() { + get split(): 'left' | 'middle' { return this.#split; } @@ -65,7 +68,9 @@ export default class GlideCoreFormControlsLayout extends LitElement { GlideCoreTextArea, ])} ${ref(this.#slotElementRef)} - > + > + + `; } diff --git a/src/icon-button.styles.ts b/src/icon-button.styles.ts index 3a9ddbeb3..ab3e12395 100644 --- a/src/icon-button.styles.ts +++ b/src/icon-button.styles.ts @@ -13,14 +13,14 @@ export default [ .component { align-items: center; - block-size: var(--size, 1.625rem); + block-size: var(--private-size, 1.625rem); border-color: transparent; border-radius: 0.5rem; border-style: solid; border-width: 1px; cursor: pointer; display: inline-flex; - inline-size: var(--size, 1.625rem); + inline-size: var(--private-size, 1.625rem); justify-content: center; padding-inline: 0; transition-duration: 150ms; @@ -39,7 +39,7 @@ export default [ &.primary { background-color: var(--glide-core-surface-primary); border-color: transparent; - color: var(--icon-color, var(--glide-core-icon-selected)); + color: var(--private-icon-color, var(--glide-core-icon-selected)); &:disabled { background-color: var(--glide-core-surface-base-gray-light); @@ -64,7 +64,7 @@ export default [ &.secondary { background-color: transparent; border-color: transparent; - color: var(--icon-color, var(--glide-core-icon-default)); + color: var(--private-icon-color, var(--glide-core-icon-default)); &:disabled { background-color: transparent; @@ -86,10 +86,10 @@ export default [ &.tertiary { background-color: transparent; - block-size: var(--size, 1rem); + block-size: var(--private-size, 1rem); border-color: transparent; - color: var(--icon-color, var(--glide-core-icon-default)); - inline-size: var(--size, 1rem); + color: var(--private-icon-color, var(--glide-core-icon-default)); + inline-size: var(--private-size, 1rem); padding: 0; &:focus-visible { @@ -106,7 +106,7 @@ export default [ &:not(:active):hover:not(:disabled) { color: var( - --hovered-icon-color, + --private-hovered-icon-color, var(--glide-core-icon-primary-hover) ); } diff --git a/src/icon-button.ts b/src/icon-button.ts index 57aa5961a..f4b4d9c36 100644 --- a/src/icon-button.ts +++ b/src/icon-button.ts @@ -81,7 +81,13 @@ export default class GlideCoreIconButton extends LitElement { ?disabled=${this.disabled} ${ref(this.#buttonElementRef)} > - + + + `; } diff --git a/src/icons/checked.ts b/src/icons/checked.ts index 573b0609c..3d39bfc1f 100644 --- a/src/icons/checked.ts +++ b/src/icons/checked.ts @@ -12,8 +12,8 @@ export default html` fill="none" viewBox="0 0 24 24" style=${styleMap({ - height: 'var(--size, 0.875rem)', - width: 'var(--size, 0.875rem)', + height: 'var(--private-size, 0.875rem)', + width: 'var(--private-size, 0.875rem)', })} >