diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 059a5e92..77da7c54 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -7,11 +7,8 @@ on: - reopened - synchronize - closed - branches: - - main - -# concurrency: preview-${{ github.ref }} +concurrency: preview-${{ github.ref }} jobs: deploy-preview: @@ -28,6 +25,7 @@ jobs: cp -r blueprints preview/ cp index.html preview/ + # Despliega el preview usando el action - uses: rossjrw/pr-preview-action@v1 with: diff --git a/.gitignore b/.gitignore index 37cb7e2e..a547bf36 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,24 @@ -node_modules/ -.DS_Store +# Logs +logs *.log -dist/ -.env \ No newline at end of file +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/README.md b/README.md new file mode 100644 index 00000000..40ede56e --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: + +```js +export default tseslint.config({ + extends: [ + // Remove ...tseslint.configs.recommended and replace with this + ...tseslint.configs.recommendedTypeChecked, + // Alternatively, use this for stricter rules + ...tseslint.configs.strictTypeChecked, + // Optionally, add this for stylistic rules + ...tseslint.configs.stylisticTypeChecked, + ], + languageOptions: { + // other options... + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + }, +}) +``` + +You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: + +```js +// eslint.config.js +import reactX from 'eslint-plugin-react-x' +import reactDom from 'eslint-plugin-react-dom' + +export default tseslint.config({ + plugins: { + // Add the react-x and react-dom plugins + 'react-x': reactX, + 'react-dom': reactDom, + }, + rules: { + // other rules... + // Enable its recommended typescript rules + ...reactX.configs['recommended-typescript'].rules, + ...reactDom.configs.recommended.rules, + }, +}) +``` diff --git a/components.json b/components.json new file mode 100644 index 00000000..73afbdbc --- /dev/null +++ b/components.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "new-york", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/index.css", + "baseColor": "neutral", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "iconLibrary": "lucide" +} \ No newline at end of file diff --git a/index.html b/index.html index a1f2f41c..4600ddfe 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,13 @@ -

Blueprints Preview

