From 0896d48acf0e6cc87f45672dd186a67d416f4295 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 9 Jul 2026 13:42:42 +0900 Subject: [PATCH 01/80] install rolldown & remove rollup-related dependencies --- packages/core/package.json | 13 +- pnpm-lock.yaml | 1062 +++++++++++++++++++++++------------- 2 files changed, 688 insertions(+), 387 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 203de43fd..679d2301c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -45,7 +45,8 @@ "dist" ], "scripts": { - "build": "rimraf dist && rollup -c rollup.config.mjs", + "build": "rimraf dist && rolldown -c rolldown.config.ts", + "build:rollup": "rimraf dist-rollup && rollup -c rollup.config.ts", "clean": "rimraf dist node_modules .turbo", "lint": "eslint ./src", "test": "vitest --run", @@ -71,9 +72,6 @@ "@playwright/test": "^1.60.0", "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", - "@rollup/plugin-alias": "^5.1.1", - "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^16.0.3", "@storybook/react-vite": "9.1.20", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.9.1", @@ -88,16 +86,15 @@ "@vitest/coverage-v8": "^3.2.6", "autoprefixer": "^10.5.0", "eslint": "catalog:", + "get-tsconfig": "^4.14.0", "happy-dom": "^20.9.0", "postcss": "^8.5.15", "react": "catalog:", "react-dom": "catalog:", "rimraf": "^6.1.3", - "rollup": "^4.60.4", - "rollup-plugin-dts": "^6.4.1", - "rollup-plugin-esbuild": "^6.2.1", + "rolldown": "^1.1.4", + "rolldown-plugin-dts": "^0.27.1", "rollup-plugin-node-externals": "^8.1.2", - "rollup-plugin-preserve-directives": "^0.4.0", "typescript": "catalog:", "vitest": "^3.2.4", "vitest-axe": "^1.0.0-pre.5" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fd4b6e67c..892119897 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -267,10 +267,10 @@ importers: version: 16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3) fumadocs-docgen: specifier: 3.0.10 - version: 3.0.10(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/estree@1.0.9)(@types/hast@3.0.4)(@types/mdast@4.0.4)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(mdast-util-mdx@3.0.0) + version: 3.0.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/estree@1.0.9)(@types/hast@3.0.4)(@types/mdast@4.0.4)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(mdast-util-mdx@3.0.0) fumadocs-mdx: specifier: 14.3.2 - version: 14.3.2(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react@19.2.7)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 14.3.2(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react@19.2.7)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) fumadocs-typescript: specifier: 5.2.6 version: 5.2.6(a42f767853158b8216f7e0ac773a71a1) @@ -422,16 +422,16 @@ importers: version: 9.39.4(jiti@2.6.1) jest: specifier: ^30.3.0 - version: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + version: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) rimraf: specifier: ^6.1.3 version: 6.1.3 ts-jest: specifier: ^29.4.11 - version: 29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.7)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.28.1)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)))(typescript@6.0.3) tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@6.0.3) packages/color-generator: dependencies: @@ -462,7 +462,7 @@ importers: version: 6.1.3 tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) tsx: specifier: ^4.21.0 version: 4.21.0 @@ -518,18 +518,9 @@ importers: '@repo/typescript-config': specifier: workspace:* version: link:../typescript-config - '@rollup/plugin-alias': - specifier: ^5.1.1 - version: 5.1.1(rollup@4.60.4) - '@rollup/plugin-json': - specifier: ^6.1.0 - version: 6.1.0(rollup@4.60.4) - '@rollup/plugin-node-resolve': - specifier: ^16.0.3 - version: 16.0.3(rollup@4.60.4) '@storybook/react-vite': specifier: 9.1.20 - version: 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.60.4)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.61.1)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@testing-library/dom': specifier: ^10.4.1 version: 10.4.1 @@ -553,13 +544,13 @@ importers: version: 19.2.3(@types/react@19.2.17) '@vanilla-extract/rollup-plugin': specifier: ^1.5.3 - version: 1.5.3(rollup@4.60.4) + version: 1.5.3(rollup@4.61.1) '@vanilla-extract/vite-plugin': specifier: ^5.2.2 - version: 5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@vitest/browser': specifier: ^3.2.6 - version: 3.2.6(playwright@1.60.0)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) + version: 3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) '@vitest/coverage-v8': specifier: ^3.2.6 version: 3.2.6(@vitest/browser@3.2.6)(vitest@3.2.6) @@ -569,6 +560,9 @@ importers: eslint: specifier: 'catalog:' version: 9.39.4(jiti@2.6.1) + get-tsconfig: + specifier: ^4.14.0 + version: 4.14.0 happy-dom: specifier: ^20.9.0 version: 20.9.0 @@ -584,21 +578,15 @@ importers: rimraf: specifier: ^6.1.3 version: 6.1.3 - rollup: - specifier: ^4.60.4 - version: 4.60.4 - rollup-plugin-dts: - specifier: ^6.4.1 - version: 6.4.1(rollup@4.60.4)(typescript@5.9.3) - rollup-plugin-esbuild: - specifier: ^6.2.1 - version: 6.2.1(esbuild@0.28.1)(rollup@4.60.4) + rolldown: + specifier: ^1.1.4 + version: 1.1.4 + rolldown-plugin-dts: + specifier: ^0.27.1 + version: 0.27.1(rolldown@1.1.4)(typescript@5.9.3) rollup-plugin-node-externals: specifier: ^8.1.2 - version: 8.1.2(rollup@4.60.4) - rollup-plugin-preserve-directives: - specifier: ^0.4.0 - version: 0.4.0(rollup@4.60.4) + version: 8.1.2(rollup@4.61.1) typescript: specifier: 'catalog:' version: 5.9.3 @@ -632,7 +620,7 @@ importers: version: 6.1.3 tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) tsx: specifier: ^4.21.0 version: 4.21.0 @@ -669,13 +657,13 @@ importers: version: 9.39.4(jiti@2.6.1) eslint-config-next: specifier: ^15.5.19 - version: 15.5.19(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + version: 15.5.19(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.63.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) eslint-config-turbo: specifier: ^2.9.16 version: 2.9.16(eslint@9.39.4(jiti@2.6.1))(turbo@2.9.18) eslint-plugin-import-x: specifier: ^4.16.2 - version: 4.16.2(@typescript-eslint/utils@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)) + version: 4.16.2(@typescript-eslint/utils@8.63.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-jsx-a11y: specifier: ^6.10.2 version: 6.10.2(eslint@9.39.4(jiti@2.6.1)) @@ -724,7 +712,7 @@ importers: version: 9.39.4(jiti@2.6.1) tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) typescript: specifier: ^5.9.3 version: 5.9.3 @@ -751,7 +739,7 @@ importers: version: 19.2.7 tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -788,7 +776,7 @@ importers: version: 6.1.3 tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -833,7 +821,7 @@ importers: version: 9.39.4(jiti@2.6.1) tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) tsx: specifier: ^4.21.0 version: 4.21.0 @@ -1754,21 +1742,21 @@ packages: '@emnapi/core@1.10.0': resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/core@1.8.1': - resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} + '@emnapi/core@1.11.1': + resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} '@emnapi/runtime@1.10.0': resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/runtime@1.8.1': - resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} - - '@emnapi/wasi-threads@1.1.0': - resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} + '@emnapi/runtime@1.11.1': + resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@emnapi/wasi-threads@1.2.2': + resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} + '@emotion/hash@0.9.2': resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} @@ -2813,14 +2801,14 @@ packages: '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - '@napi-rs/wasm-runtime@1.1.4': - resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + '@napi-rs/wasm-runtime@1.1.5': + resolution: {integrity: sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==} peerDependencies: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 - '@napi-rs/wasm-runtime@1.1.5': - resolution: {integrity: sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==} + '@napi-rs/wasm-runtime@1.1.6': + resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} peerDependencies: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 @@ -2913,8 +2901,8 @@ packages: '@oramacloud/client@2.1.4': resolution: {integrity: sha512-uNPFs4wq/iOPbggCwTkVNbIr64Vfd7ZS/h+cricXVnzXWocjDTfJ3wLL4lr0qiSu41g8z+eCAGBqJ30RO2O4AA==} - '@oxc-project/types@0.133.0': - resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==} + '@oxc-project/types@0.138.0': + resolution: {integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==} '@oxc-transform/binding-android-arm-eabi@0.124.0': resolution: {integrity: sha512-A7r8E94VSRnWlsquGXaW2rmpVcruNOTE4a/7+NCVOtlRUlbmd37bOfv0T47MLIN378uES7yldftCwcVMBG39ig==} @@ -3554,97 +3542,97 @@ packages: '@types/react': optional: true - '@rolldown/binding-android-arm64@1.0.3': - resolution: {integrity: sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==} + '@rolldown/binding-android-arm64@1.1.4': + resolution: {integrity: sha512-EZLpf/8y7GXkkra90ML47kzik/GMP3EMcE9bPyHmRfxLC6z9+aW5A8poCsoxjrT5GfEcNAAvWwUHjvP1pUQkfw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.3': - resolution: {integrity: sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==} + '@rolldown/binding-darwin-arm64@1.1.4': + resolution: {integrity: sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.3': - resolution: {integrity: sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==} + '@rolldown/binding-darwin-x64@1.1.4': + resolution: {integrity: sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.3': - resolution: {integrity: sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==} + '@rolldown/binding-freebsd-x64@1.1.4': + resolution: {integrity: sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.3': - resolution: {integrity: sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==} + '@rolldown/binding-linux-arm-gnueabihf@1.1.4': + resolution: {integrity: sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.3': - resolution: {integrity: sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==} + '@rolldown/binding-linux-arm64-gnu@1.1.4': + resolution: {integrity: sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.3': - resolution: {integrity: sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==} + '@rolldown/binding-linux-arm64-musl@1.1.4': + resolution: {integrity: sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.3': - resolution: {integrity: sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==} + '@rolldown/binding-linux-ppc64-gnu@1.1.4': + resolution: {integrity: sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.3': - resolution: {integrity: sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==} + '@rolldown/binding-linux-s390x-gnu@1.1.4': + resolution: {integrity: sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.3': - resolution: {integrity: sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==} + '@rolldown/binding-linux-x64-gnu@1.1.4': + resolution: {integrity: sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.3': - resolution: {integrity: sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==} + '@rolldown/binding-linux-x64-musl@1.1.4': + resolution: {integrity: sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.3': - resolution: {integrity: sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==} + '@rolldown/binding-openharmony-arm64@1.1.4': + resolution: {integrity: sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.3': - resolution: {integrity: sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==} + '@rolldown/binding-wasm32-wasi@1.1.4': + resolution: {integrity: sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.3': - resolution: {integrity: sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==} + '@rolldown/binding-win32-arm64-msvc@1.1.4': + resolution: {integrity: sha512-PnWBtw3TV5KOg69HQQDR0mnQuyCmSGR2pAB4DC1rPF808fgKeTUMj2EOEyKATpgiuxuR5APQmiDO7PDgEjTFSA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.3': - resolution: {integrity: sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==} + '@rolldown/binding-win32-x64-msvc@1.1.4': + resolution: {integrity: sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -3655,33 +3643,6 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@rollup/plugin-alias@5.1.1': - resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-json@6.1.0': - resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-node-resolve@16.0.3': - resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - '@rollup/pluginutils@5.3.0': resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} @@ -4555,6 +4516,9 @@ packages: '@tybys/wasm-util@0.10.2': resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} + '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} @@ -4665,9 +4629,6 @@ packages: '@types/react@19.2.17': resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} - '@types/resolve@1.20.2': - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - '@types/resolve@1.20.6': resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} @@ -4719,6 +4680,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/project-service@8.63.0': + resolution: {integrity: sha512-e5dh0/UI0ok53AlZ5wRkXCB32z/f2jUZqPR/ygAw5WYaSw8j9EoJWlS7wQjr/dmOaqWjnPIn2m+HhVPCMWGZVQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/scope-manager@8.59.2': resolution: {integrity: sha512-JzfyEpEtOU89CcFSwyNS3mu4MLvLSXqnmX05+aKBDM+TdR5jzcGOEBwxwGNxrEQ7p/z6kK2WyioCGBf2zZBnvg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4727,6 +4694,10 @@ packages: resolution: {integrity: sha512-mUeR/3H1WrTAddJrwut8OoPjfauaztMQmRwV5fQTUyNVJCLiUXXe4lGEyYIL2oFDpP7UtgbGJXCt72wT0z2S3Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.63.0': + resolution: {integrity: sha512-uUyfMWCnDSN8bCpcrY8nGP2BLkQ9Xn0GsipcONcpIDWhwhO4ZSyHvyS14U3X75mzxWxL3I2UZIrenTzdzcJO8A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.59.2': resolution: {integrity: sha512-BKK4alN7oi4C/zv4VqHQ+uRU+lTa6JGIZ7s1juw7b3RHo9OfKB+bKX3u0iVZetdsUCBBkSbdWbarJbmN0fTeSw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4745,6 +4716,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/tsconfig-utils@8.63.0': + resolution: {integrity: sha512-sUAbkulqBAsncKnbRP3+7CtQFRKicexnj7ZwNC6ddCR7EmrXvjvdCYMJbUIqMd6lwoEriZjwLo08aS5tSjVMHg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/type-utils@8.59.4': resolution: {integrity: sha512-uonTuPAAKr9XaBGqJ3LjYTh72zy5DyGesljO9gtmk/eFW0W1fRHjnwVYKB35Lm8d5Q5CluEW3gPHjTvZTmgrfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4764,6 +4741,10 @@ packages: resolution: {integrity: sha512-F1o7WJcCq+bc8dwcO/YsSEOudAH8RDtaOhM6wcAQhcUsFhnWQl81JKy48q1hoxAU0qrzM89+31GYh1515Zde3Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.63.0': + resolution: {integrity: sha512-xyLtl9DUBBFrcJS4x2pIqGLH68/tC2uOa4Z7pUteW09D3bXnnXUom4dyPikzWgB7llmIc1zoeI3aoUdC4rPK/Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.59.2': resolution: {integrity: sha512-o0XPGNwcWw+FIwStOWn+BwBuEmL6QXP0rsvAFg7ET1dey1Nr6Wb1ac8p5HEsK0ygO/6mUxlk+YWQD9xcb/nnXg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4776,6 +4757,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/typescript-estree@8.63.0': + resolution: {integrity: sha512-ygBkU+B7ex5UI/gKhaqexWev79uISfIv7XQCRNYO/jmD8rGLPyWLAb3KMRT6nd8Gt9bmUBi9+iX6tBdYfOY81Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/utils@8.59.2': resolution: {integrity: sha512-Juw3EinkXqjaffxz6roowvV7GZT/kET5vSKKZT6upl5TXdWkLkYmNPXwDDL2Vkt2DPn0nODIS4egC/0AGxKo/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4790,6 +4777,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/utils@8.63.0': + resolution: {integrity: sha512-fUKaeAvrTuQg/Tgt3nliAUSZHJM6DlCcfyEmxCvlX8kieWSStBX+5O5Fnidtc3i2JrH+9c/GL4RY2iasd/GPTA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/visitor-keys@8.59.2': resolution: {integrity: sha512-NwjLUnGy8/Zfx23fl50tRC8rYaYnM52xNRYFAXvmiil9yh1+K6aRVQMnzW6gQB/1DLgWt977lYQn7C+wtgXZiA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4798,6 +4792,10 @@ packages: resolution: {integrity: sha512-U3gxVaDVnuZKhSspW/MzMxE1kq7zOdc072FcSNoqA1I9p8HyKbBFfEHoWckBAMgNMph4MamwS5iTVzFmrnt8TQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.63.0': + resolution: {integrity: sha512-UexrHGnGTpbuQHct2ExOc2ZcFbGUS9FOesCxxqdBGcpI1BxYu/LZ6U8Aq6/72XtF/qRBk9nhuGHFJIXXMhPMdw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} deprecated: Potential CWE-502 - Update to 1.3.1 or higher @@ -5063,6 +5061,131 @@ packages: '@vitest/utils@3.2.6': resolution: {integrity: sha512-lI23nIs4bnT3T8NIoh+vFaz5s2/DdP0Jgt2jxwgWljvwn82cLJtyi/If+fjFyoLMGIOz0U/fKvWE0d4jsNQEfg==} + '@yuku-codegen/binding-darwin-arm64@0.5.44': + resolution: {integrity: sha512-mpZc7hrjl/qxcbEMS6vVLE0lO4DjiXCvrp3gYbZ58bbmsSxSGCTlOCA0lpeLXAKOZxe0ZrVoqKteaewFF2Vbuw==} + cpu: [arm64] + os: [darwin] + + '@yuku-codegen/binding-darwin-x64@0.5.44': + resolution: {integrity: sha512-PCt776PnGtnQYimxk18IyvPf/BQ6CNU95W+6eaoQfeME8ra+7v3pNNoTAmLfSveUC9KZPaoajR9NqkKfEVjA2Q==} + cpu: [x64] + os: [darwin] + + '@yuku-codegen/binding-freebsd-x64@0.5.44': + resolution: {integrity: sha512-5MNu1R4ysytPLMdl1UlGyjgAbUdT8fguW/QRo+pyEymbuWRN5n8JEHCFpm4AsWdP61fStagSpPDJcwN+mwC9Lg==} + cpu: [x64] + os: [freebsd] + + '@yuku-codegen/binding-linux-arm-gnu@0.5.44': + resolution: {integrity: sha512-xbP2qQ7/h6ZZKeckCiI2osB5SE5PBfLb4uzIfO1BSTX+9rlBKTqomxDaCib7aPf2X1CXMiIq+i7AK1EhBa5a7A==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-arm-musl@0.5.44': + resolution: {integrity: sha512-gmXKMCpgkUm5PllGMKBMoBmqgbTQkx+S85eE46LctuwTSKS/K7u65NE6t4zk6cLDvZpV67enycKXBORWn6q7xA==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-linux-arm64-gnu@0.5.44': + resolution: {integrity: sha512-eOoejNUtnHs1/TMn4wryOAG/TarvlOqSZtRPeS56liBKp/GVQSirqTM9AITSGPLSdK1u7fZWMdj5IOEoJp3ruw==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-arm64-musl@0.5.44': + resolution: {integrity: sha512-xTzrhEMy1mdv5+SbJPPlwqlMrhXGPntE2f12TLi+dNPXhif4iXCGJpoh8pV9nwZFE/cq1ITuTnjIfTFj/PifzA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-linux-x64-gnu@0.5.44': + resolution: {integrity: sha512-2bvgIU4P+f4q18grdHoGnt9L6XlAciq/8GWpM06fmwj8qqruS8qwwwZXBk3/0U2+IHGv9pXRR8GtSXzl5n/blg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-codegen/binding-linux-x64-musl@0.5.44': + resolution: {integrity: sha512-EzX5hWK0MmU4fbqY9coc5PJ0y0LYjrBdAF7mjSyetdK/yWRGBfHi9nh0dUJ0lqb47653hxB8/r9byfYgg6ecbA==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-codegen/binding-win32-arm64@0.5.44': + resolution: {integrity: sha512-/ajGFWcOLGtmVUdxWKXDW6Ixtez68xxtmd2l95xNg8Lzs4aqbV2cy0Ns2Bzg9vjHsgDIooQlLXHpWh6HsHcy6w==} + cpu: [arm64] + os: [win32] + + '@yuku-codegen/binding-win32-x64@0.5.44': + resolution: {integrity: sha512-geuJQ7FKI8YUtBgW8w72ChMfMvYy3gSytACxB4HOkylsoutrhH6lUNYHk1ny/p8u8t47NGxktpnzVJzI8IzJkA==} + cpu: [x64] + os: [win32] + + '@yuku-parser/binding-darwin-arm64@0.5.44': + resolution: {integrity: sha512-EXSW5w1YOIMyxu53MFxP43gTDeHlQueOjk8AEI9tuLF5976bDq3MXuIgzQvZKPVAirxGZu8+ANVXH1WcAH1G6A==} + cpu: [arm64] + os: [darwin] + + '@yuku-parser/binding-darwin-x64@0.5.44': + resolution: {integrity: sha512-pJBHsKxqR/nPwwaXgkkYTVo3G9dJ/AXhWsYyKyadU1zLg9gGfVwVTMehqwwutMCONDsLqOmEv/UqItmhpVsQJw==} + cpu: [x64] + os: [darwin] + + '@yuku-parser/binding-freebsd-x64@0.5.44': + resolution: {integrity: sha512-fOqYX5BQML94uj9hd3a+LlBNz54OoDm6l+wgUIZ8UUkOBfPV+w2lux1jj9FKXT85wwjDOFhgZ/XQYSEDK/N9mA==} + cpu: [x64] + os: [freebsd] + + '@yuku-parser/binding-linux-arm-gnu@0.5.44': + resolution: {integrity: sha512-kA2jRNh2cbbHDbhBN9IR8CnYI4UZHNQg0OVz6+V16Ph5VlLYpfv/6GdCmvQQoTGAnhFlbQiRoQys03ey91FTew==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm-musl@0.5.44': + resolution: {integrity: sha512-TQ82L8c5Lxl3HBOmw0uGfCcsyw0mp7DVGwCuW24OdDWak6BKaumvB8/Ep1llPOvhk5xgSFB7fsqgh6sIwkNRew==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-arm64-gnu@0.5.44': + resolution: {integrity: sha512-o6up+m/MsoMEtq6h4JTzmzKOvH9o3o41vK8oiok0LOZoPOFOqOSqC+N5V2ArD1O54m5LUq6ErghAbGWiPsMsqg==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-arm64-musl@0.5.44': + resolution: {integrity: sha512-3XZoiHhtrjWKgk7CJC/sGzk1TE57SDPYzOFXUg6CZrigRZ+c0Q5ItzJpyAvhzlxv5ruNRYiuGvFbaRSIDnp2BA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-linux-x64-gnu@0.5.44': + resolution: {integrity: sha512-7KYCySZI6cjsdeiiIwvviDfJFd4Xj5gjNBzm9akUpwxRXNwaHHuEq2yGkVdGqj3BT6dJsiNhJIhtS6k7/HJdFA==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@yuku-parser/binding-linux-x64-musl@0.5.44': + resolution: {integrity: sha512-SLU/nXwOjET2XlOiO984sAzCloiWw0+JdcWpGzXLz3JQWbdiblxWC9cIvB0fCtKdDhX1mIutKNEH+RRRJADYcQ==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@yuku-parser/binding-win32-arm64@0.5.44': + resolution: {integrity: sha512-LGmaJtB2mVqPD7Gu/RKAu9aIVxlaKPOgKB8RPHeFFD5Tf/apCiWZix1tkBjdOAo9cVEAoR9qnVHE6zJ+OG0drQ==} + cpu: [arm64] + os: [win32] + + '@yuku-parser/binding-win32-x64@0.5.44': + resolution: {integrity: sha512-2i0FTklLuhBIgILvtEQ3IN3J4qaTMKlxptseWNrz4F5mimL9UpQFUniVju9OOInwP2O1vgLdZn8EBjEXGNCHmg==} + cpu: [x64] + os: [win32] + + '@yuku-toolchain/types@0.5.43': + resolution: {integrity: sha512-kSpvPntnXw5+lYjO71ffBEnQ5ycQ74KGIYknh0TS4xeyCuBkOqxyJumxZkMhLBBUCLjDAbx2+Icnr3Zh4ftjpQ==} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -5751,6 +5874,15 @@ packages: resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} engines: {node: '>=12'} + dts-resolver@3.0.0: + resolution: {integrity: sha512-1T1f+z+4tl9XD+m+0HBgWoL/nm0bOIffyWaUuUSBlFg/86IWvfx+wjNaO/ybU0AJzG9/Mi5hBUgGV6zCmWEN7Q==} + engines: {node: ^22.18.0 || >=24.0.0} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -6402,6 +6534,13 @@ packages: get-tsconfig@4.13.0: resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} + get-tsconfig@4.14.0: + resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + + get-tsconfig@5.0.0-beta.5: + resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} + engines: {node: '>=20.20.0'} + github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -6678,9 +6817,6 @@ packages: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} - is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -7209,9 +7345,6 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - magic-string@0.30.19: - resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} - magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -7633,6 +7766,10 @@ packages: resolution: {integrity: sha512-AWGB9WFcRXOQs48Z/udjI5ZcZMHXwX8XPByNpOydgcGsDLIzjGizhoMWJyKAWze7AVW/2W1i+/gPX4YtKe5cyg==} engines: {node: '>=12.20.0'} + obug@2.1.3: + resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==} + engines: {node: '>=12.20.0'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -7796,6 +7933,10 @@ packages: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} + picomatch@4.0.5: + resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} + engines: {node: '>=12'} + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -7858,6 +7999,10 @@ packages: resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.16: + resolution: {integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -8141,24 +8286,29 @@ packages: engines: {node: 20 || >=22} hasBin: true - rolldown@1.0.3: - resolution: {integrity: sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - - rollup-plugin-dts@6.4.1: - resolution: {integrity: sha512-l//F3Zf7ID5GoOfLfD8kroBjQKEKpy1qfhtAdnpibFZMffPaylrg1CoDC2vGkPeTeyxUe4bVFCln2EFuL7IGGg==} - engines: {node: '>=20'} + rolldown-plugin-dts@0.27.1: + resolution: {integrity: sha512-s1HLtZfsXcLsBrcqW6nmIcTqkBZd7Y9srgL9SMS2hNvl37US5jFl193d5ki2w9Ei5myP7ERLVlQX2o6ZTL/AQQ==} + engines: {node: ^22.18.0 || >=24.11.0} peerDependencies: - rollup: ^3.29.4 || ^4 - typescript: ^4.5 || ^5.0 || ^6.0 + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20260325.1' + rolldown: ^1.0.0 + typescript: ^5.0.0 || ^6.0.0 + vue-tsc: ~3.2.0 || ~3.3.0 + peerDependenciesMeta: + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true - rollup-plugin-esbuild@6.2.1: - resolution: {integrity: sha512-jTNOMGoMRhs0JuueJrJqbW8tOwxumaWYq+V5i+PD+8ecSCVkuX27tGW7BXqDgoULQ55rO7IdNxPcnsWtshz3AA==} - engines: {node: '>=14.18.0'} - peerDependencies: - esbuild: '>=0.18.0' - rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + rolldown@1.1.4: + resolution: {integrity: sha512-IjZYiLxZwpnhwhdBH2ugdTGVSdhCQUmLxLoqyjiL0JxYjyRst+5a0P3xfrTxJ5F638j4Mvvw5FAX5XE6eHpXbA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true rollup-plugin-node-externals@8.1.2: resolution: {integrity: sha512-EuB6/lolkMLK16gvibUjikERq5fCRVIGwD2xue/CrM8D0pz5GXD2V6N8IrgxegwbcUoKkUFI8VYCEEv8MMvgpA==} @@ -8166,11 +8316,6 @@ packages: peerDependencies: rollup: ^4.0.0 - rollup-plugin-preserve-directives@0.4.0: - resolution: {integrity: sha512-gx4nBxYm5BysmEQS+e2tAMrtFxrGvk+Pe5ppafRibQi0zlW7VYAbEGk6IKDw9sJGPdFWgVTE0o4BU4cdG0Fylg==} - peerDependencies: - rollup: 2.x || 3.x || 4.x - rollup@4.60.3: resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -8240,6 +8385,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -8766,6 +8916,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} @@ -8849,10 +9004,6 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} - unplugin-utils@0.2.5: - resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} - engines: {node: '>=18.12.0'} - unplugin@1.16.1: resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} engines: {node: '>=14.0.0'} @@ -8975,13 +9126,13 @@ packages: yaml: optional: true - vite@8.0.16: - resolution: {integrity: sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==} + vite@8.1.3: + resolution: {integrity: sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.18 + '@vitejs/devtools': ^0.3.0 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -9195,6 +9346,15 @@ packages: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} + yuku-ast@0.1.7: + resolution: {integrity: sha512-2RiMEWv500TixY5rJy6OZd4fSy9WYZKWh6gGbIJ7y7vAGcuCugWOWwOLGaQcRZrXcPUfqtLtvpaJ3SdXtWlhKA==} + + yuku-codegen@0.5.44: + resolution: {integrity: sha512-0rhtgWGz+bR3Pe7xqJ5E4VqxI1vqNtkeJRkeXM0Qd3tgldYClQipxa9bRZyuNOOfk0Ri02scrjnkoAHM16/f2g==} + + yuku-parser@0.5.44: + resolution: {integrity: sha512-mAhpQZ/bXjxZmKiGUqEWskC9mZTcTBv6/fdzVdzdjM6XuD1DP3IavdLVWdM39L9ewK9vS9OtJmaKNeWgRzpy0w==} + zod@4.4.3: resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} @@ -11060,9 +11220,9 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/core@1.8.1': + '@emnapi/core@1.11.1': dependencies: - '@emnapi/wasi-threads': 1.1.0 + '@emnapi/wasi-threads': 1.2.2 tslib: 2.8.1 optional: true @@ -11071,17 +11231,17 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/runtime@1.8.1': + '@emnapi/runtime@1.11.1': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.1.0': + '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.1': + '@emnapi/wasi-threads@1.2.2': dependencies: tslib: 2.8.1 optional: true @@ -11713,7 +11873,7 @@ snapshots: jest-util: 30.3.0 slash: 3.0.0 - '@jest/core@30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3))': + '@jest/core@30.3.0(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3))': dependencies: '@jest/console': 30.3.0 '@jest/pattern': 30.0.1 @@ -11728,7 +11888,7 @@ snapshots: exit-x: 0.2.2 graceful-fs: 4.2.11 jest-changed-files: 30.3.0 - jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) jest-haste-map: 30.3.0 jest-message-util: 30.3.0 jest-regex-util: 30.0.1 @@ -11907,12 +12067,12 @@ snapshots: optionalDependencies: typescript: 5.9.3 - '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.9.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.9.3)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: glob: 10.5.0 magic-string: 0.30.21 react-docgen-typescript: 2.4.0(typescript@5.9.3) - vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) optionalDependencies: typescript: 5.9.3 @@ -11994,26 +12154,26 @@ snapshots: react: 19.2.7 '@napi-rs/wasm-runtime@0.2.12': - dependencies: - '@emnapi/core': 1.8.1 - '@emnapi/runtime': 1.8.1 - '@tybys/wasm-util': 0.10.1 - optional: true - - '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 '@tybys/wasm-util': 0.10.2 optional: true + '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': + dependencies: + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@tybys/wasm-util': 0.10.3 + optional: true + '@next/env@16.2.7': {} '@next/eslint-plugin-next@15.5.19': @@ -12072,7 +12232,7 @@ snapshots: '@orama/orama': 3.1.18 lodash: 4.17.21 - '@oxc-project/types@0.133.0': {} + '@oxc-project/types@0.138.0': {} '@oxc-transform/binding-android-arm-eabi@0.124.0': optional: true @@ -12122,9 +12282,9 @@ snapshots: '@oxc-transform/binding-openharmony-arm64@0.124.0': optional: true - '@oxc-transform/binding-wasm32-wasi@0.124.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@oxc-transform/binding-wasm32-wasi@0.124.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': dependencies: - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -12567,87 +12727,59 @@ snapshots: optionalDependencies: '@types/react': 19.2.17 - '@rolldown/binding-android-arm64@1.0.3': + '@rolldown/binding-android-arm64@1.1.4': optional: true - '@rolldown/binding-darwin-arm64@1.0.3': + '@rolldown/binding-darwin-arm64@1.1.4': optional: true - '@rolldown/binding-darwin-x64@1.0.3': + '@rolldown/binding-darwin-x64@1.1.4': optional: true - '@rolldown/binding-freebsd-x64@1.0.3': + '@rolldown/binding-freebsd-x64@1.1.4': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.3': + '@rolldown/binding-linux-arm-gnueabihf@1.1.4': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.3': + '@rolldown/binding-linux-arm64-gnu@1.1.4': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.3': + '@rolldown/binding-linux-arm64-musl@1.1.4': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.3': + '@rolldown/binding-linux-ppc64-gnu@1.1.4': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.3': + '@rolldown/binding-linux-s390x-gnu@1.1.4': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.3': + '@rolldown/binding-linux-x64-gnu@1.1.4': optional: true - '@rolldown/binding-linux-x64-musl@1.0.3': + '@rolldown/binding-linux-x64-musl@1.1.4': optional: true - '@rolldown/binding-openharmony-arm64@1.0.3': + '@rolldown/binding-openharmony-arm64@1.1.4': optional: true - '@rolldown/binding-wasm32-wasi@1.0.3': + '@rolldown/binding-wasm32-wasi@1.1.4': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.3': + '@rolldown/binding-win32-arm64-msvc@1.1.4': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.3': + '@rolldown/binding-win32-x64-msvc@1.1.4': optional: true '@rolldown/pluginutils@1.0.0-rc.3': {} '@rolldown/pluginutils@1.0.1': {} - '@rollup/plugin-alias@5.1.1(rollup@4.60.4)': - optionalDependencies: - rollup: 4.60.4 - - '@rollup/plugin-json@6.1.0(rollup@4.60.4)': - dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.60.4) - optionalDependencies: - rollup: 4.60.4 - - '@rollup/plugin-node-resolve@16.0.3(rollup@4.60.4)': - dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.60.4) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.10 - optionalDependencies: - rollup: 4.60.4 - - '@rollup/pluginutils@5.3.0(rollup@4.60.4)': - dependencies: - '@types/estree': 1.0.9 - estree-walker: 2.0.2 - picomatch: 4.0.4 - optionalDependencies: - rollup: 4.60.4 - '@rollup/pluginutils@5.3.0(rollup@4.61.1)': dependencies: '@types/estree': 1.0.9 @@ -12992,21 +13124,21 @@ snapshots: ts-dedent: 2.2.0 vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) - '@storybook/builder-vite@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@storybook/builder-vite@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: - '@storybook/csf-plugin': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@storybook/csf-plugin': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) ts-dedent: 2.2.0 - vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) '@storybook/csf-plugin@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))': dependencies: storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) unplugin: 1.16.1 - '@storybook/csf-plugin@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))': + '@storybook/csf-plugin@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))': dependencies: - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) unplugin: 1.16.1 '@storybook/global@5.0.0': {} @@ -13022,47 +13154,47 @@ snapshots: react-dom: 19.2.7(react@19.2.7) storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) - '@storybook/react-dom-shim@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))': + '@storybook/react-dom-shim@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))': dependencies: react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) - '@storybook/react-vite@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.60.4)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@storybook/react-vite@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.61.1)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.9.3)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) - '@rollup/pluginutils': 5.3.0(rollup@4.60.4) - '@storybook/builder-vite': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) - '@storybook/react': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + '@rollup/pluginutils': 5.3.0(rollup@4.61.1) + '@storybook/builder-vite': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + '@storybook/react': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3) find-up: 7.0.0 magic-string: 0.30.21 react: 19.2.7 react-docgen: 8.0.2 react-dom: 19.2.7(react@19.2.7) resolve: 1.22.10 - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) tsconfig-paths: 4.2.0 - vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - rollup - supports-color - typescript - '@storybook/react-vite@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.61.1)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@storybook/react-vite@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.61.1)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.9.3)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@rollup/pluginutils': 5.3.0(rollup@4.61.1) - '@storybook/builder-vite': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) - '@storybook/react': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3) + '@storybook/builder-vite': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@storybook/react': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3) find-up: 7.0.0 magic-string: 0.30.21 react: 19.2.7 react-docgen: 8.0.2 react-dom: 19.2.7(react@19.2.7) resolve: 1.22.10 - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) tsconfig-paths: 4.2.0 - vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - rollup - supports-color @@ -13078,13 +13210,13 @@ snapshots: optionalDependencies: typescript: 5.9.3 - '@storybook/react@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)': + '@storybook/react@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)': dependencies: '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))) + '@storybook/react-dom-shim': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) optionalDependencies: typescript: 5.9.3 @@ -13388,6 +13520,11 @@ snapshots: tslib: 2.8.1 optional: true + '@tybys/wasm-util@0.10.3': + dependencies: + tslib: 2.8.1 + optional: true + '@types/aria-query@5.0.4': {} '@types/babel__core@7.20.5': @@ -13515,8 +13652,6 @@ snapshots: dependencies: csstype: 3.2.3 - '@types/resolve@1.20.2': {} - '@types/resolve@1.20.6': {} '@types/stack-utils@2.0.3': {} @@ -13529,7 +13664,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.19.21 + '@types/node': 20.19.43 '@types/yargs-parser@21.0.3': {} @@ -13583,6 +13718,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.63.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@5.9.3) + '@typescript-eslint/types': 8.63.0 + debug: 4.4.3 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + optional: true + '@typescript-eslint/scope-manager@8.59.2': dependencies: '@typescript-eslint/types': 8.59.2 @@ -13593,6 +13738,12 @@ snapshots: '@typescript-eslint/types': 8.59.4 '@typescript-eslint/visitor-keys': 8.59.4 + '@typescript-eslint/scope-manager@8.63.0': + dependencies: + '@typescript-eslint/types': 8.63.0 + '@typescript-eslint/visitor-keys': 8.63.0 + optional: true + '@typescript-eslint/tsconfig-utils@8.59.2(typescript@5.9.3)': dependencies: typescript: 5.9.3 @@ -13605,6 +13756,11 @@ snapshots: dependencies: typescript: 5.9.3 + '@typescript-eslint/tsconfig-utils@8.63.0(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + optional: true + '@typescript-eslint/type-utils@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.59.4 @@ -13623,6 +13779,9 @@ snapshots: '@typescript-eslint/types@8.59.4': {} + '@typescript-eslint/types@8.63.0': + optional: true + '@typescript-eslint/typescript-estree@8.59.2(typescript@5.9.3)': dependencies: '@typescript-eslint/project-service': 8.59.2(typescript@5.9.3) @@ -13653,6 +13812,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.63.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.63.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@5.9.3) + '@typescript-eslint/types': 8.63.0 + '@typescript-eslint/visitor-keys': 8.63.0 + debug: 4.4.3 + minimatch: 10.2.4 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + optional: true + '@typescript-eslint/utils@8.59.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) @@ -13675,6 +13850,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.63.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.63.0 + '@typescript-eslint/types': 8.63.0 + '@typescript-eslint/typescript-estree': 8.63.0(typescript@5.9.3) + eslint: 9.39.4(jiti@2.6.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + optional: true + '@typescript-eslint/visitor-keys@8.59.2': dependencies: '@typescript-eslint/types': 8.59.2 @@ -13685,6 +13872,12 @@ snapshots: '@typescript-eslint/types': 8.59.4 eslint-visitor-keys: 5.0.1 + '@typescript-eslint/visitor-keys@8.63.0': + dependencies: + '@typescript-eslint/types': 8.63.0 + eslint-visitor-keys: 5.0.1 + optional: true + '@ungap/structured-clone@1.3.0': {} '@unrs/resolver-binding-android-arm-eabi@1.11.1': @@ -13842,11 +14035,11 @@ snapshots: dependencies: '@vanilla-extract/css': 1.20.1 - '@vanilla-extract/rollup-plugin@1.5.3(rollup@4.60.4)': + '@vanilla-extract/rollup-plugin@1.5.3(rollup@4.61.1)': dependencies: '@vanilla-extract/integration': 8.0.9 magic-string: 0.30.21 - rollup: 4.60.4 + rollup: 4.61.1 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -13855,11 +14048,11 @@ snapshots: dependencies: '@vanilla-extract/css': 1.20.1 - '@vanilla-extract/vite-plugin@5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@vanilla-extract/vite-plugin@5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@vanilla-extract/compiler': 0.7.0(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) '@vanilla-extract/integration': 8.0.9 - vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -13936,31 +14129,11 @@ snapshots: - vite optional: true - '@vitest/browser@3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': - dependencies: - '@testing-library/dom': 10.4.1 - '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) - '@vitest/utils': 3.2.6 - magic-string: 0.30.21 - sirv: 3.0.2 - tinyrainbow: 2.0.0 - vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) - ws: 8.20.0 - optionalDependencies: - playwright: 1.60.0 - transitivePeerDependencies: - - bufferutil - - msw - - utf-8-validate - - vite - optional: true - - '@vitest/browser@3.2.6(playwright@1.60.0)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': + '@vitest/browser@3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': dependencies: '@testing-library/dom': 10.4.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/mocker': 3.2.6(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/mocker': 3.2.6(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@vitest/utils': 3.2.6 magic-string: 0.30.21 sirv: 3.0.2 @@ -14010,7 +14183,7 @@ snapshots: tinyrainbow: 2.0.0 vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) optionalDependencies: - '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) + '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) transitivePeerDependencies: - supports-color @@ -14038,13 +14211,13 @@ snapshots: optionalDependencies: vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) - '@vitest/mocker@3.2.4(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@vitest/mocker@3.2.4(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) '@vitest/mocker@3.2.6(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: @@ -14062,13 +14235,13 @@ snapshots: optionalDependencies: vite: 7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) - '@vitest/mocker@3.2.6(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@vitest/mocker@3.2.6(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@vitest/spy': 3.2.6 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -14110,6 +14283,74 @@ snapshots: loupe: 3.2.1 tinyrainbow: 2.0.0 + '@yuku-codegen/binding-darwin-arm64@0.5.44': + optional: true + + '@yuku-codegen/binding-darwin-x64@0.5.44': + optional: true + + '@yuku-codegen/binding-freebsd-x64@0.5.44': + optional: true + + '@yuku-codegen/binding-linux-arm-gnu@0.5.44': + optional: true + + '@yuku-codegen/binding-linux-arm-musl@0.5.44': + optional: true + + '@yuku-codegen/binding-linux-arm64-gnu@0.5.44': + optional: true + + '@yuku-codegen/binding-linux-arm64-musl@0.5.44': + optional: true + + '@yuku-codegen/binding-linux-x64-gnu@0.5.44': + optional: true + + '@yuku-codegen/binding-linux-x64-musl@0.5.44': + optional: true + + '@yuku-codegen/binding-win32-arm64@0.5.44': + optional: true + + '@yuku-codegen/binding-win32-x64@0.5.44': + optional: true + + '@yuku-parser/binding-darwin-arm64@0.5.44': + optional: true + + '@yuku-parser/binding-darwin-x64@0.5.44': + optional: true + + '@yuku-parser/binding-freebsd-x64@0.5.44': + optional: true + + '@yuku-parser/binding-linux-arm-gnu@0.5.44': + optional: true + + '@yuku-parser/binding-linux-arm-musl@0.5.44': + optional: true + + '@yuku-parser/binding-linux-arm64-gnu@0.5.44': + optional: true + + '@yuku-parser/binding-linux-arm64-musl@0.5.44': + optional: true + + '@yuku-parser/binding-linux-x64-gnu@0.5.44': + optional: true + + '@yuku-parser/binding-linux-x64-musl@0.5.44': + optional: true + + '@yuku-parser/binding-win32-arm64@0.5.44': + optional: true + + '@yuku-parser/binding-win32-x64@0.5.44': + optional: true + + '@yuku-toolchain/types@0.5.43': {} + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -14823,6 +15064,8 @@ snapshots: dotenv@17.4.2: {} + dts-resolver@3.0.0: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -14988,10 +15231,10 @@ snapshots: transitivePeerDependencies: - supports-color - esbuild-register@3.6.0(esbuild@0.27.7): + esbuild-register@3.6.0(esbuild@0.28.1): dependencies: debug: 4.4.3 - esbuild: 0.27.7 + esbuild: 0.28.1 transitivePeerDependencies: - supports-color optional: true @@ -15091,7 +15334,7 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-next@15.5.19(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3): + eslint-config-next@15.5.19(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.63.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3): dependencies: '@next/eslint-plugin-next': 15.5.19 '@rushstack/eslint-patch': 1.12.0 @@ -15099,7 +15342,7 @@ snapshots: '@typescript-eslint/parser': 8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.4(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.63.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@2.6.1)) @@ -15132,7 +15375,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1)): + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.63.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.3 @@ -15144,7 +15387,7 @@ snapshots: unrs-resolver: 1.11.1 optionalDependencies: eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.6.1)) - eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)) + eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.63.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)) transitivePeerDependencies: - supports-color @@ -15155,11 +15398,11 @@ snapshots: '@typescript-eslint/parser': 8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.4(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.63.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1)) transitivePeerDependencies: - supports-color - eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)): + eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.63.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)): dependencies: '@package-json/types': 0.0.12 '@typescript-eslint/types': 8.59.2 @@ -15173,7 +15416,7 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.63.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color @@ -15380,7 +15623,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 22.19.21 + '@types/node': 20.19.43 require-like: 0.1.2 execa@0.4.0: @@ -15586,13 +15829,13 @@ snapshots: transitivePeerDependencies: - supports-color - fumadocs-docgen@3.0.10(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/estree@1.0.9)(@types/hast@3.0.4)(@types/mdast@4.0.4)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(mdast-util-mdx@3.0.0): + fumadocs-docgen@3.0.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/estree@1.0.9)(@types/hast@3.0.4)(@types/mdast@4.0.4)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(mdast-util-mdx@3.0.0): dependencies: estree-util-to-js: 2.0.0 estree-util-value-to-estree: 3.5.0 fumadocs-core: 16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3) npm-to-yarn: 3.0.1 - oxc-transform: 0.124.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + oxc-transform: 0.124.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) unified: 11.0.5 unist-util-visit: 5.1.0 vfile: 6.0.3 @@ -15606,7 +15849,7 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - fumadocs-mdx@14.3.2(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react@19.2.7)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): + fumadocs-mdx@14.3.2(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react@19.2.7)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): dependencies: '@mdx-js/mdx': 3.1.1 '@standard-schema/spec': 1.1.0 @@ -15632,7 +15875,7 @@ snapshots: '@types/react': 19.2.17 next: 16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0) react: 19.2.7 - vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - supports-color @@ -15712,6 +15955,14 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 + get-tsconfig@4.14.0: + dependencies: + resolve-pkg-maps: 1.0.0 + + get-tsconfig@5.0.0-beta.5: + dependencies: + resolve-pkg-maps: 1.0.0 + github-slugger@2.0.0: {} glob-parent@5.1.2: @@ -15788,7 +16039,7 @@ snapshots: happy-dom@20.9.0: dependencies: - '@types/node': 22.19.21 + '@types/node': 20.19.43 '@types/whatwg-mimetype': 3.0.2 '@types/ws': 8.18.1 entities: 7.0.1 @@ -16022,7 +16273,7 @@ snapshots: is-bun-module@2.0.0: dependencies: - semver: 7.8.1 + semver: 7.8.5 is-callable@1.2.7: {} @@ -16076,8 +16327,6 @@ snapshots: is-map@2.0.3: {} - is-module@1.0.0: {} - is-negative-zero@2.0.3: {} is-number-object@1.1.1: @@ -16239,15 +16488,15 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + jest-cli@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): dependencies: - '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) '@jest/test-result': 30.3.0 '@jest/types': 30.3.0 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) jest-util: 30.3.0 jest-validate: 30.3.0 yargs: 17.7.2 @@ -16258,7 +16507,7 @@ snapshots: - supports-color - ts-node - jest-config@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + jest-config@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): dependencies: '@babel/core': 7.29.0 '@jest/get-type': 30.1.0 @@ -16285,8 +16534,8 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.43 - esbuild-register: 3.6.0(esbuild@0.27.7) - ts-node: 10.9.2(@types/node@20.19.43)(typescript@5.9.3) + esbuild-register: 3.6.0(esbuild@0.28.1) + ts-node: 10.9.2(@types/node@20.19.43)(typescript@6.0.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -16543,12 +16792,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): dependencies: - '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) '@jest/types': 30.3.0 import-local: 3.2.0 - jest-cli: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest-cli: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -16789,10 +17038,6 @@ snapshots: lz-string@1.5.0: {} - magic-string@0.30.19: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -17474,6 +17719,8 @@ snapshots: obug@2.1.2: {} + obug@2.1.3: {} + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -17513,7 +17760,7 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - oxc-transform@0.124.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): + oxc-transform@0.124.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1): optionalDependencies: '@oxc-transform/binding-android-arm-eabi': 0.124.0 '@oxc-transform/binding-android-arm64': 0.124.0 @@ -17531,7 +17778,7 @@ snapshots: '@oxc-transform/binding-linux-x64-gnu': 0.124.0 '@oxc-transform/binding-linux-x64-musl': 0.124.0 '@oxc-transform/binding-openharmony-arm64': 0.124.0 - '@oxc-transform/binding-wasm32-wasi': 0.124.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@oxc-transform/binding-wasm32-wasi': 0.124.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) '@oxc-transform/binding-win32-arm64-msvc': 0.124.0 '@oxc-transform/binding-win32-ia32-msvc': 0.124.0 '@oxc-transform/binding-win32-x64-msvc': 0.124.0 @@ -17655,6 +17902,8 @@ snapshots: picomatch@4.0.4: {} + picomatch@4.0.5: {} + pify@4.0.1: {} pirates@4.0.7: {} @@ -17683,12 +17932,12 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0): + postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 2.6.1 - postcss: 8.5.15 + postcss: 8.5.16 tsx: 4.21.0 postcss-value-parser@4.2.0: {} @@ -17705,6 +17954,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.16: + dependencies: + nanoid: 3.3.12 + picocolors: 1.1.1 + source-map-js: 1.2.1 + prelude-ls@1.2.1: {} prettier@2.8.8: {} @@ -18057,58 +18312,44 @@ snapshots: glob: 13.0.6 package-json-from-dist: 1.0.1 - rolldown@1.0.3: + rolldown-plugin-dts@0.27.1(rolldown@1.1.4)(typescript@5.9.3): dependencies: - '@oxc-project/types': 0.133.0 - '@rolldown/pluginutils': 1.0.1 + dts-resolver: 3.0.0 + get-tsconfig: 5.0.0-beta.5 + obug: 2.1.3 + rolldown: 1.1.4 + yuku-ast: 0.1.7 + yuku-codegen: 0.5.44 + yuku-parser: 0.5.44 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.3 - '@rolldown/binding-darwin-arm64': 1.0.3 - '@rolldown/binding-darwin-x64': 1.0.3 - '@rolldown/binding-freebsd-x64': 1.0.3 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.3 - '@rolldown/binding-linux-arm64-gnu': 1.0.3 - '@rolldown/binding-linux-arm64-musl': 1.0.3 - '@rolldown/binding-linux-ppc64-gnu': 1.0.3 - '@rolldown/binding-linux-s390x-gnu': 1.0.3 - '@rolldown/binding-linux-x64-gnu': 1.0.3 - '@rolldown/binding-linux-x64-musl': 1.0.3 - '@rolldown/binding-openharmony-arm64': 1.0.3 - '@rolldown/binding-wasm32-wasi': 1.0.3 - '@rolldown/binding-win32-arm64-msvc': 1.0.3 - '@rolldown/binding-win32-x64-msvc': 1.0.3 - - rollup-plugin-dts@6.4.1(rollup@4.60.4)(typescript@5.9.3): - dependencies: - '@jridgewell/remapping': 2.3.5 - '@jridgewell/sourcemap-codec': 1.5.5 - convert-source-map: 2.0.0 - magic-string: 0.30.21 - rollup: 4.60.4 typescript: 5.9.3 - optionalDependencies: - '@babel/code-frame': 7.29.0 - - rollup-plugin-esbuild@6.2.1(esbuild@0.28.1)(rollup@4.60.4): - dependencies: - debug: 4.4.3 - es-module-lexer: 1.7.0 - esbuild: 0.28.1 - get-tsconfig: 4.13.0 - rollup: 4.60.4 - unplugin-utils: 0.2.5 transitivePeerDependencies: - - supports-color + - oxc-resolver - rollup-plugin-node-externals@8.1.2(rollup@4.60.4): + rolldown@1.1.4: dependencies: - rollup: 4.60.4 - - rollup-plugin-preserve-directives@0.4.0(rollup@4.60.4): + '@oxc-project/types': 0.138.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.1.4 + '@rolldown/binding-darwin-arm64': 1.1.4 + '@rolldown/binding-darwin-x64': 1.1.4 + '@rolldown/binding-freebsd-x64': 1.1.4 + '@rolldown/binding-linux-arm-gnueabihf': 1.1.4 + '@rolldown/binding-linux-arm64-gnu': 1.1.4 + '@rolldown/binding-linux-arm64-musl': 1.1.4 + '@rolldown/binding-linux-ppc64-gnu': 1.1.4 + '@rolldown/binding-linux-s390x-gnu': 1.1.4 + '@rolldown/binding-linux-x64-gnu': 1.1.4 + '@rolldown/binding-linux-x64-musl': 1.1.4 + '@rolldown/binding-openharmony-arm64': 1.1.4 + '@rolldown/binding-wasm32-wasi': 1.1.4 + '@rolldown/binding-win32-arm64-msvc': 1.1.4 + '@rolldown/binding-win32-x64-msvc': 1.1.4 + + rollup-plugin-node-externals@8.1.2(rollup@4.61.1): dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.60.4) - magic-string: 0.30.19 - rollup: 4.60.4 + rollup: 4.61.1 rollup@4.60.3: dependencies: @@ -18259,6 +18500,8 @@ snapshots: semver@7.8.1: {} + semver@7.8.5: {} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -18466,13 +18709,13 @@ snapshots: - utf-8-validate - vite - storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): + storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): dependencies: '@storybook/global': 5.0.0 '@testing-library/jest-dom': 6.9.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/mocker': 3.2.4(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@vitest/spy': 3.2.4 better-opn: 3.0.2 esbuild: 0.25.12 @@ -18742,25 +18985,25 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.7)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)))(typescript@5.9.3): + ts-jest@29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.28.1)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)))(typescript@6.0.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.9 - jest: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.8.1 type-fest: 4.41.0 - typescript: 5.9.3 + typescript: 6.0.3 yargs-parser: 21.1.1 optionalDependencies: '@babel/core': 7.29.0 '@jest/transform': 30.3.0 '@jest/types': 30.3.0 babel-jest: 30.3.0(@babel/core@7.29.0) - esbuild: 0.27.7 + esbuild: 0.28.1 jest-util: 30.3.0 ts-morph@22.0.0: @@ -18773,7 +19016,7 @@ snapshots: '@ts-morph/common': 0.29.0 code-block-writer: 13.0.3 - ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3): + ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 @@ -18787,7 +19030,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 5.9.3 + typescript: 6.0.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optional: true @@ -18807,7 +19050,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.1(jiti@2.6.1)(postcss@8.5.15)(tsx@4.21.0)(typescript@5.9.3): + tsup@8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3): dependencies: bundle-require: 5.1.0(esbuild@0.27.7) cac: 6.7.14 @@ -18818,7 +19061,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.6.1)(postcss@8.5.15)(tsx@4.21.0) + postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0) resolve-from: 5.0.0 rollup: 4.60.3 source-map: 0.7.6 @@ -18827,7 +19070,7 @@ snapshots: tinyglobby: 0.2.16 tree-kill: 1.2.2 optionalDependencies: - postcss: 8.5.15 + postcss: 8.5.16 typescript: 5.9.3 transitivePeerDependencies: - jiti @@ -18835,6 +19078,34 @@ snapshots: - tsx - yaml + tsup@8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@6.0.3): + dependencies: + bundle-require: 5.1.0(esbuild@0.27.7) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.2 + debug: 4.4.3 + esbuild: 0.27.7 + fix-dts-default-cjs-exports: 1.0.1 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0) + resolve-from: 5.0.0 + rollup: 4.60.3 + source-map: 0.7.6 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.16 + tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.5.16 + typescript: 6.0.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + tsx@4.21.0: dependencies: esbuild: 0.27.7 @@ -18916,6 +19187,8 @@ snapshots: typescript@5.9.3: {} + typescript@6.0.3: {} + ufo@1.6.1: {} uglify-js@3.19.3: @@ -19010,11 +19283,6 @@ snapshots: universalify@0.1.2: {} - unplugin-utils@0.2.5: - dependencies: - pathe: 2.0.3 - picomatch: 4.0.4 - unplugin@1.16.1: dependencies: acorn: 8.16.0 @@ -19149,7 +19417,7 @@ snapshots: es-module-lexer: 2.1.0 obug: 2.1.2 pathe: 2.0.3 - vite: 8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -19170,7 +19438,7 @@ snapshots: es-module-lexer: 2.1.0 obug: 2.1.2 pathe: 2.0.3 - vite: 8.0.16(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.1.3(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -19240,12 +19508,12 @@ snapshots: sass: 1.99.0 tsx: 4.21.0 - vite@8.0.16(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): + vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): dependencies: lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.15 - rolldown: 1.0.3 + picomatch: 4.0.5 + postcss: 8.5.16 + rolldown: 1.1.4 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 22.19.21 @@ -19255,12 +19523,12 @@ snapshots: sass: 1.99.0 tsx: 4.21.0 - vite@8.0.16(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): + vite@8.1.3(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): dependencies: lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.15 - rolldown: 1.0.3 + picomatch: 4.0.5 + postcss: 8.5.16 + rolldown: 1.1.4 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 25.5.0 @@ -19351,7 +19619,7 @@ snapshots: optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.19.21 - '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) + '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) happy-dom: 20.9.0 jsdom: 29.0.2(@noble/hashes@1.8.0) transitivePeerDependencies: @@ -19523,6 +19791,42 @@ snapshots: yoctocolors-cjs@2.1.3: {} + yuku-ast@0.1.7: + dependencies: + '@yuku-toolchain/types': 0.5.43 + + yuku-codegen@0.5.44: + dependencies: + '@yuku-toolchain/types': 0.5.43 + optionalDependencies: + '@yuku-codegen/binding-darwin-arm64': 0.5.44 + '@yuku-codegen/binding-darwin-x64': 0.5.44 + '@yuku-codegen/binding-freebsd-x64': 0.5.44 + '@yuku-codegen/binding-linux-arm-gnu': 0.5.44 + '@yuku-codegen/binding-linux-arm-musl': 0.5.44 + '@yuku-codegen/binding-linux-arm64-gnu': 0.5.44 + '@yuku-codegen/binding-linux-arm64-musl': 0.5.44 + '@yuku-codegen/binding-linux-x64-gnu': 0.5.44 + '@yuku-codegen/binding-linux-x64-musl': 0.5.44 + '@yuku-codegen/binding-win32-arm64': 0.5.44 + '@yuku-codegen/binding-win32-x64': 0.5.44 + + yuku-parser@0.5.44: + dependencies: + '@yuku-toolchain/types': 0.5.43 + optionalDependencies: + '@yuku-parser/binding-darwin-arm64': 0.5.44 + '@yuku-parser/binding-darwin-x64': 0.5.44 + '@yuku-parser/binding-freebsd-x64': 0.5.44 + '@yuku-parser/binding-linux-arm-gnu': 0.5.44 + '@yuku-parser/binding-linux-arm-musl': 0.5.44 + '@yuku-parser/binding-linux-arm64-gnu': 0.5.44 + '@yuku-parser/binding-linux-arm64-musl': 0.5.44 + '@yuku-parser/binding-linux-x64-gnu': 0.5.44 + '@yuku-parser/binding-linux-x64-musl': 0.5.44 + '@yuku-parser/binding-win32-arm64': 0.5.44 + '@yuku-parser/binding-win32-x64': 0.5.44 + zod@4.4.3: {} zwitch@2.0.4: {} From 00de410a235f7b24c022025c42eeaf482740e537 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 9 Jul 2026 13:43:57 +0900 Subject: [PATCH 02/80] migrate from rollup to rolldown --- packages/core/rolldown.config.ts | 201 +++++++++++++++++++++++++ packages/core/rollup.config.mjs | 247 ------------------------------- 2 files changed, 201 insertions(+), 247 deletions(-) create mode 100644 packages/core/rolldown.config.ts delete mode 100644 packages/core/rollup.config.mjs diff --git a/packages/core/rolldown.config.ts b/packages/core/rolldown.config.ts new file mode 100644 index 000000000..71d7bf8d6 --- /dev/null +++ b/packages/core/rolldown.config.ts @@ -0,0 +1,201 @@ +import { vanillaExtractPlugin } from '@vanilla-extract/rollup-plugin'; +import { getTsconfig } from 'get-tsconfig'; +import fs from 'node:fs'; +import path from 'node:path'; +import { defineConfig } from 'rolldown'; +import type { OutputOptions, Plugin, RolldownOptions, RolldownPluginOption } from 'rolldown'; +import { dts as dtsPlugin } from 'rolldown-plugin-dts'; +import depsExternalPlugin from 'rollup-plugin-node-externals'; + +/* ---- cleanLayerDeclaration ----- */ + +/** + * Removes top-level '@layer ...;' declarations from '.css' asset files. + * (Excluding layers.css.ts.vanilla.css) + */ +const cleanLayerDeclaration = (): Plugin => { + return { + name: 'clean-css-layer-declarations', + + generateBundle(_options, bundle) { + const layerDeclarationRegex = /^@layer vapor.[a-zA-Z0-9_-]+;\s*/gm; + const exceptionFile = 'styles/layers.css.ts.vanilla.css'; + + for (const fileName in bundle) { + const file = bundle[fileName]; + + if ( + file.type === 'asset' && + fileName.endsWith('.css') && + fileName !== exceptionFile + ) { + if (typeof file.source === 'string') { + file.source = file.source.replace(layerDeclarationRegex, ''); + } + } + } + }, + }; +}; + +/* ----- plugins ----- */ + +const kebabCase = (str: string) => { + if (!str) return ''; + + const WORD_PATTERN = [ + /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)/, // 대문자 연속 (예: XML, JSON) + /[A-Z]?[a-z]+[0-9]*/, // 일반 단어 (예: hello, World1) + /[A-Z]/, // 남은 대문자 하나 + /[0-9]+/, // 숫자 뭉치 + ]; + + const regex = new RegExp(WORD_PATTERN.map((r) => r.source).join('|'), 'g'); + const words = str.match(regex) || []; + + return words.map((word) => word.toLowerCase()).join('-'); +}; + +type IdentifiersOptions = { hash: string; filePath: string; debugId?: string }; + +const identifiers = ({ hash, filePath, debugId }: IdentifiersOptions) => { + const componentName = path.basename(filePath, '.css.ts'); + const prefix = componentName === 'sprinkles' ? 'v' : componentName; + + const cleanId = debugId ? debugId.replace('-default', '').replace('_', '-') : ''; + const id = kebabCase(cleanId); + + return `${prefix}${id ? `-${id}` : ''}-${hash}`; +}; + +const compilerOptions = getTsconfig()?.config.compilerOptions; + +const plugins = { + vanillaExtract: vanillaExtractPlugin({ identifiers }), + depsExternal: depsExternalPlugin(), + dts: dtsPlugin({ + // entry: ['src/**/*.{ts,tsx}', '!src/**/*.css.ts'], + // tsconfig: 'tsconfig.json', + emitDtsOnly: true, + compilerOptions: { + ...compilerOptions, + baseUrl: compilerOptions?.baseUrl ?? './', + declaration: true, + declarationMap: false, + noEmit: false, + emitDeclarationOnly: true, + noEmitOnError: true, + target: compilerOptions?.target ?? 'ES2024', + }, + }), + cleanLayerDeclaration: cleanLayerDeclaration(), +}; + +/* ----- input ----- */ + +/** + * Scans the 'src/components' directory + * and adds the 'index.ts' file of each component as a dynamic entry point. + * @param {string} componentsDir - The component directory path + * @returns {Record} + */ +const getComponentEntries = (componentsDir = 'src/components') => { + const entries: Record = {}; + + if (!fs.existsSync(componentsDir)) { + return entries; + } + + const componentFolders = fs + .readdirSync(componentsDir, { withFileTypes: true }) + .filter((dirent) => dirent.isDirectory()) + .map((dirent) => dirent.name); + + componentFolders.forEach((folder) => { + const indexPath = `${componentsDir}/${folder}/index.ts`; + + // e.g., 'components/Button' -> 'src/components/Button/index.ts' + if (fs.existsSync(indexPath)) { + entries[`components/${folder}/index`] = indexPath; + } + }); + + return entries; +}; + +const ENTRY_POINTS = { + index: 'src/index.ts', + 'styles/tailwind-preset': 'src/styles/tailwind-preset.css.ts', + ...getComponentEntries('src/components'), +}; + +/* ----- rolldown ----- */ + +const sharedResolve = { + alias: { '~': path.resolve('./src') }, + extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], +}; + +// e.g., 'src/styles/foo.css' -> 'styles/foo.css' +const assetFileNames = (assetInfo: { name?: string }) => { + if (!assetInfo.name) return 'assets/[name]-[hash][extname]'; + return assetInfo.name.replace(/^src\//, ''); +}; + +type BundleOptions = { plugins: RolldownPluginOption; output: OutputOptions }; +const bundle = ({ plugins, output }: BundleOptions): RolldownOptions => ({ + input: ENTRY_POINTS, + resolve: sharedResolve, + // plugins: [depsExternal, vanillaExtract, cleanLayerDeclaration, dts], + plugins, + output: { + dir: 'dist', + preserveModules: true, + preserveModulesRoot: 'src', + sourcemap: false, + sourcemapExcludeSources: false, + ...output, + }, +}); + +export default defineConfig([ + // ESM Build + bundle({ + plugins: [plugins.depsExternal, plugins.vanillaExtract, plugins.cleanLayerDeclaration, ,], + output: { + format: 'esm', + strict: true, + exports: 'named', + + // e.g., 'styles/tailwind-preset.css' -> 'styles/tailwind-preset.css.vanilla.js' + entryFileNames: ({ name }) => `${name.replace(/\.css$/, '.css.vanilla')}.js`, + assetFileNames, + }, + }), + + // CJS Build + bundle({ + plugins: [plugins.depsExternal, plugins.vanillaExtract, plugins.cleanLayerDeclaration], + output: { + format: 'cjs', + strict: true, + exports: 'named', + + entryFileNames: ({ name }) => `${name.replace(/\.css$/, '.css.vanilla')}.cjs`, + assetFileNames, + }, + }), + + // DTS Build + bundle({ + plugins: [plugins.depsExternal, plugins.dts], + output: { + format: 'esm', + strict: false, + exports: undefined, + + // e.g., 'button.css.d' -> 'button.css.vanilla.d.ts' + entryFileNames: ({ name }) => `${name.replace(/\.css\.d$/, '.css.vanilla.d')}.ts`, + }, + }), +]); diff --git a/packages/core/rollup.config.mjs b/packages/core/rollup.config.mjs deleted file mode 100644 index ac48c8e85..000000000 --- a/packages/core/rollup.config.mjs +++ /dev/null @@ -1,247 +0,0 @@ -// rollup.config.mjs -import alias from '@rollup/plugin-alias'; -import json from '@rollup/plugin-json'; -import resolve from '@rollup/plugin-node-resolve'; -import { vanillaExtractPlugin } from '@vanilla-extract/rollup-plugin'; -import fs from 'fs'; -import path from 'path'; -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; -import depsExternal from 'rollup-plugin-node-externals'; -import { preserveDirectives } from 'rollup-plugin-preserve-directives'; -import { parseJsonConfigFileContent, readConfigFile, sys } from 'typescript'; - -/* ------------------------------------------------------------------------------------------------- - * Entry Point Configuration - * -----------------------------------------------------------------------------------------------*/ - -/** - * Scans the 'src/components' directory - * and adds the 'index.ts' file of each component as a dynamic entry point. - * @param {string} componentsDir - The component directory path - * @returns {Record} - */ -const getComponentEntries = (componentsDir = 'src/components') => { - const entries = {}; - if (!fs.existsSync(componentsDir)) { - return entries; - } - - const componentFolders = fs - .readdirSync(componentsDir, { withFileTypes: true }) - .filter((dirent) => dirent.isDirectory()) - .map((dirent) => dirent.name); - - componentFolders.forEach((folder) => { - const indexPath = `${componentsDir}/${folder}/index.ts`; - if (fs.existsSync(indexPath)) { - // e.g., 'components/Button' -> 'src/components/Button/index.ts' - entries[`components/${folder}/index`] = indexPath; - } - }); - return entries; -}; - -const ENTRY_POINTS = { - index: 'src/index.ts', - 'styles/tailwind-preset': 'src/styles/tailwind-preset.css.ts', - ...getComponentEntries('src/components'), -}; - -/* ------------------------------------------------------------------------------------------------- - * Helper & Plugin Definitions - * -----------------------------------------------------------------------------------------------*/ - -/** - * Loads TypeScript compiler options - * @param {string} tsconfig - Path to the tsconfig file - * @returns {object} TypeScript compiler options - */ -const loadCompilerOptions = (tsConfigPath) => { - if (!tsConfigPath) return {}; - - const configFile = readConfigFile(tsConfigPath, sys.readFile); - if (configFile.error) { - console.error('Failed to read tsconfig.json:', configFile.error); - return {}; - } - - const { options } = parseJsonConfigFileContent(configFile.config, sys, './'); - return options; -}; - -const compilerOptions = loadCompilerOptions('tsconfig.json'); - -/** - * Removes top-level '@layer ...;' declarations from '.css' asset files. - * (Excluding layers.css.ts.vanilla.css) - * @returns {import('rollup').Plugin} - */ -const cleanCssLayerDeclarations = () => { - return { - name: 'clean-css-layer-declarations', - - /** - * @param {import('rollup').OutputOptions} options - * @param {Record} bundle - */ - generateBundle(options, bundle) { - const layerDeclarationRegex = /^@layer vapor.[a-zA-Z0-9_-]+;\s*/gm; - const exceptionFile = 'styles/layers.css.ts.vanilla.css'; - - for (const fileName in bundle) { - const file = bundle[fileName]; - - if ( - file.type === 'asset' && - fileName.endsWith('.css') && - fileName !== exceptionFile - ) { - if (typeof file.source === 'string') { - file.source = file.source.replace(layerDeclarationRegex, ''); - } - } - } - }, - }; -}; - -/** - * Creates common output settings. - * - * @param {object} options - * @param {string} options.dir - Output directory (e.g., 'dist/') - * @param {'esm' | 'cjs'} options.format - Module format - * @param {string} options.extension - File extension (e.g., 'js', 'cjs') - * @param {import('rollup').OutputOptions} [options.outputOptions] - Additional Rollup output options (for overriding) - * @returns {import('rollup').OutputOptions} - */ -const createOutput = ({ dir, format, extension, ...outputOptions }) => { - return { - dir, - format, - preserveModules: true, // Preserve source directory structure - strict: false, - exports: 'named', - sourcemap: false, - sourcemapExcludeSources: false, - - // Customize entry file names - // e.g., 'styles/tailwind-preset.css' -> 'styles/tailwind-preset.css.vanilla.js' - entryFileNames: ({ name }) => { - return `${name.replace(/\.css$/, '.css.vanilla')}.${extension}`; - }, - - // Customize asset file names - // e.g., 'src/styles/foo.css' -> 'styles/foo.css' - assetFileNames: (assetInfo) => { - return assetInfo.name.replace(/^src\//, ''); - }, - - ...outputOptions, - }; -}; - -const kebabCase = (str) => { - if (!str) return ''; - - const WORD_PATTERN = [ - /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)/, // 대문자 연속 (예: XML, JSON) - /[A-Z]?[a-z]+[0-9]*/, // 일반 단어 (예: hello, World1) - /[A-Z]/, // 남은 대문자 하나 - /[0-9]+/, // 숫자 뭉치 - ]; - - const regex = new RegExp(WORD_PATTERN.map((r) => r.source).join('|'), 'g'); - const words = str.match(regex) || []; - - return words.map((word) => word.toLowerCase()).join('-'); -}; - -const identifiers = ({ hash, filePath, debugId }) => { - const componentName = path.basename(filePath, '.css.ts'); - const prefix = componentName === 'sprinkles' ? 'v' : componentName; - - const cleanId = debugId ? debugId.replace('-default', '').replace('_', '-') : ''; - const id = kebabCase(cleanId); - - return `${prefix}${id ? `-${id}` : ''}-${hash}`; -}; - -const commonPlugins = [ - alias({ - entries: [{ find: '~', replacement: path.resolve('./src') }], - customResolver: resolve({ - extensions: ['.mjs', '.js', '.jsx', '.ts', '.tsx'], - }), - }), - vanillaExtractPlugin({ identifiers }), - depsExternal(), -]; - -const buildPlugins = [ - ...commonPlugins, - esbuild({ target: 'esnext' }), - preserveDirectives(), - json(), -]; - -/* ------------------------------------------------------------------------------------------------- - * Build Definitions - * -----------------------------------------------------------------------------------------------*/ - -const esmBuild = { - input: ENTRY_POINTS, - plugins: [...buildPlugins, cleanCssLayerDeclarations()], - output: [ - createOutput({ - dir: 'dist/', - format: 'esm', - extension: 'js', - }), - ], -}; - -const cjsBuild = { - input: ENTRY_POINTS, - plugins: [...buildPlugins, cleanCssLayerDeclarations()], - output: [ - createOutput({ - dir: 'dist/', - format: 'cjs', - extension: 'cjs', - }), - ], -}; - -const dtsBuild = { - input: ENTRY_POINTS, - plugins: [ - ...commonPlugins, - dts({ - ...compilerOptions, - baseUrl: path.resolve(compilerOptions.baseUrl || '.'), - declaration: true, - noEmit: false, - emitDeclarationOnly: true, - noEmitOnError: true, - target: compilerOptions.target || 'ESNext', - }), - ], - output: [ - createOutput({ - dir: 'dist/', - format: 'esm', - extension: 'd.ts', - - // --- overrides --- - preserveModulesRoot: 'src', - assetFileNames: undefined, - exports: undefined, - - entryFileNames: ({ name }) => `${name.replace(/\.css$/, '.css.vanilla')}.d.ts`, - }), - ], -}; - -export default [esmBuild, cjsBuild, dtsBuild]; From d918c3ec685a0a5f94561a4c7357ffcb7d69c617 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 9 Jul 2026 14:38:19 +0900 Subject: [PATCH 03/80] remove get-tsconfig --- packages/core/package.json | 1 - packages/core/rolldown.config.ts | 9 ----- pnpm-lock.yaml | 66 ++++++++++++++++++-------------- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 679d2301c..4c1a2df8d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -86,7 +86,6 @@ "@vitest/coverage-v8": "^3.2.6", "autoprefixer": "^10.5.0", "eslint": "catalog:", - "get-tsconfig": "^4.14.0", "happy-dom": "^20.9.0", "postcss": "^8.5.15", "react": "catalog:", diff --git a/packages/core/rolldown.config.ts b/packages/core/rolldown.config.ts index 71d7bf8d6..1d89b40be 100644 --- a/packages/core/rolldown.config.ts +++ b/packages/core/rolldown.config.ts @@ -1,5 +1,4 @@ import { vanillaExtractPlugin } from '@vanilla-extract/rollup-plugin'; -import { getTsconfig } from 'get-tsconfig'; import fs from 'node:fs'; import path from 'node:path'; import { defineConfig } from 'rolldown'; @@ -68,24 +67,17 @@ const identifiers = ({ hash, filePath, debugId }: IdentifiersOptions) => { return `${prefix}${id ? `-${id}` : ''}-${hash}`; }; -const compilerOptions = getTsconfig()?.config.compilerOptions; - const plugins = { vanillaExtract: vanillaExtractPlugin({ identifiers }), depsExternal: depsExternalPlugin(), dts: dtsPlugin({ - // entry: ['src/**/*.{ts,tsx}', '!src/**/*.css.ts'], - // tsconfig: 'tsconfig.json', emitDtsOnly: true, compilerOptions: { - ...compilerOptions, - baseUrl: compilerOptions?.baseUrl ?? './', declaration: true, declarationMap: false, noEmit: false, emitDeclarationOnly: true, noEmitOnError: true, - target: compilerOptions?.target ?? 'ES2024', }, }), cleanLayerDeclaration: cleanLayerDeclaration(), @@ -146,7 +138,6 @@ type BundleOptions = { plugins: RolldownPluginOption; output: OutputOptions }; const bundle = ({ plugins, output }: BundleOptions): RolldownOptions => ({ input: ENTRY_POINTS, resolve: sharedResolve, - // plugins: [depsExternal, vanillaExtract, cleanLayerDeclaration, dts], plugins, output: { dir: 'dist', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 892119897..7553028dd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -422,13 +422,13 @@ importers: version: 9.39.4(jiti@2.6.1) jest: specifier: ^30.3.0 - version: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) + version: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) rimraf: specifier: ^6.1.3 version: 6.1.3 ts-jest: specifier: ^29.4.11 - version: 29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.28.1)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)))(typescript@6.0.3) + version: 29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.7)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)))(typescript@6.0.3) tsup: specifier: ^8.5.1 version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@6.0.3) @@ -560,9 +560,6 @@ importers: eslint: specifier: 'catalog:' version: 9.39.4(jiti@2.6.1) - get-tsconfig: - specifier: ^4.14.0 - version: 4.14.0 happy-dom: specifier: ^20.9.0 version: 20.9.0 @@ -6534,9 +6531,6 @@ packages: get-tsconfig@4.13.0: resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} - get-tsconfig@4.14.0: - resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} - get-tsconfig@5.0.0-beta.5: resolution: {integrity: sha512-/6gFNr0N04nob252sTQxyFLi3eKFRqIg1I87YcqAMT1i6SQrSF6KujUEQrtrjMV0H/eejTCltLdDSTEMzHbnsQ==} engines: {node: '>=20.20.0'} @@ -11873,7 +11867,7 @@ snapshots: jest-util: 30.3.0 slash: 3.0.0 - '@jest/core@30.3.0(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3))': + '@jest/core@30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3))': dependencies: '@jest/console': 30.3.0 '@jest/pattern': 30.0.1 @@ -11888,7 +11882,7 @@ snapshots: exit-x: 0.2.2 graceful-fs: 4.2.11 jest-changed-files: 30.3.0 - jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) + jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) jest-haste-map: 30.3.0 jest-message-util: 30.3.0 jest-regex-util: 30.0.1 @@ -14129,6 +14123,26 @@ snapshots: - vite optional: true + '@vitest/browser@3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': + dependencies: + '@testing-library/dom': 10.4.1 + '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) + '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/utils': 3.2.6 + magic-string: 0.30.21 + sirv: 3.0.2 + tinyrainbow: 2.0.0 + vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + ws: 8.20.0 + optionalDependencies: + playwright: 1.60.0 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + optional: true + '@vitest/browser@3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': dependencies: '@testing-library/dom': 10.4.1 @@ -15231,10 +15245,10 @@ snapshots: transitivePeerDependencies: - supports-color - esbuild-register@3.6.0(esbuild@0.28.1): + esbuild-register@3.6.0(esbuild@0.27.7): dependencies: debug: 4.4.3 - esbuild: 0.28.1 + esbuild: 0.27.7 transitivePeerDependencies: - supports-color optional: true @@ -15955,10 +15969,6 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 - get-tsconfig@4.14.0: - dependencies: - resolve-pkg-maps: 1.0.0 - get-tsconfig@5.0.0-beta.5: dependencies: resolve-pkg-maps: 1.0.0 @@ -16488,15 +16498,15 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): + jest-cli@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): dependencies: - '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) + '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) '@jest/test-result': 30.3.0 '@jest/types': 30.3.0 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) + jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) jest-util: 30.3.0 jest-validate: 30.3.0 yargs: 17.7.2 @@ -16507,7 +16517,7 @@ snapshots: - supports-color - ts-node - jest-config@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): + jest-config@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): dependencies: '@babel/core': 7.29.0 '@jest/get-type': 30.1.0 @@ -16534,7 +16544,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.43 - esbuild-register: 3.6.0(esbuild@0.28.1) + esbuild-register: 3.6.0(esbuild@0.27.7) ts-node: 10.9.2(@types/node@20.19.43)(typescript@6.0.3) transitivePeerDependencies: - babel-plugin-macros @@ -16792,12 +16802,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): + jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): dependencies: - '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) + '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) '@jest/types': 30.3.0 import-local: 3.2.0 - jest-cli: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) + jest-cli: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -18985,12 +18995,12 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.28.1)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)))(typescript@6.0.3): + ts-jest@29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.7)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)))(typescript@6.0.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.9 - jest: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) + jest: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 @@ -19003,7 +19013,7 @@ snapshots: '@jest/transform': 30.3.0 '@jest/types': 30.3.0 babel-jest: 30.3.0(@babel/core@7.29.0) - esbuild: 0.28.1 + esbuild: 0.27.7 jest-util: 30.3.0 ts-morph@22.0.0: @@ -19619,7 +19629,7 @@ snapshots: optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.19.21 - '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) + '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) happy-dom: 20.9.0 jsdom: 29.0.2(@noble/hashes@1.8.0) transitivePeerDependencies: From 8b247e4b3680fd452bd6dff58fddd3a4c37c3755 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 9 Jul 2026 14:56:50 +0900 Subject: [PATCH 04/80] format --- packages/core/rolldown.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/rolldown.config.ts b/packages/core/rolldown.config.ts index 1d89b40be..c4dae4976 100644 --- a/packages/core/rolldown.config.ts +++ b/packages/core/rolldown.config.ts @@ -152,7 +152,7 @@ const bundle = ({ plugins, output }: BundleOptions): RolldownOptions => ({ export default defineConfig([ // ESM Build bundle({ - plugins: [plugins.depsExternal, plugins.vanillaExtract, plugins.cleanLayerDeclaration, ,], + plugins: [plugins.depsExternal, plugins.vanillaExtract, plugins.cleanLayerDeclaration], output: { format: 'esm', strict: true, From 5b361ae2b2c6385d81c5d757771acd555114c248 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 9 Jul 2026 14:57:30 +0900 Subject: [PATCH 05/80] remove build:rollup --- packages/core/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 4c1a2df8d..31c4cf951 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -46,7 +46,6 @@ ], "scripts": { "build": "rimraf dist && rolldown -c rolldown.config.ts", - "build:rollup": "rimraf dist-rollup && rollup -c rollup.config.ts", "clean": "rimraf dist node_modules .turbo", "lint": "eslint ./src", "test": "vitest --run", From f60ff1d47187b1b1fb242fc2f02ab1471a00022a Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 16 Jul 2026 10:20:06 +0900 Subject: [PATCH 06/80] split tsconfig according to scope --- packages/core/rolldown.config.ts | 6 +++++- packages/core/tsconfig.base.json | 22 ++++++++++++++++++++++ packages/core/tsconfig.json | 18 ++++++++---------- packages/core/tsconfig.test.json | 18 ++++++++++++++++++ 4 files changed, 53 insertions(+), 11 deletions(-) create mode 100644 packages/core/tsconfig.base.json create mode 100644 packages/core/tsconfig.test.json diff --git a/packages/core/rolldown.config.ts b/packages/core/rolldown.config.ts index c4dae4976..f73b4e94f 100644 --- a/packages/core/rolldown.config.ts +++ b/packages/core/rolldown.config.ts @@ -68,9 +68,13 @@ const identifiers = ({ hash, filePath, debugId }: IdentifiersOptions) => { }; const plugins = { - vanillaExtract: vanillaExtractPlugin({ identifiers }), + vanillaExtract: vanillaExtractPlugin({ + esbuildOptions: { tsconfig: './tsconfig.base.json' }, + identifiers, + }), depsExternal: depsExternalPlugin(), dts: dtsPlugin({ + tsconfig: './tsconfig.base.json', emitDtsOnly: true, compilerOptions: { declaration: true, diff --git a/packages/core/tsconfig.base.json b/packages/core/tsconfig.base.json new file mode 100644 index 000000000..82242a3c1 --- /dev/null +++ b/packages/core/tsconfig.base.json @@ -0,0 +1,22 @@ +{ + "extends": "@repo/typescript-config/react-library", + "compilerOptions": { + "composite": true, + "outDir": "./dist", + "baseUrl": ".", + "paths": { + "~/*": ["./src/*"] + }, + "types": ["node"] + }, + "include": ["src"], + "exclude": [ + "dist", + "build", + "node_modules", + "src/**/*.test.ts*", + "src/**/*.spec.ts*", + "__tests__/**/*.test.ts*", + "__tests__/**/*.spec.ts*" + ] +} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 5a47fba49..d32200a3f 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,13 +1,11 @@ { - "extends": "@repo/typescript-config/react-library", - "compilerOptions": { - "outDir": "./dist", - "baseUrl": ".", - "paths": { - "~/*": ["./src/*"] + "files": [], + "references": [ + { + "path": "./tsconfig.base.json" }, - "types": ["node", "vitest-axe/extend-expect", "vitest/globals", "@vitest/browser/context"] - }, - "include": ["src"], - "exclude": ["dist", "build", "node_modules"] + { + "path": "./tsconfig.test.json" + } + ] } diff --git a/packages/core/tsconfig.test.json b/packages/core/tsconfig.test.json new file mode 100644 index 000000000..37bf43df6 --- /dev/null +++ b/packages/core/tsconfig.test.json @@ -0,0 +1,18 @@ +{ + "extends": "@repo/typescript-config/react-library", + "compilerOptions": { + "composite": true, + "outDir": "./dist", + "baseUrl": ".", + "paths": { "~/*": ["./src/*"] }, + "types": ["vitest-axe/extend-expect", "vitest/globals", "@vitest/browser/context"] + }, + "include": [ + "src/**/*.test.ts*", + "src/**/*.spec.ts*", + "__tests__/**/*.test.ts*", + "__tests__/**/*.spec.ts*" + ], + "exclude": ["dist", "build", "node_modules"], + "references": [{ "path": "./tsconfig.base.json" }] +} From 00472355b286df16883b5ea0a87391304d0b2ad3 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 16 Jul 2026 11:50:35 +0900 Subject: [PATCH 07/80] edit ts-api-extractor integrations --- scripts/ts-api-extractor/src/config/defaults.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ts-api-extractor/src/config/defaults.ts b/scripts/ts-api-extractor/src/config/defaults.ts index 9c58342fc..cc2be818a 100644 --- a/scripts/ts-api-extractor/src/config/defaults.ts +++ b/scripts/ts-api-extractor/src/config/defaults.ts @@ -10,7 +10,7 @@ import type { ExtractorConfig } from '~/config/schema'; */ export const defaultExtractorConfig: ExtractorConfig = { inputPath: '../../packages/core', - tsconfig: '../../packages/core/tsconfig.json', + tsconfig: '../../packages/core/tsconfig.base.json', exclude: [], excludeDefaults: true, outputDir: '../../apps/website/public/components/generated', From 7729185375635f34369eba0b2bbf789d5db6e198 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Wed, 29 Jul 2026 22:44:07 +0900 Subject: [PATCH 08/80] cleanup tsconfig --- apps/figma-codegen-plugin/tsconfig.json | 2 +- apps/storybook/tsconfig.json | 2 +- apps/website/tsconfig.json | 6 ++---- packages/codemod/tsconfig.json | 4 ++-- packages/color-generator/tsconfig.json | 2 +- packages/core/tsconfig.base.json | 11 ++++++++--- packages/core/tsconfig.test.json | 7 +------ packages/css-generator/tsconfig.json | 2 +- packages/eslint-plugin-vapor/tsconfig.json | 2 +- packages/hooks/tsconfig.json | 2 +- packages/icons/tsconfig.json | 2 +- 11 files changed, 20 insertions(+), 22 deletions(-) diff --git a/apps/figma-codegen-plugin/tsconfig.json b/apps/figma-codegen-plugin/tsconfig.json index 9809d364e..b2ff55c99 100644 --- a/apps/figma-codegen-plugin/tsconfig.json +++ b/apps/figma-codegen-plugin/tsconfig.json @@ -3,6 +3,6 @@ "compilerOptions": { "typeRoots": ["./node_modules/@types", "./node_modules/@figma"] }, - "include": ["src/**/*"], + "include": ["src"], "exclude": ["node_modules", "dist"] } diff --git a/apps/storybook/tsconfig.json b/apps/storybook/tsconfig.json index bac233905..be343e252 100644 --- a/apps/storybook/tsconfig.json +++ b/apps/storybook/tsconfig.json @@ -6,6 +6,6 @@ "@vapor-ui/core/*": ["../../packages/core/src/*"] } }, - "include": [".storybook/**/*"], + "include": [".storybook", "vite.config.ts"], "exclude": ["node_modules", "storybook-static"] } diff --git a/apps/website/tsconfig.json b/apps/website/tsconfig.json index d8c0dc5f7..44f179932 100644 --- a/apps/website/tsconfig.json +++ b/apps/website/tsconfig.json @@ -28,12 +28,10 @@ ] }, "include": [ + "src", "next-env.d.ts", - "**/*.ts", - "**/*.tsx", - ".next/types/**/*.ts", "global.d.ts", - "docs-extractor.config.mjs", + ".next/types/**/*.ts", ".next/dev/types/**/*.ts" ], "exclude": ["node_modules"] diff --git a/packages/codemod/tsconfig.json b/packages/codemod/tsconfig.json index 56a1a7aab..9e1ff3472 100644 --- a/packages/codemod/tsconfig.json +++ b/packages/codemod/tsconfig.json @@ -4,7 +4,6 @@ "moduleDetection": "force", "target": "esnext", "outDir": "./dist", - "rootDir": "./src", "strict": true, "esModuleInterop": true, "skipLibCheck": true, @@ -13,10 +12,11 @@ "declarationMap": true, "sourceMap": true, "jsx": "react-jsx", + "types": ["node", "jest"], "paths": { "~/*": ["./src/*"] } }, - "include": ["src/**/*"], + "include": ["src", "tsup.config.ts"], "exclude": ["node_modules", "dist", "**/__testfixtures__/**"] } diff --git a/packages/color-generator/tsconfig.json b/packages/color-generator/tsconfig.json index 496522028..59d29a63a 100644 --- a/packages/color-generator/tsconfig.json +++ b/packages/color-generator/tsconfig.json @@ -8,6 +8,6 @@ }, "lib": ["es2017", "dom"] }, - "include": ["src", "src/main.ts"], + "include": ["src", "__tests__", "tsup.config.ts"], "exclude": ["dist", "build", "node_modules"] } diff --git a/packages/core/tsconfig.base.json b/packages/core/tsconfig.base.json index 82242a3c1..ed6297ac6 100644 --- a/packages/core/tsconfig.base.json +++ b/packages/core/tsconfig.base.json @@ -9,14 +9,19 @@ }, "types": ["node"] }, - "include": ["src"], + "include": [ + "src", + "playwright.config.ts", + "playwright.merge.ts", + "rolldown.config.ts", + "vitest.config.ts" + ], "exclude": [ "dist", "build", "node_modules", "src/**/*.test.ts*", "src/**/*.spec.ts*", - "__tests__/**/*.test.ts*", - "__tests__/**/*.spec.ts*" + "__tests__" ] } diff --git a/packages/core/tsconfig.test.json b/packages/core/tsconfig.test.json index 37bf43df6..946064fc5 100644 --- a/packages/core/tsconfig.test.json +++ b/packages/core/tsconfig.test.json @@ -7,12 +7,7 @@ "paths": { "~/*": ["./src/*"] }, "types": ["vitest-axe/extend-expect", "vitest/globals", "@vitest/browser/context"] }, - "include": [ - "src/**/*.test.ts*", - "src/**/*.spec.ts*", - "__tests__/**/*.test.ts*", - "__tests__/**/*.spec.ts*" - ], + "include": ["__tests__", "src/**/*.test.ts*", "src/**/*.spec.ts*"], "exclude": ["dist", "build", "node_modules"], "references": [{ "path": "./tsconfig.base.json" }] } diff --git a/packages/css-generator/tsconfig.json b/packages/css-generator/tsconfig.json index d96fe5e18..f78516a45 100644 --- a/packages/css-generator/tsconfig.json +++ b/packages/css-generator/tsconfig.json @@ -8,6 +8,6 @@ }, "lib": ["es2017", "dom"] }, - "include": ["src"], + "include": ["src", "__tests__", "tsup.config.ts", "vitest.config.ts"], "exclude": ["dist", "build", "node_modules"] } diff --git a/packages/eslint-plugin-vapor/tsconfig.json b/packages/eslint-plugin-vapor/tsconfig.json index d96fe5e18..63e18f09a 100644 --- a/packages/eslint-plugin-vapor/tsconfig.json +++ b/packages/eslint-plugin-vapor/tsconfig.json @@ -8,6 +8,6 @@ }, "lib": ["es2017", "dom"] }, - "include": ["src"], + "include": ["src", "tsup.config.ts", "vitest.config.ts"], "exclude": ["dist", "build", "node_modules"] } diff --git a/packages/hooks/tsconfig.json b/packages/hooks/tsconfig.json index 510128827..a86448580 100644 --- a/packages/hooks/tsconfig.json +++ b/packages/hooks/tsconfig.json @@ -6,5 +6,5 @@ "~/*": ["./*"] } }, - "include": ["src/**/*"] + "include": ["src", "tsup.config.ts"] } diff --git a/packages/icons/tsconfig.json b/packages/icons/tsconfig.json index db4d3d8fb..0b0352037 100644 --- a/packages/icons/tsconfig.json +++ b/packages/icons/tsconfig.json @@ -6,5 +6,5 @@ "~/*": ["./src/*"] } }, - "include": ["src/**/*"] + "include": ["src", "tsup.config.ts"] } From c674ee3215a32d673874556a96dcc91b7ef5025c Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 30 Jul 2026 00:41:49 +0900 Subject: [PATCH 09/80] unify tsconfig --- packages/core/rolldown.config.ts | 6 +----- packages/core/tsconfig.base.json | 27 --------------------------- packages/core/tsconfig.json | 27 +++++++++++++++++++-------- packages/core/tsconfig.test.json | 13 ------------- packages/core/vitest.config.ts | 2 +- 5 files changed, 21 insertions(+), 54 deletions(-) delete mode 100644 packages/core/tsconfig.base.json delete mode 100644 packages/core/tsconfig.test.json diff --git a/packages/core/rolldown.config.ts b/packages/core/rolldown.config.ts index f73b4e94f..c4dae4976 100644 --- a/packages/core/rolldown.config.ts +++ b/packages/core/rolldown.config.ts @@ -68,13 +68,9 @@ const identifiers = ({ hash, filePath, debugId }: IdentifiersOptions) => { }; const plugins = { - vanillaExtract: vanillaExtractPlugin({ - esbuildOptions: { tsconfig: './tsconfig.base.json' }, - identifiers, - }), + vanillaExtract: vanillaExtractPlugin({ identifiers }), depsExternal: depsExternalPlugin(), dts: dtsPlugin({ - tsconfig: './tsconfig.base.json', emitDtsOnly: true, compilerOptions: { declaration: true, diff --git a/packages/core/tsconfig.base.json b/packages/core/tsconfig.base.json deleted file mode 100644 index ed6297ac6..000000000 --- a/packages/core/tsconfig.base.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "extends": "@repo/typescript-config/react-library", - "compilerOptions": { - "composite": true, - "outDir": "./dist", - "baseUrl": ".", - "paths": { - "~/*": ["./src/*"] - }, - "types": ["node"] - }, - "include": [ - "src", - "playwright.config.ts", - "playwright.merge.ts", - "rolldown.config.ts", - "vitest.config.ts" - ], - "exclude": [ - "dist", - "build", - "node_modules", - "src/**/*.test.ts*", - "src/**/*.spec.ts*", - "__tests__" - ] -} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index d32200a3f..3c33bb262 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,11 +1,22 @@ { - "files": [], - "references": [ - { - "path": "./tsconfig.base.json" + "extends": "@repo/typescript-config/react-library", + "compilerOptions": { + "outDir": "./dist", + "strict": true, + "allowJs": false, + "baseUrl": ".", + "paths": { + "~/*": ["./src/*"] }, - { - "path": "./tsconfig.test.json" - } - ] + "types": ["node", "vitest-axe/extend-expect", "vitest/globals", "@vitest/browser/context"] + }, + "include": [ + "src", + "__tests__", + "playwright.config.ts", + "playwright.merge.ts", + "rolldown.config.ts", + "vitest.config.ts" + ], + "exclude": ["dist", "build", "node_modules"] } diff --git a/packages/core/tsconfig.test.json b/packages/core/tsconfig.test.json deleted file mode 100644 index 946064fc5..000000000 --- a/packages/core/tsconfig.test.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "@repo/typescript-config/react-library", - "compilerOptions": { - "composite": true, - "outDir": "./dist", - "baseUrl": ".", - "paths": { "~/*": ["./src/*"] }, - "types": ["vitest-axe/extend-expect", "vitest/globals", "@vitest/browser/context"] - }, - "include": ["__tests__", "src/**/*.test.ts*", "src/**/*.spec.ts*"], - "exclude": ["dist", "build", "node_modules"], - "references": [{ "path": "./tsconfig.base.json" }] -} diff --git a/packages/core/vitest.config.ts b/packages/core/vitest.config.ts index ad6107487..33826e7ac 100644 --- a/packages/core/vitest.config.ts +++ b/packages/core/vitest.config.ts @@ -3,7 +3,7 @@ import path from 'node:path'; import { defineConfig } from 'vitest/config'; export default defineConfig({ - plugins: [vanillaExtractPlugin()], + plugins: [vanillaExtractPlugin() as never], resolve: { alias: { '~': path.resolve(__dirname, 'src'), From 94af75957e112325ab9d7908c9ed0fcd31b52269 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 30 Jul 2026 10:09:15 +0900 Subject: [PATCH 10/80] disallow js in tsconfig, unify include with "." --- apps/figma-codegen-plugin/build.mjs | 2 ++ apps/figma-codegen-plugin/tsconfig.json | 2 +- apps/storybook/tsconfig.json | 2 +- apps/website/docs-extractor.config.mjs | 1 + apps/website/next.config.mjs | 1 + apps/website/tsconfig.json | 3 ++- packages/codemod/tsconfig.json | 2 +- packages/color-generator/tsconfig.json | 2 +- packages/core/tsconfig.json | 11 +---------- packages/css-generator/tsconfig.json | 2 +- packages/eslint-plugin-vapor/tsconfig.json | 2 +- packages/hooks/tsconfig.json | 2 +- packages/icons/tsconfig.json | 2 +- packages/typescript-config/base.json | 3 +-- 14 files changed, 16 insertions(+), 21 deletions(-) diff --git a/apps/figma-codegen-plugin/build.mjs b/apps/figma-codegen-plugin/build.mjs index 2ac4e8909..fddde73d1 100644 --- a/apps/figma-codegen-plugin/build.mjs +++ b/apps/figma-codegen-plugin/build.mjs @@ -1,3 +1,4 @@ +// @ts-check import esbuild from 'esbuild'; import { join } from 'path'; import { dirname } from 'path'; @@ -8,6 +9,7 @@ const __dirname = dirname(__filename); const isProduction = process.env.NODE_ENV === 'production'; +/** @type {import('esbuild').BuildOptions} */ const baseConfig = { entryPoints: [join(__dirname, 'src/code.ts')], bundle: true, diff --git a/apps/figma-codegen-plugin/tsconfig.json b/apps/figma-codegen-plugin/tsconfig.json index b2ff55c99..4600ed33f 100644 --- a/apps/figma-codegen-plugin/tsconfig.json +++ b/apps/figma-codegen-plugin/tsconfig.json @@ -3,6 +3,6 @@ "compilerOptions": { "typeRoots": ["./node_modules/@types", "./node_modules/@figma"] }, - "include": ["src"], + "include": ["."], "exclude": ["node_modules", "dist"] } diff --git a/apps/storybook/tsconfig.json b/apps/storybook/tsconfig.json index be343e252..37ed1f382 100644 --- a/apps/storybook/tsconfig.json +++ b/apps/storybook/tsconfig.json @@ -6,6 +6,6 @@ "@vapor-ui/core/*": ["../../packages/core/src/*"] } }, - "include": [".storybook", "vite.config.ts"], + "include": ["."], "exclude": ["node_modules", "storybook-static"] } diff --git a/apps/website/docs-extractor.config.mjs b/apps/website/docs-extractor.config.mjs index 1beeaddfe..17d754b22 100644 --- a/apps/website/docs-extractor.config.mjs +++ b/apps/website/docs-extractor.config.mjs @@ -1,3 +1,4 @@ +// @ts-check import { defineConfig } from '@vapor-ui/ts-api-extractor'; export default defineConfig({ diff --git a/apps/website/next.config.mjs b/apps/website/next.config.mjs index 483c93dc3..99ea47f3f 100644 --- a/apps/website/next.config.mjs +++ b/apps/website/next.config.mjs @@ -1,3 +1,4 @@ +// @ts-check import { createMDX } from 'fumadocs-mdx/next'; const withMDX = createMDX(); diff --git a/apps/website/tsconfig.json b/apps/website/tsconfig.json index 44f179932..825ffead0 100644 --- a/apps/website/tsconfig.json +++ b/apps/website/tsconfig.json @@ -28,7 +28,8 @@ ] }, "include": [ - "src", + "**/*.ts", + "**/*.tsx", "next-env.d.ts", "global.d.ts", ".next/types/**/*.ts", diff --git a/packages/codemod/tsconfig.json b/packages/codemod/tsconfig.json index 9e1ff3472..348f5b6a0 100644 --- a/packages/codemod/tsconfig.json +++ b/packages/codemod/tsconfig.json @@ -17,6 +17,6 @@ "~/*": ["./src/*"] } }, - "include": ["src", "tsup.config.ts"], + "include": ["."], "exclude": ["node_modules", "dist", "**/__testfixtures__/**"] } diff --git a/packages/color-generator/tsconfig.json b/packages/color-generator/tsconfig.json index 59d29a63a..5fce34baa 100644 --- a/packages/color-generator/tsconfig.json +++ b/packages/color-generator/tsconfig.json @@ -8,6 +8,6 @@ }, "lib": ["es2017", "dom"] }, - "include": ["src", "__tests__", "tsup.config.ts"], + "include": ["."], "exclude": ["dist", "build", "node_modules"] } diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 3c33bb262..b9036e45a 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -2,21 +2,12 @@ "extends": "@repo/typescript-config/react-library", "compilerOptions": { "outDir": "./dist", - "strict": true, - "allowJs": false, "baseUrl": ".", "paths": { "~/*": ["./src/*"] }, "types": ["node", "vitest-axe/extend-expect", "vitest/globals", "@vitest/browser/context"] }, - "include": [ - "src", - "__tests__", - "playwright.config.ts", - "playwright.merge.ts", - "rolldown.config.ts", - "vitest.config.ts" - ], + "include": ["."], "exclude": ["dist", "build", "node_modules"] } diff --git a/packages/css-generator/tsconfig.json b/packages/css-generator/tsconfig.json index f78516a45..5fce34baa 100644 --- a/packages/css-generator/tsconfig.json +++ b/packages/css-generator/tsconfig.json @@ -8,6 +8,6 @@ }, "lib": ["es2017", "dom"] }, - "include": ["src", "__tests__", "tsup.config.ts", "vitest.config.ts"], + "include": ["."], "exclude": ["dist", "build", "node_modules"] } diff --git a/packages/eslint-plugin-vapor/tsconfig.json b/packages/eslint-plugin-vapor/tsconfig.json index 63e18f09a..5fce34baa 100644 --- a/packages/eslint-plugin-vapor/tsconfig.json +++ b/packages/eslint-plugin-vapor/tsconfig.json @@ -8,6 +8,6 @@ }, "lib": ["es2017", "dom"] }, - "include": ["src", "tsup.config.ts", "vitest.config.ts"], + "include": ["."], "exclude": ["dist", "build", "node_modules"] } diff --git a/packages/hooks/tsconfig.json b/packages/hooks/tsconfig.json index a86448580..2da40a5aa 100644 --- a/packages/hooks/tsconfig.json +++ b/packages/hooks/tsconfig.json @@ -6,5 +6,5 @@ "~/*": ["./*"] } }, - "include": ["src", "tsup.config.ts"] + "include": ["."] } diff --git a/packages/icons/tsconfig.json b/packages/icons/tsconfig.json index 0b0352037..6ccae99f0 100644 --- a/packages/icons/tsconfig.json +++ b/packages/icons/tsconfig.json @@ -6,5 +6,5 @@ "~/*": ["./src/*"] } }, - "include": ["src", "tsup.config.ts"] + "include": ["."] } diff --git a/packages/typescript-config/base.json b/packages/typescript-config/base.json index 37e9329ef..ad1da0a3a 100644 --- a/packages/typescript-config/base.json +++ b/packages/typescript-config/base.json @@ -14,7 +14,6 @@ "noUnusedParameters": false, "preserveWatchOutput": true, "skipLibCheck": true, - "strict": true, - "allowJs": true + "strict": true } } From dc119ddcc21817d653cf88d3b552f56562ede65e Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 30 Jul 2026 16:02:40 +0900 Subject: [PATCH 11/80] add .storybook --- apps/storybook/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/storybook/tsconfig.json b/apps/storybook/tsconfig.json index 37ed1f382..e61b6f960 100644 --- a/apps/storybook/tsconfig.json +++ b/apps/storybook/tsconfig.json @@ -6,6 +6,6 @@ "@vapor-ui/core/*": ["../../packages/core/src/*"] } }, - "include": ["."], + "include": [".", ".storybook"], "exclude": ["node_modules", "storybook-static"] } From d5f29ef9878ace4a72b2bf215e64a3bf12f07180 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 30 Jul 2026 16:04:55 +0900 Subject: [PATCH 12/80] add hooks tsconfig exclude --- packages/hooks/tsconfig.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/hooks/tsconfig.json b/packages/hooks/tsconfig.json index 2da40a5aa..21e17631c 100644 --- a/packages/hooks/tsconfig.json +++ b/packages/hooks/tsconfig.json @@ -6,5 +6,6 @@ "~/*": ["./*"] } }, - "include": ["."] + "include": ["."], + "exclude": ["node_modules", "dist"] } From c53fe07b8a187bfe7bb021cff8856787098dacf4 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 30 Jul 2026 16:05:22 +0900 Subject: [PATCH 13/80] edit core tsconfig path from ts-api-extractor --- scripts/ts-api-extractor/src/config/defaults.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ts-api-extractor/src/config/defaults.ts b/scripts/ts-api-extractor/src/config/defaults.ts index cc2be818a..9c58342fc 100644 --- a/scripts/ts-api-extractor/src/config/defaults.ts +++ b/scripts/ts-api-extractor/src/config/defaults.ts @@ -10,7 +10,7 @@ import type { ExtractorConfig } from '~/config/schema'; */ export const defaultExtractorConfig: ExtractorConfig = { inputPath: '../../packages/core', - tsconfig: '../../packages/core/tsconfig.base.json', + tsconfig: '../../packages/core/tsconfig.json', exclude: [], excludeDefaults: true, outputDir: '../../apps/website/public/components/generated', From ee1b78a064d71c0a2f0163d788da5438649845be Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 30 Jul 2026 16:27:40 +0900 Subject: [PATCH 14/80] edit ts-api-extractor constants --- scripts/ts-api-extractor/src/config/defaults.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/ts-api-extractor/src/config/defaults.ts b/scripts/ts-api-extractor/src/config/defaults.ts index 9c58342fc..a9a1febbe 100644 --- a/scripts/ts-api-extractor/src/config/defaults.ts +++ b/scripts/ts-api-extractor/src/config/defaults.ts @@ -1,5 +1,11 @@ +import path from 'node:path'; + import type { ExtractorConfig } from '~/config/schema'; +const CORE_PATH = path.resolve(__dirname, '../../../packages/core'); +const CORE_TSCONFIG_PATH = path.resolve(CORE_PATH, 'tsconfig.json'); +const OUTPUT_DIR = path.resolve(__dirname, '../../../apps/website/public/components/generated'); + /** * Default extractor configuration. * @@ -9,11 +15,11 @@ import type { ExtractorConfig } from '~/config/schema'; * config file (e.g. docs-extractor.config.mjs) with paths relative to that file. */ export const defaultExtractorConfig: ExtractorConfig = { - inputPath: '../../packages/core', - tsconfig: '../../packages/core/tsconfig.json', + inputPath: CORE_PATH, + tsconfig: CORE_TSCONFIG_PATH, exclude: [], excludeDefaults: true, - outputDir: '../../apps/website/public/components/generated', + outputDir: OUTPUT_DIR, filterExternal: true, filterHtml: true, filterSprinkles: true, From 9c85d192bb1bfaf25490d626493e0025c8e2c1c8 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 30 Jul 2026 16:27:59 +0900 Subject: [PATCH 15/80] add test case for default paths --- scripts/ts-api-extractor/test/config.test.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/ts-api-extractor/test/config.test.ts b/scripts/ts-api-extractor/test/config.test.ts index 32cbcbfe5..9a55417eb 100644 --- a/scripts/ts-api-extractor/test/config.test.ts +++ b/scripts/ts-api-extractor/test/config.test.ts @@ -1,6 +1,8 @@ /** * Config unit tests */ +import { existsSync } from 'node:fs'; + import { defaultExtractorConfig as config } from '~/config/defaults'; import { resolveComponentInclude } from '~/config/resolve'; @@ -10,6 +12,13 @@ describe('config', () => { expect(config.filterHtml).toBe(true); expect(config.filterSprinkles).toBe(true); }); + + it.each([ + ['inputPath', config.inputPath], + ['tsconfig', config.tsconfig], + ])('%s 경로 존재 확인', (_, targetPath) => { + expect(existsSync(targetPath), `missing: ${targetPath}`).toBe(true); + }); }); describe('resolveComponentInclude', () => { From 525240ffb327cd69ae70dbc592e4b0de8640fc9d Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 30 Jul 2026 21:28:45 +0900 Subject: [PATCH 16/80] remove path test --- scripts/ts-api-extractor/src/config/defaults.ts | 2 ++ scripts/ts-api-extractor/test/config.test.ts | 9 --------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/scripts/ts-api-extractor/src/config/defaults.ts b/scripts/ts-api-extractor/src/config/defaults.ts index a9a1febbe..1fad09452 100644 --- a/scripts/ts-api-extractor/src/config/defaults.ts +++ b/scripts/ts-api-extractor/src/config/defaults.ts @@ -13,6 +13,8 @@ const OUTPUT_DIR = path.resolve(__dirname, '../../../apps/website/public/compone * `process.cwd()` at runtime. This configuration assumes the tool is invoked * from the repository root. For other invocation contexts, provide an explicit * config file (e.g. docs-extractor.config.mjs) with paths relative to that file. + * + * TODO: *path 필드는 사용처에서 반드시 전달하도록 기본값 제거. 사용처에 따라 달라질 수 있으며, 상대경로로 지정되어 있어 working directory에 따라 달라질 수 있음. */ export const defaultExtractorConfig: ExtractorConfig = { inputPath: CORE_PATH, diff --git a/scripts/ts-api-extractor/test/config.test.ts b/scripts/ts-api-extractor/test/config.test.ts index 9a55417eb..32cbcbfe5 100644 --- a/scripts/ts-api-extractor/test/config.test.ts +++ b/scripts/ts-api-extractor/test/config.test.ts @@ -1,8 +1,6 @@ /** * Config unit tests */ -import { existsSync } from 'node:fs'; - import { defaultExtractorConfig as config } from '~/config/defaults'; import { resolveComponentInclude } from '~/config/resolve'; @@ -12,13 +10,6 @@ describe('config', () => { expect(config.filterHtml).toBe(true); expect(config.filterSprinkles).toBe(true); }); - - it.each([ - ['inputPath', config.inputPath], - ['tsconfig', config.tsconfig], - ])('%s 경로 존재 확인', (_, targetPath) => { - expect(existsSync(targetPath), `missing: ${targetPath}`).toBe(true); - }); }); describe('resolveComponentInclude', () => { From 1258eb9b8ed120158f1b93e79e3d2658103f2810 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 30 Jul 2026 21:29:39 +0900 Subject: [PATCH 17/80] edit execution of ts-api-extractor test command --- scripts/ts-api-extractor/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/ts-api-extractor/package.json b/scripts/ts-api-extractor/package.json index 9bfea0158..2506fdbec 100644 --- a/scripts/ts-api-extractor/package.json +++ b/scripts/ts-api-extractor/package.json @@ -22,9 +22,9 @@ "build": "tsup", "dev": "tsup --watch", "lint": "eslint ./src", - "test": "vitest", - "test:coverage": "vitest run --coverage", - "test:run": "vitest run", + "test": "vitest --run", + "test:coverage": "vitest --coverage", + "test:watch": "vitest", "typecheck": "tsc --noEmit" }, "dependencies": { From fec56fc609a483dbb91f8f23ad8e2f772257c62d Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Wed, 5 Aug 2026 15:29:30 +0900 Subject: [PATCH 18/80] add `@vapor-ui/composites` package --- apps/storybook/.storybook/main.ts | 4 + apps/storybook/turbo.json | 6 +- packages/composites/CLAUDE.md | 53 ++++ packages/composites/README.md | 28 +++ .../composites/__tests__/regressions.test.ts | 55 +++++ packages/composites/__tests__/setup-tests.ts | 1 + packages/composites/eslint.config.mjs | 26 ++ packages/composites/package.json | 98 ++++++++ packages/composites/playwright.config.ts | 30 +++ packages/composites/playwright.merge.ts | 6 + packages/composites/rolldown.config.ts | 191 +++++++++++++++ .../src/components/dialog/dialog.stories.tsx | 16 ++ .../src/components/dialog/dialog.tsx | 19 ++ .../composites/src/components/dialog/index.ts | 1 + packages/composites/src/index.ts | 1 + packages/composites/tsconfig.json | 13 + packages/composites/vitest.config.ts | 27 ++ pnpm-lock.yaml | 230 ++++++++++++++---- 18 files changed, 754 insertions(+), 51 deletions(-) create mode 100644 packages/composites/CLAUDE.md create mode 100644 packages/composites/README.md create mode 100644 packages/composites/__tests__/regressions.test.ts create mode 100644 packages/composites/__tests__/setup-tests.ts create mode 100644 packages/composites/eslint.config.mjs create mode 100644 packages/composites/package.json create mode 100644 packages/composites/playwright.config.ts create mode 100644 packages/composites/playwright.merge.ts create mode 100644 packages/composites/rolldown.config.ts create mode 100644 packages/composites/src/components/dialog/dialog.stories.tsx create mode 100644 packages/composites/src/components/dialog/dialog.tsx create mode 100644 packages/composites/src/components/dialog/index.ts create mode 100644 packages/composites/src/index.ts create mode 100644 packages/composites/tsconfig.json create mode 100644 packages/composites/vitest.config.ts diff --git a/apps/storybook/.storybook/main.ts b/apps/storybook/.storybook/main.ts index 42d5c7b5b..bfb53e252 100644 --- a/apps/storybook/.storybook/main.ts +++ b/apps/storybook/.storybook/main.ts @@ -35,6 +35,10 @@ const config: StorybookConfig = { // ...convertTsConfigPathsToWebpackAliases(), '~': path.resolve(__dirname, '../../../packages/core/src'), '@vapor-ui/core': path.resolve(__dirname, '../../../packages/core/src'), + '@vapor-ui/composites': path.resolve( + __dirname, + '../../../packages/composites/src', + ), }, }, diff --git a/apps/storybook/turbo.json b/apps/storybook/turbo.json index edfcdd3e8..52f448b96 100644 --- a/apps/storybook/turbo.json +++ b/apps/storybook/turbo.json @@ -3,7 +3,11 @@ "tasks": { "build:storybook": { "dependsOn": ["^build:storybook"], - "inputs": [".storybook/**", "../../packages/core/src/**"], + "inputs": [ + ".storybook/**", + "../../packages/core/src/**", + "../../packages/composites/src/**" + ], "outputs": ["storybook-static/**"] } } diff --git a/packages/composites/CLAUDE.md b/packages/composites/CLAUDE.md new file mode 100644 index 000000000..d54dfd895 --- /dev/null +++ b/packages/composites/CLAUDE.md @@ -0,0 +1,53 @@ +# CLAUDE.md + +이 문서의 규칙은 `packages/composites/**` 안에서 모두 지킨다. + +## 1. 패키지 개요 + +- `@vapor-ui/composites`는 `@vapor-ui/core` primitive를 조합하고 디자인 결정을 내재화한 슬롯 기반 완성형 컴포넌트를 제공한다. +- 사용자들이 디자인 시스템을 사용할 때, 기본적으로 `@vapor-ui/composites`을 사용한다. `@vapor-ui/core`의 primitives는 Composites에서 사용되기 위한 조각이며, 커스터마이징이 필요한 경우에 한해 사용자들이 제한적으로 primitive를 직접 사용할 수 있다. +- 참고: [`@vapor-ui/composites` 계획](https://app.notion.com/p/goorm/Flat-Component-3b14e6997fb080ff8734f0f9d96a6439). + +## 2. `@vapor-ui/core`와의 경계 + +- Composites의 모든 컴포넌트는 core primitive의 Public API 위에서 만든다. DOM을 직접 재구현하지 않는다. +- core는 `peerDependency`로 선언한다. 소비자가 core와 composites를 함께 설치했을 때 두 패키지는 같은 core 인스턴스를 참조한다. 그래야 `ThemeProvider` 같은 React Context를 하나로 유지한다. +- 로컬 개발·테스트에서는 `devDependencies`에도 `workspace:*`로 걸어 둔다. 그래야 workspace 링크로 해석된다. + +## 3. 컴포넌트 API 규칙 (Flat Component 계획 참조) + +- 슬롯 prop은 Figma의 아나토미와 1:1로 맞춘다 (`trigger`, `title`, `description`, `leadingIcon` 등). +- 폴리모픽(`asChild` / `as`)은 제공하지 않는다. 폴리모픽이 필요하면 소비자가 `@vapor-ui/core`로 직접 만든다. +- 모든 컴포넌트는 제어/비제어를 함께 지원한다: `state` / `defaultState` / `onStateChange` (예: `open` / `defaultOpen` / `onOpenChange`). +- 논리 상태 boolean에는 `is` 프리픽스를 붙인다: `isOpen`, `isDisabled`, `isChecked`. HTML 네이티브 속성과 구분한다. +- 아이템을 나열하는 경우 `items` prop 대신 dot-notation 서브 컴포넌트로 노출한다 (`Select.Root` / `Select.Option`). +- 모든 prop(시각 / 기능 / 슬롯)에 JSDoc을 작성한다. 이 내용을 그대로 Props Table 자동 생성에 사용한다. + +## 4. Prop 추가 — 이중 게이트웨이 + +새 prop은 두 게이트를 모두 통과한다. 하나라도 만족하지 못하면 반려한다. + +1. 역할 강화: 이 prop이 컴포넌트의 역할을 어떻게 강화하는지 한 문장으로 설명한다. +2. 카테고리 배타성: `visual` / `functional` / `slot` 가운데 정확히 하나에만 속한다. 메타 정보는 prop 카테고리에 포함하지 않는다. + +## 5. 코딩 스타일 + +- `packages/core/CLAUDE.md`의 규칙(타입스크립트, 파일·폴더 kebab-case, `index.ts` + `index.parts.ts` 재수출 패턴, Vanilla Extract 사용, 테스트 컨벤션)을 그대로 따른다. +- 예외: composites 컴포넌트의 기본 형태는 Flat이다. Compound 네임스페이스는 §3의 아이템 나열 케이스에만 사용한다. + +## 6. 테스트 + +- 유닛 테스트는 `vitest`와 `@testing-library/react`로 작성한다. 각 컴포넌트 폴더 안에 함께 두고, core와 동일한 셋업을 사용한다. +- 시각적 회귀 테스트는 `playwright`로 Storybook의 `Test Bed` 스토리를 캡처한다. `title`이 `Composites/`로 시작하는 스토리만 대상으로 삼는다. 기준 스크린샷은 `__tests__/screenshots/`에 둔다. + +## 7. Storybook + +- 스토리 파일은 루트 Storybook 앱이 `packages/**/src/**/*.stories.@(...)` glob으로 자동 수집한다. +- 시각적 회귀 필터가 인식하도록 `title`을 `'Composites/'` 형태로 작성한다. +- `apps/storybook/.storybook/main.ts`에서 `@vapor-ui/composites`와 `@vapor-ui/core`를 각 패키지의 `src` 디렉터리로 alias 처리한다. 소스를 수정하면 HMR로 바로 반영한다. + +## 8. 하지 말아야 할 것 + +- Flat Component 설계가 확정되기 전에는 `src/components/` 아래 구현 코드를 수정하지 않는다. +- 명시적인 지시가 없으면 `className` / `style` 오버라이드 prop을 추가하지 않는다. 오버라이드 정책은 아직 정하지 않았다. +- `component.figma.tsx` (Code Connect) 파일을 손으로 작성하지 않는다. codegen 파이프라인이 생성한다. diff --git a/packages/composites/README.md b/packages/composites/README.md new file mode 100644 index 000000000..1c7159731 --- /dev/null +++ b/packages/composites/README.md @@ -0,0 +1,28 @@ +

+ + npm version + +

+ +# @vapor-ui/composites + +`@vapor-ui/core` primitive를 조합해 만든 슬롯 기반 완성형 컴포넌트 패키지다. 디자인 결정을 내재화해, 별도의 조합 과정 없이 바로 사용할 수 있다. + +## 설치 + +```sh +# pnpm +pnpm add @vapor-ui/core @vapor-ui/composites + +# npm +npm install @vapor-ui/core @vapor-ui/composites + +# yarn +yarn add @vapor-ui/core @vapor-ui/composites +``` + +`@vapor-ui/core`는 peer dependency로 지정한다. 두 패키지가 하나의 React Context(예: `ThemeProvider`)를 공유하도록 함께 설치한다. + +## 라이선스 + +MIT License © 2025 goorm, Inc diff --git a/packages/composites/__tests__/regressions.test.ts b/packages/composites/__tests__/regressions.test.ts new file mode 100644 index 000000000..c60bd321a --- /dev/null +++ b/packages/composites/__tests__/regressions.test.ts @@ -0,0 +1,55 @@ +// @ts-nocheck +import { expect, test } from '@playwright/test'; + +import manifest from '../../../apps/storybook/storybook-static/index.json' with { type: 'json' }; + +const targetComponent = + process.env.COMPONENT || + process.argv.find((arg) => arg.startsWith('--component='))?.split('=')[1]; + +const filterStories = (stories) => { + let filtered = stories.filter( + (story) => story.name === 'Test Bed' && story.title.startsWith('Composites/'), + ); + + if (targetComponent) { + filtered = filtered.filter((story) => + story.title.toLowerCase().includes(targetComponent.toLowerCase()), + ); + } + + return filtered; +}; + +function getStoryUrl(storybookUrl: string, id: string): string { + const params = new URLSearchParams({ id, viewMode: 'story' }); + + return `${storybookUrl}/iframe.html?${params.toString()}`; +} + +async function navigate(page, storybookUrl, id) { + try { + const url = getStoryUrl(storybookUrl, id); + + await page.goto(url); + await page.waitForFunction(() => document.fonts.ready); + await page.waitForLoadState('networkidle'); + await page.waitForSelector('#storybook-root'); + } catch (error) { + console.error(`Failed to navigate to story: ${id}`, error); + } +} + +const visualStories = filterStories(Object.values(manifest.entries)); +const BASE_URL = 'http://localhost:9999'; + +visualStories.forEach((story) => { + test(story.id, async ({ page }, meta) => { + await navigate(page, BASE_URL, meta.title); + + await expect(page).toHaveScreenshot({ + fullPage: true, + animations: 'disabled', + }); + }); +}); diff --git a/packages/composites/__tests__/setup-tests.ts b/packages/composites/__tests__/setup-tests.ts new file mode 100644 index 000000000..bb02c60cd --- /dev/null +++ b/packages/composites/__tests__/setup-tests.ts @@ -0,0 +1 @@ +import '@testing-library/jest-dom/vitest'; diff --git a/packages/composites/eslint.config.mjs b/packages/composites/eslint.config.mjs new file mode 100644 index 000000000..4b6d36e13 --- /dev/null +++ b/packages/composites/eslint.config.mjs @@ -0,0 +1,26 @@ +// @ts-check +import { configs as reactPackage } from '@repo/eslint-config/react-package'; +import { configs as storybook } from '@repo/eslint-config/storybook'; +import { configs as vanillaExtract } from '@repo/eslint-config/vanilla-extract'; + +/** @type {import('eslint').Linter.Config[]} */ +export default [ + ...reactPackage, + ...storybook, + ...vanillaExtract, + { + settings: { + 'vanilla-extract': { + style: ['componentStyle'], + recipe: ['componentRecipe'], + }, + }, + }, + { + files: ['**/*.tsx'], + ignores: ['**/*.*.tsx'], + rules: { + 'jsx-a11y/anchor-has-content': 'off', + }, + }, +]; diff --git a/packages/composites/package.json b/packages/composites/package.json new file mode 100644 index 000000000..2c6e5cc6f --- /dev/null +++ b/packages/composites/package.json @@ -0,0 +1,98 @@ +{ + "name": "@vapor-ui/composites", + "version": "0.1.0", + "description": "", + "keywords": [ + "react", + "react-components", + "ui", + "design-system", + "accessible" + ], + "homepage": "https://github.com/goorm-dev/vapor-ui", + "bugs": { + "url": "https://github.com/goorm-dev/vapor-ui/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/goorm-dev/vapor-ui.git", + "directory": "packages/composites" + }, + "license": "MIT", + "author": "Vapor Team ", + "sideEffects": [ + "**/*.css", + "**/*.css.ts" + ], + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "./*": { + "types": "./dist/components/*/index.d.ts", + "import": "./dist/components/*/index.js", + "require": "./dist/components/*/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "rimraf dist && rolldown -c rolldown.config.ts", + "clean": "rimraf dist node_modules .turbo", + "lint": "eslint ./src", + "test": "vitest --run --passWithNoTests", + "test:coverage": "vitest --coverage --passWithNoTests", + "test:regressions": "playwright test -c ./playwright.config.ts", + "test:watch": "vitest --passWithNoTests", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@base-ui/utils": "^0.3.1", + "@vanilla-extract/css": "^1.20.1", + "@vanilla-extract/recipes": "^0.5.7", + "@vapor-ui/icons": "workspace:*", + "clsx": "^2.1.1" + }, + "devDependencies": { + "@playwright/test": "^1.60.0", + "@repo/eslint-config": "workspace:*", + "@repo/typescript-config": "workspace:*", + "@storybook/react-vite": "9.1.20", + "@testing-library/dom": "^10.4.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.2", + "@testing-library/user-event": "^14.6.1", + "@types/node": "^22.19.20", + "@types/react": "catalog:", + "@types/react-dom": "catalog:", + "@vanilla-extract/rollup-plugin": "^1.5.3", + "@vanilla-extract/vite-plugin": "^5.2.2", + "@vapor-ui/core": "workspace:*", + "@vitest/browser": "^3.2.6", + "@vitest/coverage-v8": "^3.2.6", + "eslint": "catalog:", + "happy-dom": "^20.9.0", + "react": "catalog:", + "react-dom": "catalog:", + "rimraf": "^6.1.3", + "rolldown": "^1.1.4", + "rolldown-plugin-dts": "^0.27.1", + "rollup-plugin-node-externals": "^8.1.2", + "typescript": "catalog:", + "vitest": "^3.2.4" + }, + "peerDependencies": { + "@vapor-ui/core": "workspace:^", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/composites/playwright.config.ts b/packages/composites/playwright.config.ts new file mode 100644 index 000000000..45cbd4cc9 --- /dev/null +++ b/packages/composites/playwright.config.ts @@ -0,0 +1,30 @@ +import { defineConfig, devices } from '@playwright/test'; + +const BASE_URL = 'http://localhost:9999'; + +export default defineConfig({ + snapshotPathTemplate: './__tests__/screenshots/{arg}-{projectName}-{platform}-{ext}', + testMatch: '__tests__/regressions.test.ts', + outputDir: `./__tests__/results/`, + + reporter: [ + process.env.CI ? ['blob'] : ['html', { outputFolder: './__tests__/report' }], + ['json', { outputFile: './__tests__/report/index.json' }], + ], + use: { baseURL: BASE_URL, trace: 'on' }, + projects: [ + { name: 'firefox', use: { ...devices['Desktop Firefox'] } }, + { name: 'safari', use: { ...devices['Desktop Safari'] } }, + { name: 'chrome', use: { ...devices['Desktop Chrome'] } }, + { name: 'edge', use: { ...devices['Desktop Edge'] } }, + ], + + fullyParallel: true, + workers: process.env.CI ? 2 : undefined, + + webServer: { + command: 'npx http-server -p 9999 ../../apps/storybook/storybook-static', + url: BASE_URL, + reuseExistingServer: false, + }, +}); diff --git a/packages/composites/playwright.merge.ts b/packages/composites/playwright.merge.ts new file mode 100644 index 000000000..3f411d7b2 --- /dev/null +++ b/packages/composites/playwright.merge.ts @@ -0,0 +1,6 @@ +export default { + reporter: [ + ['html', { outputFolder: './__tests__/report' }], + ['json', { outputFile: './__tests__/report/index.json' }], + ], +}; diff --git a/packages/composites/rolldown.config.ts b/packages/composites/rolldown.config.ts new file mode 100644 index 000000000..12d4a74a8 --- /dev/null +++ b/packages/composites/rolldown.config.ts @@ -0,0 +1,191 @@ +import { vanillaExtractPlugin } from '@vanilla-extract/rollup-plugin'; +import fs from 'node:fs'; +import path from 'node:path'; +import { defineConfig } from 'rolldown'; +import type { OutputOptions, Plugin, RolldownOptions, RolldownPluginOption } from 'rolldown'; +import { dts as dtsPlugin } from 'rolldown-plugin-dts'; +import depsExternalPlugin from 'rollup-plugin-node-externals'; + +/* ---- cleanLayerDeclaration ----- */ + +/** + * Removes top-level '@layer ...;' declarations from '.css' asset files. + * (Excluding layers.css.ts.vanilla.css) + */ +const cleanLayerDeclaration = (): Plugin => { + return { + name: 'clean-css-layer-declarations', + + generateBundle(_options, bundle) { + const layerDeclarationRegex = /^@layer vapor.[a-zA-Z0-9_-]+;\s*/gm; + const exceptionFile = 'styles/layers.css.ts.vanilla.css'; + + for (const fileName in bundle) { + const file = bundle[fileName]; + + if ( + file.type === 'asset' && + fileName.endsWith('.css') && + fileName !== exceptionFile + ) { + if (typeof file.source === 'string') { + file.source = file.source.replace(layerDeclarationRegex, ''); + } + } + } + }, + }; +}; + +/* ----- plugins ----- */ + +const kebabCase = (str: string) => { + if (!str) return ''; + + const WORD_PATTERN = [ + /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)/, // 대문자 연속 (예: XML, JSON) + /[A-Z]?[a-z]+[0-9]*/, // 일반 단어 (예: hello, World1) + /[A-Z]/, // 남은 대문자 하나 + /[0-9]+/, // 숫자 뭉치 + ]; + + const regex = new RegExp(WORD_PATTERN.map((r) => r.source).join('|'), 'g'); + const words = str.match(regex) || []; + + return words.map((word) => word.toLowerCase()).join('-'); +}; + +type IdentifiersOptions = { hash: string; filePath: string; debugId?: string }; + +const identifiers = ({ hash, filePath, debugId }: IdentifiersOptions) => { + const componentName = path.basename(filePath, '.css.ts'); + const prefix = componentName === 'sprinkles' ? 'v' : componentName; + + const cleanId = debugId ? debugId.replace('-default', '').replace('_', '-') : ''; + const id = kebabCase(cleanId); + + return `${prefix}${id ? `-${id}` : ''}-${hash}`; +}; + +const plugins = { + vanillaExtract: vanillaExtractPlugin({ identifiers }), + depsExternal: depsExternalPlugin(), + dts: dtsPlugin({ + emitDtsOnly: true, + compilerOptions: { + declaration: true, + declarationMap: false, + noEmit: false, + emitDeclarationOnly: true, + noEmitOnError: true, + }, + }), + cleanLayerDeclaration: cleanLayerDeclaration(), +}; + +/* ----- input ----- */ + +/** + * Scans the 'src/components' directory + * and adds the 'index.ts' file of each component as a dynamic entry point. + * @param {string} componentsDir - The component directory path + * @returns {Record} + */ +const getComponentEntries = (componentsDir = 'src/components') => { + const entries: Record = {}; + + if (!fs.existsSync(componentsDir)) { + return entries; + } + + const componentFolders = fs + .readdirSync(componentsDir, { withFileTypes: true }) + .filter((dirent) => dirent.isDirectory()) + .map((dirent) => dirent.name); + + componentFolders.forEach((folder) => { + const indexPath = `${componentsDir}/${folder}/index.ts`; + + // e.g., 'components/Button' -> 'src/components/Button/index.ts' + if (fs.existsSync(indexPath)) { + entries[`components/${folder}/index`] = indexPath; + } + }); + + return entries; +}; + +const ENTRY_POINTS: Record = { + index: 'src/index.ts', + ...getComponentEntries('src/components'), +}; + +/* ----- rolldown ----- */ + +const sharedResolve = { + alias: { '~': path.resolve('./src') }, + extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], +}; + +// e.g., 'src/styles/foo.css' -> 'styles/foo.css' +const assetFileNames = (assetInfo: { name?: string }) => { + if (!assetInfo.name) return 'assets/[name]-[hash][extname]'; + return assetInfo.name.replace(/^src\//, ''); +}; + +type BundleOptions = { plugins: RolldownPluginOption; output: OutputOptions }; +const bundle = ({ plugins, output }: BundleOptions): RolldownOptions => ({ + input: ENTRY_POINTS, + resolve: sharedResolve, + plugins, + output: { + dir: 'dist', + preserveModules: true, + preserveModulesRoot: 'src', + sourcemap: false, + sourcemapExcludeSources: false, + ...output, + }, +}); + +export default defineConfig([ + // ESM Build + bundle({ + plugins: [plugins.depsExternal, plugins.vanillaExtract, plugins.cleanLayerDeclaration], + output: { + format: 'esm', + strict: true, + exports: 'named', + + // e.g., 'styles/tailwind-preset.css' -> 'styles/tailwind-preset.css.vanilla.js' + entryFileNames: ({ name }) => `${name.replace(/\.css$/, '.css.vanilla')}.js`, + assetFileNames, + }, + }), + + // CJS Build + bundle({ + plugins: [plugins.depsExternal, plugins.vanillaExtract, plugins.cleanLayerDeclaration], + output: { + format: 'cjs', + strict: true, + exports: 'named', + + entryFileNames: ({ name }) => `${name.replace(/\.css$/, '.css.vanilla')}.cjs`, + assetFileNames, + }, + }), + + // DTS Build + bundle({ + plugins: [plugins.depsExternal, plugins.dts], + output: { + format: 'esm', + strict: false, + exports: undefined, + + // e.g., 'button.css.d' -> 'button.css.vanilla.d.ts' + entryFileNames: ({ name }) => `${name.replace(/\.css\.d$/, '.css.vanilla.d')}.ts`, + }, + }), +]); diff --git a/packages/composites/src/components/dialog/dialog.stories.tsx b/packages/composites/src/components/dialog/dialog.stories.tsx new file mode 100644 index 000000000..1b8d2c7be --- /dev/null +++ b/packages/composites/src/components/dialog/dialog.stories.tsx @@ -0,0 +1,16 @@ +import type { Meta, StoryObj } from '@storybook/react-vite'; + +import { Dialog } from './dialog'; + +export default { + title: 'Composites/Dialog', + component: Dialog, +} satisfies Meta; + +type Story = StoryObj; + +export const Default: Story = { + render: () => { + return ; + }, +}; diff --git a/packages/composites/src/components/dialog/dialog.tsx b/packages/composites/src/components/dialog/dialog.tsx new file mode 100644 index 000000000..b56dc397f --- /dev/null +++ b/packages/composites/src/components/dialog/dialog.tsx @@ -0,0 +1,19 @@ +import { Dialog as DialogPrimitives } from '@vapor-ui/core'; + +export const Dialog = () => { + return ( + + trigger + + + + title + + + body + + + + + ); +}; diff --git a/packages/composites/src/components/dialog/index.ts b/packages/composites/src/components/dialog/index.ts new file mode 100644 index 000000000..20da8e550 --- /dev/null +++ b/packages/composites/src/components/dialog/index.ts @@ -0,0 +1 @@ +export * from './dialog'; diff --git a/packages/composites/src/index.ts b/packages/composites/src/index.ts new file mode 100644 index 000000000..14d311d1b --- /dev/null +++ b/packages/composites/src/index.ts @@ -0,0 +1 @@ +export * from './components/dialog'; diff --git a/packages/composites/tsconfig.json b/packages/composites/tsconfig.json new file mode 100644 index 000000000..31775f7b6 --- /dev/null +++ b/packages/composites/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "@repo/typescript-config/react-library", + "compilerOptions": { + "outDir": "./dist", + "baseUrl": ".", + "paths": { + "~/*": ["./src/*"] + }, + "types": ["node", "vitest/globals", "@vitest/browser/context"] + }, + "include": ["."], + "exclude": ["dist", "build", "node_modules"] +} diff --git a/packages/composites/vitest.config.ts b/packages/composites/vitest.config.ts new file mode 100644 index 000000000..04d3bb691 --- /dev/null +++ b/packages/composites/vitest.config.ts @@ -0,0 +1,27 @@ +import { vanillaExtractPlugin } from '@vanilla-extract/vite-plugin'; +import path from 'node:path'; +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + plugins: [vanillaExtractPlugin() as never], + resolve: { + alias: { + '~': path.resolve(__dirname, 'src'), + }, + }, + ssr: { + noExternal: ['@vapor-ui/icons', '@vapor-ui/core'], + }, + test: { + setupFiles: ['./__tests__/setup-tests.ts'], + environment: 'happy-dom', + exclude: ['node_modules', 'dist'], + include: ['src/**/*.{test,spec}.{js,jsx,ts,tsx}'], + globals: true, + coverage: { + provider: 'v8', + include: ['src/components/**/*.tsx'], + exclude: ['src/**/*.stories.tsx', 'src/styles/*'], + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 99780b394..f36438914 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -422,13 +422,13 @@ importers: version: 9.39.4(jiti@2.6.1) jest: specifier: ^30.3.0 - version: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + version: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) rimraf: specifier: ^6.1.3 version: 6.1.3 ts-jest: specifier: ^29.4.11 - version: 29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.28.1)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.7)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)))(typescript@5.9.3) tsup: specifier: ^8.5.1 version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) @@ -473,6 +473,103 @@ importers: specifier: ^3.2.4 version: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + packages/composites: + dependencies: + '@base-ui/utils': + specifier: ^0.3.1 + version: 0.3.1(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@vanilla-extract/css': + specifier: ^1.20.1 + version: 1.20.1 + '@vanilla-extract/recipes': + specifier: ^0.5.7 + version: 0.5.7(@vanilla-extract/css@1.20.1) + '@vapor-ui/icons': + specifier: workspace:* + version: link:../icons + clsx: + specifier: ^2.1.1 + version: 2.1.1 + devDependencies: + '@playwright/test': + specifier: ^1.60.0 + version: 1.60.0 + '@repo/eslint-config': + specifier: workspace:* + version: link:../eslint-config + '@repo/typescript-config': + specifier: workspace:* + version: link:../typescript-config + '@storybook/react-vite': + specifier: 9.1.20 + version: 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.61.1)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@testing-library/dom': + specifier: ^10.4.1 + version: 10.4.1 + '@testing-library/jest-dom': + specifier: ^6.9.1 + version: 6.9.1 + '@testing-library/react': + specifier: ^16.3.2 + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) + '@testing-library/user-event': + specifier: ^14.6.1 + version: 14.6.1(@testing-library/dom@10.4.1) + '@types/node': + specifier: ^22.19.20 + version: 22.19.21 + '@types/react': + specifier: 'catalog:' + version: 19.2.17 + '@types/react-dom': + specifier: 'catalog:' + version: 19.2.3(@types/react@19.2.17) + '@vanilla-extract/rollup-plugin': + specifier: ^1.5.3 + version: 1.5.3(rollup@4.61.1) + '@vanilla-extract/vite-plugin': + specifier: ^5.2.2 + version: 5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@vapor-ui/core': + specifier: workspace:* + version: link:../core + '@vitest/browser': + specifier: ^3.2.6 + version: 3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) + '@vitest/coverage-v8': + specifier: ^3.2.6 + version: 3.2.6(@vitest/browser@3.2.6)(vitest@3.2.6) + eslint: + specifier: 'catalog:' + version: 9.39.4(jiti@2.6.1) + happy-dom: + specifier: ^20.9.0 + version: 20.9.0 + react: + specifier: 'catalog:' + version: 19.2.7 + react-dom: + specifier: 'catalog:' + version: 19.2.7(react@19.2.7) + rimraf: + specifier: ^6.1.3 + version: 6.1.3 + rolldown: + specifier: ^1.1.4 + version: 1.1.4 + rolldown-plugin-dts: + specifier: ^0.27.1 + version: 0.27.1(rolldown@1.1.4)(typescript@5.9.3) + rollup-plugin-node-externals: + specifier: ^8.1.2 + version: 8.1.2(rollup@4.61.1) + typescript: + specifier: 'catalog:' + version: 5.9.3 + vitest: + specifier: ^3.2.4 + version: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + packages/core: dependencies: '@base-ui/react': @@ -9499,7 +9596,7 @@ snapshots: '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.29.0 '@babel/helper-compilation-targets@7.27.2': dependencies: @@ -9593,8 +9690,8 @@ snapshots: '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -9653,7 +9750,7 @@ snapshots: '@babel/core': 7.28.4 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -9662,7 +9759,7 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color optional: true @@ -9688,8 +9785,8 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -9702,7 +9799,7 @@ snapshots: '@babel/helper-wrap-function@7.28.3': dependencies: '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -11852,13 +11949,13 @@ snapshots: '@jest/console@30.3.0': dependencies: '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 chalk: 4.1.2 jest-message-util: 30.3.0 jest-util: 30.3.0 slash: 3.0.0 - '@jest/core@30.3.0(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3))': + '@jest/core@30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3))': dependencies: '@jest/console': 30.3.0 '@jest/pattern': 30.0.1 @@ -11866,14 +11963,14 @@ snapshots: '@jest/test-result': 30.3.0 '@jest/transform': 30.3.0 '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 4.3.1 exit-x: 0.2.2 graceful-fs: 4.2.11 jest-changed-files: 30.3.0 - jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest-config: 30.3.0(@types/node@22.19.21)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) jest-haste-map: 30.3.0 jest-message-util: 30.3.0 jest-regex-util: 30.0.1 @@ -11899,7 +11996,7 @@ snapshots: dependencies: '@jest/fake-timers': 30.3.0 '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 jest-mock: 30.3.0 '@jest/expect-utils@29.7.0': @@ -11921,7 +12018,7 @@ snapshots: dependencies: '@jest/types': 30.3.0 '@sinonjs/fake-timers': 15.3.2 - '@types/node': 20.19.43 + '@types/node': 22.19.21 jest-message-util: 30.3.0 jest-mock: 30.3.0 jest-util: 30.3.0 @@ -11939,7 +12036,7 @@ snapshots: '@jest/pattern@30.0.1': dependencies: - '@types/node': 20.19.43 + '@types/node': 22.19.21 jest-regex-util: 30.0.1 '@jest/reporters@30.3.0': @@ -11950,7 +12047,7 @@ snapshots: '@jest/transform': 30.3.0 '@jest/types': 30.3.0 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 20.19.43 + '@types/node': 22.19.21 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit-x: 0.2.2 @@ -12029,7 +12126,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.19.43 + '@types/node': 22.19.21 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -12039,7 +12136,7 @@ snapshots: '@jest/schemas': 30.0.5 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.19.43 + '@types/node': 22.19.21 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -12769,7 +12866,7 @@ snapshots: dependencies: '@types/estree': 1.0.9 estree-walker: 2.0.2 - picomatch: 4.0.4 + picomatch: 4.0.5 optionalDependencies: rollup: 4.61.1 @@ -13649,7 +13746,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.43 + '@types/node': 22.19.21 '@types/yargs-parser@21.0.3': {} @@ -15236,10 +15333,10 @@ snapshots: transitivePeerDependencies: - supports-color - esbuild-register@3.6.0(esbuild@0.28.1): + esbuild-register@3.6.0(esbuild@0.27.7): dependencies: debug: 4.4.3 - esbuild: 0.28.1 + esbuild: 0.27.7 transitivePeerDependencies: - supports-color optional: true @@ -15628,7 +15725,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.19.43 + '@types/node': 22.19.21 require-like: 0.1.2 execa@0.4.0: @@ -16040,7 +16137,7 @@ snapshots: happy-dom@20.9.0: dependencies: - '@types/node': 20.19.43 + '@types/node': 22.19.21 '@types/whatwg-mimetype': 3.0.2 '@types/ws': 8.18.1 entities: 7.0.1 @@ -16469,7 +16566,7 @@ snapshots: '@jest/expect': 30.3.0 '@jest/test-result': 30.3.0 '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 chalk: 4.1.2 co: 4.6.0 dedent: 1.7.0 @@ -16489,15 +16586,15 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + jest-cli@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): dependencies: - '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) '@jest/test-result': 30.3.0 '@jest/types': 30.3.0 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) jest-util: 30.3.0 jest-validate: 30.3.0 yargs: 17.7.2 @@ -16508,7 +16605,7 @@ snapshots: - supports-color - ts-node - jest-config@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + jest-config@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): dependencies: '@babel/core': 7.29.0 '@jest/get-type': 30.1.0 @@ -16535,7 +16632,40 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.19.43 - esbuild-register: 3.6.0(esbuild@0.28.1) + esbuild-register: 3.6.0(esbuild@0.27.7) + ts-node: 10.9.2(@types/node@20.19.43)(typescript@5.9.3) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-config@30.3.0(@types/node@22.19.21)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + dependencies: + '@babel/core': 7.29.0 + '@jest/get-type': 30.1.0 + '@jest/pattern': 30.0.1 + '@jest/test-sequencer': 30.3.0 + '@jest/types': 30.3.0 + babel-jest: 30.3.0(@babel/core@7.29.0) + chalk: 4.1.2 + ci-info: 4.3.1 + deepmerge: 4.3.1 + glob: 10.5.0 + graceful-fs: 4.2.11 + jest-circus: 30.3.0 + jest-docblock: 30.2.0 + jest-environment-node: 30.3.0 + jest-regex-util: 30.0.1 + jest-resolve: 30.3.0 + jest-runner: 30.3.0 + jest-util: 30.3.0 + jest-validate: 30.3.0 + parse-json: 5.2.0 + pretty-format: 30.3.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 22.19.21 + esbuild-register: 3.6.0(esbuild@0.27.7) ts-node: 10.9.2(@types/node@20.19.43)(typescript@5.9.3) transitivePeerDependencies: - babel-plugin-macros @@ -16572,7 +16702,7 @@ snapshots: '@jest/environment': 30.3.0 '@jest/fake-timers': 30.3.0 '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 jest-mock: 30.3.0 jest-util: 30.3.0 jest-validate: 30.3.0 @@ -16582,14 +16712,14 @@ snapshots: jest-haste-map@30.3.0: dependencies: '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 30.0.1 jest-util: 30.3.0 jest-worker: 30.3.0 - picomatch: 4.0.4 + picomatch: 4.0.5 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -16632,7 +16762,7 @@ snapshots: '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - picomatch: 4.0.4 + picomatch: 4.0.5 pretty-format: 30.3.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -16640,7 +16770,7 @@ snapshots: jest-mock@30.3.0: dependencies: '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 jest-util: 30.3.0 jest-pnp-resolver@1.2.3(jest-resolve@30.3.0): @@ -16674,7 +16804,7 @@ snapshots: '@jest/test-result': 30.3.0 '@jest/transform': 30.3.0 '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 chalk: 4.1.2 emittery: 0.13.1 exit-x: 0.2.2 @@ -16703,7 +16833,7 @@ snapshots: '@jest/test-result': 30.3.0 '@jest/transform': 30.3.0 '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 chalk: 4.1.2 cjs-module-lexer: 2.1.1 collect-v8-coverage: 1.0.2 @@ -16750,7 +16880,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.19.43 + '@types/node': 22.19.21 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -16759,11 +16889,11 @@ snapshots: jest-util@30.3.0: dependencies: '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 chalk: 4.1.2 ci-info: 4.3.1 graceful-fs: 4.2.11 - picomatch: 4.0.4 + picomatch: 4.0.5 jest-validate@30.3.0: dependencies: @@ -16778,7 +16908,7 @@ snapshots: dependencies: '@jest/test-result': 30.3.0 '@jest/types': 30.3.0 - '@types/node': 20.19.43 + '@types/node': 22.19.21 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -16787,18 +16917,18 @@ snapshots: jest-worker@30.3.0: dependencies: - '@types/node': 20.19.43 + '@types/node': 22.19.21 '@ungap/structured-clone': 1.3.0 jest-util: 30.3.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): dependencies: - '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) '@jest/types': 30.3.0 import-local: 3.2.0 - jest-cli: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest-cli: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -18986,12 +19116,12 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.28.1)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)))(typescript@5.9.3): + ts-jest@29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.7)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)))(typescript@5.9.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.9 - jest: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.28.1))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 @@ -19004,7 +19134,7 @@ snapshots: '@jest/transform': 30.3.0 '@jest/types': 30.3.0 babel-jest: 30.3.0(@babel/core@7.29.0) - esbuild: 0.28.1 + esbuild: 0.27.7 jest-util: 30.3.0 ts-morph@22.0.0: From 48d53d598002977263ac071ae1a82a6b4b9ed369 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Fri, 7 Aug 2026 09:43:56 +0900 Subject: [PATCH 19/80] split rolldown-config --- packages/rolldown-config/eslint.config.mjs | 4 ++ packages/rolldown-config/package.json | 37 +++++++++++++++++++ packages/rolldown-config/src/bundle.ts | 14 +++++++ .../rolldown-config/src/generate-inputs.ts | 16 ++++++++ packages/rolldown-config/src/index.ts | 2 + .../src/plugins/clean-css-layer.ts | 32 ++++++++++++++++ .../src/plugins/deps-external.ts | 5 +++ packages/rolldown-config/src/plugins/dts.ts | 17 +++++++++ packages/rolldown-config/src/plugins/index.ts | 4 ++ .../src/plugins/vanilla-extract.ts | 33 +++++++++++++++++ packages/rolldown-config/tsconfig.json | 14 +++++++ 11 files changed, 178 insertions(+) create mode 100644 packages/rolldown-config/eslint.config.mjs create mode 100644 packages/rolldown-config/package.json create mode 100644 packages/rolldown-config/src/bundle.ts create mode 100644 packages/rolldown-config/src/generate-inputs.ts create mode 100644 packages/rolldown-config/src/index.ts create mode 100644 packages/rolldown-config/src/plugins/clean-css-layer.ts create mode 100644 packages/rolldown-config/src/plugins/deps-external.ts create mode 100644 packages/rolldown-config/src/plugins/dts.ts create mode 100644 packages/rolldown-config/src/plugins/index.ts create mode 100644 packages/rolldown-config/src/plugins/vanilla-extract.ts create mode 100644 packages/rolldown-config/tsconfig.json diff --git a/packages/rolldown-config/eslint.config.mjs b/packages/rolldown-config/eslint.config.mjs new file mode 100644 index 000000000..11543d721 --- /dev/null +++ b/packages/rolldown-config/eslint.config.mjs @@ -0,0 +1,4 @@ +import { configs as base } from '@repo/eslint-config/base'; +import { config as imports } from '@repo/eslint-config/import'; + +export default [{ ignores: ['dist', 'node_modules'] }, ...base, imports]; diff --git a/packages/rolldown-config/package.json b/packages/rolldown-config/package.json new file mode 100644 index 000000000..918e5b7c6 --- /dev/null +++ b/packages/rolldown-config/package.json @@ -0,0 +1,37 @@ +{ + "name": "@repo/rolldown-config", + "version": "0.1.0", + "private": true, + "type": "module", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "default": "./dist/index.js" + }, + "./plugins": { + "types": "./dist/plugins/index.d.ts", + "default": "./dist/plugins/index.js" + } + }, + "scripts": { + "build": "rimraf dist && tsc", + "dev": "tsc --watch", + "clean": "rimraf dist node_modules .turbo" + }, + "dependencies": { + "rolldown-plugin-dts": "^0.27.1", + "rollup-plugin-node-externals": "^8.1.2" + }, + "devDependencies": { + "@repo/eslint-config": "workspace:*", + "@repo/typescript-config": "workspace:*", + "rimraf": "^6.1.3", + "rolldown": "^1.1.4", + "rollup": "^4.62.4", + "tinyglobby": "^0.2.17", + "typescript": "catalog:" + }, + "peerDependencies": { + "rolldown": "^1.1.4" + } +} diff --git a/packages/rolldown-config/src/bundle.ts b/packages/rolldown-config/src/bundle.ts new file mode 100644 index 000000000..0902f0e1c --- /dev/null +++ b/packages/rolldown-config/src/bundle.ts @@ -0,0 +1,14 @@ +import type { RolldownOptions } from 'rolldown'; + +export const bundle = ({ output, ...options }: RolldownOptions): RolldownOptions => ({ + output: { + dir: 'dist', + preserveModules: true, + preserveModulesRoot: 'src', + sourcemap: false, + sourcemapExcludeSources: false, + ...output, + }, + + ...options, +}); diff --git a/packages/rolldown-config/src/generate-inputs.ts b/packages/rolldown-config/src/generate-inputs.ts new file mode 100644 index 000000000..76dc54af9 --- /dev/null +++ b/packages/rolldown-config/src/generate-inputs.ts @@ -0,0 +1,16 @@ +import path from 'node:path'; +import { GlobOptions, globSync } from 'tinyglobby'; + +type Files = string | readonly string[]; + +export const generateInputs = (inputs: Files, options?: GlobOptions) => + Object.fromEntries( + globSync(inputs, options).map((file) => [ + path + .relative('src', file.slice(0, file.length - path.extname(file).length)) + .split(path.sep) + .join('/'), + + path.resolve(file), + ]), + ); diff --git a/packages/rolldown-config/src/index.ts b/packages/rolldown-config/src/index.ts new file mode 100644 index 000000000..aec92d0fd --- /dev/null +++ b/packages/rolldown-config/src/index.ts @@ -0,0 +1,2 @@ +export * from './bundle.ts'; +export * from './generate-inputs.ts'; diff --git a/packages/rolldown-config/src/plugins/clean-css-layer.ts b/packages/rolldown-config/src/plugins/clean-css-layer.ts new file mode 100644 index 000000000..105c921bf --- /dev/null +++ b/packages/rolldown-config/src/plugins/clean-css-layer.ts @@ -0,0 +1,32 @@ +import type { RolldownPlugin } from 'rolldown'; + +interface Options { + ignores?: string[]; +} + +export const cleanLayerDeclaration = (options: Options = {}): RolldownPlugin => { + const { ignores } = options; + + return { + name: 'clean-css-layer-declarations', + + generateBundle(_options, bundle) { + const layerDeclarationRegex = /^@layer vapor.[a-zA-Z0-9_-]+;\s*/gm; + const exceptions = ignores || ['styles/layers.css.ts.vanilla.css']; + + for (const fileName in bundle) { + const file = bundle[fileName]; + + if ( + file.type === 'asset' && + fileName.endsWith('.css') && + !exceptions.includes(fileName) + ) { + if (typeof file.source === 'string') { + file.source = file.source.replace(layerDeclarationRegex, ''); + } + } + } + }, + }; +}; diff --git a/packages/rolldown-config/src/plugins/deps-external.ts b/packages/rolldown-config/src/plugins/deps-external.ts new file mode 100644 index 000000000..103afcb10 --- /dev/null +++ b/packages/rolldown-config/src/plugins/deps-external.ts @@ -0,0 +1,5 @@ +import type { RolldownPlugin } from 'rolldown'; +import depsExternalPlugin, { type ExternalsOptions } from 'rollup-plugin-node-externals'; + +export const depsExternal = (options?: ExternalsOptions): RolldownPlugin => + depsExternalPlugin(options) as RolldownPlugin; diff --git a/packages/rolldown-config/src/plugins/dts.ts b/packages/rolldown-config/src/plugins/dts.ts new file mode 100644 index 000000000..ffbb05342 --- /dev/null +++ b/packages/rolldown-config/src/plugins/dts.ts @@ -0,0 +1,17 @@ +import type { RolldownPlugin } from 'rolldown'; +import { type Options, dts as dtsPlugin } from 'rolldown-plugin-dts'; + +export const dts = ({ compilerOptions, ...options }: Options = {}): RolldownPlugin[] => + dtsPlugin({ + compilerOptions: { + declaration: true, + declarationMap: false, + noEmit: false, + emitDeclarationOnly: true, + noEmitOnError: true, + ...compilerOptions, + }, + + emitDtsOnly: true, + ...options, + }); diff --git a/packages/rolldown-config/src/plugins/index.ts b/packages/rolldown-config/src/plugins/index.ts new file mode 100644 index 000000000..a35c818f1 --- /dev/null +++ b/packages/rolldown-config/src/plugins/index.ts @@ -0,0 +1,4 @@ +export { cleanLayerDeclaration } from './clean-css-layer.ts'; +export { depsExternal } from './deps-external.ts'; +export { dts } from './dts.ts'; +export { identifiers } from './vanilla-extract.ts'; diff --git a/packages/rolldown-config/src/plugins/vanilla-extract.ts b/packages/rolldown-config/src/plugins/vanilla-extract.ts new file mode 100644 index 000000000..49222c644 --- /dev/null +++ b/packages/rolldown-config/src/plugins/vanilla-extract.ts @@ -0,0 +1,33 @@ +import path from 'node:path'; + +const kebabCase = (str: string): string => { + if (!str) return ''; + + const WORD_PATTERN = [ + /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)/, // 대문자 연속 (예: XML, JSON) + /[A-Z]?[a-z]+[0-9]*/, // 일반 단어 (예: hello, World1) + /[A-Z]/, // 남은 대문자 하나 + /[0-9]+/, // 숫자 뭉치 + ]; + + const regex = new RegExp(WORD_PATTERN.map((r) => r.source).join('|'), 'g'); + const words = str.match(regex) || []; + + return words.map((word) => word.toLowerCase()).join('-'); +}; + +interface Identifiers { + hash: string; + filePath: string; + debugId?: string; +} + +export const identifiers = ({ hash, filePath, debugId }: Identifiers): string => { + const componentName = path.basename(filePath, '.css.ts'); + const prefix = componentName === 'sprinkles' ? 'v' : componentName; + + const cleanId = debugId ? debugId.replace('-default', '').replace('_', '-') : ''; + const id = kebabCase(cleanId); + + return `${prefix}${id ? `-${id}` : ''}-${hash}`; +}; diff --git a/packages/rolldown-config/tsconfig.json b/packages/rolldown-config/tsconfig.json new file mode 100644 index 000000000..121b4c922 --- /dev/null +++ b/packages/rolldown-config/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@repo/typescript-config/base", + "compilerOptions": { + "outDir": "dist", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "rewriteRelativeImportExtensions": true, + "allowImportingTsExtensions": true, + "target": "ES2022", + "declarationMap": false + }, + "include": ["src/**/*"], + "exclude": ["dist", "node_modules"] +} From 7a7e618c6352e9c3dee17c4537d55a186ffa0021 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Fri, 7 Aug 2026 10:07:36 +0900 Subject: [PATCH 20/80] adjust rolldown configs to core/composites --- packages/composites/package.json | 4 +- packages/composites/rolldown.config.ts | 168 +--- packages/core/package.json | 4 +- packages/core/rolldown.config.ts | 183 +--- pnpm-lock.yaml | 1194 ++++++++++++++++-------- 5 files changed, 859 insertions(+), 694 deletions(-) diff --git a/packages/composites/package.json b/packages/composites/package.json index 2c6e5cc6f..5692c1c6c 100644 --- a/packages/composites/package.json +++ b/packages/composites/package.json @@ -62,6 +62,7 @@ "devDependencies": { "@playwright/test": "^1.60.0", "@repo/eslint-config": "workspace:*", + "@repo/rolldown-config": "workspace:*", "@repo/typescript-config": "workspace:*", "@storybook/react-vite": "9.1.20", "@testing-library/dom": "^10.4.1", @@ -82,8 +83,7 @@ "react-dom": "catalog:", "rimraf": "^6.1.3", "rolldown": "^1.1.4", - "rolldown-plugin-dts": "^0.27.1", - "rollup-plugin-node-externals": "^8.1.2", + "tinyglobby": "^0.2.17", "typescript": "catalog:", "vitest": "^3.2.4" }, diff --git a/packages/composites/rolldown.config.ts b/packages/composites/rolldown.config.ts index 12d4a74a8..740ee7121 100644 --- a/packages/composites/rolldown.config.ts +++ b/packages/composites/rolldown.config.ts @@ -1,191 +1,57 @@ -import { vanillaExtractPlugin } from '@vanilla-extract/rollup-plugin'; -import fs from 'node:fs'; +import { bundle, generateInputs } from '@repo/rolldown-config'; +import { cleanLayerDeclaration, depsExternal, dts } from '@repo/rolldown-config/plugins'; import path from 'node:path'; import { defineConfig } from 'rolldown'; -import type { OutputOptions, Plugin, RolldownOptions, RolldownPluginOption } from 'rolldown'; -import { dts as dtsPlugin } from 'rolldown-plugin-dts'; -import depsExternalPlugin from 'rollup-plugin-node-externals'; - -/* ---- cleanLayerDeclaration ----- */ - -/** - * Removes top-level '@layer ...;' declarations from '.css' asset files. - * (Excluding layers.css.ts.vanilla.css) - */ -const cleanLayerDeclaration = (): Plugin => { - return { - name: 'clean-css-layer-declarations', - - generateBundle(_options, bundle) { - const layerDeclarationRegex = /^@layer vapor.[a-zA-Z0-9_-]+;\s*/gm; - const exceptionFile = 'styles/layers.css.ts.vanilla.css'; - - for (const fileName in bundle) { - const file = bundle[fileName]; - - if ( - file.type === 'asset' && - fileName.endsWith('.css') && - fileName !== exceptionFile - ) { - if (typeof file.source === 'string') { - file.source = file.source.replace(layerDeclarationRegex, ''); - } - } - } - }, - }; -}; - -/* ----- plugins ----- */ - -const kebabCase = (str: string) => { - if (!str) return ''; - - const WORD_PATTERN = [ - /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)/, // 대문자 연속 (예: XML, JSON) - /[A-Z]?[a-z]+[0-9]*/, // 일반 단어 (예: hello, World1) - /[A-Z]/, // 남은 대문자 하나 - /[0-9]+/, // 숫자 뭉치 - ]; - - const regex = new RegExp(WORD_PATTERN.map((r) => r.source).join('|'), 'g'); - const words = str.match(regex) || []; - - return words.map((word) => word.toLowerCase()).join('-'); -}; - -type IdentifiersOptions = { hash: string; filePath: string; debugId?: string }; - -const identifiers = ({ hash, filePath, debugId }: IdentifiersOptions) => { - const componentName = path.basename(filePath, '.css.ts'); - const prefix = componentName === 'sprinkles' ? 'v' : componentName; - - const cleanId = debugId ? debugId.replace('-default', '').replace('_', '-') : ''; - const id = kebabCase(cleanId); - - return `${prefix}${id ? `-${id}` : ''}-${hash}`; -}; - -const plugins = { - vanillaExtract: vanillaExtractPlugin({ identifiers }), - depsExternal: depsExternalPlugin(), - dts: dtsPlugin({ - emitDtsOnly: true, - compilerOptions: { - declaration: true, - declarationMap: false, - noEmit: false, - emitDeclarationOnly: true, - noEmitOnError: true, - }, - }), - cleanLayerDeclaration: cleanLayerDeclaration(), -}; /* ----- input ----- */ -/** - * Scans the 'src/components' directory - * and adds the 'index.ts' file of each component as a dynamic entry point. - * @param {string} componentsDir - The component directory path - * @returns {Record} - */ -const getComponentEntries = (componentsDir = 'src/components') => { - const entries: Record = {}; - - if (!fs.existsSync(componentsDir)) { - return entries; - } - - const componentFolders = fs - .readdirSync(componentsDir, { withFileTypes: true }) - .filter((dirent) => dirent.isDirectory()) - .map((dirent) => dirent.name); - - componentFolders.forEach((folder) => { - const indexPath = `${componentsDir}/${folder}/index.ts`; - - // e.g., 'components/Button' -> 'src/components/Button/index.ts' - if (fs.existsSync(indexPath)) { - entries[`components/${folder}/index`] = indexPath; - } - }); - - return entries; -}; - -const ENTRY_POINTS: Record = { - index: 'src/index.ts', - ...getComponentEntries('src/components'), -}; - -/* ----- rolldown ----- */ +const inputs = generateInputs([ + 'src/index.ts', + 'src/components/**/*.{ts,tsx}', + '!src/components/**/*.{stories,test,spec}.*', +]); -const sharedResolve = { +const resolve = { alias: { '~': path.resolve('./src') }, extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], }; -// e.g., 'src/styles/foo.css' -> 'styles/foo.css' -const assetFileNames = (assetInfo: { name?: string }) => { - if (!assetInfo.name) return 'assets/[name]-[hash][extname]'; - return assetInfo.name.replace(/^src\//, ''); -}; - -type BundleOptions = { plugins: RolldownPluginOption; output: OutputOptions }; -const bundle = ({ plugins, output }: BundleOptions): RolldownOptions => ({ - input: ENTRY_POINTS, - resolve: sharedResolve, - plugins, - output: { - dir: 'dist', - preserveModules: true, - preserveModulesRoot: 'src', - sourcemap: false, - sourcemapExcludeSources: false, - ...output, - }, -}); - export default defineConfig([ // ESM Build bundle({ - plugins: [plugins.depsExternal, plugins.vanillaExtract, plugins.cleanLayerDeclaration], + input: inputs, + resolve, + plugins: [depsExternal(), cleanLayerDeclaration()], output: { format: 'esm', strict: true, exports: 'named', - // e.g., 'styles/tailwind-preset.css' -> 'styles/tailwind-preset.css.vanilla.js' - entryFileNames: ({ name }) => `${name.replace(/\.css$/, '.css.vanilla')}.js`, - assetFileNames, + entryFileNames: '[name].js', }, }), // CJS Build bundle({ - plugins: [plugins.depsExternal, plugins.vanillaExtract, plugins.cleanLayerDeclaration], + input: inputs, + plugins: [depsExternal(), cleanLayerDeclaration()], output: { format: 'cjs', strict: true, exports: 'named', - entryFileNames: ({ name }) => `${name.replace(/\.css$/, '.css.vanilla')}.cjs`, - assetFileNames, + entryFileNames: '[name].cjs', }, }), // DTS Build bundle({ - plugins: [plugins.depsExternal, plugins.dts], + input: inputs, + plugins: [depsExternal(), dts()], output: { format: 'esm', strict: false, exports: undefined, - - // e.g., 'button.css.d' -> 'button.css.vanilla.d.ts' - entryFileNames: ({ name }) => `${name.replace(/\.css\.d$/, '.css.vanilla.d')}.ts`, }, }), ]); diff --git a/packages/core/package.json b/packages/core/package.json index 9fdf92101..965940b4a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -70,6 +70,7 @@ "devDependencies": { "@playwright/test": "^1.60.0", "@repo/eslint-config": "workspace:*", + "@repo/rolldown-config": "workspace:*", "@repo/typescript-config": "workspace:*", "@storybook/react-vite": "9.1.20", "@testing-library/dom": "^10.4.1", @@ -79,7 +80,7 @@ "@types/node": "^22.19.20", "@types/react": "catalog:", "@types/react-dom": "catalog:", - "@vanilla-extract/rollup-plugin": "^1.5.3", + "@vanilla-extract/rollup-plugin": "^1.5.4", "@vanilla-extract/vite-plugin": "^5.2.2", "@vitest/browser": "^3.2.6", "@vitest/coverage-v8": "^3.2.6", @@ -91,7 +92,6 @@ "react-dom": "catalog:", "rimraf": "^6.1.3", "rolldown": "^1.1.4", - "rolldown-plugin-dts": "^0.27.1", "rollup-plugin-node-externals": "^8.1.2", "typescript": "catalog:", "vitest": "^3.2.4", diff --git a/packages/core/rolldown.config.ts b/packages/core/rolldown.config.ts index c4dae4976..ccf08ca5d 100644 --- a/packages/core/rolldown.config.ts +++ b/packages/core/rolldown.config.ts @@ -1,192 +1,85 @@ +import { bundle, generateInputs } from '@repo/rolldown-config'; +import { + cleanLayerDeclaration, + depsExternal, + dts, + identifiers, +} from '@repo/rolldown-config/plugins'; import { vanillaExtractPlugin } from '@vanilla-extract/rollup-plugin'; -import fs from 'node:fs'; import path from 'node:path'; +import type { PreRenderedAsset } from 'rolldown'; import { defineConfig } from 'rolldown'; -import type { OutputOptions, Plugin, RolldownOptions, RolldownPluginOption } from 'rolldown'; -import { dts as dtsPlugin } from 'rolldown-plugin-dts'; -import depsExternalPlugin from 'rollup-plugin-node-externals'; -/* ---- cleanLayerDeclaration ----- */ - -/** - * Removes top-level '@layer ...;' declarations from '.css' asset files. - * (Excluding layers.css.ts.vanilla.css) - */ -const cleanLayerDeclaration = (): Plugin => { - return { - name: 'clean-css-layer-declarations', - - generateBundle(_options, bundle) { - const layerDeclarationRegex = /^@layer vapor.[a-zA-Z0-9_-]+;\s*/gm; - const exceptionFile = 'styles/layers.css.ts.vanilla.css'; - - for (const fileName in bundle) { - const file = bundle[fileName]; - - if ( - file.type === 'asset' && - fileName.endsWith('.css') && - fileName !== exceptionFile - ) { - if (typeof file.source === 'string') { - file.source = file.source.replace(layerDeclarationRegex, ''); - } - } - } - }, - }; -}; - -/* ----- plugins ----- */ - -const kebabCase = (str: string) => { - if (!str) return ''; - - const WORD_PATTERN = [ - /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)/, // 대문자 연속 (예: XML, JSON) - /[A-Z]?[a-z]+[0-9]*/, // 일반 단어 (예: hello, World1) - /[A-Z]/, // 남은 대문자 하나 - /[0-9]+/, // 숫자 뭉치 - ]; - - const regex = new RegExp(WORD_PATTERN.map((r) => r.source).join('|'), 'g'); - const words = str.match(regex) || []; - - return words.map((word) => word.toLowerCase()).join('-'); -}; - -type IdentifiersOptions = { hash: string; filePath: string; debugId?: string }; - -const identifiers = ({ hash, filePath, debugId }: IdentifiersOptions) => { - const componentName = path.basename(filePath, '.css.ts'); - const prefix = componentName === 'sprinkles' ? 'v' : componentName; - - const cleanId = debugId ? debugId.replace('-default', '').replace('_', '-') : ''; - const id = kebabCase(cleanId); - - return `${prefix}${id ? `-${id}` : ''}-${hash}`; -}; - -const plugins = { - vanillaExtract: vanillaExtractPlugin({ identifiers }), - depsExternal: depsExternalPlugin(), - dts: dtsPlugin({ - emitDtsOnly: true, - compilerOptions: { - declaration: true, - declarationMap: false, - noEmit: false, - emitDeclarationOnly: true, - noEmitOnError: true, - }, - }), - cleanLayerDeclaration: cleanLayerDeclaration(), -}; - -/* ----- input ----- */ - -/** - * Scans the 'src/components' directory - * and adds the 'index.ts' file of each component as a dynamic entry point. - * @param {string} componentsDir - The component directory path - * @returns {Record} - */ -const getComponentEntries = (componentsDir = 'src/components') => { - const entries: Record = {}; - - if (!fs.existsSync(componentsDir)) { - return entries; - } +const inputs = generateInputs([ + 'src/index.ts', + 'src/styles/tailwind-preset.css.ts', + 'src/components/**/*.{ts,tsx}', + '!src/components/**/*.{stories,test,spec}.*', +]); - const componentFolders = fs - .readdirSync(componentsDir, { withFileTypes: true }) - .filter((dirent) => dirent.isDirectory()) - .map((dirent) => dirent.name); +// e.g., 'src/styles/foo.css' -> 'styles/foo.css' +const SRC_ROOT = path.resolve('./src'); +const assetFileNames = (assetInfo: PreRenderedAsset) => { + const original = assetInfo.originalFileNames.at(0); - componentFolders.forEach((folder) => { - const indexPath = `${componentsDir}/${folder}/index.ts`; + if (original && path.isAbsolute(original)) { + const rel = path.relative(SRC_ROOT, original); - // e.g., 'components/Button' -> 'src/components/Button/index.ts' - if (fs.existsSync(indexPath)) { - entries[`components/${folder}/index`] = indexPath; + if (rel && !rel.startsWith('..')) { + return rel.split(path.sep).join('/'); } - }); - - return entries; -}; + } -const ENTRY_POINTS = { - index: 'src/index.ts', - 'styles/tailwind-preset': 'src/styles/tailwind-preset.css.ts', - ...getComponentEntries('src/components'), + const name = original ?? assetInfo.names.at(0); + if (!name) return 'assets/[name]-[hash][extname]'; + return name.replace(/^src\//, ''); }; -/* ----- rolldown ----- */ - -const sharedResolve = { +const resolve = { alias: { '~': path.resolve('./src') }, extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], }; -// e.g., 'src/styles/foo.css' -> 'styles/foo.css' -const assetFileNames = (assetInfo: { name?: string }) => { - if (!assetInfo.name) return 'assets/[name]-[hash][extname]'; - return assetInfo.name.replace(/^src\//, ''); -}; - -type BundleOptions = { plugins: RolldownPluginOption; output: OutputOptions }; -const bundle = ({ plugins, output }: BundleOptions): RolldownOptions => ({ - input: ENTRY_POINTS, - resolve: sharedResolve, - plugins, - output: { - dir: 'dist', - preserveModules: true, - preserveModulesRoot: 'src', - sourcemap: false, - sourcemapExcludeSources: false, - ...output, - }, -}); - export default defineConfig([ // ESM Build bundle({ - plugins: [plugins.depsExternal, plugins.vanillaExtract, plugins.cleanLayerDeclaration], + input: inputs, + resolve, + plugins: [depsExternal(), vanillaExtractPlugin({ identifiers }), cleanLayerDeclaration()], output: { format: 'esm', strict: true, exports: 'named', - // e.g., 'styles/tailwind-preset.css' -> 'styles/tailwind-preset.css.vanilla.js' - entryFileNames: ({ name }) => `${name.replace(/\.css$/, '.css.vanilla')}.js`, + entryFileNames: '[name].js', assetFileNames, }, }), // CJS Build bundle({ - plugins: [plugins.depsExternal, plugins.vanillaExtract, plugins.cleanLayerDeclaration], + input: inputs, + resolve, + plugins: [depsExternal(), vanillaExtractPlugin({ identifiers }), cleanLayerDeclaration()], output: { format: 'cjs', strict: true, exports: 'named', - entryFileNames: ({ name }) => `${name.replace(/\.css$/, '.css.vanilla')}.cjs`, + entryFileNames: '[name].cjs', assetFileNames, }, }), // DTS Build bundle({ - plugins: [plugins.depsExternal, plugins.dts], + input: inputs, + resolve, + plugins: [depsExternal(), dts()], output: { format: 'esm', strict: false, exports: undefined, - - // e.g., 'button.css.d' -> 'button.css.vanilla.d.ts' - entryFileNames: ({ name }) => `${name.replace(/\.css\.d$/, '.css.vanilla.d')}.ts`, }, }), ]); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f36438914..b23b17849 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -125,7 +125,7 @@ importers: version: link:../../packages/typescript-config '@tailwindcss/vite': specifier: ^4.2.4 - version: 4.2.4(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + version: 4.2.4(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) '@types/culori': specifier: ^4.0.1 version: 4.0.1 @@ -137,7 +137,7 @@ importers: version: 19.2.3(@types/react@19.2.17) '@vitejs/plugin-react': specifier: ^5.2.0 - version: 5.2.0(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + version: 5.2.0(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) concurrently: specifier: ^8.2.2 version: 8.2.2 @@ -152,10 +152,10 @@ importers: version: 5.9.3 vite: specifier: ^7.3.5 - version: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + version: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) vite-plugin-singlefile: specifier: ^2.3.3 - version: 2.3.3(rollup@4.61.1)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + version: 2.3.3(rollup@4.62.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) apps/storybook: dependencies: @@ -177,13 +177,13 @@ importers: version: link:../../packages/typescript-config '@storybook/addon-docs': specifier: ^9.1.20 - version: 9.1.20(@types/react@19.2.17)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))) + version: 9.1.20(@types/react@19.2.17)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))) '@storybook/builder-vite': specifier: ^9.1.20 - version: 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + version: 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) '@storybook/react-vite': specifier: ^9.1.20 - version: 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.61.1)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + version: 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.62.4)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) '@types/react': specifier: 'catalog:' version: 19.2.17 @@ -192,10 +192,10 @@ importers: version: 19.2.3(@types/react@19.2.17) '@vanilla-extract/vite-plugin': specifier: ^5.2.2 - version: 5.2.2(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + version: 5.2.2(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) '@vitejs/plugin-react': specifier: ^5.2.0 - version: 5.2.0(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + version: 5.2.0(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) eslint: specifier: 'catalog:' version: 9.39.4(jiti@2.6.1) @@ -204,7 +204,7 @@ importers: version: 16.5.0 storybook: specifier: ^9.1.20 - version: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + version: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) typescript: specifier: 'catalog:' version: 5.9.3 @@ -213,7 +213,7 @@ importers: version: 8.59.4(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) vite: specifier: ^7.3.5 - version: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + version: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) apps/website: dependencies: @@ -270,7 +270,7 @@ importers: version: 3.0.10(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/estree@1.0.9)(@types/hast@3.0.4)(@types/mdast@4.0.4)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(mdast-util-mdx@3.0.0) fumadocs-mdx: specifier: 14.3.2 - version: 14.3.2(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react@19.2.7)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 14.3.2(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react@19.2.7)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) fumadocs-typescript: specifier: 5.2.6 version: 5.2.6(a42f767853158b8216f7e0ac773a71a1) @@ -422,16 +422,16 @@ importers: version: 9.39.4(jiti@2.6.1) jest: specifier: ^30.3.0 - version: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + version: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) rimraf: specifier: ^6.1.3 version: 6.1.3 ts-jest: specifier: ^29.4.11 - version: 29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.7)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.7)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)))(typescript@6.0.3) tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0)(typescript@6.0.3) packages/color-generator: dependencies: @@ -462,7 +462,7 @@ importers: version: 6.1.3 tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0)(typescript@5.9.3) tsx: specifier: ^4.21.0 version: 4.21.0 @@ -471,7 +471,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.2.4 - version: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + version: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) packages/composites: dependencies: @@ -497,12 +497,15 @@ importers: '@repo/eslint-config': specifier: workspace:* version: link:../eslint-config + '@repo/rolldown-config': + specifier: workspace:* + version: link:../rolldown-config '@repo/typescript-config': specifier: workspace:* version: link:../typescript-config '@storybook/react-vite': specifier: 9.1.20 - version: 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.61.1)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.62.4)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@testing-library/dom': specifier: ^10.4.1 version: 10.4.1 @@ -526,16 +529,16 @@ importers: version: 19.2.3(@types/react@19.2.17) '@vanilla-extract/rollup-plugin': specifier: ^1.5.3 - version: 1.5.3(rollup@4.61.1) + version: 1.5.3(rollup@4.62.4) '@vanilla-extract/vite-plugin': specifier: ^5.2.2 - version: 5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@vapor-ui/core': specifier: workspace:* version: link:../core '@vitest/browser': specifier: ^3.2.6 - version: 3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) + version: 3.2.6(playwright@1.60.0)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) '@vitest/coverage-v8': specifier: ^3.2.6 version: 3.2.6(@vitest/browser@3.2.6)(vitest@3.2.6) @@ -557,18 +560,15 @@ importers: rolldown: specifier: ^1.1.4 version: 1.1.4 - rolldown-plugin-dts: - specifier: ^0.27.1 - version: 0.27.1(rolldown@1.1.4)(typescript@5.9.3) - rollup-plugin-node-externals: - specifier: ^8.1.2 - version: 8.1.2(rollup@4.61.1) + tinyglobby: + specifier: ^0.2.17 + version: 0.2.17 typescript: specifier: 'catalog:' version: 5.9.3 vitest: specifier: ^3.2.4 - version: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + version: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) packages/core: dependencies: @@ -612,12 +612,15 @@ importers: '@repo/eslint-config': specifier: workspace:* version: link:../eslint-config + '@repo/rolldown-config': + specifier: workspace:* + version: link:../rolldown-config '@repo/typescript-config': specifier: workspace:* version: link:../typescript-config '@storybook/react-vite': specifier: 9.1.20 - version: 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.61.1)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.62.4)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@testing-library/dom': specifier: ^10.4.1 version: 10.4.1 @@ -640,14 +643,14 @@ importers: specifier: 'catalog:' version: 19.2.3(@types/react@19.2.17) '@vanilla-extract/rollup-plugin': - specifier: ^1.5.3 - version: 1.5.3(rollup@4.61.1) + specifier: ^1.5.4 + version: 1.5.4(rollup@4.62.4) '@vanilla-extract/vite-plugin': specifier: ^5.2.2 - version: 5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + version: 5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@vitest/browser': specifier: ^3.2.6 - version: 3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) + version: 3.2.6(playwright@1.60.0)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) '@vitest/coverage-v8': specifier: ^3.2.6 version: 3.2.6(@vitest/browser@3.2.6)(vitest@3.2.6) @@ -675,18 +678,15 @@ importers: rolldown: specifier: ^1.1.4 version: 1.1.4 - rolldown-plugin-dts: - specifier: ^0.27.1 - version: 0.27.1(rolldown@1.1.4)(typescript@5.9.3) rollup-plugin-node-externals: specifier: ^8.1.2 - version: 8.1.2(rollup@4.61.1) + version: 8.1.2(rollup@4.62.4) typescript: specifier: 'catalog:' version: 5.9.3 vitest: specifier: ^3.2.4 - version: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + version: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) vitest-axe: specifier: ^1.0.0-pre.5 version: 1.0.0-pre.5(vitest@3.2.6) @@ -714,7 +714,7 @@ importers: version: 6.1.3 tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0)(typescript@5.9.3) tsx: specifier: ^4.21.0 version: 4.21.0 @@ -723,7 +723,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.2.4 - version: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + version: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) packages/design-tokens: {} @@ -771,7 +771,7 @@ importers: version: 5.2.0(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-storybook: specifier: ^9.1.20 - version: 9.1.20(eslint@9.39.4(jiti@2.6.1))(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3) + version: 9.1.20(eslint@9.39.4(jiti@2.6.1))(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3) globals: specifier: ^16.5.0 version: 16.5.0 @@ -808,13 +808,13 @@ importers: version: 9.39.4(jiti@2.6.1) tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0)(typescript@5.9.3) typescript: specifier: ^5.9.3 version: 5.9.3 vitest: specifier: ^3.2.4 - version: 3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + version: 3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) packages/hooks: devDependencies: @@ -835,7 +835,7 @@ importers: version: 19.2.7 tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0)(typescript@5.9.3) typescript: specifier: 'catalog:' version: 5.9.3 @@ -872,7 +872,38 @@ importers: version: 6.1.3 tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0)(typescript@5.9.3) + typescript: + specifier: 'catalog:' + version: 5.9.3 + + packages/rolldown-config: + dependencies: + rolldown-plugin-dts: + specifier: ^0.27.1 + version: 0.27.1(rolldown@1.1.4)(typescript@5.9.3) + rollup-plugin-node-externals: + specifier: ^8.1.2 + version: 8.1.2(rollup@4.62.4) + devDependencies: + '@repo/eslint-config': + specifier: workspace:* + version: link:../eslint-config + '@repo/typescript-config': + specifier: workspace:* + version: link:../typescript-config + rimraf: + specifier: ^6.1.3 + version: 6.1.3 + rolldown: + specifier: ^1.1.4 + version: 1.1.4 + rollup: + specifier: ^4.62.4 + version: 4.62.4 + tinyglobby: + specifier: ^0.2.17 + version: 0.2.17 typescript: specifier: 'catalog:' version: 5.9.3 @@ -911,13 +942,13 @@ importers: version: 20.19.43 '@vitest/coverage-v8': specifier: ^2.1.9 - version: 2.1.9(vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + version: 2.1.9(vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) eslint: specifier: ^9.39.4 version: 9.39.4(jiti@2.6.1) tsup: specifier: ^8.5.1 - version: 8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3) + version: 8.5.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0)(typescript@5.9.3) tsx: specifier: ^4.21.0 version: 4.21.0 @@ -926,7 +957,7 @@ importers: version: 5.9.3 vitest: specifier: ^3.0.0 - version: 3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + version: 3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) packages: @@ -2890,6 +2921,13 @@ packages: '@types/react': '>=16' react: '>=16' + '@napi-rs/lzma-linux-x64-gnu@1.5.1': + resolution: {integrity: sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==} + engines: {node: ^22.20 || ^24.12 || >=25} + cpu: [x64] + os: [linux] + libc: [glibc] + '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} @@ -2996,6 +3034,9 @@ packages: '@oxc-project/types@0.138.0': resolution: {integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==} + '@oxc-project/types@0.143.0': + resolution: {integrity: sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==} + '@oxc-transform/binding-android-arm-eabi@0.124.0': resolution: {integrity: sha512-A7r8E94VSRnWlsquGXaW2rmpVcruNOTE4a/7+NCVOtlRUlbmd37bOfv0T47MLIN378uES7yldftCwcVMBG39ig==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3640,30 +3681,60 @@ packages: cpu: [arm64] os: [android] + '@rolldown/binding-android-arm64@1.2.3': + resolution: {integrity: sha512-zrJtHDcaZJ1Fp7xf4hNl+7seH9Cn/N5TwLYkhgXREtBwAd/jaqW3uqeHxpDugJLVICWg4eW44kOQEGJ1r6jCGw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@rolldown/binding-darwin-arm64@1.1.4': resolution: {integrity: sha512-aUi+HBvmYb7j8krl1+qJgkG8C17fO79gk3c+jPw4S8glRFc1DTija9S3EyaTSQUm5GJXYKDAsugBEhFHH2vYiQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@rolldown/binding-darwin-arm64@1.2.3': + resolution: {integrity: sha512-ieIiibVCp0tX7TLu2cafoNPv8wJyYi01ekXpbf8q2j7F4rGAhhXb/eQh7ge9DRBY78GwmRQtvjZDux7EDbA8kA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@rolldown/binding-darwin-x64@1.1.4': resolution: {integrity: sha512-F7hHC3gwY11+vByKPRWqwGbeXWVgKmL+pTGCinaEhdihzBV2aQ0fvZOch9cXYUOKuKKq429HeYXOqQLc7wFCEg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@rolldown/binding-darwin-x64@1.2.3': + resolution: {integrity: sha512-Zh9tCon19eDXJoihx0rqKhMUlMYqzwj3aPsSuHmI4RWZh62dWUL+DJN4C5YQya5TcQBJU/Fe8+rY0jhXTQITqA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@rolldown/binding-freebsd-x64@1.1.4': resolution: {integrity: sha512-sI5yw+7s92SK6odiEhD5lKCBlWcpjHS5qyqpVQbZAJ0fIzEUXrmbl3DH2ybR3PZogulNJF+COLtmA8hUfvkCCQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@rolldown/binding-freebsd-x64@1.2.3': + resolution: {integrity: sha512-nGbJWewA1wrXXZiQhjAT5rhibGfns5ZNkDVqxsO6zJ3f3YvpoDNNmGMSbbhLuXKjNScaBJVOAboztAWVespQMg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@rolldown/binding-linux-arm-gnueabihf@1.1.4': resolution: {integrity: sha512-mCi0OKgEieFircrtVYmQAFGszRtMnZ6fpZAXrxanXAu7lqZcsK1E1RAaZNG0uKAnxox3B1f4EyQNnoyMfN1vAA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@rolldown/binding-linux-arm-gnueabihf@1.2.3': + resolution: {integrity: sha512-QNniJr5Kml0kDEB98jiDOJjXNroxIIi0IXIbdYzY26Xt1pVbeP62+KnoIZLwirOymX/0jDk/2gI/bNUv7A7OIw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@rolldown/binding-linux-arm64-gnu@1.1.4': resolution: {integrity: sha512-B9Ial3Kv5sh0SHnB1g/QWcUQCEvCF6QKGAl4zXypYj65mVI+B4AhFBwPtSN7pDrJeIx8Z7zdy4ntx+wQABom7w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3671,6 +3742,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-arm64-gnu@1.2.3': + resolution: {integrity: sha512-TkqEAcmmvH3I/q4114NB4RVt6241Dao48pF45uLcFGrwAaIn0iITgTAKP/dLjbN0R4buJjGb91+UHSoFmpgIWw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-arm64-musl@1.1.4': resolution: {integrity: sha512-lZVym0PuHE1KZ22gmFTC15lAkrg9iTszR617oYRB/iPY1A56ywoJzVKOJBKaot5RiikCObmur6pogpse3gRcng==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3678,6 +3756,13 @@ packages: os: [linux] libc: [musl] + '@rolldown/binding-linux-arm64-musl@1.2.3': + resolution: {integrity: sha512-NHqjnxpsndf4MPymxteFAWHHfkTL8HjWh1KB7z23ofZ6QO2euONuxDXjat69dKZRALnGypg8k8SsK8vZJoXv1Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@rolldown/binding-linux-ppc64-gnu@1.1.4': resolution: {integrity: sha512-t2DNiLJWNTbnEHyUzTumldML6ET4/g16467LZoDDJ3tSxGvguL5/NyC2lCsNKuyRycg9XeDQF5SSv+TNOhQEXg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3685,6 +3770,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-ppc64-gnu@1.2.3': + resolution: {integrity: sha512-6tbrbwfz5GB9DQ4Jwo6hy9v+vR31xZlvzZ6n5Xut6Hhx5PvrA9q/HsK8KMaYQp063iqZGXwNvZtYNLD7EM/x0w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-s390x-gnu@1.1.4': resolution: {integrity: sha512-0WIRnL1Uw4BvTZRLQt+PVgo6ZKTJadlC2btP+/EOXv2f/DWbY0rEgl+y834mIVwP1FkTlWVTrGGJXf12lru7EQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3692,6 +3784,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-s390x-gnu@1.2.3': + resolution: {integrity: sha512-oyuXxXmoZHjXC917IAPFAAv4wWAa0cM9afk8nx1+9/jNNOX1uPf8yDA6p7G0RypOfw/X0PQt5IfoquY1um+zSg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-x64-gnu@1.1.4': resolution: {integrity: sha512-JWtGshGfX+oENAKonoNkqEJX+7hC8yfhi9GUyPX1VX4mdh1y5r+ZiJLR5XzAB0aoP6s/PcILsGjKq8O0mm24bw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3699,6 +3798,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-x64-gnu@1.2.3': + resolution: {integrity: sha512-TytMwF2KVGqP2tgd0I1OY0PAv78dZRAYcF5ssDzjM34SUXCED3uXvSd5+lHoC0bTD6eEdFz7LdQNCO1y0oVk9w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-x64-musl@1.1.4': resolution: {integrity: sha512-rT6yQcxUuXs4CnbofqwHRRV0iem349rLMYpTjkgQGLjrY4ado/eDzwPZPTCgTOlF6Nkp8NEv70yLMTn6qkWxsQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3706,12 +3812,25 @@ packages: os: [linux] libc: [musl] + '@rolldown/binding-linux-x64-musl@1.2.3': + resolution: {integrity: sha512-/E9m3qstrJFVPoULV25mVQblSNExY2+kBsYe4sy0Tn0yOOgJ8wZbZt3KnRbF/XeU2Gl1STKUQnDNTqhIE5MD4A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@rolldown/binding-openharmony-arm64@1.1.4': resolution: {integrity: sha512-KXMGoboq5cyaCQjDA4GLuRiOwBQ0EyFnJoVViLeZ45/3rFItRODEr+NdsBcVpll40hhNArlm/speWGRvj08LzA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@rolldown/binding-openharmony-arm64@1.2.3': + resolution: {integrity: sha512-Kr0OcsoQI816i6HOl3vFHpd1K0eZyh76zgfj4c1nTyaTsd5r2Mj1lwM4R90y/qaCfmTn9eHy0SKwi98eitRxug==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@rolldown/binding-wasm32-wasi@1.1.4': resolution: {integrity: sha512-5K83rb36oJiY7BCyE9zLZtGcPV4g5wvq+xwdO0XPIwDVZI8cyB/AUjkNXGb92/rnmezEkjMOpgY61rtwjQtFwg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3723,12 +3842,24 @@ packages: cpu: [arm64] os: [win32] + '@rolldown/binding-win32-arm64-msvc@1.2.3': + resolution: {integrity: sha512-hOtMwTqnME+/gJcH/PCZ0wn0zPUjiWOgkHpxbSJpfGKMezHltx1S7/k1SitzVa7Ww2cqrDDaFbZEhcJZO8o+Jw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@rolldown/binding-win32-x64-msvc@1.1.4': resolution: {integrity: sha512-M1lpniBePobTfsa7Ks9a199e1akxsXn+GYBUKsEzv3YFzOm1HJAMNwKI3qr0Zq+mxwx9gOZoTdP1yXRYsZUocQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] + '@rolldown/binding-win32-x64-msvc@1.2.3': + resolution: {integrity: sha512-ekcqMMkI2PlhYnfzQnB/cEdYUVVJViWvoUyLrbzgDoi3Snfc1mVBwdnc306ufA5ejy8JSPjT2RlW1nQSjW7efg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@rolldown/pluginutils@1.0.0-rc.3': resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==} @@ -3749,13 +3880,13 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.4': - resolution: {integrity: sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==} + '@rollup/rollup-android-arm-eabi@4.61.1': + resolution: {integrity: sha512-JnBB8MdXj45cajvTuO5FmPlvFVJRQgvrz1uSEl3NwqFnReAPGwb8EanbGi4z2nRaqLzjJSv5/JmycoTKlRZxHA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.61.1': - resolution: {integrity: sha512-JnBB8MdXj45cajvTuO5FmPlvFVJRQgvrz1uSEl3NwqFnReAPGwb8EanbGi4z2nRaqLzjJSv5/JmycoTKlRZxHA==} + '@rollup/rollup-android-arm-eabi@4.62.4': + resolution: {integrity: sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==} cpu: [arm] os: [android] @@ -3764,13 +3895,13 @@ packages: cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.4': - resolution: {integrity: sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==} + '@rollup/rollup-android-arm64@4.61.1': + resolution: {integrity: sha512-Jx2g7iSjw4AOT0HDPHM9RV3GNjRXwybWtSFZiZAYUTjUwjVrYIwq3kBf+LnhqJlzXFAqTAh2F7IGI+O568exPw==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.61.1': - resolution: {integrity: sha512-Jx2g7iSjw4AOT0HDPHM9RV3GNjRXwybWtSFZiZAYUTjUwjVrYIwq3kBf+LnhqJlzXFAqTAh2F7IGI+O568exPw==} + '@rollup/rollup-android-arm64@4.62.4': + resolution: {integrity: sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==} cpu: [arm64] os: [android] @@ -3779,13 +3910,13 @@ packages: cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.4': - resolution: {integrity: sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==} + '@rollup/rollup-darwin-arm64@4.61.1': + resolution: {integrity: sha512-0F1L/Z3Eqv8mT2n3dCpeO8GcTvHvVqkP5/t6DMsn0KzhYVcg+s7Ncl5DS8qjKYEeio6Az0Gt6nyBORay5qIlCA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.61.1': - resolution: {integrity: sha512-0F1L/Z3Eqv8mT2n3dCpeO8GcTvHvVqkP5/t6DMsn0KzhYVcg+s7Ncl5DS8qjKYEeio6Az0Gt6nyBORay5qIlCA==} + '@rollup/rollup-darwin-arm64@4.62.4': + resolution: {integrity: sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==} cpu: [arm64] os: [darwin] @@ -3794,13 +3925,13 @@ packages: cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.4': - resolution: {integrity: sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==} + '@rollup/rollup-darwin-x64@4.61.1': + resolution: {integrity: sha512-qLttcH871ujY4YcVfUSShhOw+CsoTatYz8gRbHO7Bb92QH059/P0y5do1KMs41fY0BpD2x4AJH/gID0zFiqVKQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.61.1': - resolution: {integrity: sha512-qLttcH871ujY4YcVfUSShhOw+CsoTatYz8gRbHO7Bb92QH059/P0y5do1KMs41fY0BpD2x4AJH/gID0zFiqVKQ==} + '@rollup/rollup-darwin-x64@4.62.4': + resolution: {integrity: sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==} cpu: [x64] os: [darwin] @@ -3809,13 +3940,13 @@ packages: cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.4': - resolution: {integrity: sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==} + '@rollup/rollup-freebsd-arm64@4.61.1': + resolution: {integrity: sha512-fUI4RapGE0Oh3mb8mgfvC1O2nU1RpDZUKnDQm3xB1Ipg7C2wTs5Kstz7G2uWK99a8S2yTMq8/P4uycwNa0nJyw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.61.1': - resolution: {integrity: sha512-fUI4RapGE0Oh3mb8mgfvC1O2nU1RpDZUKnDQm3xB1Ipg7C2wTs5Kstz7G2uWK99a8S2yTMq8/P4uycwNa0nJyw==} + '@rollup/rollup-freebsd-arm64@4.62.4': + resolution: {integrity: sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==} cpu: [arm64] os: [freebsd] @@ -3824,13 +3955,13 @@ packages: cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.4': - resolution: {integrity: sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==} + '@rollup/rollup-freebsd-x64@4.61.1': + resolution: {integrity: sha512-H5YrdvJaDtI/U9/emrD4b++xkvp3y/JvOe4rizHbxvkyMfRS/CiRYdji+Pl8D0brEaNFWUh1drQxgAGIl6Xudw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.61.1': - resolution: {integrity: sha512-H5YrdvJaDtI/U9/emrD4b++xkvp3y/JvOe4rizHbxvkyMfRS/CiRYdji+Pl8D0brEaNFWUh1drQxgAGIl6Xudw==} + '@rollup/rollup-freebsd-x64@4.62.4': + resolution: {integrity: sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==} cpu: [x64] os: [freebsd] @@ -3840,14 +3971,14 @@ packages: os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.4': - resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==} + '@rollup/rollup-linux-arm-gnueabihf@4.61.1': + resolution: {integrity: sha512-Q8CBCCQtDFrYtXoeUXSrnFXKOnyUhx6bz+SkL6A0E7V8kAiCJ5pamq1WtbfpVGhR5TSpXY6ak3avmDc5fHTyJA==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.61.1': - resolution: {integrity: sha512-Q8CBCCQtDFrYtXoeUXSrnFXKOnyUhx6bz+SkL6A0E7V8kAiCJ5pamq1WtbfpVGhR5TSpXY6ak3avmDc5fHTyJA==} + '@rollup/rollup-linux-arm-gnueabihf@4.62.4': + resolution: {integrity: sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==} cpu: [arm] os: [linux] libc: [glibc] @@ -3858,14 +3989,14 @@ packages: os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.4': - resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==} + '@rollup/rollup-linux-arm-musleabihf@4.61.1': + resolution: {integrity: sha512-nwnhk1581l0FBVellGcVCAT0Oi06onEA3WB53sf01VO3I0UPBkMH9sXONYME2K0ovXcNayJfNtHfm6mpJElatQ==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.61.1': - resolution: {integrity: sha512-nwnhk1581l0FBVellGcVCAT0Oi06onEA3WB53sf01VO3I0UPBkMH9sXONYME2K0ovXcNayJfNtHfm6mpJElatQ==} + '@rollup/rollup-linux-arm-musleabihf@4.62.4': + resolution: {integrity: sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==} cpu: [arm] os: [linux] libc: [musl] @@ -3876,14 +4007,14 @@ packages: os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.4': - resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==} + '@rollup/rollup-linux-arm64-gnu@4.61.1': + resolution: {integrity: sha512-x5Xr49hwt3hdW75UOZm3395YwwzPyauktslv29KpWL/T+vVAzoT3azLcTWv0eMciBNrx+DYjH4paehHoLpPvpg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.61.1': - resolution: {integrity: sha512-x5Xr49hwt3hdW75UOZm3395YwwzPyauktslv29KpWL/T+vVAzoT3azLcTWv0eMciBNrx+DYjH4paehHoLpPvpg==} + '@rollup/rollup-linux-arm64-gnu@4.62.4': + resolution: {integrity: sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==} cpu: [arm64] os: [linux] libc: [glibc] @@ -3894,14 +4025,14 @@ packages: os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.4': - resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==} + '@rollup/rollup-linux-arm64-musl@4.61.1': + resolution: {integrity: sha512-unMS3H73DpaoPyyEVPjGKleM/s0mkmsauTENpw4INQY8y4+IuLNjkueQ5QCtC0D3N38Y38yhAU8OoZ20S2Tm6w==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.61.1': - resolution: {integrity: sha512-unMS3H73DpaoPyyEVPjGKleM/s0mkmsauTENpw4INQY8y4+IuLNjkueQ5QCtC0D3N38Y38yhAU8OoZ20S2Tm6w==} + '@rollup/rollup-linux-arm64-musl@4.62.4': + resolution: {integrity: sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==} cpu: [arm64] os: [linux] libc: [musl] @@ -3912,14 +4043,14 @@ packages: os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.4': - resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==} + '@rollup/rollup-linux-loong64-gnu@4.61.1': + resolution: {integrity: sha512-zNZzGRnAhwjFEYmvphJRV5XaQGjs62cCmeYYHUT//NbvEnHauw+I85nGG+SiVg5ld4GX8D1IbKIX+ozITQnhMQ==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.61.1': - resolution: {integrity: sha512-zNZzGRnAhwjFEYmvphJRV5XaQGjs62cCmeYYHUT//NbvEnHauw+I85nGG+SiVg5ld4GX8D1IbKIX+ozITQnhMQ==} + '@rollup/rollup-linux-loong64-gnu@4.62.4': + resolution: {integrity: sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==} cpu: [loong64] os: [linux] libc: [glibc] @@ -3930,14 +4061,14 @@ packages: os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.4': - resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==} + '@rollup/rollup-linux-loong64-musl@4.61.1': + resolution: {integrity: sha512-LdpWGL8X209B2SIvWjqlc8VZgM6PKfontSerGepuldQmHYrAOtnMCXeJkxXGbC+PPZVOuu5czJo7fNV6aeW8rQ==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.61.1': - resolution: {integrity: sha512-LdpWGL8X209B2SIvWjqlc8VZgM6PKfontSerGepuldQmHYrAOtnMCXeJkxXGbC+PPZVOuu5czJo7fNV6aeW8rQ==} + '@rollup/rollup-linux-loong64-musl@4.62.4': + resolution: {integrity: sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==} cpu: [loong64] os: [linux] libc: [musl] @@ -3948,14 +4079,14 @@ packages: os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.4': - resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==} + '@rollup/rollup-linux-ppc64-gnu@4.61.1': + resolution: {integrity: sha512-EC5kTtNaNGOmbMGqar8dvJy6y/hg99GAwjfBz++pxZhQATXGcRjd6c5en5wcbru0vkRmiMGsQKdMJOOf6sza4g==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.61.1': - resolution: {integrity: sha512-EC5kTtNaNGOmbMGqar8dvJy6y/hg99GAwjfBz++pxZhQATXGcRjd6c5en5wcbru0vkRmiMGsQKdMJOOf6sza4g==} + '@rollup/rollup-linux-ppc64-gnu@4.62.4': + resolution: {integrity: sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==} cpu: [ppc64] os: [linux] libc: [glibc] @@ -3966,14 +4097,14 @@ packages: os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.4': - resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==} + '@rollup/rollup-linux-ppc64-musl@4.61.1': + resolution: {integrity: sha512-8hiwp6D4acEcNK78I4rP0/XtS1sknWIAMJBPdR4l6zUtyTm5KiTDr5bXmWt4foY7nAN7AThDHgkLIEZOWKbzWw==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.61.1': - resolution: {integrity: sha512-8hiwp6D4acEcNK78I4rP0/XtS1sknWIAMJBPdR4l6zUtyTm5KiTDr5bXmWt4foY7nAN7AThDHgkLIEZOWKbzWw==} + '@rollup/rollup-linux-ppc64-musl@4.62.4': + resolution: {integrity: sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==} cpu: [ppc64] os: [linux] libc: [musl] @@ -3984,14 +4115,14 @@ packages: os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.4': - resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==} + '@rollup/rollup-linux-riscv64-gnu@4.61.1': + resolution: {integrity: sha512-10dh/h/BqA7DuMPWSxkR8uks18FRwnwOEqr5zOTEl+NOwP/OMzKX8OFR/Of9xxDA7D5qef1Nzar5WDD2kCCr1g==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.61.1': - resolution: {integrity: sha512-10dh/h/BqA7DuMPWSxkR8uks18FRwnwOEqr5zOTEl+NOwP/OMzKX8OFR/Of9xxDA7D5qef1Nzar5WDD2kCCr1g==} + '@rollup/rollup-linux-riscv64-gnu@4.62.4': + resolution: {integrity: sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==} cpu: [riscv64] os: [linux] libc: [glibc] @@ -4002,14 +4133,14 @@ packages: os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.4': - resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==} + '@rollup/rollup-linux-riscv64-musl@4.61.1': + resolution: {integrity: sha512-YKJ5lg35DP17gcAOggnihe+APw9HLyj1Xn7gsmGumBJAUDa6NGXNixJzmkWLhcK9TOuuyQjdamzvJefkO7qHZQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.61.1': - resolution: {integrity: sha512-YKJ5lg35DP17gcAOggnihe+APw9HLyj1Xn7gsmGumBJAUDa6NGXNixJzmkWLhcK9TOuuyQjdamzvJefkO7qHZQ==} + '@rollup/rollup-linux-riscv64-musl@4.62.4': + resolution: {integrity: sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==} cpu: [riscv64] os: [linux] libc: [musl] @@ -4020,14 +4151,14 @@ packages: os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.4': - resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==} + '@rollup/rollup-linux-s390x-gnu@4.61.1': + resolution: {integrity: sha512-Mlil5G2Jj6a7B3LWGctg+XPL9vdXYuzCtNXfxOQ0nPjc2m6ueUktocPGH9bnAM0bNRKb/bAWTujUU7IJQdQA+g==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.61.1': - resolution: {integrity: sha512-Mlil5G2Jj6a7B3LWGctg+XPL9vdXYuzCtNXfxOQ0nPjc2m6ueUktocPGH9bnAM0bNRKb/bAWTujUU7IJQdQA+g==} + '@rollup/rollup-linux-s390x-gnu@4.62.4': + resolution: {integrity: sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==} cpu: [s390x] os: [linux] libc: [glibc] @@ -4038,14 +4169,14 @@ packages: os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.4': - resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==} + '@rollup/rollup-linux-x64-gnu@4.61.1': + resolution: {integrity: sha512-bVWIOIk6pV01p4CdUbPP7CJ/434z+OooYjDuFcR+44N35YvKUC66G8MGnvcWx5mWKW3g61J+t74l3Kj15Kwn2Q==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.61.1': - resolution: {integrity: sha512-bVWIOIk6pV01p4CdUbPP7CJ/434z+OooYjDuFcR+44N35YvKUC66G8MGnvcWx5mWKW3g61J+t74l3Kj15Kwn2Q==} + '@rollup/rollup-linux-x64-gnu@4.62.4': + resolution: {integrity: sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==} cpu: [x64] os: [linux] libc: [glibc] @@ -4056,14 +4187,14 @@ packages: os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.4': - resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==} + '@rollup/rollup-linux-x64-musl@4.61.1': + resolution: {integrity: sha512-qy5pBvZbqNFheBz61R1rzsezjm0J7O2oNGoWtGoY89SZYLUfxAJTBAqDChqAIdB4rCiIbi9nF7yZ83GnNiLwSw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.61.1': - resolution: {integrity: sha512-qy5pBvZbqNFheBz61R1rzsezjm0J7O2oNGoWtGoY89SZYLUfxAJTBAqDChqAIdB4rCiIbi9nF7yZ83GnNiLwSw==} + '@rollup/rollup-linux-x64-musl@4.62.4': + resolution: {integrity: sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==} cpu: [x64] os: [linux] libc: [musl] @@ -4073,13 +4204,13 @@ packages: cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.4': - resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==} + '@rollup/rollup-openbsd-x64@4.61.1': + resolution: {integrity: sha512-E83TXjI4zm0+5f2qO+UOudaCYIhYwpJ5jq6YCZNIZ+6CbfhKrkAGezeiASBL9ElxAxFsRS9ZhESv8mfnj6TKeg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.61.1': - resolution: {integrity: sha512-E83TXjI4zm0+5f2qO+UOudaCYIhYwpJ5jq6YCZNIZ+6CbfhKrkAGezeiASBL9ElxAxFsRS9ZhESv8mfnj6TKeg==} + '@rollup/rollup-openbsd-x64@4.62.4': + resolution: {integrity: sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==} cpu: [x64] os: [openbsd] @@ -4088,13 +4219,13 @@ packages: cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.4': - resolution: {integrity: sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==} + '@rollup/rollup-openharmony-arm64@4.61.1': + resolution: {integrity: sha512-fbWnKqVkjrJN38vNe3ahkbk6iejS/3b0Nt7EEtPpE6RBacZcGXNKbzfHN3GUUlXOPghUg0j6XUGrtjX9z1sIvA==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.61.1': - resolution: {integrity: sha512-fbWnKqVkjrJN38vNe3ahkbk6iejS/3b0Nt7EEtPpE6RBacZcGXNKbzfHN3GUUlXOPghUg0j6XUGrtjX9z1sIvA==} + '@rollup/rollup-openharmony-arm64@4.62.4': + resolution: {integrity: sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==} cpu: [arm64] os: [openharmony] @@ -4103,13 +4234,13 @@ packages: cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.4': - resolution: {integrity: sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==} + '@rollup/rollup-win32-arm64-msvc@4.61.1': + resolution: {integrity: sha512-ArMl38iVAbk0New1ogihQNY6iphLi4ZaRsa037gUzv5yeKPY8TD3Dmy4x2RNC1VztU/uqm+G+/RwFrSka3Oy2g==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.61.1': - resolution: {integrity: sha512-ArMl38iVAbk0New1ogihQNY6iphLi4ZaRsa037gUzv5yeKPY8TD3Dmy4x2RNC1VztU/uqm+G+/RwFrSka3Oy2g==} + '@rollup/rollup-win32-arm64-msvc@4.62.4': + resolution: {integrity: sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==} cpu: [arm64] os: [win32] @@ -4118,13 +4249,13 @@ packages: cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.4': - resolution: {integrity: sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==} + '@rollup/rollup-win32-ia32-msvc@4.61.1': + resolution: {integrity: sha512-0mYtjHS9ucAbcATycCNK9IGBk/cCe/ma7EmSLGZdsxnOA8cjRIyU04wDpVAD9NiOfLUR9KTxdiO53uOkherqjQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.61.1': - resolution: {integrity: sha512-0mYtjHS9ucAbcATycCNK9IGBk/cCe/ma7EmSLGZdsxnOA8cjRIyU04wDpVAD9NiOfLUR9KTxdiO53uOkherqjQ==} + '@rollup/rollup-win32-ia32-msvc@4.62.4': + resolution: {integrity: sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==} cpu: [ia32] os: [win32] @@ -4133,13 +4264,13 @@ packages: cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.4': - resolution: {integrity: sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==} + '@rollup/rollup-win32-x64-gnu@4.61.1': + resolution: {integrity: sha512-gK1iCEPfpoSG9wfBihXxvBMi8ZfcWffYkEsC/Eih+iFENTaewvNcrEQ69lIOWYO5pePHKLHHO7nq5AILGO/HQQ==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.61.1': - resolution: {integrity: sha512-gK1iCEPfpoSG9wfBihXxvBMi8ZfcWffYkEsC/Eih+iFENTaewvNcrEQ69lIOWYO5pePHKLHHO7nq5AILGO/HQQ==} + '@rollup/rollup-win32-x64-gnu@4.62.4': + resolution: {integrity: sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==} cpu: [x64] os: [win32] @@ -4148,13 +4279,13 @@ packages: cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.4': - resolution: {integrity: sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==} + '@rollup/rollup-win32-x64-msvc@4.61.1': + resolution: {integrity: sha512-X+zaP2x+j4RXGfbp/seSoRHWnPxzApilDszisZxbYH5C/jTxFhCtDNdPGZb9lJyYPs24wGxruPF7Y+sIXt9Gzw==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.61.1': - resolution: {integrity: sha512-X+zaP2x+j4RXGfbp/seSoRHWnPxzApilDszisZxbYH5C/jTxFhCtDNdPGZb9lJyYPs24wGxruPF7Y+sIXt9Gzw==} + '@rollup/rollup-win32-x64-msvc@4.62.4': + resolution: {integrity: sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==} cpu: [x64] os: [win32] @@ -5010,6 +5141,9 @@ packages: '@vanilla-extract/dynamic@2.1.5': resolution: {integrity: sha512-QGIFGb1qyXQkbzx6X6i3+3LMc/iv/ZMBttMBL+Wm/DetQd36KsKsFg5CtH3qy+1hCA/5w93mEIIAiL4fkM8ycw==} + '@vanilla-extract/integration@8.0.10': + resolution: {integrity: sha512-01IB5gbrgTe8IIrtfRXXTmACl5D8Enzqp2cKbCWaMKXmnoilXXVCPbJoA96q88PXkNDXsXepCxUugMvEmL3c7A==} + '@vanilla-extract/integration@8.0.9': resolution: {integrity: sha512-NP+CSo5IYHDmkMMy5vAxY4R9i2+CAg4sxgvVaxuHiuY9q30i6dNUTujNNKZGW2urEkd4HVVI6NggeIyYjbGPwA==} @@ -5026,6 +5160,11 @@ packages: peerDependencies: rollup: ^2.0.0 || ^3.0.0 || ^4.0.0 + '@vanilla-extract/rollup-plugin@1.5.4': + resolution: {integrity: sha512-MFcpJ4ri+a76RPl2co8n1PPMcYwRo7nq95UPdNThBT9gG2QvOiXsDd+ussHIwcTrQd8LGjoRb5bjIKUnoWnw0g==} + peerDependencies: + rollup: ^2.0.0 || ^3.0.0 || ^4.0.0 + '@vanilla-extract/sprinkles@1.6.5': resolution: {integrity: sha512-HOYidLONR/SeGk8NBAeI64I4gYdsMX9vJmniL13ZcLVwawyK0s2GUENEAcGA+GYLIoeyQB61UqmhqPodJry7zA==} peerDependencies: @@ -7282,30 +7421,60 @@ packages: cpu: [arm64] os: [android] + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + lightningcss-darwin-arm64@1.32.0: resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + lightningcss-darwin-x64@1.32.0: resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + lightningcss-freebsd-x64@1.32.0: resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + lightningcss-linux-arm-gnueabihf@1.32.0: resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + lightningcss-linux-arm64-gnu@1.32.0: resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} engines: {node: '>= 12.0.0'} @@ -7313,6 +7482,13 @@ packages: os: [linux] libc: [glibc] + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + lightningcss-linux-arm64-musl@1.32.0: resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} engines: {node: '>= 12.0.0'} @@ -7320,6 +7496,13 @@ packages: os: [linux] libc: [musl] + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + lightningcss-linux-x64-gnu@1.32.0: resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} engines: {node: '>= 12.0.0'} @@ -7327,6 +7510,13 @@ packages: os: [linux] libc: [glibc] + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + lightningcss-linux-x64-musl@1.32.0: resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} engines: {node: '>= 12.0.0'} @@ -7334,22 +7524,45 @@ packages: os: [linux] libc: [musl] + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + lightningcss-win32-arm64-msvc@1.32.0: resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + lightningcss-win32-x64-msvc@1.32.0: resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + lightningcss@1.32.0: resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} engines: {node: '>= 12.0.0'} + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} + engines: {node: '>= 12.0.0'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -7741,6 +7954,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.17: + resolution: {integrity: sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + napi-postinstall@0.3.3: resolution: {integrity: sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -8088,8 +8306,8 @@ packages: resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.16: - resolution: {integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==} + postcss@8.5.26: + resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -8399,6 +8617,11 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true + rolldown@1.2.3: + resolution: {integrity: sha512-rn9wpmxplLf7NLNyCk9FyWh3FM43DbY8jOzCdEPzH7uflhTftRbCEpqi6Ly2osgoU8OwObtmavMbWLaWy4LX7A==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + rollup-plugin-node-externals@8.1.2: resolution: {integrity: sha512-EuB6/lolkMLK16gvibUjikERq5fCRVIGwD2xue/CrM8D0pz5GXD2V6N8IrgxegwbcUoKkUFI8VYCEEv8MMvgpA==} engines: {node: '>= 21 || ^20.6.0 || ^18.19.0'} @@ -8410,13 +8633,13 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.4: - resolution: {integrity: sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==} + rollup@4.61.1: + resolution: {integrity: sha512-I4KW6iuRpuu2uHBLraZ1wNZe0DP7lnRha+VJ9tNaYVaVgKhW0aI3h4RYnoRPeql0flHm/Co55b7snEDcOfOJrA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.61.1: - resolution: {integrity: sha512-I4KW6iuRpuu2uHBLraZ1wNZe0DP7lnRha+VJ9tNaYVaVgKhW0aI3h4RYnoRPeql0flHm/Co55b7snEDcOfOJrA==} + rollup@4.62.4: + resolution: {integrity: sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -9005,6 +9228,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} @@ -9210,13 +9438,13 @@ packages: yaml: optional: true - vite@8.1.3: - resolution: {integrity: sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==} + vite@8.2.1: + resolution: {integrity: sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.3.0 + '@vitejs/devtools': ^0.4.0 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -11955,7 +12183,7 @@ snapshots: jest-util: 30.3.0 slash: 3.0.0 - '@jest/core@30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3))': + '@jest/core@30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3))': dependencies: '@jest/console': 30.3.0 '@jest/pattern': 30.0.1 @@ -11970,7 +12198,7 @@ snapshots: exit-x: 0.2.2 graceful-fs: 4.2.11 jest-changed-files: 30.3.0 - jest-config: 30.3.0(@types/node@22.19.21)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest-config: 30.3.0(@types/node@22.19.21)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) jest-haste-map: 30.3.0 jest-message-util: 30.3.0 jest-regex-util: 30.0.1 @@ -12140,21 +12368,21 @@ snapshots: '@types/yargs': 17.0.35 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: glob: 10.5.0 magic-string: 0.30.21 react-docgen-typescript: 2.4.0(typescript@5.9.3) - vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) optionalDependencies: typescript: 5.9.3 - '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.9.3)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.9.3)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: glob: 10.5.0 magic-string: 0.30.21 react-docgen-typescript: 2.4.0(typescript@5.9.3) - vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) optionalDependencies: typescript: 5.9.3 @@ -12235,6 +12463,9 @@ snapshots: '@types/react': 19.2.17 react: 19.2.7 + '@napi-rs/lzma-linux-x64-gnu@1.5.1': + optional: true + '@napi-rs/wasm-runtime@0.2.12': dependencies: '@emnapi/core': 1.10.0 @@ -12316,6 +12547,8 @@ snapshots: '@oxc-project/types@0.138.0': {} + '@oxc-project/types@0.143.0': {} + '@oxc-transform/binding-android-arm-eabi@0.124.0': optional: true @@ -12812,39 +13045,75 @@ snapshots: '@rolldown/binding-android-arm64@1.1.4': optional: true + '@rolldown/binding-android-arm64@1.2.3': + optional: true + '@rolldown/binding-darwin-arm64@1.1.4': optional: true + '@rolldown/binding-darwin-arm64@1.2.3': + optional: true + '@rolldown/binding-darwin-x64@1.1.4': optional: true + '@rolldown/binding-darwin-x64@1.2.3': + optional: true + '@rolldown/binding-freebsd-x64@1.1.4': optional: true + '@rolldown/binding-freebsd-x64@1.2.3': + optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.1.4': optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.2.3': + optional: true + '@rolldown/binding-linux-arm64-gnu@1.1.4': optional: true + '@rolldown/binding-linux-arm64-gnu@1.2.3': + optional: true + '@rolldown/binding-linux-arm64-musl@1.1.4': optional: true + '@rolldown/binding-linux-arm64-musl@1.2.3': + optional: true + '@rolldown/binding-linux-ppc64-gnu@1.1.4': optional: true + '@rolldown/binding-linux-ppc64-gnu@1.2.3': + optional: true + '@rolldown/binding-linux-s390x-gnu@1.1.4': optional: true + '@rolldown/binding-linux-s390x-gnu@1.2.3': + optional: true + '@rolldown/binding-linux-x64-gnu@1.1.4': optional: true + '@rolldown/binding-linux-x64-gnu@1.2.3': + optional: true + '@rolldown/binding-linux-x64-musl@1.1.4': optional: true + '@rolldown/binding-linux-x64-musl@1.2.3': + optional: true + '@rolldown/binding-openharmony-arm64@1.1.4': optional: true + '@rolldown/binding-openharmony-arm64@1.2.3': + optional: true + '@rolldown/binding-wasm32-wasi@1.1.4': dependencies: '@emnapi/core': 1.11.1 @@ -12855,244 +13124,250 @@ snapshots: '@rolldown/binding-win32-arm64-msvc@1.1.4': optional: true + '@rolldown/binding-win32-arm64-msvc@1.2.3': + optional: true + '@rolldown/binding-win32-x64-msvc@1.1.4': optional: true + '@rolldown/binding-win32-x64-msvc@1.2.3': + optional: true + '@rolldown/pluginutils@1.0.0-rc.3': {} '@rolldown/pluginutils@1.0.1': {} - '@rollup/pluginutils@5.3.0(rollup@4.61.1)': + '@rollup/pluginutils@5.3.0(rollup@4.62.4)': dependencies: '@types/estree': 1.0.9 estree-walker: 2.0.2 picomatch: 4.0.5 optionalDependencies: - rollup: 4.61.1 + rollup: 4.62.4 '@rollup/rollup-android-arm-eabi@4.60.3': optional: true - '@rollup/rollup-android-arm-eabi@4.60.4': + '@rollup/rollup-android-arm-eabi@4.61.1': optional: true - '@rollup/rollup-android-arm-eabi@4.61.1': + '@rollup/rollup-android-arm-eabi@4.62.4': optional: true '@rollup/rollup-android-arm64@4.60.3': optional: true - '@rollup/rollup-android-arm64@4.60.4': + '@rollup/rollup-android-arm64@4.61.1': optional: true - '@rollup/rollup-android-arm64@4.61.1': + '@rollup/rollup-android-arm64@4.62.4': optional: true '@rollup/rollup-darwin-arm64@4.60.3': optional: true - '@rollup/rollup-darwin-arm64@4.60.4': + '@rollup/rollup-darwin-arm64@4.61.1': optional: true - '@rollup/rollup-darwin-arm64@4.61.1': + '@rollup/rollup-darwin-arm64@4.62.4': optional: true '@rollup/rollup-darwin-x64@4.60.3': optional: true - '@rollup/rollup-darwin-x64@4.60.4': + '@rollup/rollup-darwin-x64@4.61.1': optional: true - '@rollup/rollup-darwin-x64@4.61.1': + '@rollup/rollup-darwin-x64@4.62.4': optional: true '@rollup/rollup-freebsd-arm64@4.60.3': optional: true - '@rollup/rollup-freebsd-arm64@4.60.4': + '@rollup/rollup-freebsd-arm64@4.61.1': optional: true - '@rollup/rollup-freebsd-arm64@4.61.1': + '@rollup/rollup-freebsd-arm64@4.62.4': optional: true '@rollup/rollup-freebsd-x64@4.60.3': optional: true - '@rollup/rollup-freebsd-x64@4.60.4': + '@rollup/rollup-freebsd-x64@4.61.1': optional: true - '@rollup/rollup-freebsd-x64@4.61.1': + '@rollup/rollup-freebsd-x64@4.62.4': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.60.3': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.4': + '@rollup/rollup-linux-arm-gnueabihf@4.61.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.61.1': + '@rollup/rollup-linux-arm-gnueabihf@4.62.4': optional: true '@rollup/rollup-linux-arm-musleabihf@4.60.3': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.4': + '@rollup/rollup-linux-arm-musleabihf@4.61.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.61.1': + '@rollup/rollup-linux-arm-musleabihf@4.62.4': optional: true '@rollup/rollup-linux-arm64-gnu@4.60.3': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.4': + '@rollup/rollup-linux-arm64-gnu@4.61.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.61.1': + '@rollup/rollup-linux-arm64-gnu@4.62.4': optional: true '@rollup/rollup-linux-arm64-musl@4.60.3': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.4': + '@rollup/rollup-linux-arm64-musl@4.61.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.61.1': + '@rollup/rollup-linux-arm64-musl@4.62.4': optional: true '@rollup/rollup-linux-loong64-gnu@4.60.3': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.4': + '@rollup/rollup-linux-loong64-gnu@4.61.1': optional: true - '@rollup/rollup-linux-loong64-gnu@4.61.1': + '@rollup/rollup-linux-loong64-gnu@4.62.4': optional: true '@rollup/rollup-linux-loong64-musl@4.60.3': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.4': + '@rollup/rollup-linux-loong64-musl@4.61.1': optional: true - '@rollup/rollup-linux-loong64-musl@4.61.1': + '@rollup/rollup-linux-loong64-musl@4.62.4': optional: true '@rollup/rollup-linux-ppc64-gnu@4.60.3': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.4': + '@rollup/rollup-linux-ppc64-gnu@4.61.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.61.1': + '@rollup/rollup-linux-ppc64-gnu@4.62.4': optional: true '@rollup/rollup-linux-ppc64-musl@4.60.3': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.4': + '@rollup/rollup-linux-ppc64-musl@4.61.1': optional: true - '@rollup/rollup-linux-ppc64-musl@4.61.1': + '@rollup/rollup-linux-ppc64-musl@4.62.4': optional: true '@rollup/rollup-linux-riscv64-gnu@4.60.3': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.4': + '@rollup/rollup-linux-riscv64-gnu@4.61.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.61.1': + '@rollup/rollup-linux-riscv64-gnu@4.62.4': optional: true '@rollup/rollup-linux-riscv64-musl@4.60.3': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.4': + '@rollup/rollup-linux-riscv64-musl@4.61.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.61.1': + '@rollup/rollup-linux-riscv64-musl@4.62.4': optional: true '@rollup/rollup-linux-s390x-gnu@4.60.3': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.4': + '@rollup/rollup-linux-s390x-gnu@4.61.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.61.1': + '@rollup/rollup-linux-s390x-gnu@4.62.4': optional: true '@rollup/rollup-linux-x64-gnu@4.60.3': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.4': + '@rollup/rollup-linux-x64-gnu@4.61.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.61.1': + '@rollup/rollup-linux-x64-gnu@4.62.4': optional: true '@rollup/rollup-linux-x64-musl@4.60.3': optional: true - '@rollup/rollup-linux-x64-musl@4.60.4': + '@rollup/rollup-linux-x64-musl@4.61.1': optional: true - '@rollup/rollup-linux-x64-musl@4.61.1': + '@rollup/rollup-linux-x64-musl@4.62.4': optional: true '@rollup/rollup-openbsd-x64@4.60.3': optional: true - '@rollup/rollup-openbsd-x64@4.60.4': + '@rollup/rollup-openbsd-x64@4.61.1': optional: true - '@rollup/rollup-openbsd-x64@4.61.1': + '@rollup/rollup-openbsd-x64@4.62.4': optional: true '@rollup/rollup-openharmony-arm64@4.60.3': optional: true - '@rollup/rollup-openharmony-arm64@4.60.4': + '@rollup/rollup-openharmony-arm64@4.61.1': optional: true - '@rollup/rollup-openharmony-arm64@4.61.1': + '@rollup/rollup-openharmony-arm64@4.62.4': optional: true '@rollup/rollup-win32-arm64-msvc@4.60.3': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.4': + '@rollup/rollup-win32-arm64-msvc@4.61.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.61.1': + '@rollup/rollup-win32-arm64-msvc@4.62.4': optional: true '@rollup/rollup-win32-ia32-msvc@4.60.3': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.4': + '@rollup/rollup-win32-ia32-msvc@4.61.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.61.1': + '@rollup/rollup-win32-ia32-msvc@4.62.4': optional: true '@rollup/rollup-win32-x64-gnu@4.60.3': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.4': + '@rollup/rollup-win32-x64-gnu@4.61.1': optional: true - '@rollup/rollup-win32-x64-gnu@4.61.1': + '@rollup/rollup-win32-x64-gnu@4.62.4': optional: true '@rollup/rollup-win32-x64-msvc@4.60.3': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.4': + '@rollup/rollup-win32-x64-msvc@4.61.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.61.1': + '@rollup/rollup-win32-x64-msvc@4.62.4': optional: true '@rtsao/scc@1.1.0': {} @@ -13186,41 +13461,41 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@storybook/addon-docs@9.1.20(@types/react@19.2.17)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))': + '@storybook/addon-docs@9.1.20(@types/react@19.2.17)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))': dependencies: '@mdx-js/react': 3.1.1(@types/react@19.2.17)(react@19.2.7) - '@storybook/csf-plugin': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))) + '@storybook/csf-plugin': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))) '@storybook/icons': 1.6.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) - '@storybook/react-dom-shim': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))) + '@storybook/react-dom-shim': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' - '@storybook/builder-vite@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@storybook/builder-vite@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: - '@storybook/csf-plugin': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + '@storybook/csf-plugin': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) ts-dedent: 2.2.0 - vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) - '@storybook/builder-vite@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@storybook/builder-vite@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: - '@storybook/csf-plugin': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@storybook/csf-plugin': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) ts-dedent: 2.2.0 - vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) - '@storybook/csf-plugin@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))': + '@storybook/csf-plugin@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))': dependencies: - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) unplugin: 1.16.1 - '@storybook/csf-plugin@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))': + '@storybook/csf-plugin@9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))': dependencies: - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) unplugin: 1.16.1 '@storybook/global@5.0.0': {} @@ -13230,75 +13505,75 @@ snapshots: react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - '@storybook/react-dom-shim@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))': + '@storybook/react-dom-shim@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))': dependencies: react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) - '@storybook/react-dom-shim@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))': + '@storybook/react-dom-shim@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))': dependencies: react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) - '@storybook/react-vite@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.61.1)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@storybook/react-vite@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.62.4)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) - '@rollup/pluginutils': 5.3.0(rollup@4.61.1) - '@storybook/builder-vite': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) - '@storybook/react': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.9.3)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) + '@rollup/pluginutils': 5.3.0(rollup@4.62.4) + '@storybook/builder-vite': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) + '@storybook/react': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3) find-up: 7.0.0 magic-string: 0.30.21 react: 19.2.7 react-docgen: 8.0.2 react-dom: 19.2.7(react@19.2.7) resolve: 1.22.10 - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) tsconfig-paths: 4.2.0 - vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - rollup - supports-color - typescript - '@storybook/react-vite@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.61.1)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@storybook/react-vite@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rollup@4.62.4)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.9.3)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) - '@rollup/pluginutils': 5.3.0(rollup@4.61.1) - '@storybook/builder-vite': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) - '@storybook/react': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.9.3)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@rollup/pluginutils': 5.3.0(rollup@4.62.4) + '@storybook/builder-vite': 9.1.20(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@storybook/react': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3) find-up: 7.0.0 magic-string: 0.30.21 react: 19.2.7 react-docgen: 8.0.2 react-dom: 19.2.7(react@19.2.7) resolve: 1.22.10 - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) tsconfig-paths: 4.2.0 - vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - rollup - supports-color - typescript - '@storybook/react@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)': + '@storybook/react@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)': dependencies: '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))) + '@storybook/react-dom-shim': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) optionalDependencies: typescript: 5.9.3 - '@storybook/react@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)': + '@storybook/react@9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3)': dependencies: '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))) + '@storybook/react-dom-shim': 9.1.20(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))) react: 19.2.7 react-dom: 19.2.7(react@19.2.7) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) optionalDependencies: typescript: 5.9.3 @@ -13468,12 +13743,12 @@ snapshots: postcss: 8.5.15 tailwindcss: 4.2.4 - '@tailwindcss/vite@4.2.4(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@tailwindcss/vite@4.2.4(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@tailwindcss/node': 4.2.4 '@tailwindcss/oxide': 4.2.4 tailwindcss: 4.2.4 - vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) '@tanstack/react-table@8.21.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)': dependencies: @@ -14027,11 +14302,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@vanilla-extract/compiler@0.7.0(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)': + '@vanilla-extract/compiler@0.7.0(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)': dependencies: '@vanilla-extract/css': 1.20.1 '@vanilla-extract/integration': 8.0.9 - vite: 7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) vite-node: 6.0.0(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' @@ -14050,11 +14325,11 @@ snapshots: - tsx - yaml - '@vanilla-extract/compiler@0.7.0(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)': + '@vanilla-extract/compiler@0.7.0(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)': dependencies: '@vanilla-extract/css': 1.20.1 '@vanilla-extract/integration': 8.0.9 - vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) vite-node: 6.0.0(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' @@ -14095,6 +14370,22 @@ snapshots: dependencies: '@vanilla-extract/private': 1.0.9 + '@vanilla-extract/integration@8.0.10': + dependencies: + '@babel/core': 7.29.0 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.29.0) + '@vanilla-extract/babel-plugin-debug-ids': 1.2.2 + '@vanilla-extract/css': 1.20.1 + dedent: 1.7.0 + esbuild: 0.28.1 + eval: 0.1.8 + find-up: 5.0.0 + javascript-stringify: 2.1.0 + mlly: 1.8.0 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + '@vanilla-extract/integration@8.0.9': dependencies: '@babel/core': 7.28.5 @@ -14117,11 +14408,20 @@ snapshots: dependencies: '@vanilla-extract/css': 1.20.1 - '@vanilla-extract/rollup-plugin@1.5.3(rollup@4.61.1)': + '@vanilla-extract/rollup-plugin@1.5.3(rollup@4.62.4)': dependencies: '@vanilla-extract/integration': 8.0.9 magic-string: 0.30.21 - rollup: 4.61.1 + rollup: 4.62.4 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + '@vanilla-extract/rollup-plugin@1.5.4(rollup@4.62.4)': + dependencies: + '@vanilla-extract/integration': 8.0.10 + magic-string: 0.30.21 + rollup: 4.62.4 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -14130,11 +14430,11 @@ snapshots: dependencies: '@vanilla-extract/css': 1.20.1 - '@vanilla-extract/vite-plugin@5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@vanilla-extract/vite-plugin@5.2.2(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: - '@vanilla-extract/compiler': 0.7.0(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + '@vanilla-extract/compiler': 0.7.0(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) '@vanilla-extract/integration': 8.0.9 - vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -14152,11 +14452,11 @@ snapshots: - tsx - yaml - '@vanilla-extract/vite-plugin@5.2.2(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@vanilla-extract/vite-plugin@5.2.2(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: - '@vanilla-extract/compiler': 0.7.0(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + '@vanilla-extract/compiler': 0.7.0(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) '@vanilla-extract/integration': 8.0.9 - vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -14179,7 +14479,7 @@ snapshots: next: 16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0) react: 19.2.7 - '@vitejs/plugin-react@5.2.0(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@vitejs/plugin-react@5.2.0(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) @@ -14187,20 +14487,20 @@ snapshots: '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - supports-color - '@vitest/browser@3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': + '@vitest/browser@3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': dependencies: '@testing-library/dom': 10.4.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) '@vitest/utils': 3.2.6 magic-string: 0.30.21 sirv: 3.0.2 tinyrainbow: 2.0.0 - vitest: 3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vitest: 3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) ws: 8.20.0 optionalDependencies: playwright: 1.60.0 @@ -14211,16 +14511,16 @@ snapshots: - vite optional: true - '@vitest/browser@3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': + '@vitest/browser@3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': dependencies: '@testing-library/dom': 10.4.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) '@vitest/utils': 3.2.6 magic-string: 0.30.21 sirv: 3.0.2 tinyrainbow: 2.0.0 - vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) ws: 8.20.0 optionalDependencies: playwright: 1.60.0 @@ -14231,16 +14531,16 @@ snapshots: - vite optional: true - '@vitest/browser@3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': + '@vitest/browser@3.2.6(playwright@1.60.0)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6)': dependencies: '@testing-library/dom': 10.4.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) - '@vitest/mocker': 3.2.6(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/mocker': 3.2.6(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@vitest/utils': 3.2.6 magic-string: 0.30.21 sirv: 3.0.2 tinyrainbow: 2.0.0 - vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) ws: 8.20.0 optionalDependencies: playwright: 1.60.0 @@ -14250,7 +14550,7 @@ snapshots: - utf-8-validate - vite - '@vitest/coverage-v8@2.1.9(vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@vitest/coverage-v8@2.1.9(vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -14264,7 +14564,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vitest: 3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - supports-color @@ -14283,9 +14583,9 @@ snapshots: std-env: 3.10.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) optionalDependencies: - '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) + '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) transitivePeerDependencies: - supports-color @@ -14305,45 +14605,45 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@vitest/mocker@3.2.4(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) - '@vitest/mocker@3.2.4(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@vitest/mocker@3.2.4(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) - '@vitest/mocker@3.2.6(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@vitest/mocker@3.2.6(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@vitest/spy': 3.2.6 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) - '@vitest/mocker@3.2.6(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))': + '@vitest/mocker@3.2.6(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@vitest/spy': 3.2.6 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) - '@vitest/mocker@3.2.6(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': + '@vitest/mocker@3.2.6(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0))': dependencies: '@vitest/spy': 3.2.6 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -15597,11 +15897,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-storybook@9.1.20(eslint@9.39.4(jiti@2.6.1))(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3): + eslint-plugin-storybook@9.1.20(eslint@9.39.4(jiti@2.6.1))(storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)))(typescript@5.9.3): dependencies: '@typescript-eslint/utils': 8.59.2(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.4(jiti@2.6.1) - storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + storybook: 9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) transitivePeerDependencies: - supports-color - typescript @@ -15808,6 +16108,10 @@ snapshots: optionalDependencies: picomatch: 4.0.4 + fdir@6.5.0(picomatch@4.0.5): + optionalDependencies: + picomatch: 4.0.5 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -15846,7 +16150,7 @@ snapshots: dependencies: magic-string: 0.30.21 mlly: 1.8.0 - rollup: 4.60.4 + rollup: 4.62.4 flat-cache@4.0.1: dependencies: @@ -15951,7 +16255,7 @@ snapshots: - '@emnapi/core' - '@emnapi/runtime' - fumadocs-mdx@14.3.2(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react@19.2.7)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): + fumadocs-mdx@14.3.2(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.2.17)(fumadocs-core@16.8.11(@mdx-js/mdx@3.1.1)(@oramacloud/client@2.1.4)(@types/estree-jsx@1.0.5)(@types/hast@3.0.4)(@types/mdast@4.0.4)(@types/react@19.2.17)(lucide-react@1.14.0(react@19.2.7))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(zod@4.4.3))(next@16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0))(react@19.2.7)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): dependencies: '@mdx-js/mdx': 3.1.1 '@standard-schema/spec': 1.1.0 @@ -15977,7 +16281,7 @@ snapshots: '@types/react': 19.2.17 next: 16.2.7(@babel/core@7.28.4)(@playwright/test@1.60.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(sass@1.99.0) react: 19.2.7 - vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - supports-color @@ -16586,15 +16890,15 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + jest-cli@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): dependencies: - '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) '@jest/test-result': 30.3.0 '@jest/types': 30.3.0 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest-config: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) jest-util: 30.3.0 jest-validate: 30.3.0 yargs: 17.7.2 @@ -16605,7 +16909,7 @@ snapshots: - supports-color - ts-node - jest-config@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + jest-config@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): dependencies: '@babel/core': 7.29.0 '@jest/get-type': 30.1.0 @@ -16633,12 +16937,12 @@ snapshots: optionalDependencies: '@types/node': 20.19.43 esbuild-register: 3.6.0(esbuild@0.27.7) - ts-node: 10.9.2(@types/node@20.19.43)(typescript@5.9.3) + ts-node: 10.9.2(@types/node@20.19.43)(typescript@6.0.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@30.3.0(@types/node@22.19.21)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + jest-config@30.3.0(@types/node@22.19.21)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): dependencies: '@babel/core': 7.29.0 '@jest/get-type': 30.1.0 @@ -16666,7 +16970,7 @@ snapshots: optionalDependencies: '@types/node': 22.19.21 esbuild-register: 3.6.0(esbuild@0.27.7) - ts-node: 10.9.2(@types/node@20.19.43)(typescript@5.9.3) + ts-node: 10.9.2(@types/node@20.19.43)(typescript@6.0.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -16923,12 +17227,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)): + jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)): dependencies: - '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + '@jest/core': 30.3.0(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) '@jest/types': 30.3.0 import-local: 3.2.0 - jest-cli: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest-cli: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -17054,36 +17358,69 @@ snapshots: lightningcss-android-arm64@1.32.0: optional: true + lightningcss-android-arm64@1.33.0: + optional: true + lightningcss-darwin-arm64@1.32.0: optional: true + lightningcss-darwin-arm64@1.33.0: + optional: true + lightningcss-darwin-x64@1.32.0: optional: true + lightningcss-darwin-x64@1.33.0: + optional: true + lightningcss-freebsd-x64@1.32.0: optional: true + lightningcss-freebsd-x64@1.33.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.32.0: optional: true + lightningcss-linux-arm-gnueabihf@1.33.0: + optional: true + lightningcss-linux-arm64-gnu@1.32.0: optional: true + lightningcss-linux-arm64-gnu@1.33.0: + optional: true + lightningcss-linux-arm64-musl@1.32.0: optional: true + lightningcss-linux-arm64-musl@1.33.0: + optional: true + lightningcss-linux-x64-gnu@1.32.0: optional: true + lightningcss-linux-x64-gnu@1.33.0: + optional: true + lightningcss-linux-x64-musl@1.32.0: optional: true + lightningcss-linux-x64-musl@1.33.0: + optional: true + lightningcss-win32-arm64-msvc@1.32.0: optional: true + lightningcss-win32-arm64-msvc@1.33.0: + optional: true + lightningcss-win32-x64-msvc@1.32.0: optional: true + lightningcss-win32-x64-msvc@1.33.0: + optional: true + lightningcss@1.32.0: dependencies: detect-libc: 2.1.2 @@ -17100,6 +17437,22 @@ snapshots: lightningcss-win32-arm64-msvc: 1.32.0 lightningcss-win32-x64-msvc: 1.32.0 + lightningcss@1.33.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -17737,6 +18090,8 @@ snapshots: nanoid@3.3.12: {} + nanoid@3.3.17: {} + napi-postinstall@0.3.3: {} natural-compare@1.4.0: {} @@ -18063,12 +18418,12 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0): + postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 2.6.1 - postcss: 8.5.16 + postcss: 8.5.26 tsx: 4.21.0 postcss-value-parser@4.2.0: {} @@ -18085,9 +18440,9 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.16: + postcss@8.5.26: dependencies: - nanoid: 3.3.12 + nanoid: 3.3.17 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -18478,9 +18833,29 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.1.4 '@rolldown/binding-win32-x64-msvc': 1.1.4 - rollup-plugin-node-externals@8.1.2(rollup@4.61.1): + rolldown@1.2.3: dependencies: - rollup: 4.61.1 + '@oxc-project/types': 0.143.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.2.3 + '@rolldown/binding-darwin-arm64': 1.2.3 + '@rolldown/binding-darwin-x64': 1.2.3 + '@rolldown/binding-freebsd-x64': 1.2.3 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.3 + '@rolldown/binding-linux-arm64-gnu': 1.2.3 + '@rolldown/binding-linux-arm64-musl': 1.2.3 + '@rolldown/binding-linux-ppc64-gnu': 1.2.3 + '@rolldown/binding-linux-s390x-gnu': 1.2.3 + '@rolldown/binding-linux-x64-gnu': 1.2.3 + '@rolldown/binding-linux-x64-musl': 1.2.3 + '@rolldown/binding-openharmony-arm64': 1.2.3 + '@rolldown/binding-win32-arm64-msvc': 1.2.3 + '@rolldown/binding-win32-x64-msvc': 1.2.3 + + rollup-plugin-node-externals@8.1.2(rollup@4.62.4): + dependencies: + rollup: 4.62.4 rollup@4.60.3: dependencies: @@ -18513,37 +18888,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.3 fsevents: 2.3.3 - rollup@4.60.4: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.4 - '@rollup/rollup-android-arm64': 4.60.4 - '@rollup/rollup-darwin-arm64': 4.60.4 - '@rollup/rollup-darwin-x64': 4.60.4 - '@rollup/rollup-freebsd-arm64': 4.60.4 - '@rollup/rollup-freebsd-x64': 4.60.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.4 - '@rollup/rollup-linux-arm-musleabihf': 4.60.4 - '@rollup/rollup-linux-arm64-gnu': 4.60.4 - '@rollup/rollup-linux-arm64-musl': 4.60.4 - '@rollup/rollup-linux-loong64-gnu': 4.60.4 - '@rollup/rollup-linux-loong64-musl': 4.60.4 - '@rollup/rollup-linux-ppc64-gnu': 4.60.4 - '@rollup/rollup-linux-ppc64-musl': 4.60.4 - '@rollup/rollup-linux-riscv64-gnu': 4.60.4 - '@rollup/rollup-linux-riscv64-musl': 4.60.4 - '@rollup/rollup-linux-s390x-gnu': 4.60.4 - '@rollup/rollup-linux-x64-gnu': 4.60.4 - '@rollup/rollup-linux-x64-musl': 4.60.4 - '@rollup/rollup-openbsd-x64': 4.60.4 - '@rollup/rollup-openharmony-arm64': 4.60.4 - '@rollup/rollup-win32-arm64-msvc': 4.60.4 - '@rollup/rollup-win32-ia32-msvc': 4.60.4 - '@rollup/rollup-win32-x64-gnu': 4.60.4 - '@rollup/rollup-win32-x64-msvc': 4.60.4 - fsevents: 2.3.3 - rollup@4.61.1: dependencies: '@types/estree': 1.0.9 @@ -18575,6 +18919,38 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.61.1 fsevents: 2.3.3 + rollup@4.62.4: + dependencies: + '@types/estree': 1.0.9 + optionalDependencies: + '@napi-rs/lzma-linux-x64-gnu': 1.5.1 + '@rollup/rollup-android-arm-eabi': 4.62.4 + '@rollup/rollup-android-arm64': 4.62.4 + '@rollup/rollup-darwin-arm64': 4.62.4 + '@rollup/rollup-darwin-x64': 4.62.4 + '@rollup/rollup-freebsd-arm64': 4.62.4 + '@rollup/rollup-freebsd-x64': 4.62.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.62.4 + '@rollup/rollup-linux-arm-musleabihf': 4.62.4 + '@rollup/rollup-linux-arm64-gnu': 4.62.4 + '@rollup/rollup-linux-arm64-musl': 4.62.4 + '@rollup/rollup-linux-loong64-gnu': 4.62.4 + '@rollup/rollup-linux-loong64-musl': 4.62.4 + '@rollup/rollup-linux-ppc64-gnu': 4.62.4 + '@rollup/rollup-linux-ppc64-musl': 4.62.4 + '@rollup/rollup-linux-riscv64-gnu': 4.62.4 + '@rollup/rollup-linux-riscv64-musl': 4.62.4 + '@rollup/rollup-linux-s390x-gnu': 4.62.4 + '@rollup/rollup-linux-x64-gnu': 4.62.4 + '@rollup/rollup-linux-x64-musl': 4.62.4 + '@rollup/rollup-openbsd-x64': 4.62.4 + '@rollup/rollup-openharmony-arm64': 4.62.4 + '@rollup/rollup-win32-arm64-msvc': 4.62.4 + '@rollup/rollup-win32-ia32-msvc': 4.62.4 + '@rollup/rollup-win32-x64-gnu': 4.62.4 + '@rollup/rollup-win32-x64-msvc': 4.62.4 + fsevents: 2.3.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -18816,13 +19192,13 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 - storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)): + storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)): dependencies: '@storybook/global': 5.0.0 '@testing-library/jest-dom': 6.9.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/mocker': 3.2.4(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) '@vitest/spy': 3.2.4 better-opn: 3.0.2 esbuild: 0.25.12 @@ -18840,13 +19216,13 @@ snapshots: - utf-8-validate - vite - storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): + storybook@9.1.20(@testing-library/dom@10.4.1)(prettier@3.8.4)(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)): dependencies: '@storybook/global': 5.0.0 '@testing-library/jest-dom': 6.9.1 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/mocker': 3.2.4(vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0)) '@vitest/spy': 3.2.4 better-opn: 3.0.2 esbuild: 0.25.12 @@ -19061,8 +19437,8 @@ snapshots: tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.5.0(picomatch@4.0.5) + picomatch: 4.0.5 tinypool@1.1.1: {} @@ -19116,18 +19492,18 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.7)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)))(typescript@5.9.3): + ts-jest@29.4.11(@babel/core@7.29.0)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.0))(esbuild@0.27.7)(jest-util@30.3.0)(jest@30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)))(typescript@6.0.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.9 - jest: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3)) + jest: 30.3.0(@types/node@20.19.43)(esbuild-register@3.6.0(esbuild@0.27.7))(ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.8.1 type-fest: 4.41.0 - typescript: 5.9.3 + typescript: 6.0.3 yargs-parser: 21.1.1 optionalDependencies: '@babel/core': 7.29.0 @@ -19147,7 +19523,7 @@ snapshots: '@ts-morph/common': 0.29.0 code-block-writer: 13.0.3 - ts-node@10.9.2(@types/node@20.19.43)(typescript@5.9.3): + ts-node@10.9.2(@types/node@20.19.43)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 @@ -19161,7 +19537,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 5.9.3 + typescript: 6.0.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optional: true @@ -19181,7 +19557,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.1(jiti@2.6.1)(postcss@8.5.16)(tsx@4.21.0)(typescript@5.9.3): + tsup@8.5.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0)(typescript@5.9.3): dependencies: bundle-require: 5.1.0(esbuild@0.27.7) cac: 6.7.14 @@ -19192,7 +19568,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.6.1)(postcss@8.5.16)(tsx@4.21.0) + postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0) resolve-from: 5.0.0 rollup: 4.60.3 source-map: 0.7.6 @@ -19201,7 +19577,7 @@ snapshots: tinyglobby: 0.2.16 tree-kill: 1.2.2 optionalDependencies: - postcss: 8.5.16 + postcss: 8.5.26 typescript: 5.9.3 transitivePeerDependencies: - jiti @@ -19209,6 +19585,34 @@ snapshots: - tsx - yaml + tsup@8.5.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0)(typescript@6.0.3): + dependencies: + bundle-require: 5.1.0(esbuild@0.27.7) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.2 + debug: 4.4.3 + esbuild: 0.27.7 + fix-dts-default-cjs-exports: 1.0.1 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.26)(tsx@4.21.0) + resolve-from: 5.0.0 + rollup: 4.60.3 + source-map: 0.7.6 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.16 + tree-kill: 1.2.2 + optionalDependencies: + postcss: 8.5.26 + typescript: 6.0.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + tsx@4.21.0: dependencies: esbuild: 0.27.7 @@ -19290,6 +19694,8 @@ snapshots: typescript@5.9.3: {} + typescript@6.0.3: {} + ufo@1.6.1: {} uglify-js@3.19.3: @@ -19470,13 +19876,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-node@3.2.4(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0): + vite-node@3.2.4(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' - jiti @@ -19491,13 +19897,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0): + vite-node@3.2.4(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0): dependencies: cac: 6.7.14 debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' - jiti @@ -19518,7 +19924,7 @@ snapshots: es-module-lexer: 2.1.0 obug: 2.1.2 pathe: 2.0.3 - vite: 8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -19539,7 +19945,7 @@ snapshots: es-module-lexer: 2.1.0 obug: 2.1.2 pathe: 2.0.3 - vite: 8.1.3(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) + vite: 8.2.1(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -19554,14 +19960,14 @@ snapshots: - tsx - yaml - vite-plugin-singlefile@2.3.3(rollup@4.61.1)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)): + vite-plugin-singlefile@2.3.3(rollup@4.62.4)(vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)): dependencies: micromatch: 4.0.8 - vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) optionalDependencies: - rollup: 4.61.1 + rollup: 4.62.4 - vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0): + vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -19573,11 +19979,11 @@ snapshots: '@types/node': 20.19.43 fsevents: 2.3.3 jiti: 2.6.1 - lightningcss: 1.32.0 + lightningcss: 1.33.0 sass: 1.99.0 tsx: 4.21.0 - vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0): + vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -19589,11 +19995,11 @@ snapshots: '@types/node': 22.19.21 fsevents: 2.3.3 jiti: 2.6.1 - lightningcss: 1.32.0 + lightningcss: 1.33.0 sass: 1.99.0 tsx: 4.21.0 - vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0): + vite@7.3.5(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -19605,16 +20011,16 @@ snapshots: '@types/node': 25.5.0 fsevents: 2.3.3 jiti: 2.6.1 - lightningcss: 1.32.0 + lightningcss: 1.33.0 sass: 1.99.0 tsx: 4.21.0 - vite@8.1.3(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): + vite@8.2.1(@types/node@22.19.21)(esbuild@0.28.1)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): dependencies: - lightningcss: 1.32.0 + lightningcss: 1.33.0 picomatch: 4.0.5 - postcss: 8.5.16 - rolldown: 1.1.4 + postcss: 8.5.26 + rolldown: 1.2.3 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 22.19.21 @@ -19624,12 +20030,12 @@ snapshots: sass: 1.99.0 tsx: 4.21.0 - vite@8.1.3(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): + vite@8.2.1(@types/node@25.5.0)(esbuild@0.25.12)(jiti@2.6.1)(sass@1.99.0)(tsx@4.21.0): dependencies: - lightningcss: 1.32.0 + lightningcss: 1.33.0 picomatch: 4.0.5 - postcss: 8.5.16 - rolldown: 1.1.4 + postcss: 8.5.26 + rolldown: 1.2.3 tinyglobby: 0.2.17 optionalDependencies: '@types/node': 25.5.0 @@ -19645,13 +20051,13 @@ snapshots: axe-core: 4.10.3 chalk: 5.6.2 lodash-es: 4.18.1 - vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vitest: 3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) - vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0): + vitest@3.2.6(@types/debug@4.1.12)(@types/node@20.19.43)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.6 - '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) '@vitest/pretty-format': 3.2.6 '@vitest/runner': 3.2.6 '@vitest/snapshot': 3.2.6 @@ -19669,13 +20075,13 @@ snapshots: tinyglobby: 0.2.17 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) - vite-node: 3.2.4(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) + vite-node: 3.2.4(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 '@types/node': 20.19.43 - '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) + '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@20.19.43)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) happy-dom: 20.9.0 jsdom: 29.0.2(@noble/hashes@1.8.0) transitivePeerDependencies: @@ -19692,11 +20098,11 @@ snapshots: - tsx - yaml - vitest@3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0): + vitest@3.2.6(@types/debug@4.1.12)(@types/node@22.19.21)(@vitest/browser@3.2.6)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@29.0.2(@noble/hashes@1.8.0))(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.6 - '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0)) + '@vitest/mocker': 3.2.6(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0)) '@vitest/pretty-format': 3.2.6 '@vitest/runner': 3.2.6 '@vitest/snapshot': 3.2.6 @@ -19714,13 +20120,13 @@ snapshots: tinyglobby: 0.2.17 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) - vite-node: 3.2.4(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0) + vite: 7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) + vite-node: 3.2.4(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.19.21 - '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) + '@vitest/browser': 3.2.6(playwright@1.60.0)(vite@7.3.5(@types/node@22.19.21)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.99.0)(tsx@4.21.0))(vitest@3.2.6) happy-dom: 20.9.0 jsdom: 29.0.2(@noble/hashes@1.8.0) transitivePeerDependencies: From a716b09c22a7f264130027f87088f9ba44347c75 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 13 Aug 2026 14:13:17 +0900 Subject: [PATCH 21/80] add new `Dialog` composites --- .../src/components/dialog/dialog.stories.tsx | 45 +++++++- .../src/components/dialog/dialog.tsx | 109 ++++++++++++++++-- packages/composites/src/utils/create-slots.ts | 37 ++++++ 3 files changed, 179 insertions(+), 12 deletions(-) create mode 100644 packages/composites/src/utils/create-slots.ts diff --git a/packages/composites/src/components/dialog/dialog.stories.tsx b/packages/composites/src/components/dialog/dialog.stories.tsx index 1b8d2c7be..e4e7910f5 100644 --- a/packages/composites/src/components/dialog/dialog.stories.tsx +++ b/packages/composites/src/components/dialog/dialog.stories.tsx @@ -1,4 +1,5 @@ import type { Meta, StoryObj } from '@storybook/react-vite'; +import { Button, HStack, TextInput, VStack } from '@vapor-ui/core'; import { Dialog } from './dialog'; @@ -11,6 +12,48 @@ type Story = StoryObj; export const Default: Story = { render: () => { - return ; + return ( + hi} + actionButtons={{ + leading: , + trailing: , + assistive: ( + + ), + }} + > + + + ); }, }; + +const InviteForms = () => { + return ( + + + + + + + + + + + ); +}; diff --git a/packages/composites/src/components/dialog/dialog.tsx b/packages/composites/src/components/dialog/dialog.tsx index b56dc397f..713d6642d 100644 --- a/packages/composites/src/components/dialog/dialog.tsx +++ b/packages/composites/src/components/dialog/dialog.tsx @@ -1,19 +1,106 @@ -import { Dialog as DialogPrimitives } from '@vapor-ui/core'; +'use client'; -export const Dialog = () => { +import { Dialog as DialogPrimitives, HStack, IconButton, VStack } from '@vapor-ui/core'; +import { CloseOutlineIcon } from '@vapor-ui/icons'; + +import type { SlotProps } from '~/utils/create-slots'; +import { createSlots } from '~/utils/create-slots'; + +const slots = createSlots({ + title: , + trigger: , + description: , +}); + +type Slots = SlotProps; +type RootProps = Pick; +type PortalProps = Pick; +type PopupProps = Pick; + +export interface DialogProps extends Slots, RootProps, PortalProps, PopupProps { + closeButton?: boolean; + actionButtons?: ActionButtonProps; +} + +export const Dialog = ({ + // functional + open, + defaultOpen, + onOpenChange, + container, + keepMounted, + + // slots + title, + description, + trigger, + closeButton, + actionButtons, + children, +}: DialogProps) => { return ( - - trigger + + - - - title - + + - body + + + + + + - - + {closeButton && } + + + + {children} + + + {actionButtons && } + + ); }; + +/* -----------------------------------------------------------------------------------------------*/ + +const actionButtonsSlots = createSlots({ + assistive: , + leading: , + trailing: , +}); + +type ActionButtonProps = SlotProps; + +const ActionButtons = ({ assistive, leading, trailing }: ActionButtonProps) => { + return ( + + + + + + + + + ); +}; + +/* -----------------------------------------------------------------------------------------------*/ + +const CloseButton = () => { + return ( + }> + + + ); +}; diff --git a/packages/composites/src/utils/create-slots.ts b/packages/composites/src/utils/create-slots.ts new file mode 100644 index 000000000..e4b1137ac --- /dev/null +++ b/packages/composites/src/utils/create-slots.ts @@ -0,0 +1,37 @@ +'use client'; + +import type { ReactElement, ReactNode } from 'react'; +import { Fragment, cloneElement, isValidElement } from 'react'; + +type SlotHost = ReactElement<{ render?: ReactElement; children?: ReactNode }>; +type Props = { render?: ReactNode; [key: string]: unknown }; +type SlotComponent = (props: Props) => ReactElement | null; + +export type SlotProps, Required extends keyof T = never> = { + [K in Required]: ReactNode; +} & { [K in Exclude]?: ReactNode }; + +type SlotMap = { [K in keyof T]: SlotComponent }; + +export function createSlots>(anatomy: T): SlotMap { + const slots = {} as SlotMap; + + for (const key in anatomy) { + const host = anatomy[key]; + + slots[key] = ({ render: payload, ...extra }) => { + if (payload == null || payload === false) return null; + + const isElement = isValidElement(payload) && payload.type !== Fragment; + + return cloneElement(host, { + ...extra, + ...(isElement + ? { render: payload as ReactElement } + : { children: payload as ReactNode }), + }); + }; + } + + return slots; +} From 94844fdb425ea9d1f69eee6add805de73c462294 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Thu, 13 Aug 2026 14:13:54 +0900 Subject: [PATCH 22/80] resolve storybook alias --- apps/storybook/.storybook/main.ts | 40 +++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/apps/storybook/.storybook/main.ts b/apps/storybook/.storybook/main.ts index bfb53e252..c7037193c 100644 --- a/apps/storybook/.storybook/main.ts +++ b/apps/storybook/.storybook/main.ts @@ -6,6 +6,31 @@ import { mergeConfig } from 'vite'; const require = createRequire(import.meta.url); +const CORE_SRC = path.resolve(__dirname, '../../../packages/core/src'); +const COMPOSITES_SRC = path.resolve(__dirname, '../../../packages/composites/src'); + +const PACKAGE_SRC_MAP: { match: string; src: string }[] = [ + { match: `/packages/composites/`, src: COMPOSITES_SRC }, + { match: `/packages/core/`, src: CORE_SRC }, +]; + +const tildeAlias = { + find: /^~\//, + replacement: '', + // eslint-disable-next-line @typescript-eslint/no-explicit-any + async customResolver(this: any, source: string, importer?: string) { + if (!importer) return null; + + const owner = PACKAGE_SRC_MAP.find(({ match }) => importer.includes(match)); + if (!owner) return null; + + const target = path.resolve(owner.src, source); + const resolved = await this.resolve(target, importer, { skipSelf: true }); + + return resolved?.id ?? target; + }, +}; + const config: StorybookConfig = { stories: ['../../../packages/**!(node_modules|dist)/src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], addons: [getAbsolutePath('@storybook/addon-docs')], @@ -30,16 +55,11 @@ const config: StorybookConfig = { ...config, resolve: { ...config.resolve, - alias: { - ...config.resolve?.alias, - // ...convertTsConfigPathsToWebpackAliases(), - '~': path.resolve(__dirname, '../../../packages/core/src'), - '@vapor-ui/core': path.resolve(__dirname, '../../../packages/core/src'), - '@vapor-ui/composites': path.resolve( - __dirname, - '../../../packages/composites/src', - ), - }, + alias: [ + tildeAlias, + { find: '@vapor-ui/core', replacement: CORE_SRC }, + { find: '@vapor-ui/composites', replacement: COMPOSITES_SRC }, + ], }, plugins: [ From a309585be2017e31de9e7486e426044b706e6c97 Mon Sep 17 00:00:00 2001 From: "noah.choi" Date: Fri, 14 Aug 2026 15:59:45 +0900 Subject: [PATCH 23/80] edit dialog style --- .../src/components/dialog/dialog.css | 4 + .../src/components/dialog/dialog.stories.tsx | 270 +++++++++++++++++- .../src/components/dialog/dialog.tsx | 168 +++++++++-- 3 files changed, 402 insertions(+), 40 deletions(-) create mode 100644 packages/composites/src/components/dialog/dialog.css diff --git a/packages/composites/src/components/dialog/dialog.css b/packages/composites/src/components/dialog/dialog.css new file mode 100644 index 000000000..78278f280 --- /dev/null +++ b/packages/composites/src/components/dialog/dialog.css @@ -0,0 +1,4 @@ +.content[data-scrollable] { + mask-image: linear-gradient(to top, transparent 0, black 20px); + mask-repeat: no-repeat; +} diff --git a/packages/composites/src/components/dialog/dialog.stories.tsx b/packages/composites/src/components/dialog/dialog.stories.tsx index e4e7910f5..4c87d35b3 100644 --- a/packages/composites/src/components/dialog/dialog.stories.tsx +++ b/packages/composites/src/components/dialog/dialog.stories.tsx @@ -16,16 +16,16 @@ export const Default: Story = { hi} - actionButtons={{ - leading: , - trailing: , - assistive: ( - - ), - }} + // footer={{ + // actionButton: , + // assistiveButton: ( + // + // ), + // }} > @@ -54,6 +54,258 @@ const InviteForms = () => { + goorm.lee + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); }; diff --git a/packages/composites/src/components/dialog/dialog.tsx b/packages/composites/src/components/dialog/dialog.tsx index 713d6642d..d13d09c92 100644 --- a/packages/composites/src/components/dialog/dialog.tsx +++ b/packages/composites/src/components/dialog/dialog.tsx @@ -1,6 +1,11 @@ 'use client'; -import { Dialog as DialogPrimitives, HStack, IconButton, VStack } from '@vapor-ui/core'; +import './dialog.css'; + +import type { ReactNode } from 'react'; +import { useEffect, useRef, useState } from 'react'; + +import { Dialog as DialogPrimitives, IconButton, VStack } from '@vapor-ui/core'; import { CloseOutlineIcon } from '@vapor-ui/icons'; import type { SlotProps } from '~/utils/create-slots'; @@ -9,17 +14,72 @@ import { createSlots } from '~/utils/create-slots'; const slots = createSlots({ title: , trigger: , - description: , + description: , }); type Slots = SlotProps; -type RootProps = Pick; -type PortalProps = Pick; -type PopupProps = Pick; - -export interface DialogProps extends Slots, RootProps, PortalProps, PopupProps { - closeButton?: boolean; - actionButtons?: ActionButtonProps; +type RootProps = DialogPrimitives.Root.Props; +type PortalProps = DialogPrimitives.PortalPrimitive.Props; + +export interface DialogProps { + /** + * 다이얼로그 열림 상태(제어). 사용자가 결정을 내려야 하는 시점을 외부 상태로 동기화할 때 사용한다. + * 상태의 변경을 추적할 필요가 없다면 defaultOpen을 사용해라. + */ + open?: RootProps['open']; + + /** + * 마운트 시 초기 열림 여부(비제어). + * @default false + */ + defaultOpen?: RootProps['defaultOpen']; + + /** + * 열림 상태 변경 콜백. 트리거·오버레이·ESC 등 모든 닫힘 경로에서 호출된다. + * @example + * setOpen(open)} /> + */ + onOpenChange?: RootProps['onOpenChange']; + + /** + * Portal 대상 컨테이너. SSR·shadow DOM·특정 스택 컨텍스트에서 오버레이 위치 제어가 필요할 때만 지정한다. + * @default document.body + */ + container?: PortalProps['container']; + + /** + * 닫힘 시에도 DOM에 유지할지 여부. 애니메이션/폼 상태 보존이 필요한 경우 true. + * @default false + */ + keepMounted?: PortalProps['keepMounted']; + + /** + * Figma 아나토미: `Header/Title`. 다이얼로그의 목적을 한 문장으로 전달한다. + * @ + */ + title: Slots['title']; + + /** + * Figma 아나토미: `Header/Description`. 결정에 필요한 부가 설명. + */ + description?: Slots['description']; + + /** + * Figma 아나토미: `Trigger`. 다이얼로그를 여는 진입 요소. + * @example + * 열기} /> + */ + trigger?: Slots['trigger']; + + /** + * Figma 아나토미: `Footer/Actions`. - assistiveButton, - actionButton + */ + footer?: FooterProps; + + /** + * Figma 아나토미: `Body`. 폼·리스트·본문 콘텐츠 슬롯. + */ + children?: ReactNode; } export const Dialog = ({ @@ -34,8 +94,7 @@ export const Dialog = ({ title, description, trigger, - closeButton, - actionButtons, + footer, children, }: DialogProps) => { return ( @@ -49,23 +108,24 @@ export const Dialog = ({ - + - {closeButton && } + - - {children} - + {children} - {actionButtons && } + {footer &&