From 0902003df23638625f374a613b442efcebf21370 Mon Sep 17 00:00:00 2001 From: Ildar Kamalov Date: Wed, 23 Jul 2025 12:41:47 +0300 Subject: [PATCH] add storybook --- .gitignore | 3 + client_v2/.editorconfig | 2 +- client_v2/.eslintrc.json | 5 +- client_v2/.storybook/main.ts | 52 + client_v2/.storybook/preview.ts | 26 + client_v2/.storybook/tsconfig.json | 12 + client_v2/package.json | 270 ++-- client_v2/pnpm-lock.yaml | 1165 ++++++++++++++++- .../controls/Checkbox/Checkbox.module.pcss | 10 +- .../src/common/controls/Checkbox/Checkbox.tsx | 7 +- .../common/controls/Radio/Radio.module.pcss | 8 +- client_v2/src/common/controls/Radio/Radio.tsx | 2 +- .../src/common/controls/Textarea/Textarea.tsx | 6 +- .../controls/Textarea/styles.module.pcss | 14 +- client_v2/src/common/ui/Button/Button.tsx | 4 - client_v2/src/common/ui/Icons/index.tsx | 8 +- client_v2/src/common/ui/Menu/Menu.tsx | 8 - client_v2/src/components/App/index.tsx | 9 - client_v2/src/components/Expo/index.tsx | 396 ------ .../src/components/Expo/styles.module.pcss | 22 + client_v2/src/components/Routes/Paths.ts | 2 - .../src/stories/controls/Checkbox.stories.tsx | 141 ++ .../src/stories/controls/Input.stories.tsx | 119 ++ .../src/stories/controls/Radio.stories.tsx | 101 ++ .../src/stories/controls/Select.stories.tsx | 169 +++ .../src/stories/controls/Switch.stories.tsx | 86 ++ .../src/stories/controls/Textarea.stories.tsx | 92 ++ .../src/stories/theme/Typography.stories.tsx | 44 + client_v2/src/stories/types.ts | 9 + client_v2/src/stories/ui/Button.stories.tsx | 81 ++ .../src/stories/ui/ConfirmDialog.stories.tsx | 141 ++ client_v2/src/stories/ui/Dropdown.stories.tsx | 130 ++ client_v2/src/stories/ui/Icons.module.pcss | 59 + client_v2/src/stories/ui/Icons.stories.tsx | 47 + client_v2/src/stories/ui/Loader.stories.tsx | 176 +++ 35 files changed, 2781 insertions(+), 645 deletions(-) create mode 100644 client_v2/.storybook/main.ts create mode 100644 client_v2/.storybook/preview.ts create mode 100644 client_v2/.storybook/tsconfig.json delete mode 100644 client_v2/src/components/Expo/index.tsx create mode 100644 client_v2/src/stories/controls/Checkbox.stories.tsx create mode 100644 client_v2/src/stories/controls/Input.stories.tsx create mode 100644 client_v2/src/stories/controls/Radio.stories.tsx create mode 100644 client_v2/src/stories/controls/Select.stories.tsx create mode 100644 client_v2/src/stories/controls/Switch.stories.tsx create mode 100644 client_v2/src/stories/controls/Textarea.stories.tsx create mode 100644 client_v2/src/stories/theme/Typography.stories.tsx create mode 100644 client_v2/src/stories/types.ts create mode 100644 client_v2/src/stories/ui/Button.stories.tsx create mode 100644 client_v2/src/stories/ui/ConfirmDialog.stories.tsx create mode 100644 client_v2/src/stories/ui/Dropdown.stories.tsx create mode 100644 client_v2/src/stories/ui/Icons.module.pcss create mode 100644 client_v2/src/stories/ui/Icons.stories.tsx create mode 100644 client_v2/src/stories/ui/Loader.stories.tsx diff --git a/.gitignore b/.gitignore index 27b7db09..0b7a6414 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,6 @@ coverage.txt node_modules/ !/build/gitkeep + +*storybook.log +storybook-static diff --git a/client_v2/.editorconfig b/client_v2/.editorconfig index cab3081f..f5a253bd 100644 --- a/client_v2/.editorconfig +++ b/client_v2/.editorconfig @@ -7,7 +7,7 @@ indent_size = 4 insert_final_newline = true trim_trailing_whitespace = true end_of_line = lf -max_line_length = 180 +max_line_length = 120 [*.md] max_line_length = off diff --git a/client_v2/.eslintrc.json b/client_v2/.eslintrc.json index 233695a8..bb7ed863 100644 --- a/client_v2/.eslintrc.json +++ b/client_v2/.eslintrc.json @@ -7,7 +7,8 @@ "prettier", "eslint:recommended", "plugin:react/recommended", - "plugin:@typescript-eslint/recommended" + "plugin:@typescript-eslint/recommended", + "plugin:storybook/recommended" ], "parser": "@typescript-eslint/parser", "env": { @@ -84,4 +85,4 @@ } ] } -} +} \ No newline at end of file diff --git a/client_v2/.storybook/main.ts b/client_v2/.storybook/main.ts new file mode 100644 index 00000000..a8f540cd --- /dev/null +++ b/client_v2/.storybook/main.ts @@ -0,0 +1,52 @@ +import type { StorybookConfig } from '@storybook/react-webpack5'; +import * as path from 'path'; + +// Get the project root directory +const projectRoot = path.resolve(process.cwd()); + +const config: StorybookConfig = { + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], + addons: ['@storybook/addon-webpack5-compiler-swc', '@storybook/addon-docs'], + framework: { + name: '@storybook/react-webpack5', + options: {}, + }, + webpackFinal: async (config) => { + // Modify existing CSS rules to support PCSS files + if (config.module?.rules) { + config.module.rules.forEach((rule) => { + if (rule && typeof rule !== 'string' && rule.test) { + // Find CSS rules and extend them to handle PCSS + if (rule.test instanceof RegExp) { + // Extend CSS test to include PCSS files + if (rule.test.test('.css')) { + rule.test = /\.(css|pcss)$/; + } + // Extend CSS module test to include PCSS modules + if (rule.test.toString().includes('module') && rule.test.test('module.css')) { + rule.test = /\.module\.(css|pcss)$/; + } + } + } + }); + } + + // Resolve panel alias to match tsconfig.json paths + if (config.resolve?.alias) { + config.resolve.alias = { + ...config.resolve.alias, + panel: path.resolve(projectRoot, 'src'), + }; + } else { + config.resolve = { + ...config.resolve, + alias: { + panel: path.resolve(projectRoot, 'src'), + }, + }; + } + + return config; + }, +}; +export default config; diff --git a/client_v2/.storybook/preview.ts b/client_v2/.storybook/preview.ts new file mode 100644 index 00000000..321b6b80 --- /dev/null +++ b/client_v2/.storybook/preview.ts @@ -0,0 +1,26 @@ +import type { Preview } from '@storybook/react-webpack5'; +import React from 'react'; +import { Icons } from '../src/common/ui/Icons'; + +import '../src/index.pcss'; + +const preview: Preview = { + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i, + }, + }, + }, + decorators: [ + (Story) => React.createElement( + React.Fragment, + null, + React.createElement(Icons), + React.createElement(Story) + ), + ], +}; + +export default preview; diff --git a/client_v2/.storybook/tsconfig.json b/client_v2/.storybook/tsconfig.json new file mode 100644 index 00000000..77950a5c --- /dev/null +++ b/client_v2/.storybook/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "types": ["node"], + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react" + }, + "include": ["../src/**/*", "*.ts", "*.tsx"] +} diff --git a/client_v2/package.json b/client_v2/package.json index dc982d7e..059d68f3 100644 --- a/client_v2/package.json +++ b/client_v2/package.json @@ -1,133 +1,141 @@ { - "name": "dashboard", - "version": "1.0.0", - "private": true, - "scripts": { - "build-dev": "cross-env NODE_ENV=development BUILD_ENV=dev webpack --config webpack.dev.js", - "build-prod": "cross-env BUILD_ENV=prod webpack --config webpack.prod.js", - "watch": "cross-env BUILD_ENV=dev webpack --config webpack.dev.js --watch", - "watch:hot": "cross-env BUILD_ENV=dev webpack-dev-server --config webpack.dev.js", - "lint": "eslint --ext .ts,.tsx src", - "lint:fix": "eslint --ext .ts,.tsx src --fix", - "test": "vitest --run", - "test:watch": "vitest --watch", - "test:e2e": "npx playwright test tests/e2e", - "test:e2e:interactive": "npx playwright test --ui", - "test:e2e:debug": "npx playwright test --debug", - "test:e2e:codegen": "npx playwright codegen", - "typecheck": "tsc --noEmit", - "typecheck:watch": "tsc --noEmit --watch" - }, - "type": "module", - "dependencies": { - "@adguard/translate": "^1.0.2", - "@nivo/line": "^0.64.0", - "axios": "^0.19.2", - "classnames": "^2.5.1", - "clsx": "^2.1.1", - "countries-and-timezones": "^3.6.0", - "date-fns": "^1.29.0", - "i18next": "^19.6.2", - "i18next-browser-languagedetector": "^4.2.0", - "ipaddr.js": "^1.9.1", - "js-yaml": "^3.14.0", - "lodash": "^4.17.19", - "nanoid": "^3.1.9", - "popper.js": "^1.16.1", - "prop-types": "^15.8.1", - "qs": "^6.14.0", - "query-string": "^6.13.1", - "rc-dialog": "^10.0.0", - "rc-dropdown": "^4.2.1", - "react": "^16.13.1", - "react-click-outside": "^3.0.1", - "react-dom": "^16.13.1", - "react-hook-form": "^7.54.0", - "react-i18next": "^11.7.2", - "react-modal": "^3.11.2", - "react-popper-tooltip": "^2.11.1", - "react-redux": "^7.2.0", - "react-redux-loading-bar": "^4.6.0", - "react-router-dom": "^5.2.0", - "react-router-hash-link": "^1.2.2", - "react-select": "^5.3.2", - "react-table": "^6.11.4", - "react-transition-group": "^4.4.5", - "redux": "^4.0.5", - "redux-actions": "^2.6.5", - "redux-thunk": "^2.3.0", - "ts-migrate": "^0.1.35", - "url-polyfill": "^1.1.12" - }, - "devDependencies": { - "@babel/core": "^7.24.5", - "@babel/plugin-transform-class-properties": "^7.24.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.5", - "@babel/plugin-transform-optional-chaining": "^7.24.5", - "@babel/plugin-transform-runtime": "^7.24.3", - "@babel/preset-env": "^7.24.5", - "@babel/preset-react": "^7.24.1", - "@playwright/test": "1.50.1", - "@types/lodash": "^4.17.4", - "@types/node": "^22.13.10", - "@types/react": "^17.0.80", - "@types/react-dom": "^18.3.0", - "@types/react-redux": "^7.1.33", - "@types/react-router-dom": "^5.3.3", - "@types/react-table": "^7.7.20", - "@types/redux-actions": "^2.6.5", - "@typescript-eslint/eslint-plugin": "^7.11.0", - "@typescript-eslint/parser": "^7.10.0", - "autoprefixer": "^10.4.21", - "babel-loader": "^9.1.3", - "clean-webpack-plugin": "^4.0.0", - "copy-webpack-plugin": "^12.0.2", - "cross-env": "^7.0.3", - "css-loader": "^7.1.2", - "eslint": "^8.57.0", - "eslint-config-airbnb": "^19.0.4", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-jsx-a11y": "^6.8.0", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-react": "^7.34.1", - "eslint-plugin-react-hooks": "^4.6.2", - "file-loader": "^6.2.0", - "html-webpack-plugin": "^5.6.0", - "jscodeshift": "^0.15.2", - "mini-css-extract-plugin": "^2.9.0", - "path": "^0.12.7", - "postcss": "^8.5.6", - "postcss-custom-media": "^11.0.6", - "postcss-import": "^16.1.1", - "postcss-loader": "^8.1.1", - "postcss-nested": "^7.0.2", - "prettier": "^3.2.5", - "react-hot-loader": "^4.13.1", - "style-loader": "^4.0.0", - "stylelint": "^16.5.0", - "ts-loader": "^9.5.1", - "url-loader": "^4.1.1", - "user-agent-data-types": "^0.4.2", - "vitest": "^3.1.1", - "webpack": "^5.91.0", - "webpack-cli": "^5.1.4", - "webpack-dev-server": "^5.0.4", - "webpack-merge": "^5.10.0" - }, - "browserslist": { - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ], - "production": [ - ">1%", - "last 4 chrome version", - "last 4 firefox version", - "last 4 safari version", - "firefox esr", - "not ie < 9" - ] - } + "name": "dashboard", + "version": "1.0.0", + "private": true, + "scripts": { + "build-dev": "cross-env NODE_ENV=development BUILD_ENV=dev webpack --config webpack.dev.js", + "build-prod": "cross-env BUILD_ENV=prod webpack --config webpack.prod.js", + "watch": "cross-env BUILD_ENV=dev webpack --config webpack.dev.js --watch", + "watch:hot": "cross-env BUILD_ENV=dev webpack-dev-server --config webpack.dev.js", + "lint": "eslint --ext .ts,.tsx src", + "lint:fix": "eslint --ext .ts,.tsx src --fix", + "test": "vitest --run", + "test:watch": "vitest --watch", + "test:e2e": "npx playwright test tests/e2e", + "test:e2e:interactive": "npx playwright test --ui", + "test:e2e:debug": "npx playwright test --debug", + "test:e2e:codegen": "npx playwright codegen", + "typecheck": "tsc --noEmit", + "typecheck:watch": "tsc --noEmit --watch", + "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build" + }, + "type": "module", + "dependencies": { + "@adguard/translate": "^1.0.2", + "@nivo/line": "^0.64.0", + "axios": "^0.19.2", + "classnames": "^2.5.1", + "clsx": "^2.1.1", + "countries-and-timezones": "^3.6.0", + "date-fns": "^1.29.0", + "i18next": "^19.6.2", + "i18next-browser-languagedetector": "^4.2.0", + "ipaddr.js": "^1.9.1", + "js-yaml": "^3.14.0", + "lodash": "^4.17.19", + "nanoid": "^3.1.9", + "popper.js": "^1.16.1", + "prop-types": "^15.8.1", + "qs": "^6.14.0", + "query-string": "^6.13.1", + "rc-dialog": "^10.0.0", + "rc-dropdown": "^4.2.1", + "react": "^16.13.1", + "react-click-outside": "^3.0.1", + "react-dom": "^16.13.1", + "react-hook-form": "^7.54.0", + "react-i18next": "^11.7.2", + "react-modal": "^3.11.2", + "react-popper-tooltip": "^2.11.1", + "react-redux": "^7.2.0", + "react-redux-loading-bar": "^4.6.0", + "react-router-dom": "^5.2.0", + "react-router-hash-link": "^1.2.2", + "react-select": "^5.3.2", + "react-table": "^6.11.4", + "react-transition-group": "^4.4.5", + "redux": "^4.0.5", + "redux-actions": "^2.6.5", + "redux-thunk": "^2.3.0", + "ts-migrate": "^0.1.35", + "url-polyfill": "^1.1.12" + }, + "devDependencies": { + "@babel/core": "^7.24.5", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.5", + "@babel/plugin-transform-optional-chaining": "^7.24.5", + "@babel/plugin-transform-runtime": "^7.24.3", + "@babel/preset-env": "^7.24.5", + "@babel/preset-react": "^7.24.1", + "@playwright/test": "1.50.1", + "@storybook/addon-docs": "^9.0.18", + "@storybook/addon-onboarding": "^9.0.18", + "@storybook/addon-webpack5-compiler-swc": "^3.0.0", + "@storybook/react-webpack5": "^9.0.18", + "@types/lodash": "^4.17.4", + "@types/node": "^22.13.10", + "@types/react": "^17.0.80", + "@types/react-dom": "^18.3.0", + "@types/react-redux": "^7.1.33", + "@types/react-router-dom": "^5.3.3", + "@types/react-table": "^7.7.20", + "@types/redux-actions": "^2.6.5", + "@typescript-eslint/eslint-plugin": "^7.11.0", + "@typescript-eslint/parser": "^7.10.0", + "autoprefixer": "^10.4.21", + "babel-loader": "^9.1.3", + "clean-webpack-plugin": "^4.0.0", + "copy-webpack-plugin": "^12.0.2", + "cross-env": "^7.0.3", + "css-loader": "^7.1.2", + "eslint": "^8.57.0", + "eslint-config-airbnb": "^19.0.4", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-jsx-a11y": "^6.8.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-react": "^7.34.1", + "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-storybook": "^9.0.18", + "file-loader": "^6.2.0", + "html-webpack-plugin": "^5.6.0", + "jscodeshift": "^0.15.2", + "mini-css-extract-plugin": "^2.9.0", + "path": "^0.12.7", + "postcss": "^8.5.6", + "postcss-custom-media": "^11.0.6", + "postcss-import": "^16.1.1", + "postcss-loader": "^8.1.1", + "postcss-nested": "^7.0.2", + "prettier": "^3.2.5", + "react-hot-loader": "^4.13.1", + "storybook": "^9.0.18", + "style-loader": "^4.0.0", + "stylelint": "^16.5.0", + "ts-loader": "^9.5.1", + "url-loader": "^4.1.1", + "user-agent-data-types": "^0.4.2", + "vitest": "^3.1.1", + "webpack": "^5.91.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.0.4", + "webpack-merge": "^5.10.0" + }, + "browserslist": { + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ], + "production": [ + ">1%", + "last 4 chrome version", + "last 4 firefox version", + "last 4 safari version", + "firefox esr", + "not ie < 9" + ] + } } diff --git a/client_v2/pnpm-lock.yaml b/client_v2/pnpm-lock.yaml index 4e7881ef..1e8e5459 100644 --- a/client_v2/pnpm-lock.yaml +++ b/client_v2/pnpm-lock.yaml @@ -150,6 +150,18 @@ importers: '@playwright/test': specifier: 1.50.1 version: 1.50.1 + '@storybook/addon-docs': + specifier: ^9.0.18 + version: 9.0.18(@types/react@17.0.87)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2)) + '@storybook/addon-onboarding': + specifier: ^9.0.18 + version: 9.0.18(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2)) + '@storybook/addon-webpack5-compiler-swc': + specifier: ^3.0.0 + version: 3.0.0(webpack@5.100.0) + '@storybook/react-webpack5': + specifier: ^9.0.18 + version: 9.0.18(@swc/core@1.13.1)(esbuild@0.25.6)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3)(webpack-cli@5.1.4) '@types/lodash': specifier: ^4.17.4 version: 4.17.20 @@ -219,6 +231,9 @@ importers: eslint-plugin-react-hooks: specifier: ^4.6.2 version: 4.6.2(eslint@8.57.1) + eslint-plugin-storybook: + specifier: ^9.0.18 + version: 9.0.18(eslint@8.57.1)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3) file-loader: specifier: ^6.2.0 version: 6.2.0(webpack@5.100.0) @@ -255,18 +270,15 @@ importers: react-hot-loader: specifier: ^4.13.1 version: 4.13.1(@types/react@17.0.87)(react-dom@16.14.0(react@16.14.0))(react@16.14.0) + storybook: + specifier: ^9.0.18 + version: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) style-loader: specifier: ^4.0.0 version: 4.0.0(webpack@5.100.0) stylelint: specifier: ^16.5.0 version: 16.21.1(typescript@5.8.3) - stylelint-config-standard: - specifier: ^38.0.0 - version: 38.0.0(stylelint@16.21.1(typescript@5.8.3)) - stylelint-order: - specifier: ^7.0.0 - version: 7.0.0(stylelint@16.21.1(typescript@5.8.3)) ts-loader: specifier: ^9.5.1 version: 9.5.2(typescript@5.8.3)(webpack@5.100.0) @@ -281,7 +293,7 @@ importers: version: 3.2.4(@types/node@22.16.2)(jiti@1.21.7)(sugarss@5.0.0(postcss@8.5.6))(terser@5.43.1) webpack: specifier: ^5.91.0 - version: 5.100.0(webpack-cli@5.1.4) + version: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) webpack-cli: specifier: ^5.1.4 version: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.100.0) @@ -297,6 +309,9 @@ packages: '@adguard/translate@1.0.2': resolution: {integrity: sha512-TeQV4ngse/fcpFDCrtU5VqjZfQsdytSuGT8wF4biIM6c6v6W/tkUdrTDhNItq126hAZe65V8QgipTAp8qHdeZw==} + '@adobe/css-tools@4.4.3': + resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -1271,6 +1286,12 @@ packages: '@leichtgewicht/ip-codec@2.0.5': resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + '@mdx-js/react@3.1.0': + resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + '@nivo/annotations@0.64.0': resolution: {integrity: sha512-b9VAVuAn2HztOZckU2GcBwptjCobYV5VgX/jwZTSFeZFLtjZza+QinNL2AbQ2cnmeU3nVCw1dTbJMMZ9fTCCNQ==} peerDependencies: @@ -1470,12 +1491,208 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} + '@storybook/addon-docs@9.0.18': + resolution: {integrity: sha512-1mLhaRDx8s1JAF51o56OmwMnIsg4BOQJ8cn+4wbMjh14pDFALrovlFl/BpAXnV1VaZqHjCB4ZWuP+y5CwXEpeQ==} + peerDependencies: + storybook: ^9.0.18 + + '@storybook/addon-onboarding@9.0.18': + resolution: {integrity: sha512-A079BfJ3g3wYOtAuq9cPf2l6JHo+6UzEw1A2AbSNBBNP4hKfXpHcLadIVwuyOxuKjDUWzY5f4dJa3hCMurHXGQ==} + peerDependencies: + storybook: ^9.0.18 + + '@storybook/addon-webpack5-compiler-swc@3.0.0': + resolution: {integrity: sha512-qkQwQEvHlxwPCHz/xakGfXJusEa1gKMw7enELh6QGopblfN3rMiV084boqiIqBReqWTasSwHOqvuElAu0NQ+8w==} + engines: {node: '>=18'} + + '@storybook/builder-webpack5@9.0.18': + resolution: {integrity: sha512-EXJKzfb9ZsRrViUYVmrAJZtr1PfEbXwxtgIgFclwC9rSodfYUjBJjFCJbcLW/5x6+uXiABo9PZk/wgWMLqFHrA==} + peerDependencies: + storybook: ^9.0.18 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@storybook/core-webpack@9.0.18': + resolution: {integrity: sha512-tVX4+Xvp66wSrddHRO4eS3XC4JysiIa/Zny4qKO5TJvyBrUI74i3OIiy1r+98X4DRwi+6gbwvpp4dGK0LMbYsw==} + peerDependencies: + storybook: ^9.0.18 + + '@storybook/csf-plugin@9.0.18': + resolution: {integrity: sha512-MQ3WwXnMua5sX0uYyuO7dC5WOWuJCLqf8CsOn3zQ2ptNoH6hD7DFx5ZOa1uD6VxIuJ3LkA+YqfSRBncomJoRnA==} + peerDependencies: + storybook: ^9.0.18 + + '@storybook/global@5.0.0': + resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} + + '@storybook/icons@1.4.0': + resolution: {integrity: sha512-Td73IeJxOyalzvjQL+JXx72jlIYHgs+REaHiREOqfpo3A2AYYG71AUbcv+lg7mEDIweKVCxsMQ0UKo634c8XeA==} + engines: {node: '>=14.0.0'} + 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/preset-react-webpack@9.0.18': + resolution: {integrity: sha512-fPp9LXNXcCdnuQcePVJmfKpPTxjNHcjkpn8Us76HaRDbwUqeV2REegI/CWYCW4k40eVAbcaKN5/aURpP+PDvTw==} + engines: {node: '>=20.0.0'} + 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: ^9.0.18 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0': + resolution: {integrity: sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==} + peerDependencies: + typescript: '>= 4.x' + webpack: '>= 4' + + '@storybook/react-dom-shim@9.0.18': + resolution: {integrity: sha512-qGR/d9x9qWRRxITaBVQkMnb73kwOm+N8fkbZRxc7U4lxupXRvkMIDh247nn71SYVBnvbh6//AL7P6ghiPWZYjA==} + 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: ^9.0.18 + + '@storybook/react-webpack5@9.0.18': + resolution: {integrity: sha512-i6vHum61lzw9D5gi1oV8/t+lN0rhC5OPYsERSQ6q9ZqQboSJLIC3S6k0JZlMJ10MDNQ57j+5CNKkWqhnwhCGBQ==} + engines: {node: '>=20.0.0'} + 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: ^9.0.18 + typescript: '>= 4.9.x' + peerDependenciesMeta: + typescript: + optional: true + + '@storybook/react@9.0.18': + resolution: {integrity: sha512-CCH6Vj/O6I07PrhCHxc1pvCWYMfZhRzK7CVHAtrBP9xxnYA7OoXhM2wymuDogml5HW1BKtyVMeQ3oWZXFNgDXQ==} + engines: {node: '>=20.0.0'} + 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: ^9.0.18 + typescript: '>= 4.9.x' + peerDependenciesMeta: + typescript: + optional: true + + '@swc/core-darwin-arm64@1.13.1': + resolution: {integrity: sha512-zO6SW/jSMTUORPm6dUZFPUwf+EFWZsaXWMGXadRG6akCofYpoQb8pcY2QZkVr43z8TMka6BtXpyoD/DJ0iOPHQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.13.1': + resolution: {integrity: sha512-8RjaTZYxrlYKE5PgzZYWSOT4mAsyhIuh30Nu4dnn/2r0Ef68iNCbvX4ynGnFMhOIhqunjQbJf+mJKpwTwdHXhw==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.13.1': + resolution: {integrity: sha512-jEqK6pECs2m4BpL2JA/4CCkq04p6iFOEtVNXTisO+lJ3zwmxlnIEm9UfJZG6VSu8GS9MHRKGB0ieZ1tEdN1qDA==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.13.1': + resolution: {integrity: sha512-PbkuIOYXO/gQbWQ7NnYIwm59ygNqmUcF8LBeoKvxhx1VtOwE+9KiTfoplOikkPLhMiTzKsd8qentTslbITIg+Q==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.13.1': + resolution: {integrity: sha512-JaqFdBCarIBKiMu5bbAp+kWPMNGg97ej+7KzbKOzWP5pRptqKi86kCDZT3WmjPe8hNG6dvBwbm7Y8JNry5LebQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-x64-gnu@1.13.1': + resolution: {integrity: sha512-t4cLkku10YECDaakWUH0452WJHIZtrLPRwezt6BdoMntVMwNjvXRX7C8bGuYcKC3YxRW7enZKFpozLhQIQ37oA==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.13.1': + resolution: {integrity: sha512-fSMwZOaG+3ukUucbEbzz9GhzGhUhXoCPqHe9qW0/Vc2IZRp538xalygKyZynYweH5d9EHux1aj3+IO8/xBaoiA==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-win32-arm64-msvc@1.13.1': + resolution: {integrity: sha512-tweCXK/79vAwj1NhAsYgICy8T1z2QEairmN2BFEBYFBFNMEB1iI1YlXwBkBtuihRvgZrTh1ORusKa4jLYzLCZA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.13.1': + resolution: {integrity: sha512-zi7hO9D+2R2yQN9D7T10/CAI9KhuXkNkz8tcJOW6+dVPtAk/gsIC5NoGPELjgrAlLL9CS38ZQpLDslLfpP15ng==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.13.1': + resolution: {integrity: sha512-KubYjzqs/nz3H69ncX/XHKsC8c1xqc7UvonQAj26BhbL22HBsqdAaVutZ+Obho6RMpd3F5qQ95ldavUTWskRrw==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.13.1': + resolution: {integrity: sha512-jEKKErLC6uwSqA+p6bmZR08usZM5Fpc+HdEu5CAzvye0q43yf1si1kjhHEa9XMkz0A2SAaal3eKCg/YYmtOsCA==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '>=0.5.17' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/types@0.1.23': + resolution: {integrity: sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==} + + '@testing-library/dom@10.4.0': + resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + engines: {node: '>=18'} + + '@testing-library/jest-dom@6.6.3': + resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + + '@testing-library/user-event@14.6.1': + resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + '@ts-morph/bootstrap@0.16.0': resolution: {integrity: sha512-FYW3bK5EBeAgpHu0qZ57gHbLjzgzC81y5EJmrebzIhXSYg6OgZu5lFHpF5NJ7CwM7ZMhxX1PG+DRA8e+skopKw==} '@ts-morph/common@0.16.0': resolution: {integrity: sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw==} + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.7': + resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==} + '@types/body-parser@1.19.6': resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} @@ -1494,6 +1711,9 @@ packages: '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + '@types/doctrine@0.0.9': + resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} + '@types/eslint-scope@3.7.7': resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} @@ -1536,6 +1756,9 @@ packages: '@types/lodash@4.17.20': resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} + '@types/mdx@2.0.13': + resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} @@ -1592,12 +1815,18 @@ packages: '@types/redux-actions@2.6.5': resolution: {integrity: sha512-RgXOigay5cNweP+xH1ru+Vaaj1xXYLpWIfSVO8cSA8Ii2xvR+HRfWYdLe1UVOA8X0kIklalGOa0DTDyld0obkg==} + '@types/resolve@1.20.6': + resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} + '@types/retry@0.12.2': resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} '@types/scheduler@0.16.8': resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + '@types/semver@7.7.0': + resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} + '@types/send@0.17.5': resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} @@ -1634,10 +1863,26 @@ packages: typescript: optional: true + '@typescript-eslint/project-service@8.38.0': + resolution: {integrity: sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/scope-manager@7.18.0': resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.38.0': + resolution: {integrity: sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.38.0': + resolution: {integrity: sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@7.18.0': resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1652,6 +1897,10 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@8.38.0': + resolution: {integrity: sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@7.18.0': resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1661,16 +1910,33 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.38.0': + resolution: {integrity: sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@7.18.0': resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 + '@typescript-eslint/utils@8.38.0': + resolution: {integrity: sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/visitor-keys@7.18.0': resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.38.0': + resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -1857,6 +2123,10 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -1867,6 +2137,9 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.2: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} @@ -2043,6 +2316,10 @@ packages: batch@0.6.1: resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + better-opn@3.0.2: + resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} + engines: {node: '>=12.0.0'} + big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -2130,6 +2407,10 @@ packages: caniuse-lite@1.0.30001727: resolution: {integrity: sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q==} + case-sensitive-paths-webpack-plugin@2.4.0: + resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} + engines: {node: '>=4'} + chai@5.2.1: resolution: {integrity: sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==} engines: {node: '>=18'} @@ -2138,6 +2419,10 @@ packages: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -2157,6 +2442,9 @@ packages: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + class-utils@0.3.6: resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} engines: {node: '>=0.10.0'} @@ -2329,6 +2617,18 @@ packages: resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==} engines: {node: '>=12 || >=16'} + css-loader@6.11.0: + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + css-loader@7.1.2: resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==} engines: {node: '>= 18.12.0'} @@ -2352,6 +2652,9 @@ packages: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -2467,6 +2770,9 @@ packages: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} + dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -2478,6 +2784,10 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + default-browser-id@5.0.0: resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} engines: {node: '>=18'} @@ -2490,6 +2800,10 @@ packages: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} @@ -2525,6 +2839,10 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -2548,6 +2866,12 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + dom-converter@0.2.0: resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} @@ -2607,6 +2931,9 @@ packages: encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + endent@2.1.0: + resolution: {integrity: sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==} + enhanced-resolve@5.18.2: resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==} engines: {node: '>=10.13.0'} @@ -2665,6 +2992,11 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} + esbuild-register@3.6.0: + resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} + peerDependencies: + esbuild: '>=0.12 <1' + esbuild@0.25.6: resolution: {integrity: sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==} engines: {node: '>=18'} @@ -2774,6 +3106,13 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + eslint-plugin-storybook@9.0.18: + resolution: {integrity: sha512-f2FnWjTQkM9kYtbpChVuEo8F04QATBiuxYUdSBR58lWb3NprPKBfmRZC1dTA5NVeLY6geXduDLIPXefwXFz6Ag==} + engines: {node: '>=20.0.0'} + peerDependencies: + eslint: '>=8' + storybook: ^9.0.18 + eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -2798,6 +3137,10 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@7.32.0: resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2894,6 +3237,9 @@ packages: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} + fast-json-parse@1.0.3: + resolution: {integrity: sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==} + fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -2962,6 +3308,10 @@ packages: resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} engines: {node: '>=6'} + find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + find-cache-dir@4.0.0: resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} engines: {node: '>=14.16'} @@ -2985,6 +3335,10 @@ packages: resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -3024,6 +3378,13 @@ packages: resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} engines: {node: '>=0.10.0'} + fork-ts-checker-webpack-plugin@8.0.0: + resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} + engines: {node: '>=12.13.0', yarn: '>=1.0.0'} + peerDependencies: + typescript: '>3.6.0' + webpack: ^5.11.0 + forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -3039,6 +3400,13 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-monkey@1.1.0: + resolution: {integrity: sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -3220,6 +3588,9 @@ packages: hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + html-minifier-terser@6.1.0: resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} engines: {node: '>=12'} @@ -3326,6 +3697,10 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -3423,6 +3798,11 @@ packages: resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} engines: {node: '>= 0.4'} + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3561,6 +3941,10 @@ packages: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + is-wsl@3.1.0: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} @@ -3677,6 +4061,9 @@ packages: engines: {node: '>=6'} hasBin: true + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -3782,6 +4169,10 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} @@ -3789,6 +4180,10 @@ packages: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + map-cache@0.2.2: resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} engines: {node: '>=0.10.0'} @@ -3811,6 +4206,10 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + memfs@4.17.2: resolution: {integrity: sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg==} engines: {node: '>= 4.0.0'} @@ -3868,6 +4267,10 @@ packages: min-document@2.19.0: resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + mini-css-extract-plugin@2.9.2: resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==} engines: {node: '>= 12.13.0'} @@ -3940,6 +4343,9 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} engines: {node: '>= 0.10.5'} @@ -4013,6 +4419,9 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} + objectorarray@1.0.5: + resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==} + obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} @@ -4035,6 +4444,10 @@ packages: resolution: {integrity: sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==} engines: {node: '>=18'} + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -4301,11 +4714,6 @@ packages: resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} engines: {node: '>=4'} - postcss-sorting@9.1.0: - resolution: {integrity: sha512-Mn8KJ45HNNG6JBpBizXcyf6LqY/qyqetGcou/nprDnFwBFBLGj0j/sNKV2lj2KMOVOwdXu14aEzqJv8CIV6e8g==} - peerDependencies: - postcss: ^8.4.20 - postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -4329,6 +4737,10 @@ packages: pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + pretty-ms@7.0.1: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} engines: {node: '>=10'} @@ -4424,6 +4836,15 @@ packages: react-click-outside@3.0.1: resolution: {integrity: sha512-d0KWFvBt+esoZUF15rL2UBB7jkeAqLU8L/Ny35oLK6fW6mIbOv/ChD+ExF4sR9PD26kVx+9hNfD0FTIqRZEyRQ==} + react-docgen-typescript@2.4.0: + resolution: {integrity: sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg==} + peerDependencies: + typescript: '>= 4.3.x' + + react-docgen@7.1.1: + resolution: {integrity: sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==} + engines: {node: '>=16.14.0'} + react-dom@16.14.0: resolution: {integrity: sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==} peerDependencies: @@ -4593,6 +5014,10 @@ packages: peerDependencies: react: ^0.14.0 || ^15.0.0 || ^16.0.0 + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + reduce-reducers@0.4.3: resolution: {integrity: sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw==} @@ -4981,6 +5406,15 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} + storybook@9.0.18: + resolution: {integrity: sha512-ruxpEpizwoYQTt1hBOrWyp9trPYWD9Apt1TJ37rs1rzmNQWpSNGJDMg91JV4mUhBChzRvnid/oRBFFCWJz/dfw==} + hasBin: true + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + strict-uri-encode@2.0.0: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} @@ -5034,6 +5468,14 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-indent@4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -5041,30 +5483,18 @@ packages: strip-literal@3.0.0: resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + style-loader@3.3.4: + resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + style-loader@4.0.0: resolution: {integrity: sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==} engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.27.0 - stylelint-config-recommended@16.0.0: - resolution: {integrity: sha512-4RSmPjQegF34wNcK1e1O3Uz91HN8P1aFdFzio90wNK9mjgAI19u5vsU868cVZboKzCaa5XbpvtTzAAGQAxpcXA==} - engines: {node: '>=18.12.0'} - peerDependencies: - stylelint: ^16.16.0 - - stylelint-config-standard@38.0.0: - resolution: {integrity: sha512-uj3JIX+dpFseqd/DJx8Gy3PcRAJhlEZ2IrlFOc4LUxBX/PNMEQ198x7LCOE2Q5oT9Vw8nyc4CIL78xSqPr6iag==} - engines: {node: '>=18.12.0'} - peerDependencies: - stylelint: ^16.18.0 - - stylelint-order@7.0.0: - resolution: {integrity: sha512-rSWxx0KscYfxU02wEskKXES9lkRzuuONMMNkZ7SUc6uiF3tDKm7e+sE0Ax/SBlG4TUf1sp1R6f3/SlsPGmzthg==} - engines: {node: '>=20.19.0'} - peerDependencies: - stylelint: ^16.18.0 - stylelint@16.21.1: resolution: {integrity: sha512-WCXdXnYK2tpCbebgMF0Bme3YZH/Rh/UXerj75twYo4uLULlcrLwFVdZTvTEF8idFnAcW21YUDJFyKOfaf6xJRw==} engines: {node: '>=18.12.0'} @@ -5106,6 +5536,12 @@ packages: svg-tags@1.0.0: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + swc-loader@0.2.6: + resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==} + peerDependencies: + '@swc/core': ^1.2.147 + webpack: '>=2' + symbol-observable@1.2.0: resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} engines: {node: '>=0.10.0'} @@ -5231,6 +5667,16 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + ts-loader@9.5.2: resolution: {integrity: sha512-Qo4piXvOTWcMGIgRiuFa6nHNm+54HbYaZCKqc9eeZCLRy3XqafQgwX2F7mofrbJG3g7EEb+lkiR+z2Lic2s3Zw==} engines: {node: '>=12.0.0'} @@ -5257,6 +5703,10 @@ packages: tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -5323,6 +5773,10 @@ packages: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} @@ -5331,10 +5785,18 @@ packages: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} engines: {node: '>=0.10.0'} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + unplugin@1.16.1: + resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} + engines: {node: '>=14.0.0'} + unset-value@1.0.0: resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} engines: {node: '>=0.10.0'} @@ -5515,6 +5977,15 @@ packages: webpack-dev-server: optional: true + webpack-dev-middleware@6.1.3: + resolution: {integrity: sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==} + engines: {node: '>= 14.15.0'} + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + webpack-dev-middleware@7.4.2: resolution: {integrity: sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==} engines: {node: '>= 18.12.0'} @@ -5537,6 +6008,9 @@ packages: webpack-cli: optional: true + webpack-hot-middleware@2.26.1: + resolution: {integrity: sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==} + webpack-merge@5.10.0: resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} engines: {node: '>=10.0.0'} @@ -5545,6 +6019,9 @@ packages: resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} engines: {node: '>=10.13.0'} + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + webpack@5.100.0: resolution: {integrity: sha512-H8yBSBTk+BqxrINJnnRzaxU94SVP2bjd7WmA+PfCphoIdDpeQMJ77pq9/4I7xjLq38cB1bNKfzYPZu8pB3zKtg==} engines: {node: '>=10.13.0'} @@ -5666,6 +6143,8 @@ snapshots: '@adguard/translate@1.0.2': {} + '@adobe/css-tools@4.4.3': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.12 @@ -6785,6 +7264,12 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} + '@mdx-js/react@3.1.0(@types/react@17.0.87)(react@16.14.0)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 17.0.87 + react: 16.14.0 + '@nivo/annotations@0.64.0(@nivo/core@0.64.0)(prop-types@15.8.1)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)': dependencies: '@nivo/colors': 0.64.0(prop-types@15.8.1)(react@16.14.0) @@ -6997,6 +7482,224 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} + '@storybook/addon-docs@9.0.18(@types/react@17.0.87)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))': + dependencies: + '@mdx-js/react': 3.1.0(@types/react@17.0.87)(react@16.14.0) + '@storybook/csf-plugin': 9.0.18(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2)) + '@storybook/icons': 1.4.0(react-dom@16.14.0(react@16.14.0))(react@16.14.0) + '@storybook/react-dom-shim': 9.0.18(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2)) + react: 16.14.0 + react-dom: 16.14.0(react@16.14.0) + storybook: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@types/react' + + '@storybook/addon-onboarding@9.0.18(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))': + dependencies: + storybook: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) + + '@storybook/addon-webpack5-compiler-swc@3.0.0(webpack@5.100.0)': + dependencies: + '@swc/core': 1.13.1 + swc-loader: 0.2.6(@swc/core@1.13.1)(webpack@5.100.0) + transitivePeerDependencies: + - '@swc/helpers' + - webpack + + '@storybook/builder-webpack5@9.0.18(@swc/core@1.13.1)(esbuild@0.25.6)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3)(webpack-cli@5.1.4)': + dependencies: + '@storybook/core-webpack': 9.0.18(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2)) + case-sensitive-paths-webpack-plugin: 2.4.0 + cjs-module-lexer: 1.4.3 + css-loader: 6.11.0(webpack@5.100.0) + es-module-lexer: 1.7.0 + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.8.3)(webpack@5.100.0) + html-webpack-plugin: 5.6.3(webpack@5.100.0) + magic-string: 0.30.17 + storybook: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) + style-loader: 3.3.4(webpack@5.100.0) + terser-webpack-plugin: 5.3.14(@swc/core@1.13.1)(esbuild@0.25.6)(webpack@5.100.0) + ts-dedent: 2.2.0 + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) + webpack-dev-middleware: 6.1.3(webpack@5.100.0) + webpack-hot-middleware: 2.26.1 + webpack-virtual-modules: 0.6.2 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@rspack/core' + - '@swc/core' + - esbuild + - uglify-js + - webpack-cli + + '@storybook/core-webpack@9.0.18(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))': + dependencies: + storybook: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) + ts-dedent: 2.2.0 + + '@storybook/csf-plugin@9.0.18(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))': + dependencies: + storybook: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) + unplugin: 1.16.1 + + '@storybook/global@5.0.0': {} + + '@storybook/icons@1.4.0(react-dom@16.14.0(react@16.14.0))(react@16.14.0)': + dependencies: + react: 16.14.0 + react-dom: 16.14.0(react@16.14.0) + + '@storybook/preset-react-webpack@9.0.18(@swc/core@1.13.1)(esbuild@0.25.6)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3)(webpack-cli@5.1.4)': + dependencies: + '@storybook/core-webpack': 9.0.18(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2)) + '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.100.0) + '@types/semver': 7.7.0 + find-up: 7.0.0 + magic-string: 0.30.17 + react: 16.14.0 + react-docgen: 7.1.1 + react-dom: 16.14.0(react@16.14.0) + resolve: 1.22.10 + semver: 7.7.2 + storybook: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) + tsconfig-paths: 4.2.0 + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.100.0)': + dependencies: + debug: 4.4.1 + endent: 2.1.0 + find-cache-dir: 3.3.2 + flat-cache: 3.2.0 + micromatch: 4.0.8 + react-docgen-typescript: 2.4.0(typescript@5.8.3) + tslib: 2.8.1 + typescript: 5.8.3 + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) + transitivePeerDependencies: + - supports-color + + '@storybook/react-dom-shim@9.0.18(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))': + dependencies: + react: 16.14.0 + react-dom: 16.14.0(react@16.14.0) + storybook: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) + + '@storybook/react-webpack5@9.0.18(@swc/core@1.13.1)(esbuild@0.25.6)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3)(webpack-cli@5.1.4)': + dependencies: + '@storybook/builder-webpack5': 9.0.18(@swc/core@1.13.1)(esbuild@0.25.6)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3)(webpack-cli@5.1.4) + '@storybook/preset-react-webpack': 9.0.18(@swc/core@1.13.1)(esbuild@0.25.6)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3)(webpack-cli@5.1.4) + '@storybook/react': 9.0.18(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3) + react: 16.14.0 + react-dom: 16.14.0(react@16.14.0) + storybook: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - '@rspack/core' + - '@swc/core' + - esbuild + - supports-color + - uglify-js + - webpack-cli + + '@storybook/react@9.0.18(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3)': + dependencies: + '@storybook/global': 5.0.0 + '@storybook/react-dom-shim': 9.0.18(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2)) + react: 16.14.0 + react-dom: 16.14.0(react@16.14.0) + storybook: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) + optionalDependencies: + typescript: 5.8.3 + + '@swc/core-darwin-arm64@1.13.1': + optional: true + + '@swc/core-darwin-x64@1.13.1': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.13.1': + optional: true + + '@swc/core-linux-arm64-gnu@1.13.1': + optional: true + + '@swc/core-linux-arm64-musl@1.13.1': + optional: true + + '@swc/core-linux-x64-gnu@1.13.1': + optional: true + + '@swc/core-linux-x64-musl@1.13.1': + optional: true + + '@swc/core-win32-arm64-msvc@1.13.1': + optional: true + + '@swc/core-win32-ia32-msvc@1.13.1': + optional: true + + '@swc/core-win32-x64-msvc@1.13.1': + optional: true + + '@swc/core@1.13.1': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.23 + optionalDependencies: + '@swc/core-darwin-arm64': 1.13.1 + '@swc/core-darwin-x64': 1.13.1 + '@swc/core-linux-arm-gnueabihf': 1.13.1 + '@swc/core-linux-arm64-gnu': 1.13.1 + '@swc/core-linux-arm64-musl': 1.13.1 + '@swc/core-linux-x64-gnu': 1.13.1 + '@swc/core-linux-x64-musl': 1.13.1 + '@swc/core-win32-arm64-msvc': 1.13.1 + '@swc/core-win32-ia32-msvc': 1.13.1 + '@swc/core-win32-x64-msvc': 1.13.1 + + '@swc/counter@0.1.3': {} + + '@swc/types@0.1.23': + dependencies: + '@swc/counter': 0.1.3 + + '@testing-library/dom@10.4.0': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/runtime': 7.27.6 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + + '@testing-library/jest-dom@6.6.3': + dependencies: + '@adobe/css-tools': 4.4.3 + aria-query: 5.3.2 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash: 4.17.21 + redent: 3.0.0 + + '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': + dependencies: + '@testing-library/dom': 10.4.0 + '@ts-morph/bootstrap@0.16.0': dependencies: '@ts-morph/common': 0.16.0 @@ -7008,6 +7711,29 @@ snapshots: mkdirp: 1.0.4 path-browserify: 1.0.1 + '@types/aria-query@5.0.4': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.28.0 + '@babel/types': 7.28.0 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.7 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.28.0 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.28.0 + '@babel/types': 7.28.0 + + '@types/babel__traverse@7.20.7': + dependencies: + '@babel/types': 7.28.0 + '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 @@ -7032,6 +7758,8 @@ snapshots: '@types/deep-eql@4.0.2': {} + '@types/doctrine@0.0.9': {} + '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 @@ -7084,6 +7812,8 @@ snapshots: '@types/lodash@4.17.20': {} + '@types/mdx@2.0.13': {} + '@types/mime@1.3.5': {} '@types/minimatch@6.0.0': @@ -7148,10 +7878,14 @@ snapshots: '@types/redux-actions@2.6.5': {} + '@types/resolve@1.20.6': {} + '@types/retry@0.12.2': {} '@types/scheduler@0.16.8': {} + '@types/semver@7.7.0': {} + '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 @@ -7206,11 +7940,29 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.38.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3) + '@typescript-eslint/types': 8.38.0 + debug: 4.4.1 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 + '@typescript-eslint/scope-manager@8.38.0': + dependencies: + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/visitor-keys': 8.38.0 + + '@typescript-eslint/tsconfig-utils@8.38.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) @@ -7225,6 +7977,8 @@ snapshots: '@typescript-eslint/types@7.18.0': {} + '@typescript-eslint/types@8.38.0': {} + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 7.18.0 @@ -7240,6 +7994,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.38.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/project-service': 8.38.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3) + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/visitor-keys': 8.38.0 + debug: 4.4.1 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) @@ -7251,11 +8021,27 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@8.38.0(eslint@8.57.1)(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.38.0 + '@typescript-eslint/types': 8.38.0 + '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) + eslint: 8.57.1 + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@7.18.0': dependencies: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.38.0': + dependencies: + '@typescript-eslint/types': 8.38.0 + eslint-visitor-keys: 4.2.1 + '@ungap/structured-clone@1.3.0': {} '@vitest/expect@3.2.4': @@ -7378,17 +8164,17 @@ snapshots: '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.100.0)': dependencies: - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.100.0) '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.100.0)': dependencies: - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.100.0) '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.2.2)(webpack@5.100.0)': dependencies: - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.100.0) optionalDependencies: webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.100.0) @@ -7463,6 +8249,8 @@ snapshots: dependencies: color-convert: 2.0.1 + ansi-styles@5.2.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -7474,6 +8262,10 @@ snapshots: argparse@2.0.1: {} + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + aria-query@5.3.2: {} arr-diff@4.0.0: {} @@ -7618,7 +8410,7 @@ snapshots: '@babel/core': 7.28.0 find-cache-dir: 4.0.0 schema-utils: 4.3.2 - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) babel-plugin-macros@3.1.0: dependencies: @@ -7668,6 +8460,10 @@ snapshots: batch@0.6.1: {} + better-opn@3.0.2: + dependencies: + open: 8.4.2 + big.js@5.2.2: {} binary-extensions@2.3.0: {} @@ -7791,6 +8587,8 @@ snapshots: caniuse-lite@1.0.30001727: {} + case-sensitive-paths-webpack-plugin@2.4.0: {} + chai@5.2.1: dependencies: assertion-error: 2.0.1 @@ -7805,6 +8603,11 @@ snapshots: escape-string-regexp: 1.0.5 supports-color: 5.5.0 + chalk@3.0.0: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -7828,6 +8631,8 @@ snapshots: chrome-trace-event@1.0.4: {} + cjs-module-lexer@1.4.3: {} + class-utils@0.3.6: dependencies: arr-union: 3.1.0 @@ -7844,7 +8649,7 @@ snapshots: clean-webpack-plugin@4.0.0(webpack@5.100.0): dependencies: del: 4.1.1 - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) cli-cursor@2.1.0: dependencies: @@ -7945,7 +8750,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.3.2 serialize-javascript: 6.0.2 - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) core-js-compat@3.44.0: dependencies: @@ -7992,6 +8797,19 @@ snapshots: css-functions-list@3.2.3: {} + css-loader@6.11.0(webpack@5.100.0): + dependencies: + icss-utils: 5.1.0(postcss@8.5.6) + postcss: 8.5.6 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) + postcss-modules-scope: 3.2.1(postcss@8.5.6) + postcss-modules-values: 4.0.0(postcss@8.5.6) + postcss-value-parser: 4.2.0 + semver: 7.7.2 + optionalDependencies: + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) + css-loader@7.1.2(webpack@5.100.0): dependencies: icss-utils: 5.1.0(postcss@8.5.6) @@ -8003,7 +8821,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.2 optionalDependencies: - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) css-select@4.3.0: dependencies: @@ -8020,6 +8838,8 @@ snapshots: css-what@6.2.2: {} + css.escape@1.5.1: {} + cssesc@3.0.0: {} csstype@3.1.3: {} @@ -8123,6 +8943,8 @@ snapshots: decode-uri-component@0.2.2: {} + dedent@0.7.0: {} + deep-eql@5.0.2: {} deep-equal@1.1.2: @@ -8136,6 +8958,8 @@ snapshots: deep-is@0.1.4: {} + deepmerge@4.3.1: {} + default-browser-id@5.0.0: {} default-browser@5.2.1: @@ -8149,6 +8973,8 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + define-lazy-prop@2.0.0: {} + define-lazy-prop@3.0.0: {} define-properties@1.2.1: @@ -8186,6 +9012,8 @@ snapshots: depd@2.0.0: {} + dequal@2.0.3: {} + destroy@1.2.0: {} detect-node@2.1.0: {} @@ -8206,6 +9034,10 @@ snapshots: dependencies: esutils: 2.0.3 + dom-accessibility-api@0.5.16: {} + + dom-accessibility-api@0.6.3: {} + dom-converter@0.2.0: dependencies: utila: 0.4.0 @@ -8266,6 +9098,12 @@ snapshots: dependencies: iconv-lite: 0.6.3 + endent@2.1.0: + dependencies: + dedent: 0.7.0 + fast-json-parse: 1.0.3 + objectorarray: 1.0.5 + enhanced-resolve@5.18.2: dependencies: graceful-fs: 4.2.11 @@ -8389,6 +9227,13 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 + esbuild-register@3.6.0(esbuild@0.25.6): + dependencies: + debug: 4.4.1 + esbuild: 0.25.6 + transitivePeerDependencies: + - supports-color + esbuild@0.25.6: optionalDependencies: '@esbuild/aix-ppc64': 0.25.6 @@ -8552,6 +9397,15 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 + eslint-plugin-storybook@9.0.18(eslint@8.57.1)(storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.8.3): + dependencies: + '@typescript-eslint/utils': 8.38.0(eslint@8.57.1)(typescript@5.8.3) + eslint: 8.57.1 + storybook: 9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2) + transitivePeerDependencies: + - supports-color + - typescript + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 @@ -8572,6 +9426,8 @@ snapshots: eslint-visitor-keys@3.4.3: {} + eslint-visitor-keys@4.2.1: {} + eslint@7.32.0: dependencies: '@babel/code-frame': 7.12.11 @@ -8784,6 +9640,8 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 + fast-json-parse@1.0.3: {} + fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -8830,7 +9688,7 @@ snapshots: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) fill-range@4.0.0: dependencies: @@ -8863,6 +9721,12 @@ snapshots: make-dir: 2.1.0 pkg-dir: 3.0.0 + find-cache-dir@3.3.2: + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + find-cache-dir@4.0.0: dependencies: common-path-prefix: 3.0.0 @@ -8889,6 +9753,12 @@ snapshots: locate-path: 7.2.0 path-exists: 5.0.0 + find-up@7.0.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + flat-cache@3.2.0: dependencies: flatted: 3.3.3 @@ -8921,6 +9791,23 @@ snapshots: for-in@1.0.2: {} + fork-ts-checker-webpack-plugin@8.0.0(typescript@5.8.3)(webpack@5.100.0): + dependencies: + '@babel/code-frame': 7.27.1 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + fs-extra: 10.1.0 + memfs: 3.5.3 + minimatch: 3.1.2 + node-abort-controller: 3.1.1 + schema-utils: 3.3.0 + semver: 7.7.2 + tapable: 2.2.2 + typescript: 5.8.3 + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) + forwarded@0.2.0: {} fraction.js@4.3.7: {} @@ -8931,6 +9818,14 @@ snapshots: fresh@0.5.2: {} + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-monkey@1.1.0: {} + fs.realpath@1.0.0: {} fsevents@2.3.2: @@ -9134,6 +10029,8 @@ snapshots: readable-stream: 2.3.8 wbuf: 1.7.3 + html-entities@2.6.0: {} + html-minifier-terser@6.1.0: dependencies: camel-case: 4.1.2 @@ -9158,7 +10055,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.2 optionalDependencies: - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) htmlparser2@6.1.0: dependencies: @@ -9248,6 +10145,8 @@ snapshots: imurmurhash@0.1.4: {} + indent-string@4.0.0: {} + inflight@1.0.6: dependencies: once: 1.4.0 @@ -9348,6 +10247,8 @@ snapshots: is-accessor-descriptor: 1.0.1 is-data-descriptor: 1.0.1 + is-docker@2.2.1: {} + is-docker@3.0.0: {} is-extendable@0.1.1: {} @@ -9461,6 +10362,10 @@ snapshots: is-windows@1.0.2: {} + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 @@ -9622,6 +10527,12 @@ snapshots: json5@2.2.3: {} + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.9 @@ -9726,6 +10637,8 @@ snapshots: dependencies: yallist: 3.1.1 + lz-string@1.5.0: {} + magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.4 @@ -9735,6 +10648,10 @@ snapshots: pify: 4.0.1 semver: 5.7.2 + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + map-cache@0.2.2: {} map-visit@1.0.0: @@ -9749,6 +10666,10 @@ snapshots: media-typer@0.3.0: {} + memfs@3.5.3: + dependencies: + fs-monkey: 1.1.0 + memfs@4.17.2: dependencies: '@jsonjoy.com/json-pack': 1.2.0(tslib@2.8.1) @@ -9807,11 +10728,13 @@ snapshots: dependencies: dom-walk: 0.1.2 + min-indent@1.0.1: {} + mini-css-extract-plugin@2.9.2(webpack@5.100.0): dependencies: schema-utils: 4.3.2 tapable: 2.2.2 - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) minimalistic-assert@1.0.1: {} @@ -9880,6 +10803,8 @@ snapshots: lower-case: 2.0.2 tslib: 2.8.1 + node-abort-controller@3.1.1: {} + node-dir@0.1.17: dependencies: minimatch: 3.1.2 @@ -9962,6 +10887,8 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 + objectorarray@1.0.5: {} + obuf@1.1.2: {} on-finished@2.4.1: @@ -9985,6 +10912,12 @@ snapshots: is-inside-container: 1.0.0 is-wsl: 3.1.0 + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -10170,7 +11103,7 @@ snapshots: postcss: 8.5.6 semver: 7.7.2 optionalDependencies: - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) transitivePeerDependencies: - typescript @@ -10211,10 +11144,6 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sorting@9.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser@4.2.0: {} postcss@8.5.6: @@ -10236,6 +11165,12 @@ snapshots: lodash: 4.17.21 renderkid: 3.0.0 + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + pretty-ms@7.0.1: dependencies: parse-ms: 2.1.0 @@ -10346,6 +11281,25 @@ snapshots: dependencies: hoist-non-react-statics: 2.5.5 + react-docgen-typescript@2.4.0(typescript@5.8.3): + dependencies: + typescript: 5.8.3 + + react-docgen@7.1.1: + dependencies: + '@babel/core': 7.28.0 + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.0 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.7 + '@types/doctrine': 0.0.9 + '@types/resolve': 1.20.6 + doctrine: 3.0.0 + resolve: 1.22.10 + strip-indent: 4.0.0 + transitivePeerDependencies: + - supports-color + react-dom@16.14.0(react@16.14.0): dependencies: loose-envify: 1.4.0 @@ -10583,6 +11537,11 @@ snapshots: react-lifecycles-compat: 3.0.4 symbol-observable: 1.2.0 + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + reduce-reducers@0.4.3: {} redux-actions@2.6.5: @@ -11049,6 +12008,27 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 + storybook@9.0.18(@testing-library/dom@10.4.0)(prettier@3.6.2): + dependencies: + '@storybook/global': 5.0.0 + '@testing-library/jest-dom': 6.6.3 + '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) + '@vitest/expect': 3.2.4 + '@vitest/spy': 3.2.4 + better-opn: 3.0.2 + esbuild: 0.25.6 + esbuild-register: 3.6.0(esbuild@0.25.6) + recast: 0.23.11 + semver: 7.7.2 + ws: 8.18.3 + optionalDependencies: + prettier: 3.6.2 + transitivePeerDependencies: + - '@testing-library/dom' + - bufferutil + - supports-color + - utf-8-validate + strict-uri-encode@2.0.0: {} string-width@3.1.0: @@ -11131,30 +12111,27 @@ snapshots: strip-bom@3.0.0: {} + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-indent@4.0.0: + dependencies: + min-indent: 1.0.1 + strip-json-comments@3.1.1: {} strip-literal@3.0.0: dependencies: js-tokens: 9.0.1 + style-loader@3.3.4(webpack@5.100.0): + dependencies: + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) + style-loader@4.0.0(webpack@5.100.0): dependencies: - webpack: 5.100.0(webpack-cli@5.1.4) - - stylelint-config-recommended@16.0.0(stylelint@16.21.1(typescript@5.8.3)): - dependencies: - stylelint: 16.21.1(typescript@5.8.3) - - stylelint-config-standard@38.0.0(stylelint@16.21.1(typescript@5.8.3)): - dependencies: - stylelint: 16.21.1(typescript@5.8.3) - stylelint-config-recommended: 16.0.0(stylelint@16.21.1(typescript@5.8.3)) - - stylelint-order@7.0.0(stylelint@16.21.1(typescript@5.8.3)): - dependencies: - postcss: 8.5.6 - postcss-sorting: 9.1.0(postcss@8.5.6) - stylelint: 16.21.1(typescript@5.8.3) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) stylelint@16.21.1(typescript@5.8.3): dependencies: @@ -11232,6 +12209,12 @@ snapshots: svg-tags@1.0.0: {} + swc-loader@0.2.6(@swc/core@1.13.1)(webpack@5.100.0): + dependencies: + '@swc/core': 1.13.1 + '@swc/counter': 0.1.3 + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) + symbol-observable@1.2.0: {} synckit@0.11.8: @@ -11252,14 +12235,17 @@ snapshots: dependencies: rimraf: 2.6.3 - terser-webpack-plugin@5.3.14(webpack@5.100.0): + terser-webpack-plugin@5.3.14(@swc/core@1.13.1)(esbuild@0.25.6)(webpack@5.100.0): dependencies: '@jridgewell/trace-mapping': 0.3.29 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.43.1 - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) + optionalDependencies: + '@swc/core': 1.13.1 + esbuild: 0.25.6 terser@5.43.1: dependencies: @@ -11337,6 +12323,12 @@ snapshots: dependencies: typescript: 5.8.3 + ts-api-utils@2.1.0(typescript@5.8.3): + dependencies: + typescript: 5.8.3 + + ts-dedent@2.2.0: {} + ts-loader@9.5.2(typescript@5.8.3)(webpack@5.100.0): dependencies: chalk: 4.1.2 @@ -11345,7 +12337,7 @@ snapshots: semver: 7.7.2 source-map: 0.7.4 typescript: 5.8.3 - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) ts-migrate-plugins@0.1.35(@babel/preset-env@7.28.0(@babel/core@7.28.0))(typescript@5.8.3): dependencies: @@ -11386,6 +12378,12 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + tslib@2.8.1: {} type-check@0.4.0: @@ -11458,6 +12456,8 @@ snapshots: unicode-property-aliases-ecmascript@2.1.0: {} + unicorn-magic@0.1.0: {} + unicorn-magic@0.3.0: {} union-value@1.0.1: @@ -11467,8 +12467,15 @@ snapshots: is-extendable: 0.1.1 set-value: 2.0.1 + universalify@2.0.1: {} + unpipe@1.0.0: {} + unplugin@1.16.1: + dependencies: + acorn: 8.15.0 + webpack-virtual-modules: 0.6.2 + unset-value@1.0.0: dependencies: has-value: 0.3.1 @@ -11497,7 +12504,7 @@ snapshots: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) optionalDependencies: file-loader: 6.2.0(webpack@5.100.0) @@ -11637,11 +12644,21 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) webpack-merge: 5.10.0 optionalDependencies: webpack-dev-server: 5.2.2(webpack-cli@5.1.4)(webpack@5.100.0) + webpack-dev-middleware@6.1.3(webpack@5.100.0): + dependencies: + colorette: 2.0.20 + memfs: 3.5.3 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.3.2 + optionalDependencies: + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) + webpack-dev-middleware@7.4.2(webpack@5.100.0): dependencies: colorette: 2.0.20 @@ -11651,7 +12668,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.2 optionalDependencies: - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) webpack-dev-server@5.2.2(webpack-cli@5.1.4)(webpack@5.100.0): dependencies: @@ -11684,7 +12701,7 @@ snapshots: webpack-dev-middleware: 7.4.2(webpack@5.100.0) ws: 8.18.3 optionalDependencies: - webpack: 5.100.0(webpack-cli@5.1.4) + webpack: 5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@5.2.2)(webpack@5.100.0) transitivePeerDependencies: - bufferutil @@ -11692,6 +12709,12 @@ snapshots: - supports-color - utf-8-validate + webpack-hot-middleware@2.26.1: + dependencies: + ansi-html-community: 0.0.8 + html-entities: 2.6.0 + strip-ansi: 6.0.1 + webpack-merge@5.10.0: dependencies: clone-deep: 4.0.1 @@ -11700,7 +12723,9 @@ snapshots: webpack-sources@3.3.3: {} - webpack@5.100.0(webpack-cli@5.1.4): + webpack-virtual-modules@0.6.2: {} + + webpack@5.100.0(@swc/core@1.13.1)(esbuild@0.25.6)(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -11724,7 +12749,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(webpack@5.100.0) + terser-webpack-plugin: 5.3.14(@swc/core@1.13.1)(esbuild@0.25.6)(webpack@5.100.0) watchpack: 2.4.4 webpack-sources: 3.3.3 optionalDependencies: diff --git a/client_v2/src/common/controls/Checkbox/Checkbox.module.pcss b/client_v2/src/common/controls/Checkbox/Checkbox.module.pcss index dad80ad8..aaf9dc3d 100644 --- a/client_v2/src/common/controls/Checkbox/Checkbox.module.pcss +++ b/client_v2/src/common/controls/Checkbox/Checkbox.module.pcss @@ -47,9 +47,9 @@ height: 24px; transition: color var(--t2); color: var(--default-gray-icons); - - &_active { - transition: none; - color: var(--default-product-icon); - } +} + +.active { + transition: none; + color: var(--default-product-icon); } diff --git a/client_v2/src/common/controls/Checkbox/Checkbox.tsx b/client_v2/src/common/controls/Checkbox/Checkbox.tsx index c85ef351..bb42163a 100644 --- a/client_v2/src/common/controls/Checkbox/Checkbox.tsx +++ b/client_v2/src/common/controls/Checkbox/Checkbox.tsx @@ -41,13 +41,10 @@ export const Checkbox = ({ {plusStyle ? ( ) : ( - + )} {children && ( diff --git a/client_v2/src/common/controls/Radio/Radio.module.pcss b/client_v2/src/common/controls/Radio/Radio.module.pcss index c9232753..1b25b4e8 100644 --- a/client_v2/src/common/controls/Radio/Radio.module.pcss +++ b/client_v2/src/common/controls/Radio/Radio.module.pcss @@ -25,11 +25,11 @@ .icon { color: var(--default-gray-icons); +} - &_active { - transition: none; - color: var(--default-product-icon); - } +.active { + transition: none; + color: var(--default-product-icon); } .input:disabled + .handler .icon { diff --git a/client_v2/src/common/controls/Radio/Radio.tsx b/client_v2/src/common/controls/Radio/Radio.tsx index 67cfa41d..b85ea986 100644 --- a/client_v2/src/common/controls/Radio/Radio.tsx +++ b/client_v2/src/common/controls/Radio/Radio.tsx @@ -35,7 +35,7 @@ export const Radio = ({
{o.text}
diff --git a/client_v2/src/common/controls/Textarea/Textarea.tsx b/client_v2/src/common/controls/Textarea/Textarea.tsx index 29518f50..568a9f70 100644 --- a/client_v2/src/common/controls/Textarea/Textarea.tsx +++ b/client_v2/src/common/controls/Textarea/Textarea.tsx @@ -20,10 +20,11 @@ export const Textarea = ({ className, maxLength, errorMessage, + disabled, }: Props) => (
{label && ( -
); diff --git a/client_v2/src/common/controls/Textarea/styles.module.pcss b/client_v2/src/common/controls/Textarea/styles.module.pcss index 54bb33c7..9f4d1547 100644 --- a/client_v2/src/common/controls/Textarea/styles.module.pcss +++ b/client_v2/src/common/controls/Textarea/styles.module.pcss @@ -29,6 +29,18 @@ &.error { border-color: var(--default-error-icon); } + + &:disabled { + background-color: var(--pressed-page-background); + color: var(--default-description-text); + cursor: default; + + &:-webkit-autofill, + &:-webkit-autofill:hover, + &:-webkit-autofill:focus { + box-shadow: 0 0 0 100px var(--pressed-page-background) inset; + } + } } .label { @@ -39,7 +51,7 @@ color: var(--default-description-text); } -.error { +.errorMessage { margin-top: 8px; font-size: 14px; color: var(--default-error-icon); diff --git a/client_v2/src/common/ui/Button/Button.tsx b/client_v2/src/common/ui/Button/Button.tsx index 68707807..bda4f4a7 100644 --- a/client_v2/src/common/ui/Button/Button.tsx +++ b/client_v2/src/common/ui/Button/Button.tsx @@ -2,14 +2,10 @@ import React, { ComponentProps, ReactNode } from 'react'; import cn from 'clsx'; import s from './Button.module.pcss'; -import { IconType } from '../Icons'; -import { Icon } from '../Icon'; export type ButtonProps = ComponentProps<'button'> & { size?: 'small' | 'medium' | 'big'; variant?: 'primary' | 'secondary' | 'ghost' | 'danger'; - icon?: IconType; - iconClassName?: string; children?: ReactNode; leftAddon?: ReactNode; rightAddon?: ReactNode; diff --git a/client_v2/src/common/ui/Icons/index.tsx b/client_v2/src/common/ui/Icons/index.tsx index 2193bbba..900b7737 100644 --- a/client_v2/src/common/ui/Icons/index.tsx +++ b/client_v2/src/common/ui/Icons/index.tsx @@ -3,8 +3,8 @@ import React, { memo } from 'react'; import './Icons.pcss'; export const ICONS = { - checkbox_unchecked: 'checkbox_unchecked', - checkbox_checked: 'checkbox_checked', + checkbox_off: 'checkbox_off', + checkbox_on: 'checkbox_on', checkbox_plus: 'checkbox_plus', checkbox_minus: 'checkbox_minus', radio_on: 'radio_on', @@ -33,7 +33,7 @@ export const ICON_VALUES: IconType[] = Object.values(ICONS); export const Icons = memo(() => ( - + ( /> - + {
- {process.env.NODE_ENV === 'development' && ( -
- - - Components - -
- )}
diff --git a/client_v2/src/components/App/index.tsx b/client_v2/src/components/App/index.tsx index 097df923..440fb29d 100644 --- a/client_v2/src/components/App/index.tsx +++ b/client_v2/src/components/App/index.tsx @@ -13,7 +13,6 @@ import { setHtmlLangAttr, setUITheme } from '../../helpers/helpers'; import { changeLanguage, getDnsStatus, getTimerStatus } from '../../actions'; import { RootState } from '../../initialState'; -import Expo from '../Expo'; import s from './styles.module.pcss'; @@ -25,14 +24,6 @@ type RouteConfig = { const ROUTES: RouteConfig[] = []; -if (process.env.NODE_ENV === 'development') { - ROUTES.push({ - path: '/expo', - component: Expo, - exact: true, - }); -} - const App = () => { const dispatch = useDispatch(); const { language, isCoreRunning, processing, theme } = useSelector( diff --git a/client_v2/src/components/Expo/index.tsx b/client_v2/src/components/Expo/index.tsx deleted file mode 100644 index ec35be5d..00000000 --- a/client_v2/src/components/Expo/index.tsx +++ /dev/null @@ -1,396 +0,0 @@ -import React, { useState } from 'react'; -import { withTranslation } from 'react-i18next'; -import cn from 'clsx'; - -import { ICON_VALUES } from 'panel/common/ui/Icons'; -import { Switch, Select, Textarea, Input, Radio, Checkbox } from 'panel/common/controls'; -import { Dialog, ConfirmDialog, Link, Dropdown, Breadcrumbs, Button, Icon } from 'panel/common/ui'; -import { CustomMultiValue } from 'panel/common/controls/Select'; -import theme from 'panel/lib/theme'; -import { RoutePath } from 'panel/components/Routes/Paths'; - -import styles from './styles.module.pcss'; - -// List of all CSS variable names from light.css -export const COLOR_VARIABLES = [ - '--default-page-background', - '--hovered-page-background', - '--pressed-page-background', - '--fills-backgrounds-page-background-additional', - '--default-cards-background', - '--default-popup-background', - '--default-footer-background', - '--default-item-divider', - '--default-main-text', - '--disabled-main-text', - '--default-description-text', - '--default-labels', - '--default-input-background', - '--default-active-input-stroke', - '--default-inactive-input-stroke', - '--default-placeholder', - '--default-input-on-card-background', - '--disabled-input-on-card-background', - '--default-dropdown-menu-background', - '--hovered-dropdown-menu-background', - '--pressed-dropdown-menu-background', - '--default-main-button', - '--hovered-main-button', - '--pressed-main-button', - '--disabled-main-button', - '--default-primary-button-text', - '--disabled-primary-button-text', - '--default-primary-button-icon', - '--default-secondary-button', - '--hovered-secondary-button', - '--pressed-secondary-button', - '--disabled-secondary-button', - '--default-secondary-button-stroke', - '--disabled-secondary-button-stroke', - '--default-secondary-card-button', - '--hovered-secondary-card-button', - '--pressed-secondary-card-button', - '--disabled-secondary-card-button', - '--default-danger-button', - '--hovered-danger-button', - '--pressed-danger-button', - '--disabled-danger-button', - '--default-link', - '--hovered-link', - '--pressed-link', - '--visited-link', - '--default-attention-link', - '--hovered-attention-link', - '--pressed-attention-link', - '--disabled-attention-link', - '--default-error-link', - '--default-product-icon', - '--default-black-icons', - '--default-gray-icons', - '--disabled-gray-icons', - '--default-error-icon', - '--stroke-icons-white-icons-default', - '--stroke-icons-tertiary-icon-disabled', - '--stroke-icons-secondary-icon-disabled', - '--default-stats-background', - '--default-red-stat', - '--modal-iframe-overlay', - '--modal-overlay', - '--default-notifications-attention', - '--default-logo-key-color', - '--default-loaders-background', - '--default-loaders-background-dark', - '--default-loaders-primary', - '--default-text-toplines-main', - '--disabled-text-toplines-main', - '--default-fills-toplines-adblocker', - '--default-fills-toplines-vpn', - '--default-breadcrumbs', - '--fills-toplines-topline-background', - '--text-toplines-topline-title', - '--text-toplines-topline-description', - '--text-toplines-topline-button-text-default', - '--fills-toplines-topline-background-image', - '--fills-toplines-topline-button-default', - '--fills-toplines-topline-button-hovered', - '--fills-toplines-topline-button-pressed', - '--stroke-toplines-button-stroke-default', - '--stroke-toplines-button-stroke-hovered', - '--stroke-toplines-button-stroke-pressed', - '--stroke-toplines-close-icon-default', - '--stroke-toplines-close-icon-hovered', - '--stroke-toplines-close-icon-pressed', - '--fills-backgrounds-recent-activity', - '--fills-switch-on-default', - '--fills-switch-on-hovered', - '--fills-switch-on-disabled', - '--fills-switch-off-default', - '--fills-switch-off-hovered', - '--fills-switch-off-disabled', - '--fills-switch-knob', - '--fills-switch-knob-disabled', -]; - -const Expo = () => { - const [checked, setChecked] = useState(false); - const [switchChecked, setSwitchChecked] = useState(false); - const [inputValue, setInputValue] = useState(''); - const [textareaValue, setTextareaValue] = useState(''); - const [radioValue, setRadioValue] = useState('1'); - const [dialogOpen, setDialogOpen] = useState(false); - const [confirmOpen, setConfirmOpen] = useState(false); - - return ( -
-

Components

- -

Checkbox

-
- setChecked(e.target.checked)} checked={checked}> - Test checkbox - - setChecked(e.target.checked)} checked={checked} disabled> - Disabled checkbox - -
- -

Switch

-
- setSwitchChecked(e.target.checked)} checked={switchChecked} id="switch"> - Test switch - - setSwitchChecked(e.target.checked)} - checked={switchChecked} - id="switch2" - disabled> - Disabled switch - -
- -

Radio

- setRadioValue(v)} - value={radioValue} - options={[ - { text: 'Option 1', value: '1' }, - { text: 'Option 2', value: '2' }, - { text: 'Option 3', value: '3' }, - ]} - /> - -

Buttons

-
- - - - - - - - - -
- -

Input

- setInputValue(e.target.value)} - placeholder="Enter text" - suffixIcon={} - prefixIcon={} - /> - -

Textarea

-