diff --git a/run.sh b/run.sh index 54c03b7..356ada4 100755 --- a/run.sh +++ b/run.sh @@ -1,7 +1,7 @@ #!/bin/bash # Change to the Svelte app directory -cd my-svelte-app +cd sweb # Run the development server bun run dev \ No newline at end of file diff --git a/sweb/bun.lock b/sweb/bun.lock old mode 100644 new mode 100755 index 77749d9..6712fc7 --- a/sweb/bun.lock +++ b/sweb/bun.lock @@ -1,8 +1,7 @@ { - "lockfileVersion": 1, + "lockfileVersion": 0, "workspaces": { "": { - "name": "sweb", "dependencies": { "lucide-svelte": "^0.509.0", }, diff --git a/sweb/package.json b/sweb/package.json index ceca520..a539a28 100644 --- a/sweb/package.json +++ b/sweb/package.json @@ -21,6 +21,13 @@ "vite": "^6.3.5" }, "dependencies": { - "lucide-svelte": "^0.509.0" + "@tailwindcss/postcss": "^4.1.6", + "@tailwindcss/vite": "^4.1.6", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-svelte": "^0.509.0", + "marked": "^15.0.11", + "shadcn-svelte": "^0.14.2", + "tailwind-merge": "^3.2.0" } } diff --git a/sweb/pnpm-lock.yaml b/sweb/pnpm-lock.yaml new file mode 100644 index 0000000..5249712 --- /dev/null +++ b/sweb/pnpm-lock.yaml @@ -0,0 +1,1565 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@tailwindcss/postcss': + specifier: ^4.1.6 + version: 4.1.6 + '@tailwindcss/vite': + specifier: ^4.1.6 + version: 4.1.6(vite@6.3.5(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 + lucide-svelte: + specifier: ^0.509.0 + version: 0.509.0(svelte@5.28.2) + marked: + specifier: ^15.0.11 + version: 15.0.11 + shadcn-svelte: + specifier: ^0.14.2 + version: 0.14.2 + tailwind-merge: + specifier: ^3.2.0 + version: 3.2.0 + devDependencies: + '@sveltejs/vite-plugin-svelte': + specifier: ^5.0.3 + version: 5.0.3(svelte@5.28.2)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2)) + '@tsconfig/svelte': + specifier: ^5.0.4 + version: 5.0.4 + autoprefixer: + specifier: ^10.4.21 + version: 10.4.21(postcss@8.5.3) + postcss: + specifier: ^8.5.3 + version: 8.5.3 + svelte: + specifier: ^5.28.1 + version: 5.28.2 + svelte-check: + specifier: ^4.1.6 + version: 4.1.7(picomatch@4.0.2)(svelte@5.28.2)(typescript@5.8.3) + tailwindcss: + specifier: ^4.1.6 + version: 4.1.6 + typescript: + specifier: ~5.8.3 + version: 5.8.3 + vite: + specifier: ^6.3.5 + version: 6.3.5(jiti@2.4.2)(lightningcss@1.29.2) + +packages: + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@clack/core@0.3.5': + resolution: {integrity: sha512-5cfhQNH+1VQ2xLQlmzXMqUoiaH0lRBq9/CLW9lTyMbuKLC3+xEK01tHVvyut++mLOn5urSHmkm6I0Lg9MaJSTQ==} + + '@esbuild/aix-ppc64@0.25.4': + resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.4': + resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.25.4': + resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.25.4': + resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.25.4': + resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.4': + resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.25.4': + resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.4': + resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.25.4': + resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.25.4': + resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.25.4': + resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.25.4': + resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.25.4': + resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.25.4': + resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.4': + resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.25.4': + resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.25.4': + resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.4': + resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.4': + resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.4': + resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.4': + resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.25.4': + resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.25.4': + resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.25.4': + resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.25.4': + resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + + '@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==} + + '@rollup/rollup-android-arm-eabi@4.40.2': + resolution: {integrity: sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.40.2': + resolution: {integrity: sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.40.2': + resolution: {integrity: sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.40.2': + resolution: {integrity: sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.40.2': + resolution: {integrity: sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.40.2': + resolution: {integrity: sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.40.2': + resolution: {integrity: sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.40.2': + resolution: {integrity: sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.40.2': + resolution: {integrity: sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.40.2': + resolution: {integrity: sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.40.2': + resolution: {integrity: sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': + resolution: {integrity: sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.40.2': + resolution: {integrity: sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.40.2': + resolution: {integrity: sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.40.2': + resolution: {integrity: sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.40.2': + resolution: {integrity: sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.40.2': + resolution: {integrity: sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.40.2': + resolution: {integrity: sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.40.2': + resolution: {integrity: sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.40.2': + resolution: {integrity: sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==} + cpu: [x64] + os: [win32] + + '@sveltejs/acorn-typescript@1.0.5': + resolution: {integrity: sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==} + peerDependencies: + acorn: ^8.9.0 + + '@sveltejs/vite-plugin-svelte-inspector@4.0.1': + resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^5.0.0 + svelte: ^5.0.0 + vite: ^6.0.0 + + '@sveltejs/vite-plugin-svelte@5.0.3': + resolution: {integrity: sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} + peerDependencies: + svelte: ^5.0.0 + vite: ^6.0.0 + + '@tailwindcss/node@4.1.6': + resolution: {integrity: sha512-ed6zQbgmKsjsVvodAS1q1Ld2BolEuxJOSyyNc+vhkjdmfNUDCmQnlXBfQkHrlzNmslxHsQU/bFmzcEbv4xXsLg==} + + '@tailwindcss/oxide-android-arm64@4.1.6': + resolution: {integrity: sha512-VHwwPiwXtdIvOvqT/0/FLH/pizTVu78FOnI9jQo64kSAikFSZT7K4pjyzoDpSMaveJTGyAKvDjuhxJxKfmvjiQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.1.6': + resolution: {integrity: sha512-weINOCcqv1HVBIGptNrk7c6lWgSFFiQMcCpKM4tnVi5x8OY2v1FrV76jwLukfT6pL1hyajc06tyVmZFYXoxvhQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.6': + resolution: {integrity: sha512-3FzekhHG0ww1zQjQ1lPoq0wPrAIVXAbUkWdWM8u5BnYFZgb9ja5ejBqyTgjpo5mfy0hFOoMnMuVDI+7CXhXZaQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.6': + resolution: {integrity: sha512-4m5F5lpkBZhVQJq53oe5XgJ+aFYWdrgkMwViHjRsES3KEu2m1udR21B1I77RUqie0ZYNscFzY1v9aDssMBZ/1w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.6': + resolution: {integrity: sha512-qU0rHnA9P/ZoaDKouU1oGPxPWzDKtIfX7eOGi5jOWJKdxieUJdVV+CxWZOpDWlYTd4N3sFQvcnVLJWJ1cLP5TA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.6': + resolution: {integrity: sha512-jXy3TSTrbfgyd3UxPQeXC3wm8DAgmigzar99Km9Sf6L2OFfn/k+u3VqmpgHQw5QNfCpPe43em6Q7V76Wx7ogIQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.6': + resolution: {integrity: sha512-8kjivE5xW0qAQ9HX9reVFmZj3t+VmljDLVRJpVBEoTR+3bKMnvC7iLcoSGNIUJGOZy1mLVq7x/gerVg0T+IsYw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.6': + resolution: {integrity: sha512-A4spQhwnWVpjWDLXnOW9PSinO2PTKJQNRmL/aIl2U/O+RARls8doDfs6R41+DAXK0ccacvRyDpR46aVQJJCoCg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.6': + resolution: {integrity: sha512-YRee+6ZqdzgiQAHVSLfl3RYmqeeaWVCk796MhXhLQu2kJu2COHBkqlqsqKYx3p8Hmk5pGCQd2jTAoMWWFeyG2A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.6': + resolution: {integrity: sha512-qAp4ooTYrBQ5pk5jgg54/U1rCJ/9FLYOkkQ/nTE+bVMseMfB6O7J8zb19YTpWuu4UdfRf5zzOrNKfl6T64MNrQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.6': + resolution: {integrity: sha512-nqpDWk0Xr8ELO/nfRUDjk1pc9wDJ3ObeDdNMHLaymc4PJBWj11gdPCWZFKSK2AVKjJQC7J2EfmSmf47GN7OuLg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.6': + resolution: {integrity: sha512-5k9xF33xkfKpo9wCvYcegQ21VwIBU1/qEbYlVukfEIyQbEA47uK8AAwS7NVjNE3vHzcmxMYwd0l6L4pPjjm1rQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.6': + resolution: {integrity: sha512-0bpEBQiGx+227fW4G0fLQ8vuvyy5rsB1YIYNapTq3aRsJ9taF3f5cCaovDjN5pUGKKzcpMrZst/mhNaKAPOHOA==} + engines: {node: '>= 10'} + + '@tailwindcss/postcss@4.1.6': + resolution: {integrity: sha512-ELq+gDMBuRXPJlpE3PEen+1MhnHAQQrh2zF0dI1NXOlEWfr2qWf2CQdr5jl9yANv8RErQaQ2l6nIFO9OSCVq/g==} + + '@tailwindcss/vite@4.1.6': + resolution: {integrity: sha512-zjtqjDeY1w3g2beYQtrMAf51n5G7o+UwmyOjtsDMP7t6XyoRMOidcoKP32ps7AkNOHIXEOK0bhIC05dj8oJp4w==} + peerDependencies: + vite: ^5.2.0 || ^6 + + '@tsconfig/svelte@5.0.4': + resolution: {integrity: sha512-BV9NplVgLmSi4mwKzD8BD/NQ8erOY/nUE/GpgWe2ckx+wIQF5RyRirn/QsSSCPeulVpc3RA/iJt6DpfTIZps0Q==} + + '@types/estree@1.0.7': + resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + + browserslist@4.24.5: + resolution: {integrity: sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + caniuse-lite@1.0.30001717: + resolution: {integrity: sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==} + + chalk@5.2.0: + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + + 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'} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + 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 + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + detect-libc@2.0.4: + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + engines: {node: '>=8'} + + electron-to-chromium@1.5.151: + resolution: {integrity: sha512-Rl6uugut2l9sLojjS4H4SAr3A4IgACMLgpuEMPYCVcKydzfyPrn5absNRju38IhQOf/NwjJY8OGWjlteqYeBCA==} + + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + engines: {node: '>=10.13.0'} + + esbuild@0.25.4: + resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + esm-env@1.2.2: + resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} + + esrap@1.4.6: + resolution: {integrity: sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==} + + execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + + fdir@6.4.4: + resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + + is-reference@3.0.3: + resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + 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'} + + locate-character@3.0.0: + resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} + + lucide-svelte@0.509.0: + resolution: {integrity: sha512-6U83jZ0RKvLYLGdx/hTqZyWcquwApQ2Q1E5bKFELXtOw7g8dk1P0qwbAQqs1fqWAtpNevtXTpgShHv/yWAcbjQ==} + peerDependencies: + svelte: ^3 || ^4 || ^5.0.0-next.42 + + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + + marked@15.0.11: + resolution: {integrity: sha512-1BEXAU2euRCG3xwgLVT1y0xbJEld1XOrmRJpUwRCcy7rxhSCwMrmEu9LXoPhHSCJG41V7YcQ2mjKRr5BA3ITIA==} + engines: {node: '>= 18'} + hasBin: true + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@3.0.2: + resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} + engines: {node: '>= 18'} + + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + node-fetch-native@1.6.6: + resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + engines: {node: ^10 || ^12 || >=14} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + rollup@4.40.2: + resolution: {integrity: sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + + shadcn-svelte@0.14.2: + resolution: {integrity: sha512-tkXJ5dNw6qU7OBUCNr//XUuVkXw3ipfDbfBA6z7sIIRatkkMhkk7lg2Etp/xiyOIePCBoXp9MohhK80lTnnlCw==} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + svelte-check@4.1.7: + resolution: {integrity: sha512-1jX4BzXrQJhC/Jt3SqYf6Ntu//vmfc6VWp07JkRfK2nn+22yIblspVUo96gzMkg0Zov8lQicxhxsMzOctwcMQQ==} + engines: {node: '>= 18.0.0'} + hasBin: true + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.0 + typescript: '>=5.0.0' + + svelte@5.28.2: + resolution: {integrity: sha512-FbWBxgWOpQfhKvoGJv/TFwzqb4EhJbwCD17dB0tEpQiw1XyUEKZJtgm4nA4xq3LLsMo7hu5UY/BOFmroAxKTMg==} + engines: {node: '>=18'} + + tailwind-merge@3.2.0: + resolution: {integrity: sha512-FQT/OVqCD+7edmmJpsgCsY820RTD5AkBryuG5IUqR5YQZSdj5xlH5nLgH7YPths7WsLPSpSBNneJdM8aS8aeFA==} + + tailwindcss@4.1.6: + resolution: {integrity: sha512-j0cGLTreM6u4OWzBeLBpycK0WIh8w7kSwcUsQZoGLHZ7xDTdM69lN64AgoIEEwFi0tnhs4wSykUa5YWxAzgFYg==} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar@7.4.3: + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + engines: {node: '>=18'} + + tinyglobby@0.2.13: + resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} + engines: {node: '>=12.0.0'} + + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + 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' + + vite@6.3.5: + resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} + 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 + + vitefu@1.0.6: + resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + vite: + optional: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + + zimmerframe@1.1.2: + resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} + +snapshots: + + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@clack/core@0.3.5': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@esbuild/aix-ppc64@0.25.4': + optional: true + + '@esbuild/android-arm64@0.25.4': + optional: true + + '@esbuild/android-arm@0.25.4': + optional: true + + '@esbuild/android-x64@0.25.4': + optional: true + + '@esbuild/darwin-arm64@0.25.4': + optional: true + + '@esbuild/darwin-x64@0.25.4': + optional: true + + '@esbuild/freebsd-arm64@0.25.4': + optional: true + + '@esbuild/freebsd-x64@0.25.4': + optional: true + + '@esbuild/linux-arm64@0.25.4': + optional: true + + '@esbuild/linux-arm@0.25.4': + optional: true + + '@esbuild/linux-ia32@0.25.4': + optional: true + + '@esbuild/linux-loong64@0.25.4': + optional: true + + '@esbuild/linux-mips64el@0.25.4': + optional: true + + '@esbuild/linux-ppc64@0.25.4': + optional: true + + '@esbuild/linux-riscv64@0.25.4': + optional: true + + '@esbuild/linux-s390x@0.25.4': + optional: true + + '@esbuild/linux-x64@0.25.4': + optional: true + + '@esbuild/netbsd-arm64@0.25.4': + optional: true + + '@esbuild/netbsd-x64@0.25.4': + optional: true + + '@esbuild/openbsd-arm64@0.25.4': + optional: true + + '@esbuild/openbsd-x64@0.25.4': + optional: true + + '@esbuild/sunos-x64@0.25.4': + optional: true + + '@esbuild/win32-arm64@0.25.4': + optional: true + + '@esbuild/win32-ia32@0.25.4': + optional: true + + '@esbuild/win32-x64@0.25.4': + optional: true + + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + + '@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 + + '@rollup/rollup-android-arm-eabi@4.40.2': + optional: true + + '@rollup/rollup-android-arm64@4.40.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.40.2': + optional: true + + '@rollup/rollup-darwin-x64@4.40.2': + optional: true + + '@rollup/rollup-freebsd-arm64@4.40.2': + optional: true + + '@rollup/rollup-freebsd-x64@4.40.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.40.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.40.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.40.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.40.2': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.40.2': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.40.2': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.40.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.40.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.40.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.40.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.40.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.40.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.40.2': + optional: true + + '@sveltejs/acorn-typescript@1.0.5(acorn@8.14.1)': + dependencies: + acorn: 8.14.1 + + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2)))(svelte@5.28.2)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2))': + dependencies: + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.28.2)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2)) + debug: 4.4.0 + svelte: 5.28.2 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.29.2) + transitivePeerDependencies: + - supports-color + + '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2))': + dependencies: + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.28.2)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2)))(svelte@5.28.2)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2)) + debug: 4.4.0 + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.17 + svelte: 5.28.2 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.29.2) + vitefu: 1.0.6(vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2)) + transitivePeerDependencies: + - supports-color + + '@tailwindcss/node@4.1.6': + dependencies: + '@ampproject/remapping': 2.3.0 + enhanced-resolve: 5.18.1 + jiti: 2.4.2 + lightningcss: 1.29.2 + magic-string: 0.30.17 + source-map-js: 1.2.1 + tailwindcss: 4.1.6 + + '@tailwindcss/oxide-android-arm64@4.1.6': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.1.6': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.1.6': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.1.6': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.6': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.6': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.1.6': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.6': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.6': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.6': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.6': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.1.6': + optional: true + + '@tailwindcss/oxide@4.1.6': + dependencies: + detect-libc: 2.0.4 + tar: 7.4.3 + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.6 + '@tailwindcss/oxide-darwin-arm64': 4.1.6 + '@tailwindcss/oxide-darwin-x64': 4.1.6 + '@tailwindcss/oxide-freebsd-x64': 4.1.6 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.6 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.6 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.6 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.6 + '@tailwindcss/oxide-linux-x64-musl': 4.1.6 + '@tailwindcss/oxide-wasm32-wasi': 4.1.6 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.6 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.6 + + '@tailwindcss/postcss@4.1.6': + dependencies: + '@alloc/quick-lru': 5.2.0 + '@tailwindcss/node': 4.1.6 + '@tailwindcss/oxide': 4.1.6 + postcss: 8.5.3 + tailwindcss: 4.1.6 + + '@tailwindcss/vite@4.1.6(vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2))': + dependencies: + '@tailwindcss/node': 4.1.6 + '@tailwindcss/oxide': 4.1.6 + tailwindcss: 4.1.6 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.29.2) + + '@tsconfig/svelte@5.0.4': {} + + '@types/estree@1.0.7': {} + + acorn@8.14.1: {} + + aria-query@5.3.2: {} + + autoprefixer@10.4.21(postcss@8.5.3): + dependencies: + browserslist: 4.24.5 + caniuse-lite: 1.0.30001717 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + + axobject-query@4.1.0: {} + + browserslist@4.24.5: + dependencies: + caniuse-lite: 1.0.30001717 + electron-to-chromium: 1.5.151 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.24.5) + + caniuse-lite@1.0.30001717: {} + + chalk@5.2.0: {} + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + chownr@3.0.0: {} + + class-variance-authority@0.7.1: + dependencies: + clsx: 2.1.1 + + clsx@2.1.1: {} + + commander@10.0.1: {} + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + deepmerge@4.3.1: {} + + detect-libc@2.0.4: {} + + electron-to-chromium@1.5.151: {} + + enhanced-resolve@5.18.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + esbuild@0.25.4: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.4 + '@esbuild/android-arm': 0.25.4 + '@esbuild/android-arm64': 0.25.4 + '@esbuild/android-x64': 0.25.4 + '@esbuild/darwin-arm64': 0.25.4 + '@esbuild/darwin-x64': 0.25.4 + '@esbuild/freebsd-arm64': 0.25.4 + '@esbuild/freebsd-x64': 0.25.4 + '@esbuild/linux-arm': 0.25.4 + '@esbuild/linux-arm64': 0.25.4 + '@esbuild/linux-ia32': 0.25.4 + '@esbuild/linux-loong64': 0.25.4 + '@esbuild/linux-mips64el': 0.25.4 + '@esbuild/linux-ppc64': 0.25.4 + '@esbuild/linux-riscv64': 0.25.4 + '@esbuild/linux-s390x': 0.25.4 + '@esbuild/linux-x64': 0.25.4 + '@esbuild/netbsd-arm64': 0.25.4 + '@esbuild/netbsd-x64': 0.25.4 + '@esbuild/openbsd-arm64': 0.25.4 + '@esbuild/openbsd-x64': 0.25.4 + '@esbuild/sunos-x64': 0.25.4 + '@esbuild/win32-arm64': 0.25.4 + '@esbuild/win32-ia32': 0.25.4 + '@esbuild/win32-x64': 0.25.4 + + escalade@3.2.0: {} + + esm-env@1.2.2: {} + + esrap@1.4.6: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + execa@7.2.0: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + + fdir@6.4.4(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + + fraction.js@4.3.7: {} + + fsevents@2.3.3: + optional: true + + get-stream@6.0.1: {} + + graceful-fs@4.2.11: {} + + human-signals@4.3.1: {} + + is-reference@3.0.3: + dependencies: + '@types/estree': 1.0.7 + + is-stream@3.0.0: {} + + is-unicode-supported@2.1.0: {} + + isexe@2.0.0: {} + + jiti@2.4.2: {} + + kleur@4.1.5: {} + + 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.4 + 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 + + locate-character@3.0.0: {} + + lucide-svelte@0.509.0(svelte@5.28.2): + dependencies: + svelte: 5.28.2 + + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + marked@15.0.11: {} + + merge-stream@2.0.0: {} + + mimic-fn@4.0.0: {} + + minipass@7.1.2: {} + + minizlib@3.0.2: + dependencies: + minipass: 7.1.2 + + mkdirp@3.0.1: {} + + mri@1.2.0: {} + + ms@2.1.3: {} + + nanoid@3.3.11: {} + + node-fetch-native@1.6.6: {} + + node-releases@2.0.19: {} + + normalize-range@0.1.2: {} + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + picocolors@1.1.1: {} + + picomatch@4.0.2: {} + + postcss-value-parser@4.2.0: {} + + postcss@8.5.3: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + readdirp@4.1.2: {} + + rollup@4.40.2: + dependencies: + '@types/estree': 1.0.7 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.40.2 + '@rollup/rollup-android-arm64': 4.40.2 + '@rollup/rollup-darwin-arm64': 4.40.2 + '@rollup/rollup-darwin-x64': 4.40.2 + '@rollup/rollup-freebsd-arm64': 4.40.2 + '@rollup/rollup-freebsd-x64': 4.40.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.40.2 + '@rollup/rollup-linux-arm-musleabihf': 4.40.2 + '@rollup/rollup-linux-arm64-gnu': 4.40.2 + '@rollup/rollup-linux-arm64-musl': 4.40.2 + '@rollup/rollup-linux-loongarch64-gnu': 4.40.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.40.2 + '@rollup/rollup-linux-riscv64-gnu': 4.40.2 + '@rollup/rollup-linux-riscv64-musl': 4.40.2 + '@rollup/rollup-linux-s390x-gnu': 4.40.2 + '@rollup/rollup-linux-x64-gnu': 4.40.2 + '@rollup/rollup-linux-x64-musl': 4.40.2 + '@rollup/rollup-win32-arm64-msvc': 4.40.2 + '@rollup/rollup-win32-ia32-msvc': 4.40.2 + '@rollup/rollup-win32-x64-msvc': 4.40.2 + fsevents: 2.3.3 + + sade@1.8.1: + dependencies: + mri: 1.2.0 + + shadcn-svelte@0.14.2: + dependencies: + '@clack/core': 0.3.5 + chalk: 5.2.0 + commander: 10.0.1 + execa: 7.2.0 + is-unicode-supported: 2.1.0 + node-fetch-native: 1.6.6 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@3.0.7: {} + + sisteransi@1.0.5: {} + + source-map-js@1.2.1: {} + + strip-final-newline@3.0.0: {} + + svelte-check@4.1.7(picomatch@4.0.2)(svelte@5.28.2)(typescript@5.8.3): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + chokidar: 4.0.3 + fdir: 6.4.4(picomatch@4.0.2) + picocolors: 1.1.1 + sade: 1.8.1 + svelte: 5.28.2 + typescript: 5.8.3 + transitivePeerDependencies: + - picomatch + + svelte@5.28.2: + dependencies: + '@ampproject/remapping': 2.3.0 + '@jridgewell/sourcemap-codec': 1.5.0 + '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) + '@types/estree': 1.0.7 + acorn: 8.14.1 + aria-query: 5.3.2 + axobject-query: 4.1.0 + clsx: 2.1.1 + esm-env: 1.2.2 + esrap: 1.4.6 + is-reference: 3.0.3 + locate-character: 3.0.0 + magic-string: 0.30.17 + zimmerframe: 1.1.2 + + tailwind-merge@3.2.0: {} + + tailwindcss@4.1.6: {} + + tapable@2.2.1: {} + + tar@7.4.3: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.0.2 + mkdirp: 3.0.1 + yallist: 5.0.0 + + tinyglobby@0.2.13: + dependencies: + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + + typescript@5.8.3: {} + + update-browserslist-db@1.1.3(browserslist@4.24.5): + dependencies: + browserslist: 4.24.5 + escalade: 3.2.0 + picocolors: 1.1.1 + + vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2): + dependencies: + esbuild: 0.25.4 + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + postcss: 8.5.3 + rollup: 4.40.2 + tinyglobby: 0.2.13 + optionalDependencies: + fsevents: 2.3.3 + jiti: 2.4.2 + lightningcss: 1.29.2 + + vitefu@1.0.6(vite@6.3.5(jiti@2.4.2)(lightningcss@1.29.2)): + optionalDependencies: + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.29.2) + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + yallist@5.0.0: {} + + zimmerframe@1.1.2: {} diff --git a/sweb/postcss.config.js b/sweb/postcss.config.js index 2e7af2b..1c87846 100644 --- a/sweb/postcss.config.js +++ b/sweb/postcss.config.js @@ -1,6 +1,6 @@ export default { plugins: { - tailwindcss: {}, + '@tailwindcss/postcss': {}, autoprefixer: {}, }, } diff --git a/sweb/public/images/introduction/sample-image.svg b/sweb/public/images/introduction/sample-image.svg new file mode 100644 index 0000000..f5fafe3 --- /dev/null +++ b/sweb/public/images/introduction/sample-image.svg @@ -0,0 +1,6 @@ + + + + Sample Image + 800 x 400 + diff --git a/sweb/src/App.svelte b/sweb/src/App.svelte index f75b68a..adb076d 100644 --- a/sweb/src/App.svelte +++ b/sweb/src/App.svelte @@ -1,47 +1,9 @@ -
-
- - - - - - -
-

