From d6959a3fccf9779e6bc0ddf6b9bb71f58922f420 Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Tue, 12 May 2026 21:51:32 +0900 Subject: [PATCH 01/15] feat(button): export .styles.css subpath --- packages/button/package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/button/package.json b/packages/button/package.json index c5377f3..23e1838 100644 --- a/packages/button/package.json +++ b/packages/button/package.json @@ -8,7 +8,10 @@ "url": "https://github.com/sipe-team/side" }, "type": "module", - "exports": "./src/index.ts", + "exports": { + ".": "./src/index.ts", + "./styles.css": "./dist/index.css" + }, "files": [ "dist" ], From 08158d39f55ec885a5d2d788aadc8b81d602cd27 Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Tue, 12 May 2026 22:07:07 +0900 Subject: [PATCH 02/15] feat(docs): add build-time props extractor --- www/.gitignore | 2 + www/package.json | 4 +- www/scripts/extract-props.mjs | 70 +++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 www/.gitignore create mode 100644 www/scripts/extract-props.mjs diff --git a/www/.gitignore b/www/.gitignore new file mode 100644 index 0000000..0be7882 --- /dev/null +++ b/www/.gitignore @@ -0,0 +1,2 @@ +# Auto-generated props metadata (build-time extraction output) +src/.generated/ diff --git a/www/package.json b/www/package.json index 5a2fb26..b6b5197 100644 --- a/www/package.json +++ b/www/package.json @@ -12,7 +12,8 @@ "write-translations": "docusaurus write-translations", "write-heading-ids": "docusaurus write-heading-ids", "typecheck": "tsc", - "clean": "rm -rf node_modules build .docusaurus" + "clean": "rm -rf node_modules build .docusaurus", + "extract:props": "node scripts/extract-props.mjs --component button" }, "dependencies": { "@docusaurus/core": "3.6.3", @@ -27,6 +28,7 @@ "@docusaurus/module-type-aliases": "3.6.3", "@docusaurus/tsconfig": "3.6.3", "@docusaurus/types": "3.6.3", + "react-docgen-typescript": "^2.2.2", "typescript": "~5.6.2" }, "browserslist": { diff --git a/www/scripts/extract-props.mjs b/www/scripts/extract-props.mjs new file mode 100644 index 0000000..eb61555 --- /dev/null +++ b/www/scripts/extract-props.mjs @@ -0,0 +1,70 @@ +#!/usr/bin/env node +/** + * Build-time props extraction. + * Usage: node scripts/extract-props.mjs --component + */ + +import fs from 'node:fs'; +import { createRequire } from 'node:module'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const require = createRequire(import.meta.url); +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const repoRoot = path.resolve(__dirname, '..', '..'); +const outputDir = path.resolve(__dirname, '..', 'src', '.generated', 'props'); + +function toPascalCase(name) { + return name + .split('-') + .map((s) => s.charAt(0).toUpperCase() + s.slice(1)) + .join(''); +} + +function formatType(type) { + if (!type) return { name: 'unknown' }; + if (Array.isArray(type.value)) { + return { + name: type.name, + value: type.value.map((v) => (typeof v === 'object' ? v.value : v)), + }; + } + return { name: type.name }; +} + +function extractProps(name) { + const reactDocgenTypescript = require('react-docgen-typescript'); + const source = path.resolve(repoRoot, 'packages', name, 'src', `${toPascalCase(name)}.tsx`); + if (!fs.existsSync(source)) throw new Error(`Source file not found: ${source}`); + + const parser = reactDocgenTypescript.withDefaultConfig({ + savePropValueAsString: true, + shouldExtractValuesFromUnion: true, + shouldRemoveUndefinedFromOptional: true, + propFilter: (prop) => (prop.parent ? !prop.parent.fileName.includes('node_modules') : true), + }); + const [doc] = parser.parse(source); + if (!doc) return []; + + return Object.values(doc.props).map((p) => ({ + name: p.name, + type: formatType(p.type), + defaultValue: p.defaultValue ? { value: p.defaultValue.value } : null, + required: p.required, + description: p.description || '', + })); +} + +const args = process.argv.slice(2); +const idx = args.indexOf('--component'); +const name = args[idx + 1]; +// Restrict to lowercase alphanumeric+hyphen so the resolved source path cannot escape packages/. +if (idx === -1 || !name || !/^[a-z][a-z0-9-]*$/.test(name)) { + console.error('Usage: node scripts/extract-props.mjs --component '); + process.exit(1); +} + +const props = extractProps(name); +fs.mkdirSync(outputDir, { recursive: true }); +fs.writeFileSync(path.resolve(outputDir, `${name}.json`), JSON.stringify(props, null, 2)); +console.log(`[extract-props] ${name}: ${props.length} props`); From c1c75bb0aac8a26d6dc7bc1082fa7e8f9e1a05de Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Tue, 12 May 2026 22:34:01 +0900 Subject: [PATCH 03/15] build(docs): wire deps and vanilla-extract plugin --- pnpm-lock.yaml | 55 ++++++++++++++++++++++++++++++++++++++++ www/docusaurus.config.ts | 13 ++++++++++ www/package.json | 7 ++++- www/tsconfig.json | 3 ++- 4 files changed, 76 insertions(+), 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e702083..440450a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1175,6 +1175,12 @@ importers: '@mdx-js/react': specifier: ^3.0.0 version: 3.1.0(@types/react@18.3.13)(react@18.3.1) + '@sipe-team/button': + specifier: workspace:* + version: link:../packages/button + '@sipe-team/tokens': + specifier: workspace:^ + version: link:../packages/tokens clsx: specifier: ^2.0.0 version: 2.1.1 @@ -1187,6 +1193,9 @@ importers: react-dom: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) + react-live: + specifier: ^4.1.0 + version: 4.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@docusaurus/module-type-aliases': specifier: 3.6.3 @@ -1197,6 +1206,12 @@ importers: '@docusaurus/types': specifier: 3.6.3 version: 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@vanilla-extract/webpack-plugin': + specifier: ^2.3.27 + version: 2.3.27(webpack@5.97.1(esbuild@0.27.7)) + react-docgen-typescript: + specifier: ^2.2.2 + version: 2.2.2(typescript@5.6.3) typescript: specifier: ~5.6.2 version: 5.6.3 @@ -4300,6 +4315,11 @@ packages: peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + '@vanilla-extract/webpack-plugin@2.3.27': + resolution: {integrity: sha512-i/GFQPifTkGYXYpkVYzScBPwXB82f+5GMLg9rh9UBgTG6M/YUebIDVjVOC9Mn5VMvc8Fk2w/FmagDRLugHA09w==} + peerDependencies: + webpack: ^4.30.0 || ^5.20.2 + '@vitest/coverage-v8@2.1.8': resolution: {integrity: sha512-2Y7BPlKH18mAZYAW1tYByudlCYrQyl5RGvnnDYJKW5tCiO5qg3KSAy3XAxcxKz900a0ZXxWtKrMuZLe3lKBpJw==} peerDependencies: @@ -8193,6 +8213,13 @@ packages: peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-live@4.1.8: + resolution: {integrity: sha512-B2SgNqwPuS2ekqj4lcxi5TibEcjWkdVyYykBEUBshPAPDQ527x2zPEZg560n8egNtAjUpwXFQm7pcXV65aAYmg==} + engines: {node: '>= 0.12.0', npm: '>= 2.0.0'} + peerDependencies: + react: '>=18.0.0' + react-dom: '>=18.0.0' + react-loadable-ssr-addon-v5-slorber@1.0.1: resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} engines: {node: '>=10.13.0'} @@ -9151,6 +9178,11 @@ packages: resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} engines: {node: '>= 0.4'} + use-editable@2.3.3: + resolution: {integrity: sha512-7wVD2JbfAFJ3DK0vITvXBdpd9JAz5BcKAAolsnLBuBn6UDDwBGuCIAGvR3yA2BNKm578vAMVHFCWaOcA+BhhiA==} + peerDependencies: + react: '>= 16.8.0' + use-sync-external-store@1.6.0: resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} peerDependencies: @@ -13577,6 +13609,17 @@ snapshots: - tsx - yaml + '@vanilla-extract/webpack-plugin@2.3.27(webpack@5.97.1(esbuild@0.27.7))': + dependencies: + '@vanilla-extract/integration': 8.0.10 + debug: 4.4.0 + loader-utils: 2.0.4 + picocolors: 1.1.1 + webpack: 5.97.1(esbuild@0.27.7) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + '@vitest/coverage-v8@2.1.8(vitest@2.1.8(@types/node@22.10.1)(happy-dom@15.11.7)(jsdom@26.1.0)(lightningcss@1.32.0)(terser@5.37.0))': dependencies: '@ampproject/remapping': 2.3.0 @@ -18114,6 +18157,14 @@ snapshots: dependencies: react: 18.3.1 + react-live@4.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + prism-react-renderer: 2.4.1(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + sucrase: 3.35.0 + use-editable: 2.3.3(react@18.3.1) + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.3.1))(webpack@5.97.1(esbuild@0.27.7)): dependencies: '@babel/runtime': 7.26.0 @@ -19270,6 +19321,10 @@ snapshots: punycode: 1.4.1 qs: 6.13.0 + use-editable@2.3.3(react@18.3.1): + dependencies: + react: 18.3.1 + use-sync-external-store@1.6.0(react@18.3.1): dependencies: react: 18.3.1 diff --git a/www/docusaurus.config.ts b/www/docusaurus.config.ts index b35dcdf..e2f0505 100644 --- a/www/docusaurus.config.ts +++ b/www/docusaurus.config.ts @@ -1,3 +1,5 @@ +import { VanillaExtractPlugin } from '@vanilla-extract/webpack-plugin'; + import type * as Preset from '@docusaurus/preset-classic'; import type { Config } from '@docusaurus/types'; import { themes as prismThemes } from 'prism-react-renderer'; @@ -32,6 +34,17 @@ export default { ], ], + plugins: [ + () => ({ + name: 'playground-vanilla-extract', + configureWebpack() { + return { + plugins: [new VanillaExtractPlugin()], + }; + }, + }), + ], + themeConfig: { image: 'img/docusaurus-social-card.jpg', navbar: { diff --git a/www/package.json b/www/package.json index b6b5197..f40060d 100644 --- a/www/package.json +++ b/www/package.json @@ -5,6 +5,7 @@ "scripts": { "dev": "docusaurus start", "build": "docusaurus build", + "prebuild": "pnpm run extract:props", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", "clear": "docusaurus clear", @@ -19,15 +20,19 @@ "@docusaurus/core": "3.6.3", "@docusaurus/preset-classic": "3.6.3", "@mdx-js/react": "^3.0.0", + "@sipe-team/button": "workspace:*", + "@sipe-team/tokens": "workspace:^", "clsx": "^2.0.0", "prism-react-renderer": "^2.3.0", "react": "^18.3.1", - "react-dom": "^18.3.1" + "react-dom": "^18.3.1", + "react-live": "^4.1.0" }, "devDependencies": { "@docusaurus/module-type-aliases": "3.6.3", "@docusaurus/tsconfig": "3.6.3", "@docusaurus/types": "3.6.3", + "@vanilla-extract/webpack-plugin": "^2.3.27", "react-docgen-typescript": "^2.2.2", "typescript": "~5.6.2" }, diff --git a/www/tsconfig.json b/www/tsconfig.json index d250afa..2b39aea 100644 --- a/www/tsconfig.json +++ b/www/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "@docusaurus/tsconfig", "compilerOptions": { - "baseUrl": "." + "baseUrl": ".", + "resolveJsonModule": true } } From 288170aca902524ac8ea60b883c73fa00ae02cf4 Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Tue, 12 May 2026 23:32:23 +0900 Subject: [PATCH 04/15] build(docs): set up Tailwind v4 via PostCSS plugin --- pnpm-lock.yaml | 444 +++++++++++++++++++++++++++++---------- www/docusaurus.config.ts | 8 + www/package.json | 2 + www/src/custom.css | 2 + 4 files changed, 342 insertions(+), 114 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 440450a..564c29b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -137,7 +137,7 @@ importers: version: 2.3.22(esbuild@0.27.7) '@vanilla-extract/vite-plugin': specifier: 'catalog:' - version: 5.2.2(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(vite@5.4.11(@types/node@22.10.1)(lightningcss@1.32.0)(terser@5.37.0))(yaml@2.6.1) + version: 5.2.2(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(vite@5.4.11(@types/node@22.10.1)(lightningcss@1.32.0)(terser@5.37.0))(yaml@2.6.1) '@vitest/coverage-v8': specifier: 'catalog:' version: 2.1.8(vitest@2.1.8(@types/node@22.10.1)(happy-dom@15.11.7)(jsdom@26.1.0)(lightningcss@1.32.0)(terser@5.37.0)) @@ -173,7 +173,7 @@ importers: version: 10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) tsx: specifier: ^4.19.2 version: 4.19.2 @@ -234,7 +234,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -283,7 +283,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -329,7 +329,7 @@ importers: version: 13.0.0 tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -381,7 +381,7 @@ importers: version: 13.0.0 tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -430,7 +430,7 @@ importers: version: 13.0.0 tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -476,7 +476,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -504,7 +504,7 @@ importers: version: 10.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) '@storybook/react-vite': specifier: 'catalog:' - version: 10.3.5(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7)) + version: 10.3.5(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7)) '@testing-library/jest-dom': specifier: 'catalog:' version: 6.6.3 @@ -534,7 +534,7 @@ importers: version: 10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -577,7 +577,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -620,7 +620,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -663,7 +663,7 @@ importers: version: 18.3.1 tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -696,7 +696,7 @@ importers: version: 3.3.2 tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -745,7 +745,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -800,7 +800,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -828,7 +828,7 @@ importers: version: 18.3.1 tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -886,7 +886,7 @@ importers: devDependencies: tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -932,7 +932,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -975,7 +975,7 @@ importers: version: 1.20.1 '@vanilla-extract/vite-plugin': specifier: 'catalog:' - version: 5.2.2(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) + version: 5.2.2(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1) happy-dom: specifier: 'catalog:' version: 15.11.7 @@ -987,7 +987,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -1024,7 +1024,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -1058,7 +1058,7 @@ importers: version: 5.4.0(tslib@2.8.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -1107,7 +1107,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -1156,7 +1156,7 @@ importers: version: 18.3.1(react@18.3.1) tsup: specifier: 'catalog:' - version: 8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) + version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: 'catalog:' version: 5.6.3 @@ -1168,10 +1168,10 @@ importers: dependencies: '@docusaurus/core': specifier: 3.6.3 - version: 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + version: 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/preset-classic': specifier: 3.6.3 - version: 3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3) + version: 3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3) '@mdx-js/react': specifier: ^3.0.0 version: 3.1.0(@types/react@18.3.13)(react@18.3.1) @@ -1206,12 +1206,18 @@ importers: '@docusaurus/types': specifier: 3.6.3 version: 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tailwindcss/postcss': + specifier: ^4.3.0 + version: 4.3.0 '@vanilla-extract/webpack-plugin': specifier: ^2.3.27 version: 2.3.27(webpack@5.97.1(esbuild@0.27.7)) react-docgen-typescript: specifier: ^2.2.2 version: 2.2.2(typescript@5.6.3) + tailwindcss: + specifier: ^4.3.0 + version: 4.3.0 typescript: specifier: ~5.6.2 version: 5.6.3 @@ -1341,6 +1347,10 @@ packages: '@algolia/transporter@4.24.0': resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==} + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -4032,6 +4042,98 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} + '@tailwindcss/node@4.3.0': + resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==} + + '@tailwindcss/oxide-android-arm64@4.3.0': + resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.3.0': + resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.3.0': + resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.3.0': + resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': + resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': + resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-arm64-musl@4.3.0': + resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-linux-x64-gnu@4.3.0': + resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-x64-musl@4.3.0': + resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-wasm32-wasi@4.3.0': + resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': + resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.3.0': + resolution: {integrity: sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.3.0': + resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==} + engines: {node: '>= 20'} + + '@tailwindcss/postcss@4.3.0': + resolution: {integrity: sha512-Jm05Tjx+9yCLGv5qw1c+84Psds8MnyrEQYCB+FFk2lgGiUjlRqdxke4mVTuYrj2xnVZqKim2Apr5ySuQRYAw/w==} + '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} @@ -5531,6 +5633,10 @@ packages: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} + enhanced-resolve@5.23.0: + resolution: {integrity: sha512-yJN/BOOLxcOW2aQgeif9mSnaUB8KtvmMMp56oA1kx1CRfBKbhZm2pJ+NBY+3eOboHxix8lfjWpHE0Ei5U8RbSA==} + engines: {node: '>=10.13.0'} + enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -6605,6 +6711,10 @@ packages: resolution: {integrity: sha512-yPBThwecp1wS9DmoA4x4KR2h3QoslacnDR8ypuFM962kI4/456Iy1oHx2RAgh4jfZNdn0bctsdadceiBUgpU1g==} hasBin: true + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true + jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} @@ -7280,6 +7390,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.12: + resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -8050,6 +8165,10 @@ packages: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.15: + resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} + engines: {node: ^10 || ^12 || >=14} + postcss@8.5.9: resolution: {integrity: sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==} engines: {node: ^10 || ^12 || >=14} @@ -8863,6 +8982,9 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + tailwindcss@4.3.0: + resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==} + tapable@1.1.3: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} @@ -8871,6 +8993,10 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} + engines: {node: '>=6'} + term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} @@ -9770,6 +9896,8 @@ snapshots: '@algolia/logger-common': 4.24.0 '@algolia/requester-common': 4.24.0 + '@alloc/quick-lru@5.2.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -11349,7 +11477,7 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/bundler@3.6.3(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/bundler@3.6.3(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: '@babel/core': 7.26.0 '@docusaurus/babel': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) @@ -11370,7 +11498,7 @@ snapshots: postcss: 8.4.49 postcss-loader: 7.3.4(postcss@8.4.49)(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)) postcss-preset-env: 10.1.3(postcss@8.4.49) - react-dev-utils: 12.0.1(eslint@9.20.0(jiti@2.4.1))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)) + react-dev-utils: 12.0.1(eslint@9.20.0(jiti@2.7.0))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)) terser-webpack-plugin: 5.3.11(esbuild@0.27.7)(webpack@5.97.1(esbuild@0.27.7)) tslib: 2.8.1 url-loader: 4.1.1(file-loader@6.2.0(webpack@5.97.1(esbuild@0.27.7)))(webpack@5.97.1(esbuild@0.27.7)) @@ -11394,10 +11522,10 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/core@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/core@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: '@docusaurus/babel': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/bundler': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/bundler': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.3 '@docusaurus/mdx-loader': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/utils': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) @@ -11424,7 +11552,7 @@ snapshots: p-map: 4.0.0 prompts: 2.4.2 react: 18.3.1 - react-dev-utils: 12.0.1(eslint@9.20.0(jiti@2.4.1))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)) + react-dev-utils: 12.0.1(eslint@9.20.0(jiti@2.7.0))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)) react-dom: 18.3.1(react@18.3.1) react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.3.1)' @@ -11530,13 +11658,13 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-content-blog@3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.3 '@docusaurus/mdx-loader': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/types': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/utils-common': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -11574,13 +11702,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.3 '@docusaurus/mdx-loader': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/module-type-aliases': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/types': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/utils-common': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -11616,9 +11744,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-content-pages@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/mdx-loader': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/types': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) @@ -11649,9 +11777,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-debug@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/types': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) fs-extra: 11.3.0 @@ -11680,9 +11808,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-google-analytics@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/types': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) react: 18.3.1 @@ -11709,9 +11837,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-google-gtag@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/types': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@types/gtag.js': 0.0.12 @@ -11739,9 +11867,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-google-tag-manager@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/types': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils-validation': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) react: 18.3.1 @@ -11768,9 +11896,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-sitemap@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.3 '@docusaurus/types': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) @@ -11802,20 +11930,20 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-blog': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-pages': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-debug': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-google-analytics': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-google-gtag': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-google-tag-manager': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-sitemap': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-classic': 3.6.3(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-search-algolia': 3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3) + '@docusaurus/preset-classic@3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-blog': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-pages': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-debug': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-google-analytics': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-google-gtag': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-google-tag-manager': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-sitemap': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-classic': 3.6.3(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-search-algolia': 3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3) '@docusaurus/types': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -11848,16 +11976,16 @@ snapshots: '@types/react': 18.3.13 react: 18.3.1 - '@docusaurus/theme-classic@3.6.3(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/theme-classic@3.6.3(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.3 '@docusaurus/mdx-loader': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/module-type-aliases': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-pages': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-blog': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-pages': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/theme-translations': 3.6.3 '@docusaurus/types': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/utils': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) @@ -11899,11 +12027,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/theme-common@3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: '@docusaurus/mdx-loader': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/module-type-aliases': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/utils': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/utils-common': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/history': 4.7.11 @@ -11925,13 +12053,13 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/theme-search-algolia@3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)': + '@docusaurus/theme-search-algolia@3.6.3(@algolia/client-search@5.20.0)(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)': dependencies: '@docsearch/react': 3.8.3(@algolia/client-search@5.20.0)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) - '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.3 - '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.4.1))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1))(acorn@8.16.0)(esbuild@0.27.7)(eslint@9.20.0(jiti@2.7.0))(lightningcss@1.32.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/theme-translations': 3.6.3 '@docusaurus/utils': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/utils-validation': 3.6.3(acorn@8.16.0)(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) @@ -12303,9 +12431,9 @@ snapshots: '@esbuild/win32-x64@0.27.7': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.20.0(jiti@2.4.1))': + '@eslint-community/eslint-utils@4.4.1(eslint@9.20.0(jiti@2.7.0))': dependencies: - eslint: 9.20.0(jiti@2.4.1) + eslint: 9.20.0(jiti@2.7.0) eslint-visitor-keys: 3.4.3 optional: true @@ -12425,11 +12553,11 @@ snapshots: optionalDependencies: typescript: 5.6.3 - '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0(typescript@5.6.3)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0(typescript@5.6.3)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))': dependencies: glob: 13.0.6 react-docgen-typescript: 2.2.2(typescript@5.6.3) - vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) optionalDependencies: typescript: 5.6.3 @@ -12988,12 +13116,12 @@ snapshots: - rollup - webpack - '@storybook/builder-vite@10.3.5(esbuild@0.27.7)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7))': + '@storybook/builder-vite@10.3.5(esbuild@0.27.7)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7))': dependencies: - '@storybook/csf-plugin': 10.3.5(esbuild@0.27.7)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7)) + '@storybook/csf-plugin': 10.3.5(esbuild@0.27.7)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7)) storybook: 10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) ts-dedent: 2.2.0 - vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - esbuild - rollup @@ -13009,14 +13137,14 @@ snapshots: vite: 5.4.11(@types/node@22.10.1)(lightningcss@1.32.0)(terser@5.37.0) webpack: 5.97.1(esbuild@0.27.7) - '@storybook/csf-plugin@10.3.5(esbuild@0.27.7)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7))': + '@storybook/csf-plugin@10.3.5(esbuild@0.27.7)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7))': dependencies: storybook: 10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) unplugin: 2.3.11 optionalDependencies: esbuild: 0.27.7 rollup: 4.60.1 - vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) webpack: 5.97.1(esbuild@0.27.7) '@storybook/global@5.0.0': {} @@ -13054,11 +13182,11 @@ snapshots: - typescript - webpack - '@storybook/react-vite@10.3.5(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7))': + '@storybook/react-vite@10.3.5(esbuild@0.27.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.7.0(typescript@5.6.3)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.7.0(typescript@5.6.3)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)) '@rollup/pluginutils': 5.1.3(rollup@4.60.1) - '@storybook/builder-vite': 10.3.5(esbuild@0.27.7)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7)) + '@storybook/builder-vite': 10.3.5(esbuild@0.27.7)(rollup@4.60.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(webpack@5.97.1(esbuild@0.27.7)) '@storybook/react': 10.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) empathic: 2.0.0 magic-string: 0.30.21 @@ -13068,7 +13196,7 @@ snapshots: resolve: 1.22.8 storybook: 10.3.5(@testing-library/dom@10.4.0)(prettier@3.8.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tsconfig-paths: 4.2.0 - vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - esbuild - rollup @@ -13187,6 +13315,75 @@ snapshots: dependencies: defer-to-connect: 2.0.1 + '@tailwindcss/node@4.3.0': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.23.0 + jiti: 2.7.0 + lightningcss: 1.32.0 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.3.0 + + '@tailwindcss/oxide-android-arm64@4.3.0': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.3.0': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.3.0': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.3.0': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.3.0': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.3.0': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.3.0': + optional: true + + '@tailwindcss/oxide@4.3.0': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.3.0 + '@tailwindcss/oxide-darwin-arm64': 4.3.0 + '@tailwindcss/oxide-darwin-x64': 4.3.0 + '@tailwindcss/oxide-freebsd-x64': 4.3.0 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.0 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.0 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.0 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.0 + '@tailwindcss/oxide-linux-x64-musl': 4.3.0 + '@tailwindcss/oxide-wasm32-wasi': 4.3.0 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.0 + + '@tailwindcss/postcss@4.3.0': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.3.0 + '@tailwindcss/oxide': 4.3.0 + postcss: 8.5.15 + tailwindcss: 4.3.0 + '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.26.2 @@ -13491,12 +13688,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@vanilla-extract/compiler@0.7.0(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)': + '@vanilla-extract/compiler@0.7.0(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1)': dependencies: '@vanilla-extract/css': 1.20.1 '@vanilla-extract/integration': 8.0.10 vite: 5.4.11(@types/node@22.10.1)(lightningcss@1.32.0)(terser@5.37.0) - vite-node: 6.0.0(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite-node: 6.0.0(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -13565,9 +13762,9 @@ snapshots: dependencies: '@vanilla-extract/css': 1.20.1 - '@vanilla-extract/vite-plugin@5.2.2(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(vite@5.4.11(@types/node@22.10.1)(lightningcss@1.32.0)(terser@5.37.0))(yaml@2.6.1)': + '@vanilla-extract/vite-plugin@5.2.2(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(vite@5.4.11(@types/node@22.10.1)(lightningcss@1.32.0)(terser@5.37.0))(yaml@2.6.1)': dependencies: - '@vanilla-extract/compiler': 0.7.0(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + '@vanilla-extract/compiler': 0.7.0(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) '@vanilla-extract/integration': 8.0.10 vite: 5.4.11(@types/node@22.10.1)(lightningcss@1.32.0)(terser@5.37.0) transitivePeerDependencies: @@ -13587,11 +13784,11 @@ snapshots: - tsx - yaml - '@vanilla-extract/vite-plugin@5.2.2(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1)': + '@vanilla-extract/vite-plugin@5.2.2(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1))(yaml@2.6.1)': dependencies: - '@vanilla-extract/compiler': 0.7.0(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + '@vanilla-extract/compiler': 0.7.0(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(lightningcss@1.32.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) '@vanilla-extract/integration': 8.0.10 - vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -14941,6 +15138,11 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enhanced-resolve@5.23.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.3 + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -15095,9 +15297,9 @@ snapshots: eslint-visitor-keys@4.2.0: optional: true - eslint@9.20.0(jiti@2.4.1): + eslint@9.20.0(jiti@2.7.0): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.0(jiti@2.4.1)) + '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.0(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.1 '@eslint/core': 0.11.0 @@ -15132,7 +15334,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.4.1 + jiti: 2.7.0 transitivePeerDependencies: - supports-color optional: true @@ -15433,7 +15635,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.20.0(jiti@2.4.1))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.20.0(jiti@2.7.0))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)): dependencies: '@babel/code-frame': 7.26.2 '@types/json-schema': 7.0.15 @@ -15451,7 +15653,7 @@ snapshots: typescript: 5.6.3 webpack: 5.97.1(esbuild@0.27.7) optionalDependencies: - eslint: 9.20.0(jiti@2.4.1) + eslint: 9.20.0(jiti@2.7.0) form-data-encoder@2.1.4: {} @@ -16241,6 +16443,8 @@ snapshots: jiti@2.4.1: {} + jiti@2.7.0: {} + jju@1.4.0: {} joi@17.13.3: @@ -17189,6 +17393,8 @@ snapshots: nanoid@3.3.11: {} + nanoid@3.3.12: {} + nanoid@3.3.8: {} natural-compare@1.4.0: @@ -17663,12 +17869,12 @@ snapshots: '@csstools/utilities': 2.0.0(postcss@8.4.49) postcss: 8.4.49 - postcss-load-config@6.0.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(yaml@2.6.1): + postcss-load-config@6.0.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(yaml@2.6.1): dependencies: lilconfig: 3.1.3 optionalDependencies: - jiti: 2.4.1 - postcss: 8.5.9 + jiti: 2.7.0 + postcss: 8.5.15 tsx: 4.19.2 yaml: 2.6.1 @@ -17965,6 +18171,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.15: + dependencies: + nanoid: 3.3.12 + picocolors: 1.1.1 + source-map-js: 1.2.1 + postcss@8.5.9: dependencies: nanoid: 3.3.11 @@ -18069,7 +18281,7 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@12.0.1(eslint@9.20.0(jiti@2.4.1))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)): + react-dev-utils@12.0.1(eslint@9.20.0(jiti@2.7.0))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)): dependencies: '@babel/code-frame': 7.26.2 address: 1.2.2 @@ -18080,7 +18292,7 @@ snapshots: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.20.0(jiti@2.4.1))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.20.0(jiti@2.7.0))(typescript@5.6.3)(webpack@5.97.1(esbuild@0.27.7)) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -19021,10 +19233,14 @@ snapshots: symbol-tree@3.2.4: optional: true + tailwindcss@4.3.0: {} + tapable@1.1.3: {} tapable@2.2.1: {} + tapable@2.3.3: {} + term-size@2.2.1: {} terser-webpack-plugin@5.3.11(esbuild@0.27.7)(webpack@5.97.1(esbuild@0.27.7)): @@ -19150,7 +19366,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1): + tsup@8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1): dependencies: bundle-require: 5.1.0(esbuild@0.27.7) cac: 6.7.14 @@ -19161,7 +19377,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.1)(postcss@8.5.9)(tsx@4.19.2)(yaml@2.6.1) + postcss-load-config: 6.0.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(yaml@2.6.1) resolve-from: 5.0.0 rollup: 4.60.1 source-map: 0.7.6 @@ -19170,7 +19386,7 @@ snapshots: tinyglobby: 0.2.16 tree-kill: 1.2.2 optionalDependencies: - postcss: 8.5.9 + postcss: 8.5.15 typescript: 5.6.3 transitivePeerDependencies: - jiti @@ -19388,13 +19604,13 @@ snapshots: - supports-color - terser - vite-node@6.0.0(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): + vite-node@6.0.0(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: cac: 7.0.0 es-module-lexer: 2.0.0 obug: 2.1.1 pathe: 2.0.3 - vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) + vite: 8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -19420,7 +19636,7 @@ snapshots: lightningcss: 1.32.0 terser: 5.37.0 - vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.4.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): + vite@8.0.8(@types/node@22.10.1)(esbuild@0.27.7)(jiti@2.7.0)(terser@5.37.0)(tsx@4.19.2)(yaml@2.6.1): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -19431,7 +19647,7 @@ snapshots: '@types/node': 22.10.1 esbuild: 0.27.7 fsevents: 2.3.3 - jiti: 2.4.1 + jiti: 2.7.0 terser: 5.37.0 tsx: 4.19.2 yaml: 2.6.1 diff --git a/www/docusaurus.config.ts b/www/docusaurus.config.ts index e2f0505..32cd58c 100644 --- a/www/docusaurus.config.ts +++ b/www/docusaurus.config.ts @@ -2,6 +2,7 @@ import { VanillaExtractPlugin } from '@vanilla-extract/webpack-plugin'; import type * as Preset from '@docusaurus/preset-classic'; import type { Config } from '@docusaurus/types'; +import tailwindcssPostcss from '@tailwindcss/postcss'; import { themes as prismThemes } from 'prism-react-renderer'; export default { @@ -43,6 +44,13 @@ export default { }; }, }), + () => ({ + name: 'playground-tailwind', + configurePostCss(postcssOptions) { + postcssOptions.plugins.push(tailwindcssPostcss()); + return postcssOptions; + }, + }), ], themeConfig: { diff --git a/www/package.json b/www/package.json index f40060d..71496bd 100644 --- a/www/package.json +++ b/www/package.json @@ -32,8 +32,10 @@ "@docusaurus/module-type-aliases": "3.6.3", "@docusaurus/tsconfig": "3.6.3", "@docusaurus/types": "3.6.3", + "@tailwindcss/postcss": "^4.3.0", "@vanilla-extract/webpack-plugin": "^2.3.27", "react-docgen-typescript": "^2.2.2", + "tailwindcss": "^4.3.0", "typescript": "~5.6.2" }, "browserslist": { diff --git a/www/src/custom.css b/www/src/custom.css index c875358..e5b66f0 100644 --- a/www/src/custom.css +++ b/www/src/custom.css @@ -1,3 +1,5 @@ +@import "tailwindcss"; + :root { --ifm-color-primary: #2e8555; --ifm-color-primary-dark: #29784c; From 9e4549d8ee601e11153a740fb95d2bffa2a0aaa1 Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Tue, 12 May 2026 23:43:26 +0900 Subject: [PATCH 05/15] feat(docs): add Playground component --- .../components/Playground/ControlsPanel.tsx | 91 +++++++++++++++++++ www/src/components/Playground/Playground.tsx | 79 ++++++++++++++++ www/src/components/Playground/PropTable.tsx | 56 ++++++++++++ www/src/components/Playground/generateCode.ts | 30 ++++++ www/src/components/Playground/index.ts | 1 + www/src/components/Playground/registry.ts | 15 +++ 6 files changed, 272 insertions(+) create mode 100644 www/src/components/Playground/ControlsPanel.tsx create mode 100644 www/src/components/Playground/Playground.tsx create mode 100644 www/src/components/Playground/PropTable.tsx create mode 100644 www/src/components/Playground/generateCode.ts create mode 100644 www/src/components/Playground/index.ts create mode 100644 www/src/components/Playground/registry.ts diff --git a/www/src/components/Playground/ControlsPanel.tsx b/www/src/components/Playground/ControlsPanel.tsx new file mode 100644 index 0000000..63cedc5 --- /dev/null +++ b/www/src/components/Playground/ControlsPanel.tsx @@ -0,0 +1,91 @@ +import { unquote } from './generateCode'; + +type PropDescriptor = { + name: string; + type: { name: string; value?: string[] }; + defaultValue: { value: string } | null; + required: boolean; + description: string; +}; + +type ControlsPanelProps = { + propsSchema: readonly PropDescriptor[]; + values: Record; + onChange: (name: string, value: string) => void; +}; + +export function ControlsPanel({ propsSchema, values, onChange }: ControlsPanelProps) { + return ( +
+ Controls + {propsSchema.map((prop) => { + const { name, type } = prop; + + if (type.name === 'enum' && type.value) { + const isBoolean = + type.value.length === 2 && type.value.every((v) => unquote(v) === 'true' || unquote(v) === 'false'); + + if (isBoolean) { + return ( + + ); + } + + return ( + + ); + } + + if (type.name === 'boolean') { + return ( + + ); + } + + if (type.name === 'string') { + return ( + + ); + } + + return null; + })} +
+ ); +} diff --git a/www/src/components/Playground/Playground.tsx b/www/src/components/Playground/Playground.tsx new file mode 100644 index 0000000..ea385b4 --- /dev/null +++ b/www/src/components/Playground/Playground.tsx @@ -0,0 +1,79 @@ +import { useMemo, useState } from 'react'; +import { LiveEditor, LiveError, LivePreview, LiveProvider } from 'react-live'; + +import BrowserOnly from '@docusaurus/BrowserOnly'; + +import { ControlsPanel } from './ControlsPanel'; +import { generateCode, initialDefaults } from './generateCode'; +import { PropTable } from './PropTable'; +import { type ComponentRegistryKey, componentRegistry } from './registry'; + +type PlaygroundProps = { + component: string; +}; + +type RegistryEntry = (typeof componentRegistry)[ComponentRegistryKey]; + +function PlaygroundInner({ entry, componentKey }: { entry: RegistryEntry; componentKey: string }) { + const componentName = componentKey.charAt(0).toUpperCase() + componentKey.slice(1); + + const [controlValues, setControlValues] = useState>(() => + initialDefaults(entry.props as Parameters[0]), + ); + + const code = useMemo( + () => generateCode(componentName, controlValues, entry.defaultChildren), + [componentName, controlValues, entry.defaultChildren], + ); + + return ( +
+ }> +
+
+
+ Editor +
+ +
+
+
+ Preview +
+
+ +
+ +
+
+ [0]['propsSchema']} + values={controlValues} + onChange={(name, value) => setControlValues((prev) => ({ ...prev, [name]: value }))} + /> +
+
+ Props + [0]['propsSchema']} /> +
+
+ ); +} + +export function Playground({ component }: PlaygroundProps) { + const entry = componentRegistry[component as ComponentRegistryKey]; + + if (!entry) { + return ( +
+ Unknown component: "{component}". Available: {Object.keys(componentRegistry).join(', ')} +
+ ); + } + + return ( + Loading playground...}> + {() => } + + ); +} diff --git a/www/src/components/Playground/PropTable.tsx b/www/src/components/Playground/PropTable.tsx new file mode 100644 index 0000000..8293427 --- /dev/null +++ b/www/src/components/Playground/PropTable.tsx @@ -0,0 +1,56 @@ +import { unquote } from './generateCode'; + +type PropDescriptor = { + name: string; + type: { name: string; value?: string[] }; + defaultValue: { value: string } | null; + required: boolean; + description: string; +}; + +type PropTableProps = { + propsSchema: readonly PropDescriptor[]; +}; + +function renderType(prop: PropDescriptor): string { + if (prop.type.name === 'enum' && prop.type.value) { + return prop.type.value.map((v) => `"${unquote(v)}"`).join(' | '); + } + return prop.type.name; +} + +function renderDefault(prop: PropDescriptor): string { + if (prop.defaultValue === null) return '-'; + return unquote(prop.defaultValue.value); +} + +export function PropTable({ propsSchema }: PropTableProps) { + return ( + + + + + + + + + + + {propsSchema.map((prop) => ( + + + + + + + ))} + +
NameTypeDefaultDescription
+ {prop.name} + + {renderType(prop)} + + {renderDefault(prop)} + {prop.description || '-'}
+ ); +} diff --git a/www/src/components/Playground/generateCode.ts b/www/src/components/Playground/generateCode.ts new file mode 100644 index 0000000..25b91da --- /dev/null +++ b/www/src/components/Playground/generateCode.ts @@ -0,0 +1,30 @@ +export function unquote(s: string): string { + return s.replace(/^"|"$/g, ''); +} + +type PropDescriptor = { + name: string; + type: { name: string; value?: string[] }; + defaultValue: { value: string } | null; + required: boolean; + description: string; +}; + +export function initialDefaults(props: readonly PropDescriptor[]): Record { + return Object.fromEntries( + props.map((p) => [p.name, p.defaultValue?.value ?? (p.type.name === 'boolean' ? 'false' : '')]), + ); +} + +export function generateCode(name: string, values: Record, children?: string): string { + const attrs = Object.entries(values) + .map(([k, v]) => { + const clean = unquote(v); + if (clean === '' || clean === 'false') return ''; + if (clean === 'true') return k; + return `${k}="${clean}"`; + }) + .filter(Boolean) + .join(' '); + return `<${name}${attrs ? ` ${attrs}` : ''}>${children ?? ''}`; +} diff --git a/www/src/components/Playground/index.ts b/www/src/components/Playground/index.ts new file mode 100644 index 0000000..20dab23 --- /dev/null +++ b/www/src/components/Playground/index.ts @@ -0,0 +1 @@ +export { Playground } from './Playground'; diff --git a/www/src/components/Playground/registry.ts b/www/src/components/Playground/registry.ts new file mode 100644 index 0000000..23536c6 --- /dev/null +++ b/www/src/components/Playground/registry.ts @@ -0,0 +1,15 @@ +import { Button } from '@sipe-team/button'; +import { vars } from '@sipe-team/tokens'; + +import buttonProps from '../../.generated/props/button.json'; + +export const componentRegistry = { + button: { + component: Button, + props: buttonProps, + scope: { Button, vars }, + defaultChildren: 'Click me', + }, +} as const; + +export type ComponentRegistryKey = keyof typeof componentRegistry; From af2a0a77a0a56f5f2d972a28896baa9be60b7871 Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Tue, 12 May 2026 23:49:12 +0900 Subject: [PATCH 06/15] feat(docs): expose Playground in MDX global scope --- www/src/theme/MDXComponents.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 www/src/theme/MDXComponents.tsx diff --git a/www/src/theme/MDXComponents.tsx b/www/src/theme/MDXComponents.tsx new file mode 100644 index 0000000..44a8735 --- /dev/null +++ b/www/src/theme/MDXComponents.tsx @@ -0,0 +1,8 @@ +import MDXComponents from '@theme-original/MDXComponents'; + +import { Playground } from '../components/Playground'; + +export default { + ...MDXComponents, + Playground, +}; From 5c86a66625abe665ca1d0800c0caab9c3b77645d Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Tue, 12 May 2026 23:49:23 +0900 Subject: [PATCH 07/15] docs(button): add Button page with Playground --- www/docs/components/button.mdx | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 www/docs/components/button.mdx diff --git a/www/docs/components/button.mdx b/www/docs/components/button.mdx new file mode 100644 index 0000000..9dd694b --- /dev/null +++ b/www/docs/components/button.mdx @@ -0,0 +1,25 @@ +--- +title: Button +--- + +# Button + +## Setup + +```sh +npm install @sipe-team/button +``` + +## Usage + +```tsx +import { Button } from '@sipe-team/button'; +``` + +```tsx + +``` + +## Playground + + From 1fe2c4d807fe05215093f256d78b12ae636ecf1c Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Sun, 7 Jun 2026 18:39:23 +0900 Subject: [PATCH 08/15] build(tokens): emit compiled CSS via vanilla-extract esbuild plugin --- packages/tokens/package.json | 1 + packages/tokens/tsup.config.ts | 3 +++ pnpm-lock.yaml | 3 +++ 3 files changed, 7 insertions(+) diff --git a/packages/tokens/package.json b/packages/tokens/package.json index 8b74644..1b95599 100644 --- a/packages/tokens/package.json +++ b/packages/tokens/package.json @@ -29,6 +29,7 @@ "devDependencies": { "@types/node": "^22", "@types/react": "catalog:react", + "@vanilla-extract/esbuild-plugin": "^2.3.22", "react": "catalog:react", "react-dom": "catalog:react", "@tokens-studio/sd-transforms": "^2.0.0", diff --git a/packages/tokens/tsup.config.ts b/packages/tokens/tsup.config.ts index c533199..6a2b3b3 100644 --- a/packages/tokens/tsup.config.ts +++ b/packages/tokens/tsup.config.ts @@ -1,3 +1,5 @@ +import { vanillaExtractPlugin } from '@vanilla-extract/esbuild-plugin'; + import { defineConfig } from 'tsup'; export default defineConfig({ @@ -5,4 +7,5 @@ export default defineConfig({ clean: true, dts: true, format: ['esm', 'cjs'], + esbuildPlugins: [vanillaExtractPlugin()], }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 564c29b..86342e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1047,6 +1047,9 @@ importers: '@types/react': specifier: catalog:react version: 18.3.13 + '@vanilla-extract/esbuild-plugin': + specifier: ^2.3.22 + version: 2.3.22(esbuild@0.27.7) react: specifier: catalog:react version: 18.3.1 From 8111441842f341c3bb521786680679d58013855b Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Sun, 7 Jun 2026 18:40:22 +0900 Subject: [PATCH 09/15] fix(docs): load theme CSS variables in playground --- www/docusaurus.config.ts | 18 ++++++++++++++---- www/package.json | 2 +- www/scripts/copy-tokens-css.mjs | 20 ++++++++++++++++++++ www/src/components/Playground/registry.ts | 3 +-- 4 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 www/scripts/copy-tokens-css.mjs diff --git a/www/docusaurus.config.ts b/www/docusaurus.config.ts index 32cd58c..4585d46 100644 --- a/www/docusaurus.config.ts +++ b/www/docusaurus.config.ts @@ -1,10 +1,16 @@ -import { VanillaExtractPlugin } from '@vanilla-extract/webpack-plugin'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; import type * as Preset from '@docusaurus/preset-classic'; import type { Config } from '@docusaurus/types'; import tailwindcssPostcss from '@tailwindcss/postcss'; import { themes as prismThemes } from 'prism-react-renderer'; +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const buttonDist = path.resolve(__dirname, '../packages/button/dist/index.js'); +const tokensCss = path.resolve(__dirname, 'src/.generated/tokens.css'); +const buttonCss = path.resolve(__dirname, '../packages/button/dist/index.css'); + export default { title: 'Side', tagline: 'Sipe Design System', @@ -29,7 +35,7 @@ export default { }, blog: false, theme: { - customCss: './src/custom.css', + customCss: ['./src/custom.css', tokensCss, buttonCss], }, } satisfies Preset.Options, ], @@ -37,10 +43,14 @@ export default { plugins: [ () => ({ - name: 'playground-vanilla-extract', + name: 'playground-workspace-dist-aliases', configureWebpack() { return { - plugins: [new VanillaExtractPlugin()], + resolve: { + alias: { + '@sipe-team/button': buttonDist, + }, + }, }; }, }), diff --git a/www/package.json b/www/package.json index 71496bd..46b6641 100644 --- a/www/package.json +++ b/www/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "docusaurus start", "build": "docusaurus build", - "prebuild": "pnpm run extract:props", + "prebuild": "pnpm --filter @sipe-team/button build && pnpm --filter @sipe-team/tokens build && node scripts/copy-tokens-css.mjs && pnpm run extract:props", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", "clear": "docusaurus clear", diff --git a/www/scripts/copy-tokens-css.mjs b/www/scripts/copy-tokens-css.mjs new file mode 100644 index 0000000..16fb6c0 --- /dev/null +++ b/www/scripts/copy-tokens-css.mjs @@ -0,0 +1,20 @@ +#!/usr/bin/env node +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const src = path.resolve(__dirname, '..', '..', 'packages', 'tokens', 'dist', 'index.css'); +const outDir = path.resolve(__dirname, '..', 'src', '.generated'); +const out = path.resolve(outDir, 'tokens.css'); + +// Docusaurus's CSS minifier drops contents of `@layer theme { ... }` blocks +// because it cannot parse :root nested inside a cascade layer. Unwrap the +// outer `@layer theme { ... }` wrapper produced by vanilla-extract so the +// raw :root declarations land in the docs bundle as plain CSS. +const raw = fs.readFileSync(src, 'utf-8'); +const unwrapped = raw.replace(/@layer theme\s*\{([\s\S]*?)\n\}/g, '$1'); + +fs.mkdirSync(outDir, { recursive: true }); +fs.writeFileSync(out, unwrapped); +console.log(`[copy-tokens-css] ${out}`); diff --git a/www/src/components/Playground/registry.ts b/www/src/components/Playground/registry.ts index 23536c6..bf819a6 100644 --- a/www/src/components/Playground/registry.ts +++ b/www/src/components/Playground/registry.ts @@ -1,5 +1,4 @@ import { Button } from '@sipe-team/button'; -import { vars } from '@sipe-team/tokens'; import buttonProps from '../../.generated/props/button.json'; @@ -7,7 +6,7 @@ export const componentRegistry = { button: { component: Button, props: buttonProps, - scope: { Button, vars }, + scope: { Button }, defaultChildren: 'Click me', }, } as const; From 6083bc415e86fc894ed5f5636df25738aa3774ce Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Thu, 11 Jun 2026 09:07:40 +0900 Subject: [PATCH 10/15] refactor(tokens): drop @layer wrapper from theme CSS --- packages/tokens/src/theme/contract.css.ts | 4 +--- packages/tokens/src/theme/themes.css.ts | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/tokens/src/theme/contract.css.ts b/packages/tokens/src/theme/contract.css.ts index e63e7ca..3b7f39c 100644 --- a/packages/tokens/src/theme/contract.css.ts +++ b/packages/tokens/src/theme/contract.css.ts @@ -1,6 +1,4 @@ -import { createGlobalThemeContract, globalLayer } from '@vanilla-extract/css'; - -export const themeLayer = globalLayer('theme'); +import { createGlobalThemeContract } from '@vanilla-extract/css'; export const vars = createGlobalThemeContract( { diff --git a/packages/tokens/src/theme/themes.css.ts b/packages/tokens/src/theme/themes.css.ts index a0622c3..4012a8b 100644 --- a/packages/tokens/src/theme/themes.css.ts +++ b/packages/tokens/src/theme/themes.css.ts @@ -5,10 +5,9 @@ import { radius } from '../effects/radius'; import { shadows } from '../effects/shadows'; import { spacing } from '../layout/spacing'; import { fontSize, fontWeight, lineHeight } from '../typography/fonts'; -import { themeLayer, vars } from './contract.css'; +import { vars } from './contract.css'; const baseTheme = { - '@layer': themeLayer, spacing: { component: { xs: `${spacing[1]}px`, From 36f6243870bb80efe37ea2bb224c32857afb245d Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Thu, 11 Jun 2026 09:11:43 +0900 Subject: [PATCH 11/15] build(side): bundle workspace deps and emit compiled CSS --- packages/side/package.json | 1 + packages/side/tsup.config.ts | 4 ++++ pnpm-lock.yaml | 3 +++ 3 files changed, 8 insertions(+) diff --git a/packages/side/package.json b/packages/side/package.json index 8ad4b58..d92ab8c 100644 --- a/packages/side/package.json +++ b/packages/side/package.json @@ -36,6 +36,7 @@ "@sipe-team/flex": "workspace:*" }, "devDependencies": { + "@vanilla-extract/esbuild-plugin": "catalog:", "tsup": "catalog:", "typescript": "catalog:" }, diff --git a/packages/side/tsup.config.ts b/packages/side/tsup.config.ts index c533199..2d82950 100644 --- a/packages/side/tsup.config.ts +++ b/packages/side/tsup.config.ts @@ -1,3 +1,5 @@ +import { vanillaExtractPlugin } from '@vanilla-extract/esbuild-plugin'; + import { defineConfig } from 'tsup'; export default defineConfig({ @@ -5,4 +7,6 @@ export default defineConfig({ clean: true, dts: true, format: ['esm', 'cjs'], + noExternal: [/@sipe-team\//], + esbuildPlugins: [vanillaExtractPlugin()], }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 86342e1..9364b20 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -884,6 +884,9 @@ importers: specifier: '>= 18' version: 18.3.1(react@18.3.1) devDependencies: + '@vanilla-extract/esbuild-plugin': + specifier: 'catalog:' + version: 2.3.22(esbuild@0.27.7) tsup: specifier: 'catalog:' version: 8.5.1(jiti@2.7.0)(postcss@8.5.15)(tsx@4.19.2)(typescript@5.6.3)(yaml@2.6.1) From 6820b4cff8740e623dbd6f4c51440d89b442068b Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Thu, 11 Jun 2026 09:15:42 +0900 Subject: [PATCH 12/15] refactor(docs): consume @sipe-team/side built output in playground --- www/docusaurus.config.ts | 9 ++++----- www/package.json | 2 +- www/scripts/copy-tokens-css.mjs | 20 -------------------- www/src/components/Playground/registry.ts | 2 +- 4 files changed, 6 insertions(+), 27 deletions(-) delete mode 100644 www/scripts/copy-tokens-css.mjs diff --git a/www/docusaurus.config.ts b/www/docusaurus.config.ts index 4585d46..3e466dd 100644 --- a/www/docusaurus.config.ts +++ b/www/docusaurus.config.ts @@ -7,9 +7,8 @@ import tailwindcssPostcss from '@tailwindcss/postcss'; import { themes as prismThemes } from 'prism-react-renderer'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); -const buttonDist = path.resolve(__dirname, '../packages/button/dist/index.js'); -const tokensCss = path.resolve(__dirname, 'src/.generated/tokens.css'); -const buttonCss = path.resolve(__dirname, '../packages/button/dist/index.css'); +const sideDist = path.resolve(__dirname, '../packages/side/dist/index.js'); +const sideCss = path.resolve(__dirname, '../packages/side/dist/index.css'); export default { title: 'Side', @@ -35,7 +34,7 @@ export default { }, blog: false, theme: { - customCss: ['./src/custom.css', tokensCss, buttonCss], + customCss: ['./src/custom.css', sideCss], }, } satisfies Preset.Options, ], @@ -48,7 +47,7 @@ export default { return { resolve: { alias: { - '@sipe-team/button': buttonDist, + '@sipe-team/side': sideDist, }, }, }; diff --git a/www/package.json b/www/package.json index 46b6641..b5a569b 100644 --- a/www/package.json +++ b/www/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "docusaurus start", "build": "docusaurus build", - "prebuild": "pnpm --filter @sipe-team/button build && pnpm --filter @sipe-team/tokens build && node scripts/copy-tokens-css.mjs && pnpm run extract:props", + "prebuild": "pnpm --filter @sipe-team/side build && pnpm run extract:props", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", "clear": "docusaurus clear", diff --git a/www/scripts/copy-tokens-css.mjs b/www/scripts/copy-tokens-css.mjs deleted file mode 100644 index 16fb6c0..0000000 --- a/www/scripts/copy-tokens-css.mjs +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node -import fs from 'node:fs'; -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const __dirname = path.dirname(fileURLToPath(import.meta.url)); -const src = path.resolve(__dirname, '..', '..', 'packages', 'tokens', 'dist', 'index.css'); -const outDir = path.resolve(__dirname, '..', 'src', '.generated'); -const out = path.resolve(outDir, 'tokens.css'); - -// Docusaurus's CSS minifier drops contents of `@layer theme { ... }` blocks -// because it cannot parse :root nested inside a cascade layer. Unwrap the -// outer `@layer theme { ... }` wrapper produced by vanilla-extract so the -// raw :root declarations land in the docs bundle as plain CSS. -const raw = fs.readFileSync(src, 'utf-8'); -const unwrapped = raw.replace(/@layer theme\s*\{([\s\S]*?)\n\}/g, '$1'); - -fs.mkdirSync(outDir, { recursive: true }); -fs.writeFileSync(out, unwrapped); -console.log(`[copy-tokens-css] ${out}`); diff --git a/www/src/components/Playground/registry.ts b/www/src/components/Playground/registry.ts index bf819a6..7fe173b 100644 --- a/www/src/components/Playground/registry.ts +++ b/www/src/components/Playground/registry.ts @@ -1,4 +1,4 @@ -import { Button } from '@sipe-team/button'; +import { Button } from '@sipe-team/side'; import buttonProps from '../../.generated/props/button.json'; From 5969796d3a2a95a2e900a08ddd556a6dd20712ba Mon Sep 17 00:00:00 2001 From: Jinho Yeom Date: Thu, 11 Jun 2026 10:27:12 +0900 Subject: [PATCH 13/15] style(docs): polish Playground with depth preview stage and copy action --- .../components/Playground/ControlsPanel.tsx | 143 ++++++++++-------- www/src/components/Playground/Playground.tsx | 73 ++++++--- www/src/components/Playground/PropTable.tsx | 38 +++-- 3 files changed, 158 insertions(+), 96 deletions(-) diff --git a/www/src/components/Playground/ControlsPanel.tsx b/www/src/components/Playground/ControlsPanel.tsx index 63cedc5..051e46b 100644 --- a/www/src/components/Playground/ControlsPanel.tsx +++ b/www/src/components/Playground/ControlsPanel.tsx @@ -1,3 +1,5 @@ +import { Fragment } from 'react'; + import { unquote } from './generateCode'; type PropDescriptor = { @@ -14,78 +16,91 @@ type ControlsPanelProps = { onChange: (name: string, value: string) => void; }; -export function ControlsPanel({ propsSchema, values, onChange }: ControlsPanelProps) { +const fieldClass = + 'rounded-md border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-900/30 focus-visible:border-gray-400'; + +const checkboxClass = 'h-4 w-4 accent-[var(--side-color-accent-default,#ffb24d)]'; + +function isBooleanEnum(type: PropDescriptor['type']): boolean { return ( -
- Controls - {propsSchema.map((prop) => { - const { name, type } = prop; + type.name === 'enum' && + type.value?.length === 2 && + type.value.every((v) => unquote(v) === 'true' || unquote(v) === 'false') + ); +} - if (type.name === 'enum' && type.value) { - const isBoolean = - type.value.length === 2 && type.value.every((v) => unquote(v) === 'true' || unquote(v) === 'false'); +function isControllable(prop: PropDescriptor): boolean { + const { type } = prop; + return (type.name === 'enum' && !!type.value) || type.name === 'boolean' || type.name === 'string'; +} - if (isBoolean) { - return ( -