- + + + + + + + Dokploy Blueprints + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 00000000..6aaa8cdd --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "my-app", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-slot": "^1.1.2", + "@tailwindcss/vite": "^4.0.12", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "copy-to-clipboard": "^3.3.3", + "lucide-react": "^0.479.0", + "next-themes": "^0.4.5", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "sonner": "^2.0.1", + "tailwind-merge": "^3.0.2", + "tailwindcss": "^4.0.12", + "tailwindcss-animate": "^1.0.7" + }, + "devDependencies": { + "@types/react": "^19.0.10", + "@types/react-dom": "^19.0.4", + "@vitejs/plugin-react": "^4.3.4", + "globals": "^15.15.0", + "typescript": "~5.7.2", + "vite": "^6.2.0" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..4d87ddff --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,1835 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@radix-ui/react-dialog': + specifier: ^1.1.6 + version: 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': + specifier: ^1.1.2 + version: 1.1.2(@types/react@19.0.10)(react@19.0.0) + '@tailwindcss/vite': + specifier: ^4.0.12 + version: 4.0.12(vite@6.2.1(jiti@2.4.2)(lightningcss@1.29.2)) + class-variance-authority: + specifier: ^0.7.1 + version: 0.7.1 + clsx: + specifier: ^2.1.1 + version: 2.1.1 + copy-to-clipboard: + specifier: ^3.3.3 + version: 3.3.3 + lucide-react: + specifier: ^0.479.0 + version: 0.479.0(react@19.0.0) + next-themes: + specifier: ^0.4.5 + version: 0.4.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: + specifier: ^19.0.0 + version: 19.0.0 + react-dom: + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) + sonner: + specifier: ^2.0.1 + version: 2.0.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + tailwind-merge: + specifier: ^3.0.2 + version: 3.0.2 + tailwindcss: + specifier: ^4.0.12 + version: 4.0.12 + tailwindcss-animate: + specifier: ^1.0.7 + version: 1.0.7(tailwindcss@4.0.12) + devDependencies: + '@types/react': + specifier: ^19.0.10 + version: 19.0.10 + '@types/react-dom': + specifier: ^19.0.4 + version: 19.0.4(@types/react@19.0.10) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.3.4(vite@6.2.1(jiti@2.4.2)(lightningcss@1.29.2)) + globals: + specifier: ^15.15.0 + version: 15.15.0 + typescript: + specifier: ~5.7.2 + version: 5.7.3 + vite: + specifier: ^6.2.0 + version: 6.2.1(jiti@2.4.2)(lightningcss@1.29.2) + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.8': + resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.9': + resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.9': + resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.26.5': + resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.26.5': + resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.26.9': + resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.26.9': + resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-transform-react-jsx-self@7.25.9': + resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.25.9': + resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.26.9': + resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.9': + resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.9': + resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} + engines: {node: '>=6.9.0'} + + '@esbuild/aix-ppc64@0.25.1': + resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.1': + resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.1': + resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.1': + resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.1': + resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.1': + resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.1': + resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.1': + resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.1': + resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.1': + resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.1': + resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.1': + resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.1': + resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.1': + resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.1': + resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.1': + resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.1': + resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.1': + resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.1': + resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.1': + resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.1': + resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.25.1': + resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.1': + resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.1': + resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.1': + resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@radix-ui/primitive@1.1.1': + resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==} + + '@radix-ui/react-compose-refs@1.1.1': + resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-context@1.1.1': + resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-dialog@1.1.6': + resolution: {integrity: sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-dismissable-layer@1.1.5': + resolution: {integrity: sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-focus-guards@1.1.1': + resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-focus-scope@1.1.2': + resolution: {integrity: sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-id@1.1.0': + resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-portal@1.1.4': + resolution: {integrity: sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-presence@1.1.2': + resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-primitive@2.0.2': + resolution: {integrity: sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-slot@1.1.2': + resolution: {integrity: sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-callback-ref@1.1.0': + resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.1.0': + resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-escape-keydown@1.1.0': + resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.0': + resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@rollup/rollup-android-arm-eabi@4.35.0': + resolution: {integrity: sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.35.0': + resolution: {integrity: sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.35.0': + resolution: {integrity: sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.35.0': + resolution: {integrity: sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.35.0': + resolution: {integrity: sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.35.0': + resolution: {integrity: sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': + resolution: {integrity: sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.35.0': + resolution: {integrity: sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.35.0': + resolution: {integrity: sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.35.0': + resolution: {integrity: sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': + resolution: {integrity: sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': + resolution: {integrity: sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.35.0': + resolution: {integrity: sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.35.0': + resolution: {integrity: sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.35.0': + resolution: {integrity: sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.35.0': + resolution: {integrity: sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.35.0': + resolution: {integrity: sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.35.0': + resolution: {integrity: sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.35.0': + resolution: {integrity: sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==} + cpu: [x64] + os: [win32] + + '@tailwindcss/node@4.0.12': + resolution: {integrity: sha512-a6J11K1Ztdln9OrGfoM75/hChYPcHYGNYimqciMrvKXRmmPaS8XZTHhdvb5a3glz4Kd4ZxE1MnuFE2c0fGGmtg==} + + '@tailwindcss/oxide-android-arm64@4.0.12': + resolution: {integrity: sha512-dAXCaemu3mHLXcA5GwGlQynX8n7tTdvn5i1zAxRvZ5iC9fWLl5bGnjZnzrQqT7ttxCvRwdVf3IHUnMVdDBO/kQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.0.12': + resolution: {integrity: sha512-vPNI+TpJQ7sizselDXIJdYkx9Cu6JBdtmRWujw9pVIxW8uz3O2PjgGGzL/7A0sXI8XDjSyRChrUnEW9rQygmJQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.0.12': + resolution: {integrity: sha512-RL/9jM41Fdq4Efr35C5wgLx98BirnrfwuD+zgMFK6Ir68HeOSqBhW9jsEeC7Y/JcGyPd3MEoJVIU4fAb7YLg7A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.0.12': + resolution: {integrity: sha512-7WzWiax+LguJcMEimY0Q4sBLlFXu1tYxVka3+G2M9KmU/3m84J3jAIV4KZWnockbHsbb2XgrEjtlJKVwHQCoRA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.12': + resolution: {integrity: sha512-X9LRC7jjE1QlfIaBbXjY0PGeQP87lz5mEfLSVs2J1yRc9PSg1tEPS9NBqY4BU9v5toZgJgzKeaNltORyTs22TQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.12': + resolution: {integrity: sha512-i24IFNq2402zfDdoWKypXz0ZNS2G4NKaA82tgBlE2OhHIE+4mg2JDb5wVfyP6R+MCm5grgXvurcIcKWvo44QiQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.0.12': + resolution: {integrity: sha512-LmOdshJBfAGIBG0DdBWhI0n5LTMurnGGJCHcsm9F//ISfsHtCnnYIKgYQui5oOz1SUCkqsMGfkAzWyNKZqbGNw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.0.12': + resolution: {integrity: sha512-OSK667qZRH30ep8RiHbZDQfqkXjnzKxdn0oRwWzgCO8CoTxV+MvIkd0BWdQbYtYuM1wrakARV/Hwp0eA/qzdbw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.0.12': + resolution: {integrity: sha512-uylhWq6OWQ8krV8Jk+v0H/3AZKJW6xYMgNMyNnUbbYXWi7hIVdxRKNUB5UvrlC3RxtgsK5EAV2i1CWTRsNcAnA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.12': + resolution: {integrity: sha512-XDLnhMoXZEEOir1LK43/gHHwK84V1GlV8+pAncUAIN2wloeD+nNciI9WRIY/BeFTqES22DhTIGoilSO39xDb2g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.0.12': + resolution: {integrity: sha512-I/BbjCLpKDQucvtn6rFuYLst1nfFwSMYyPzkx/095RE+tuzk5+fwXuzQh7T3fIBTcbn82qH/sFka7yPGA50tLw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.0.12': + resolution: {integrity: sha512-DWb+myvJB9xJwelwT9GHaMc1qJj6MDXRDR0CS+T8IdkejAtu8ctJAgV4r1drQJLPeS7mNwq2UHW2GWrudTf63A==} + engines: {node: '>= 10'} + + '@tailwindcss/vite@4.0.12': + resolution: {integrity: sha512-JM3gp601UJiryIZ9R2bSqalzcOy15RCybQ1Q+BJqDEwVyo4LkWKeqQAcrpHapWXY31OJFTuOUVBFDWMhzHm2Bg==} + peerDependencies: + vite: ^5.2.0 || ^6 + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/react-dom@19.0.4': + resolution: {integrity: sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==} + peerDependencies: + '@types/react': ^19.0.0 + + '@types/react@19.0.10': + resolution: {integrity: sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==} + + '@vitejs/plugin-react@4.3.4': + resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 + + aria-hidden@1.2.4: + resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} + engines: {node: '>=10'} + + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + caniuse-lite@1.0.30001703: + resolution: {integrity: sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==} + + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + + electron-to-chromium@1.5.113: + resolution: {integrity: sha512-wjT2O4hX+wdWPJ76gWSkMhcHAV2PTMX+QetUCPYEdCIe+cxmgzzSSiGRCKW8nuh4mwKZlpv0xvoW7OF2X+wmHg==} + + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + engines: {node: '>=10.13.0'} + + esbuild@0.25.1: + resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + engines: {node: '>=18'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + lightningcss-darwin-arm64@1.29.2: + resolution: {integrity: sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.29.2: + resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.29.2: + resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.29.2: + resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.29.2: + resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.29.2: + resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.29.2: + resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.29.2: + resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.29.2: + resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.29.2: + resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.29.2: + resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==} + engines: {node: '>= 12.0.0'} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lucide-react@0.479.0: + resolution: {integrity: sha512-aBhNnveRhorBOK7uA4gDjgaf+YlHMdMhQ/3cupk6exM10hWlEU+2QtWYOfhXhjAsmdb6LeKR+NZnow4UxRRiTQ==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.9: + resolution: {integrity: sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + next-themes@0.4.5: + resolution: {integrity: sha512-E8/gYKBxZknOXBiDk/sRokAvkOw35PTUD4Gxtq1eBhd0r4Dx5S42zU65/q8ozR5rcSG2ZlE1E3+ShlUpC7an+A==} + peerDependencies: + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + engines: {node: ^10 || ^12 || >=14} + + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} + peerDependencies: + react: ^19.0.0 + + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + + react-remove-scroll-bar@2.3.8: + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.6.3: + resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + react-style-singleton@2.2.3: + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + engines: {node: '>=0.10.0'} + + rollup@4.35.0: + resolution: {integrity: sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + sonner@2.0.1: + resolution: {integrity: sha512-FRBphaehZ5tLdLcQ8g2WOIRE+Y7BCfWi5Zyd8bCvBjiW8TxxAyoWZIxS661Yz6TGPqFQ4VLzOF89WEYhfynSFQ==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + tailwind-merge@3.0.2: + resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==} + + tailwindcss-animate@1.0.7: + resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + + tailwindcss@4.0.12: + resolution: {integrity: sha512-bT0hJo91FtncsAMSsMzUkoo/iEU0Xs5xgFgVC9XmdM9bw5MhZuQFjPNl6wxAE0SiQF/YTZJa+PndGWYSDtuxAg==} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} + hasBin: true + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + use-callback-ref@1.3.3: + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + use-sidecar@1.1.3: + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + vite@6.2.1: + resolution: {integrity: sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.8': {} + + '@babel/core@7.26.9': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.9 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) + '@babel/helpers': 7.26.9 + '@babel/parser': 7.26.9 + '@babel/template': 7.26.9 + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.26.9': + dependencies: + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.26.5': + dependencies: + '@babel/compat-data': 7.26.8 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.26.5': {} + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helpers@7.26.9': + dependencies: + '@babel/template': 7.26.9 + '@babel/types': 7.26.9 + + '@babel/parser@7.26.9': + dependencies: + '@babel/types': 7.26.9 + + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/template@7.26.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 + + '@babel/traverse@7.26.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.9 + '@babel/parser': 7.26.9 + '@babel/template': 7.26.9 + '@babel/types': 7.26.9 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.26.9': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@esbuild/aix-ppc64@0.25.1': + optional: true + + '@esbuild/android-arm64@0.25.1': + optional: true + + '@esbuild/android-arm@0.25.1': + optional: true + + '@esbuild/android-x64@0.25.1': + optional: true + + '@esbuild/darwin-arm64@0.25.1': + optional: true + + '@esbuild/darwin-x64@0.25.1': + optional: true + + '@esbuild/freebsd-arm64@0.25.1': + optional: true + + '@esbuild/freebsd-x64@0.25.1': + optional: true + + '@esbuild/linux-arm64@0.25.1': + optional: true + + '@esbuild/linux-arm@0.25.1': + optional: true + + '@esbuild/linux-ia32@0.25.1': + optional: true + + '@esbuild/linux-loong64@0.25.1': + optional: true + + '@esbuild/linux-mips64el@0.25.1': + optional: true + + '@esbuild/linux-ppc64@0.25.1': + optional: true + + '@esbuild/linux-riscv64@0.25.1': + optional: true + + '@esbuild/linux-s390x@0.25.1': + optional: true + + '@esbuild/linux-x64@0.25.1': + optional: true + + '@esbuild/netbsd-arm64@0.25.1': + optional: true + + '@esbuild/netbsd-x64@0.25.1': + optional: true + + '@esbuild/openbsd-arm64@0.25.1': + optional: true + + '@esbuild/openbsd-x64@0.25.1': + optional: true + + '@esbuild/sunos-x64@0.25.1': + optional: true + + '@esbuild/win32-arm64@0.25.1': + optional: true + + '@esbuild/win32-ia32@0.25.1': + optional: true + + '@esbuild/win32-x64@0.25.1': + optional: true + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@radix-ui/primitive@1.1.1': {} + + '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.10)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.10 + + '@radix-ui/react-context@1.1.1(@types/react@19.0.10)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.10 + + '@radix-ui/react-dialog@1.1.6(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.10)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.10)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.10)(react@19.0.0) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.10)(react@19.0.0) + aria-hidden: 1.2.4 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-remove-scroll: 2.6.3(@types/react@19.0.10)(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.10 + '@types/react-dom': 19.0.4(@types/react@19.0.10) + + '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.10)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.10 + '@types/react-dom': 19.0.4(@types/react@19.0.10) + + '@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.10)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.10 + + '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.10 + '@types/react-dom': 19.0.4(@types/react@19.0.10) + + '@radix-ui/react-id@1.1.0(@types/react@19.0.10)(react@19.0.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0) + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.10 + + '@radix-ui/react-portal@1.1.4(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.10 + '@types/react-dom': 19.0.4(@types/react@19.0.10) + + '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.10)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.10 + '@types/react-dom': 19.0.4(@types/react@19.0.10) + + '@radix-ui/react-primitive@2.0.2(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/react-slot': 1.1.2(@types/react@19.0.10)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.10 + '@types/react-dom': 19.0.4(@types/react@19.0.10) + + '@radix-ui/react-slot@1.1.2(@types/react@19.0.10)(react@19.0.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.10)(react@19.0.0) + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.10 + + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.10)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.10 + + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.10)(react@19.0.0)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0) + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.10 + + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.10)(react@19.0.0)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.10)(react@19.0.0) + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.10 + + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.10)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.10 + + '@rollup/rollup-android-arm-eabi@4.35.0': + optional: true + + '@rollup/rollup-android-arm64@4.35.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.35.0': + optional: true + + '@rollup/rollup-darwin-x64@4.35.0': + optional: true + + '@rollup/rollup-freebsd-arm64@4.35.0': + optional: true + + '@rollup/rollup-freebsd-x64@4.35.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.35.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.35.0': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.35.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.35.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.35.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.35.0': + optional: true + + '@tailwindcss/node@4.0.12': + dependencies: + enhanced-resolve: 5.18.1 + jiti: 2.4.2 + tailwindcss: 4.0.12 + + '@tailwindcss/oxide-android-arm64@4.0.12': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.0.12': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.0.12': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.0.12': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.0.12': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.0.12': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.0.12': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.0.12': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.0.12': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.0.12': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.0.12': + optional: true + + '@tailwindcss/oxide@4.0.12': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.0.12 + '@tailwindcss/oxide-darwin-arm64': 4.0.12 + '@tailwindcss/oxide-darwin-x64': 4.0.12 + '@tailwindcss/oxide-freebsd-x64': 4.0.12 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.0.12 + '@tailwindcss/oxide-linux-arm64-gnu': 4.0.12 + '@tailwindcss/oxide-linux-arm64-musl': 4.0.12 + '@tailwindcss/oxide-linux-x64-gnu': 4.0.12 + '@tailwindcss/oxide-linux-x64-musl': 4.0.12 + '@tailwindcss/oxide-win32-arm64-msvc': 4.0.12 + '@tailwindcss/oxide-win32-x64-msvc': 4.0.12 + + '@tailwindcss/vite@4.0.12(vite@6.2.1(jiti@2.4.2)(lightningcss@1.29.2))': + dependencies: + '@tailwindcss/node': 4.0.12 + '@tailwindcss/oxide': 4.0.12 + lightningcss: 1.29.2 + tailwindcss: 4.0.12 + vite: 6.2.1(jiti@2.4.2)(lightningcss@1.29.2) + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.26.9 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.26.9 + + '@types/estree@1.0.6': {} + + '@types/react-dom@19.0.4(@types/react@19.0.10)': + dependencies: + '@types/react': 19.0.10 + + '@types/react@19.0.10': + dependencies: + csstype: 3.1.3 + + '@vitejs/plugin-react@4.3.4(vite@6.2.1(jiti@2.4.2)(lightningcss@1.29.2))': + dependencies: + '@babel/core': 7.26.9 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.9) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 6.2.1(jiti@2.4.2)(lightningcss@1.29.2) + transitivePeerDependencies: + - supports-color + + aria-hidden@1.2.4: + dependencies: + tslib: 2.8.1 + + browserslist@4.24.4: + dependencies: + caniuse-lite: 1.0.30001703 + electron-to-chromium: 1.5.113 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.24.4) + + caniuse-lite@1.0.30001703: {} + + class-variance-authority@0.7.1: + dependencies: + clsx: 2.1.1 + + clsx@2.1.1: {} + + convert-source-map@2.0.0: {} + + copy-to-clipboard@3.3.3: + dependencies: + toggle-selection: 1.0.6 + + csstype@3.1.3: {} + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + detect-libc@2.0.3: {} + + detect-node-es@1.1.0: {} + + electron-to-chromium@1.5.113: {} + + enhanced-resolve@5.18.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + esbuild@0.25.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.1 + '@esbuild/android-arm': 0.25.1 + '@esbuild/android-arm64': 0.25.1 + '@esbuild/android-x64': 0.25.1 + '@esbuild/darwin-arm64': 0.25.1 + '@esbuild/darwin-x64': 0.25.1 + '@esbuild/freebsd-arm64': 0.25.1 + '@esbuild/freebsd-x64': 0.25.1 + '@esbuild/linux-arm': 0.25.1 + '@esbuild/linux-arm64': 0.25.1 + '@esbuild/linux-ia32': 0.25.1 + '@esbuild/linux-loong64': 0.25.1 + '@esbuild/linux-mips64el': 0.25.1 + '@esbuild/linux-ppc64': 0.25.1 + '@esbuild/linux-riscv64': 0.25.1 + '@esbuild/linux-s390x': 0.25.1 + '@esbuild/linux-x64': 0.25.1 + '@esbuild/netbsd-arm64': 0.25.1 + '@esbuild/netbsd-x64': 0.25.1 + '@esbuild/openbsd-arm64': 0.25.1 + '@esbuild/openbsd-x64': 0.25.1 + '@esbuild/sunos-x64': 0.25.1 + '@esbuild/win32-arm64': 0.25.1 + '@esbuild/win32-ia32': 0.25.1 + '@esbuild/win32-x64': 0.25.1 + + escalade@3.2.0: {} + + fsevents@2.3.3: + optional: true + + gensync@1.0.0-beta.2: {} + + get-nonce@1.0.1: {} + + globals@11.12.0: {} + + globals@15.15.0: {} + + graceful-fs@4.2.11: {} + + jiti@2.4.2: {} + + js-tokens@4.0.0: {} + + jsesc@3.1.0: {} + + json5@2.2.3: {} + + lightningcss-darwin-arm64@1.29.2: + optional: true + + lightningcss-darwin-x64@1.29.2: + optional: true + + lightningcss-freebsd-x64@1.29.2: + optional: true + + lightningcss-linux-arm-gnueabihf@1.29.2: + optional: true + + lightningcss-linux-arm64-gnu@1.29.2: + optional: true + + lightningcss-linux-arm64-musl@1.29.2: + optional: true + + lightningcss-linux-x64-gnu@1.29.2: + optional: true + + lightningcss-linux-x64-musl@1.29.2: + optional: true + + lightningcss-win32-arm64-msvc@1.29.2: + optional: true + + lightningcss-win32-x64-msvc@1.29.2: + optional: true + + lightningcss@1.29.2: + dependencies: + detect-libc: 2.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.29.2 + lightningcss-darwin-x64: 1.29.2 + lightningcss-freebsd-x64: 1.29.2 + lightningcss-linux-arm-gnueabihf: 1.29.2 + lightningcss-linux-arm64-gnu: 1.29.2 + lightningcss-linux-arm64-musl: 1.29.2 + lightningcss-linux-x64-gnu: 1.29.2 + lightningcss-linux-x64-musl: 1.29.2 + lightningcss-win32-arm64-msvc: 1.29.2 + lightningcss-win32-x64-msvc: 1.29.2 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lucide-react@0.479.0(react@19.0.0): + dependencies: + react: 19.0.0 + + ms@2.1.3: {} + + nanoid@3.3.9: {} + + next-themes@0.4.5(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) + + node-releases@2.0.19: {} + + picocolors@1.1.1: {} + + postcss@8.5.3: + dependencies: + nanoid: 3.3.9 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + react-dom@19.0.0(react@19.0.0): + dependencies: + react: 19.0.0 + scheduler: 0.25.0 + + react-refresh@0.14.2: {} + + react-remove-scroll-bar@2.3.8(@types/react@19.0.10)(react@19.0.0): + dependencies: + react: 19.0.0 + react-style-singleton: 2.2.3(@types/react@19.0.10)(react@19.0.0) + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.0.10 + + react-remove-scroll@2.6.3(@types/react@19.0.10)(react@19.0.0): + dependencies: + react: 19.0.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.0.10)(react@19.0.0) + react-style-singleton: 2.2.3(@types/react@19.0.10)(react@19.0.0) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.0.10)(react@19.0.0) + use-sidecar: 1.1.3(@types/react@19.0.10)(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.10 + + react-style-singleton@2.2.3(@types/react@19.0.10)(react@19.0.0): + dependencies: + get-nonce: 1.0.1 + react: 19.0.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.0.10 + + react@19.0.0: {} + + rollup@4.35.0: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.35.0 + '@rollup/rollup-android-arm64': 4.35.0 + '@rollup/rollup-darwin-arm64': 4.35.0 + '@rollup/rollup-darwin-x64': 4.35.0 + '@rollup/rollup-freebsd-arm64': 4.35.0 + '@rollup/rollup-freebsd-x64': 4.35.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.35.0 + '@rollup/rollup-linux-arm-musleabihf': 4.35.0 + '@rollup/rollup-linux-arm64-gnu': 4.35.0 + '@rollup/rollup-linux-arm64-musl': 4.35.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.35.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.35.0 + '@rollup/rollup-linux-riscv64-gnu': 4.35.0 + '@rollup/rollup-linux-s390x-gnu': 4.35.0 + '@rollup/rollup-linux-x64-gnu': 4.35.0 + '@rollup/rollup-linux-x64-musl': 4.35.0 + '@rollup/rollup-win32-arm64-msvc': 4.35.0 + '@rollup/rollup-win32-ia32-msvc': 4.35.0 + '@rollup/rollup-win32-x64-msvc': 4.35.0 + fsevents: 2.3.3 + + scheduler@0.25.0: {} + + semver@6.3.1: {} + + sonner@2.0.1(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) + + source-map-js@1.2.1: {} + + tailwind-merge@3.0.2: {} + + tailwindcss-animate@1.0.7(tailwindcss@4.0.12): + dependencies: + tailwindcss: 4.0.12 + + tailwindcss@4.0.12: {} + + tapable@2.2.1: {} + + toggle-selection@1.0.6: {} + + tslib@2.8.1: {} + + typescript@5.7.3: {} + + update-browserslist-db@1.1.3(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + + use-callback-ref@1.3.3(@types/react@19.0.10)(react@19.0.0): + dependencies: + react: 19.0.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.0.10 + + use-sidecar@1.1.3(@types/react@19.0.10)(react@19.0.0): + dependencies: + detect-node-es: 1.1.0 + react: 19.0.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.0.10 + + vite@6.2.1(jiti@2.4.2)(lightningcss@1.29.2): + dependencies: + esbuild: 0.25.1 + postcss: 8.5.3 + rollup: 4.35.0 + optionalDependencies: + fsevents: 2.3.3 + jiti: 2.4.2 + lightningcss: 1.29.2 + + yallist@3.1.1: {} diff --git a/blueprints/activepieces/activepieces.svg b/public/blueprints/activepieces/activepieces.svg similarity index 100% rename from blueprints/activepieces/activepieces.svg rename to public/blueprints/activepieces/activepieces.svg diff --git a/blueprints/activepieces/docker-compose.yml b/public/blueprints/activepieces/docker-compose.yml similarity index 100% rename from blueprints/activepieces/docker-compose.yml rename to public/blueprints/activepieces/docker-compose.yml diff --git a/blueprints/activepieces/template.yml b/public/blueprints/activepieces/template.yml similarity index 100% rename from blueprints/activepieces/template.yml rename to public/blueprints/activepieces/template.yml diff --git a/blueprints/actualbudget/actualbudget.png b/public/blueprints/actualbudget/actualbudget.png similarity index 100% rename from blueprints/actualbudget/actualbudget.png rename to public/blueprints/actualbudget/actualbudget.png diff --git a/blueprints/actualbudget/docker-compose.yml b/public/blueprints/actualbudget/docker-compose.yml similarity index 100% rename from blueprints/actualbudget/docker-compose.yml rename to public/blueprints/actualbudget/docker-compose.yml diff --git a/blueprints/actualbudget/template.yml b/public/blueprints/actualbudget/template.yml similarity index 100% rename from blueprints/actualbudget/template.yml rename to public/blueprints/actualbudget/template.yml diff --git a/blueprints/alist/alist.svg b/public/blueprints/alist/alist.svg similarity index 100% rename from blueprints/alist/alist.svg rename to public/blueprints/alist/alist.svg diff --git a/blueprints/alist/docker-compose.yml b/public/blueprints/alist/docker-compose.yml similarity index 100% rename from blueprints/alist/docker-compose.yml rename to public/blueprints/alist/docker-compose.yml diff --git a/blueprints/alist/template.yml b/public/blueprints/alist/template.yml similarity index 100% rename from blueprints/alist/template.yml rename to public/blueprints/alist/template.yml diff --git a/blueprints/answer/answer.png b/public/blueprints/answer/answer.png similarity index 100% rename from blueprints/answer/answer.png rename to public/blueprints/answer/answer.png diff --git a/blueprints/answer/docker-compose.yml b/public/blueprints/answer/docker-compose.yml similarity index 100% rename from blueprints/answer/docker-compose.yml rename to public/blueprints/answer/docker-compose.yml diff --git a/blueprints/answer/template.yml b/public/blueprints/answer/template.yml similarity index 100% rename from blueprints/answer/template.yml rename to public/blueprints/answer/template.yml diff --git a/blueprints/appsmith/appsmith.png b/public/blueprints/appsmith/appsmith.png similarity index 100% rename from blueprints/appsmith/appsmith.png rename to public/blueprints/appsmith/appsmith.png diff --git a/blueprints/appsmith/docker-compose.yml b/public/blueprints/appsmith/docker-compose.yml similarity index 100% rename from blueprints/appsmith/docker-compose.yml rename to public/blueprints/appsmith/docker-compose.yml diff --git a/blueprints/appsmith/template.yml b/public/blueprints/appsmith/template.yml similarity index 100% rename from blueprints/appsmith/template.yml rename to public/blueprints/appsmith/template.yml diff --git a/blueprints/appwrite/appwrite.svg b/public/blueprints/appwrite/appwrite.svg similarity index 100% rename from blueprints/appwrite/appwrite.svg rename to public/blueprints/appwrite/appwrite.svg diff --git a/blueprints/appwrite/docker-compose.yml b/public/blueprints/appwrite/docker-compose.yml similarity index 100% rename from blueprints/appwrite/docker-compose.yml rename to public/blueprints/appwrite/docker-compose.yml diff --git a/blueprints/appwrite/template.yml b/public/blueprints/appwrite/template.yml similarity index 100% rename from blueprints/appwrite/template.yml rename to public/blueprints/appwrite/template.yml diff --git a/blueprints/aptabase/aptabase.svg b/public/blueprints/aptabase/aptabase.svg similarity index 100% rename from blueprints/aptabase/aptabase.svg rename to public/blueprints/aptabase/aptabase.svg diff --git a/blueprints/aptabase/docker-compose.yml b/public/blueprints/aptabase/docker-compose.yml similarity index 100% rename from blueprints/aptabase/docker-compose.yml rename to public/blueprints/aptabase/docker-compose.yml diff --git a/blueprints/aptabase/template.yml b/public/blueprints/aptabase/template.yml similarity index 100% rename from blueprints/aptabase/template.yml rename to public/blueprints/aptabase/template.yml diff --git a/blueprints/baserow/baserow.webp b/public/blueprints/baserow/baserow.webp similarity index 100% rename from blueprints/baserow/baserow.webp rename to public/blueprints/baserow/baserow.webp diff --git a/blueprints/baserow/docker-compose.yml b/public/blueprints/baserow/docker-compose.yml similarity index 100% rename from blueprints/baserow/docker-compose.yml rename to public/blueprints/baserow/docker-compose.yml diff --git a/blueprints/baserow/template.yml b/public/blueprints/baserow/template.yml similarity index 100% rename from blueprints/baserow/template.yml rename to public/blueprints/baserow/template.yml diff --git a/blueprints/blender/blender.svg b/public/blueprints/blender/blender.svg similarity index 100% rename from blueprints/blender/blender.svg rename to public/blueprints/blender/blender.svg diff --git a/blueprints/blender/docker-compose.yml b/public/blueprints/blender/docker-compose.yml similarity index 100% rename from blueprints/blender/docker-compose.yml rename to public/blueprints/blender/docker-compose.yml diff --git a/blueprints/blender/template.yml b/public/blueprints/blender/template.yml similarity index 100% rename from blueprints/blender/template.yml rename to public/blueprints/blender/template.yml diff --git a/blueprints/browserless/browserless.svg b/public/blueprints/browserless/browserless.svg similarity index 100% rename from blueprints/browserless/browserless.svg rename to public/blueprints/browserless/browserless.svg diff --git a/blueprints/browserless/docker-compose.yml b/public/blueprints/browserless/docker-compose.yml similarity index 100% rename from blueprints/browserless/docker-compose.yml rename to public/blueprints/browserless/docker-compose.yml diff --git a/blueprints/browserless/template.yml b/public/blueprints/browserless/template.yml similarity index 100% rename from blueprints/browserless/template.yml rename to public/blueprints/browserless/template.yml diff --git a/blueprints/budibase/budibase.svg b/public/blueprints/budibase/budibase.svg similarity index 100% rename from blueprints/budibase/budibase.svg rename to public/blueprints/budibase/budibase.svg diff --git a/blueprints/budibase/docker-compose.yml b/public/blueprints/budibase/docker-compose.yml similarity index 100% rename from blueprints/budibase/docker-compose.yml rename to public/blueprints/budibase/docker-compose.yml diff --git a/blueprints/budibase/template.yml b/public/blueprints/budibase/template.yml similarity index 100% rename from blueprints/budibase/template.yml rename to public/blueprints/budibase/template.yml diff --git a/blueprints/calcom/calcom.jpg b/public/blueprints/calcom/calcom.jpg similarity index 100% rename from blueprints/calcom/calcom.jpg rename to public/blueprints/calcom/calcom.jpg diff --git a/blueprints/calcom/docker-compose.yml b/public/blueprints/calcom/docker-compose.yml similarity index 100% rename from blueprints/calcom/docker-compose.yml rename to public/blueprints/calcom/docker-compose.yml diff --git a/blueprints/calcom/template.yml b/public/blueprints/calcom/template.yml similarity index 100% rename from blueprints/calcom/template.yml rename to public/blueprints/calcom/template.yml diff --git a/blueprints/chatwoot/chatwoot.svg b/public/blueprints/chatwoot/chatwoot.svg similarity index 100% rename from blueprints/chatwoot/chatwoot.svg rename to public/blueprints/chatwoot/chatwoot.svg diff --git a/blueprints/chatwoot/docker-compose.yml b/public/blueprints/chatwoot/docker-compose.yml similarity index 100% rename from blueprints/chatwoot/docker-compose.yml rename to public/blueprints/chatwoot/docker-compose.yml diff --git a/blueprints/chatwoot/template.yml b/public/blueprints/chatwoot/template.yml similarity index 100% rename from blueprints/chatwoot/template.yml rename to public/blueprints/chatwoot/template.yml diff --git a/blueprints/checkmate/checkmate.png b/public/blueprints/checkmate/checkmate.png similarity index 100% rename from blueprints/checkmate/checkmate.png rename to public/blueprints/checkmate/checkmate.png diff --git a/blueprints/checkmate/docker-compose.yml b/public/blueprints/checkmate/docker-compose.yml similarity index 100% rename from blueprints/checkmate/docker-compose.yml rename to public/blueprints/checkmate/docker-compose.yml diff --git a/blueprints/checkmate/template.yml b/public/blueprints/checkmate/template.yml similarity index 100% rename from blueprints/checkmate/template.yml rename to public/blueprints/checkmate/template.yml diff --git a/blueprints/cloudflared/cloudflared.svg b/public/blueprints/cloudflared/cloudflared.svg similarity index 100% rename from blueprints/cloudflared/cloudflared.svg rename to public/blueprints/cloudflared/cloudflared.svg diff --git a/blueprints/cloudflared/docker-compose.yml b/public/blueprints/cloudflared/docker-compose.yml similarity index 100% rename from blueprints/cloudflared/docker-compose.yml rename to public/blueprints/cloudflared/docker-compose.yml diff --git a/blueprints/cloudflared/template.yml b/public/blueprints/cloudflared/template.yml similarity index 100% rename from blueprints/cloudflared/template.yml rename to public/blueprints/cloudflared/template.yml diff --git a/blueprints/coder/coder.svg b/public/blueprints/coder/coder.svg similarity index 100% rename from blueprints/coder/coder.svg rename to public/blueprints/coder/coder.svg diff --git a/blueprints/coder/docker-compose.yml b/public/blueprints/coder/docker-compose.yml similarity index 100% rename from blueprints/coder/docker-compose.yml rename to public/blueprints/coder/docker-compose.yml diff --git a/blueprints/coder/template.yml b/public/blueprints/coder/template.yml similarity index 100% rename from blueprints/coder/template.yml rename to public/blueprints/coder/template.yml diff --git a/blueprints/conduit/conduit.svg b/public/blueprints/conduit/conduit.svg similarity index 100% rename from blueprints/conduit/conduit.svg rename to public/blueprints/conduit/conduit.svg diff --git a/blueprints/conduit/docker-compose.yml b/public/blueprints/conduit/docker-compose.yml similarity index 100% rename from blueprints/conduit/docker-compose.yml rename to public/blueprints/conduit/docker-compose.yml diff --git a/blueprints/conduit/template.yml b/public/blueprints/conduit/template.yml similarity index 100% rename from blueprints/conduit/template.yml rename to public/blueprints/conduit/template.yml diff --git a/blueprints/conduwuit/conduwuit.svg b/public/blueprints/conduwuit/conduwuit.svg similarity index 100% rename from blueprints/conduwuit/conduwuit.svg rename to public/blueprints/conduwuit/conduwuit.svg diff --git a/blueprints/conduwuit/docker-compose.yml b/public/blueprints/conduwuit/docker-compose.yml similarity index 100% rename from blueprints/conduwuit/docker-compose.yml rename to public/blueprints/conduwuit/docker-compose.yml diff --git a/blueprints/conduwuit/template.yml b/public/blueprints/conduwuit/template.yml similarity index 100% rename from blueprints/conduwuit/template.yml rename to public/blueprints/conduwuit/template.yml diff --git a/blueprints/convex/convex.svg b/public/blueprints/convex/convex.svg similarity index 100% rename from blueprints/convex/convex.svg rename to public/blueprints/convex/convex.svg diff --git a/blueprints/convex/docker-compose.yml b/public/blueprints/convex/docker-compose.yml similarity index 100% rename from blueprints/convex/docker-compose.yml rename to public/blueprints/convex/docker-compose.yml diff --git a/blueprints/convex/template.yml b/public/blueprints/convex/template.yml similarity index 100% rename from blueprints/convex/template.yml rename to public/blueprints/convex/template.yml diff --git a/blueprints/couchdb/couchdb.png b/public/blueprints/couchdb/couchdb.png similarity index 100% rename from blueprints/couchdb/couchdb.png rename to public/blueprints/couchdb/couchdb.png diff --git a/blueprints/couchdb/docker-compose.yml b/public/blueprints/couchdb/docker-compose.yml similarity index 100% rename from blueprints/couchdb/docker-compose.yml rename to public/blueprints/couchdb/docker-compose.yml diff --git a/blueprints/couchdb/template.yml b/public/blueprints/couchdb/template.yml similarity index 100% rename from blueprints/couchdb/template.yml rename to public/blueprints/couchdb/template.yml diff --git a/blueprints/datalens/datalens.svg b/public/blueprints/datalens/datalens.svg similarity index 100% rename from blueprints/datalens/datalens.svg rename to public/blueprints/datalens/datalens.svg diff --git a/blueprints/datalens/docker-compose.yml b/public/blueprints/datalens/docker-compose.yml similarity index 100% rename from blueprints/datalens/docker-compose.yml rename to public/blueprints/datalens/docker-compose.yml diff --git a/blueprints/datalens/template.yml b/public/blueprints/datalens/template.yml similarity index 100% rename from blueprints/datalens/template.yml rename to public/blueprints/datalens/template.yml diff --git a/blueprints/directus/directus.jpg b/public/blueprints/directus/directus.jpg similarity index 100% rename from blueprints/directus/directus.jpg rename to public/blueprints/directus/directus.jpg diff --git a/blueprints/directus/docker-compose.yml b/public/blueprints/directus/docker-compose.yml similarity index 100% rename from blueprints/directus/docker-compose.yml rename to public/blueprints/directus/docker-compose.yml diff --git a/blueprints/directus/template.yml b/public/blueprints/directus/template.yml similarity index 100% rename from blueprints/directus/template.yml rename to public/blueprints/directus/template.yml diff --git a/blueprints/discord-tickets/discord-tickets.png b/public/blueprints/discord-tickets/discord-tickets.png similarity index 100% rename from blueprints/discord-tickets/discord-tickets.png rename to public/blueprints/discord-tickets/discord-tickets.png diff --git a/blueprints/discord-tickets/docker-compose.yml b/public/blueprints/discord-tickets/docker-compose.yml similarity index 100% rename from blueprints/discord-tickets/docker-compose.yml rename to public/blueprints/discord-tickets/docker-compose.yml diff --git a/blueprints/discord-tickets/template.yml b/public/blueprints/discord-tickets/template.yml similarity index 100% rename from blueprints/discord-tickets/template.yml rename to public/blueprints/discord-tickets/template.yml diff --git a/blueprints/discourse/discourse.svg b/public/blueprints/discourse/discourse.svg similarity index 100% rename from blueprints/discourse/discourse.svg rename to public/blueprints/discourse/discourse.svg diff --git a/blueprints/discourse/docker-compose.yml b/public/blueprints/discourse/docker-compose.yml similarity index 100% rename from blueprints/discourse/docker-compose.yml rename to public/blueprints/discourse/docker-compose.yml diff --git a/blueprints/discourse/template.yml b/public/blueprints/discourse/template.yml similarity index 100% rename from blueprints/discourse/template.yml rename to public/blueprints/discourse/template.yml diff --git a/blueprints/docmost/docker-compose.yml b/public/blueprints/docmost/docker-compose.yml similarity index 100% rename from blueprints/docmost/docker-compose.yml rename to public/blueprints/docmost/docker-compose.yml diff --git a/blueprints/docmost/docmost.png b/public/blueprints/docmost/docmost.png similarity index 100% rename from blueprints/docmost/docmost.png rename to public/blueprints/docmost/docmost.png diff --git a/blueprints/docmost/template.yml b/public/blueprints/docmost/template.yml similarity index 100% rename from blueprints/docmost/template.yml rename to public/blueprints/docmost/template.yml diff --git a/blueprints/documenso/docker-compose.yml b/public/blueprints/documenso/docker-compose.yml similarity index 100% rename from blueprints/documenso/docker-compose.yml rename to public/blueprints/documenso/docker-compose.yml diff --git a/blueprints/documenso/documenso.png b/public/blueprints/documenso/documenso.png similarity index 100% rename from blueprints/documenso/documenso.png rename to public/blueprints/documenso/documenso.png diff --git a/blueprints/documenso/template.yml b/public/blueprints/documenso/template.yml similarity index 100% rename from blueprints/documenso/template.yml rename to public/blueprints/documenso/template.yml diff --git a/blueprints/doublezero/docker-compose.yml b/public/blueprints/doublezero/docker-compose.yml similarity index 100% rename from blueprints/doublezero/docker-compose.yml rename to public/blueprints/doublezero/docker-compose.yml diff --git a/blueprints/doublezero/doublezero.svg b/public/blueprints/doublezero/doublezero.svg similarity index 100% rename from blueprints/doublezero/doublezero.svg rename to public/blueprints/doublezero/doublezero.svg diff --git a/blueprints/doublezero/template.yml b/public/blueprints/doublezero/template.yml similarity index 100% rename from blueprints/doublezero/template.yml rename to public/blueprints/doublezero/template.yml diff --git a/blueprints/drawio/docker-compose.yml b/public/blueprints/drawio/docker-compose.yml similarity index 100% rename from blueprints/drawio/docker-compose.yml rename to public/blueprints/drawio/docker-compose.yml diff --git a/blueprints/drawio/drawio.svg b/public/blueprints/drawio/drawio.svg similarity index 100% rename from blueprints/drawio/drawio.svg rename to public/blueprints/drawio/drawio.svg diff --git a/blueprints/drawio/template.yml b/public/blueprints/drawio/template.yml similarity index 100% rename from blueprints/drawio/template.yml rename to public/blueprints/drawio/template.yml diff --git a/blueprints/elastic-search/docker-compose.yml b/public/blueprints/elastic-search/docker-compose.yml similarity index 100% rename from blueprints/elastic-search/docker-compose.yml rename to public/blueprints/elastic-search/docker-compose.yml diff --git a/blueprints/elastic-search/elasticsearch.svg b/public/blueprints/elastic-search/elasticsearch.svg similarity index 100% rename from blueprints/elastic-search/elasticsearch.svg rename to public/blueprints/elastic-search/elasticsearch.svg diff --git a/blueprints/elastic-search/template.yml b/public/blueprints/elastic-search/template.yml similarity index 100% rename from blueprints/elastic-search/template.yml rename to public/blueprints/elastic-search/template.yml diff --git a/blueprints/erpnext/docker-compose.yml b/public/blueprints/erpnext/docker-compose.yml similarity index 100% rename from blueprints/erpnext/docker-compose.yml rename to public/blueprints/erpnext/docker-compose.yml diff --git a/blueprints/erpnext/erpnext.svg b/public/blueprints/erpnext/erpnext.svg similarity index 100% rename from blueprints/erpnext/erpnext.svg rename to public/blueprints/erpnext/erpnext.svg diff --git a/blueprints/erpnext/template.yml b/public/blueprints/erpnext/template.yml similarity index 100% rename from blueprints/erpnext/template.yml rename to public/blueprints/erpnext/template.yml diff --git a/blueprints/evolutionapi/docker-compose.yml b/public/blueprints/evolutionapi/docker-compose.yml similarity index 100% rename from blueprints/evolutionapi/docker-compose.yml rename to public/blueprints/evolutionapi/docker-compose.yml diff --git a/blueprints/evolutionapi/evolutionapi.png b/public/blueprints/evolutionapi/evolutionapi.png similarity index 100% rename from blueprints/evolutionapi/evolutionapi.png rename to public/blueprints/evolutionapi/evolutionapi.png diff --git a/blueprints/evolutionapi/template.yml b/public/blueprints/evolutionapi/template.yml similarity index 100% rename from blueprints/evolutionapi/template.yml rename to public/blueprints/evolutionapi/template.yml diff --git a/blueprints/excalidraw/docker-compose.yml b/public/blueprints/excalidraw/docker-compose.yml similarity index 100% rename from blueprints/excalidraw/docker-compose.yml rename to public/blueprints/excalidraw/docker-compose.yml diff --git a/blueprints/excalidraw/excalidraw.jpg b/public/blueprints/excalidraw/excalidraw.jpg similarity index 100% rename from blueprints/excalidraw/excalidraw.jpg rename to public/blueprints/excalidraw/excalidraw.jpg diff --git a/blueprints/excalidraw/template.yml b/public/blueprints/excalidraw/template.yml similarity index 100% rename from blueprints/excalidraw/template.yml rename to public/blueprints/excalidraw/template.yml diff --git a/blueprints/filebrowser/docker-compose.yml b/public/blueprints/filebrowser/docker-compose.yml similarity index 100% rename from blueprints/filebrowser/docker-compose.yml rename to public/blueprints/filebrowser/docker-compose.yml diff --git a/blueprints/filebrowser/filebrowser.svg b/public/blueprints/filebrowser/filebrowser.svg similarity index 100% rename from blueprints/filebrowser/filebrowser.svg rename to public/blueprints/filebrowser/filebrowser.svg diff --git a/blueprints/filebrowser/template.yml b/public/blueprints/filebrowser/template.yml similarity index 100% rename from blueprints/filebrowser/template.yml rename to public/blueprints/filebrowser/template.yml diff --git a/blueprints/formbricks/docker-compose.yml b/public/blueprints/formbricks/docker-compose.yml similarity index 100% rename from blueprints/formbricks/docker-compose.yml rename to public/blueprints/formbricks/docker-compose.yml diff --git a/blueprints/formbricks/formbricks.png b/public/blueprints/formbricks/formbricks.png similarity index 100% rename from blueprints/formbricks/formbricks.png rename to public/blueprints/formbricks/formbricks.png diff --git a/blueprints/formbricks/template.yml b/public/blueprints/formbricks/template.yml similarity index 100% rename from blueprints/formbricks/template.yml rename to public/blueprints/formbricks/template.yml diff --git a/blueprints/frappe-hr/docker-compose.yml b/public/blueprints/frappe-hr/docker-compose.yml similarity index 100% rename from blueprints/frappe-hr/docker-compose.yml rename to public/blueprints/frappe-hr/docker-compose.yml diff --git a/blueprints/frappe-hr/frappe-hr.svg b/public/blueprints/frappe-hr/frappe-hr.svg similarity index 100% rename from blueprints/frappe-hr/frappe-hr.svg rename to public/blueprints/frappe-hr/frappe-hr.svg diff --git a/blueprints/frappe-hr/template.yml b/public/blueprints/frappe-hr/template.yml similarity index 100% rename from blueprints/frappe-hr/template.yml rename to public/blueprints/frappe-hr/template.yml diff --git a/blueprints/ghost/docker-compose.yml b/public/blueprints/ghost/docker-compose.yml similarity index 100% rename from blueprints/ghost/docker-compose.yml rename to public/blueprints/ghost/docker-compose.yml diff --git a/blueprints/ghost/ghost.jpeg b/public/blueprints/ghost/ghost.jpeg similarity index 100% rename from blueprints/ghost/ghost.jpeg rename to public/blueprints/ghost/ghost.jpeg diff --git a/blueprints/ghost/template.yml b/public/blueprints/ghost/template.yml similarity index 100% rename from blueprints/ghost/template.yml rename to public/blueprints/ghost/template.yml diff --git a/blueprints/gitea/docker-compose.yml b/public/blueprints/gitea/docker-compose.yml similarity index 100% rename from blueprints/gitea/docker-compose.yml rename to public/blueprints/gitea/docker-compose.yml diff --git a/blueprints/gitea/gitea.png b/public/blueprints/gitea/gitea.png similarity index 100% rename from blueprints/gitea/gitea.png rename to public/blueprints/gitea/gitea.png diff --git a/blueprints/gitea/template.yml b/public/blueprints/gitea/template.yml similarity index 100% rename from blueprints/gitea/template.yml rename to public/blueprints/gitea/template.yml diff --git a/blueprints/glance/docker-compose.yml b/public/blueprints/glance/docker-compose.yml similarity index 100% rename from blueprints/glance/docker-compose.yml rename to public/blueprints/glance/docker-compose.yml diff --git a/blueprints/glance/glance.png b/public/blueprints/glance/glance.png similarity index 100% rename from blueprints/glance/glance.png rename to public/blueprints/glance/glance.png diff --git a/blueprints/glance/template.yml b/public/blueprints/glance/template.yml similarity index 100% rename from blueprints/glance/template.yml rename to public/blueprints/glance/template.yml diff --git a/blueprints/glitchtip/docker-compose.yml b/public/blueprints/glitchtip/docker-compose.yml similarity index 100% rename from blueprints/glitchtip/docker-compose.yml rename to public/blueprints/glitchtip/docker-compose.yml diff --git a/blueprints/glitchtip/glitchtip.png b/public/blueprints/glitchtip/glitchtip.png similarity index 100% rename from blueprints/glitchtip/glitchtip.png rename to public/blueprints/glitchtip/glitchtip.png diff --git a/blueprints/glitchtip/template.yml b/public/blueprints/glitchtip/template.yml similarity index 100% rename from blueprints/glitchtip/template.yml rename to public/blueprints/glitchtip/template.yml diff --git a/blueprints/glpi/docker-compose.yml b/public/blueprints/glpi/docker-compose.yml similarity index 100% rename from blueprints/glpi/docker-compose.yml rename to public/blueprints/glpi/docker-compose.yml diff --git a/blueprints/glpi/glpi.webp b/public/blueprints/glpi/glpi.webp similarity index 100% rename from blueprints/glpi/glpi.webp rename to public/blueprints/glpi/glpi.webp diff --git a/blueprints/glpi/template.yml b/public/blueprints/glpi/template.yml similarity index 100% rename from blueprints/glpi/template.yml rename to public/blueprints/glpi/template.yml diff --git a/blueprints/gotenberg/docker-compose.yml b/public/blueprints/gotenberg/docker-compose.yml similarity index 100% rename from blueprints/gotenberg/docker-compose.yml rename to public/blueprints/gotenberg/docker-compose.yml diff --git a/blueprints/gotenberg/gotenberg.png b/public/blueprints/gotenberg/gotenberg.png similarity index 100% rename from blueprints/gotenberg/gotenberg.png rename to public/blueprints/gotenberg/gotenberg.png diff --git a/blueprints/gotenberg/template.yml b/public/blueprints/gotenberg/template.yml similarity index 100% rename from blueprints/gotenberg/template.yml rename to public/blueprints/gotenberg/template.yml diff --git a/blueprints/grafana/docker-compose.yml b/public/blueprints/grafana/docker-compose.yml similarity index 100% rename from blueprints/grafana/docker-compose.yml rename to public/blueprints/grafana/docker-compose.yml diff --git a/blueprints/grafana/grafana.svg b/public/blueprints/grafana/grafana.svg similarity index 100% rename from blueprints/grafana/grafana.svg rename to public/blueprints/grafana/grafana.svg diff --git a/blueprints/grafana/template.yml b/public/blueprints/grafana/template.yml similarity index 100% rename from blueprints/grafana/template.yml rename to public/blueprints/grafana/template.yml diff --git a/blueprints/heyform/docker-compose.yml b/public/blueprints/heyform/docker-compose.yml similarity index 100% rename from blueprints/heyform/docker-compose.yml rename to public/blueprints/heyform/docker-compose.yml diff --git a/blueprints/heyform/heyform.svg b/public/blueprints/heyform/heyform.svg similarity index 100% rename from blueprints/heyform/heyform.svg rename to public/blueprints/heyform/heyform.svg diff --git a/blueprints/heyform/template.yml b/public/blueprints/heyform/template.yml similarity index 100% rename from blueprints/heyform/template.yml rename to public/blueprints/heyform/template.yml diff --git a/blueprints/hi-events/docker-compose.yml b/public/blueprints/hi-events/docker-compose.yml similarity index 100% rename from blueprints/hi-events/docker-compose.yml rename to public/blueprints/hi-events/docker-compose.yml diff --git a/blueprints/hi-events/hi-events.svg b/public/blueprints/hi-events/hi-events.svg similarity index 100% rename from blueprints/hi-events/hi-events.svg rename to public/blueprints/hi-events/hi-events.svg diff --git a/blueprints/hi-events/template.yml b/public/blueprints/hi-events/template.yml similarity index 100% rename from blueprints/hi-events/template.yml rename to public/blueprints/hi-events/template.yml diff --git a/blueprints/hoarder/docker-compose.yml b/public/blueprints/hoarder/docker-compose.yml similarity index 100% rename from blueprints/hoarder/docker-compose.yml rename to public/blueprints/hoarder/docker-compose.yml diff --git a/blueprints/hoarder/hoarder.svg b/public/blueprints/hoarder/hoarder.svg similarity index 100% rename from blueprints/hoarder/hoarder.svg rename to public/blueprints/hoarder/hoarder.svg diff --git a/blueprints/hoarder/template.yml b/public/blueprints/hoarder/template.yml similarity index 100% rename from blueprints/hoarder/template.yml rename to public/blueprints/hoarder/template.yml diff --git a/blueprints/homarr/docker-compose.yml b/public/blueprints/homarr/docker-compose.yml similarity index 100% rename from blueprints/homarr/docker-compose.yml rename to public/blueprints/homarr/docker-compose.yml diff --git a/blueprints/homarr/homarr.png b/public/blueprints/homarr/homarr.png similarity index 100% rename from blueprints/homarr/homarr.png rename to public/blueprints/homarr/homarr.png diff --git a/blueprints/homarr/template.yml b/public/blueprints/homarr/template.yml similarity index 100% rename from blueprints/homarr/template.yml rename to public/blueprints/homarr/template.yml diff --git a/blueprints/huly/docker-compose.yml b/public/blueprints/huly/docker-compose.yml similarity index 100% rename from blueprints/huly/docker-compose.yml rename to public/blueprints/huly/docker-compose.yml diff --git a/blueprints/huly/huly.svg b/public/blueprints/huly/huly.svg similarity index 100% rename from blueprints/huly/huly.svg rename to public/blueprints/huly/huly.svg diff --git a/blueprints/huly/template.yml b/public/blueprints/huly/template.yml similarity index 100% rename from blueprints/huly/template.yml rename to public/blueprints/huly/template.yml diff --git a/blueprints/immich/docker-compose.yml b/public/blueprints/immich/docker-compose.yml similarity index 100% rename from blueprints/immich/docker-compose.yml rename to public/blueprints/immich/docker-compose.yml diff --git a/blueprints/immich/immich.svg b/public/blueprints/immich/immich.svg similarity index 100% rename from blueprints/immich/immich.svg rename to public/blueprints/immich/immich.svg diff --git a/blueprints/immich/template.yml b/public/blueprints/immich/template.yml similarity index 100% rename from blueprints/immich/template.yml rename to public/blueprints/immich/template.yml diff --git a/blueprints/infisical/docker-compose.yml b/public/blueprints/infisical/docker-compose.yml similarity index 100% rename from blueprints/infisical/docker-compose.yml rename to public/blueprints/infisical/docker-compose.yml diff --git a/blueprints/infisical/infisical.jpg b/public/blueprints/infisical/infisical.jpg similarity index 100% rename from blueprints/infisical/infisical.jpg rename to public/blueprints/infisical/infisical.jpg diff --git a/blueprints/infisical/template.yml b/public/blueprints/infisical/template.yml similarity index 100% rename from blueprints/infisical/template.yml rename to public/blueprints/infisical/template.yml diff --git a/blueprints/influxdb/docker-compose.yml b/public/blueprints/influxdb/docker-compose.yml similarity index 100% rename from blueprints/influxdb/docker-compose.yml rename to public/blueprints/influxdb/docker-compose.yml diff --git a/blueprints/influxdb/influxdb.png b/public/blueprints/influxdb/influxdb.png similarity index 100% rename from blueprints/influxdb/influxdb.png rename to public/blueprints/influxdb/influxdb.png diff --git a/blueprints/influxdb/template.yml b/public/blueprints/influxdb/template.yml similarity index 100% rename from blueprints/influxdb/template.yml rename to public/blueprints/influxdb/template.yml diff --git a/blueprints/invoiceshelf/docker-compose.yml b/public/blueprints/invoiceshelf/docker-compose.yml similarity index 100% rename from blueprints/invoiceshelf/docker-compose.yml rename to public/blueprints/invoiceshelf/docker-compose.yml diff --git a/blueprints/invoiceshelf/invoiceshelf.png b/public/blueprints/invoiceshelf/invoiceshelf.png similarity index 100% rename from blueprints/invoiceshelf/invoiceshelf.png rename to public/blueprints/invoiceshelf/invoiceshelf.png diff --git a/blueprints/invoiceshelf/template.yml b/public/blueprints/invoiceshelf/template.yml similarity index 100% rename from blueprints/invoiceshelf/template.yml rename to public/blueprints/invoiceshelf/template.yml diff --git a/blueprints/it-tools/docker-compose.yml b/public/blueprints/it-tools/docker-compose.yml similarity index 100% rename from blueprints/it-tools/docker-compose.yml rename to public/blueprints/it-tools/docker-compose.yml diff --git a/blueprints/it-tools/it-tools.svg b/public/blueprints/it-tools/it-tools.svg similarity index 100% rename from blueprints/it-tools/it-tools.svg rename to public/blueprints/it-tools/it-tools.svg diff --git a/blueprints/it-tools/template.yml b/public/blueprints/it-tools/template.yml similarity index 100% rename from blueprints/it-tools/template.yml rename to public/blueprints/it-tools/template.yml diff --git a/blueprints/jellyfin/docker-compose.yml b/public/blueprints/jellyfin/docker-compose.yml similarity index 100% rename from blueprints/jellyfin/docker-compose.yml rename to public/blueprints/jellyfin/docker-compose.yml diff --git a/blueprints/jellyfin/jellyfin.svg b/public/blueprints/jellyfin/jellyfin.svg similarity index 100% rename from blueprints/jellyfin/jellyfin.svg rename to public/blueprints/jellyfin/jellyfin.svg diff --git a/blueprints/jellyfin/template.yml b/public/blueprints/jellyfin/template.yml similarity index 100% rename from blueprints/jellyfin/template.yml rename to public/blueprints/jellyfin/template.yml diff --git a/blueprints/kimai/docker-compose.yml b/public/blueprints/kimai/docker-compose.yml similarity index 100% rename from blueprints/kimai/docker-compose.yml rename to public/blueprints/kimai/docker-compose.yml diff --git a/blueprints/kimai/kimai.svg b/public/blueprints/kimai/kimai.svg similarity index 100% rename from blueprints/kimai/kimai.svg rename to public/blueprints/kimai/kimai.svg diff --git a/blueprints/kimai/template.yml b/public/blueprints/kimai/template.yml similarity index 100% rename from blueprints/kimai/template.yml rename to public/blueprints/kimai/template.yml diff --git a/blueprints/langflow/docker-compose.yml b/public/blueprints/langflow/docker-compose.yml similarity index 100% rename from blueprints/langflow/docker-compose.yml rename to public/blueprints/langflow/docker-compose.yml diff --git a/blueprints/langflow/langflow.svg b/public/blueprints/langflow/langflow.svg similarity index 100% rename from blueprints/langflow/langflow.svg rename to public/blueprints/langflow/langflow.svg diff --git a/blueprints/langflow/template.yml b/public/blueprints/langflow/template.yml similarity index 100% rename from blueprints/langflow/template.yml rename to public/blueprints/langflow/template.yml diff --git a/blueprints/linkwarden/docker-compose.yml b/public/blueprints/linkwarden/docker-compose.yml similarity index 100% rename from blueprints/linkwarden/docker-compose.yml rename to public/blueprints/linkwarden/docker-compose.yml diff --git a/blueprints/linkwarden/linkwarden.png b/public/blueprints/linkwarden/linkwarden.png similarity index 100% rename from blueprints/linkwarden/linkwarden.png rename to public/blueprints/linkwarden/linkwarden.png diff --git a/blueprints/linkwarden/template.yml b/public/blueprints/linkwarden/template.yml similarity index 100% rename from blueprints/linkwarden/template.yml rename to public/blueprints/linkwarden/template.yml diff --git a/blueprints/listmonk/docker-compose.yml b/public/blueprints/listmonk/docker-compose.yml similarity index 100% rename from blueprints/listmonk/docker-compose.yml rename to public/blueprints/listmonk/docker-compose.yml diff --git a/blueprints/listmonk/listmonk.png b/public/blueprints/listmonk/listmonk.png similarity index 100% rename from blueprints/listmonk/listmonk.png rename to public/blueprints/listmonk/listmonk.png diff --git a/blueprints/listmonk/template.yml b/public/blueprints/listmonk/template.yml similarity index 100% rename from blueprints/listmonk/template.yml rename to public/blueprints/listmonk/template.yml diff --git a/blueprints/lobe-chat/docker-compose.yml b/public/blueprints/lobe-chat/docker-compose.yml similarity index 100% rename from blueprints/lobe-chat/docker-compose.yml rename to public/blueprints/lobe-chat/docker-compose.yml diff --git a/blueprints/lobe-chat/lobe-chat.png b/public/blueprints/lobe-chat/lobe-chat.png similarity index 100% rename from blueprints/lobe-chat/lobe-chat.png rename to public/blueprints/lobe-chat/lobe-chat.png diff --git a/blueprints/lobe-chat/template.yml b/public/blueprints/lobe-chat/template.yml similarity index 100% rename from blueprints/lobe-chat/template.yml rename to public/blueprints/lobe-chat/template.yml diff --git a/blueprints/logto/docker-compose.yml b/public/blueprints/logto/docker-compose.yml similarity index 100% rename from blueprints/logto/docker-compose.yml rename to public/blueprints/logto/docker-compose.yml diff --git a/blueprints/logto/logto.png b/public/blueprints/logto/logto.png similarity index 100% rename from blueprints/logto/logto.png rename to public/blueprints/logto/logto.png diff --git a/blueprints/logto/template.yml b/public/blueprints/logto/template.yml similarity index 100% rename from blueprints/logto/template.yml rename to public/blueprints/logto/template.yml diff --git a/blueprints/macos/docker-compose.yml b/public/blueprints/macos/docker-compose.yml similarity index 100% rename from blueprints/macos/docker-compose.yml rename to public/blueprints/macos/docker-compose.yml diff --git a/blueprints/macos/macos.png b/public/blueprints/macos/macos.png similarity index 100% rename from blueprints/macos/macos.png rename to public/blueprints/macos/macos.png diff --git a/blueprints/macos/template.yml b/public/blueprints/macos/template.yml similarity index 100% rename from blueprints/macos/template.yml rename to public/blueprints/macos/template.yml diff --git a/blueprints/mailpit/docker-compose.yml b/public/blueprints/mailpit/docker-compose.yml similarity index 100% rename from blueprints/mailpit/docker-compose.yml rename to public/blueprints/mailpit/docker-compose.yml diff --git a/blueprints/mailpit/mailpit.svg b/public/blueprints/mailpit/mailpit.svg similarity index 100% rename from blueprints/mailpit/mailpit.svg rename to public/blueprints/mailpit/mailpit.svg diff --git a/blueprints/mailpit/template.yml b/public/blueprints/mailpit/template.yml similarity index 100% rename from blueprints/mailpit/template.yml rename to public/blueprints/mailpit/template.yml diff --git a/blueprints/maybe/docker-compose.yml b/public/blueprints/maybe/docker-compose.yml similarity index 100% rename from blueprints/maybe/docker-compose.yml rename to public/blueprints/maybe/docker-compose.yml diff --git a/blueprints/maybe/maybe.svg b/public/blueprints/maybe/maybe.svg similarity index 100% rename from blueprints/maybe/maybe.svg rename to public/blueprints/maybe/maybe.svg diff --git a/blueprints/maybe/template.yml b/public/blueprints/maybe/template.yml similarity index 100% rename from blueprints/maybe/template.yml rename to public/blueprints/maybe/template.yml diff --git a/blueprints/meilisearch/docker-compose.yml b/public/blueprints/meilisearch/docker-compose.yml similarity index 100% rename from blueprints/meilisearch/docker-compose.yml rename to public/blueprints/meilisearch/docker-compose.yml diff --git a/blueprints/meilisearch/meilisearch.png b/public/blueprints/meilisearch/meilisearch.png similarity index 100% rename from blueprints/meilisearch/meilisearch.png rename to public/blueprints/meilisearch/meilisearch.png diff --git a/blueprints/meilisearch/template.yml b/public/blueprints/meilisearch/template.yml similarity index 100% rename from blueprints/meilisearch/template.yml rename to public/blueprints/meilisearch/template.yml diff --git a/blueprints/metabase/docker-compose.yml b/public/blueprints/metabase/docker-compose.yml similarity index 100% rename from blueprints/metabase/docker-compose.yml rename to public/blueprints/metabase/docker-compose.yml diff --git a/blueprints/metabase/metabase.png b/public/blueprints/metabase/metabase.png similarity index 100% rename from blueprints/metabase/metabase.png rename to public/blueprints/metabase/metabase.png diff --git a/blueprints/metabase/template.yml b/public/blueprints/metabase/template.yml similarity index 100% rename from blueprints/metabase/template.yml rename to public/blueprints/metabase/template.yml diff --git a/blueprints/minio/docker-compose.yml b/public/blueprints/minio/docker-compose.yml similarity index 100% rename from blueprints/minio/docker-compose.yml rename to public/blueprints/minio/docker-compose.yml diff --git a/blueprints/minio/minio.png b/public/blueprints/minio/minio.png similarity index 100% rename from blueprints/minio/minio.png rename to public/blueprints/minio/minio.png diff --git a/blueprints/minio/template.yml b/public/blueprints/minio/template.yml similarity index 100% rename from blueprints/minio/template.yml rename to public/blueprints/minio/template.yml diff --git a/blueprints/n8n/docker-compose.yml b/public/blueprints/n8n/docker-compose.yml similarity index 100% rename from blueprints/n8n/docker-compose.yml rename to public/blueprints/n8n/docker-compose.yml diff --git a/blueprints/n8n/n8n.png b/public/blueprints/n8n/n8n.png similarity index 100% rename from blueprints/n8n/n8n.png rename to public/blueprints/n8n/n8n.png diff --git a/blueprints/n8n/template.yml b/public/blueprints/n8n/template.yml similarity index 100% rename from blueprints/n8n/template.yml rename to public/blueprints/n8n/template.yml diff --git a/blueprints/nextcloud-aio/docker-compose.yml b/public/blueprints/nextcloud-aio/docker-compose.yml similarity index 100% rename from blueprints/nextcloud-aio/docker-compose.yml rename to public/blueprints/nextcloud-aio/docker-compose.yml diff --git a/blueprints/nextcloud-aio/nextcloud-aio.svg b/public/blueprints/nextcloud-aio/nextcloud-aio.svg similarity index 100% rename from blueprints/nextcloud-aio/nextcloud-aio.svg rename to public/blueprints/nextcloud-aio/nextcloud-aio.svg diff --git a/blueprints/nextcloud-aio/template.yml b/public/blueprints/nextcloud-aio/template.yml similarity index 100% rename from blueprints/nextcloud-aio/template.yml rename to public/blueprints/nextcloud-aio/template.yml diff --git a/blueprints/nocodb/docker-compose.yml b/public/blueprints/nocodb/docker-compose.yml similarity index 100% rename from blueprints/nocodb/docker-compose.yml rename to public/blueprints/nocodb/docker-compose.yml diff --git a/blueprints/nocodb/nocodb.png b/public/blueprints/nocodb/nocodb.png similarity index 100% rename from blueprints/nocodb/nocodb.png rename to public/blueprints/nocodb/nocodb.png diff --git a/blueprints/nocodb/template.yml b/public/blueprints/nocodb/template.yml similarity index 100% rename from blueprints/nocodb/template.yml rename to public/blueprints/nocodb/template.yml diff --git a/blueprints/odoo/docker-compose.yml b/public/blueprints/odoo/docker-compose.yml similarity index 100% rename from blueprints/odoo/docker-compose.yml rename to public/blueprints/odoo/docker-compose.yml diff --git a/blueprints/odoo/odoo.png b/public/blueprints/odoo/odoo.png similarity index 100% rename from blueprints/odoo/odoo.png rename to public/blueprints/odoo/odoo.png diff --git a/blueprints/odoo/template.yml b/public/blueprints/odoo/template.yml similarity index 100% rename from blueprints/odoo/template.yml rename to public/blueprints/odoo/template.yml diff --git a/blueprints/onedev/docker-compose.yml b/public/blueprints/onedev/docker-compose.yml similarity index 100% rename from blueprints/onedev/docker-compose.yml rename to public/blueprints/onedev/docker-compose.yml diff --git a/blueprints/onedev/onedev.png b/public/blueprints/onedev/onedev.png similarity index 100% rename from blueprints/onedev/onedev.png rename to public/blueprints/onedev/onedev.png diff --git a/blueprints/onedev/template.yml b/public/blueprints/onedev/template.yml similarity index 100% rename from blueprints/onedev/template.yml rename to public/blueprints/onedev/template.yml diff --git a/blueprints/ontime/docker-compose.yml b/public/blueprints/ontime/docker-compose.yml similarity index 100% rename from blueprints/ontime/docker-compose.yml rename to public/blueprints/ontime/docker-compose.yml diff --git a/blueprints/ontime/ontime.png b/public/blueprints/ontime/ontime.png similarity index 100% rename from blueprints/ontime/ontime.png rename to public/blueprints/ontime/ontime.png diff --git a/blueprints/ontime/template.yml b/public/blueprints/ontime/template.yml similarity index 100% rename from blueprints/ontime/template.yml rename to public/blueprints/ontime/template.yml diff --git a/blueprints/open-webui/docker-compose.yml b/public/blueprints/open-webui/docker-compose.yml similarity index 100% rename from blueprints/open-webui/docker-compose.yml rename to public/blueprints/open-webui/docker-compose.yml diff --git a/blueprints/open-webui/open-webui.png b/public/blueprints/open-webui/open-webui.png similarity index 100% rename from blueprints/open-webui/open-webui.png rename to public/blueprints/open-webui/open-webui.png diff --git a/blueprints/open-webui/template.yml b/public/blueprints/open-webui/template.yml similarity index 100% rename from blueprints/open-webui/template.yml rename to public/blueprints/open-webui/template.yml diff --git a/blueprints/outline/docker-compose.yml b/public/blueprints/outline/docker-compose.yml similarity index 100% rename from blueprints/outline/docker-compose.yml rename to public/blueprints/outline/docker-compose.yml diff --git a/blueprints/outline/outline.png b/public/blueprints/outline/outline.png similarity index 100% rename from blueprints/outline/outline.png rename to public/blueprints/outline/outline.png diff --git a/blueprints/outline/template.yml b/public/blueprints/outline/template.yml similarity index 100% rename from blueprints/outline/template.yml rename to public/blueprints/outline/template.yml diff --git a/blueprints/penpot/docker-compose.yml b/public/blueprints/penpot/docker-compose.yml similarity index 100% rename from blueprints/penpot/docker-compose.yml rename to public/blueprints/penpot/docker-compose.yml diff --git a/blueprints/penpot/penpot.svg b/public/blueprints/penpot/penpot.svg similarity index 100% rename from blueprints/penpot/penpot.svg rename to public/blueprints/penpot/penpot.svg diff --git a/blueprints/penpot/template.yml b/public/blueprints/penpot/template.yml similarity index 100% rename from blueprints/penpot/template.yml rename to public/blueprints/penpot/template.yml diff --git a/blueprints/peppermint/docker-compose.yml b/public/blueprints/peppermint/docker-compose.yml similarity index 100% rename from blueprints/peppermint/docker-compose.yml rename to public/blueprints/peppermint/docker-compose.yml diff --git a/blueprints/peppermint/peppermint.svg b/public/blueprints/peppermint/peppermint.svg similarity index 100% rename from blueprints/peppermint/peppermint.svg rename to public/blueprints/peppermint/peppermint.svg diff --git a/blueprints/peppermint/template.yml b/public/blueprints/peppermint/template.yml similarity index 100% rename from blueprints/peppermint/template.yml rename to public/blueprints/peppermint/template.yml diff --git a/blueprints/photoprism/docker-compose.yml b/public/blueprints/photoprism/docker-compose.yml similarity index 100% rename from blueprints/photoprism/docker-compose.yml rename to public/blueprints/photoprism/docker-compose.yml diff --git a/blueprints/photoprism/photoprism.svg b/public/blueprints/photoprism/photoprism.svg similarity index 100% rename from blueprints/photoprism/photoprism.svg rename to public/blueprints/photoprism/photoprism.svg diff --git a/blueprints/photoprism/template.yml b/public/blueprints/photoprism/template.yml similarity index 100% rename from blueprints/photoprism/template.yml rename to public/blueprints/photoprism/template.yml diff --git a/blueprints/phpmyadmin/docker-compose.yml b/public/blueprints/phpmyadmin/docker-compose.yml similarity index 100% rename from blueprints/phpmyadmin/docker-compose.yml rename to public/blueprints/phpmyadmin/docker-compose.yml diff --git a/blueprints/phpmyadmin/phpmyadmin.png b/public/blueprints/phpmyadmin/phpmyadmin.png similarity index 100% rename from blueprints/phpmyadmin/phpmyadmin.png rename to public/blueprints/phpmyadmin/phpmyadmin.png diff --git a/blueprints/phpmyadmin/template.yml b/public/blueprints/phpmyadmin/template.yml similarity index 100% rename from blueprints/phpmyadmin/template.yml rename to public/blueprints/phpmyadmin/template.yml diff --git a/blueprints/plausible/docker-compose.yml b/public/blueprints/plausible/docker-compose.yml similarity index 100% rename from blueprints/plausible/docker-compose.yml rename to public/blueprints/plausible/docker-compose.yml diff --git a/blueprints/plausible/logo.svg b/public/blueprints/plausible/logo.svg similarity index 100% rename from blueprints/plausible/logo.svg rename to public/blueprints/plausible/logo.svg diff --git a/blueprints/plausible/template.yml b/public/blueprints/plausible/template.yml similarity index 100% rename from blueprints/plausible/template.yml rename to public/blueprints/plausible/template.yml diff --git a/blueprints/pocket-id/docker-compose.yml b/public/blueprints/pocket-id/docker-compose.yml similarity index 100% rename from blueprints/pocket-id/docker-compose.yml rename to public/blueprints/pocket-id/docker-compose.yml diff --git a/blueprints/pocket-id/pocket-id.svg b/public/blueprints/pocket-id/pocket-id.svg similarity index 100% rename from blueprints/pocket-id/pocket-id.svg rename to public/blueprints/pocket-id/pocket-id.svg diff --git a/blueprints/pocket-id/template.yml b/public/blueprints/pocket-id/template.yml similarity index 100% rename from blueprints/pocket-id/template.yml rename to public/blueprints/pocket-id/template.yml diff --git a/blueprints/pocketbase/docker-compose.yml b/public/blueprints/pocketbase/docker-compose.yml similarity index 100% rename from blueprints/pocketbase/docker-compose.yml rename to public/blueprints/pocketbase/docker-compose.yml diff --git a/blueprints/pocketbase/logo.svg b/public/blueprints/pocketbase/logo.svg similarity index 100% rename from blueprints/pocketbase/logo.svg rename to public/blueprints/pocketbase/logo.svg diff --git a/blueprints/pocketbase/template.yml b/public/blueprints/pocketbase/template.yml similarity index 100% rename from blueprints/pocketbase/template.yml rename to public/blueprints/pocketbase/template.yml diff --git a/blueprints/portainer/docker-compose.yml b/public/blueprints/portainer/docker-compose.yml similarity index 100% rename from blueprints/portainer/docker-compose.yml rename to public/blueprints/portainer/docker-compose.yml diff --git a/blueprints/portainer/portainer.svg b/public/blueprints/portainer/portainer.svg similarity index 100% rename from blueprints/portainer/portainer.svg rename to public/blueprints/portainer/portainer.svg diff --git a/blueprints/portainer/template.yml b/public/blueprints/portainer/template.yml similarity index 100% rename from blueprints/portainer/template.yml rename to public/blueprints/portainer/template.yml diff --git a/blueprints/postiz/docker-compose.yml b/public/blueprints/postiz/docker-compose.yml similarity index 100% rename from blueprints/postiz/docker-compose.yml rename to public/blueprints/postiz/docker-compose.yml diff --git a/blueprints/postiz/postiz.png b/public/blueprints/postiz/postiz.png similarity index 100% rename from blueprints/postiz/postiz.png rename to public/blueprints/postiz/postiz.png diff --git a/blueprints/postiz/template.yml b/public/blueprints/postiz/template.yml similarity index 100% rename from blueprints/postiz/template.yml rename to public/blueprints/postiz/template.yml diff --git a/blueprints/registry/docker-compose.yml b/public/blueprints/registry/docker-compose.yml similarity index 100% rename from blueprints/registry/docker-compose.yml rename to public/blueprints/registry/docker-compose.yml diff --git a/blueprints/registry/registry.png b/public/blueprints/registry/registry.png similarity index 100% rename from blueprints/registry/registry.png rename to public/blueprints/registry/registry.png diff --git a/blueprints/registry/template.yml b/public/blueprints/registry/template.yml similarity index 100% rename from blueprints/registry/template.yml rename to public/blueprints/registry/template.yml diff --git a/blueprints/rocketchat/docker-compose.yml b/public/blueprints/rocketchat/docker-compose.yml similarity index 100% rename from blueprints/rocketchat/docker-compose.yml rename to public/blueprints/rocketchat/docker-compose.yml diff --git a/blueprints/rocketchat/rocketchat.png b/public/blueprints/rocketchat/rocketchat.png similarity index 100% rename from blueprints/rocketchat/rocketchat.png rename to public/blueprints/rocketchat/rocketchat.png diff --git a/blueprints/rocketchat/template.yml b/public/blueprints/rocketchat/template.yml similarity index 100% rename from blueprints/rocketchat/template.yml rename to public/blueprints/rocketchat/template.yml diff --git a/blueprints/roundcube/docker-compose.yml b/public/blueprints/roundcube/docker-compose.yml similarity index 100% rename from blueprints/roundcube/docker-compose.yml rename to public/blueprints/roundcube/docker-compose.yml diff --git a/blueprints/roundcube/roundcube.svg b/public/blueprints/roundcube/roundcube.svg similarity index 100% rename from blueprints/roundcube/roundcube.svg rename to public/blueprints/roundcube/roundcube.svg diff --git a/blueprints/roundcube/template.yml b/public/blueprints/roundcube/template.yml similarity index 100% rename from blueprints/roundcube/template.yml rename to public/blueprints/roundcube/template.yml diff --git a/blueprints/ryot/docker-compose.yml b/public/blueprints/ryot/docker-compose.yml similarity index 100% rename from blueprints/ryot/docker-compose.yml rename to public/blueprints/ryot/docker-compose.yml diff --git a/blueprints/ryot/ryot.png b/public/blueprints/ryot/ryot.png similarity index 100% rename from blueprints/ryot/ryot.png rename to public/blueprints/ryot/ryot.png diff --git a/blueprints/ryot/template.yml b/public/blueprints/ryot/template.yml similarity index 100% rename from blueprints/ryot/template.yml rename to public/blueprints/ryot/template.yml diff --git a/blueprints/shlink/docker-compose.yml b/public/blueprints/shlink/docker-compose.yml similarity index 100% rename from blueprints/shlink/docker-compose.yml rename to public/blueprints/shlink/docker-compose.yml diff --git a/blueprints/shlink/shlink.svg b/public/blueprints/shlink/shlink.svg similarity index 100% rename from blueprints/shlink/shlink.svg rename to public/blueprints/shlink/shlink.svg diff --git a/blueprints/shlink/template.yml b/public/blueprints/shlink/template.yml similarity index 100% rename from blueprints/shlink/template.yml rename to public/blueprints/shlink/template.yml diff --git a/blueprints/slash/docker-compose.yml b/public/blueprints/slash/docker-compose.yml similarity index 100% rename from blueprints/slash/docker-compose.yml rename to public/blueprints/slash/docker-compose.yml diff --git a/blueprints/slash/slash.png b/public/blueprints/slash/slash.png similarity index 100% rename from blueprints/slash/slash.png rename to public/blueprints/slash/slash.png diff --git a/blueprints/slash/template.yml b/public/blueprints/slash/template.yml similarity index 100% rename from blueprints/slash/template.yml rename to public/blueprints/slash/template.yml diff --git a/blueprints/soketi/docker-compose.yml b/public/blueprints/soketi/docker-compose.yml similarity index 100% rename from blueprints/soketi/docker-compose.yml rename to public/blueprints/soketi/docker-compose.yml diff --git a/blueprints/soketi/soketi.png b/public/blueprints/soketi/soketi.png similarity index 100% rename from blueprints/soketi/soketi.png rename to public/blueprints/soketi/soketi.png diff --git a/blueprints/soketi/template.yml b/public/blueprints/soketi/template.yml similarity index 100% rename from blueprints/soketi/template.yml rename to public/blueprints/soketi/template.yml diff --git a/blueprints/spacedrive/docker-compose.yml b/public/blueprints/spacedrive/docker-compose.yml similarity index 100% rename from blueprints/spacedrive/docker-compose.yml rename to public/blueprints/spacedrive/docker-compose.yml diff --git a/blueprints/spacedrive/spacedrive.png b/public/blueprints/spacedrive/spacedrive.png similarity index 100% rename from blueprints/spacedrive/spacedrive.png rename to public/blueprints/spacedrive/spacedrive.png diff --git a/blueprints/spacedrive/template.yml b/public/blueprints/spacedrive/template.yml similarity index 100% rename from blueprints/spacedrive/template.yml rename to public/blueprints/spacedrive/template.yml diff --git a/blueprints/stirling/docker-compose.yml b/public/blueprints/stirling/docker-compose.yml similarity index 100% rename from blueprints/stirling/docker-compose.yml rename to public/blueprints/stirling/docker-compose.yml diff --git a/blueprints/stirling/stirling.svg b/public/blueprints/stirling/stirling.svg similarity index 100% rename from blueprints/stirling/stirling.svg rename to public/blueprints/stirling/stirling.svg diff --git a/blueprints/stirling/template.yml b/public/blueprints/stirling/template.yml similarity index 100% rename from blueprints/stirling/template.yml rename to public/blueprints/stirling/template.yml diff --git a/blueprints/supabase/docker-compose.yml b/public/blueprints/supabase/docker-compose.yml similarity index 100% rename from blueprints/supabase/docker-compose.yml rename to public/blueprints/supabase/docker-compose.yml diff --git a/blueprints/supabase/supabase.svg b/public/blueprints/supabase/supabase.svg similarity index 100% rename from blueprints/supabase/supabase.svg rename to public/blueprints/supabase/supabase.svg diff --git a/blueprints/supabase/template.yml b/public/blueprints/supabase/template.yml similarity index 100% rename from blueprints/supabase/template.yml rename to public/blueprints/supabase/template.yml diff --git a/blueprints/superset/docker-compose.yml b/public/blueprints/superset/docker-compose.yml similarity index 100% rename from blueprints/superset/docker-compose.yml rename to public/blueprints/superset/docker-compose.yml diff --git a/blueprints/superset/superset.svg b/public/blueprints/superset/superset.svg similarity index 100% rename from blueprints/superset/superset.svg rename to public/blueprints/superset/superset.svg diff --git a/blueprints/superset/template.yml b/public/blueprints/superset/template.yml similarity index 100% rename from blueprints/superset/template.yml rename to public/blueprints/superset/template.yml diff --git a/blueprints/teable/docker-compose.yml b/public/blueprints/teable/docker-compose.yml similarity index 100% rename from blueprints/teable/docker-compose.yml rename to public/blueprints/teable/docker-compose.yml diff --git a/blueprints/teable/teable.png b/public/blueprints/teable/teable.png similarity index 100% rename from blueprints/teable/teable.png rename to public/blueprints/teable/teable.png diff --git a/blueprints/teable/template.yml b/public/blueprints/teable/template.yml similarity index 100% rename from blueprints/teable/template.yml rename to public/blueprints/teable/template.yml diff --git a/blueprints/tolgee/docker-compose.yml b/public/blueprints/tolgee/docker-compose.yml similarity index 100% rename from blueprints/tolgee/docker-compose.yml rename to public/blueprints/tolgee/docker-compose.yml diff --git a/blueprints/tolgee/template.yml b/public/blueprints/tolgee/template.yml similarity index 100% rename from blueprints/tolgee/template.yml rename to public/blueprints/tolgee/template.yml diff --git a/blueprints/tolgee/tolgee.svg b/public/blueprints/tolgee/tolgee.svg similarity index 100% rename from blueprints/tolgee/tolgee.svg rename to public/blueprints/tolgee/tolgee.svg diff --git a/blueprints/triggerdotdev/docker-compose.yml b/public/blueprints/triggerdotdev/docker-compose.yml similarity index 100% rename from blueprints/triggerdotdev/docker-compose.yml rename to public/blueprints/triggerdotdev/docker-compose.yml diff --git a/blueprints/triggerdotdev/template.yml b/public/blueprints/triggerdotdev/template.yml similarity index 100% rename from blueprints/triggerdotdev/template.yml rename to public/blueprints/triggerdotdev/template.yml diff --git a/blueprints/triggerdotdev/triggerdotdev.svg b/public/blueprints/triggerdotdev/triggerdotdev.svg similarity index 100% rename from blueprints/triggerdotdev/triggerdotdev.svg rename to public/blueprints/triggerdotdev/triggerdotdev.svg diff --git a/blueprints/trilium/docker-compose.yml b/public/blueprints/trilium/docker-compose.yml similarity index 100% rename from blueprints/trilium/docker-compose.yml rename to public/blueprints/trilium/docker-compose.yml diff --git a/blueprints/trilium/template.yml b/public/blueprints/trilium/template.yml similarity index 100% rename from blueprints/trilium/template.yml rename to public/blueprints/trilium/template.yml diff --git a/blueprints/trilium/trilium.png b/public/blueprints/trilium/trilium.png similarity index 100% rename from blueprints/trilium/trilium.png rename to public/blueprints/trilium/trilium.png diff --git a/blueprints/twenty/docker-compose.yml b/public/blueprints/twenty/docker-compose.yml similarity index 100% rename from blueprints/twenty/docker-compose.yml rename to public/blueprints/twenty/docker-compose.yml diff --git a/blueprints/twenty/template.yml b/public/blueprints/twenty/template.yml similarity index 100% rename from blueprints/twenty/template.yml rename to public/blueprints/twenty/template.yml diff --git a/blueprints/twenty/twenty.svg b/public/blueprints/twenty/twenty.svg similarity index 100% rename from blueprints/twenty/twenty.svg rename to public/blueprints/twenty/twenty.svg diff --git a/blueprints/typebot/docker-compose.yml b/public/blueprints/typebot/docker-compose.yml similarity index 100% rename from blueprints/typebot/docker-compose.yml rename to public/blueprints/typebot/docker-compose.yml diff --git a/blueprints/typebot/template.yml b/public/blueprints/typebot/template.yml similarity index 100% rename from blueprints/typebot/template.yml rename to public/blueprints/typebot/template.yml diff --git a/blueprints/typebot/typebot.svg b/public/blueprints/typebot/typebot.svg similarity index 100% rename from blueprints/typebot/typebot.svg rename to public/blueprints/typebot/typebot.svg diff --git a/blueprints/umami/docker-compose.yml b/public/blueprints/umami/docker-compose.yml similarity index 100% rename from blueprints/umami/docker-compose.yml rename to public/blueprints/umami/docker-compose.yml diff --git a/blueprints/umami/template.yml b/public/blueprints/umami/template.yml similarity index 100% rename from blueprints/umami/template.yml rename to public/blueprints/umami/template.yml diff --git a/blueprints/umami/umami.png b/public/blueprints/umami/umami.png similarity index 100% rename from blueprints/umami/umami.png rename to public/blueprints/umami/umami.png diff --git a/blueprints/unifi/docker-compose.yml b/public/blueprints/unifi/docker-compose.yml similarity index 100% rename from blueprints/unifi/docker-compose.yml rename to public/blueprints/unifi/docker-compose.yml diff --git a/blueprints/unifi/template.yml b/public/blueprints/unifi/template.yml similarity index 100% rename from blueprints/unifi/template.yml rename to public/blueprints/unifi/template.yml diff --git a/blueprints/unifi/unifi.webp b/public/blueprints/unifi/unifi.webp similarity index 100% rename from blueprints/unifi/unifi.webp rename to public/blueprints/unifi/unifi.webp diff --git a/blueprints/unsend/docker-compose.yml b/public/blueprints/unsend/docker-compose.yml similarity index 100% rename from blueprints/unsend/docker-compose.yml rename to public/blueprints/unsend/docker-compose.yml diff --git a/blueprints/unsend/template.yml b/public/blueprints/unsend/template.yml similarity index 100% rename from blueprints/unsend/template.yml rename to public/blueprints/unsend/template.yml diff --git a/blueprints/unsend/unsend.png b/public/blueprints/unsend/unsend.png similarity index 100% rename from blueprints/unsend/unsend.png rename to public/blueprints/unsend/unsend.png diff --git a/blueprints/uptime-kuma/docker-compose.yml b/public/blueprints/uptime-kuma/docker-compose.yml similarity index 100% rename from blueprints/uptime-kuma/docker-compose.yml rename to public/blueprints/uptime-kuma/docker-compose.yml diff --git a/blueprints/uptime-kuma/template.yml b/public/blueprints/uptime-kuma/template.yml similarity index 100% rename from blueprints/uptime-kuma/template.yml rename to public/blueprints/uptime-kuma/template.yml diff --git a/blueprints/uptime-kuma/uptime-kuma.png b/public/blueprints/uptime-kuma/uptime-kuma.png similarity index 100% rename from blueprints/uptime-kuma/uptime-kuma.png rename to public/blueprints/uptime-kuma/uptime-kuma.png diff --git a/blueprints/vaultwarden/docker-compose.yml b/public/blueprints/vaultwarden/docker-compose.yml similarity index 100% rename from blueprints/vaultwarden/docker-compose.yml rename to public/blueprints/vaultwarden/docker-compose.yml diff --git a/blueprints/vaultwarden/template.yml b/public/blueprints/vaultwarden/template.yml similarity index 100% rename from blueprints/vaultwarden/template.yml rename to public/blueprints/vaultwarden/template.yml diff --git a/blueprints/vaultwarden/vaultwarden.svg b/public/blueprints/vaultwarden/vaultwarden.svg similarity index 100% rename from blueprints/vaultwarden/vaultwarden.svg rename to public/blueprints/vaultwarden/vaultwarden.svg diff --git a/blueprints/wikijs/docker-compose.yml b/public/blueprints/wikijs/docker-compose.yml similarity index 100% rename from blueprints/wikijs/docker-compose.yml rename to public/blueprints/wikijs/docker-compose.yml diff --git a/blueprints/wikijs/template.yml b/public/blueprints/wikijs/template.yml similarity index 100% rename from blueprints/wikijs/template.yml rename to public/blueprints/wikijs/template.yml diff --git a/blueprints/wikijs/wikijs.svg b/public/blueprints/wikijs/wikijs.svg similarity index 100% rename from blueprints/wikijs/wikijs.svg rename to public/blueprints/wikijs/wikijs.svg diff --git a/blueprints/windmill/docker-compose.yml b/public/blueprints/windmill/docker-compose.yml similarity index 100% rename from blueprints/windmill/docker-compose.yml rename to public/blueprints/windmill/docker-compose.yml diff --git a/blueprints/windmill/template.yml b/public/blueprints/windmill/template.yml similarity index 100% rename from blueprints/windmill/template.yml rename to public/blueprints/windmill/template.yml diff --git a/blueprints/windmill/windmill.svg b/public/blueprints/windmill/windmill.svg similarity index 100% rename from blueprints/windmill/windmill.svg rename to public/blueprints/windmill/windmill.svg diff --git a/blueprints/windows/docker-compose.yml b/public/blueprints/windows/docker-compose.yml similarity index 100% rename from blueprints/windows/docker-compose.yml rename to public/blueprints/windows/docker-compose.yml diff --git a/blueprints/windows/template.yml b/public/blueprints/windows/template.yml similarity index 100% rename from blueprints/windows/template.yml rename to public/blueprints/windows/template.yml diff --git a/blueprints/windows/windows.png b/public/blueprints/windows/windows.png similarity index 100% rename from blueprints/windows/windows.png rename to public/blueprints/windows/windows.png diff --git a/blueprints/wordpress/docker-compose.yml b/public/blueprints/wordpress/docker-compose.yml similarity index 100% rename from blueprints/wordpress/docker-compose.yml rename to public/blueprints/wordpress/docker-compose.yml diff --git a/blueprints/wordpress/template.yml b/public/blueprints/wordpress/template.yml similarity index 100% rename from blueprints/wordpress/template.yml rename to public/blueprints/wordpress/template.yml diff --git a/blueprints/wordpress/wordpress.png b/public/blueprints/wordpress/wordpress.png similarity index 100% rename from blueprints/wordpress/wordpress.png rename to public/blueprints/wordpress/wordpress.png diff --git a/blueprints/yourls/docker-compose.yml b/public/blueprints/yourls/docker-compose.yml similarity index 100% rename from blueprints/yourls/docker-compose.yml rename to public/blueprints/yourls/docker-compose.yml diff --git a/blueprints/yourls/template.yml b/public/blueprints/yourls/template.yml similarity index 100% rename from blueprints/yourls/template.yml rename to public/blueprints/yourls/template.yml diff --git a/blueprints/yourls/yourls.svg b/public/blueprints/yourls/yourls.svg similarity index 100% rename from blueprints/yourls/yourls.svg rename to public/blueprints/yourls/yourls.svg diff --git a/blueprints/zipline/docker-compose.yml b/public/blueprints/zipline/docker-compose.yml similarity index 100% rename from blueprints/zipline/docker-compose.yml rename to public/blueprints/zipline/docker-compose.yml diff --git a/blueprints/zipline/template.yml b/public/blueprints/zipline/template.yml similarity index 100% rename from blueprints/zipline/template.yml rename to public/blueprints/zipline/template.yml diff --git a/blueprints/zipline/zipline.png b/public/blueprints/zipline/zipline.png similarity index 100% rename from blueprints/zipline/zipline.png rename to public/blueprints/zipline/zipline.png diff --git a/meta.json b/public/meta.json similarity index 99% rename from meta.json rename to public/meta.json index 27fefa6f..0b01ced5 100644 --- a/meta.json +++ b/public/meta.json @@ -1321,7 +1321,7 @@ "id": "langflow", "name": "Langflow", "version": "1.1.1", - "description": "Langflow is a low-code app builder for RAG and multi-agent AI applications. It’s Python-based and agnostic to any model, API, or database. ", + "description": "Langflow is a low-code app builder for RAG and multi-agent AI applications. It's Python-based and agnostic to any model, API, or database. ", "logo": "langflow.svg", "links": { "github": "https://github.com/langflow-ai/langflow/tree/main", diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 00000000..e7b8dfb1 --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.css b/src/App.css new file mode 100644 index 00000000..fb6417ff --- /dev/null +++ b/src/App.css @@ -0,0 +1,9 @@ +body { + margin: 0; + padding: 0; + width: 100%; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', + Arial, sans-serif; + background-color: #f5f5f5; +} + diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 00000000..cdb7d10e --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,11 @@ +import React from 'react'; +import TemplateGrid from './components/TemplateGrid'; +import './App.css'; + +function App() { + return ( + + ); +} + +export default App; diff --git a/src/assets/react.svg b/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/TemplateGrid.tsx b/src/components/TemplateGrid.tsx new file mode 100644 index 00000000..494168f0 --- /dev/null +++ b/src/components/TemplateGrid.tsx @@ -0,0 +1,331 @@ +import React, { useEffect, useState } from 'react'; +import { Input } from './ui/input'; +import { Card, CardHeader, CardTitle, CardContent, CardFooter } from './ui/card'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, +} from './ui/dialog'; +import { Button } from './ui/button'; +import { toast } from 'sonner'; +import copy from 'copy-to-clipboard'; +interface Template { + id: string; + name: string; + description: string; + version: string; + logo?: string; + links: { + github?: string; + website?: string; + docs?: string; + }; + tags: string[]; +} + +interface TemplateFiles { + dockerCompose: string | null; + config: string | null; +} + +const TemplateGrid: React.FC = () => { + const [templates, setTemplates] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + const [searchQuery, setSearchQuery] = useState(''); + const [selectedTemplate, setSelectedTemplate] = useState