Vite + Svelte

- -
- -
- -

- Check out SvelteKit, the official Svelte app framework powered by Vite! -

- -

- Click on the Vite and Svelte logos to learn more -

-
- - + + + diff --git a/sweb/src/app.css b/sweb/src/app.css index 960371e..8b1d239 100644 --- a/sweb/src/app.css +++ b/sweb/src/app.css @@ -1,87 +1,11 @@ +@import "tailwindcss"; @tailwind base; @tailwind components; @tailwind utilities; -@tailwind base; -@tailwind components; -@tailwind utilities; -:root { - font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; - line-height: 1.5; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -.card { - padding: 2em; -} - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - text-align: center; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; +@layer base { + body { + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} +} \ No newline at end of file diff --git a/sweb/src/components/Footer.svelte b/sweb/src/components/Footer.svelte new file mode 100644 index 0000000..4d2c413 --- /dev/null +++ b/sweb/src/components/Footer.svelte @@ -0,0 +1,98 @@ + + + diff --git a/sweb/src/components/Home.svelte b/sweb/src/components/Home.svelte new file mode 100644 index 0000000..8e3e149 --- /dev/null +++ b/sweb/src/components/Home.svelte @@ -0,0 +1,146 @@ + + +
+ {#if contentPath} +
+ +
+ {:else} + +
+
+
+

+ Welcome to SecureWeb +

+

+ A comprehensive platform for secure and reliable web + solutions designed for modern businesses. +

+
+ + +
+
+
+ SecureWeb Platform +
+
+
+ + +
+
+

+ Our Features +

+

+ Discover what makes SecureWeb the preferred choice for + security-conscious businesses. +

+
+ +
+
+
+ +
+

+ Advanced Security +

+

+ State-of-the-art encryption and security protocols to + keep your data protected from threats. +

+
+ +
+
+ +
+

+ Lightning Performance +

+

+ Optimized for speed and efficiency, ensuring a smooth + and responsive user experience. +

+
+ +
+
+ +
+

+ Responsive Design +

+

+ Fully responsive layouts that provide a seamless + experience across all devices and screen sizes. +

+
+
+
+ + +
+
+
+
+

+ Ready to Get Started? +

+

+ Join thousands of satisfied users who trust + SecureWeb for their web security needs. Sign up + today and experience the difference. +

+
+
+ +
+
+
+
+ {/if} +
diff --git a/sweb/src/components/Layout.svelte b/sweb/src/components/Layout.svelte new file mode 100644 index 0000000..d82b107 --- /dev/null +++ b/sweb/src/components/Layout.svelte @@ -0,0 +1,67 @@ + + +
+ + +
+ + {#if sidebarVisible} + + {/if} + +
+
+ {#if selectedContentPath} + + {:else} + + {/if} +
+
+
+
+ + +
diff --git a/sweb/src/components/MarkdownContent.svelte b/sweb/src/components/MarkdownContent.svelte new file mode 100644 index 0000000..9229988 --- /dev/null +++ b/sweb/src/components/MarkdownContent.svelte @@ -0,0 +1,215 @@ + + +
+ {#if loading} +
+

Loading content...

+
+ {:else if error} +
+

Error: {error}

+
+ {:else} +
+ {@html content} +
+ {/if} +
+ + diff --git a/sweb/src/components/Navbar.svelte b/sweb/src/components/Navbar.svelte new file mode 100644 index 0000000..eced0a4 --- /dev/null +++ b/sweb/src/components/Navbar.svelte @@ -0,0 +1,46 @@ + + +
+
+ +
SecureWeb
+
+ +
+ + + + + +
+
diff --git a/sweb/src/components/Sidebar.svelte b/sweb/src/components/Sidebar.svelte new file mode 100644 index 0000000..e6efa27 --- /dev/null +++ b/sweb/src/components/Sidebar.svelte @@ -0,0 +1,86 @@ + + + diff --git a/sweb/src/data/navData.json b/sweb/src/data/navData.json index 554fcf5..3019820 100644 --- a/sweb/src/data/navData.json +++ b/sweb/src/data/navData.json @@ -1,7 +1,17 @@ [ { "label": "Introduction", - "link": "/introduction" + "link": "/introduction", + "children": [ + { + "label": "Introduction", + "link": "/introduction/introduction" + }, + { + "label": "With Images", + "link": "/introduction/with-images" + } + ] }, { "label": "Why OurWorld", diff --git a/sweb/src/docs/introduction/introduction.md b/sweb/src/docs/introduction/introduction.md new file mode 100644 index 0000000..93dffea --- /dev/null +++ b/sweb/src/docs/introduction/introduction.md @@ -0,0 +1,32 @@ +# Introduction to SecureWeb + +Welcome to SecureWeb, a revolutionary platform designed to provide secure and reliable web solutions for modern businesses and individuals. + +## Our Mission + +At SecureWeb, our mission is to create a safer digital environment where users can browse, communicate, and conduct business without compromising their security or privacy. We believe that everyone deserves access to secure web technologies, regardless of their technical expertise. + +## What We Offer + +SecureWeb provides a comprehensive suite of tools and services designed to enhance your online security: + +- **Secure Browsing**: Advanced encryption and security protocols to keep your data safe +- **Fast Performance**: Optimized for speed and efficiency, ensuring a smooth user experience +- **Responsive Design**: Fully responsive layouts that work perfectly on any device +- **Privacy Protection**: Built-in features to protect your privacy and prevent tracking +- **Threat Detection**: Real-time monitoring and detection of potential security threats + +## Why Choose SecureWeb + +In today's digital landscape, security threats are constantly evolving. Traditional security measures are often insufficient to protect against sophisticated attacks. SecureWeb uses cutting-edge technology to stay ahead of these threats, providing you with peace of mind as you navigate the online world. + +Our platform is built on the principles of: + +1. **Security by Design**: Security is not an afterthought but a fundamental aspect of our architecture +2. **User-Centric Approach**: Powerful security that doesn't compromise usability +3. **Continuous Improvement**: Regular updates and enhancements to address emerging threats +4. **Transparency**: Clear communication about how we protect your data + +## Getting Started + +Ready to experience a more secure web? Sign up today and join thousands of satisfied users who trust SecureWeb for their security needs. diff --git a/sweb/src/docs/introduction/with-images.md b/sweb/src/docs/introduction/with-images.md new file mode 100644 index 0000000..b9f761b --- /dev/null +++ b/sweb/src/docs/introduction/with-images.md @@ -0,0 +1,46 @@ +# Introduction with Images + +This is a sample Markdown file that includes images to test our image handling functionality. + +## Using Images in Markdown + +Images can be included in Markdown using the following syntax: + +```markdown +![Alt text](image-filename.jpg) +``` + +## Sample Image References + +Here are some examples of how images can be referenced: + +1. **Relative path image** (this will be processed by our custom handler): + ![Sample relative image](sample-image.svg) + +2. **Absolute path image** (already has a leading slash): + ![Sample absolute image](/images/introduction/sample-image.svg) + +3. **External image** (has http/https): + ![External image](https://picsum.photos/800/400) + +## Image Styling + +Our Markdown renderer applies custom styling to images to ensure they look good in the document: + +- Maximum width is set to 100% to prevent overflow +- Border radius is applied for a modern look +- Margins are added for proper spacing + +## Testing Different Image Formats + +Markdown supports various image formats: + +- JPEG/JPG +- PNG +- GIF +- SVG +- WebP + +## Conclusion + +If you can see the images properly displayed in this document, our image handling functionality is working correctly! diff --git a/sweb/src/docs/more-info/more-info.md b/sweb/src/docs/more-info/more-info.md new file mode 100644 index 0000000..83ce78a --- /dev/null +++ b/sweb/src/docs/more-info/more-info.md @@ -0,0 +1,90 @@ +# More Information + +## Resources for Learning More About SecureWeb + +Thank you for your interest in SecureWeb. This page provides additional resources to help you learn more about our platform, our approach to security, and how we can help protect your digital life. + +## Documentation + +Our comprehensive documentation covers all aspects of the SecureWeb platform: + +- [User Guides](https://secureweb.com/docs/user-guides) +- [API Documentation](https://secureweb.com/docs/api) +- [Security Best Practices](https://secureweb.com/docs/best-practices) +- [Implementation Guides](https://secureweb.com/docs/implementation) +- [Troubleshooting](https://secureweb.com/docs/troubleshooting) + +## Blog and Research + +Stay up-to-date with the latest in web security through our regularly updated blog: + +- [Security Trends and Insights](https://secureweb.com/blog/trends) +- [Threat Research](https://secureweb.com/blog/research) +- [Product Updates](https://secureweb.com/blog/updates) +- [Case Studies](https://secureweb.com/blog/case-studies) +- [Security Tips](https://secureweb.com/blog/tips) + +## Webinars and Events + +Join our security experts for live discussions and demonstrations: + +- [Upcoming Webinars](https://secureweb.com/events/webinars) +- [Conference Appearances](https://secureweb.com/events/conferences) +- [Security Workshops](https://secureweb.com/events/workshops) +- [Past Event Recordings](https://secureweb.com/events/recordings) + +## Educational Resources + +We're committed to improving security literacy for everyone: + +- [Security Fundamentals Course](https://secureweb.com/learn/fundamentals) +- [Privacy Protection Guide](https://secureweb.com/learn/privacy) +- [Threat Recognition Training](https://secureweb.com/learn/threats) +- [Security for Families](https://secureweb.com/learn/families) +- [Business Security Essentials](https://secureweb.com/learn/business) + +## Community + +Connect with other security-conscious users and our team: + +- [SecureWeb Forum](https://community.secureweb.com) +- [GitHub](https://github.com/secureweb) +- [Discord Server](https://discord.gg/secureweb) +- [Reddit Community](https://reddit.com/r/secureweb) + +## Support + +We're here to help with any questions or issues: + +- [Knowledge Base](https://support.secureweb.com/kb) +- [FAQ](https://support.secureweb.com/faq) +- [Contact Support](https://support.secureweb.com/contact) +- [Report a Vulnerability](https://secureweb.com/security/report) + +## Press and Media + +For media inquiries and resources: + +- [Press Releases](https://secureweb.com/press/releases) +- [Media Kit](https://secureweb.com/press/media-kit) +- [Brand Assets](https://secureweb.com/press/brand) +- [Media Contact](mailto:press@secureweb.com) + +## Careers + +Interested in joining our team? + +- [Current Openings](https://secureweb.com/careers/jobs) +- [Our Culture](https://secureweb.com/careers/culture) +- [Benefits](https://secureweb.com/careers/benefits) +- [Internship Program](https://secureweb.com/careers/internships) + +## Contact Us + +Have questions or want to learn more? + +- **Email**: info@secureweb.com +- **Phone**: +1 (555) 123-4567 +- **Address**: 123 Security Street, Cybertown, CT 12345 + +We look forward to helping you create a more secure digital experience. diff --git a/sweb/src/docs/our-projects/projects.md b/sweb/src/docs/our-projects/projects.md new file mode 100644 index 0000000..f8fb5e7 --- /dev/null +++ b/sweb/src/docs/our-projects/projects.md @@ -0,0 +1,85 @@ +# Our Projects + +## Innovations in Web Security + +At SecureWeb, we're constantly working on new projects to advance the state of web security and privacy. Here are some of our current initiatives: + +## Project SafeHaven + +**Status: Beta Testing** + +SafeHaven is our next-generation secure communication platform, designed to provide end-to-end encrypted messaging, file sharing, and collaboration tools for individuals and organizations handling sensitive information. + +**Key Features:** +- Zero-knowledge architecture ensuring that even we cannot access your communications +- Multi-platform support (desktop, mobile, web) +- Ephemeral messaging with customizable retention policies +- Secure video conferencing with verified participants +- Tamper-evident audit logs for enterprise users + +We're currently running a closed beta program with selected partners in journalism, legal services, and healthcare. Public beta is scheduled for Q3 2023. + +## Project Sentinel + +**Status: Active Development** + +Sentinel is an AI-powered threat detection system that identifies potential security risks before they can be exploited. Unlike traditional security tools that rely on known signatures, Sentinel uses advanced machine learning to detect anomalous patterns that may indicate new types of attacks. + +**Key Features:** +- Predictive threat modeling +- Behavioral analysis of network traffic +- Automated response recommendations +- Integration with existing security infrastructure +- Continuous learning from global threat data + +We're developing Sentinel in partnership with leading cybersecurity research institutions and plan to incorporate it into our enterprise offerings by the end of the year. + +## Project Digital Fortress + +**Status: Research Phase** + +Digital Fortress is our long-term research initiative focused on developing quantum-resistant encryption methods. As quantum computing advances, many current encryption standards will become vulnerable. This project aims to create practical, implementable encryption solutions that will remain secure in the post-quantum era. + +**Areas of Research:** +- Lattice-based cryptography +- Hash-based digital signatures +- Multivariate polynomial cryptosystems +- Practical implementation of post-quantum algorithms +- Performance optimization for web environments + +We're collaborating with cryptographers and mathematicians from several universities on this project, with the goal of publishing open standards that can be adopted across the industry. + +## Project Guardian + +**Status: Early Access** + +Guardian is our comprehensive child safety platform, designed to help parents protect their children online while respecting their privacy and autonomy. + +**Key Features:** +- Age-appropriate content filtering +- Screen time management +- Cyberbullying detection +- Online predator protection +- Educational resources for digital literacy + +Guardian is currently available in early access to selected families, with a full launch planned for the coming months. + +## Open Source Initiatives + +We believe in giving back to the security community. Here are some of our open source projects: + +### SecureHeaders + +A library for implementing best-practice security headers in web applications, making it easier for developers to enhance the security of their sites. + +### PrivacyCheck + +A tool for websites to audit their privacy practices and ensure compliance with global regulations like GDPR, CCPA, and others. + +### ThreatShare + +An open platform for sharing threat intelligence among security researchers and organizations, helping to create a more collaborative approach to cybersecurity. + +## Get Involved + +We welcome collaboration on our projects. If you're interested in participating in beta testing, contributing to our open source initiatives, or partnering on research, please contact our team at projects@secureweb.com. diff --git a/sweb/src/docs/our-solutions/intro.md b/sweb/src/docs/our-solutions/intro.md new file mode 100644 index 0000000..4c5e7d6 --- /dev/null +++ b/sweb/src/docs/our-solutions/intro.md @@ -0,0 +1,91 @@ +# Our Solutions + +## Comprehensive Security for the Modern Web + +At SecureWeb, we've developed a suite of integrated solutions designed to address the complex security challenges of today's digital landscape. Our approach combines cutting-edge technology with user-friendly design to provide protection that's both powerful and accessible. + +## Core Solutions + +### Secure Browsing Platform + +Our flagship product provides a secure environment for all your web activities. Unlike traditional browsers that add security as an afterthought, our platform is built with security as its foundation. + +**Key Features:** +- End-to-end encryption for all web traffic +- Advanced phishing and malware detection +- Automatic blocking of tracking scripts and cookies +- Secure password management +- Private browsing mode with enhanced protections + +### Threat Intelligence Network + +Our global threat intelligence network continuously monitors for emerging security threats, providing real-time protection against new vulnerabilities and attack vectors. + +**Key Features:** +- Real-time threat detection and alerts +- Crowdsourced security intelligence +- AI-powered analysis of potential threats +- Regular security reports and insights +- Automated security updates + +### Privacy Guardian + +Take control of your digital footprint with our comprehensive privacy protection tools. + +**Key Features:** +- Data exposure monitoring +- Social media privacy management +- Automated data removal from broker sites +- Digital identity protection +- Privacy-focused search and browsing + +## Industry-Specific Solutions + +### Enterprise Security Suite + +Tailored security solutions for businesses of all sizes, designed to protect corporate networks, data, and users. + +**Key Features:** +- Centralized security management +- Employee security training and simulation +- Compliance monitoring and reporting +- Advanced threat protection for corporate networks +- Secure remote work solutions + +### E-commerce Protection + +Specialized security for online retailers and their customers, ensuring safe transactions and data protection. + +**Key Features:** +- Secure payment processing +- Customer data protection +- Fraud detection and prevention +- PCI compliance tools +- Trust badges and customer reassurance + +### Healthcare Security + +HIPAA-compliant security solutions for healthcare providers, protecting sensitive patient information and medical systems. + +**Key Features:** +- Patient data encryption +- Secure telehealth platforms +- Medical device security +- Compliance documentation and reporting +- Staff security training + +## Implementation and Support + +All our solutions come with comprehensive implementation assistance and ongoing support: + +- Personalized security assessments +- Custom implementation plans +- 24/7 technical support +- Regular security updates +- Educational resources and training + +## Start Securing Your Digital Presence + +Whether you're an individual concerned about your personal privacy, a small business looking to protect your customers' data, or an enterprise with complex security needs, SecureWeb has solutions designed for you. + +Contact our team today to discuss how we can help you create a more secure digital environment. diff --git a/sweb/src/docs/our-story/story.md b/sweb/src/docs/our-story/story.md new file mode 100644 index 0000000..e944b39 --- /dev/null +++ b/sweb/src/docs/our-story/story.md @@ -0,0 +1,36 @@ +# Our Story + +## The Genesis of SecureWeb + +SecureWeb was born out of a simple yet powerful idea: that everyone deserves access to a secure internet experience. In 2018, a group of cybersecurity experts, privacy advocates, and web developers came together with a shared concern about the growing threats in the digital landscape. + +## The Early Days + +Our founders, having worked in various sectors of the tech industry, had witnessed firsthand the vulnerabilities that existed in many web platforms. They saw how both individuals and businesses were increasingly becoming targets of sophisticated cyber attacks, yet lacked the tools to protect themselves effectively. + +The team began by developing a set of security protocols that could be implemented across different web applications. What started as a research project quickly evolved as they realized the potential impact of creating an integrated platform that could address multiple security concerns simultaneously. + +## From Concept to Reality + +In 2019, after months of development and testing, the first version of SecureWeb was launched. The platform initially focused on secure browsing and basic threat detection, but the vision was always broader. + +The response was immediate and enthusiastic. Users appreciated the combination of robust security features and user-friendly design—something that had been notably absent in the security tools market. + +## Growth and Evolution + +As our user base grew, so did our team and our capabilities. We listened carefully to feedback and continuously improved our platform: + +- In 2020, we expanded our services to include advanced privacy protection features +- In 2021, we introduced our enterprise solutions for businesses +- In 2022, we launched our mobile applications, bringing secure browsing to smartphones and tablets +- In 2023, we integrated AI-powered threat detection to stay ahead of emerging security risks + +## Our Community + +Today, SecureWeb serves millions of users worldwide, from individual consumers to large enterprises. We've built a community of security-conscious users who not only benefit from our platform but also contribute to its improvement through feedback, beta testing, and even open-source contributions. + +## Looking Forward + +As we look to the future, our mission remains unchanged: to create a safer digital environment for everyone. The threats may evolve, but so do we. We continue to invest in research and development, staying at the forefront of cybersecurity innovation. + +We're proud of how far we've come, but we're even more excited about where we're going. The journey to a truly secure web is ongoing, and we're committed to leading the way. diff --git a/sweb/src/docs/our-story/team.md b/sweb/src/docs/our-story/team.md new file mode 100644 index 0000000..e879a50 --- /dev/null +++ b/sweb/src/docs/our-story/team.md @@ -0,0 +1,53 @@ +# Our Team + +## Leadership + +### Sarah Chen +**Chief Executive Officer** + +Sarah brings over 20 years of experience in cybersecurity and technology leadership. Before founding SecureWeb, she served as the CTO of a major security firm and advised Fortune 500 companies on their security strategies. Sarah holds a Ph.D. in Computer Science from MIT and is a frequent speaker at global security conferences. + +### Michael Rodriguez +**Chief Technology Officer** + +Michael leads our technical strategy and oversees all product development. With a background in cryptography and distributed systems, he has pioneered several innovations in secure communication protocols. Prior to SecureWeb, Michael was a senior security researcher at Google and contributed to multiple open-source security projects. + +### Aisha Kamara +**Chief Operating Officer** + +Aisha manages our day-to-day operations and ensures that our business strategies align with our mission. Her background in both technology and business administration gives her a unique perspective on scaling security solutions. Aisha previously led operations at several successful tech startups and holds an MBA from Stanford. + +## Security Research Team + +### Dr. David Park +**Head of Security Research** + +David leads our team of security researchers who work to identify emerging threats and develop countermeasures. His team combines academic research with practical applications to stay ahead of malicious actors. David has published numerous papers on network security and holds several patents in intrusion detection systems. + +### Olivia Tanaka +**Principal Security Analyst** + +Olivia specializes in malware analysis and threat intelligence. Her work involves reverse engineering malicious code and developing detection signatures. Before joining SecureWeb, she worked at a national cybersecurity agency and has been recognized for discovering several critical vulnerabilities. + +## Product Development + +### Carlos Mendez +**VP of Product** + +Carlos oversees our product roadmap and ensures that our security solutions meet the needs of our diverse user base. He has a talent for translating complex security concepts into user-friendly features. Carlos has led product teams at several tech companies and is passionate about creating accessible security tools. + +### Priya Sharma +**Lead UX Designer** + +Priya is responsible for creating intuitive user experiences that make security accessible to everyone. She believes that good security should never come at the expense of usability. Priya has a background in cognitive psychology and has designed interfaces for various security and privacy tools. + +## Customer Success + +### Thomas Okonkwo +**Director of Customer Success** + +Thomas leads our customer success team, ensuring that our users get the most out of SecureWeb's features. His team provides training, support, and educational resources to help users strengthen their security posture. Thomas has extensive experience in customer education and technical support leadership. + +--- + +Our team is united by a shared commitment to creating a safer digital world. We bring together diverse backgrounds, perspectives, and expertise, all focused on our mission of making security accessible to everyone. diff --git a/sweb/src/docs/why-ourworld/why-ourworld.md b/sweb/src/docs/why-ourworld/why-ourworld.md new file mode 100644 index 0000000..b5b9b3b --- /dev/null +++ b/sweb/src/docs/why-ourworld/why-ourworld.md @@ -0,0 +1,56 @@ +# Why OurWorld + +## A Vision for a Better Digital Future + +OurWorld represents a revolutionary approach to how we interact with technology and with each other in the digital realm. In an era where centralized platforms control vast amounts of our data and dictate the terms of our online experiences, OurWorld offers an alternative vision. + +## The Problems We're Solving + +### Centralization of Power + +Today's internet is dominated by a handful of tech giants who control the platforms we use daily. This centralization creates single points of failure, privacy concerns, and power imbalances. + +### Data Exploitation + +Our personal data has become a commodity, harvested and sold without our meaningful consent. This has led to surveillance capitalism, where our online behaviors are constantly monitored and monetized. + +### Digital Divides + +Access to technology and its benefits remains unequal across the globe. Many communities lack the infrastructure, resources, or skills to fully participate in the digital economy. + +### Environmental Impact + +The growing digital infrastructure has a significant carbon footprint, contributing to climate change and environmental degradation. + +## Our Approach + +OurWorld is built on principles that address these fundamental challenges: + +### Decentralization + +By distributing control and ownership, we eliminate single points of failure and create a more resilient system that can't be controlled by any single entity. + +### Sovereignty + +We believe individuals should own their data and have control over their digital identities. OurWorld puts users in charge of their information and how it's used. + +### Sustainability + +Our technology is designed with environmental impact in mind, using energy-efficient solutions and promoting sustainable practices. + +### Inclusivity + +We're building tools and infrastructure that can reach underserved communities, bridging digital divides and creating opportunities for all. + +## The Technology Behind OurWorld + +OurWorld leverages cutting-edge technologies like: + +- **Distributed Systems**: Creating resilient networks without central control +- **Blockchain**: Enabling transparent, secure transactions and governance +- **Peer-to-Peer Communication**: Allowing direct exchange without intermediaries +- **Open Source Development**: Fostering collaboration and innovation + +## Join the Movement + +OurWorld isn't just a technology platform—it's a movement toward a more equitable, sustainable, and user-centric digital future. By joining OurWorld, you become part of this transformative vision, helping to shape a better internet for everyone. diff --git a/sweb/src/lib/components/ui/accordion/accordion-content.svelte b/sweb/src/lib/components/ui/accordion/accordion-content.svelte new file mode 100644 index 0000000..9a94faa --- /dev/null +++ b/sweb/src/lib/components/ui/accordion/accordion-content.svelte @@ -0,0 +1,21 @@ + + +{#if isOpen} +
+
+ +
+
+{/if} diff --git a/sweb/src/lib/components/ui/accordion/accordion-item.svelte b/sweb/src/lib/components/ui/accordion/accordion-item.svelte new file mode 100644 index 0000000..59f9ed4 --- /dev/null +++ b/sweb/src/lib/components/ui/accordion/accordion-item.svelte @@ -0,0 +1,24 @@ + + +
+ +
diff --git a/sweb/src/lib/components/ui/accordion/accordion-trigger.svelte b/sweb/src/lib/components/ui/accordion/accordion-trigger.svelte new file mode 100644 index 0000000..41909d4 --- /dev/null +++ b/sweb/src/lib/components/ui/accordion/accordion-trigger.svelte @@ -0,0 +1,28 @@ + + + diff --git a/sweb/src/lib/components/ui/accordion/accordion.svelte b/sweb/src/lib/components/ui/accordion/accordion.svelte new file mode 100644 index 0000000..1e7ee99 --- /dev/null +++ b/sweb/src/lib/components/ui/accordion/accordion.svelte @@ -0,0 +1,45 @@ + + +
+ +
diff --git a/sweb/src/lib/components/ui/accordion/context.ts b/sweb/src/lib/components/ui/accordion/context.ts new file mode 100644 index 0000000..6b034d8 --- /dev/null +++ b/sweb/src/lib/components/ui/accordion/context.ts @@ -0,0 +1,13 @@ +import { createContext } from "../../../create-context"; + +export type AccordionContextValue = { + value: string | string[] | undefined; + onValueChange: (value: string) => void; + collapsible: boolean; + multiple: boolean; +}; + +export const { + get: getAccordionContext, + set: setAccordionContext +} = createContext(); \ No newline at end of file diff --git a/sweb/src/lib/components/ui/accordion/index.ts b/sweb/src/lib/components/ui/accordion/index.ts new file mode 100644 index 0000000..4be2562 --- /dev/null +++ b/sweb/src/lib/components/ui/accordion/index.ts @@ -0,0 +1,16 @@ +import Root from './accordion.svelte'; +import Item from './accordion-item.svelte'; +import Content from './accordion-content.svelte'; +import Trigger from './accordion-trigger.svelte'; + +export { + Root, + Item, + Content, + Trigger, + // + Root as Accordion, + Item as AccordionItem, + Content as AccordionContent, + Trigger as AccordionTrigger +}; \ No newline at end of file diff --git a/sweb/src/lib/components/ui/button/button.svelte b/sweb/src/lib/components/ui/button/button.svelte new file mode 100644 index 0000000..b7800bf --- /dev/null +++ b/sweb/src/lib/components/ui/button/button.svelte @@ -0,0 +1,32 @@ + + + diff --git a/sweb/src/lib/components/ui/button/index.ts b/sweb/src/lib/components/ui/button/index.ts new file mode 100644 index 0000000..bdcb7b4 --- /dev/null +++ b/sweb/src/lib/components/ui/button/index.ts @@ -0,0 +1,7 @@ +import Root from './button.svelte'; + +export { + Root, + // + Root as Button +}; \ No newline at end of file diff --git a/sweb/src/lib/create-context.ts b/sweb/src/lib/create-context.ts new file mode 100644 index 0000000..b40afdb --- /dev/null +++ b/sweb/src/lib/create-context.ts @@ -0,0 +1,17 @@ +import { getContext, hasContext, setContext } from 'svelte'; + +export function createContext() { + const key = Symbol(); + + return { + get: () => { + if (!hasContext(key)) { + throw new Error('Context was not set'); + } + return getContext(key); + }, + set: (context: T) => { + setContext(key, context); + } + }; +} \ No newline at end of file diff --git a/sweb/src/lib/utils.ts b/sweb/src/lib/utils.ts new file mode 100644 index 0000000..0bf284a --- /dev/null +++ b/sweb/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from 'clsx'; +import { twMerge } from 'tailwind-merge'; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} \ No newline at end of file diff --git a/sweb/tailwind.config.js b/sweb/tailwind.config.js index 3fbe9d0..6571086 100644 --- a/sweb/tailwind.config.js +++ b/sweb/tailwind.config.js @@ -4,7 +4,26 @@ export default { './src/**/*.{html,js,svelte,ts}', ], theme: { - extend: {}, + extend: { + colors: { + blue: { + 600: '#2563eb', + 700: '#1d4ed8', + }, + gray: { + 50: '#f9fafb', + 100: '#f3f4f6', + 200: '#e5e7eb', + 300: '#d1d5db', + 400: '#9ca3af', + 500: '#6b7280', + 600: '#4b5563', + 700: '#374151', + 800: '#1f2937', + 900: '#111827', + }, + }, + }, }, plugins: [], } diff --git a/sweb/vite.config.ts b/sweb/vite.config.ts index d32eba1..baccb88 100644 --- a/sweb/vite.config.ts +++ b/sweb/vite.config.ts @@ -1,7 +1,13 @@ import { defineConfig } from 'vite' import { svelte } from '@sveltejs/vite-plugin-svelte' +import { resolve } from 'path' // https://vite.dev/config/ export default defineConfig({ plugins: [svelte()], + resolve: { + alias: { + $lib: resolve('./src/lib') + } + } })