From 832b984c555558890d34eb311bbbc89e23e4fcb5 Mon Sep 17 00:00:00 2001 From: Sauli Anto Date: Mon, 25 Mar 2024 10:49:55 +0200 Subject: [PATCH] OPHJOD-280: Add JOD theme and addons --- .github/workflows/build.yml | 25 +- .storybook/main.ts | 15 +- .storybook/manager.ts | 13 + .storybook/preview.ts | 26 +- package-lock.json | 972 ++++++++++++++++++++---------------- package.json | 27 +- tailwind.config.js | 4 + vite.config.ts | 2 +- 8 files changed, 640 insertions(+), 444 deletions(-) create mode 100644 .storybook/manager.ts diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d8e727a..22595e1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,6 +5,9 @@ on: push: branches: - main + pull_request: + branches: + - main permissions: contents: read @@ -31,20 +34,34 @@ jobs: - name: Run ESLint run: npx eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0 - - name: Prettier + - name: Run Prettier run: npx prettier . --check - - name: Unit tests - run: npx vitest --run + - name: Run Vitest unit tests + run: npx vitest --coverage.enabled true + + - name: Upload Vitest report + uses: actions/upload-artifact@v4 + if: always() + with: + name: coverage + path: coverage/ + retention-days: 30 - name: Run build - run: npm run build:storybook + run: npm run storybook:build - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: storybook-static/ + - name: SonarCloud Scan + uses: SonarSource/sonarcloud-github-action@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + deploy: name: Deploy if: github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' diff --git a/.storybook/main.ts b/.storybook/main.ts index de4852f..231cc38 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -1,19 +1,32 @@ import type { StorybookConfig } from '@storybook/react-vite'; const config: StorybookConfig = { - stories: ['../lib/**/*.mdx', '../lib/**/*.stories.@(js|jsx|mjs|ts|tsx)'], + stories: [ + '../lib/**/*.mdx', + { + directory: '../lib/components', + files: '**/*.stories.@(js|jsx|mjs|ts|tsx)', + titlePrefix: 'Components', + }, + ], addons: [ '@storybook/addon-links', '@storybook/addon-essentials', '@storybook/addon-interactions', + '@storybook/addon-a11y', + '@storybook/addon-themes', '@storybook/addon-designs', ], framework: { name: '@storybook/react-vite', options: {}, }, + core: { + disableTelemetry: true, + }, docs: { autodocs: 'tag', + defaultName: 'Documentation', }, }; export default config; diff --git a/.storybook/manager.ts b/.storybook/manager.ts new file mode 100644 index 0000000..f422d4b --- /dev/null +++ b/.storybook/manager.ts @@ -0,0 +1,13 @@ +import { addons } from '@storybook/manager-api'; +import { create } from '@storybook/theming/create'; + +addons.setConfig({ + // https://storybook.js.org/docs/configure/theming#create-a-theme-quickstart + theme: create({ + base: 'light', + brandTitle: 'JOD Design System', + brandUrl: 'https://github.com/Opetushallitus/jod-design-system', + // brandImage: 'https://storybook.js.org/images/placeholders/350x150.png', + brandTarget: '_self', + }), +}); diff --git a/.storybook/preview.ts b/.storybook/preview.ts index 79972e7..53fbd71 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -1,5 +1,7 @@ import '../lib/index.css'; -import type { Preview } from '@storybook/react'; +import type { Preview, ReactRenderer } from '@storybook/react'; +import { withThemeByClassName } from '@storybook/addon-themes'; +import { MINIMAL_VIEWPORTS } from '@storybook/addon-viewport'; const preview: Preview = { parameters: { @@ -9,7 +11,29 @@ const preview: Preview = { date: /Date$/i, }, }, + viewport: { + viewports: { + ...MINIMAL_VIEWPORTS, + desktop: { + name: 'Desktop', + styles: { + width: '1440px', + height: '1024px', + }, + type: 'desktop', + }, + }, + }, }, + decorators: [ + withThemeByClassName({ + themes: { + light: '', + dark: 'dark', + }, + defaultTheme: 'light', + }), + ], }; export default preview; diff --git a/package-lock.json b/package-lock.json index 3506c26..dae3850 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,20 +9,23 @@ "version": "0.0.0", "license": "EUPL-1.2", "devDependencies": { + "@storybook/addon-a11y": "^8.0.4", "@storybook/addon-designs": "^8.0.0", - "@storybook/addon-essentials": "^8.0.1", - "@storybook/addon-interactions": "^8.0.1", - "@storybook/addon-links": "^8.0.1", - "@storybook/blocks": "^8.0.1", - "@storybook/react": "^8.0.1", - "@storybook/react-vite": "^8.0.1", - "@storybook/test": "^8.0.1", + "@storybook/addon-essentials": "^8.0.4", + "@storybook/addon-interactions": "^8.0.4", + "@storybook/addon-links": "^8.0.4", + "@storybook/addon-themes": "^8.0.4", + "@storybook/blocks": "^8.0.4", + "@storybook/react": "^8.0.4", + "@storybook/react-vite": "^8.0.4", + "@storybook/test": "^8.0.4", "@testing-library/react": "^14.2.1", "@types/react": "^18.2.56", "@types/react-dom": "^18.2.19", "@typescript-eslint/eslint-plugin": "^7.0.2", "@typescript-eslint/parser": "^7.0.2", "@vitejs/plugin-react-swc": "^3.5.0", + "@vitest/coverage-v8": "^1.2.1", "autoprefixer": "^10.4.18", "classnames": "^2.5.1", "eslint": "^8.56.0", @@ -39,7 +42,7 @@ "prettier-plugin-tailwindcss": "^0.5.12", "react": "^18.2.0", "react-dom": "^18.2.0", - "storybook": "^8.0.1", + "storybook": "^8.0.4", "tailwindcss": "^3.4.1", "typescript": "^5.2.2", "vite": "^5.1.4", @@ -51,9 +54,7 @@ "node": "^20.0.0" }, "peerDependencies": { - "classnames": "^2", - "react": "^18", - "react-dom": "^18" + "react": "^18" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -1069,9 +1070,9 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.1.tgz", - "integrity": "sha512-OTkLJM0OtmzcpOgF7MREERUCdCnCBtBsq3vVFbuq/RKMK0/jdYqdMexWi3zNs7Nzd95ase65MbTGrpFJflOb6A==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.20", @@ -1868,9 +1869,9 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.1.tgz", - "integrity": "sha512-CwCMz1Z28UHLI2iE+cbnWT2epPMV9bzzoBGM6A3mOS22VQd/1TPoWItV7S7iL9TkPmPEf5L/QzurmztyyDN9FA==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.3.tgz", + "integrity": "sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==", "dev": true, "dependencies": { "@babel/compat-data": "^7.24.1", @@ -1900,7 +1901,7 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.1", - "@babel/plugin-transform-async-generator-functions": "^7.24.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", "@babel/plugin-transform-async-to-generator": "^7.24.1", "@babel/plugin-transform-block-scoped-functions": "^7.24.1", "@babel/plugin-transform-block-scoping": "^7.24.1", @@ -1949,7 +1950,7 @@ "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-corejs3": "^0.10.4", "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.31.0", "semver": "^6.3.1" @@ -2230,6 +2231,12 @@ "integrity": "sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==", "dev": true }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -2854,6 +2861,15 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -3469,13 +3485,27 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, + "node_modules/@storybook/addon-a11y": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.0.4.tgz", + "integrity": "sha512-5OyZNzjNXjNUD9vBfjxFnJjMMcBFYWyI4zy5qmJcbAvBv/COiXNfNg2cr2YPNtU5WfA6nsaIESfHFGBHI3GDAg==", + "dev": true, + "dependencies": { + "@storybook/addon-highlight": "8.0.4", + "axe-core": "^4.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/addon-actions": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.0.1.tgz", - "integrity": "sha512-qFd1NOI9C16/Jo+7XQQXRsoTzcvKPlT6M5lU47lGLuyLwbZSp5EKxmy8+uKTnyLF/2BTAvOLZ/wYmw+Gj4VzOA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.0.4.tgz", + "integrity": "sha512-EyCWo+8T11/TJGYNL/AXtW4yaB+q1v2E9mixbumryCLxpTl2NtaeGZ4e0dlwfIMuw/7RWgHk2uIypcIPR/UANQ==", "dev": true, "dependencies": { - "@storybook/core-events": "8.0.1", + "@storybook/core-events": "8.0.4", "@storybook/global": "^5.0.0", "@types/uuid": "^9.0.1", "dequal": "^2.0.2", @@ -3488,9 +3518,9 @@ } }, "node_modules/@storybook/addon-backgrounds": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.0.1.tgz", - "integrity": "sha512-A06rUg7yEmyEoRTS8B46CkiUh49lKQ9ipGK323O7S9qkwbXSLvqBQTaKmGstZq6p0begPF1DWaGUxCXfU3qr2g==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.0.4.tgz", + "integrity": "sha512-fef0KD2GhJx2zpicOf8iL7k2LiIsNzEbGaQpIIjoy4DMqM1hIfNCt3DGTLH7LN5O8G+NVCLS1xmQg7RLvIVSCA==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -3503,12 +3533,12 @@ } }, "node_modules/@storybook/addon-controls": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.0.1.tgz", - "integrity": "sha512-MadJq5fmFUI1eNkDyJSSqtF/IHD+hv/gS0eFNd9+CIioHaysJG2g7t27lG703BV+Qwzz9ekilKBJ/z0bIuqm8g==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.0.4.tgz", + "integrity": "sha512-K5EYBTsUOTJlvIdA7p6Xj31wnV+RbZAkk56UKQvA7nJD7oDuLOq3E9u46F/uZD1vxddd9zFhf2iONfMe3KTTwQ==", "dev": true, "dependencies": { - "@storybook/blocks": "8.0.1", + "@storybook/blocks": "8.0.4", "lodash": "^4.17.21", "ts-dedent": "^2.0.0" }, @@ -3551,24 +3581,24 @@ } }, "node_modules/@storybook/addon-docs": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.0.1.tgz", - "integrity": "sha512-G03ELd2OEycuYoziwbomIgHGUXNIVU2MoCITU7Q1e2zfFJ4amMab7btHmUm4eTnUChXvzbYIucti3Sp9sQNsKw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.0.4.tgz", + "integrity": "sha512-m0Y7qGAMnNPLEOEgzW/SBm8GX0xabJBaRN+aYijO6UKTln7F6oXXVve+xPC0Y4s6Gc9HZFdJY8WXZr1YSGEUVA==", "dev": true, "dependencies": { "@babel/core": "^7.12.3", "@mdx-js/react": "^3.0.0", - "@storybook/blocks": "8.0.1", - "@storybook/client-logger": "8.0.1", - "@storybook/components": "8.0.1", - "@storybook/csf-plugin": "8.0.1", - "@storybook/csf-tools": "8.0.1", + "@storybook/blocks": "8.0.4", + "@storybook/client-logger": "8.0.4", + "@storybook/components": "8.0.4", + "@storybook/csf-plugin": "8.0.4", + "@storybook/csf-tools": "8.0.4", "@storybook/global": "^5.0.0", - "@storybook/node-logger": "8.0.1", - "@storybook/preview-api": "8.0.1", - "@storybook/react-dom-shim": "8.0.1", - "@storybook/theming": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/node-logger": "8.0.4", + "@storybook/preview-api": "8.0.4", + "@storybook/react-dom-shim": "8.0.4", + "@storybook/theming": "8.0.4", + "@storybook/types": "8.0.4", "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", "fs-extra": "^11.1.0", "react": "^16.8.0 || ^17.0.0 || ^18.0.0", @@ -3583,24 +3613,24 @@ } }, "node_modules/@storybook/addon-essentials": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.0.1.tgz", - "integrity": "sha512-ExN5v9p/08ArWVB1eARWri8UdzaXzZgrPCjV+Ip/Bljh/NYuNOd1PhfQ84IyBOB+RhtlPX9hh7fAdQiDa0MN0g==", - "dev": true, - "dependencies": { - "@storybook/addon-actions": "8.0.1", - "@storybook/addon-backgrounds": "8.0.1", - "@storybook/addon-controls": "8.0.1", - "@storybook/addon-docs": "8.0.1", - "@storybook/addon-highlight": "8.0.1", - "@storybook/addon-measure": "8.0.1", - "@storybook/addon-outline": "8.0.1", - "@storybook/addon-toolbars": "8.0.1", - "@storybook/addon-viewport": "8.0.1", - "@storybook/core-common": "8.0.1", - "@storybook/manager-api": "8.0.1", - "@storybook/node-logger": "8.0.1", - "@storybook/preview-api": "8.0.1", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.0.4.tgz", + "integrity": "sha512-mUIqhAkSz6Qv7nRqAAyCqMLiXBWVsY/8qN7HEIoaMQgdFq38KW3rYwNdzd2JLeXNWP1bBXwfvfcFe7/eqhYJFA==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "8.0.4", + "@storybook/addon-backgrounds": "8.0.4", + "@storybook/addon-controls": "8.0.4", + "@storybook/addon-docs": "8.0.4", + "@storybook/addon-highlight": "8.0.4", + "@storybook/addon-measure": "8.0.4", + "@storybook/addon-outline": "8.0.4", + "@storybook/addon-toolbars": "8.0.4", + "@storybook/addon-viewport": "8.0.4", + "@storybook/core-common": "8.0.4", + "@storybook/manager-api": "8.0.4", + "@storybook/node-logger": "8.0.4", + "@storybook/preview-api": "8.0.4", "ts-dedent": "^2.0.0" }, "funding": { @@ -3609,9 +3639,9 @@ } }, "node_modules/@storybook/addon-highlight": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.0.1.tgz", - "integrity": "sha512-7+Q4dpQRbBylFKexSSvyksFqYXTIKMQzIcmL/XirUPKzDenCyuGfhDFWtredsb+kIR4P/Gg9MepMWkfBsoupuA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.0.4.tgz", + "integrity": "sha512-tnEiVaJlXL07v8JBox+QtRPVruoy0YovOTAOWY7fKDiKzF1I9wLaJjQF3wOsvwspHTHu00OZw2gsazgXiH4wLQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -3622,15 +3652,15 @@ } }, "node_modules/@storybook/addon-interactions": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.0.1.tgz", - "integrity": "sha512-1gGfYu0C/c7P/7cz89d3kaN3z9ZjDD2yMoVQ1WzOlCdWwRrm9d1Ox+UUGAfNmjd8XyAST7woYcqT/OWrkdrj1A==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.0.4.tgz", + "integrity": "sha512-wTEOnVUbF1lNJxxocr5IKmpgnmwyO8YsQf6Baw3tTWCHAa/MaWWQYq1OA6CfFfmVGGRjv/w2GTuf1Vyq99O7mg==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.0.1", - "@storybook/test": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/instrumenter": "8.0.4", + "@storybook/test": "8.0.4", + "@storybook/types": "8.0.4", "polished": "^4.2.2", "ts-dedent": "^2.2.0" }, @@ -3640,9 +3670,9 @@ } }, "node_modules/@storybook/addon-links": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.0.1.tgz", - "integrity": "sha512-cYAPSr/mO++ZZWcNigfTEDPYshozT0hYpHJ7S5DIhUTZCpv92IDudN0HjYmEQnz4+OdsGaQ6GnITI2Fr8IOfQA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.0.4.tgz", + "integrity": "sha512-SzE+JPZ4mxjprZqbLHf8Hx7UA2fXfMajFjeY9c3JREKQrDoOF1e4r28nAoVsZYF+frWxQB51U4+hOqjlx06wEA==", "dev": true, "dependencies": { "@storybook/csf": "^0.1.2", @@ -3663,9 +3693,9 @@ } }, "node_modules/@storybook/addon-measure": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.0.1.tgz", - "integrity": "sha512-dHZY8K5FWoEYuIK9+6dwky/IsqCGlNuGEU2gn2Q2OiIzHOveumxMtGQkWk8hrzRnwQB/eMbijbdwd+d0aBJp1w==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.0.4.tgz", + "integrity": "sha512-GZYKo2ss5Br+dfHinoK3bgTaS90z3oKKDkhv6lrFfjjU1mDYzzMJpxajQhd3apCYxHLr3MbUqMQibWu2T/q2DQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -3677,9 +3707,9 @@ } }, "node_modules/@storybook/addon-outline": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.0.1.tgz", - "integrity": "sha512-1zPBQ+J4IUjULXlBbf3lLt5nblMUwQiTV6HAjngeczl3pCaZ3Q86lVAURE2K/gmLElsRALX4XoLw8M7hY4iYxQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.0.4.tgz", + "integrity": "sha512-6J9ezNDUxdA3rMCh8sUEQbUwAgkrr+M9QdiFr1t+gKrk5FKP5gwubw1sr3sF1IRB9+s/AjljcOtJAVulSfq05w==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -3690,10 +3720,23 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/addon-themes": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-themes/-/addon-themes-8.0.4.tgz", + "integrity": "sha512-qExFSQ1d2bDi/bOtvXpQZlSO+QTYbyd1IIpdTtygTvwsm1ezlVczNqy/zbzxpPI4hhDTbPvR8vSBMRU3xh4Ykg==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/addon-toolbars": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.0.1.tgz", - "integrity": "sha512-Fa5H+iiQsYtcaF/2RhzTOo9YWMzOhjkl2muPOe3f/a7Z4eR4R4pGmJv/JZ1qfpRk67PoyFcUUkFnNWjBF0yLjQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.0.4.tgz", + "integrity": "sha512-yodRXDYog/90cNEy84kg6s7L+nxQ+egBjHBTsav1L4cJmQI/uAX8yISHHiX4I5ppNc120Jz3UdHdRxXRlo345g==", "dev": true, "funding": { "type": "opencollective", @@ -3701,9 +3744,9 @@ } }, "node_modules/@storybook/addon-viewport": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.0.1.tgz", - "integrity": "sha512-8p4oDI1lSicLRhbRSZUCuUAJoJrZ+FG/ccgtEV6y6a4GRMkBbUpoqTMyHQKfDqszFmr7G4lG2HVXYCura8a3zg==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.0.4.tgz", + "integrity": "sha512-E5IKOsxKcOtlOYc0cWgzVJohQB+dVBWwaJcg5FlslToknfVB9M0kfQ/SQcp3KB0C9/cOmJK1Jm388InW+EjrBQ==", "dev": true, "dependencies": { "memoizerific": "^1.11.3" @@ -3714,23 +3757,23 @@ } }, "node_modules/@storybook/blocks": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.0.1.tgz", - "integrity": "sha512-S1aPjmhS3bTvyAeUNHULWzmuGFJ59DiaV5eGv3Dg5u8BKGlYXGe39wItE4p/KR/OqkwtY5++rFHrWQiJeEP90A==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.0.4.tgz", + "integrity": "sha512-9dRXk9zLJVPOmEWsSXm10XUmIfvS/tVgeBgFXNbusFQZXPpexIPNdRgB004pDGg9RvlY78ykpnd3yP143zaXMg==", "dev": true, "dependencies": { - "@storybook/channels": "8.0.1", - "@storybook/client-logger": "8.0.1", - "@storybook/components": "8.0.1", - "@storybook/core-events": "8.0.1", + "@storybook/channels": "8.0.4", + "@storybook/client-logger": "8.0.4", + "@storybook/components": "8.0.4", + "@storybook/core-events": "8.0.4", "@storybook/csf": "^0.1.2", - "@storybook/docs-tools": "8.0.1", + "@storybook/docs-tools": "8.0.4", "@storybook/global": "^5.0.0", "@storybook/icons": "^1.2.5", - "@storybook/manager-api": "8.0.1", - "@storybook/preview-api": "8.0.1", - "@storybook/theming": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/manager-api": "8.0.4", + "@storybook/preview-api": "8.0.4", + "@storybook/theming": "8.0.4", + "@storybook/types": "8.0.4", "@types/lodash": "^4.14.167", "color-convert": "^2.0.1", "dequal": "^2.0.2", @@ -3762,15 +3805,15 @@ } }, "node_modules/@storybook/builder-manager": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-8.0.1.tgz", - "integrity": "sha512-5iI5MoKTctxkeAW48IzemEPI+wpiML2EoB2MkXoXcWEKwnPG5zgboY5TuuKcCY3eONWpXS8DkSt9a5lpudnceQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-8.0.4.tgz", + "integrity": "sha512-BafYVxq77uuTmXdjYo5by42OyOrb6qcpWYKva3ntWK2ZhTaLJlwwqAOdahT1DVzi4VeUP6465YvsTCzIE8fuIw==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "8.0.1", - "@storybook/manager": "8.0.1", - "@storybook/node-logger": "8.0.1", + "@storybook/core-common": "8.0.4", + "@storybook/manager": "8.0.4", + "@storybook/node-logger": "8.0.4", "@types/ejs": "^3.1.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", "browser-assert": "^1.2.1", @@ -3788,20 +3831,20 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.0.1.tgz", - "integrity": "sha512-j6FGJfsMseaTqiLT62epfJFnQqui4/LGGbBvBEzyG78tEi9eg5xS81eqS2H2tFXBkW8Xk1m0m5pz5RhL15TiSg==", - "dev": true, - "dependencies": { - "@storybook/channels": "8.0.1", - "@storybook/client-logger": "8.0.1", - "@storybook/core-common": "8.0.1", - "@storybook/core-events": "8.0.1", - "@storybook/csf-plugin": "8.0.1", - "@storybook/node-logger": "8.0.1", - "@storybook/preview": "8.0.1", - "@storybook/preview-api": "8.0.1", - "@storybook/types": "8.0.1", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.0.4.tgz", + "integrity": "sha512-Whb001bGkoGQ6/byp9QTQJ4NO61Qa5bh1p5WEEMJ5wYvHm83b+B/IwwilUfU5mL9bJB/RjbwyKcSQqGP6AxMzA==", + "dev": true, + "dependencies": { + "@storybook/channels": "8.0.4", + "@storybook/client-logger": "8.0.4", + "@storybook/core-common": "8.0.4", + "@storybook/core-events": "8.0.4", + "@storybook/csf-plugin": "8.0.4", + "@storybook/node-logger": "8.0.4", + "@storybook/preview": "8.0.4", + "@storybook/preview-api": "8.0.4", + "@storybook/types": "8.0.4", "@types/find-cache-dir": "^3.2.1", "browser-assert": "^1.2.1", "es-module-lexer": "^0.9.3", @@ -3834,13 +3877,13 @@ } }, "node_modules/@storybook/channels": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-8.0.1.tgz", - "integrity": "sha512-zKhOOI/NU5w0rMGrGNlWkBLhNq7l33pRej9AJ+4rQcuJ3cc0ONkSktktYK8ThQ49I1ZOn7eS+h0BEmXX1Mr3Qg==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-8.0.4.tgz", + "integrity": "sha512-haKV+8RbiSzLjicowUfc7h2fTClZHX/nz9SRUecf4IEZUEu2T78OgM/TzqZvL7rA3+/fKqp5iI+3PN3OA75Sdg==", "dev": true, "dependencies": { - "@storybook/client-logger": "8.0.1", - "@storybook/core-events": "8.0.1", + "@storybook/client-logger": "8.0.4", + "@storybook/core-events": "8.0.4", "@storybook/global": "^5.0.0", "telejson": "^7.2.0", "tiny-invariant": "^1.3.1" @@ -3851,22 +3894,22 @@ } }, "node_modules/@storybook/cli": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-8.0.1.tgz", - "integrity": "sha512-BLcB95Dwcd+fFl1CV2+x8hIaJ+gz76uAqUTRzvk66q2MaCe6q99RvBGcUvZnohV7u6iCd2lPv7VaF7buOriKow==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-8.0.4.tgz", + "integrity": "sha512-8jb8hrulRMfyFyNXFEapxHBS51xb42ZZGfVAacXIsHOJtjOd5CnOoSUYn0aOkVl19VF/snoa9JOW7BaW/50Eqw==", "dev": true, "dependencies": { "@babel/core": "^7.23.0", "@babel/types": "^7.23.0", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "8.0.1", - "@storybook/core-common": "8.0.1", - "@storybook/core-events": "8.0.1", - "@storybook/core-server": "8.0.1", - "@storybook/csf-tools": "8.0.1", - "@storybook/node-logger": "8.0.1", - "@storybook/telemetry": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/codemod": "8.0.4", + "@storybook/core-common": "8.0.4", + "@storybook/core-events": "8.0.4", + "@storybook/core-server": "8.0.4", + "@storybook/csf-tools": "8.0.4", + "@storybook/node-logger": "8.0.4", + "@storybook/telemetry": "8.0.4", + "@storybook/types": "8.0.4", "@types/semver": "^7.3.4", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", @@ -3903,9 +3946,9 @@ } }, "node_modules/@storybook/client-logger": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-8.0.1.tgz", - "integrity": "sha512-8NgJlVixYQB+c0zduoCAcOtEm4M9y776QKtmXvCaCtxyXl2uCbZFAMy6iai6ctoiVge0xiRaEzIkWKT1pHLDig==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-8.0.4.tgz", + "integrity": "sha512-2SeEg3PT/d0l/+EAVtyj9hmMLTyTPp+bRBSzxYouBjtJPM1jrdKpFagj1o3uBRovwWm9SIVX6/ZsoRC33PEV1g==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -3916,18 +3959,18 @@ } }, "node_modules/@storybook/codemod": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.0.1.tgz", - "integrity": "sha512-2DCx++IMXEwLT6P1m/gkYzyh6MH6W+eoOMz4PX5/YGuFg2gsN0fNYPO9ltj8vJRR0nZcHJ+c8BbcCpzNFTPsvQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.0.4.tgz", + "integrity": "sha512-bysG46P4wjlR3RCpr/ntNAUaupWpzLcWYWti3iNtIyZ/iPrX6KtXoA9QCIwJZrlv41us6F+KEZbzLzkgWbymtQ==", "dev": true, "dependencies": { "@babel/core": "^7.23.2", "@babel/preset-env": "^7.23.2", "@babel/types": "^7.23.0", "@storybook/csf": "^0.1.2", - "@storybook/csf-tools": "8.0.1", - "@storybook/node-logger": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/csf-tools": "8.0.4", + "@storybook/node-logger": "8.0.4", + "@storybook/types": "8.0.4", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", "globby": "^11.0.2", @@ -3943,18 +3986,18 @@ } }, "node_modules/@storybook/components": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.0.1.tgz", - "integrity": "sha512-xrOL0CLirSnzZTtuXD+bgk1+MF36DuTG4ADD89A00dl22Uquo+MHFI9kzqxGtyb7PPpcJQjcgw/1WoSMSepPvQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.0.4.tgz", + "integrity": "sha512-i5ngl5GTOLB9nZ1cmpxTjtWct5IuH9UxzFC73a0jHMkCwN26w16IqufRVDaoQv0AvZN4pd4fNM2in/XVHA10dw==", "dev": true, "dependencies": { "@radix-ui/react-slot": "^1.0.2", - "@storybook/client-logger": "8.0.1", + "@storybook/client-logger": "8.0.4", "@storybook/csf": "^0.1.2", "@storybook/global": "^5.0.0", "@storybook/icons": "^1.2.5", - "@storybook/theming": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/theming": "8.0.4", + "@storybook/types": "8.0.4", "memoizerific": "^1.11.3", "util-deprecate": "^1.0.2" }, @@ -3968,15 +4011,15 @@ } }, "node_modules/@storybook/core-common": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.0.1.tgz", - "integrity": "sha512-+t9qyJ/b/yRDCsp6zW68NsViieqCUuH6S8BpbSPWnkuGTYp98BMMGQoY4cqufUcFPuDYMzwAN7wQ5/iM5b7DYQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.0.4.tgz", + "integrity": "sha512-dzFRLm5FxUa2EFE6Rx/KLDTJNLBIp1S2/+Q1K+rG8V+CLvewCc2Cd486rStZqSXEKI7vDnsRs/aMla+N0X/++Q==", "dev": true, "dependencies": { - "@storybook/core-events": "8.0.1", - "@storybook/csf-tools": "8.0.1", - "@storybook/node-logger": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/core-events": "8.0.4", + "@storybook/csf-tools": "8.0.4", + "@storybook/node-logger": "8.0.4", + "@storybook/types": "8.0.4", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", "chalk": "^4.1.0", @@ -4039,9 +4082,9 @@ } }, "node_modules/@storybook/core-events": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.0.1.tgz", - "integrity": "sha512-AI8W9YNNXtkC9W1wL+LV2M/hd4SJWVOGNFhwf+bGSFfGb9NLl23CIBWg8XgYVpTtil3etw5ODDgykEmUBcKsKw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.0.4.tgz", + "integrity": "sha512-1FgLacIGi9i6/fyxw7ZJDC621RK47IMaA3keH4lc11ASRzCSwJ4YOrXjBFjfPc79EF2BuX72DDJNbhj6ynfF3g==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -4052,28 +4095,28 @@ } }, "node_modules/@storybook/core-server": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-8.0.1.tgz", - "integrity": "sha512-FOgYYMOWcWxKhbd+40vCox9/lZwpbLcPsQB/ovLlY+PpX4BX/WTYcd5Q20oxxyIWU7b/8PeY8vvK8J9e0lpeaA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-8.0.4.tgz", + "integrity": "sha512-/633Pp7LPcDWXkPLSW+W9VUYUbVkdVBG6peXjuzogV0vzdM0dM9af/T0uV2NQxUhzoy6/7QdSDljE+eEOBs2Lw==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.126", "@babel/core": "^7.23.9", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "8.0.1", - "@storybook/channels": "8.0.1", - "@storybook/core-common": "8.0.1", - "@storybook/core-events": "8.0.1", + "@storybook/builder-manager": "8.0.4", + "@storybook/channels": "8.0.4", + "@storybook/core-common": "8.0.4", + "@storybook/core-events": "8.0.4", "@storybook/csf": "^0.1.2", - "@storybook/csf-tools": "8.0.1", + "@storybook/csf-tools": "8.0.4", "@storybook/docs-mdx": "3.0.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "8.0.1", - "@storybook/manager-api": "8.0.1", - "@storybook/node-logger": "8.0.1", - "@storybook/preview-api": "8.0.1", - "@storybook/telemetry": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/manager": "8.0.4", + "@storybook/manager-api": "8.0.4", + "@storybook/node-logger": "8.0.4", + "@storybook/preview-api": "8.0.4", + "@storybook/telemetry": "8.0.4", + "@storybook/types": "8.0.4", "@types/detect-port": "^1.3.0", "@types/node": "^18.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -4116,12 +4159,12 @@ } }, "node_modules/@storybook/csf-plugin": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.0.1.tgz", - "integrity": "sha512-n3CEGP64gNUjyTKwByS5fpi7TnmUECsLpWH7KE/mpJVRm4omu/xlS1mEgikOxWFgxlXzotM1mAvjeWidvnMq/g==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.0.4.tgz", + "integrity": "sha512-pEgctWuS/qeKMFZJJUM2JuKwjKBt27ye+216ft7xhNqpsrmCgumJYrkU/ii2CsFJU/qr5Fu9EYw+N+vof1OalQ==", "dev": true, "dependencies": { - "@storybook/csf-tools": "8.0.1", + "@storybook/csf-tools": "8.0.4", "unplugin": "^1.3.1" }, "funding": { @@ -4130,9 +4173,9 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.0.1.tgz", - "integrity": "sha512-jG7dP0DsYpV+sdp/EV0/mcuZ6bzaTRsX3N/vZySKTRCvef72IGyxAeZrAg4OoOla0B2t/wxc8RZCG8NGaxHu4Q==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.0.4.tgz", + "integrity": "sha512-dMSZxWnXBhmXGOZZOAJ4DKZRCYdA0HaqqZ4/eF9MLLsI+qvW4EklcpjVY6bsIzACgubRWtRZkTpxTnjExi/N1A==", "dev": true, "dependencies": { "@babel/generator": "^7.23.0", @@ -4140,7 +4183,7 @@ "@babel/traverse": "^7.23.2", "@babel/types": "^7.23.0", "@storybook/csf": "^0.1.2", - "@storybook/types": "8.0.1", + "@storybook/types": "8.0.4", "fs-extra": "^11.1.0", "recast": "^0.23.5", "ts-dedent": "^2.0.0" @@ -4169,14 +4212,14 @@ "dev": true }, "node_modules/@storybook/docs-tools": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-8.0.1.tgz", - "integrity": "sha512-xgCe0wB3wHS+uD5xxl1vH5W6/BhvNkEkUtcfpEgA7XUkBqymLq+A6aMuKBNDi/rQI2KLnq8INirFrKaSZXKcmQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-8.0.4.tgz", + "integrity": "sha512-PONfG8j/AOHi79NbEkneFRZIscrShbA0sgA+62zeejH4r9+fuIkIKtLnKcAxvr8Bm6uo9aSQbISJZUcBG42WhQ==", "dev": true, "dependencies": { - "@storybook/core-common": "8.0.1", - "@storybook/preview-api": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/core-common": "8.0.4", + "@storybook/preview-api": "8.0.4", + "@storybook/types": "8.0.4", "@types/doctrine": "^0.0.3", "assert": "^2.1.0", "doctrine": "^3.0.0", @@ -4207,16 +4250,16 @@ } }, "node_modules/@storybook/instrumenter": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.0.1.tgz", - "integrity": "sha512-r01qrQZiQnf1eJ/e4NYGbG13TVU6CTwtT0KdgiJTAn/XU4QEsuWBgiudmx5+ko7zDjHMli4XW5yDgCZyefxqaw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.0.4.tgz", + "integrity": "sha512-lkHv1na12oMTZvuDbzufgqrtFlV1XqdXrAAg7YXZOia/oMz6Z/XMldEqwLPUCLGVodbFJofrpE67Wtw8dNTDQg==", "dev": true, "dependencies": { - "@storybook/channels": "8.0.1", - "@storybook/client-logger": "8.0.1", - "@storybook/core-events": "8.0.1", + "@storybook/channels": "8.0.4", + "@storybook/client-logger": "8.0.4", + "@storybook/core-events": "8.0.4", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "8.0.1", + "@storybook/preview-api": "8.0.4", "@vitest/utils": "^1.3.1", "util": "^0.12.4" }, @@ -4226,9 +4269,9 @@ } }, "node_modules/@storybook/manager": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-8.0.1.tgz", - "integrity": "sha512-UbOSz6dNhugFTXdBgCdQTa8ZQdlPmpjN1fUY3bxpv+Ii3YN4U/CDWlAmmOUKlKi/Oj2ZNQBJtJWYUe8DkerlfA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-8.0.4.tgz", + "integrity": "sha512-M5IofDSxbIQIdAglxUtZOGKjZ1EAq1Mdbh4UolVsF1PKF6dAvBQJLVW6TiLjEbmPBtqgeYKMgrmmYiFNqVcdBQ==", "dev": true, "funding": { "type": "opencollective", @@ -4236,19 +4279,20 @@ } }, "node_modules/@storybook/manager-api": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.0.1.tgz", - "integrity": "sha512-LEUU8ueHAl8Vg8/NJjuMkqU+CQKhlACSphxMk4P6LWcmRl26/4lzcecH31NflxyjDt+HmCNji3mG81MhrBur9g==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.0.4.tgz", + "integrity": "sha512-TudiRmWlsi8kdjwqW0DDLen76Zp4Sci/AnvTbZvZOWe8C2mruxcr6aaGwuIug6y+uxIyXDvURF6Cek5Twz4isg==", "dev": true, "dependencies": { - "@storybook/channels": "8.0.1", - "@storybook/client-logger": "8.0.1", - "@storybook/core-events": "8.0.1", + "@storybook/channels": "8.0.4", + "@storybook/client-logger": "8.0.4", + "@storybook/core-events": "8.0.4", "@storybook/csf": "^0.1.2", "@storybook/global": "^5.0.0", - "@storybook/router": "8.0.1", - "@storybook/theming": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/icons": "^1.2.5", + "@storybook/router": "8.0.4", + "@storybook/theming": "8.0.4", + "@storybook/types": "8.0.4", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -4262,9 +4306,9 @@ } }, "node_modules/@storybook/node-logger": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-8.0.1.tgz", - "integrity": "sha512-uYWKSz9NhLOe2O60sJ4UPT1nzvbH0oR/YjK+OP3B4BySa6e195xY/5Uhou4lEaPSNU/0XXaLHCYeXjqeBjZopA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-8.0.4.tgz", + "integrity": "sha512-cALLHuX53vLQsoJamGRlquh2pfhPq9copXou2JTmFT6mrCcipo77SzhBDfeeuhaGv6vUWPfmGjPBEHXWGPe4+g==", "dev": true, "funding": { "type": "opencollective", @@ -4272,9 +4316,9 @@ } }, "node_modules/@storybook/preview": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-8.0.1.tgz", - "integrity": "sha512-HSYwtMFJPJuNPfrBizCjDH/P8ZcyzBpgQg+/D6xcI4odSY7j2ub7QWCvbrSv1/llp0lMHDDRsFyT847qRPgwuQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-8.0.4.tgz", + "integrity": "sha512-dJa13bIxQBfa5ZsXAeL6X/oXI6b87Fy31pvpKPkW1o+7M6MC4OvwGQBqgAd7m8yn6NuIHxrdwjEupa7l7PGb6w==", "dev": true, "funding": { "type": "opencollective", @@ -4282,17 +4326,17 @@ } }, "node_modules/@storybook/preview-api": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.0.1.tgz", - "integrity": "sha512-grIox2BWEzaxXfBTIc/ODO/DerGk8PGdH6T/GIDgRxbunWndfVRT57j9sUfXuYn7nb4fPFSFD7N3gYhznpslHg==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.0.4.tgz", + "integrity": "sha512-uZCgZ/7BZkFTNudCBWx3YPFVdReMQSZJj9EfQVhQaPmfGORHGMvZMRsQXl0ONhPy7zDD4rVQxu5dSKWmIiYoWQ==", "dev": true, "dependencies": { - "@storybook/channels": "8.0.1", - "@storybook/client-logger": "8.0.1", - "@storybook/core-events": "8.0.1", + "@storybook/channels": "8.0.4", + "@storybook/client-logger": "8.0.4", + "@storybook/core-events": "8.0.4", "@storybook/csf": "^0.1.2", "@storybook/global": "^5.0.0", - "@storybook/types": "8.0.1", + "@storybook/types": "8.0.4", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -4308,17 +4352,17 @@ } }, "node_modules/@storybook/react": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.0.1.tgz", - "integrity": "sha512-8d3nklcf2ePC/23kPVdKyQGjCfgnOeETU3b/DxA3bBE6T9EkiknjH4JJebBkmYh21oMgDYn5RpCrP73niyc0MQ==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.0.4.tgz", + "integrity": "sha512-p4wQSJIhG48UD2fZ6tFDT9zaqrVnvZxjV18+VjSi3dez/pDoEMJ3SWZWcmeDenKwvvk+SPdRH7k5mUHW1Rh0xg==", "dev": true, "dependencies": { - "@storybook/client-logger": "8.0.1", - "@storybook/docs-tools": "8.0.1", + "@storybook/client-logger": "8.0.4", + "@storybook/docs-tools": "8.0.4", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "8.0.1", - "@storybook/react-dom-shim": "8.0.1", - "@storybook/types": "8.0.1", + "@storybook/preview-api": "8.0.4", + "@storybook/react-dom-shim": "8.0.4", + "@storybook/types": "8.0.4", "@types/escodegen": "^0.0.6", "@types/estree": "^0.0.51", "@types/node": "^18.0.0", @@ -4354,9 +4398,9 @@ } }, "node_modules/@storybook/react-dom-shim": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.0.1.tgz", - "integrity": "sha512-WQJiImmR4ToJTLYICwm50c3c8+vv3PFzvkoW+sMxQbYoJBJM8lfvbvsQu80aedG6C1VGEMe68mXSXSQqTvL+bA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.0.4.tgz", + "integrity": "sha512-H8bci23e+G40WsdYPuPrhAjCeeXypXuAV6mTVvLHGKH+Yb+3wiB1weaXrot/TgzPbkDNybuhTI3Qm48FPLt0bw==", "dev": true, "funding": { "type": "opencollective", @@ -4368,16 +4412,16 @@ } }, "node_modules/@storybook/react-vite": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.0.1.tgz", - "integrity": "sha512-7acTe3vM/+MvAHucet925dPSFoR3mvv0CsVCpzkp+C/EtVH9sQEo+tsWOCB1Nu7sOJSFbdte8/CEiiqwGeGOTA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.0.4.tgz", + "integrity": "sha512-SlAsLSDc9I1nhMbf0YgXCHaZbnjzDdv458xirmUj4aJhn45e8yhmODpkPYQ8nGn45VWYMyd0sC66lJNWRvI/FA==", "dev": true, "dependencies": { "@joshwooding/vite-plugin-react-docgen-typescript": "0.3.0", "@rollup/pluginutils": "^5.0.2", - "@storybook/builder-vite": "8.0.1", - "@storybook/node-logger": "8.0.1", - "@storybook/react": "8.0.1", + "@storybook/builder-vite": "8.0.4", + "@storybook/node-logger": "8.0.4", + "@storybook/react": "8.0.4", "find-up": "^5.0.0", "magic-string": "^0.30.0", "react-docgen": "^7.0.0", @@ -4428,12 +4472,12 @@ } }, "node_modules/@storybook/router": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-8.0.1.tgz", - "integrity": "sha512-lTh0veiuQIygavalQu+n/fqZoyR1RoM6kLMPg9xLfH30aFL8I+e4G9Iq9782EguSMK1ya+QYjNe7Zo/CZCfezw==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-8.0.4.tgz", + "integrity": "sha512-hlR80QvmLBflAqMeGcgtDuSe6TJlzdizwEAkBLE1lDvFI6tvvEyAliCAXBpIDdOZTe0u/zeeJkOUXKSx33caoQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "8.0.1", + "@storybook/client-logger": "8.0.4", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -4443,14 +4487,14 @@ } }, "node_modules/@storybook/telemetry": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-8.0.1.tgz", - "integrity": "sha512-A4flTBHnchC3Ly9ENx0wRDxo1o/WRPmJe+zRCRcpJleSlpaF8wrWSTP4y+b25HJiJTEhTux7XD8qd1MckErNCA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-8.0.4.tgz", + "integrity": "sha512-Q3ITY6J46R/TrrPRIU1fs3WNs69ExpTJZ9UlB8087qOUyV90Ex33SYk3i10xVWRczxCmyC1V58Xuht6nxz7mNQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "8.0.1", - "@storybook/core-common": "8.0.1", - "@storybook/csf-tools": "8.0.1", + "@storybook/client-logger": "8.0.4", + "@storybook/core-common": "8.0.4", + "@storybook/csf-tools": "8.0.4", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -4463,15 +4507,15 @@ } }, "node_modules/@storybook/test": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.0.1.tgz", - "integrity": "sha512-GCHqLTqbPLog/VcNrdDnj7XzBflzsNrZeuGKvdwJBa1UQ9DD/Ozg8BGcgitxBtLxBDLx1XclIQvP9kMEgxkaZA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.0.4.tgz", + "integrity": "sha512-/uvE8Rtu7tIcuyQBUzKq7uuDCsjmADI18BApLdwo/qthmN8ERDxRSz0Ngj2gvBMQFv99At8ESi/xh6oFGu3rWg==", "dev": true, "dependencies": { - "@storybook/client-logger": "8.0.1", - "@storybook/core-events": "8.0.1", - "@storybook/instrumenter": "8.0.1", - "@storybook/preview-api": "8.0.1", + "@storybook/client-logger": "8.0.4", + "@storybook/core-events": "8.0.4", + "@storybook/instrumenter": "8.0.4", + "@storybook/preview-api": "8.0.4", "@testing-library/dom": "^9.3.4", "@testing-library/jest-dom": "^6.4.2", "@testing-library/user-event": "^14.5.2", @@ -4486,13 +4530,13 @@ } }, "node_modules/@storybook/theming": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.0.1.tgz", - "integrity": "sha512-TUmSHRh3YrpJ25DYjD+9PpJaq9Qf9P1S2xpwfNARM9r2KpkMF1/RgqnnQgZpP9od0Tzvkji7XPzxPU//EmQKEA==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.0.4.tgz", + "integrity": "sha512-NxtTU2wMC0lj375ejoT3Npdcqwv6NeUpLaJl6EZCMXSR41ve9WG4suUNWQ63olhqKxirjzAz0IL7ggH7c3hPvA==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@storybook/client-logger": "8.0.1", + "@storybook/client-logger": "8.0.4", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -4514,12 +4558,12 @@ } }, "node_modules/@storybook/types": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.0.1.tgz", - "integrity": "sha512-JfNWLg+/dcLgLmIyTVSkM42cYgwhdIfMoLyhA1XR62Ssb9/PyuicLJYKSKS9blTkPtVEYJqcz51fmE9K67ym4w==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.0.4.tgz", + "integrity": "sha512-OO7QY+qZFCYkItDUBACtIV32p75O7sNziAiyS1V2Oxgo7Ln7fwZwr3mJcA1ruBed6ZcrW3c87k7Xs40T2zAWcg==", "dev": true, "dependencies": { - "@storybook/channels": "8.0.1", + "@storybook/channels": "8.0.4", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" }, @@ -5024,6 +5068,12 @@ "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", "dev": true }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -5037,9 +5087,9 @@ "dev": true }, "node_modules/@types/mdx": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz", - "integrity": "sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.12.tgz", + "integrity": "sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==", "dev": true }, "node_modules/@types/mime": { @@ -5378,6 +5428,34 @@ "vite": "^4 || ^5" } }, + "node_modules/@vitest/coverage-v8": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.4.0.tgz", + "integrity": "sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.4", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^9.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.4.0" + } + }, "node_modules/@vitest/expect": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz", @@ -5392,6 +5470,18 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@vitest/expect/node_modules/@vitest/spy": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz", + "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==", + "dev": true, + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, "node_modules/@vitest/expect/node_modules/@vitest/utils": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", @@ -5449,12 +5539,12 @@ "dev": true }, "node_modules/@vitest/runner": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.1.tgz", - "integrity": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.4.0.tgz", + "integrity": "sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==", "dev": true, "dependencies": { - "@vitest/utils": "1.3.1", + "@vitest/utils": "1.4.0", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -5462,42 +5552,6 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/runner/node_modules/@vitest/utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", - "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==", - "dev": true, - "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@vitest/runner/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0" - } - }, "node_modules/@vitest/runner/node_modules/p-limit": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", @@ -5513,26 +5567,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vitest/runner/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@vitest/runner/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, "node_modules/@vitest/runner/node_modules/yocto-queue": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", @@ -5546,9 +5580,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.1.tgz", - "integrity": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.4.0.tgz", + "integrity": "sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -5592,9 +5626,9 @@ "dev": true }, "node_modules/@vitest/spy": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz", - "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.4.0.tgz", + "integrity": "sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -6300,13 +6334,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.1.tgz", - "integrity": "sha512-XiFei6VGwM4ii6nKC1VCenGD8Z4bjiNYcrdkM8oqM3pbuemmyb8biMgrDX1ZHSbIuMLXatM6JJ/StPYIuTl6MQ==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.0" + "core-js-compat": "^3.36.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -6770,9 +6804,9 @@ } }, "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz", + "integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==", "dev": true, "dependencies": { "string-width": "^4.2.0" @@ -7054,9 +7088,9 @@ "dev": true }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, "engines": { "node": ">= 0.6" @@ -8506,9 +8540,9 @@ } }, "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.1.tgz", + "integrity": "sha512-K4w1/Bp7y8iSiVObmCrtq8Cs79XjJc/RU2YYkZQ7wpUu5ZyZ7MtPHkqoMz4pf+mgXfNvo2qft8D9OnrH2ABk9w==", "dev": true, "dependencies": { "accepts": "~1.3.8", @@ -8516,7 +8550,7 @@ "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -9136,18 +9170,18 @@ } }, "node_modules/giget": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.1.tgz", - "integrity": "sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz", + "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==", "dev": true, "dependencies": { - "citty": "^0.1.5", + "citty": "^0.1.6", "consola": "^3.2.3", - "defu": "^6.1.3", - "node-fetch-native": "^1.6.1", - "nypm": "^0.3.3", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.3", + "nypm": "^0.3.8", "ohash": "^1.1.3", - "pathe": "^1.1.1", + "pathe": "^1.1.2", "tar": "^6.2.0" }, "bin": { @@ -9498,6 +9532,12 @@ "node": ">=18" } }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, "node_modules/html-tags": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", @@ -10215,6 +10255,71 @@ "node": ">=0.10.0" } }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", + "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.23", + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/iterator.prototype": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", @@ -11233,6 +11338,17 @@ "node": ">=12" } }, + "node_modules/magicast": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", + "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "source-map-js": "^1.0.2" + } + }, "node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -11592,9 +11708,9 @@ } }, "node_modules/node-fetch-native": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz", - "integrity": "sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", "dev": true }, "node_modules/node-releases": { @@ -13831,12 +13947,12 @@ "dev": true }, "node_modules/storybook": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.0.1.tgz", - "integrity": "sha512-g5RoUjEeXxAH4LaD/K/ZF0W7EbqTrVC6bZU0lihx3hI6qiaRcCQq4tPR/YoiLvV8YVcRL6WmEUM8XMswv7Oc8g==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.0.4.tgz", + "integrity": "sha512-FUr3Uc2dSAQ80jINH5fSXz7zD7Ncn08OthROjwRtHAH+jMf4wxyZ+RhF3heFy9xLot2/HXOLIWyHyzZZMtGhxg==", "dev": true, "dependencies": { - "@storybook/cli": "8.0.1" + "@storybook/cli": "8.0.4" }, "bin": { "sb": "index.js", @@ -14174,9 +14290,9 @@ } }, "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, "dependencies": { "chownr": "^2.0.0", @@ -14297,6 +14413,42 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -14926,6 +15078,20 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -15010,9 +15176,9 @@ } }, "node_modules/vite-node": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.1.tgz", - "integrity": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.4.0.tgz", + "integrity": "sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -15071,16 +15237,16 @@ } }, "node_modules/vitest": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.1.tgz", - "integrity": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.4.0.tgz", + "integrity": "sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==", "dev": true, "dependencies": { - "@vitest/expect": "1.3.1", - "@vitest/runner": "1.3.1", - "@vitest/snapshot": "1.3.1", - "@vitest/spy": "1.3.1", - "@vitest/utils": "1.3.1", + "@vitest/expect": "1.4.0", + "@vitest/runner": "1.4.0", + "@vitest/snapshot": "1.4.0", + "@vitest/spy": "1.4.0", + "@vitest/utils": "1.4.0", "acorn-walk": "^8.3.2", "chai": "^4.3.10", "debug": "^4.3.4", @@ -15094,7 +15260,7 @@ "tinybench": "^2.5.1", "tinypool": "^0.8.2", "vite": "^5.0.0", - "vite-node": "1.3.1", + "vite-node": "1.4.0", "why-is-node-running": "^2.2.2" }, "bin": { @@ -15109,8 +15275,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "1.3.1", - "@vitest/ui": "1.3.1", + "@vitest/browser": "1.4.0", + "@vitest/ui": "1.4.0", "happy-dom": "*", "jsdom": "*" }, @@ -15135,16 +15301,15 @@ } } }, - "node_modules/vitest/node_modules/@vitest/utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", - "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==", + "node_modules/vitest/node_modules/@vitest/expect": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.4.0.tgz", + "integrity": "sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==", "dev": true, "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" + "@vitest/spy": "1.4.0", + "@vitest/utils": "1.4.0", + "chai": "^4.3.10" }, "funding": { "url": "https://opencollective.com/vitest" @@ -15159,27 +15324,6 @@ "node": ">=0.4.0" } }, - "node_modules/vitest/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/vitest/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0" - } - }, "node_modules/vitest/node_modules/execa": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", @@ -15290,26 +15434,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/vitest/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/vitest/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, "node_modules/vitest/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", diff --git a/package.json b/package.json index 6bd441c..6049c10 100644 --- a/package.json +++ b/package.json @@ -18,30 +18,31 @@ "format": "prettier . --write", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "test:unit": "vitest --run", - "storybook": "BROWSER=none storybook dev -p 6006", - "build:storybook": "storybook build", + "storybook": "storybook dev -p 6006 --no-open", + "storybook:build": "storybook build", "prepare": "husky && npm run build" }, "peerDependencies": { - "classnames": "^2", - "react": "^18", - "react-dom": "^18" + "react": "^18" }, "devDependencies": { + "@storybook/addon-a11y": "^8.0.4", "@storybook/addon-designs": "^8.0.0", - "@storybook/addon-essentials": "^8.0.1", - "@storybook/addon-interactions": "^8.0.1", - "@storybook/addon-links": "^8.0.1", - "@storybook/blocks": "^8.0.1", - "@storybook/react": "^8.0.1", - "@storybook/react-vite": "^8.0.1", - "@storybook/test": "^8.0.1", + "@storybook/addon-essentials": "^8.0.4", + "@storybook/addon-interactions": "^8.0.4", + "@storybook/addon-links": "^8.0.4", + "@storybook/addon-themes": "^8.0.4", + "@storybook/blocks": "^8.0.4", + "@storybook/react": "^8.0.4", + "@storybook/react-vite": "^8.0.4", + "@storybook/test": "^8.0.4", "@testing-library/react": "^14.2.1", "@types/react": "^18.2.56", "@types/react-dom": "^18.2.19", "@typescript-eslint/eslint-plugin": "^7.0.2", "@typescript-eslint/parser": "^7.0.2", "@vitejs/plugin-react-swc": "^3.5.0", + "@vitest/coverage-v8": "^1.2.1", "autoprefixer": "^10.4.18", "classnames": "^2.5.1", "eslint": "^8.56.0", @@ -58,7 +59,7 @@ "prettier-plugin-tailwindcss": "^0.5.12", "react": "^18.2.0", "react-dom": "^18.2.0", - "storybook": "^8.0.1", + "storybook": "^8.0.4", "tailwindcss": "^3.4.1", "typescript": "^5.2.2", "vite": "^5.1.4", diff --git a/tailwind.config.js b/tailwind.config.js index 1a28496..99c0cf3 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,7 +1,11 @@ /** @type {import('tailwindcss').Config} */ export default { content: ['./lib/**/*.{js,ts,jsx,tsx}'], + darkMode: 'selector', theme: { + screens: { + lg: '1440px', + }, extend: { colors: { 'jod-base': '#444bac', diff --git a/vite.config.ts b/vite.config.ts index eb1b9ad..8af9226 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -3,7 +3,7 @@ import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react-swc'; import { libInjectCss } from 'vite-plugin-lib-inject-css'; import dts from 'vite-plugin-dts'; -import { resolve } from 'path'; +import { resolve } from 'node:path'; // https://vitejs.dev/config/ export default defineConfig({