diff --git a/package.json b/package.json index def2e9a1e..5be193899 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,9 @@ "test:components": "pnpm -F tests test", "test:utils": "pnpm -F bits-ui test" }, - "keywords": [], + "keywords": [ + + ], "author": "Hunter Johnston ", "license": "MIT", "devDependencies": { @@ -44,5 +46,10 @@ "node": ">=18" }, "packageManager": "pnpm@9.14.4", - "private": true -} + "private": true, + "pnpm": { + "onlyBuiltDependencies": [ + "esbuild" + ] + } +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 242a9e0d9..d9087e3c6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -281,6 +281,33 @@ importers: specifier: workspace:* version: link:../packages/bits-ui devDependencies: + '@chromatic-com/storybook': + specifier: ^3.2.4 + version: 3.2.4(react@19.0.0)(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@nobie-org/tailwindcss-animate': + specifier: ^1.0.9 + version: 1.0.9(tailwindcss@4.0.7) + '@storybook/addon-essentials': + specifier: ^8.6.0-beta.4 + version: 8.6.0-beta.4(@types/react@19.0.10)(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/addon-interactions': + specifier: ^8.6.0-beta.4 + version: 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/addon-svelte-csf': + specifier: ^5.0.0-next.23 + version: 5.0.0-next.23(@storybook/svelte@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4))(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)))(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)) + '@storybook/blocks': + specifier: ^8.6.0-beta.4 + version: 8.6.0-beta.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/svelte': + specifier: ^8.6.0-beta.4 + version: 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4) + '@storybook/sveltekit': + specifier: ^8.6.0-beta.4 + version: 8.6.0-beta.4(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)))(postcss-load-config@3.1.4(postcss@8.5.3))(postcss@8.5.3)(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)) + '@storybook/test': + specifier: ^8.6.0-beta.4 + version: 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) '@sveltejs/adapter-auto': specifier: ^3.3.1 version: 3.3.1(@sveltejs/kit@2.16.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)))(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0))) @@ -290,6 +317,9 @@ importers: '@sveltejs/vite-plugin-svelte': specifier: ^4.0.0 version: 4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)) + '@tailwindcss/vite': + specifier: ^4.0.0 + version: 4.0.7(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)) '@testing-library/dom': specifier: ^10.4.0 version: 10.4.0 @@ -317,21 +347,33 @@ importers: '@vitest/ui': specifier: ^2.1.8 version: 2.1.8(vitest@2.1.8) + clsx: + specifier: ^2.1.0 + version: 2.1.1 jest-axe: specifier: ^9.0.0 version: 9.0.0 jsdom: specifier: ^24.1.3 version: 24.1.3 + phosphor-svelte: + specifier: ^2.0.1 + version: 2.0.1(svelte@5.19.4) resize-observer-polyfill: specifier: ^1.5.1 version: 1.5.1 + storybook: + specifier: ^8.6.0-beta.4 + version: 8.6.0-beta.4(prettier@3.3.3) svelte: specifier: ^5.19.4 version: 5.19.4 svelte-check: specifier: ^4.1.4 version: 4.1.4(picomatch@4.0.2)(svelte@5.19.4)(typescript@5.6.3) + tailwindcss: + specifier: ^4.0.0 + version: 4.0.7 typescript: specifier: ^5.6.3 version: 5.6.3 @@ -425,6 +467,12 @@ packages: '@changesets/write@0.3.2': resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} + '@chromatic-com/storybook@3.2.4': + resolution: {integrity: sha512-5/bOOYxfwZ2BktXeqcCpOVAoR6UCoeART5t9FVy22hoo8F291zOuX4y3SDgm10B1GVU/ZTtJWPT2X9wZFlxYLg==} + engines: {node: '>=16.0.0', yarn: '>=1.22.18'} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + '@cloudflare/kv-asset-handler@0.3.4': resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} engines: {node: '>=16.13'} @@ -1065,6 +1113,10 @@ packages: resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@1.4.1': + resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.1.0': resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1102,10 +1154,19 @@ packages: resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} engines: {node: '>=18.18.0'} + '@humanwhocodes/config-array@0.9.5': + resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} + '@humanwhocodes/object-schema@1.2.1': + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.1': resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} @@ -1267,6 +1328,12 @@ packages: '@mdx-js/mdx@3.1.0': resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} + '@mdx-js/react@3.1.0': + resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} + peerDependencies: + '@types/react': '>=16' + react: '>=16' + '@melt-ui/pp@0.3.2': resolution: {integrity: sha512-xKkPvaIAFinklLXcQOpwZ8YSpqAFxykjWf8Y/fSJQwsixV/0rcFs07hJ49hJjPy5vItvw5Qa0uOjzFUbXzBypQ==} peerDependencies: @@ -1506,6 +1573,187 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@storybook/addon-actions@8.6.0-beta.4': + resolution: {integrity: sha512-rzG1PjAEA2fdkFCTrLyPnjPQeWFbOSEmUrSsyB70btXTobakT5Xqqz5DNPAvHNP0sN4QA5a2KCnyxEvvnoQ1Qg==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/addon-backgrounds@8.6.0-beta.4': + resolution: {integrity: sha512-a6b+UgD41fhhmJXunS9wNMpKEO4XHHMVYRGQnl6c6xdNlwYYlG3L32JBfrKhjXxCJM8ebUy7ni/1He5ix7lK8A==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/addon-controls@8.6.0-beta.4': + resolution: {integrity: sha512-EiWX+TUd3ck1HmeJjiMuYvow1NezURYt92SYD3eGzhiKoA8gIF6DlM71TcdR7bTNOtsm6TzDYP4xdyUuYiS9yw==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/addon-docs@8.6.0-beta.4': + resolution: {integrity: sha512-GsBJ1nC+fbloFB3bZo2ViE3MIfkiP81wsYzVib2C1V53obIDedpdJTvsVy5w/sof44PtFfgkgG57QJbZQdH6tQ==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/addon-essentials@8.6.0-beta.4': + resolution: {integrity: sha512-pXxhdrDZBkzxKVPFQ1aD3ihc6/sEoePPsbw8pEzVvAZjg2ada2JXXU5Ahn6qNOvXOrE5k5SawEzRPN765UlFfA==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/addon-highlight@8.6.0-beta.4': + resolution: {integrity: sha512-GRk7u/UNIeY9l3QGFdcXRdUITEE1/WNDdgfT6NXvWXRD/wXXih2cJen/CCzEStjBtQ/F3GbnFsh+Kj3OGSmtzw==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/addon-interactions@8.6.0-beta.4': + resolution: {integrity: sha512-ZyyyyP14N11ozjCPf5xH8Q+wlIVF2QW/+mQe+Yc+amMh/mIyvfceVq7eOooXPc8KsCwn3NGdCQtffdXx/pAVsA==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/addon-measure@8.6.0-beta.4': + resolution: {integrity: sha512-g2jVImzTuarT2LrBL8yfDIsKiKb+n5Kz9x0dah2YBa5rgaCJ9OkuDC9do9276kpz2zTCpfnJ7kfFW717Paf3Tg==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/addon-outline@8.6.0-beta.4': + resolution: {integrity: sha512-MhLKcHzxQctufXV6umng0gYHzlHvkxBd3gEUT264SW4WUBRMn45iDuMp2lsvQFfSQ6O1v18oCSSIm8mZg12AcQ==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/addon-svelte-csf@5.0.0-next.23': + resolution: {integrity: sha512-GAdvA1f5wMhfrkP9znwDZzBFEopkELTRz8US+5XqucYHFfATiJIOALB+dW+CsUuknsfPxaA/Yqz9314ZYrT4iQ==} + peerDependencies: + '@storybook/svelte': ^8.0.0 + '@sveltejs/vite-plugin-svelte': ^4.0.0 || ^5.0.0 + svelte: ^5.0.0 + vite: ^5.0.0 || ^6.0.0 + + '@storybook/addon-toolbars@8.6.0-beta.4': + resolution: {integrity: sha512-QYoPBlStXxzocE/XSXaGn4k4xtDDjS3UF2OTbVBgjOeRN0L90XZBK8cEBgWF4LQ6rFGg+r5dOP74scSNzxBE5Q==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/addon-viewport@8.6.0-beta.4': + resolution: {integrity: sha512-pGRbrcTGAJrbGE46VJMglSESwk1rLxkv1QueG9R6mOzYf6Le5xw2yZhCJ4yBIDvxYc81ODLXRjU+CWGvJta2Uw==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/blocks@8.6.0-beta.4': + resolution: {integrity: sha512-xAUBwP/HrahdNxPiKK2vn76pTNh0V+DCV/LNiocrNkY+zS2LlnRRsaMh8U7FKwvV8y8kjb665WvFi3accS+nsg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + storybook: ^8.6.0-beta.4 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + + '@storybook/builder-vite@8.6.0-beta.4': + resolution: {integrity: sha512-XdzIUy+y5FyZYOFpfzjxCEio3WrSJgyL9E4U3MO++MOa69wBdgK0weAsw0I7qDsggfZDo2cveBDCdLMswAruQw==} + peerDependencies: + storybook: ^8.6.0-beta.4 + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + + '@storybook/components@8.6.0-beta.4': + resolution: {integrity: sha512-TaLU9cGMBZbO735K4y0flmcWGny8CfCyiiXnkD1F5XIOqB5/ajn5oMR+vnvgDE24KtZd/sowVG10KiBbsQZtTA==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/core@8.6.0-beta.4': + resolution: {integrity: sha512-UUVmsyR/HjUSRNQCAVFiPuJoMjiG3uhyPUG8jp48IjhN2KyVOkeUsrwhL5pXA2Y5JRjcB8OeILXkU+awUCVpMA==} + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + + '@storybook/csf-plugin@8.6.0-beta.4': + resolution: {integrity: sha512-KseTg6U2s299t8ixbZksyZ8l8OLmUEFGFNk3SyrbDO2NFVo/kz1Zo4QtLXbyTFLbR6TUkgW0fT6b8d9GvQ4tWw==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/csf@0.1.12': + resolution: {integrity: sha512-9/exVhabisyIVL0VxTCxo01Tdm8wefIXKXfltAPTSr8cbLn5JAxGQ6QV3mjdecLGEOucfoVhAKtJfVHxEK1iqw==} + + '@storybook/csf@0.1.13': + resolution: {integrity: sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==} + + '@storybook/docs-tools@8.5.8': + resolution: {integrity: sha512-XU5z0euaRt2XXC1fX3t+EKbWNjsWauEfYIUl/ksjkYYEwHXTAdE5Z0dMaGZk6/eLshR6+gC6pMbJVQUjgJlQ4Q==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/global@5.0.0': + resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} + + '@storybook/icons@1.3.2': + resolution: {integrity: sha512-t3xcbCKkPvqyef8urBM0j/nP6sKtnlRkVgC+8JTbTAZQjaTmOjes3byEgzs89p4B/K6cJsg9wLW2k3SknLtYJw==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + + '@storybook/instrumenter@8.6.0-beta.4': + resolution: {integrity: sha512-doaQbqag6vvSVN9RqB2xA7z25JAeYHhLIHFkdHstZ6btb9Mrkql/ZaQ+nA1eACXWKdNjhhxRtN64zkR/SRVaPQ==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/manager-api@8.6.0-beta.4': + resolution: {integrity: sha512-fpd7IIIHq7xZIHDojuEGmGnwMWcUvYZ5ZScpgW25FcNh3Xlj2ZlUzo+nblkM62Oquh04yJC3E2bsRxhkZ8kVRw==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/preview-api@8.6.0-beta.4': + resolution: {integrity: sha512-YXuSup+o3r60tB72IMsP8ftPxMfyyStpe9m2gIpzL38rwDa2oCchtPT8OKd5AszyuWBKq52JD4e2el3rNb4irw==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/react-dom-shim@8.6.0-beta.4': + resolution: {integrity: sha512-5Ry+0T3R17heaUzXMQQvpMLW8cDiZYOY2PxSRoTjY+cfYJfSJRgNT8b7fd83Y0Afs18oaHjtTOid1akD40oxMw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.6.0-beta.4 + + '@storybook/svelte-vite@8.6.0-beta.4': + resolution: {integrity: sha512-iU7eWNGSberoEwQKYilk6cQYf5IQr2BK8ifgKVRFNbvr2qMF27WYwq8i/TrjATcDs+ji5hSVG7pSi16c9IjwFw==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + storybook: ^8.6.0-beta.4 + svelte: ^4.0.0 || ^5.0.0 + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + + '@storybook/svelte@8.6.0-beta.4': + resolution: {integrity: sha512-MtPM7YNR/rxG5e5Cf4UPiWQwkjWoGoekNcyedgT507Uh1TYExzQ+AUvhEFW+uHViIm8XXfUf3JIjgvtpG/tfRg==} + engines: {node: '>=18.0.0'} + peerDependencies: + storybook: ^8.6.0-beta.4 + svelte: ^4.0.0 || ^5.0.0 + + '@storybook/sveltekit@8.6.0-beta.4': + resolution: {integrity: sha512-upl3kD2drpSkC9sv5RiS5SFAfZRWYVlpwoIz4LZGu3qFIxAR3TdpgqhLpj8qYH7Jp/X7Rhr2b1+LpyvrIFJETQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + storybook: ^8.6.0-beta.4 + svelte: ^4.0.0 || ^5.0.0 + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + + '@storybook/test@8.6.0-beta.4': + resolution: {integrity: sha512-4fbjpQ2ciFCZHOXyXrXt3clg6DU1amLAe9mT9IuV1TwOHxi6u/HPhv6MkRxNvA2QPafBQkxk08S5E/140Rn+mA==} + peerDependencies: + storybook: ^8.6.0-beta.4 + + '@storybook/theming@8.6.0-beta.4': + resolution: {integrity: sha512-CemhnKoB7yi5n6pDZefDB/6XGTn9QbOVALgcZWfOmTX2RCnw24+cl9HmTfE1ot1wMJEjYUWCYuMbaTHqpziXNw==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + + '@storybook/types@8.5.8': + resolution: {integrity: sha512-XAXi5w+mG8v8m8FFNPE0uDJb5ms39oU+HDOb6hYOYVOt4ezQkKI3g45T9qlqKfdR9rK22zB9JGUYpDir+O7zeA==} + peerDependencies: + storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 + '@sveltejs/adapter-auto@3.3.1': resolution: {integrity: sha512-5Sc7WAxYdL6q9j/+D0jJKjGREGlfIevDyHSQ2eNETHcB1TKlQWHcAo8AS8H1QdjNvSXpvOwNjykDUHPEAyGgdQ==} peerDependencies: @@ -1657,6 +1905,10 @@ packages: resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} + '@testing-library/jest-dom@6.5.0': + resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + '@testing-library/jest-dom@6.6.3': resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} @@ -1737,6 +1989,12 @@ packages: '@types/node@20.17.6': resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==} + '@types/pug@2.0.10': + resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} + + '@types/react@19.0.10': + resolution: {integrity: sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==} + '@types/resize-observer-browser@0.1.11': resolution: {integrity: sha512-cNw5iH8JkMkb3QkCoe7DaZiawbDQEUX8t7iuQaRTyLOyQCR2h+ibBD4GJt7p5yhUHrlOeL7ZtbxNHeipqNsBzQ==} @@ -1752,6 +2010,9 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/uuid@9.0.8': + resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} + '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -1808,6 +2069,9 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@vitest/expect@2.0.5': + resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + '@vitest/expect@2.1.8': resolution: {integrity: sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==} @@ -1836,6 +2100,9 @@ packages: vite: optional: true + '@vitest/pretty-format@2.0.5': + resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} + '@vitest/pretty-format@2.1.8': resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} @@ -1854,6 +2121,9 @@ packages: '@vitest/snapshot@3.0.6': resolution: {integrity: sha512-qKSmxNQwT60kNwwJHMVwavvZsMGXWmngD023OHSgn873pV0lylK7dwBTfYP7e4URy5NiBCHHiQGA9DHkYkqRqg==} + '@vitest/spy@2.0.5': + resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} + '@vitest/spy@2.1.8': resolution: {integrity: sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==} @@ -1865,6 +2135,9 @@ packages: peerDependencies: vitest: 2.1.8 + '@vitest/utils@2.0.5': + resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} + '@vitest/utils@2.1.8': resolution: {integrity: sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==} @@ -1905,6 +2178,10 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -1941,6 +2218,10 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + ast-types@0.16.1: + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} + astring@1.8.6: resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} hasBin: true @@ -1955,6 +2236,10 @@ packages: peerDependencies: postcss: ^8.1.0 + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + axe-core@3.5.6: resolution: {integrity: sha512-LEUDjgmdJoA3LqklSTwKYqkjcZ4HKc4ddIYGSAiSkr46NTjzg2L9RNB+lekO9P7Dlpa87+hBtzc2Fzn/+GUWMQ==} engines: {node: '>=4'} @@ -1973,6 +2258,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + better-opn@3.0.2: + resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} + engines: {node: '>=12.0.0'} + better-path-resolve@1.0.0: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} @@ -1990,11 +2279,18 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + browser-assert@1.2.1: + resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} + browserslist@4.24.2: resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -2002,6 +2298,18 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -2058,6 +2366,18 @@ packages: resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} engines: {node: '>= 14.16.0'} + chromatic@11.25.2: + resolution: {integrity: sha512-/9eQWn6BU1iFsop86t8Au21IksTRxwXAl7if8YHD05L2AbuMjClLWZo5cZojqrJHGKDhTqfrC2X2xE4uSm0iKw==} + hasBin: true + peerDependencies: + '@chromatic-com/cypress': ^0.*.* || ^1.0.0 + '@chromatic-com/playwright': ^0.*.* || ^1.0.0 + peerDependenciesMeta: + '@chromatic-com/cypress': + optional: true + '@chromatic-com/playwright': + optional: true + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -2185,6 +2505,14 @@ packages: dedent-js@1.0.1: resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -2196,6 +2524,14 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} @@ -2234,16 +2570,41 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} dom-accessibility-api@0.6.3: resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@3.3.0: + resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} + engines: {node: '>= 4'} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + electron-to-chromium@1.5.58: resolution: {integrity: sha512-al2l4r+24ZFL7WzyPTlyD0fC33LLzvxqLCwurtBibVPghRGO9hSTl+tis8t1kD7biPiH/en4U0I7o/nQbYeoVA==} @@ -2258,6 +2619,9 @@ packages: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} @@ -2265,18 +2629,41 @@ packages: eruda@3.4.1: resolution: {integrity: sha512-RmaO5yD97URY/9Q0lye3cmmNPoXNKreeePIw7c/zllbscR92CjGFZFuQ70+0fLIvLcKW3Xha8DS8NFhmeNbEBQ==} + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-toolkit@1.32.0: + resolution: {integrity: sha512-ZfSfHP1l6ubgW/B/FRtqb9bYdMvI6jizbOSfbwwJNcOQ1QE6TFsC3jpQkZ900uUPSR3t3SU5Ds7UWKnYz+uP8Q==} + + es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} esast-util-from-js@2.0.1: resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} + esbuild-register@3.6.0: + resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} + peerDependencies: + esbuild: '>=0.12 <1' + esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} @@ -2347,6 +2734,16 @@ packages: resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-utils@3.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2355,6 +2752,12 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint@8.4.1: + resolution: {integrity: sha512-TxU/p7LB1KxQ6+7aztTnO7K0i+h0tDi81YRY9VzB6Id71kNz+fFYnf5HD5UOQmxkzcoa0TlVZf9dpMtUv0GpWg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + eslint@9.14.0: resolution: {integrity: sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2378,6 +2781,10 @@ packages: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@9.2.0: + resolution: {integrity: sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2391,6 +2798,9 @@ packages: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} + esrap@1.2.2: + resolution: {integrity: sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==} + esrap@1.4.3: resolution: {integrity: sha512-Xddc1RsoFJ4z9nR7W7BFaEPIp4UXoeQ0+077UdWLxbafMQFyU79sQJMk7kxNgRwQ9/aVgaKacCHC2pUACGwmYw==} @@ -2479,10 +2889,18 @@ packages: fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} + filesize@10.1.6: + resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==} + engines: {node: '>= 10.4.0'} + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -2495,6 +2913,10 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -2508,6 +2930,10 @@ packages: focus-trap@7.5.4: resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -2534,10 +2960,21 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-intrinsic@1.2.7: + resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + get-source@2.0.12: resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} @@ -2555,11 +2992,19 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} deprecated: Glob versions prior to v9 are no longer supported + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -2572,6 +3017,10 @@ packages: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -2586,6 +3035,17 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -2627,6 +3087,9 @@ packages: html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + htmlparser2-svelte@4.1.0: + resolution: {integrity: sha512-+4f4RBFz7Rj2Hp0ZbFbXC+Kzbd6S9PgjiuFtdT76VMNgKogrEZy0pG2UrPycPbrZzVEIM5lAT3lAdkSTCHLPjg==} + http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} @@ -2650,6 +3113,10 @@ packages: resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + ignore@4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} @@ -2688,9 +3155,17 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + is-core-module@2.14.0: resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} engines: {node: '>= 0.4'} @@ -2698,6 +3173,11 @@ packages: is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2706,6 +3186,10 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + engines: {node: '>= 0.4'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -2727,14 +3211,26 @@ packages: is-reference@3.0.3: resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + is-subdir@1.2.0: resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} engines: {node: '>=4'} + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + is-windows@1.0.2: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -2784,6 +3280,10 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsdoc-type-pratt-parser@4.1.0: + resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} + engines: {node: '>=12.0.0'} + jsdom@24.1.3: resolution: {integrity: sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==} engines: {node: '>=18'} @@ -2805,6 +3305,9 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -2941,6 +3444,9 @@ packages: magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + map-or-similar@1.5.0: + resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==} + markdown-extensions@2.0.0: resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} engines: {node: '>=16'} @@ -2953,6 +3459,10 @@ packages: engines: {node: '>= 18'} hasBin: true + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} @@ -3006,6 +3516,9 @@ packages: peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.1 + memoizerific@1.11.3: + resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -3156,6 +3669,13 @@ packages: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + mode-watcher@0.4.1: resolution: {integrity: sha512-bNC+1NXmwEFZtziCdZSgP7HFQTpqJPcQn9GwwJQGSf6SBF3neEPYV1uRwkYuAQwbsvsXIYtzaqgedDzJ7D1mhg==} peerDependencies: @@ -3242,6 +3762,10 @@ packages: oniguruma-to-js@0.4.3: resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -3304,6 +3828,10 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -3348,6 +3876,14 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} + polished@4.3.1: + resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} + engines: {node: '>=10'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + postcss-load-config@3.1.4: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} @@ -3477,6 +4013,14 @@ packages: printable-characters@1.0.42: resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + property-information@6.5.0: resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} @@ -3501,12 +4045,27 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + react-confetti@6.2.2: + resolution: {integrity: sha512-K+kTyOPgX+ZujMZ+Rmb7pZdHBvg+DzinG/w4Eh52WOB8/pfO38efnnrtEZNJmjTvLxc16RBYO+tPM68Fg8viBA==} + engines: {node: '>=16'} + peerDependencies: + react: ^16.3.0 || ^17.0.1 || ^18.0.0 || ^19.0.0 + + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} + peerDependencies: + react: ^19.0.0 + react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + engines: {node: '>=0.10.0'} + read-yaml-file@1.1.0: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} @@ -3515,6 +4074,10 @@ packages: resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==} engines: {node: '>= 14.16.0'} + recast@0.23.9: + resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} + engines: {node: '>= 4'} + recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -3541,6 +4104,10 @@ packages: resolution: {integrity: sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==} engines: {node: '>=8'} + regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + rehype-parse@9.0.0: resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} @@ -3607,6 +4174,16 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + rollup-plugin-inject@3.0.2: resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. @@ -3648,13 +4225,23 @@ packages: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sander@0.5.1: + resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} + saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + selfsigned@2.4.1: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} @@ -3672,6 +4259,10 @@ packages: set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + sharp@0.33.5: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -3715,6 +4306,10 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + sorcery@0.11.1: + resolution: {integrity: sha512-o7npfeJE6wi6J9l0/5LKshFzZ2rMatRiCDwYeDQaOzqdzRJwALhX7mk/A/ecg6wjMu7wdZbmXfD2S/vpOg0bdQ==} + hasBin: true + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -3763,6 +4358,15 @@ packages: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} + storybook@8.6.0-beta.4: + resolution: {integrity: sha512-xOvjw7dg9ymNPwn/EqK0f9w1bauGy2MhQr0q6sy0WfK5x+4Vk78LQTbv26bkoeCYG3PcSxlEOgjpa45D9nRozg==} + hasBin: true + peerDependencies: + prettier: ^2 || ^3 + peerDependenciesMeta: + prettier: + optional: true + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -3774,6 +4378,10 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -3808,9 +4416,15 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte-check@4.1.4: - resolution: {integrity: sha512-v0j7yLbT29MezzaQJPEDwksybTE2Ups9rUxEXy92T06TiA0cbqcO8wAOwNUVkFW6B0hsYHA+oAX3BS8b/2oHtw==} - engines: {node: '>= 18.0.0'} + svelte-ast-print@0.4.2: + resolution: {integrity: sha512-hRHHufbJoArFmDYQKCpCvc0xUuIEfwYksvyLYEQyH+1xb5LD5sM/IthfooCdXZQtOIqXz6xm7NmaqdfwG4kh6w==} + engines: {node: '>=18'} + peerDependencies: + svelte: ^5.0.0 + + svelte-check@4.1.4: + resolution: {integrity: sha512-v0j7yLbT29MezzaQJPEDwksybTE2Ups9rUxEXy92T06TiA0cbqcO8wAOwNUVkFW6B0hsYHA+oAX3BS8b/2oHtw==} + engines: {node: '>= 18.0.0'} hasBin: true peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 @@ -3825,6 +4439,43 @@ packages: svelte: optional: true + svelte-preprocess@5.1.4: + resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==} + engines: {node: '>= 16.0.0'} + peerDependencies: + '@babel/core': ^7.10.2 + coffeescript: ^2.5.1 + less: ^3.11.3 || ^4.0.0 + postcss: ^7 || ^8 + postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 + pug: ^3.0.0 + sass: ^1.26.8 + stylus: ^0.55.0 + sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 + svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 + typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' + peerDependenciesMeta: + '@babel/core': + optional: true + coffeescript: + optional: true + less: + optional: true + postcss: + optional: true + postcss-load-config: + optional: true + pug: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + typescript: + optional: true + svelte-sonner@0.3.28: resolution: {integrity: sha512-K3AmlySeFifF/cKgsYNv5uXqMVNln0NBAacOYgmkQStLa/UoU0LhfAACU6Gr+YYC8bOCHdVmFNoKuDbMEsppJg==} peerDependencies: @@ -3846,6 +4497,10 @@ packages: resolution: {integrity: sha512-pzWvFQdvfEfT4Ll/JriAtcG7qmWjcL+x/NSl9Q+FPje5SXukYNp9kcufZ27ydauLLE/dwYMz9XRC8kiwTZmfDA==} engines: {node: '>=18'} + sveltedoc-parser@4.2.1: + resolution: {integrity: sha512-sWJRa4qOfRdSORSVw9GhfDEwsbsYsegnDzBevUCF6k/Eis/QqCu9lJ6I0+d/E2wOWCjOhlcJ3+jl/Iur+5mmCw==} + engines: {node: '>=10.0.0'} + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -3888,6 +4543,9 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -3956,13 +4614,28 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tween-functions@1.2.0: + resolution: {integrity: sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + typescript-eslint@8.19.0: resolution: {integrity: sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4020,6 +4693,14 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unplugin@1.16.1: + resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} + engines: {node: '>=14.0.0'} + update-browserslist-db@1.1.1: resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true @@ -4035,6 +4716,16 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + v8-compile-cache@2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + velite@0.2.1: resolution: {integrity: sha512-yhugij87X4v63c7Y4pODvDLrLc0HFU7v8BfNzPeqEnJRKxGbV6+EESNcOQehHt91crGfJVepfCvoH52Si2+zTQ==} engines: {node: ^18.17.0 || >=20.3.0} @@ -4205,6 +4896,9 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} @@ -4220,6 +4914,10 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + which-typed-array@1.1.18: + resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==} + engines: {node: '>= 0.4'} + which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -4502,6 +5200,19 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 + '@chromatic-com/storybook@3.2.4(react@19.0.0)(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + chromatic: 11.25.2 + filesize: 10.1.6 + jsonfile: 6.1.0 + react-confetti: 6.2.2(react@19.0.0) + storybook: 8.6.0-beta.4(prettier@3.3.3) + strip-ansi: 7.1.0 + transitivePeerDependencies: + - '@chromatic-com/cypress' + - '@chromatic-com/playwright' + - react + '@cloudflare/kv-asset-handler@0.3.4': dependencies: mime: 3.0.0 @@ -4846,6 +5557,20 @@ snapshots: '@eslint/core@0.7.0': {} + '@eslint/eslintrc@1.4.1': + dependencies: + ajv: 6.12.6 + debug: 4.4.0 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 @@ -4888,8 +5613,18 @@ snapshots: '@humanfs/core': 0.19.1 '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/config-array@0.9.5': + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.4.0 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + '@humanwhocodes/module-importer@1.0.1': {} + '@humanwhocodes/object-schema@1.2.1': {} + '@humanwhocodes/retry@0.3.1': {} '@humanwhocodes/retry@0.4.1': {} @@ -5063,6 +5798,12 @@ snapshots: - acorn - supports-color + '@mdx-js/react@3.1.0(@types/react@19.0.10)(react@19.0.0)': + dependencies: + '@types/mdx': 2.0.13 + '@types/react': 19.0.10 + react: 19.0.0 + '@melt-ui/pp@0.3.2(@melt-ui/svelte@0.76.2(svelte@5.19.4))(svelte@5.19.4)': dependencies: '@melt-ui/svelte': 0.76.2(svelte@5.19.4) @@ -5242,6 +5983,281 @@ snapshots: '@sinclair/typebox@0.27.8': {} + '@storybook/addon-actions@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/global': 5.0.0 + '@types/uuid': 9.0.8 + dequal: 2.0.3 + polished: 4.3.1 + storybook: 8.6.0-beta.4(prettier@3.3.3) + uuid: 9.0.1 + + '@storybook/addon-backgrounds@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/global': 5.0.0 + memoizerific: 1.11.3 + storybook: 8.6.0-beta.4(prettier@3.3.3) + ts-dedent: 2.2.0 + + '@storybook/addon-controls@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/global': 5.0.0 + dequal: 2.0.3 + storybook: 8.6.0-beta.4(prettier@3.3.3) + ts-dedent: 2.2.0 + + '@storybook/addon-docs@8.6.0-beta.4(@types/react@19.0.10)(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@mdx-js/react': 3.1.0(@types/react@19.0.10)(react@19.0.0) + '@storybook/blocks': 8.6.0-beta.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/csf-plugin': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/react-dom-shim': 8.6.0-beta.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0-beta.4(prettier@3.3.3)) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + storybook: 8.6.0-beta.4(prettier@3.3.3) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@types/react' + + '@storybook/addon-essentials@8.6.0-beta.4(@types/react@19.0.10)(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/addon-actions': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/addon-backgrounds': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/addon-controls': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/addon-docs': 8.6.0-beta.4(@types/react@19.0.10)(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/addon-highlight': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/addon-measure': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/addon-outline': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/addon-toolbars': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/addon-viewport': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + storybook: 8.6.0-beta.4(prettier@3.3.3) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@types/react' + + '@storybook/addon-highlight@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/addon-interactions@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/global': 5.0.0 + '@storybook/instrumenter': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/test': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + polished: 4.3.1 + storybook: 8.6.0-beta.4(prettier@3.3.3) + ts-dedent: 2.2.0 + + '@storybook/addon-measure@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.6.0-beta.4(prettier@3.3.3) + tiny-invariant: 1.3.3 + + '@storybook/addon-outline@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/global': 5.0.0 + storybook: 8.6.0-beta.4(prettier@3.3.3) + ts-dedent: 2.2.0 + + '@storybook/addon-svelte-csf@5.0.0-next.23(@storybook/svelte@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4))(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)))(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0))': + dependencies: + '@storybook/csf': 0.1.13 + '@storybook/docs-tools': 8.5.8(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/svelte': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4) + '@storybook/types': 8.5.8(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)) + dedent: 1.5.3 + es-toolkit: 1.32.0 + esrap: 1.4.3 + magic-string: 0.30.17 + svelte: 5.19.4 + svelte-ast-print: 0.4.2(svelte@5.19.4) + vite: 5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0) + zimmerframe: 1.1.2 + transitivePeerDependencies: + - babel-plugin-macros + - storybook + + '@storybook/addon-toolbars@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/addon-viewport@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + memoizerific: 1.11.3 + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/blocks@8.6.0-beta.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/icons': 1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + storybook: 8.6.0-beta.4(prettier@3.3.3) + ts-dedent: 2.2.0 + optionalDependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@storybook/builder-vite@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0))': + dependencies: + '@storybook/csf-plugin': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + browser-assert: 1.2.1 + storybook: 8.6.0-beta.4(prettier@3.3.3) + ts-dedent: 2.2.0 + vite: 5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0) + + '@storybook/components@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/core@8.6.0-beta.4(prettier@3.3.3)(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/theming': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + better-opn: 3.0.2 + browser-assert: 1.2.1 + esbuild: 0.24.2 + esbuild-register: 3.6.0(esbuild@0.24.2) + jsdoc-type-pratt-parser: 4.1.0 + process: 0.11.10 + recast: 0.23.9 + semver: 7.6.3 + util: 0.12.5 + ws: 8.18.0 + optionalDependencies: + prettier: 3.3.3 + transitivePeerDependencies: + - bufferutil + - storybook + - supports-color + - utf-8-validate + + '@storybook/csf-plugin@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + storybook: 8.6.0-beta.4(prettier@3.3.3) + unplugin: 1.16.1 + + '@storybook/csf@0.1.12': + dependencies: + type-fest: 2.19.0 + + '@storybook/csf@0.1.13': + dependencies: + type-fest: 2.19.0 + + '@storybook/docs-tools@8.5.8(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/global@5.0.0': {} + + '@storybook/icons@1.3.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + + '@storybook/instrumenter@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/global': 5.0.0 + '@vitest/utils': 2.1.8 + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/manager-api@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/preview-api@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/react-dom-shim@8.6.0-beta.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/svelte-vite@8.6.0-beta.4(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)))(postcss-load-config@3.1.4(postcss@8.5.3))(postcss@8.5.3)(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0))': + dependencies: + '@storybook/builder-vite': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)) + '@storybook/svelte': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4) + '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)) + magic-string: 0.30.17 + storybook: 8.6.0-beta.4(prettier@3.3.3) + svelte: 5.19.4 + svelte-preprocess: 5.1.4(postcss-load-config@3.1.4(postcss@8.5.3))(postcss@8.5.3)(svelte@5.19.4)(typescript@5.6.3) + svelte2tsx: 0.7.34(svelte@5.19.4)(typescript@5.6.3) + sveltedoc-parser: 4.2.1 + ts-dedent: 2.2.0 + typescript: 5.6.3 + vite: 5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0) + transitivePeerDependencies: + - '@babel/core' + - coffeescript + - less + - postcss + - postcss-load-config + - pug + - sass + - stylus + - sugarss + - supports-color + + '@storybook/svelte@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4)': + dependencies: + '@storybook/components': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/csf': 0.1.12 + '@storybook/global': 5.0.0 + '@storybook/manager-api': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/preview-api': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/theming': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + storybook: 8.6.0-beta.4(prettier@3.3.3) + svelte: 5.19.4 + sveltedoc-parser: 4.2.1 + ts-dedent: 2.2.0 + type-fest: 2.19.0 + transitivePeerDependencies: + - supports-color + + '@storybook/sveltekit@8.6.0-beta.4(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)))(postcss-load-config@3.1.4(postcss@8.5.3))(postcss@8.5.3)(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0))': + dependencies: + '@storybook/addon-actions': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@storybook/builder-vite': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)) + '@storybook/svelte': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4) + '@storybook/svelte-vite': 8.6.0-beta.4(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)))(postcss-load-config@3.1.4(postcss@8.5.3))(postcss@8.5.3)(storybook@8.6.0-beta.4(prettier@3.3.3))(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)) + storybook: 8.6.0-beta.4(prettier@3.3.3) + svelte: 5.19.4 + vite: 5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0) + transitivePeerDependencies: + - '@babel/core' + - '@sveltejs/vite-plugin-svelte' + - coffeescript + - less + - postcss + - postcss-load-config + - pug + - sass + - stylus + - sugarss + - supports-color + + '@storybook/test@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + '@storybook/global': 5.0.0 + '@storybook/instrumenter': 8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3)) + '@testing-library/dom': 10.4.0 + '@testing-library/jest-dom': 6.5.0 + '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) + '@vitest/expect': 2.0.5 + '@vitest/spy': 2.0.5 + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/theming@8.6.0-beta.4(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + storybook: 8.6.0-beta.4(prettier@3.3.3) + + '@storybook/types@8.5.8(storybook@8.6.0-beta.4(prettier@3.3.3))': + dependencies: + storybook: 8.6.0-beta.4(prettier@3.3.3) + '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.16.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)))(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)))': dependencies: '@sveltejs/kit': 2.16.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)))(svelte@5.19.4)(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0)) @@ -5416,6 +6432,14 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.0.7 + '@tailwindcss/vite@4.0.7(vite@5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0))': + dependencies: + '@tailwindcss/node': 4.0.7 + '@tailwindcss/oxide': 4.0.7 + lightningcss: 1.29.1 + tailwindcss: 4.0.7 + vite: 5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0) + '@tailwindcss/vite@4.0.7(vite@6.1.1(@types/node@20.17.6)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.36.0)(yaml@2.4.5))': dependencies: '@tailwindcss/node': 4.0.7 @@ -5435,6 +6459,16 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 + '@testing-library/jest-dom@6.5.0': + dependencies: + '@adobe/css-tools': 4.4.0 + aria-query: 5.3.1 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash: 4.17.21 + redent: 3.0.0 + '@testing-library/jest-dom@6.6.3': dependencies: '@adobe/css-tools': 4.4.0 @@ -5519,6 +6553,12 @@ snapshots: dependencies: undici-types: 6.19.8 + '@types/pug@2.0.10': {} + + '@types/react@19.0.10': + dependencies: + csstype: 3.1.3 + '@types/resize-observer-browser@0.1.11': {} '@types/stack-utils@2.0.3': {} @@ -5531,6 +6571,8 @@ snapshots: '@types/unist@3.0.3': {} + '@types/uuid@9.0.8': {} + '@types/yargs-parser@21.0.3': {} '@types/yargs@17.0.32': @@ -5616,6 +6658,13 @@ snapshots: '@ungap/structured-clone@1.2.0': {} + '@vitest/expect@2.0.5': + dependencies: + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.2.0 + tinyrainbow: 1.2.0 + '@vitest/expect@2.1.8': dependencies: '@vitest/spy': 2.1.8 @@ -5646,6 +6695,10 @@ snapshots: optionalDependencies: vite: 5.4.11(@types/node@20.17.6)(lightningcss@1.29.1)(terser@5.36.0) + '@vitest/pretty-format@2.0.5': + dependencies: + tinyrainbow: 1.2.0 + '@vitest/pretty-format@2.1.8': dependencies: tinyrainbow: 1.2.0 @@ -5676,6 +6729,10 @@ snapshots: magic-string: 0.30.17 pathe: 2.0.3 + '@vitest/spy@2.0.5': + dependencies: + tinyspy: 3.0.2 + '@vitest/spy@2.1.8': dependencies: tinyspy: 3.0.2 @@ -5695,6 +6752,13 @@ snapshots: tinyrainbow: 1.2.0 vitest: 2.1.8(@types/node@20.17.6)(@vitest/ui@2.1.8)(jsdom@24.1.3)(lightningcss@1.29.1)(terser@5.36.0) + '@vitest/utils@2.0.5': + dependencies: + '@vitest/pretty-format': 2.0.5 + estree-walker: 3.0.3 + loupe: 3.1.3 + tinyrainbow: 1.2.0 + '@vitest/utils@2.1.8': dependencies: '@vitest/pretty-format': 2.1.8 @@ -5738,6 +6802,8 @@ snapshots: ansi-regex@5.0.1: {} + ansi-regex@6.1.0: {} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 @@ -5768,6 +6834,10 @@ snapshots: assertion-error@2.0.1: {} + ast-types@0.16.1: + dependencies: + tslib: 2.8.1 + astring@1.8.6: {} asynckit@0.4.0: {} @@ -5782,6 +6852,10 @@ snapshots: postcss: 8.5.3 postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + axe-core@3.5.6: {} axe-core@4.9.1: {} @@ -5792,6 +6866,10 @@ snapshots: balanced-match@1.0.2: {} + better-opn@3.0.2: + dependencies: + open: 8.4.2 + better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 @@ -5811,6 +6889,8 @@ snapshots: dependencies: fill-range: 7.1.1 + browser-assert@1.2.1: {} + browserslist@4.24.2: dependencies: caniuse-lite: 1.0.30001680 @@ -5818,10 +6898,29 @@ snapshots: node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) + buffer-crc32@1.0.0: {} + buffer-from@1.1.2: {} cac@6.7.14: {} + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.2.7 + set-function-length: 1.2.2 + + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.2.7 + callsites@3.1.0: {} caniuse-lite@1.0.30001680: {} @@ -5883,6 +6982,8 @@ snapshots: dependencies: readdirp: 4.0.1 + chromatic@11.25.2: {} + ci-info@3.9.0: {} cliui@8.0.1: @@ -5996,12 +7097,22 @@ snapshots: dedent-js@1.0.1: {} + dedent@1.5.3: {} + deep-eql@5.0.2: {} deep-is@0.1.4: {} deepmerge@4.3.1: {} + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-lazy-prop@2.0.0: {} + defu@6.1.4: {} delayed-stream@1.0.0: {} @@ -6026,12 +7137,44 @@ snapshots: dependencies: path-type: 4.0.0 + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + dom-accessibility-api@0.5.16: {} dom-accessibility-api@0.6.3: {} + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + domelementtype@2.3.0: {} + + domhandler@3.3.0: + dependencies: + domelementtype: 2.3.0 + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dotenv@16.4.5: {} + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + electron-to-chromium@1.5.58: {} emoji-regex@8.0.0: {} @@ -6046,14 +7189,28 @@ snapshots: ansi-colors: 4.1.3 strip-ansi: 6.0.1 + entities@2.2.0: {} + entities@4.5.0: {} eruda@3.4.1: {} + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + es-module-lexer@1.5.4: {} es-module-lexer@1.6.0: {} + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-toolkit@1.32.0: {} + + es6-promise@3.3.1: {} + esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -6068,6 +7225,13 @@ snapshots: esast-util-from-estree: 2.0.0 vfile-message: 4.0.2 + esbuild-register@3.6.0(esbuild@0.24.2): + dependencies: + debug: 4.4.0 + esbuild: 0.24.2 + transitivePeerDependencies: + - supports-color + esbuild@0.17.19: optionalDependencies: '@esbuild/android-arm': 0.17.19 @@ -6222,10 +7386,60 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-utils@3.0.0(eslint@8.4.1): + dependencies: + eslint: 8.4.1 + eslint-visitor-keys: 2.1.0 + + eslint-visitor-keys@2.1.0: {} + eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.2.0: {} + eslint@8.4.1: + dependencies: + '@eslint/eslintrc': 1.4.1 + '@humanwhocodes/config-array': 0.9.5 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.4.0 + doctrine: 3.0.0 + enquirer: 2.4.1 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-utils: 3.0.0(eslint@8.4.1) + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 6.0.2 + globals: 13.24.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.6.3 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + v8-compile-cache: 2.4.0 + transitivePeerDependencies: + - supports-color + eslint@9.14.0(jiti@2.4.2): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.2)) @@ -6280,6 +7494,12 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 4.2.0 + espree@9.2.0: + dependencies: + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 3.4.3 + espree@9.6.1: dependencies: acorn: 8.14.0 @@ -6292,6 +7512,11 @@ snapshots: dependencies: estraverse: 5.3.0 + esrap@1.2.2: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + '@types/estree': 1.0.6 + esrap@1.4.3: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -6385,10 +7610,16 @@ snapshots: fflate@0.8.2: {} + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 + filesize@10.1.6: {} + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -6403,6 +7634,12 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + flat-cache@3.2.0: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + flat-cache@4.0.1: dependencies: flatted: 3.3.1 @@ -6416,6 +7653,10 @@ snapshots: dependencies: tabbable: 6.2.0 + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + form-data@4.0.0: dependencies: asynckit: 0.4.0 @@ -6443,8 +7684,28 @@ snapshots: function-bind@1.1.2: {} + functional-red-black-tree@1.0.1: {} + get-caller-file@2.0.5: {} + get-intrinsic@1.2.7: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + get-source@2.0.12: dependencies: data-uri-to-buffer: 2.0.2 @@ -6462,6 +7723,15 @@ snapshots: glob-to-regexp@0.4.1: {} + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + glob@8.1.0: dependencies: fs.realpath: 1.0.0 @@ -6470,6 +7740,10 @@ snapshots: minimatch: 5.1.6 once: 1.4.0 + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + globals@14.0.0: {} globals@15.14.0: {} @@ -6483,6 +7757,8 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 + gopd@1.2.0: {} + graceful-fs@4.2.11: {} graphemer@1.4.0: {} @@ -6491,6 +7767,16 @@ snapshots: has-flag@4.0.0: {} + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -6600,6 +7886,13 @@ snapshots: html-void-elements@3.0.0: {} + htmlparser2-svelte@4.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 3.3.0 + domutils: 2.8.0 + entities: 2.2.0 + http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 @@ -6628,6 +7921,8 @@ snapshots: dependencies: minimatch: 5.1.6 + ignore@4.0.6: {} + ignore@5.3.1: {} import-fresh@3.3.0: @@ -6659,18 +7954,34 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.3 + has-tostringtag: 1.0.2 + is-arrayish@0.3.2: {} + is-callable@1.2.7: {} + is-core-module@2.14.0: dependencies: hasown: 2.0.2 is-decimal@2.0.1: {} + is-docker@2.2.1: {} + is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} + is-generator-function@1.1.0: + dependencies: + call-bound: 1.0.3 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -6687,12 +7998,27 @@ snapshots: dependencies: '@types/estree': 1.0.6 + is-regex@1.2.1: + dependencies: + call-bound: 1.0.3 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.18 + is-windows@1.0.2: {} + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + isexe@2.0.0: {} itty-time@1.0.6: {} @@ -6761,6 +8087,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsdoc-type-pratt-parser@4.1.0: {} + jsdom@24.1.3: dependencies: cssstyle: 4.0.1 @@ -6799,6 +8127,12 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -6908,12 +8242,16 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + map-or-similar@1.5.0: {} + markdown-extensions@2.0.0: {} markdown-table@3.0.3: {} marked@14.1.4: {} + math-intrinsics@1.1.0: {} + mdast-util-find-and-replace@3.0.1: dependencies: '@types/mdast': 4.0.4 @@ -7094,6 +8432,10 @@ snapshots: transitivePeerDependencies: - supports-color + memoizerific@1.11.3: + dependencies: + map-or-similar: 1.5.0 + merge2@1.4.1: {} micromark-core-commonmark@2.0.1: @@ -7413,6 +8755,12 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimist@1.2.8: {} + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + mode-watcher@0.4.1(svelte@5.19.4): dependencies: svelte: 5.19.4 @@ -7473,6 +8821,12 @@ snapshots: dependencies: regex: 4.4.0 + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -7540,6 +8894,8 @@ snapshots: path-exists@4.0.0: {} + path-is-absolute@1.0.1: {} + path-key@3.1.1: {} path-parse@1.0.7: {} @@ -7566,6 +8922,12 @@ snapshots: pify@4.0.1: {} + polished@4.3.1: + dependencies: + '@babel/runtime': 7.24.8 + + possible-typed-array-names@1.1.0: {} + postcss-load-config@3.1.4(postcss@8.4.49): dependencies: lilconfig: 2.1.0 @@ -7573,6 +8935,14 @@ snapshots: optionalDependencies: postcss: 8.4.49 + postcss-load-config@3.1.4(postcss@8.5.3): + dependencies: + lilconfig: 2.1.0 + yaml: 1.10.2 + optionalDependencies: + postcss: 8.5.3 + optional: true + postcss-safe-parser@6.0.0(postcss@8.4.49): dependencies: postcss: 8.4.49 @@ -7636,6 +9006,10 @@ snapshots: printable-characters@1.0.42: {} + process@0.11.10: {} + + progress@2.0.3: {} + property-information@6.5.0: {} pseudomap@1.0.2: {} @@ -7654,10 +9028,22 @@ snapshots: queue-microtask@1.2.3: {} + react-confetti@6.2.2(react@19.0.0): + dependencies: + react: 19.0.0 + tween-functions: 1.2.0 + + react-dom@19.0.0(react@19.0.0): + dependencies: + react: 19.0.0 + scheduler: 0.25.0 + react-is@17.0.2: {} react-is@18.3.1: {} + react@19.0.0: {} + read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 @@ -7667,6 +9053,14 @@ snapshots: readdirp@4.0.1: {} + recast@0.23.9: + dependencies: + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tiny-invariant: 1.3.3 + tslib: 2.8.1 + recma-build-jsx@1.0.0: dependencies: '@types/estree': 1.0.6 @@ -7708,6 +9102,8 @@ snapshots: regexparam@3.0.0: {} + regexpp@3.2.0: {} + rehype-parse@9.0.0: dependencies: '@types/hast': 3.0.4 @@ -7809,6 +9205,14 @@ snapshots: reusify@1.0.4: {} + rimraf@2.7.1: + dependencies: + glob: 7.2.3 + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + rollup-plugin-inject@3.0.2: dependencies: estree-walker: 0.6.1 @@ -7893,12 +9297,27 @@ snapshots: dependencies: mri: 1.2.0 + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-regex: 1.2.1 + safer-buffer@2.1.2: {} + sander@0.5.1: + dependencies: + es6-promise: 3.3.1 + graceful-fs: 4.2.11 + mkdirp: 0.5.6 + rimraf: 2.7.1 + saxes@6.0.0: dependencies: xmlchars: 2.2.0 + scheduler@0.25.0: {} + selfsigned@2.4.1: dependencies: '@types/node-forge': 1.3.11 @@ -7910,6 +9329,15 @@ snapshots: set-cookie-parser@2.6.0: {} + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.7 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + sharp@0.33.5: dependencies: color: 4.2.3 @@ -7975,6 +9403,13 @@ snapshots: slash@3.0.0: {} + sorcery@0.11.1: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + buffer-crc32: 1.0.0 + minimist: 1.2.8 + sander: 0.5.1 + source-map-js@1.2.1: {} source-map-support@0.5.21: @@ -8014,6 +9449,16 @@ snapshots: stoppable@1.1.0: {} + storybook@8.6.0-beta.4(prettier@3.3.3): + dependencies: + '@storybook/core': 8.6.0-beta.4(prettier@3.3.3)(storybook@8.6.0-beta.4(prettier@3.3.3)) + optionalDependencies: + prettier: 3.3.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -8029,6 +9474,10 @@ snapshots: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + strip-bom@3.0.0: {} strip-indent@3.0.0: @@ -8059,6 +9508,12 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + svelte-ast-print@0.4.2(svelte@5.19.4): + dependencies: + esrap: 1.2.2 + svelte: 5.19.4 + zimmerframe: 1.1.2 + svelte-check@4.1.4(picomatch@4.0.2)(svelte@5.19.4)(typescript@5.6.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -8081,6 +9536,19 @@ snapshots: optionalDependencies: svelte: 5.19.4 + svelte-preprocess@5.1.4(postcss-load-config@3.1.4(postcss@8.5.3))(postcss@8.5.3)(svelte@5.19.4)(typescript@5.6.3): + dependencies: + '@types/pug': 2.0.10 + detect-indent: 6.1.0 + magic-string: 0.30.17 + sorcery: 0.11.1 + strip-indent: 3.0.0 + svelte: 5.19.4 + optionalDependencies: + postcss: 8.5.3 + postcss-load-config: 3.1.4(postcss@8.5.3) + typescript: 5.6.3 + svelte-sonner@0.3.28(svelte@5.19.4): dependencies: svelte: 5.19.4 @@ -8116,6 +9584,14 @@ snapshots: magic-string: 0.30.12 zimmerframe: 1.1.2 + sveltedoc-parser@4.2.1: + dependencies: + eslint: 8.4.1 + espree: 9.2.0 + htmlparser2-svelte: 4.1.0 + transitivePeerDependencies: + - supports-color + symbol-tree@3.2.4: {} tabbable@6.2.0: {} @@ -8148,6 +9624,8 @@ snapshots: text-table@0.2.0: {} + tiny-invariant@1.3.3: {} + tinybench@2.9.0: {} tinyexec@0.3.1: {} @@ -8200,12 +9678,20 @@ snapshots: dependencies: typescript: 5.6.3 + ts-dedent@2.2.0: {} + tslib@2.8.1: {} + tween-functions@1.2.0: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 + type-fest@0.20.2: {} + + type-fest@2.19.0: {} + typescript-eslint@8.19.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3): dependencies: '@typescript-eslint/eslint-plugin': 8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.2))(typescript@5.6.3) @@ -8278,6 +9764,13 @@ snapshots: universalify@0.2.0: {} + universalify@2.0.1: {} + + unplugin@1.16.1: + dependencies: + acorn: 8.14.0 + webpack-virtual-modules: 0.6.2 + update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: browserslist: 4.24.2 @@ -8295,6 +9788,18 @@ snapshots: util-deprecate@1.0.2: {} + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.2.0 + is-generator-function: 1.1.0 + is-typed-array: 1.1.15 + which-typed-array: 1.1.18 + + uuid@9.0.1: {} + + v8-compile-cache@2.4.0: {} + velite@0.2.1(acorn@8.14.0): dependencies: '@mdx-js/mdx': 3.1.0(acorn@8.14.0) @@ -8473,6 +9978,8 @@ snapshots: webidl-conversions@7.0.0: {} + webpack-virtual-modules@0.6.2: {} + whatwg-encoding@3.1.1: dependencies: iconv-lite: 0.6.3 @@ -8489,6 +9996,15 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 + which-typed-array@1.1.18: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.3 + for-each: 0.3.5 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + which@1.3.1: dependencies: isexe: 2.0.0 diff --git a/tests/.gitignore b/tests/.gitignore index 79518f716..d80bb1f45 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -19,3 +19,5 @@ Thumbs.db # Vite vite.config.js.timestamp-* vite.config.ts.timestamp-* + +*storybook.log diff --git a/tests/.storybook/main.ts b/tests/.storybook/main.ts new file mode 100644 index 000000000..e6bb55203 --- /dev/null +++ b/tests/.storybook/main.ts @@ -0,0 +1,16 @@ +import type { StorybookConfig } from "@storybook/sveltekit"; + +const config: StorybookConfig = { + stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|ts|svelte)"], + addons: [ + "@storybook/addon-svelte-csf", + "@storybook/addon-essentials", + "@chromatic-com/storybook", + "@storybook/addon-interactions", + ], + framework: { + name: "@storybook/sveltekit", + options: {}, + }, +}; +export default config; diff --git a/tests/.storybook/preview.ts b/tests/.storybook/preview.ts new file mode 100644 index 000000000..b2cb78f50 --- /dev/null +++ b/tests/.storybook/preview.ts @@ -0,0 +1,15 @@ +import type { Preview } from "@storybook/svelte"; +import "../src/app.css"; + +const preview: Preview = { + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i, + }, + }, + }, +}; + +export default preview; diff --git a/tests/package.json b/tests/package.json index e364273d2..fa3928855 100644 --- a/tests/package.json +++ b/tests/package.json @@ -1,46 +1,62 @@ { - "name": "tests", - "description": "Tests for Bits UI components.", - "version": "0.0.0", - "private": true, - "scripts": { - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "sync": "svelte-kit sync", - "test": "pnpm sync && vitest", - "test:ui": "pnpm sync && vitest --ui" - }, - "devDependencies": { - "@sveltejs/adapter-auto": "^3.3.1", - "@sveltejs/kit": "^2.16.1", - "@sveltejs/vite-plugin-svelte": "^4.0.0", - "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.6.3", - "@testing-library/svelte": "^5.2.4", - "@testing-library/user-event": "^14.5.2", - "@types/jest-axe": "^3.5.9", - "@types/node": "^20.17.6", - "@types/resize-observer-browser": "^0.1.11", - "@types/testing-library__jest-dom": "^5.14.9", - "@vitest/ui": "^2.1.8", - "jest-axe": "^9.0.0", - "jsdom": "^24.1.3", - "resize-observer-polyfill": "^1.5.1", - "svelte": "^5.19.4", - "svelte-check": "^4.1.4", - "typescript": "^5.6.3", - "vite": "^5.4.11", - "vitest": "^2.1.8" - }, - "dependencies": { - "@internationalized/date": "^3.5.6", - "bits-ui": "workspace:*" - }, - "type": "module", - "engines": { - "pnpm": ">=8.7.0", - "node": ">=18" - }, - "sideEffects": false, - "packageManager": "pnpm@9.6.0" + "name": "tests", + "description": "Tests for Bits UI components.", + "version": "0.0.0", + "private": true, + "scripts": { + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "sync": "svelte-kit sync", + "test": "pnpm sync && vitest", + "test:ui": "pnpm sync && vitest --ui", + "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build" + }, + "devDependencies": { + "@chromatic-com/storybook": "^3.2.4", + "@nobie-org/tailwindcss-animate": "^1.0.9", + "@storybook/addon-essentials": "^8.6.0-beta.4", + "@storybook/addon-interactions": "^8.6.0-beta.4", + "@storybook/addon-svelte-csf": "^5.0.0-next.23", + "@storybook/blocks": "^8.6.0-beta.4", + "@storybook/svelte": "^8.6.0-beta.4", + "@storybook/sveltekit": "^8.6.0-beta.4", + "@storybook/test": "^8.6.0-beta.4", + "@sveltejs/adapter-auto": "^3.3.1", + "@sveltejs/kit": "^2.16.1", + "@sveltejs/vite-plugin-svelte": "^4.0.0", + "@tailwindcss/vite": "^4.0.0", + "@testing-library/dom": "^10.4.0", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/svelte": "^5.2.4", + "@testing-library/user-event": "^14.5.2", + "@types/jest-axe": "^3.5.9", + "@types/node": "^20.17.6", + "@types/resize-observer-browser": "^0.1.11", + "@types/testing-library__jest-dom": "^5.14.9", + "@vitest/ui": "^2.1.8", + "clsx": "^2.1.0", + "jest-axe": "^9.0.0", + "jsdom": "^24.1.3", + "phosphor-svelte": "^2.0.1", + "resize-observer-polyfill": "^1.5.1", + "storybook": "^8.6.0-beta.4", + "svelte": "^5.19.4", + "svelte-check": "^4.1.4", + "tailwindcss": "^4.0.0", + "typescript": "^5.6.3", + "vite": "^5.4.11", + "vitest": "^2.1.8" + }, + "dependencies": { + "@internationalized/date": "^3.5.6", + "bits-ui": "workspace:*" + }, + "type": "module", + "engines": { + "pnpm": ">=8.7.0", + "node": ">=18" + }, + "sideEffects": false, + "packageManager": "pnpm@9.6.0" } diff --git a/tests/src/app.css b/tests/src/app.css new file mode 100644 index 000000000..c049cf231 --- /dev/null +++ b/tests/src/app.css @@ -0,0 +1,298 @@ +@import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap"); + +@import "tailwindcss"; +@plugin "@nobie-org/tailwindcss-animate"; + +@custom-variant dark (&:is(.dark *)); + +:root { + /* Colors */ + --background: hsl(0 0% 100%); + --background-alt: hsl(0 0% 100%); + --foreground: hsl(0 0% 9%); + --foreground-alt: hsl(0 0% 32%); + --muted: hsl(240 5% 96%); + --muted-foreground: hsla(0 0% 9% / 0.4); + --border: hsl(240 6% 10%); + --border-input: hsla(240 6% 10% / 0.17); + --border-input-hover: hsla(240 6% 10% / 0.4); + --border-card: hsla(240 6% 10% / 0.1); + --dark: hsl(240 6% 10%); + --dark-10: hsla(240 6% 10% / 0.1); + --dark-40: hsla(240 6% 10% / 0.4); + --dark-04: hsla(240 6% 10% / 0.04); + --accent: hsl(204 94% 94%); + --accent-foreground: hsl(204 80% 16%); + --destructive: hsl(347 77% 50%); + --tertiary: hsl(37.7 92.1% 50.2%); + --line: hsl(0 0% 100%); + + /* black */ + --contrast: hsl(0 0% 0%); + + /* Shadows */ + --shadow-mini: 0px 1px 0px 1px rgba(0, 0, 0, 0.04); + --shadow-mini-inset: 0px 1px 0px 0px rgba(0, 0, 0, 0.04) inset; + --shadow-popover: 0px 7px 12px 3px hsla(var(--dark-10)); + --shadow-kbd: 0px 2px 0px 0px rgba(0, 0, 0, 0.07); + --shadow-btn: 0px 1px 0px 1px rgba(0, 0, 0, 0.03); + --shadow-card: 0px 2px 0px 1px rgba(0, 0, 0, 0.04); + --shadow-date-field-focus: 0px 0px 0px 3px rgba(24, 24, 27, 0.17); +} + +.dark { + /* Colors */ + --background: hsl(0 0% 5%); + --background-alt: hsl(0 0% 8%); + --foreground: hsl(0 0% 95%); + --foreground-alt: hsl(0 0% 70%); + --muted: hsl(240 4% 16%); + --muted-foreground: hsla(0 0% 100% / 0.4); + --border: hsl(0 0% 96%); + --border-input: hsla(0 0% 96% / 0.17); + --border-input-hover: hsla(0 0% 96% / 0.4); + --border-card: hsla(0 0% 96% / 0.1); + --dark: hsl(0 0% 96%); + --dark-40: hsl(0 0% 96% / 0.4); + --dark-10: hsl(0 0% 96% / 0.1); + --dark-04: hsl(0 0% 96% / 0.04); + --accent: hsl(204 90% 90%); + --accent-foreground: hsl(204 94% 94%); + --destructive: hsl(350 89% 60%); + --line: hsl(0 0% 9.02%); + --tertiary: hsl(61.3 100% 82.2%); + /* white */ + --contrast: hsl(0 0% 100%); + + /* Shadows */ + --shadow-mini: 0px 1px 0px 1px rgba(0, 0, 0, 0.3); + --shadow-mini-inset: 0px 1px 0px 0px rgba(0, 0, 0, 0.5) inset; + --shadow-popover: 0px 7px 12px 3px hsla(0deg 0% 0% / 30%); + --shadow-kbd: 0px 2px 0px 0px rgba(255, 255, 255, 0.07); + --shadow-btn: 0px 1px 0px 1px rgba(0, 0, 0, 0.2); + --shadow-card: 0px 2px 0px 1px rgba(0, 0, 0, 0.4); + --shadow-date-field-focus: 0px 0px 0px 3px rgba(244, 244, 245, 0.1); +} + +@theme inline { + --color-background: var(--background); + --color-background-alt: var(--background-alt); + --color-foreground: var(--foreground); + --color-foreground-alt: var(--foreground-alt); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-border: var(--border-card); + --color-border-input: var(--border-input); + --color-border-input-hover: var(--border-input-hover); + --color-border-card: var(--border-card); + --color-dark: var(--dark); + --color-dark-10: var(--dark-10); + --color-dark-40: var(--dark-40); + --color-dark-04: var(--dark-04); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-tertiary: var(--tertiary); + --color-line: var(--line); + --color-contrast: var(--contrast); + + --shadow-mini: var(--shadow-mini); + --shadow-mini-inset: var(--shadow-mini-inset); + --shadow-popover: var(--shadow-popover); + --shadow-kbd: var(--shadow-kbd); + --shadow-btn: var(--shadow-btn); + --shadow-card: var(--shadow-card); + --shadow-date-field-focus: var(--shadow-date-field-focus); + + --text-xxs: 10px; + + --radius-card: 16px; + --radius-card-lg: 20px; + --radius-card-sm: 10px; + --radius-input: 9px; + --radius-button: 5px; + --radius-5px: 5px; + --radius-9px: 9px; + --radius-10px: 10px; + --radius-15px: 15px; + + --spacing-input: 3rem; + --spacing-input-sm: 2.5rem; + + --breakpoint-desktop: 1440px; + + --animate-accordion-down: accordion-down 0.2s ease-out; + --animate-accordion-up: accordion-up 0.2s ease-out; + --animate-caret-blink: caret-blink 1s ease-out infinite; + --animate-scale-in: scale-in 0.2s ease; + --animate-scale-out: scale-out 0.15s ease; + --animate-fade-in: fade-in 0.2s ease; + --animate-fade-out: fade-out 0.15s ease; + --animate-enter-from-left: enter-from-left 0.2s ease; + --animate-enter-from-right: enter-from-right 0.2s ease; + --animate-exit-to-left: exit-to-left 0.2s ease; + --animate-exit-to-right: exit-to-right 0.2s ease; + + --font-sans: "Inter", "sans-serif"; + --font-mono: "Source Code Pro", "monospace"; + --font-alt: "Courier", "sans-serif"; + + @keyframes accordion-down { + from { + height: 0; + } + to { + height: var(--bits-accordion-content-height); + } + } + + @keyframes accordion-up { + from { + height: var(--bits-accordion-content-height); + } + to { + height: 0; + } + } + + @keyframes caret-blink { + 0%, + 70%, + 100% { + opacity: 1; + } + 20%, + 50% { + opacity: 0; + } + } + + @keyframes enter-from-right { + from { + opacity: 0; + transform: translateX(200px); + } + to { + opacity: 1; + transform: translateX(0); + } + } + + @keyframes enter-from-left { + from { + opacity: 0; + transform: translateX(-200px); + } + to { + opacity: 1; + transform: translateX(0); + } + } + + @keyframes exit-to-right { + from { + opacity: 1; + transform: translateX(0); + } + to { + opacity: 0; + transform: translateX(200px); + } + } + + @keyframes exit-to-left { + from { + opacity: 1; + transform: translateX(0); + } + to { + opacity: 0; + transform: translateX(-200px); + } + } + + @keyframes scale-in { + from { + opacity: 0; + transform: rotateX(-10deg) scale(0.9); + } + to { + opacity: 1; + transform: rotateX(0deg) scale(1); + } + } + + @keyframes scale-out { + from { + opacity: 1; + transform: rotateX(0deg) scale(1); + } + to { + opacity: 0; + transform: rotateX(-10deg) scale(0.95); + } + } + + @keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } + } + + @keyframes fade-out { + from { + opacity: 1; + } + to { + opacity: 0; + } + } +} + +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-border-card, currentColor); + } + + * { + @apply border-border; + } + html { + -webkit-text-size-adjust: 100%; + font-variation-settings: normal; + scrollbar-color: var(--bg-muted); + } + + body { + @apply bg-background text-foreground; + font-feature-settings: + "rlig" 1, + "calt" 1; + } + + ::selection { + background: #fdffa4; + color: black; + } +} + +@layer components { + *:not(body):not(.focus-override) { + outline: none !important; + &:focus-visible { + @apply focus-visible:ring-foreground focus-visible:ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-1; + } + } + + .link { + @apply hover:text-foreground/80 focus-visible:ring-foreground focus-visible:ring-offset-background rounded-xs focus-visible:outline-hidden inline-flex items-center gap-1 font-medium underline underline-offset-4 focus-visible:ring-2 focus-visible:ring-offset-2; + } +} diff --git a/tests/src/routes/+layout.svelte b/tests/src/routes/+layout.svelte new file mode 100644 index 000000000..9b776b775 --- /dev/null +++ b/tests/src/routes/+layout.svelte @@ -0,0 +1,6 @@ + + +{@render children()} diff --git a/tests/src/stories/accordion/accordion-base.svelte b/tests/src/stories/accordion/accordion-base.svelte new file mode 100644 index 000000000..3b14d79ac --- /dev/null +++ b/tests/src/stories/accordion/accordion-base.svelte @@ -0,0 +1,58 @@ + + + + {#each items as item (item.value)} + + + + + {item.title} + + + + + + + +
+ {item.content} +
+
+
+ {/each} +
diff --git a/tests/src/stories/accordion/accordion.stories.svelte b/tests/src/stories/accordion/accordion.stories.svelte new file mode 100644 index 000000000..a43deaf86 --- /dev/null +++ b/tests/src/stories/accordion/accordion.stories.svelte @@ -0,0 +1,61 @@ + + + + + { + if (i.value === "2") { + return { ...i, disabled: true }; + } + return i; + }), + }} +/> diff --git a/tests/src/stories/alert-dialog/alert-dialog.stories.svelte b/tests/src/stories/alert-dialog/alert-dialog.stories.svelte new file mode 100644 index 000000000..48391e3cb --- /dev/null +++ b/tests/src/stories/alert-dialog/alert-dialog.stories.svelte @@ -0,0 +1,12 @@ + + + diff --git a/tests/src/stories/alert-dialog/alert-dialog.svelte b/tests/src/stories/alert-dialog/alert-dialog.svelte new file mode 100644 index 000000000..741d76191 --- /dev/null +++ b/tests/src/stories/alert-dialog/alert-dialog.svelte @@ -0,0 +1,74 @@ + + + + + Subscribe + + + + +
+ + Confirm your transaction + + + This action cannot be undone. This will initiate a monthly wire in the amount of + $10,000 to Huntabyte. Do you wish to continue? + +
+
+ + Cancel + + + Continue + +
+
+
+
diff --git a/tests/src/stories/navigation-menu/links.svelte b/tests/src/stories/navigation-menu/links.svelte new file mode 100644 index 000000000..f4c780831 --- /dev/null +++ b/tests/src/stories/navigation-menu/links.svelte @@ -0,0 +1,21 @@ + + +
    + {#each items as item (item)} +
  • + +
    {item}
    +
    +
  • + {/each} +
diff --git a/tests/src/stories/navigation-menu/navigation-menu-base.svelte b/tests/src/stories/navigation-menu/navigation-menu-base.svelte new file mode 100644 index 000000000..a4bed2c0a --- /dev/null +++ b/tests/src/stories/navigation-menu/navigation-menu-base.svelte @@ -0,0 +1,165 @@ + + +{#snippet ListItem({ className, title, content, href }: ListItemProps)} +
  • + +
    {title}
    +

    + {content} +

    +
    +
  • +{/snippet} + + + + + + Getting started + + +
      +
    • + + +
      Bits UI
      +

      + The headless components for Svelte. +

      +
      +
    • + + {@render ListItem({ + href: "/docs", + title: "Introduction", + content: "Headless components for Svelte and SvelteKit", + })} + {@render ListItem({ + href: "/docs/getting-started", + title: "Getting Started", + content: "How to install and use Bits UI", + })} + {@render ListItem({ + href: "/docs/styling", + title: "Styling", + content: "How to style Bits UI components", + })} +
    +
    +
    + + + Components + + +
      + {#each components as component (component.title)} + {@render ListItem({ + href: component.href, + title: component.title, + content: component.description, + })} + {/each} +
    +
    +
    + + + + Docs + + + +
    +
    +
    +
    + +
    +
    diff --git a/tests/src/stories/navigation-menu/navigation-menu-sub-menus.svelte b/tests/src/stories/navigation-menu/navigation-menu-sub-menus.svelte new file mode 100644 index 000000000..64ae18060 --- /dev/null +++ b/tests/src/stories/navigation-menu/navigation-menu-sub-menus.svelte @@ -0,0 +1,107 @@ + + + + + diff --git a/tests/src/stories/navigation-menu/navigation-menu.stories.svelte b/tests/src/stories/navigation-menu/navigation-menu.stories.svelte new file mode 100644 index 000000000..83a90e973 --- /dev/null +++ b/tests/src/stories/navigation-menu/navigation-menu.stories.svelte @@ -0,0 +1,12 @@ + + + diff --git a/tests/src/utils.ts b/tests/src/utils.ts new file mode 100644 index 000000000..e69de29bb diff --git a/tests/vite.config.ts b/tests/vite.config.ts index 6a6e14909..3c274ce81 100644 --- a/tests/vite.config.ts +++ b/tests/vite.config.ts @@ -1,3 +1,4 @@ +import tailwindcss from "@tailwindcss/vite"; import process from "node:process"; import { sveltekit } from "@sveltejs/kit/vite"; import { svelteTesting } from "@testing-library/svelte/vite"; @@ -15,7 +16,7 @@ const vitestBrowserConditionPlugin: Plugin = { }; export default defineConfig({ - plugins: [vitestBrowserConditionPlugin, sveltekit(), svelteTesting()], + plugins: [vitestBrowserConditionPlugin, sveltekit(), svelteTesting(), tailwindcss()], test: { include: ["src/**/*.{test,spec}.{js,ts}"], // jest like globals @@ -29,4 +30,7 @@ export default defineConfig({ exclude: ["./other/setup-test.ts"], }, }, + optimizeDeps: { + exclude: ["bits-ui"], + }, });