diff --git a/.eslintrc.js b/.eslintrc.js index 71f4aa5f537910..4cfaec8f0ecc94 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -430,6 +430,10 @@ module.exports = { // Useful to add story descriptions via JSDoc without specifying params, // or in TypeScript files where params are likely already documented outside of the JSDoc. 'jsdoc/require-param': 'off', + // Disable this rule as eslint-plugin-storybook 0.9.0 doesn't recognize the new + // `storybook/test` import path introduced in Storybook 9. + // TODO: Remove this override when we upgrade to eslint-plugin-storybook >= 0.10.0. + 'storybook/use-storybook-expect': 'off', }, }, { diff --git a/package-lock.json b/package-lock.json index 3f6503c88060d6..ac0b952d8563e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,25 +19,15 @@ "@emotion/is-prop-valid": "1.2.2", "@emotion/jest": "11.7.1", "@emotion/native": "11.0.0", - "@geometricpanda/storybook-addon-badges": "2.0.5", "@inquirer/prompts": "7.2.0", "@octokit/rest": "16.26.0", "@playwright/test": "1.57.0", "@pmmmwh/react-refresh-webpack-plugin": "0.5.11", - "@storybook/addon-a11y": "8.4.7", - "@storybook/addon-actions": "8.4.7", - "@storybook/addon-controls": "8.4.7", - "@storybook/addon-docs": "8.4.7", - "@storybook/addon-interactions": "8.4.7", - "@storybook/addon-toolbars": "8.4.7", - "@storybook/addon-viewport": "8.4.7", + "@storybook/addon-a11y": "9.1.17", + "@storybook/addon-docs": "9.1.17", "@storybook/addon-webpack5-compiler-babel": "3.0.3", - "@storybook/react": "8.4.7", - "@storybook/react-webpack5": "8.4.7", - "@storybook/source-loader": "8.4.7", - "@storybook/test": "8.4.7", - "@storybook/theming": "8.4.7", - "@storybook/types": "8.4.7", + "@storybook/icons": "1.4.0", + "@storybook/react-webpack5": "9.1.17", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "14.3.0", "@testing-library/user-event": "14.4.3", @@ -108,8 +98,9 @@ "simple-git": "3.24.0", "snapshot-diff": "0.10.0", "sprintf-js": "1.1.1", - "storybook": "8.4.7", - "storybook-source-link": "2.0.9", + "storybook": "9.1.17", + "storybook-addon-source-link": "1.0.1", + "storybook-addon-tag-badges": "2.0.4", "style-loader": "3.2.1", "stylelint-plugin-logical-css": "^1.2.3", "typescript": "5.9.3", @@ -5390,31 +5381,6 @@ "tslib": "2" } }, - "node_modules/@geometricpanda/storybook-addon-badges": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@geometricpanda/storybook-addon-badges/-/storybook-addon-badges-2.0.5.tgz", - "integrity": "sha512-FH56ly6ZhltjyKQWxUKORP67BxhL9FMJRByS5lqKZpeP8J2MMsMXG7eQmFXKcZGQORfVQye+1uYYWXweDOiFTQ==", - "dev": true, - "peerDependencies": { - "@storybook/blocks": "^8.3.0", - "@storybook/components": "^8.3.0", - "@storybook/core-events": "^8.3.0", - "@storybook/manager-api": "^8.3.0", - "@storybook/preview-api": "^8.3.0", - "@storybook/theming": "^8.3.0", - "@storybook/types": "^8.3.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -6578,9 +6544,10 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", @@ -12817,78 +12784,36 @@ } }, "node_modules/@storybook/addon-a11y": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.4.7.tgz", - "integrity": "sha512-GpUvXp6n25U1ZSv+hmDC+05BEqxWdlWjQTb/GaboRXZQeMBlze6zckpVb66spjmmtQAIISo0eZxX1+mGcVR7lA==", - "dev": true, - "dependencies": { - "@storybook/addon-highlight": "8.4.7", - "axe-core": "^4.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/addon-actions": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.4.7.tgz", - "integrity": "sha512-mjtD5JxcPuW74T6h7nqMxWTvDneFtokg88p6kQ5OnC1M259iAXb//yiSZgu/quunMHPCXSiqn4FNOSgASTSbsA==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "@types/uuid": "^9.0.1", - "dequal": "^2.0.2", - "polished": "^4.2.2", - "uuid": "^9.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/addon-actions/node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", - "dev": true - }, - "node_modules/@storybook/addon-controls": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.4.7.tgz", - "integrity": "sha512-377uo5IsJgXLnQLJixa47+11V+7Wn9KcDEw+96aGCBCfLbWNH8S08tJHHnSu+jXg9zoqCAC23MetntVp6LetHA==", + "version": "9.1.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-9.1.17.tgz", + "integrity": "sha512-xP2Nb+idph2r0wE2Lc3z7LjtyXxTS+U+mJWmS8hw5w0oU2TkVdV7Ew/V7/iNl5jIWMXIp9HCRmcJuKSSGuertA==", "dev": true, + "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", - "dequal": "^2.0.2", - "ts-dedent": "^2.0.0" + "axe-core": "^4.2.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.7" + "storybook": "^9.1.17" } }, "node_modules/@storybook/addon-docs": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.4.7.tgz", - "integrity": "sha512-NwWaiTDT5puCBSUOVuf6ME7Zsbwz7Y79WF5tMZBx/sLQ60vpmJVQsap6NSjvK1Ravhc21EsIXqemAcBjAWu80w==", + "version": "9.1.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-9.1.17.tgz", + "integrity": "sha512-yc4hlgkrwNi045qk210dRuIMijkgbLmo3ft6F4lOdpPRn4IUnPDj7FfZR8syGzUzKidxRfNtLx5m0yHIz83xtA==", "dev": true, + "license": "MIT", "dependencies": { "@mdx-js/react": "^3.0.0", - "@storybook/blocks": "8.4.7", - "@storybook/csf-plugin": "8.4.7", - "@storybook/react-dom-shim": "8.4.7", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "@storybook/csf-plugin": "9.1.17", + "@storybook/icons": "^1.4.0", + "@storybook/react-dom-shim": "9.1.17", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "ts-dedent": "^2.0.0" }, "funding": { @@ -12896,73 +12821,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/addon-highlight": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.4.7.tgz", - "integrity": "sha512-whQIDBd3PfVwcUCrRXvCUHWClXe9mQ7XkTPCdPo4B/tZ6Z9c6zD8JUHT76ddyHivixFLowMnA8PxMU6kCMAiNw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/addon-interactions": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.4.7.tgz", - "integrity": "sha512-fnufT3ym8ht3HHUIRVXAH47iOJW/QOb0VSM+j269gDuvyDcY03D1civCu1v+eZLGaXPKJ8vtjr0L8zKQ/4P0JQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.4.7", - "@storybook/test": "8.4.7", - "polished": "^4.2.2", - "ts-dedent": "^2.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/addon-toolbars": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.4.7.tgz", - "integrity": "sha512-OSfdv5UZs+NdGB+nZmbafGUWimiweJ/56gShlw8Neo/4jOJl1R3rnRqqY7MYx8E4GwoX+i3GF5C3iWFNQqlDcw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/addon-viewport": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.4.7.tgz", - "integrity": "sha512-hvczh/jjuXXcOogih09a663sRDDSATXwbE866al1DXgbDFraYD/LxX/QDb38W9hdjU9+Qhx8VFIcNWoMQns5HQ==", - "dev": true, - "dependencies": { - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.4.7" + "storybook": "^9.1.17" } }, "node_modules/@storybook/addon-webpack5-compiler-babel": { @@ -12978,61 +12837,24 @@ "node": ">=18" } }, - "node_modules/@storybook/blocks": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.4.7.tgz", - "integrity": "sha512-+QH7+JwXXXIyP3fRCxz/7E2VZepAanXJM7G8nbR3wWsqWgrRp4Wra6MvybxAYCxU7aNfJX5c+RW84SNikFpcIA==", - "dev": true, - "dependencies": { - "@storybook/csf": "^0.1.11", - "@storybook/icons": "^1.2.12", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.4.7" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, "node_modules/@storybook/builder-webpack5": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.4.7.tgz", - "integrity": "sha512-O8LpsQ+4g2x5kh7rI9+jEUdX8k1a5egBQU1lbudmHchqsV0IKiVqBD9LL5Gj3wpit4vB8coSW4ZWTFBw8FQb4Q==", + "version": "9.1.17", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-9.1.17.tgz", + "integrity": "sha512-lgfq5R3WrK3HM/i7nX2b5rsnBgekoJr3Pu04KAGrEa/bgj7UW1n1bTodCUl+rVEM6aMPqXcLQFIVx/AEFNT4sQ==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/core-webpack": "8.4.7", - "@types/node": "^22.0.0", - "@types/semver": "^7.3.4", - "browser-assert": "^1.2.1", + "@storybook/core-webpack": "9.1.17", "case-sensitive-paths-webpack-plugin": "^2.4.0", "cjs-module-lexer": "^1.2.3", - "constants-browserify": "^1.0.0", "css-loader": "^6.7.1", "es-module-lexer": "^1.5.0", "fork-ts-checker-webpack-plugin": "^8.0.0", "html-webpack-plugin": "^5.5.0", "magic-string": "^0.30.5", - "path-browserify": "^1.0.1", - "process": "^0.11.10", - "semver": "^7.3.7", "style-loader": "^3.3.1", "terser-webpack-plugin": "^5.3.1", "ts-dedent": "^2.0.0", - "url": "^0.11.0", - "util": "^0.12.4", - "util-deprecate": "^1.0.2", "webpack": "5", "webpack-dev-middleware": "^6.1.2", "webpack-hot-middleware": "^2.25.1", @@ -13043,7 +12865,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.7" + "storybook": "^9.1.17" }, "peerDependenciesMeta": { "typescript": { @@ -13051,21 +12873,12 @@ } } }, - "node_modules/@storybook/builder-webpack5/node_modules/@types/node": { - "version": "22.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", - "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.20.0" - } - }, "node_modules/@storybook/builder-webpack5/node_modules/css-loader": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", "dev": true, + "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", @@ -13096,23 +12909,19 @@ } } }, - "node_modules/@storybook/builder-webpack5/node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, "node_modules/@storybook/builder-webpack5/node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@storybook/builder-webpack5/node_modules/style-loader": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 12.13.0" }, @@ -13124,77 +12933,13 @@ "webpack": "^5.0.0" } }, - "node_modules/@storybook/builder-webpack5/node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/builder-webpack5/node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/@storybook/components": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.4.7.tgz", - "integrity": "sha512-uyJIcoyeMWKAvjrG9tJBUCKxr2WZk+PomgrgrUwejkIfXMO76i6jw9BwLa0NZjYdlthDv30r9FfbYZyeNPmF0g==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@storybook/core": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.4.7.tgz", - "integrity": "sha512-7Z8Z0A+1YnhrrSXoKKwFFI4gnsLbWzr8fnDCU6+6HlDukFYh8GHRcZ9zKfqmy6U3hw2h8H5DrHsxWfyaYUUOoA==", - "dev": true, - "dependencies": { - "@storybook/csf": "^0.1.11", - "better-opn": "^3.0.2", - "browser-assert": "^1.2.1", - "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0", - "esbuild-register": "^3.5.0", - "jsdoc-type-pratt-parser": "^4.0.0", - "process": "^0.11.10", - "recast": "^0.23.5", - "semver": "^7.6.2", - "util": "^0.12.5", - "ws": "^8.2.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "prettier": "^2 || ^3" - }, - "peerDependenciesMeta": { - "prettier": { - "optional": true - } - } - }, "node_modules/@storybook/core-webpack": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.4.7.tgz", - "integrity": "sha512-Tj+CjQLpFyBJxhhMms+vbPT3+gTRAiQlrhY3L1IEVwBa3wtRMS0qjozH26d1hK4G6mUIEdwu13L54HMU/w33Sg==", + "version": "9.1.17", + "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-9.1.17.tgz", + "integrity": "sha512-qJRWZEgWjNoGKcHOYFgGlUkmf/dIeQ3T01SJh9H4icZChVhyWRLC+y1HITmxRPPRHZXYyBHbTzmhFmuZM3i2YQ==", "dev": true, + "license": "MIT", "dependencies": { - "@types/node": "^22.0.0", "ts-dedent": "^2.0.0" }, "funding": { @@ -13202,569 +12947,15 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/core-webpack/node_modules/@types/node": { - "version": "22.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", - "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/@storybook/core-webpack/node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/core/node_modules/@esbuild/aix-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", - "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/android-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", - "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/android-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", - "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/android-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", - "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/darwin-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", - "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/darwin-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", - "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", - "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/freebsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", - "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/linux-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", - "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/linux-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", - "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/linux-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", - "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/linux-loong64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", - "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/linux-mips64el": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", - "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/linux-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", - "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/linux-riscv64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", - "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/linux-s390x": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", - "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/linux-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", - "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/netbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", - "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/netbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", - "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", - "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/openbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", - "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/sunos-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", - "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/win32-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", - "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/win32-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", - "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/@esbuild/win32-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/core/node_modules/esbuild": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.2", - "@esbuild/android-arm": "0.24.2", - "@esbuild/android-arm64": "0.24.2", - "@esbuild/android-x64": "0.24.2", - "@esbuild/darwin-arm64": "0.24.2", - "@esbuild/darwin-x64": "0.24.2", - "@esbuild/freebsd-arm64": "0.24.2", - "@esbuild/freebsd-x64": "0.24.2", - "@esbuild/linux-arm": "0.24.2", - "@esbuild/linux-arm64": "0.24.2", - "@esbuild/linux-ia32": "0.24.2", - "@esbuild/linux-loong64": "0.24.2", - "@esbuild/linux-mips64el": "0.24.2", - "@esbuild/linux-ppc64": "0.24.2", - "@esbuild/linux-riscv64": "0.24.2", - "@esbuild/linux-s390x": "0.24.2", - "@esbuild/linux-x64": "0.24.2", - "@esbuild/netbsd-arm64": "0.24.2", - "@esbuild/netbsd-x64": "0.24.2", - "@esbuild/openbsd-arm64": "0.24.2", - "@esbuild/openbsd-x64": "0.24.2", - "@esbuild/sunos-x64": "0.24.2", - "@esbuild/win32-arm64": "0.24.2", - "@esbuild/win32-ia32": "0.24.2", - "@esbuild/win32-x64": "0.24.2" - } - }, - "node_modules/@storybook/core/node_modules/recast": { - "version": "0.23.9", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", - "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", - "dev": true, - "dependencies": { - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tiny-invariant": "^1.3.3", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@storybook/core/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/core/node_modules/util": { - "version": "0.12.5", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", - "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/@storybook/core/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@storybook/csf": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.11.tgz", - "integrity": "sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^2.19.0" + "storybook": "^9.1.17" } }, "node_modules/@storybook/csf-plugin": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.4.7.tgz", - "integrity": "sha512-Fgogplu4HImgC+AYDcdGm1rmL6OR1rVdNX1Be9C/NEXwOCpbbBwi0BxTf/2ZxHRk9fCeaPEcOdP5S8QHfltc1g==", + "version": "9.1.17", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-9.1.17.tgz", + "integrity": "sha512-o+ebQDdSfZHDRDhu2hNDGhCLIazEB4vEAqJcHgz1VsURq+l++bgZUcKojPMCAbeblptSEz2bwS0eYAOvG7aSXg==", "dev": true, + "license": "MIT", "dependencies": { "unplugin": "^1.3.1" }, @@ -13773,19 +12964,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/csf/node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "storybook": "^9.1.17" } }, "node_modules/@storybook/global": { @@ -13795,10 +12974,11 @@ "dev": true }, "node_modules/@storybook/icons": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.3.0.tgz", - "integrity": "sha512-Nz/UzeYQdUZUhacrPyfkiiysSjydyjgg/p0P9HxB4p/WaJUUjMAcaoaLgy3EXx61zZJ3iD36WPuDkZs5QYrA0A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.4.0.tgz", + "integrity": "sha512-Td73IeJxOyalzvjQL+JXx72jlIYHgs+REaHiREOqfpo3A2AYYG71AUbcv+lg7mEDIweKVCxsMQ0UKo634c8XeA==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.0.0" }, @@ -13807,83 +12987,26 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" } }, - "node_modules/@storybook/instrumenter": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.4.7.tgz", - "integrity": "sha512-k6NSD3jaRCCHAFtqXZ7tw8jAzD/yTEWXGya+REgZqq5RCkmJ+9S4Ytp/6OhQMPtPFX23gAuJJzTQVLcCr+gjRg==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0", - "@vitest/utils": "^2.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/instrumenter/node_modules/@vitest/pretty-format": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.8.tgz", - "integrity": "sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==", - "dev": true, - "dependencies": { - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@storybook/instrumenter/node_modules/@vitest/utils": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.8.tgz", - "integrity": "sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==", - "dev": true, - "dependencies": { - "@vitest/pretty-format": "2.1.8", - "loupe": "^3.1.2", - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@storybook/manager-api": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.4.7.tgz", - "integrity": "sha512-ELqemTviCxAsZ5tqUz39sDmQkvhVAvAgiplYy9Uf15kO0SP2+HKsCMzlrm2ue2FfkUNyqbDayCPPCB0Cdn/mpQ==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, "node_modules/@storybook/preset-react-webpack": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.4.7.tgz", - "integrity": "sha512-geTSBKyrBagVihil5MF7LkVFynbfHhCinvnbCZZqXW7M1vgcxvatunUENB+iV8eWg/0EJ+8O7scZL+BAxQ/2qg==", + "version": "9.1.17", + "resolved": "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-9.1.17.tgz", + "integrity": "sha512-3ixo+4yywVy/a6nHLN5eefISw43717NHKXORWbaXJUOpa7ka9l3OejEDhVmSYKfJhTK+IVbrVYTIvrgqrUWQYg==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/core-webpack": "8.4.7", - "@storybook/react": "8.4.7", + "@storybook/core-webpack": "9.1.17", "@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.0c3f3b7.0", - "@types/node": "^22.0.0", "@types/semver": "^7.3.4", - "find-up": "^5.0.0", + "find-up": "^7.0.0", "magic-string": "^0.30.5", - "react-docgen": "^7.0.0", + "react-docgen": "^7.1.1", "resolve": "^1.22.8", "semver": "^7.3.7", "tsconfig-paths": "^4.2.0", "webpack": "5" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" }, "funding": { "type": "opencollective", @@ -13892,7 +13015,7 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.4.7" + "storybook": "^9.1.17" }, "peerDependenciesMeta": { "typescript": { @@ -13900,69 +13023,80 @@ } } }, - "node_modules/@storybook/preset-react-webpack/node_modules/@types/node": { - "version": "22.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", - "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", + "node_modules/@storybook/preset-react-webpack/node_modules/find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/preset-react-webpack/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/@storybook/preset-react-webpack/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "p-locate": "^6.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/preset-react-webpack/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "node_modules/@storybook/preset-react-webpack/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@storybook/preset-react-webpack/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, + "license": "MIT", "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@storybook/preset-react-webpack/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/@storybook/preset-react-webpack/node_modules/strip-bom": { @@ -13970,6 +13104,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -13979,6 +13114,7 @@ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, + "license": "MIT", "dependencies": { "json5": "^2.2.2", "minimist": "^1.2.6", @@ -13988,57 +13124,43 @@ "node": ">=6" } }, - "node_modules/@storybook/preset-react-webpack/node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/preview-api": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.4.7.tgz", - "integrity": "sha512-0QVQwHw+OyZGHAJEXo6Knx+6/4er7n2rTDE5RYJ9F2E2Lg42E19pfdLlq2Jhoods2Xrclo3wj6GWR//Ahi39Eg==", + "node_modules/@storybook/preset-react-webpack/node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "license": "MIT", + "engines": { + "node": ">=12.20" }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@storybook/react": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.4.7.tgz", - "integrity": "sha512-nQ0/7i2DkaCb7dy0NaT95llRVNYWQiPIVuhNfjr1mVhEP7XD090p0g7eqUmsx8vfdHh2BzWEo6CoBFRd3+EXxw==", + "version": "9.1.17", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-9.1.17.tgz", + "integrity": "sha512-TZCplpep5BwjHPIIcUOMHebc/2qKadJHYPisRn5Wppl014qgT3XkFLpYkFgY1BaRXtqw8Mn3gqq4M/49rQ7Iww==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/components": "8.4.7", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "8.4.7", - "@storybook/preview-api": "8.4.7", - "@storybook/react-dom-shim": "8.4.7", - "@storybook/theming": "8.4.7" + "@storybook/react-dom-shim": "9.1.17" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "@storybook/test": "8.4.7", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.4.7", - "typescript": ">= 4.2.x" + "storybook": "^9.1.17", + "typescript": ">= 4.9.x" }, "peerDependenciesMeta": { - "@storybook/test": { - "optional": true - }, "typescript": { "optional": true } @@ -14049,6 +13171,7 @@ "resolved": "https://registry.npmjs.org/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.6--canary.9.0c3f3b7.0.tgz", "integrity": "sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.1.1", "endent": "^2.0.1", @@ -14068,6 +13191,7 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -14085,6 +13209,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -14098,6 +13223,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -14110,6 +13236,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -14125,6 +13252,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -14140,6 +13268,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -14152,6 +13281,7 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -14161,6 +13291,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -14170,6 +13301,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -14182,15 +13314,17 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@storybook/react-dom-shim": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.4.7.tgz", - "integrity": "sha512-6bkG2jvKTmWrmVzCgwpTxwIugd7Lu+2btsLAqhQSzDyIj2/uhMNp8xIMr/NBDtLgq3nomt9gefNa9xxLwk/OMg==", + "version": "9.1.17", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-9.1.17.tgz", + "integrity": "sha512-Ss/lNvAy0Ziynu+KniQIByiNuyPz3dq7tD62hqSC/pHw190X+M7TKU3zcZvXhx2AQx1BYyxtdSHIZapb+P5mxQ==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" @@ -14198,22 +13332,22 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.4.7" + "storybook": "^9.1.17" } }, "node_modules/@storybook/react-webpack5": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.4.7.tgz", - "integrity": "sha512-T9GLqlsP4It4El7cC8rSkBPRWvORAsTDULeWlO36RST2TrYnmBOUytsi22mk7cAAAVhhD6rTrs1YdqWRMpfa1w==", + "version": "9.1.17", + "resolved": "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-9.1.17.tgz", + "integrity": "sha512-GDOYMUzAj1dqFyrD1XbJaekcCrFZOIz0wVimbLeqRPwn+BNIZ9sylgvMiLxbiGMHWzVwJOyWDG/XVbuqXGfzWw==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/builder-webpack5": "8.4.7", - "@storybook/preset-react-webpack": "8.4.7", - "@storybook/react": "8.4.7", - "@types/node": "^22.0.0" + "@storybook/builder-webpack5": "9.1.17", + "@storybook/preset-react-webpack": "9.1.17", + "@storybook/react": "9.1.17" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" }, "funding": { "type": "opencollective", @@ -14222,8 +13356,8 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.4.7", - "typescript": ">= 4.2.x" + "storybook": "^9.1.17", + "typescript": ">= 4.9.x" }, "peerDependenciesMeta": { "typescript": { @@ -14231,248 +13365,6 @@ } } }, - "node_modules/@storybook/react-webpack5/node_modules/@types/node": { - "version": "22.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", - "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/@storybook/react-webpack5/node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@storybook/source-loader": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-8.4.7.tgz", - "integrity": "sha512-DrsYGGfNbbqlMzkhbLoNyNqrPa4QIkZ6O7FJ8Z/8jWb0cerQH2N6JW6k12ZnXgs8dO2Z33+iSEDIV8odh0E0PA==", - "dev": true, - "dependencies": { - "@storybook/csf": "^0.1.11", - "es-toolkit": "^1.22.0", - "estraverse": "^5.2.0", - "prettier": "^3.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/source-loader/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@storybook/source-loader/node_modules/prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/@storybook/test": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.4.7.tgz", - "integrity": "sha512-AhvJsu5zl3uG40itSQVuSy5WByp3UVhS6xAnme4FWRwgSxhvZjATJ3AZkkHWOYjnnk+P2/sbz/XuPli1FVCWoQ==", - "dev": true, - "dependencies": { - "@storybook/csf": "^0.1.11", - "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.4.7", - "@testing-library/dom": "10.4.0", - "@testing-library/jest-dom": "6.5.0", - "@testing-library/user-event": "14.5.2", - "@vitest/expect": "2.0.5", - "@vitest/spy": "2.0.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.4.7" - } - }, - "node_modules/@storybook/test/node_modules/@testing-library/dom": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@storybook/test/node_modules/@testing-library/jest-dom": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.5.0.tgz", - "integrity": "sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==", - "dev": true, - "dependencies": { - "@adobe/css-tools": "^4.4.0", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "lodash": "^4.17.21", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@storybook/test/node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@storybook/test/node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true - }, - "node_modules/@storybook/test/node_modules/@testing-library/user-event": { - "version": "14.5.2", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", - "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", - "dev": true, - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, - "node_modules/@storybook/test/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/@storybook/test/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@storybook/test/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@storybook/test/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@storybook/test/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/@storybook/test/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@storybook/theming": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.4.7.tgz", - "integrity": "sha512-99rgLEjf7iwfSEmdqlHkSG3AyLcK0sfExcr0jnc6rLiAkBhzuIsvcHjjUwkR210SOCgXqBPW0ZA6uhnuyppHLw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, - "node_modules/@storybook/types": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.4.7.tgz", - "integrity": "sha512-zuf0uPFjODB9Ls9/lqXnb1YsDKFuaASLOpTzpRlz9amFtTepo1dB0nVF9ZWcseTgGs7UxA4+ZR2SZrduXw/ihw==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" - } - }, "node_modules/@stylistic/stylelint-plugin": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-3.0.1.tgz", @@ -15536,6 +14428,17 @@ "@types/responselike": "^1.0.0" } }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, "node_modules/@types/connect": { "version": "3.4.35", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", @@ -15561,11 +14464,19 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/doctrine": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/escodegen": { "version": "0.0.10", @@ -15661,7 +14572,8 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/http-cache-semantics": { "version": "4.0.2", @@ -15942,7 +14854,8 @@ "version": "1.20.6", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz", "integrity": "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/responselike": { "version": "1.0.0", @@ -16959,58 +15872,54 @@ "react": ">= 16.8.0" } }, - "node_modules/@vitest/expect": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", - "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", + "node_modules/@vitest/mocker": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "dev": true, + "license": "MIT", "dependencies": { - "@vitest/spy": "2.0.5", - "@vitest/utils": "2.0.5", - "chai": "^5.1.1", - "tinyrainbow": "^1.2.0" + "@vitest/spy": "3.2.4", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" }, "funding": { "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/pretty-format": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", - "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", - "dev": true, - "dependencies": { - "tinyrainbow": "^1.2.0" }, - "funding": { - "url": "https://opencollective.com/vitest" + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "node_modules/@vitest/spy": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", - "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", + "node_modules/@vitest/mocker/node_modules/@vitest/spy": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", "dev": true, + "license": "MIT", "dependencies": { - "tinyspy": "^3.0.0" + "tinyspy": "^4.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", - "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", + "node_modules/@vitest/mocker/node_modules/tinyspy": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", + "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", "dev": true, - "dependencies": { - "@vitest/pretty-format": "2.0.5", - "estree-walker": "^3.0.3", - "loupe": "^3.1.1", - "tinyrainbow": "^1.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "license": "MIT", + "engines": { + "node": ">=14.0.0" } }, "node_modules/@wdio/config": { @@ -19676,6 +18585,7 @@ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^2.0.1" }, @@ -20491,6 +19401,7 @@ "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", "dev": true, + "license": "MIT", "dependencies": { "open": "^8.0.4" }, @@ -20503,6 +19414,7 @@ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, + "license": "MIT", "dependencies": { "is-docker": "^2.0.0" }, @@ -20515,6 +19427,7 @@ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, + "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -20834,12 +19747,6 @@ "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "dev": true }, - "node_modules/browser-assert": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", - "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", - "dev": true - }, "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", @@ -21439,6 +20346,7 @@ "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -21449,10 +20357,11 @@ "integrity": "sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw==" }, "node_modules/chai": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", - "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", + "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", "dev": true, + "license": "MIT", "dependencies": { "assertion-error": "^2.0.1", "check-error": "^2.1.1", @@ -21461,7 +20370,7 @@ "pathval": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/chalk": { @@ -21887,6 +20796,7 @@ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dev": true, + "license": "MIT", "dependencies": { "source-map": "~0.6.0" }, @@ -25149,6 +24059,7 @@ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dev": true, + "license": "MIT", "dependencies": { "utila": "~0.4" } @@ -25607,6 +24518,7 @@ "resolved": "https://registry.npmjs.org/endent/-/endent-2.1.0.tgz", "integrity": "sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==", "dev": true, + "license": "MIT", "dependencies": { "dedent": "^0.7.0", "fast-json-parse": "^1.0.3", @@ -25879,12 +24791,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-toolkit": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.29.0.tgz", - "integrity": "sha512-GjTll+E6APcfAQA09D89HdT8Qn2Yb+TeDSDBTMcxAo+V+w1amAtCI15LJu4YPH/UCPoSo/F47Gr1LIM0TE0lZA==", - "dev": true - }, "node_modules/es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -25963,6 +24869,7 @@ "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.4" }, @@ -27521,7 +26428,8 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", @@ -28164,6 +27072,7 @@ "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz", "integrity": "sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.16.7", "chalk": "^4.1.2", @@ -28192,6 +27101,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -28208,6 +27118,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -28249,6 +27160,7 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -28276,15 +27188,17 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, + "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -28310,6 +27224,7 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -28328,6 +27243,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -28336,12 +27252,17 @@ } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/universalify": { @@ -28349,6 +27270,7 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -29683,6 +28605,7 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, + "license": "MIT", "bin": { "he": "bin/he" } @@ -29957,6 +28880,7 @@ "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", "dev": true, + "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "^5.2.2", @@ -29978,6 +28902,7 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true, + "license": "MIT", "engines": { "node": ">= 12" } @@ -30042,10 +28967,11 @@ } }, "node_modules/html-webpack-plugin": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", - "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.5.tgz", + "integrity": "sha512-4xynFbKNNk+WlzXeQQ+6YYsH2g7mpfPszQZUi3ovKlj+pDmngQ7vRXjrrmGROabmKwyQkcgcX5hqfOwHbFmK5g==", "dev": true, + "license": "MIT", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -30074,12 +29000,17 @@ } }, "node_modules/html-webpack-plugin/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/htmlparser2": { @@ -30094,6 +29025,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.0.0", @@ -30120,6 +29052,7 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -30139,13 +29072,15 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/htmlparser2/node_modules/domhandler": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -30161,6 +29096,7 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -30175,6 +29111,7 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -31071,21 +30008,6 @@ "node": ">=6" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -35699,10 +34621,11 @@ } }, "node_modules/loupe": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", - "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", - "dev": true + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", + "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", + "dev": true, + "license": "MIT" }, "node_modules/lower-case": { "version": "2.0.2", @@ -35751,12 +34674,13 @@ } }, "node_modules/magic-string": { - "version": "0.30.15", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.15.tgz", - "integrity": "sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw==", + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "@jridgewell/sourcemap-codec": "^1.5.5" } }, "node_modules/make-dir": { @@ -35966,12 +34890,6 @@ "node": ">=0.10.0" } }, - "node_modules/map-or-similar": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", - "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==", - "dev": true - }, "node_modules/map-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-values/-/map-values-1.0.1.tgz", @@ -36523,15 +35441,6 @@ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" }, - "node_modules/memoizerific": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", - "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", - "dev": true, - "dependencies": { - "map-or-similar": "^1.5.0" - } - }, "node_modules/memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", @@ -37926,9 +36835,9 @@ "optional": true }, "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", @@ -39594,7 +38503,8 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.5.tgz", "integrity": "sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/obuf": { "version": "1.1.2", @@ -41067,18 +39977,6 @@ "node": ">=4" } }, - "node_modules/polished": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz", - "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.17.8" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -41902,6 +40800,7 @@ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", "dev": true, + "license": "MIT", "dependencies": { "lodash": "^4.17.20", "renderkid": "^3.0.0" @@ -42701,10 +41600,11 @@ } }, "node_modules/react-docgen": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.1.0.tgz", - "integrity": "sha512-APPU8HB2uZnpl6Vt/+0AFoVYgSRtfiP6FLrZgPPTDmqSb2R4qZRbgd0A3VzIFxDt5e+Fozjx79WjLWnF69DK8g==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.1.1.tgz", + "integrity": "sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.18.9", "@babel/traverse": "^7.18.9", @@ -42736,6 +41636,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -42744,13 +41645,11 @@ } }, "node_modules/react-docgen/node_modules/strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.1.1.tgz", + "integrity": "sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==", "dev": true, - "dependencies": { - "min-indent": "^1.0.1" - }, + "license": "MIT", "engines": { "node": ">=12" }, @@ -43809,6 +42708,7 @@ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -43888,6 +42788,7 @@ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", "dev": true, + "license": "MIT", "dependencies": { "css-select": "^4.1.3", "dom-converter": "^0.2.0", @@ -43901,6 +42802,7 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.0.1", @@ -43917,6 +42819,7 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", @@ -43936,13 +42839,15 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/renderkid/node_modules/domhandler": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.2.0" }, @@ -43958,6 +42863,7 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^1.0.1", "domelementtype": "^2.2.0", @@ -43972,6 +42878,7 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -46836,16 +45743,26 @@ } }, "node_modules/storybook": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.4.7.tgz", - "integrity": "sha512-RP/nMJxiWyFc8EVMH5gp20ID032Wvk+Yr3lmKidoegto5Iy+2dVQnUoElZb2zpbVXNHWakGuAkfI0dY1Hfp/vw==", + "version": "9.1.17", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-9.1.17.tgz", + "integrity": "sha512-kfr6kxQAjA96ADlH6FMALJwJ+eM80UqXy106yVHNgdsAP/CdzkkicglRAhZAvUycXK9AeadF6KZ00CWLtVMN4w==", "dev": true, + "license": "MIT", "dependencies": { - "@storybook/core": "8.4.7" + "@storybook/global": "^5.0.0", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/user-event": "^14.6.1", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/spy": "3.2.4", + "better-opn": "^3.0.2", + "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0", + "esbuild-register": "^3.5.0", + "recast": "^0.23.5", + "semver": "^7.6.2", + "ws": "^8.18.0" }, "bin": { - "getstorybook": "bin/index.cjs", - "sb": "bin/index.cjs", "storybook": "bin/index.cjs" }, "funding": { @@ -46861,25 +45778,215 @@ } } }, - "node_modules/storybook-source-link": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/storybook-source-link/-/storybook-source-link-2.0.9.tgz", - "integrity": "sha512-ysQRQ3e6CtJp9uKPRmb6lfQBDl34DrBftKGU4zycHQYESlqOFYRBQ1GgUwN5kL8un2suDqtMc5IHh50fEAmXqg==", + "node_modules/storybook-addon-source-link": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/storybook-addon-source-link/-/storybook-addon-source-link-1.0.1.tgz", + "integrity": "sha512-8i38RRNQF2UKVfZY1nTYG2j8jZ6NtOBCzxUamSICCEFLadxVSDtjQChsMroEksm+jkOIzVvNEffrJyvd9eeIqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/addon-docs": "^9.1.1", + "@storybook/icons": "^1.4.0", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "peerDependencies": { + "storybook": "^9.0.0" + } + }, + "node_modules/storybook-addon-tag-badges": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/storybook-addon-tag-badges/-/storybook-addon-tag-badges-2.0.4.tgz", + "integrity": "sha512-4VqmOR1VOE+DNjoCadLIUZON6IyBypbIv2cu1i3V1K/Amu5oDglplpQPYu+tY5iB49K8AmoTvhEQGk5X6ZdJ0g==", "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/icons": "^1.4.0" + }, + "engines": { + "node": ">=20" + }, "peerDependencies": { - "@storybook/addons": "^6.4.0", - "@storybook/api": "^6.4.0", - "@storybook/components": "^6.4.0", - "@storybook/core-events": "^6.4.0", - "@storybook/theming": "^6.4.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "storybook": "^9.0.0" + } + }, + "node_modules/storybook/node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", + "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/storybook/node_modules/@testing-library/user-event": { + "version": "14.6.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", + "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/storybook/node_modules/@vitest/expect": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/storybook/node_modules/@vitest/pretty-format": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/storybook/node_modules/@vitest/spy": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^4.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/storybook/node_modules/@vitest/utils": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/storybook/node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/storybook/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/storybook/node_modules/recast": { + "version": "0.23.11", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", + "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-types": "^0.16.1", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tiny-invariant": "^1.3.3", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/storybook/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/storybook/node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/storybook/node_modules/tinyspy": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", + "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/storybook/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { - "react": { + "bufferutil": { "optional": true }, - "react-dom": { + "utf-8-validate": { "optional": true } } @@ -48526,24 +47633,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/tinyrainbow": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", - "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/titleize": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", @@ -49291,6 +48380,19 @@ "node": ">=4" } }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unified": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", @@ -49439,10 +48541,11 @@ } }, "node_modules/unplugin": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.0.tgz", - "integrity": "sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz", + "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==", "dev": true, + "license": "MIT", "dependencies": { "acorn": "^8.14.0", "webpack-virtual-modules": "^0.6.2" @@ -49452,10 +48555,11 @@ } }, "node_modules/unplugin/node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -49837,7 +48941,8 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/utility-types": { "version": "3.10.0", @@ -51273,6 +50378,7 @@ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.3.tgz", "integrity": "sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==", "dev": true, + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.12", @@ -51301,6 +50407,7 @@ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3" }, @@ -51312,13 +50419,15 @@ "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", - "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -51601,6 +50710,7 @@ "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.26.1.tgz", "integrity": "sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-html-community": "0.0.8", "html-entities": "^2.1.0", @@ -51631,7 +50741,8 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/webpack/node_modules/@types/estree": { "version": "1.0.6", @@ -53968,6 +53079,7 @@ }, "devDependencies": { "@ariakit/test": "^0.4.7", + "@storybook/react": "9.1.17", "timezone-mock": "^1.3.6" }, "engines": { @@ -54293,7 +53405,8 @@ "remove-accents": "^0.5.0" }, "devDependencies": { - "@ariakit/test": "^0.4.7" + "@ariakit/test": "^0.4.7", + "@storybook/react": "9.1.17" }, "engines": { "node": ">=18.12.0", @@ -56163,6 +55276,7 @@ "memize": "^2.1.0" }, "devDependencies": { + "@storybook/react": "9.1.17", "@terrazzo/cli": "^0.10.2", "@terrazzo/plugin-css": "^0.10.2", "@terrazzo/token-tools": "^0.10.2", @@ -56203,6 +55317,7 @@ "clsx": "^2.1.1" }, "devDependencies": { + "@storybook/react": "9.1.17", "@wordpress/theme": "file:../theme" }, "engines": { @@ -56676,6 +55791,60 @@ "clsx": "^2.1.1", "dequal": "^2.0.3" } + }, + "storybook": { + "name": "@wordpress/storybook", + "version": "1.0.0", + "extraneous": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "@emotion/react": "^11.7.1", + "@emotion/styled": "^11.6.0", + "@wordpress/base-styles": "file:../packages/base-styles", + "@wordpress/block-editor": "file:../packages/block-editor", + "@wordpress/block-library": "file:../packages/block-library", + "@wordpress/blocks": "file:../packages/blocks", + "@wordpress/components": "file:../packages/components", + "@wordpress/compose": "file:../packages/compose", + "@wordpress/data": "file:../packages/data", + "@wordpress/dataviews": "file:../packages/dataviews", + "@wordpress/element": "file:../packages/element", + "@wordpress/format-library": "file:../packages/format-library", + "@wordpress/hooks": "file:../packages/hooks", + "@wordpress/i18n": "file:../packages/i18n", + "@wordpress/icons": "file:../packages/icons", + "@wordpress/keycodes": "file:../packages/keycodes", + "@wordpress/postcss-plugins-preset": "file:../packages/postcss-plugins-preset", + "@wordpress/primitives": "file:../packages/primitives", + "@wordpress/private-apis": "file:../packages/private-apis", + "@wordpress/theme": "file:../packages/theme", + "clsx": "^2.1.1", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "devDependencies": { + "@babel/core": "7.25.7", + "@emotion/babel-plugin": "^11.6.0", + "@storybook/addon-a11y": "9.1.17", + "@storybook/addon-docs": "9.1.17", + "@storybook/addon-webpack5-compiler-babel": "3.0.3", + "@storybook/icons": "1.4.0", + "@storybook/react-webpack5": "9.1.17", + "@wordpress/babel-preset-default": "file:../packages/babel-preset-default", + "babel-loader": "^9.2.1", + "babel-plugin-inline-json-import": "^0.3.2", + "css-loader": "6.2.0", + "postcss": "8.5.6", + "postcss-loader": "6.2.1", + "react-docgen-typescript": "2.2.2", + "sass": "1.54.0", + "sass-loader": "16.0.3", + "storybook": "9.1.17", + "storybook-addon-source-link": "1.0.1", + "storybook-addon-tag-badges": "2.0.4", + "style-loader": "3.2.1", + "webpack": "5.97.0" + } } } } diff --git a/package.json b/package.json index 24a0fe8e2573d5..edf78e143720c0 100644 --- a/package.json +++ b/package.json @@ -42,25 +42,15 @@ "@emotion/is-prop-valid": "1.2.2", "@emotion/jest": "11.7.1", "@emotion/native": "11.0.0", - "@geometricpanda/storybook-addon-badges": "2.0.5", "@inquirer/prompts": "7.2.0", "@octokit/rest": "16.26.0", "@playwright/test": "1.57.0", "@pmmmwh/react-refresh-webpack-plugin": "0.5.11", - "@storybook/addon-a11y": "8.4.7", - "@storybook/addon-actions": "8.4.7", - "@storybook/addon-controls": "8.4.7", - "@storybook/addon-docs": "8.4.7", - "@storybook/addon-interactions": "8.4.7", - "@storybook/addon-toolbars": "8.4.7", - "@storybook/addon-viewport": "8.4.7", + "@storybook/addon-a11y": "9.1.17", + "@storybook/addon-docs": "9.1.17", "@storybook/addon-webpack5-compiler-babel": "3.0.3", - "@storybook/react": "8.4.7", - "@storybook/react-webpack5": "8.4.7", - "@storybook/source-loader": "8.4.7", - "@storybook/test": "8.4.7", - "@storybook/theming": "8.4.7", - "@storybook/types": "8.4.7", + "@storybook/icons": "1.4.0", + "@storybook/react-webpack5": "9.1.17", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "14.3.0", "@testing-library/user-event": "14.4.3", @@ -131,8 +121,9 @@ "simple-git": "3.24.0", "snapshot-diff": "0.10.0", "sprintf-js": "1.1.1", - "storybook": "8.4.7", - "storybook-source-link": "2.0.9", + "storybook": "9.1.17", + "storybook-addon-source-link": "1.0.1", + "storybook-addon-tag-badges": "2.0.4", "style-loader": "3.2.1", "stylelint-plugin-logical-css": "^1.2.3", "typescript": "5.9.3", diff --git a/packages/block-editor/src/components/block-patterns-list/stories/index.story.jsx b/packages/block-editor/src/components/block-patterns-list/stories/index.story.jsx index 2234c124fb9cb0..a6e4c9ea06484b 100644 --- a/packages/block-editor/src/components/block-patterns-list/stories/index.story.jsx +++ b/packages/block-editor/src/components/block-patterns-list/stories/index.story.jsx @@ -1,8 +1,7 @@ /** * External dependencies */ -import blockLibraryStyles from '!!raw-loader!../../../../../block-library/build-style/style.css'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * Internal dependencies @@ -10,6 +9,7 @@ import { fn } from '@storybook/test'; import BlockPatternsList from '../'; import { ExperimentalBlockEditorProvider } from '../../provider'; import patterns from './fixtures'; +import blockLibraryStyles from '!!raw-loader!../../../../../block-library/build-style/style.css'; const blockEditorSettings = { styles: [ { css: blockLibraryStyles } ], diff --git a/packages/components/package.json b/packages/components/package.json index 40eca975f11eb8..3a284c49db795b 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -102,6 +102,7 @@ }, "devDependencies": { "@ariakit/test": "^0.4.7", + "@storybook/react": "9.1.17", "timezone-mock": "^1.3.6" }, "peerDependencies": { diff --git a/packages/components/src/alignment-matrix-control/stories/index.story.tsx b/packages/components/src/alignment-matrix-control/stories/index.story.tsx index 885397679a80e9..651bbb583f9eb5 100644 --- a/packages/components/src/alignment-matrix-control/stories/index.story.tsx +++ b/packages/components/src/alignment-matrix-control/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies @@ -21,7 +21,6 @@ const meta: Meta< typeof AlignmentMatrixControl > = { title: 'Components/AlignmentMatrixControl', component: AlignmentMatrixControl, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'AlignmentMatrixControl.Icon': AlignmentMatrixControl.Icon, }, argTypes: { diff --git a/packages/components/src/angle-picker-control/stories/index.story.tsx b/packages/components/src/angle-picker-control/stories/index.story.tsx index b580a4bc4aed6a..803ed26100d48e 100644 --- a/packages/components/src/angle-picker-control/stories/index.story.tsx +++ b/packages/components/src/angle-picker-control/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/base-control/stories/index.story.tsx b/packages/components/src/base-control/stories/index.story.tsx index 8c51992b45a896..a115fa489ca1a5 100644 --- a/packages/components/src/base-control/stories/index.story.tsx +++ b/packages/components/src/base-control/stories/index.story.tsx @@ -14,7 +14,6 @@ const meta: Meta< typeof BaseControl > = { id: 'components-basecontrol', component: BaseControl, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'BaseControl.VisualLabel': BaseControl.VisualLabel, }, argTypes: { diff --git a/packages/components/src/box-control/stories/index.story.tsx b/packages/components/src/box-control/stories/index.story.tsx index 8d5892da7ad704..83171c5a400bad 100644 --- a/packages/components/src/box-control/stories/index.story.tsx +++ b/packages/components/src/box-control/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/button/stories/best-practices.mdx b/packages/components/src/button/stories/best-practices.mdx index 66ec44e6738d5f..cb3ca3a347ba55 100644 --- a/packages/components/src/button/stories/best-practices.mdx +++ b/packages/components/src/button/stories/best-practices.mdx @@ -1,4 +1,4 @@ -import { Meta } from '@storybook/blocks'; +import { Meta } from '@storybook/addon-docs/blocks'; diff --git a/packages/components/src/calendar/stories/date-calendar.story.tsx b/packages/components/src/calendar/stories/date-calendar.story.tsx index 9e74e220ae3d51..5088165849f881 100644 --- a/packages/components/src/calendar/stories/date-calendar.story.tsx +++ b/packages/components/src/calendar/stories/date-calendar.story.tsx @@ -1,7 +1,7 @@ /** * External dependencies */ -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; import { enUS, fr, diff --git a/packages/components/src/calendar/stories/date-range-calendar.story.tsx b/packages/components/src/calendar/stories/date-range-calendar.story.tsx index b31a9b1d5526fb..435793f7ba4fca 100644 --- a/packages/components/src/calendar/stories/date-range-calendar.story.tsx +++ b/packages/components/src/calendar/stories/date-range-calendar.story.tsx @@ -1,7 +1,7 @@ /** * External dependencies */ -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; import { enUS, fr, diff --git a/packages/components/src/card/stories/index.story.tsx b/packages/components/src/card/stories/index.story.tsx index b54883f361ecab..94ff8de2820a35 100644 --- a/packages/components/src/card/stories/index.story.tsx +++ b/packages/components/src/card/stories/index.story.tsx @@ -20,7 +20,6 @@ import Button from '../../button'; const meta: Meta< typeof Card > = { component: Card, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { CardHeader, CardBody, CardDivider, CardMedia, CardFooter }, title: 'Components/Containers/Card', id: 'components-card', diff --git a/packages/components/src/circular-option-picker/stories/index.story.tsx b/packages/components/src/circular-option-picker/stories/index.story.tsx index f43f9419e1ddf4..2110b4f8208476 100644 --- a/packages/components/src/circular-option-picker/stories/index.story.tsx +++ b/packages/components/src/circular-option-picker/stories/index.story.tsx @@ -21,13 +21,9 @@ const meta: Meta< typeof CircularOptionPicker > = { id: 'components-circularoptionpicker', component: CircularOptionPicker, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'CircularOptionPicker.Option': CircularOptionPicker.Option, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'CircularOptionPicker.OptionGroup': CircularOptionPicker.OptionGroup, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'CircularOptionPicker.ButtonAction': CircularOptionPicker.ButtonAction, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'CircularOptionPicker.DropdownLinkAction': CircularOptionPicker.DropdownLinkAction, }, diff --git a/packages/components/src/color-picker/stories/index.story.tsx b/packages/components/src/color-picker/stories/index.story.tsx index d4f45110445656..5dec639fc79ea2 100644 --- a/packages/components/src/color-picker/stories/index.story.tsx +++ b/packages/components/src/color-picker/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryObj } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * Internal dependencies diff --git a/packages/components/src/combobox-control/stories/index.story.tsx b/packages/components/src/combobox-control/stories/index.story.tsx index 03e2ce01510046..d9b19ee3ae3ff1 100644 --- a/packages/components/src/combobox-control/stories/index.story.tsx +++ b/packages/components/src/combobox-control/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/composite/stories/index.story.tsx b/packages/components/src/composite/stories/index.story.tsx index 63731a15a8c9cd..0748abac88560d 100644 --- a/packages/components/src/composite/stories/index.story.tsx +++ b/packages/components/src/composite/stories/index.story.tsx @@ -20,17 +20,11 @@ const meta: Meta< typeof Composite > = { id: 'components-composite', component: Composite, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Composite.Group': Composite.Group, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Composite.GroupLabel': Composite.GroupLabel, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Composite.Row': Composite.Row, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Composite.Item': Composite.Item, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Composite.Hover': Composite.Hover, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Composite.Typeahead': Composite.Typeahead, // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Composite.Context': Composite.Context, diff --git a/packages/components/src/confirm-dialog/stories/index.story.tsx b/packages/components/src/confirm-dialog/stories/index.story.tsx index a7b672e431c7e7..047876a568ff67 100644 --- a/packages/components/src/confirm-dialog/stories/index.story.tsx +++ b/packages/components/src/confirm-dialog/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/custom-gradient-picker/stories/index.story.tsx b/packages/components/src/custom-gradient-picker/stories/index.story.tsx index 79a84f5998843a..c8f15de1cab5e8 100644 --- a/packages/components/src/custom-gradient-picker/stories/index.story.tsx +++ b/packages/components/src/custom-gradient-picker/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies */ diff --git a/packages/components/src/custom-select-control-v2/stories/index.story.tsx b/packages/components/src/custom-select-control-v2/stories/index.story.tsx index c56664e3525af5..0aee754a98b155 100644 --- a/packages/components/src/custom-select-control-v2/stories/index.story.tsx +++ b/packages/components/src/custom-select-control-v2/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies @@ -19,7 +19,6 @@ const meta: Meta< typeof CustomSelectControlV2 > = { id: 'components-customselectcontrol-v2', component: CustomSelectControlV2, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'CustomSelectControlV2.Item': CustomSelectControlV2.Item, }, argTypes: { diff --git a/packages/components/src/custom-select-control/stories/index.story.tsx b/packages/components/src/custom-select-control/stories/index.story.tsx index 55cce248a6e56d..7440a59c3e5a64 100644 --- a/packages/components/src/custom-select-control/stories/index.story.tsx +++ b/packages/components/src/custom-select-control/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/date-time/stories/time.story.tsx b/packages/components/src/date-time/stories/time.story.tsx index 5497b1e84138c0..d35bdce4377d6f 100644 --- a/packages/components/src/date-time/stories/time.story.tsx +++ b/packages/components/src/date-time/stories/time.story.tsx @@ -17,7 +17,6 @@ const meta: Meta< typeof TimePicker > = { title: 'Components/Selection & Input/Time & Date/TimePicker', id: 'components-timepicker', component: TimePicker, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { 'TimePicker.TimeInput': TimePicker.TimeInput }, argTypes: { currentTime: { control: 'date' }, diff --git a/packages/components/src/draggable/stories/index.story.tsx b/packages/components/src/draggable/stories/index.story.tsx index 1c99eb2b1b5fb8..26fa1c65eb6f33 100644 --- a/packages/components/src/draggable/stories/index.story.tsx +++ b/packages/components/src/draggable/stories/index.story.tsx @@ -3,7 +3,7 @@ */ import type { Meta, StoryFn } from '@storybook/react'; import type { DragEvent } from 'react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/drop-zone/stories/index.story.tsx b/packages/components/src/drop-zone/stories/index.story.tsx index 08edca57600864..0581befbafccb7 100644 --- a/packages/components/src/drop-zone/stories/index.story.tsx +++ b/packages/components/src/drop-zone/stories/index.story.tsx @@ -7,7 +7,7 @@ import type { Meta, StoryFn } from '@storybook/react'; * WordPress dependencies */ import { upload, media } from '@wordpress/icons'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * Internal dependencies diff --git a/packages/components/src/dropdown-menu/stories/index.story.tsx b/packages/components/src/dropdown-menu/stories/index.story.tsx index c7760202126181..210bea90108e71 100644 --- a/packages/components/src/dropdown-menu/stories/index.story.tsx +++ b/packages/components/src/dropdown-menu/stories/index.story.tsx @@ -2,14 +2,7 @@ * External dependencies */ import type { Meta, StoryObj } from '@storybook/react'; -import { fn } from '@storybook/test'; - -/** - * Internal dependencies - */ -import { DropdownMenu } from '..'; -import MenuItem from '../../menu-item'; -import MenuGroup from '../../menu-group'; +import { fn } from 'storybook/test'; /** * WordPress dependencies @@ -23,6 +16,13 @@ import { trash, } from '@wordpress/icons'; +/** + * Internal dependencies + */ +import { DropdownMenu } from '..'; +import MenuItem from '../../menu-item'; +import MenuGroup from '../../menu-group'; + const meta: Meta< typeof DropdownMenu > = { title: 'Components/Actions/DropdownMenu', component: DropdownMenu, diff --git a/packages/components/src/dropdown/stories/index.story.tsx b/packages/components/src/dropdown/stories/index.story.tsx index 9d98e3ccddb9d3..4c38e4adf082c3 100644 --- a/packages/components/src/dropdown/stories/index.story.tsx +++ b/packages/components/src/dropdown/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryObj } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * Internal dependencies @@ -17,7 +17,6 @@ const meta: Meta< typeof Dropdown > = { title: 'Components/Overlays/Dropdown', id: 'components-dropdown', component: Dropdown, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { DropdownContentWrapper }, args: { onClose: fn(), diff --git a/packages/components/src/flex/stories/index.story.tsx b/packages/components/src/flex/stories/index.story.tsx index fac5b2e7c31e05..d8b90c104263be 100644 --- a/packages/components/src/flex/stories/index.story.tsx +++ b/packages/components/src/flex/stories/index.story.tsx @@ -12,7 +12,6 @@ import { View } from '../../view'; const meta: Meta< typeof Flex > = { component: Flex, title: 'Components/Flex', - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { FlexBlock, FlexItem }, argTypes: { align: { control: { type: 'text' } }, diff --git a/packages/components/src/focal-point-picker/stories/index.story.tsx b/packages/components/src/focal-point-picker/stories/index.story.tsx index fdebfc0aeeb023..8f92306b51ad97 100644 --- a/packages/components/src/focal-point-picker/stories/index.story.tsx +++ b/packages/components/src/focal-point-picker/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/font-size-picker/stories/index.story.tsx b/packages/components/src/font-size-picker/stories/index.story.tsx index 371fcc225abedf..f77561aa7ba1c1 100644 --- a/packages/components/src/font-size-picker/stories/index.story.tsx +++ b/packages/components/src/font-size-picker/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/gradient-picker/stories/index.story.tsx b/packages/components/src/gradient-picker/stories/index.story.tsx index b25c42494a81c2..0c7f5a2cec3a4b 100644 --- a/packages/components/src/gradient-picker/stories/index.story.tsx +++ b/packages/components/src/gradient-picker/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/input-control/stories/index.story.tsx b/packages/components/src/input-control/stories/index.story.tsx index 1cc0e8d1bf1b4e..b3ec1e96e89d08 100644 --- a/packages/components/src/input-control/stories/index.story.tsx +++ b/packages/components/src/input-control/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies @@ -21,7 +21,6 @@ const meta: Meta< typeof InputControl > = { title: 'Components/Selection & Input/Common/InputControl', id: 'components-inputcontrol', component: InputControl, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { InputControlPrefixWrapper, InputControlSuffixWrapper }, argTypes: { __unstableInputWidth: { control: { type: 'text' } }, diff --git a/packages/components/src/item-group/stories/index.story.tsx b/packages/components/src/item-group/stories/index.story.tsx index 25bbbc619db5f3..69166d1cd9dedf 100644 --- a/packages/components/src/item-group/stories/index.story.tsx +++ b/packages/components/src/item-group/stories/index.story.tsx @@ -13,7 +13,6 @@ type ItemProps = React.ComponentPropsWithoutRef< typeof Item >; const meta: Meta< typeof ItemGroup > = { component: ItemGroup, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { Item }, title: 'Components/ItemGroup', argTypes: { diff --git a/packages/components/src/menu-group/stories/index.story.tsx b/packages/components/src/menu-group/stories/index.story.tsx index a0d12d9d05c4aa..1e8e03e09d7760 100644 --- a/packages/components/src/menu-group/stories/index.story.tsx +++ b/packages/components/src/menu-group/stories/index.story.tsx @@ -1,3 +1,8 @@ +/** + * External dependencies + */ +import type { Meta, StoryFn } from '@storybook/react'; + /** * WordPress dependencies */ @@ -10,11 +15,6 @@ import MenuGroup from '..'; import MenuItem from '../../menu-item'; import MenuItemsChoice from '../../menu-items-choice'; -/** - * External dependencies - */ -import type { Meta, StoryFn } from '@storybook/react'; - const meta: Meta< typeof MenuGroup > = { title: 'Components/Actions/MenuGroup', component: MenuGroup, diff --git a/packages/components/src/menu/stories/best-practices.mdx b/packages/components/src/menu/stories/best-practices.mdx index 148e9c187c600d..29d5ee4b58ba47 100644 --- a/packages/components/src/menu/stories/best-practices.mdx +++ b/packages/components/src/menu/stories/best-practices.mdx @@ -1,4 +1,4 @@ -import { Meta } from '@storybook/blocks'; +import { Meta } from '@storybook/addon-docs/blocks'; import * as MenuStories from './index.story'; diff --git a/packages/components/src/menu/stories/index.story.tsx b/packages/components/src/menu/stories/index.story.tsx index 9cc2d245428f58..f8f70c0747a927 100644 --- a/packages/components/src/menu/stories/index.story.tsx +++ b/packages/components/src/menu/stories/index.story.tsx @@ -3,7 +3,7 @@ */ import type { StoryObj, Meta } from '@storybook/react'; import { css } from '@emotion/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies @@ -28,29 +28,18 @@ const meta: Meta< typeof Menu > = { title: 'Components/Actions/Menu', component: Menu, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Item: Menu.Item, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 CheckboxItem: Menu.CheckboxItem, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Group: Menu.Group, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 GroupLabel: Menu.GroupLabel, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Separator: Menu.Separator, // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Context: Menu.Context, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 RadioItem: Menu.RadioItem, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 ItemLabel: Menu.ItemLabel, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 ItemHelpText: Menu.ItemHelpText, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 TriggerButton: Menu.TriggerButton, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 SubmenuTriggerItem: Menu.SubmenuTriggerItem, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Popover: Menu.Popover, }, args: { diff --git a/packages/components/src/navigable-container/stories/navigable-menu.story.tsx b/packages/components/src/navigable-container/stories/navigable-menu.story.tsx index b6646cff249843..e480e30bd8ec36 100644 --- a/packages/components/src/navigable-container/stories/navigable-menu.story.tsx +++ b/packages/components/src/navigable-container/stories/navigable-menu.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * Internal dependencies diff --git a/packages/components/src/navigable-container/stories/tabbable-container.story.tsx b/packages/components/src/navigable-container/stories/tabbable-container.story.tsx index f69c02e5d33d3f..44df770877d247 100644 --- a/packages/components/src/navigable-container/stories/tabbable-container.story.tsx +++ b/packages/components/src/navigable-container/stories/tabbable-container.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * Internal dependencies diff --git a/packages/components/src/navigation/stories/index.story.tsx b/packages/components/src/navigation/stories/index.story.tsx index dd45260ec8a277..86a79649f182e7 100644 --- a/packages/components/src/navigation/stories/index.story.tsx +++ b/packages/components/src/navigation/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * Internal dependencies @@ -30,13 +30,9 @@ const meta: Meta< typeof Navigation > = { id: 'components-navigation', component: Navigation, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 NavigationBackButton, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 NavigationGroup, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 NavigationItem, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 NavigationMenu, }, argTypes: { diff --git a/packages/components/src/navigator/stories/index.story.tsx b/packages/components/src/navigator/stories/index.story.tsx index 0baf6a1c9cf5bf..7a71731eff833c 100644 --- a/packages/components/src/navigator/stories/index.story.tsx +++ b/packages/components/src/navigator/stories/index.story.tsx @@ -14,11 +14,8 @@ import { Navigator, useNavigator } from '../'; const meta: Meta< typeof Navigator > = { component: Navigator, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Screen: Navigator.Screen, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Button: Navigator.Button, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 BackButton: Navigator.BackButton, }, title: 'Components/Navigation/Navigator', diff --git a/packages/components/src/notice/stories/index.story.tsx b/packages/components/src/notice/stories/index.story.tsx index 3040cee72f8aeb..a5dac90865da05 100644 --- a/packages/components/src/notice/stories/index.story.tsx +++ b/packages/components/src/notice/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies @@ -21,7 +21,6 @@ const meta: Meta< typeof Notice > = { title: 'Components/Feedback/Notice', id: 'components-notice', component: Notice, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { NoticeList }, args: { onDismiss: fn(), diff --git a/packages/components/src/palette-edit/stories/index.story.tsx b/packages/components/src/palette-edit/stories/index.story.tsx index 1ef42cf326d6be..e32c24ac920a57 100644 --- a/packages/components/src/palette-edit/stories/index.story.tsx +++ b/packages/components/src/palette-edit/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/panel/stories/index.story.tsx b/packages/components/src/panel/stories/index.story.tsx index 1392247036c2cc..9607dfaf275dde 100644 --- a/packages/components/src/panel/stories/index.story.tsx +++ b/packages/components/src/panel/stories/index.story.tsx @@ -3,6 +3,11 @@ */ import type { Meta, StoryFn } from '@storybook/react'; +/** + * WordPress dependencies + */ +import { wordpress } from '@wordpress/icons'; + /** * Internal dependencies */ @@ -11,16 +16,10 @@ import PanelRow from '../row'; import PanelBody from '../body'; import InputControl from '../../input-control'; -/** - * WordPress dependencies - */ -import { wordpress } from '@wordpress/icons'; - const meta: Meta< typeof Panel > = { title: 'Components/Containers/Panel', id: 'components-panel', component: Panel, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { PanelRow, PanelBody }, argTypes: { children: { control: false }, diff --git a/packages/components/src/popover/stories/index.story.tsx b/packages/components/src/popover/stories/index.story.tsx index 685bf061bcb4bf..66f68455008348 100644 --- a/packages/components/src/popover/stories/index.story.tsx +++ b/packages/components/src/popover/stories/index.story.tsx @@ -37,7 +37,6 @@ const meta: Meta< typeof Popover > = { id: 'components-popover', component: Popover, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Popover.Slot': Popover.Slot, }, argTypes: { diff --git a/packages/components/src/query-controls/stories/index.story.tsx b/packages/components/src/query-controls/stories/index.story.tsx index e05196275a02cb..a5f07a2507c26b 100644 --- a/packages/components/src/query-controls/stories/index.story.tsx +++ b/packages/components/src/query-controls/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/radio-group/stories/index.story.tsx b/packages/components/src/radio-group/stories/index.story.tsx index 2bd9e36f1ef591..084077bd593deb 100644 --- a/packages/components/src/radio-group/stories/index.story.tsx +++ b/packages/components/src/radio-group/stories/index.story.tsx @@ -2,24 +2,23 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** - * Internal dependencies + * WordPress dependencies */ -import { RadioGroup } from '..'; -import { Radio } from '../radio'; +import { useState } from '@wordpress/element'; /** - * WordPress dependencies + * Internal dependencies */ -import { useState } from '@wordpress/element'; +import { RadioGroup } from '..'; +import { Radio } from '../radio'; const meta: Meta< typeof RadioGroup > = { title: 'Components (Deprecated)/RadioGroup', id: 'components-radiogroup', component: RadioGroup, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { Radio }, argTypes: { onChange: { control: false }, diff --git a/packages/components/src/range-control/stories/index.story.tsx b/packages/components/src/range-control/stories/index.story.tsx index a66d0cf9a8e9d4..bd3fee5d5cb855 100644 --- a/packages/components/src/range-control/stories/index.story.tsx +++ b/packages/components/src/range-control/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/resizable-box/stories/index.story.tsx b/packages/components/src/resizable-box/stories/index.story.tsx index aa5b080d00b51e..2241305c5261cd 100644 --- a/packages/components/src/resizable-box/stories/index.story.tsx +++ b/packages/components/src/resizable-box/stories/index.story.tsx @@ -4,14 +4,14 @@ import type { Meta, StoryFn } from '@storybook/react'; /** - * Internal dependencies + * WordPress dependencies */ -import ResizableBox from '..'; +import { useState } from '@wordpress/element'; /** - * WordPress dependencies + * Internal dependencies */ -import { useState } from '@wordpress/element'; +import ResizableBox from '..'; const meta: Meta< typeof ResizableBox > = { title: 'Components/Utilities/ResizableBox', diff --git a/packages/components/src/sandbox/stories/index.story.tsx b/packages/components/src/sandbox/stories/index.story.tsx index 73a96fb735094e..b8f40666d5a92d 100644 --- a/packages/components/src/sandbox/stories/index.story.tsx +++ b/packages/components/src/sandbox/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * Internal dependencies diff --git a/packages/components/src/select-control/stories/index.story.tsx b/packages/components/src/select-control/stories/index.story.tsx index 76501b72acbdcd..4cc2862889e95f 100644 --- a/packages/components/src/select-control/stories/index.story.tsx +++ b/packages/components/src/select-control/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/slot-fill/stories/index.story.tsx b/packages/components/src/slot-fill/stories/index.story.tsx index 2c74496e1eada0..95098454711cc9 100644 --- a/packages/components/src/slot-fill/stories/index.story.tsx +++ b/packages/components/src/slot-fill/stories/index.story.tsx @@ -17,7 +17,6 @@ const meta: Meta< typeof Slot > = { component: Slot, title: 'Components/Utilities/SlotFill', id: 'components-slotfill', - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { Fill, SlotFillProvider }, argTypes: { name: { control: false }, diff --git a/packages/components/src/tab-panel/stories/index.story.tsx b/packages/components/src/tab-panel/stories/index.story.tsx index d958cd39bc58b3..dcd6d7db8aa53a 100644 --- a/packages/components/src/tab-panel/stories/index.story.tsx +++ b/packages/components/src/tab-panel/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/tabs/stories/best-practices.mdx b/packages/components/src/tabs/stories/best-practices.mdx index a8bb9cf20a5f0e..3a8effbe2bc45a 100644 --- a/packages/components/src/tabs/stories/best-practices.mdx +++ b/packages/components/src/tabs/stories/best-practices.mdx @@ -1,4 +1,4 @@ -import { Meta } from '@storybook/blocks'; +import { Meta } from '@storybook/addon-docs/blocks'; import * as TabsStories from './index.story'; diff --git a/packages/components/src/tabs/stories/index.story.tsx b/packages/components/src/tabs/stories/index.story.tsx index 4801e7908ab66a..b654360fe538eb 100644 --- a/packages/components/src/tabs/stories/index.story.tsx +++ b/packages/components/src/tabs/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies @@ -24,11 +24,8 @@ const meta: Meta< typeof Tabs > = { id: 'components-tabs', component: Tabs, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Tabs.TabList': Tabs.TabList, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Tabs.Tab': Tabs.Tab, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Tabs.TabPanel': Tabs.TabPanel, // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 'Tabs.Context': Tabs.Context, diff --git a/packages/components/src/toggle-group-control/stories/index.story.tsx b/packages/components/src/toggle-group-control/stories/index.story.tsx index 975d6e192eb2d0..58ab9dd8a038d8 100644 --- a/packages/components/src/toggle-group-control/stories/index.story.tsx +++ b/packages/components/src/toggle-group-control/stories/index.story.tsx @@ -25,7 +25,6 @@ import type { const meta: Meta< typeof ToggleGroupControl > = { component: ToggleGroupControl, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { ToggleGroupControlOption, ToggleGroupControlOptionIcon }, title: 'Components/Selection & Input/Common/ToggleGroupControl', id: 'components-togglegroupcontrol', diff --git a/packages/components/src/toolbar/stories/index.story.tsx b/packages/components/src/toolbar/stories/index.story.tsx index 8590c1ec8a2c6b..c879c88a7c8a41 100644 --- a/packages/components/src/toolbar/stories/index.story.tsx +++ b/packages/components/src/toolbar/stories/index.story.tsx @@ -41,13 +41,9 @@ const meta: Meta< typeof Toolbar > = { title: 'Components/Toolbar', component: Toolbar, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 ToolbarButton, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 ToolbarGroup, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 ToolbarItem, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 ToolbarDropdownMenu, }, argTypes: { diff --git a/packages/components/src/tools-panel/stories/index.story.tsx b/packages/components/src/tools-panel/stories/index.story.tsx index 63be9c6d9a8a0f..0ede4ca58dad57 100644 --- a/packages/components/src/tools-panel/stories/index.story.tsx +++ b/packages/components/src/tools-panel/stories/index.story.tsx @@ -3,7 +3,7 @@ */ import type { Meta, StoryFn } from '@storybook/react'; import styled from '@emotion/styled'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies @@ -29,7 +29,6 @@ import { createSlotFill, Provider as SlotFillProvider } from '../../slot-fill'; const meta: Meta< typeof ToolsPanel > = { title: 'Components/ToolsPanel', component: ToolsPanel, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { ToolsPanelItem }, argTypes: { as: { control: false }, diff --git a/packages/components/src/tree-grid/stories/index.story.tsx b/packages/components/src/tree-grid/stories/index.story.tsx index 4d628b34a524ee..e7c4d70a760a24 100644 --- a/packages/components/src/tree-grid/stories/index.story.tsx +++ b/packages/components/src/tree-grid/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies @@ -20,7 +20,6 @@ const meta: Meta< typeof TreeGrid > = { title: 'Components/Navigation/TreeGrid', id: 'components-treegrid', component: TreeGrid, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 subcomponents: { TreeGridRow, TreeGridCell }, argTypes: { children: { control: false }, diff --git a/packages/components/src/unit-control/stories/index.story.tsx b/packages/components/src/unit-control/stories/index.story.tsx index 84f24dc4f19d85..c5ea665c035141 100644 --- a/packages/components/src/unit-control/stories/index.story.tsx +++ b/packages/components/src/unit-control/stories/index.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryFn } from '@storybook/react'; -import { fn } from '@storybook/test'; +import { fn } from 'storybook/test'; /** * WordPress dependencies diff --git a/packages/components/src/validated-form-controls/components/stories/overview.mdx b/packages/components/src/validated-form-controls/components/stories/overview.mdx index 6fdae2a6092b77..19e04f329a7425 100644 --- a/packages/components/src/validated-form-controls/components/stories/overview.mdx +++ b/packages/components/src/validated-form-controls/components/stories/overview.mdx @@ -1,4 +1,4 @@ -import { ArgTypes, Meta, Stories } from '@storybook/blocks'; +import { ArgTypes, Meta, Stories } from '@storybook/addon-docs/blocks'; import * as OverviewStories from './overview.story'; import { ValidatedInputControl } from '..'; diff --git a/packages/components/src/validated-form-controls/components/stories/overview.story.tsx b/packages/components/src/validated-form-controls/components/stories/overview.story.tsx index 0d8bab64c240ba..f60357bbbabc01 100644 --- a/packages/components/src/validated-form-controls/components/stories/overview.story.tsx +++ b/packages/components/src/validated-form-controls/components/stories/overview.story.tsx @@ -2,7 +2,7 @@ * External dependencies */ import type { Meta, StoryObj } from '@storybook/react'; -import { expect, userEvent, waitFor, within } from '@storybook/test'; +import { expect, userEvent, waitFor, within } from 'storybook/test'; import clsx from 'clsx'; /** diff --git a/packages/dataviews/package.json b/packages/dataviews/package.json index 58d2526a280465..e789f46d2d1157 100644 --- a/packages/dataviews/package.json +++ b/packages/dataviews/package.json @@ -79,7 +79,8 @@ "remove-accents": "^0.5.0" }, "devDependencies": { - "@ariakit/test": "^0.4.7" + "@ariakit/test": "^0.4.7", + "@storybook/react": "9.1.17" }, "peerDependencies": { "react": "^18.0.0", diff --git a/packages/theme/package.json b/packages/theme/package.json index c832b7f5887085..10e377669f4027 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -71,6 +71,7 @@ "memize": "^2.1.0" }, "devDependencies": { + "@storybook/react": "9.1.17", "@terrazzo/cli": "^0.10.2", "@terrazzo/plugin-css": "^0.10.2", "@terrazzo/token-tools": "^0.10.2", diff --git a/packages/ui/package.json b/packages/ui/package.json index c5ae8d2265e491..1b87aabfaa1007 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -50,6 +50,7 @@ "clsx": "^2.1.1" }, "devDependencies": { + "@storybook/react": "9.1.17", "@wordpress/theme": "file:../theme" }, "peerDependencies": { diff --git a/packages/ui/src/badge/stories/choosing-intent.mdx b/packages/ui/src/badge/stories/choosing-intent.mdx index 18eea03cf7d5e0..672c6c584c3afb 100644 --- a/packages/ui/src/badge/stories/choosing-intent.mdx +++ b/packages/ui/src/badge/stories/choosing-intent.mdx @@ -1,4 +1,4 @@ -import { Meta } from '@storybook/blocks'; +import { Meta } from '@storybook/addon-docs/blocks'; import { Badge } from '../index'; import '@wordpress/theme/design-tokens.css'; diff --git a/packages/ui/src/form/primitives/field/stories/index.story.tsx b/packages/ui/src/form/primitives/field/stories/index.story.tsx index 36065859aa611b..fbdc10605e286a 100644 --- a/packages/ui/src/form/primitives/field/stories/index.story.tsx +++ b/packages/ui/src/form/primitives/field/stories/index.story.tsx @@ -7,15 +7,10 @@ const meta: Meta< typeof Field.Root > = { title: 'Design System/Components/Form/Primitives/Field', component: Field.Root, subcomponents: { - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Item: Field.Item, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Label: Field.Label, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Control: Field.Control, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Description: Field.Description, - // @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170 Details: Field.Details, }, }; diff --git a/patches/storybook-source-link+2.0.9.patch b/patches/storybook-source-link+2.0.9.patch deleted file mode 100644 index c1db218d953a90..00000000000000 --- a/patches/storybook-source-link+2.0.9.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/node_modules/storybook-source-link/dist/esm/Tool.js b/node_modules/storybook-source-link/dist/esm/Tool.js -index 100099e..53d37c4 100644 ---- a/node_modules/storybook-source-link/dist/esm/Tool.js -+++ b/node_modules/storybook-source-link/dist/esm/Tool.js -@@ -1,7 +1,8 @@ - import React from "react"; --import { Icons, IconButton, TooltipMessage, WithTooltip } from "@storybook/components"; --import { PARAM_KEY, PREFIX_PARAM_KEY, ICON_PARAM_KEY, INFO_LINK, TOOL_ID } from "./constants"; --import { useParameter } from '@storybook/api'; -+import { IconButton, TooltipMessage, WithTooltip } from "@storybook/components"; -+import { RepoIcon } from '@storybook/icons'; -+import { PARAM_KEY, PREFIX_PARAM_KEY, INFO_LINK, TOOL_ID } from "./constants"; -+import { useParameter } from '@storybook/manager-api'; - - var Tooltip = function Tooltip() { - return /*#__PURE__*/React.createElement(TooltipMessage, { -@@ -24,7 +25,6 @@ export var getLink = function getLink(prefix, link) { - export var Tool = function Tool() { - var param_link = useParameter(PARAM_KEY, null); - var param_prefix = useParameter(PREFIX_PARAM_KEY, null); -- var param_icon = useParameter(ICON_PARAM_KEY, "repository"); - var link = getLink(param_prefix, param_link); - return link ? /*#__PURE__*/React.createElement(IconButton, { - key: TOOL_ID, -@@ -35,9 +35,7 @@ export var Tool = function Tool() { - window.open(link); - } - } -- }, /*#__PURE__*/React.createElement(Icons, { -- icon: param_icon -- })) : /*#__PURE__*/React.createElement(WithTooltip, { -+ }, /*#__PURE__*/React.createElement(RepoIcon)) : /*#__PURE__*/React.createElement(WithTooltip, { - placement: "top", - trigger: "click", - tooltip: /*#__PURE__*/React.createElement(Tooltip, null) -@@ -45,7 +43,5 @@ export var Tool = function Tool() { - key: TOOL_ID, - title: "View Source Repository", - active: false -- }, /*#__PURE__*/React.createElement(Icons, { -- icon: param_icon -- }))); -+ }, /*#__PURE__*/React.createElement(RepoIcon))); - }; -\ No newline at end of file -diff --git a/node_modules/storybook-source-link/dist/esm/preset/manager.js b/node_modules/storybook-source-link/dist/esm/preset/manager.js -index 845f81d..ca1d066 100644 ---- a/node_modules/storybook-source-link/dist/esm/preset/manager.js -+++ b/node_modules/storybook-source-link/dist/esm/preset/manager.js -@@ -1,4 +1,4 @@ --import { addons, types } from "@storybook/addons"; -+import { addons, types } from "@storybook/manager-api"; - import { ADDON_ID, TOOL_ID } from "../constants"; - import { Tool } from "../Tool"; // Register the addon - diff --git a/storybook/addons/design-system-theme/register.tsx b/storybook/addons/design-system-theme/register.tsx index 2d27b12f83ca19..2aa04dfc427635 100644 --- a/storybook/addons/design-system-theme/register.tsx +++ b/storybook/addons/design-system-theme/register.tsx @@ -1,14 +1,16 @@ /** * External dependencies */ -import { addons, types, useGlobals } from '@storybook/manager-api'; +// eslint-disable-next-line @typescript-eslint/no-restricted-imports +import { createElement, Fragment } from 'react'; +import { addons, types, useGlobals } from 'storybook/manager-api'; import { MirrorIcon } from '@storybook/icons'; import { IconButton, WithTooltip, TooltipMessage, TooltipLinkList, -} from '@storybook/components'; +} from 'storybook/internal/components'; interface ThemeOption { id: string; @@ -50,41 +52,43 @@ function ThemeTooltipMessage( { updateGlobals( { [ globalName ]: option.id || undefined } ), } ) ); - return ( - } - /> - ); + // We cannot use JSX here as Storybook expects local addons to be pre-built. + return createElement( TooltipMessage, { + title, + desc: createElement( TooltipLinkList, { links } ), + } ); } const ThemeTool = () => { - return ( - - - - - } - > - - - Theme - - + const tooltip = createElement( + Fragment, + null, + createElement( ThemeTooltipMessage, { + title: 'Density', + globalName: 'dsDensity', + options: DENSITY_OPTIONS, + } ), + createElement( ThemeTooltipMessage, { + title: 'Color', + globalName: 'dsColorTheme', + options: COLOR_OPTIONS, + } ) + ); + + const button = createElement( + IconButton, + { title: 'Design System Theme', active: true }, + createElement( MirrorIcon ), + 'Theme' ); + + return createElement( WithTooltip, { + placement: 'top', + trigger: 'click', + closeOnOutsideClick: true, + tooltip, + children: button, + } ); }; addons.register( ADDON_ID, () => { diff --git a/storybook/badges.js b/storybook/badges.js index 3f31dd27489dc5..905b9b91e9d90f 100644 --- a/storybook/badges.js +++ b/storybook/badges.js @@ -5,11 +5,13 @@ * the `tags` array in the story's metadata. For example, to apply the "private" * badge, add "status-private" to the `tags` array. * - * @see https://github.com/geometricpanda/storybook-addon-badges - * @see './webpack/copy-tags-to-badges.js' - Webpack loader that processes the tags + * @see https://github.com/Sidnioulz/storybook-addon-tag-badges */ -export default { +/** + * Badge definitions used by sidebar.js for rendering icons. + */ +const badges = { private: { icon: '🔒', title: '🔒 Private', @@ -42,3 +44,5 @@ export default { }, }, }; + +export default badges; diff --git a/storybook/decorators/with-design-system-theme.tsx b/storybook/decorators/with-design-system-theme.tsx index 2d21023dd5dab4..141ef7fc6fb297 100644 --- a/storybook/decorators/with-design-system-theme.tsx +++ b/storybook/decorators/with-design-system-theme.tsx @@ -1,7 +1,7 @@ /** * External dependencies */ -import type { StoryContext } from '@storybook/types'; +import type { StoryContext } from 'storybook/internal/types'; /** * WordPress dependencies diff --git a/storybook/main.js b/storybook/main.js index f722c855d06f78..fbe26e97263fe6 100644 --- a/storybook/main.js +++ b/storybook/main.js @@ -56,15 +56,10 @@ module.exports = { name: '@storybook/addon-docs', options: { configureJSX: true }, }, - '@storybook/addon-controls', - '@storybook/addon-viewport', '@storybook/addon-a11y', - '@storybook/addon-toolbars', - '@storybook/addon-actions', - '@storybook/addon-interactions', '@storybook/addon-webpack5-compiler-babel', - 'storybook-source-link', - '@geometricpanda/storybook-addon-badges', + 'storybook-addon-source-link', + 'storybook-addon-tag-badges', './addons/design-system-theme/register', ], framework: { @@ -126,26 +121,6 @@ module.exports = { test: /\.md$/, type: 'asset/source', }, - { - test: /\/stories\/.+\.story\.(j|t)sx?$/, - use: [ - { - // Adds a `sourceLink` parameter to the story metadata, based on the file path - loader: path.resolve( - __dirname, - './webpack/source-link-loader.js' - ), - }, - { - // Reads `tags` from the story metadata and copies them to `badges` - loader: path.resolve( - __dirname, - './webpack/copy-tags-to-badges.js' - ), - }, - ], - enforce: 'post', - }, { test: /\.scss$/, exclude: /\.lazy\.scss$/, diff --git a/storybook/manager.js b/storybook/manager.js index d519de312737a9..38a0d11ee55b00 100644 --- a/storybook/manager.js +++ b/storybook/manager.js @@ -1,15 +1,26 @@ /** * External dependencies */ -import { addons } from '@storybook/manager-api'; +import { addons } from 'storybook/manager-api'; /** * Internal dependencies */ -import theme from './theme'; +import badges from './badges'; import sidebar from './sidebar'; +import theme from './theme'; addons.setConfig( { sidebar, + tagBadges: Object.entries( badges ).map( + ( [ key, { title, styles, tooltip } ] ) => ( { + tags: `status-${ key }`, + badge: { + text: title, + ...( styles && { style: styles } ), + tooltip, + }, + } ) + ), theme, } ); diff --git a/storybook/preview.jsx b/storybook/preview.jsx index 03a818df214cc2..2b405650209adf 100644 --- a/storybook/preview.jsx +++ b/storybook/preview.jsx @@ -5,14 +5,17 @@ import { Stories, Subtitle, Title, -} from '@storybook/blocks'; +} from '@storybook/addon-docs/blocks'; + +/** + * Internal dependencies + */ import { WithGlobalCSS } from './decorators/with-global-css'; import { WithMarginChecker } from './decorators/with-margin-checker'; import { WithMaxWidthWrapper } from './decorators/with-max-width-wrapper'; import { WithRTL } from './decorators/with-rtl'; import { WithTheme } from './decorators/with-theme'; import { WithDesignSystemTheme } from './decorators/with-design-system-theme'; -import badgesConfig from './badges'; export const globalTypes = { direction: { @@ -99,8 +102,6 @@ export const decorators = [ ]; export const parameters = { - // For @geometricpanda/storybook-addon-badges - badgesConfig, controls: { sort: 'requiredFirst', }, @@ -161,7 +162,31 @@ export const parameters = { ], }, }, - sourceLinkPrefix: 'https://github.com/WordPress/gutenberg/blob/trunk/', + sourceLink: { + links: { + // Disable default links + 'component-vscode': () => undefined, + 'story-vscode': () => undefined, + 'addon-powered-by': () => undefined, + // Custom GitHub link + 'story-github': ( { importPath } ) => { + if ( ! importPath ) { + return undefined; + } + // importPath is like "../packages/components/src/button/stories/index.story.tsx" + // Convert to component directory path: "packages/components/src/button" + const componentPath = importPath + .replace( /^\.\.\//, '' ) // Remove leading "../" + .replace( /^\.\//, '' ) // Remove leading "./" (for stories in storybook folder) + .replace( /\/stories\/.*$/, '' ); // Remove "/stories/..." suffix + return { + label: 'View source', + href: `https://github.com/WordPress/gutenberg/blob/trunk/${ componentPath }`, + icon: 'GithubIcon', + }; + }, + }, + }, }; export const tags = [ 'autodocs' ]; diff --git a/storybook/sidebar.js b/storybook/sidebar.js index ab438440e3b834..f9904af53677d9 100644 --- a/storybook/sidebar.js +++ b/storybook/sidebar.js @@ -8,8 +8,8 @@ */ // eslint-disable-next-line @typescript-eslint/no-restricted-imports import { createElement, useMemo } from 'react'; -import { useStorybookApi } from '@storybook/manager-api'; -import { styled } from '@storybook/theming'; +import { useStorybookApi } from 'storybook/manager-api'; +import { styled } from 'storybook/theming'; /** * Internal dependencies @@ -61,7 +61,7 @@ function useIcons( item ) { ) : null ); - }, [ api, item.children, item.isComponent ] ); + }, [ api, item.children, item.type ] ); } /** diff --git a/storybook/stories/docs/components/contributing.mdx b/storybook/stories/docs/components/contributing.mdx index 2a0bb876c288c8..fc44dfb20f0174 100644 --- a/storybook/stories/docs/components/contributing.mdx +++ b/storybook/stories/docs/components/contributing.mdx @@ -1,4 +1,4 @@ -import { Meta, Markdown } from '@storybook/blocks'; +import { Meta, Markdown } from '@storybook/addon-docs/blocks'; import Contributing from '@wordpress/components/CONTRIBUTING.md'; diff --git a/storybook/stories/docs/components/readme.mdx b/storybook/stories/docs/components/readme.mdx index 660c9800f7e032..4c179dcd2d3a4d 100644 --- a/storybook/stories/docs/components/readme.mdx +++ b/storybook/stories/docs/components/readme.mdx @@ -1,4 +1,4 @@ -import { Meta, Markdown } from '@storybook/blocks'; +import { Meta, Markdown } from '@storybook/addon-docs/blocks'; import Readme from '@wordpress/components/README.md'; diff --git a/storybook/stories/docs/introduction.mdx b/storybook/stories/docs/introduction.mdx index cff649d189bd42..7fc63a46417ce4 100644 --- a/storybook/stories/docs/introduction.mdx +++ b/storybook/stories/docs/introduction.mdx @@ -1,4 +1,4 @@ -import { Meta } from '@storybook/blocks'; +import { Meta } from '@storybook/addon-docs/blocks'; import { RepoIcon } from '@storybook/icons'; import { InlineIcon } from './inline-icon'; diff --git a/storybook/stories/foundations/design-language/elevation.mdx b/storybook/stories/foundations/design-language/elevation.mdx index fcacfd2ee5a8d6..11591568b3600c 100644 --- a/storybook/stories/foundations/design-language/elevation.mdx +++ b/storybook/stories/foundations/design-language/elevation.mdx @@ -1,4 +1,4 @@ -import { Meta, Typeset } from '@storybook/blocks'; +import { Meta, Typeset } from '@storybook/addon-docs/blocks'; import elevation from './static/elevation.svg'; import elevationExamples from './static/elevation-examples.svg'; diff --git a/storybook/stories/foundations/design-language/radius.mdx b/storybook/stories/foundations/design-language/radius.mdx index 2cf5b05a92efee..fda9bcdb85219a 100644 --- a/storybook/stories/foundations/design-language/radius.mdx +++ b/storybook/stories/foundations/design-language/radius.mdx @@ -1,4 +1,4 @@ -import { Meta, Typeset } from '@storybook/blocks'; +import { Meta, Typeset } from '@storybook/addon-docs/blocks'; import radius from './static/radius.svg'; import radiusDo from './static/radius-do.svg'; import radiusDont from './static/radius-dont.svg'; diff --git a/storybook/stories/foundations/layout.mdx b/storybook/stories/foundations/layout.mdx index 578f4e8b66e428..7dc3fac489a3e5 100644 --- a/storybook/stories/foundations/layout.mdx +++ b/storybook/stories/foundations/layout.mdx @@ -1,4 +1,4 @@ -import { Meta } from '@storybook/blocks'; +import { Meta } from '@storybook/addon-docs/blocks'; import areas from './static/areas.svg'; import pageLayoutExample1 from './static/page-layout-example-1.svg'; import pageLayoutExample2 from './static/page-layout-example-2.svg'; diff --git a/storybook/stories/tokens/color.mdx b/storybook/stories/tokens/color.mdx index 0f99303500ca96..bebcff9aad324b 100644 --- a/storybook/stories/tokens/color.mdx +++ b/storybook/stories/tokens/color.mdx @@ -1,4 +1,4 @@ -import { Meta, ColorPalette, ColorItem } from '@storybook/blocks'; +import { Meta, ColorPalette, ColorItem } from '@storybook/addon-docs/blocks'; diff --git a/storybook/stories/tokens/elevation.mdx b/storybook/stories/tokens/elevation.mdx index b3b0cd1a881b40..5afb7e75266c4a 100644 --- a/storybook/stories/tokens/elevation.mdx +++ b/storybook/stories/tokens/elevation.mdx @@ -1,4 +1,4 @@ -import { Meta } from '@storybook/blocks'; +import { Meta } from '@storybook/addon-docs/blocks'; import { TokensTable } from './components.tsx'; diff --git a/storybook/stories/tokens/radius.mdx b/storybook/stories/tokens/radius.mdx index 49eeb4a3c312b9..ac51ee47e47d2f 100644 --- a/storybook/stories/tokens/radius.mdx +++ b/storybook/stories/tokens/radius.mdx @@ -1,4 +1,4 @@ -import { Meta } from '@storybook/blocks'; +import { Meta } from '@storybook/addon-docs/blocks'; import { TokensTable } from './components.tsx'; diff --git a/storybook/stories/tokens/typography.mdx b/storybook/stories/tokens/typography.mdx index 9d0e4aedf8c017..c3b49b2865f186 100644 --- a/storybook/stories/tokens/typography.mdx +++ b/storybook/stories/tokens/typography.mdx @@ -1,4 +1,4 @@ -import { Meta, Typeset } from '@storybook/blocks'; +import { Meta, Typeset } from '@storybook/addon-docs/blocks'; diff --git a/storybook/theme.js b/storybook/theme.js index 9e340119eb48f8..7c63350987faee 100644 --- a/storybook/theme.js +++ b/storybook/theme.js @@ -1,7 +1,7 @@ /** * External dependencies */ -import { create } from '@storybook/theming/create'; +import { create } from 'storybook/theming/create'; export default create( { base: 'light', diff --git a/storybook/webpack/copy-tags-to-badges.js b/storybook/webpack/copy-tags-to-badges.js deleted file mode 100644 index 07dc068135cc5f..00000000000000 --- a/storybook/webpack/copy-tags-to-badges.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * External dependencies - */ -const babel = require( '@babel/core' ); - -/** - * Reads `tags` from the story metadata and copies them to `badges`. - * - * @see https://github.com/geometricpanda/storybook-addon-badges - * @see '../badges.js' - Badges config - */ -function copyTagsToBadgePlugin() { - return { - visitor: { - ExportDefaultDeclaration( visitorPath ) { - const properties = - // When default export is anonymous, the declaration is an object expression - visitorPath.node?.declaration.properties ?? - // When default export is named, the declaration is an identifier, usually the previous node - visitorPath.getPrevSibling().node.declarations[ 0 ].init - .properties; - - alterParameters( properties ); - }, - }, - }; -} - -function alterParameters( properties ) { - const STATUS_PREFIX = 'status-'; - - const tags = - properties - .find( ( op ) => op.key.name === 'tags' ) - ?.value.elements.map( ( tag ) => tag.value ) ?? []; - const statusTags = tags.filter( ( tag ) => - tag.startsWith( STATUS_PREFIX ) - ); - - const badges = babel.types.objectProperty( - babel.types.identifier( 'badges' ), - babel.types.arrayExpression( - statusTags.map( ( tag ) => - babel.types.stringLiteral( - tag.substring( STATUS_PREFIX.length ) - ) - ) - ) - ); - - let parameters = properties.find( ( op ) => op.key.name === 'parameters' ); - - if ( ! parameters ) { - parameters = babel.types.objectProperty( - babel.types.identifier( 'parameters' ), - babel.types.objectExpression( [] ) - ); - properties.push( parameters ); - } - - parameters.value.properties = [ badges, ...parameters.value.properties ]; -} - -module.exports = function ( source ) { - const output = babel.transform( source, { - plugins: [ copyTagsToBadgePlugin ], - filename: this.resourcePath, - sourceType: 'module', - } ); - return output.code; -}; diff --git a/storybook/webpack/source-link-loader.js b/storybook/webpack/source-link-loader.js deleted file mode 100644 index f8702c1c367174..00000000000000 --- a/storybook/webpack/source-link-loader.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * External dependencies - */ -const babel = require( '@babel/core' ); -const path = require( 'path' ); - -const REPO_ROOT = path.resolve( __dirname, '../../' ); - -/** - * Adds a `sourceLink` parameter to the story metadata, based on the file path. - * - * @see https://storybook.js.org/addons/storybook-source-link - */ -function addSourceLinkPlugin() { - return { - visitor: { - ExportDefaultDeclaration( visitorPath, state ) { - const componentPath = getComponentPathFromStoryPath( - state.file.opts.filename - ); - const properties = - // When default export is anonymous, the declaration is an object expression - visitorPath.node.declaration.properties ?? - // When default export is named, the declaration is an identifier, usually the previous node - visitorPath.getPrevSibling().node.declarations[ 0 ].init - .properties; - - alterParameters( properties, componentPath ); - }, - }, - }; -} - -function getComponentPathFromStoryPath( storyPath ) { - const componentRoot = path.resolve( storyPath, '../../' ); - return path.relative( REPO_ROOT, componentRoot ); -} - -function alterParameters( properties, componentPath ) { - const sourceLink = babel.types.objectProperty( - babel.types.identifier( 'sourceLink' ), - babel.types.stringLiteral( componentPath ) - ); - - let parameters = properties.find( ( op ) => op.key.name === 'parameters' ); - - if ( ! parameters ) { - parameters = babel.types.objectProperty( - babel.types.identifier( 'parameters' ), - babel.types.objectExpression( [] ) - ); - properties.push( parameters ); - } - - parameters.value.properties = [ - sourceLink, - ...parameters.value.properties, - ]; -} - -module.exports = function ( source ) { - const output = babel.transform( source, { - plugins: [ addSourceLinkPlugin ], - filename: this.resourcePath, - sourceType: 'module', - } ); - return output.code; -}; diff --git a/test/storybook-playwright/storybook/main.js b/test/storybook-playwright/storybook/main.js index f68f586f477200..9d33f4825a1544 100644 --- a/test/storybook-playwright/storybook/main.js +++ b/test/storybook-playwright/storybook/main.js @@ -5,10 +5,7 @@ const baseConfig = require( '../../../storybook/main' ); const config = { ...baseConfig, - addons: [ - '@storybook/addon-toolbars', - '@storybook/addon-webpack5-compiler-babel', - ], + addons: [ '@storybook/addon-webpack5-compiler-babel' ], docs: undefined, staticDirs: undefined, stories: [