diff --git a/package.json b/package.json index c239ed3..99ef560 100644 --- a/package.json +++ b/package.json @@ -25,17 +25,17 @@ "devDependencies": { "@melt-ui/pp": "^0.3.2", "@melt-ui/svelte": "^0.83.0", - "@playwright/test": "^1.45.1", + "@playwright/test": "^1.45.2", "@resvg/resvg-js": "^2.6.2", "@sveltejs/adapter-auto": "^3.2.2", "@sveltejs/enhanced-img": "^0.3.0", "@sveltejs/kit": "^2.5.18", "@sveltejs/vite-plugin-svelte": "^3.1.1", "@types/cookie": "^0.6.0", - "@types/node": "^20.14.10", + "@types/node": "^20.14.11", "@types/pg": "^8.11.6", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.16.0", + "@typescript-eslint/eslint-plugin": "^7.16.1", + "@typescript-eslint/parser": "^7.16.1", "autoprefixer": "^10.4.19", "drizzle-kit": "^0.23.0", "eslint": "^8.57.0", @@ -48,7 +48,7 @@ "postcss-load-config": "^5.1.0", "postcss-preset-env": "^9.6.0", "prettier": "^3.3.3", - "prettier-plugin-svelte": "^3.2.5", + "prettier-plugin-svelte": "^3.2.6", "sass": "^1.77.8", "satori": "^0.10.14", "satori-html": "^0.3.2", @@ -60,7 +60,7 @@ "svelte-sequential-preprocessor": "^2.0.1", "sveltekit-flash-message": "^2.4.4", "sveltekit-rate-limiter": "^0.5.2", - "sveltekit-superforms": "^2.16.0", + "sveltekit-superforms": "^2.16.1", "tailwindcss": "^3.4.6", "ts-node": "^10.9.2", "tslib": "^2.6.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05c0a5a..891bd0e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ importers: version: 2.2.2 '@sveltejs/adapter-vercel': specifier: ^5.4.1 - version: 5.4.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8))) + version: 5.4.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8))) '@types/feather-icons': specifier: ^4.29.4 version: 4.29.4 @@ -67,7 +67,7 @@ importers: version: 4.29.2 formsnap: specifier: ^1.0.1 - version: 1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.16.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)) + version: 1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.16.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)) html-entities: specifier: ^2.5.2 version: 2.5.2 @@ -118,10 +118,10 @@ importers: version: 2.4.0 tailwind-variants: specifier: ^0.2.1 - version: 0.2.1(tailwindcss@3.4.6(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3))) + version: 0.2.1(tailwindcss@3.4.6(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3))) tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.6(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3))) + version: 1.0.7(tailwindcss@3.4.6(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3))) zod-to-json-schema: specifier: ^3.23.1 version: 3.23.1(zod@3.23.8) @@ -133,38 +133,38 @@ importers: specifier: ^0.83.0 version: 0.83.0(svelte@5.0.0-next.175) '@playwright/test': - specifier: ^1.45.1 - version: 1.45.1 + specifier: ^1.45.2 + version: 1.45.2 '@resvg/resvg-js': specifier: ^2.6.2 version: 2.6.2 '@sveltejs/adapter-auto': specifier: ^3.2.2 - version: 3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8))) + version: 3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8))) '@sveltejs/enhanced-img': specifier: ^0.3.0 version: 0.3.0(rollup@4.18.1)(svelte@5.0.0-next.175) '@sveltejs/kit': specifier: ^2.5.18 - version: 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + version: 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) '@sveltejs/vite-plugin-svelte': specifier: ^3.1.1 - version: 3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + version: 3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) '@types/cookie': specifier: ^0.6.0 version: 0.6.0 '@types/node': - specifier: ^20.14.10 - version: 20.14.10 + specifier: ^20.14.11 + version: 20.14.11 '@types/pg': specifier: ^8.11.6 version: 8.11.6 '@typescript-eslint/eslint-plugin': - specifier: ^7.16.0 - version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) + specifier: ^7.16.1 + version: 7.16.1(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': - specifier: ^7.16.0 - version: 7.16.0(eslint@8.57.0)(typescript@5.5.3) + specifier: ^7.16.1 + version: 7.16.1(eslint@8.57.0)(typescript@5.5.3) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.39) @@ -179,7 +179,7 @@ importers: version: 9.1.0(eslint@8.57.0) eslint-plugin-svelte: specifier: ^2.42.0 - version: 2.42.0(eslint@8.57.0)(svelte@5.0.0-next.175)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)) + version: 2.42.0(eslint@8.57.0)(svelte@5.0.0-next.175)(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3)) just-clone: specifier: ^6.2.0 version: 6.2.0 @@ -202,8 +202,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 prettier-plugin-svelte: - specifier: ^3.2.5 - version: 3.2.5(prettier@3.3.3)(svelte@5.0.0-next.175) + specifier: ^3.2.6 + version: 3.2.6(prettier@3.3.3)(svelte@5.0.0-next.175) sass: specifier: ^1.77.8 version: 1.77.8 @@ -233,19 +233,19 @@ importers: version: 2.0.1 sveltekit-flash-message: specifier: ^2.4.4 - version: 2.4.4(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175) + version: 2.4.4(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175) sveltekit-rate-limiter: specifier: ^0.5.2 - version: 0.5.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8))) + version: 0.5.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8))) sveltekit-superforms: - specifier: ^2.16.0 - version: 2.16.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175) + specifier: ^2.16.1 + version: 2.16.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175) tailwindcss: specifier: ^3.4.6 - version: 3.4.6(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)) + version: 3.4.6(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3)) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.14.10)(typescript@5.5.3) + version: 10.9.2(@types/node@20.14.11)(typescript@5.5.3) tslib: specifier: ^2.6.3 version: 2.6.3 @@ -257,10 +257,10 @@ importers: version: 5.5.3 vite: specifier: ^5.3.4 - version: 5.3.4(@types/node@20.14.10)(sass@1.77.8) + version: 5.3.4(@types/node@20.14.11)(sass@1.77.8) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.14.10)(sass@1.77.8) + version: 1.6.0(@types/node@20.14.11)(sass@1.77.8) zod: specifier: ^3.23.8 version: 3.23.8 @@ -275,11 +275,11 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@arktype/schema@0.1.13': - resolution: {integrity: sha512-qZjtCAKrnhsixDWsEGJtosWfi4bLpAg4OnnICVYTer/6v5hwlhsdYpYobTSJUc5eiBoI5Ai/kcNfYaQISshY2g==} + '@ark/schema@0.2.0': + resolution: {integrity: sha512-IkNWCSHdjaoemMXpps4uFHEAQzwJPbTAS8K2vcQpk90sa+eNBuPSVyB/81/Qyl1VYW0iX3ceGC5NL/OznQv1jg==} - '@arktype/util@0.0.48': - resolution: {integrity: sha512-U5FO5EUAJ4LoYtLSyAMmTf6CEVgslObfSQuua2zoK5Tv2FB3aESVQ3rdLfhuz+coRhlzlynbkmimyoQWwQT+aQ==} + '@ark/util@0.1.0': + resolution: {integrity: sha512-qCLYICQoCy3kEKDVwirQp8qvxhY7NJd8BhhoHaj1l3wCFAk9NUbcDsxAkPStZEMdPI/d7NcbGJe8SWZuRG2twQ==} '@babel/runtime@7.24.8': resolution: {integrity: sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==} @@ -1556,8 +1556,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@playwright/test@1.45.1': - resolution: {integrity: sha512-Wo1bWTzQvGA7LyKGIZc8nFSTFf2TkthGIFBR+QVNilvwouGzFd4PYukZe3rvf5PSqjHi1+1NyKSDZKcQWETzaA==} + '@playwright/test@1.45.2': + resolution: {integrity: sha512-JxG9eq92ET75EbVi3s+4sYbcG7q72ECeZNbdBlaMkGcNbiDQ4cAi8U2QP5oKkOx+1gpaiL1LDStmzCaEM1Z6fQ==} engines: {node: '>=18'} hasBin: true @@ -1911,8 +1911,8 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@20.14.10': - resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==} + '@types/node@20.14.11': + resolution: {integrity: sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==} '@types/pg@8.11.6': resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} @@ -1923,8 +1923,8 @@ packages: '@types/validator@13.12.0': resolution: {integrity: sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==} - '@typescript-eslint/eslint-plugin@7.16.0': - resolution: {integrity: sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==} + '@typescript-eslint/eslint-plugin@7.16.1': + resolution: {integrity: sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -1934,8 +1934,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.16.0': - resolution: {integrity: sha512-ar9E+k7CU8rWi2e5ErzQiC93KKEFAXA2Kky0scAlPcxYblLt8+XZuHUZwlyfXILyQa95P6lQg+eZgh/dDs3+Vw==} + '@typescript-eslint/parser@7.16.1': + resolution: {integrity: sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1944,12 +1944,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@7.16.0': - resolution: {integrity: sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==} + '@typescript-eslint/scope-manager@7.16.1': + resolution: {integrity: sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.16.0': - resolution: {integrity: sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==} + '@typescript-eslint/type-utils@7.16.1': + resolution: {integrity: sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1958,12 +1958,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@7.16.0': - resolution: {integrity: sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==} + '@typescript-eslint/types@7.16.1': + resolution: {integrity: sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@7.16.0': - resolution: {integrity: sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==} + '@typescript-eslint/typescript-estree@7.16.1': + resolution: {integrity: sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -1971,14 +1971,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@7.16.0': - resolution: {integrity: sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==} + '@typescript-eslint/utils@7.16.1': + resolution: {integrity: sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@7.16.0': - resolution: {integrity: sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==} + '@typescript-eslint/visitor-keys@7.16.1': + resolution: {integrity: sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==} engines: {node: ^18.18.0 || >=20.0.0} '@ungap/structured-clone@1.2.0': @@ -2102,8 +2102,8 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - arktype@2.0.0-dev.21: - resolution: {integrity: sha512-dgHCjb3FK4BGvG2LuXqgdWXstbFmiYowSy0jiKnyk4KVcMT5DyIJ9d1nbQM3ztiAL3hIPmPdkmpfxUqR+BoOBQ==} + arktype@2.0.0-beta.0: + resolution: {integrity: sha512-fE3ssMiXjr/bLqFPzlDhRlXngdyHQreu7p7i8+dtcY1CA+f8WrVUcue6JxywhnqEJXPG4HOcIwQcC+q4VfeUMQ==} array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} @@ -3345,13 +3345,13 @@ packages: pkg-types@1.1.0: resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} - playwright-core@1.45.1: - resolution: {integrity: sha512-LF4CUUtrUu2TCpDw4mcrAIuYrEjVDfT1cHbJMfwnE2+1b8PZcFzPNgvZCvq2JfQ4aTjRCCHw5EJ2tmr2NSzdPg==} + playwright-core@1.45.2: + resolution: {integrity: sha512-ha175tAWb0dTK0X4orvBIqi3jGEt701SMxMhyujxNrgd8K0Uy5wMSwwcQHtyB4om7INUkfndx02XnQ2p6dvLDw==} engines: {node: '>=18'} hasBin: true - playwright@1.45.1: - resolution: {integrity: sha512-Hjrgae4kpSQBr98nhCj3IScxVeVUixqj+5oyif8TdIn2opTCPEzqAqNMeK42i3cWDCVu9MI+ZsGWw+gVR4ISBg==} + playwright@1.45.2: + resolution: {integrity: sha512-ReywF2t/0teRvNBpfIgh5e4wnrI/8Su8ssdo5XsQKpjxJj+jspm00jSoz9BTg91TT0c9HRjXO7LBNVrgYj9X0g==} engines: {node: '>=18'} hasBin: true @@ -3645,8 +3645,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-svelte@3.2.5: - resolution: {integrity: sha512-vP/M/Goc8z4iVIvrwXwbrYVjJgA0Hf8PO1G4LBh/ocSt6vUP6sLvyu9F3ABEGr+dbKyxZjEKLkeFsWy/yYl0HQ==} + prettier-plugin-svelte@3.2.6: + resolution: {integrity: sha512-Y1XWLw7vXUQQZmgv1JAEiLcErqUniAF2wO7QJsw8BVMvpLET2dI5WpEIEJx1r11iHVdSMzQxivyfrH9On9t2IQ==} peerDependencies: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 @@ -3788,6 +3788,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -4070,8 +4075,8 @@ packages: peerDependencies: '@sveltejs/kit': 1.x || 2.x - sveltekit-superforms@2.16.0: - resolution: {integrity: sha512-t5aZyMCXyahgvn7VAJ7l9S+wAv9YyMAZHYQ6gcGVZ6ecr4/DMMD2r3ajGCj1h1dWaMQ3w5zVw+SqHSAkbHsWVQ==} + sveltekit-superforms@2.16.1: + resolution: {integrity: sha512-RNBdN43xge/ADmc3s7+pfdnRGuZ9gZiqpX6VKAQCnCI+ICc5rrPv5idYbx4iuY1Ia0lRMAq1hP0x2oHaPjB+Kg==} peerDependencies: '@sveltejs/kit': 1.x || 2.x svelte: 3.x || 4.x || >=5.0.0-next.51 @@ -4435,12 +4440,12 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@arktype/schema@0.1.13': + '@ark/schema@0.2.0': dependencies: - '@arktype/util': 0.0.48 + '@ark/util': 0.1.0 optional: true - '@arktype/util@0.0.48': + '@ark/util@0.1.0': optional: true '@babel/runtime@7.24.8': @@ -5409,9 +5414,9 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@playwright/test@1.45.1': + '@playwright/test@1.45.2': dependencies: - playwright: 1.45.1 + playwright: 1.45.2 '@polka/url@1.0.0-next.25': {} @@ -5604,14 +5609,14 @@ snapshots: '@sodaru/yup-to-json-schema@2.0.1': optional: true - '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))': + '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))': dependencies: - '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) import-meta-resolve: 4.1.0 - '@sveltejs/adapter-vercel@5.4.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))': + '@sveltejs/adapter-vercel@5.4.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))': dependencies: - '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) '@vercel/nft': 0.27.2 esbuild: 0.21.5 transitivePeerDependencies: @@ -5627,9 +5632,9 @@ snapshots: - rollup - svelte - '@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8))': + '@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 @@ -5643,28 +5648,28 @@ snapshots: sirv: 2.0.4 svelte: 5.0.0-next.175 tiny-glob: 0.2.9 - vite: 5.3.4(@types/node@20.14.10)(sass@1.77.8) + vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8) - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8))': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) debug: 4.3.4 svelte: 5.0.0-next.175 - vite: 5.3.4(@types/node@20.14.10)(sass@1.77.8) + vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8))': + '@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) debug: 4.3.4 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.10 svelte: 5.0.0-next.175 svelte-hmr: 0.16.0(svelte@5.0.0-next.175) - vite: 5.3.4(@types/node@20.14.10)(sass@1.77.8) - vitefu: 0.2.5(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8) + vitefu: 0.2.5(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) transitivePeerDependencies: - supports-color @@ -5694,13 +5699,13 @@ snapshots: '@types/json-schema@7.0.15': optional: true - '@types/node@20.14.10': + '@types/node@20.14.11': dependencies: undici-types: 5.26.5 '@types/pg@8.11.6': dependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.11 pg-protocol: 1.6.1 pg-types: 4.0.2 @@ -5709,14 +5714,14 @@ snapshots: '@types/validator@13.12.0': optional: true - '@typescript-eslint/eslint-plugin@7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@7.16.1(@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.16.0(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/type-utils': 7.16.0(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 7.16.0 + '@typescript-eslint/parser': 7.16.1(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/type-utils': 7.16.1(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.1(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.16.1 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -5727,12 +5732,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/parser@7.16.1(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 7.16.0 + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 7.16.1 debug: 4.3.4 eslint: 8.57.0 optionalDependencies: @@ -5740,15 +5745,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.16.0': + '@typescript-eslint/scope-manager@7.16.1': dependencies: - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/visitor-keys': 7.16.0 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/visitor-keys': 7.16.1 - '@typescript-eslint/type-utils@7.16.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/type-utils@7.16.1(eslint@8.57.0)(typescript@5.5.3)': dependencies: - '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.5.3) - '@typescript-eslint/utils': 7.16.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) + '@typescript-eslint/utils': 7.16.1(eslint@8.57.0)(typescript@5.5.3) debug: 4.3.5 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.5.3) @@ -5757,37 +5762,37 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@7.16.0': {} + '@typescript-eslint/types@7.16.1': {} - '@typescript-eslint/typescript-estree@7.16.0(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@7.16.1(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/visitor-keys': 7.16.0 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/visitor-keys': 7.16.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.6.2 + semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.16.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/utils@7.16.1(eslint@8.57.0)(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.16.0 - '@typescript-eslint/types': 7.16.0 - '@typescript-eslint/typescript-estree': 7.16.0(typescript@5.5.3) + '@typescript-eslint/scope-manager': 7.16.1 + '@typescript-eslint/types': 7.16.1 + '@typescript-eslint/typescript-estree': 7.16.1(typescript@5.5.3) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.16.0': + '@typescript-eslint/visitor-keys@7.16.1': dependencies: - '@typescript-eslint/types': 7.16.0 + '@typescript-eslint/types': 7.16.1 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -5929,10 +5934,10 @@ snapshots: dependencies: dequal: 2.0.3 - arktype@2.0.0-dev.21: + arktype@2.0.0-beta.0: dependencies: - '@arktype/schema': 0.1.13 - '@arktype/util': 0.0.48 + '@ark/schema': 0.2.0 + '@ark/util': 0.1.0 optional: true array-union@2.1.0: {} @@ -6384,7 +6389,7 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-svelte@2.42.0(eslint@8.57.0)(svelte@5.0.0-next.175)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)): + eslint-plugin-svelte@2.42.0(eslint@8.57.0)(svelte@5.0.0-next.175)(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3)): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@jridgewell/sourcemap-codec': 1.4.15 @@ -6393,7 +6398,7 @@ snapshots: esutils: 2.0.3 known-css-properties: 0.34.0 postcss: 8.4.39 - postcss-load-config: 3.1.4(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)) + postcss-load-config: 3.1.4(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3)) postcss-safe-parser: 6.0.0(postcss@8.4.39) postcss-selector-parser: 6.1.0 semver: 7.6.2 @@ -6566,11 +6571,11 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - formsnap@1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.16.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)): + formsnap@1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.16.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)): dependencies: nanoid: 5.0.7 svelte: 5.0.0-next.175 - sveltekit-superforms: 2.16.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175) + sveltekit-superforms: 2.16.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175) fraction.js@4.3.7: {} @@ -7149,11 +7154,11 @@ snapshots: mlly: 1.7.0 pathe: 1.1.2 - playwright-core@1.45.1: {} + playwright-core@1.45.2: {} - playwright@1.45.1: + playwright@1.45.2: dependencies: - playwright-core: 1.45.1 + playwright-core: 1.45.2 optionalDependencies: fsevents: 2.3.2 @@ -7279,21 +7284,21 @@ snapshots: '@csstools/utilities': 1.0.0(postcss@8.4.39) postcss: 8.4.39 - postcss-load-config@3.1.4(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)): + postcss-load-config@3.1.4(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.4.39 - ts-node: 10.9.2(@types/node@20.14.10)(typescript@5.5.3) + ts-node: 10.9.2(@types/node@20.14.11)(typescript@5.5.3) - postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)): + postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3)): dependencies: lilconfig: 3.1.1 yaml: 2.4.3 optionalDependencies: postcss: 8.4.39 - ts-node: 10.9.2(@types/node@20.14.10)(typescript@5.5.3) + ts-node: 10.9.2(@types/node@20.14.11)(typescript@5.5.3) postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2): dependencies: @@ -7470,7 +7475,7 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.2.5(prettier@3.3.3)(svelte@5.0.0-next.175): + prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@5.0.0-next.175): dependencies: prettier: 3.3.3 svelte: 5.0.0-next.175 @@ -7656,6 +7661,8 @@ snapshots: semver@7.6.2: {} + semver@7.6.3: {} + set-blocking@2.0.0: {} set-cookie-parser@2.6.0: {} @@ -7928,19 +7935,19 @@ snapshots: magic-string: 0.30.10 zimmerframe: 1.1.2 - sveltekit-flash-message@2.4.4(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175): + sveltekit-flash-message@2.4.4(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175): dependencies: - '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) svelte: 5.0.0-next.175 - sveltekit-rate-limiter@0.5.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8))): + sveltekit-rate-limiter@0.5.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8))): dependencies: '@isaacs/ttlcache': 1.4.1 - '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) - sveltekit-superforms@2.16.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175): + sveltekit-superforms@2.16.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175): dependencies: - '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)) + '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)) devalue: 5.0.0 just-clone: 6.2.0 memoize-weak: 1.0.2 @@ -7952,7 +7959,7 @@ snapshots: '@sinclair/typebox': 0.32.34 '@sodaru/yup-to-json-schema': 2.0.1 '@vinejs/vine': 1.8.0 - arktype: 2.0.0-dev.21 + arktype: 2.0.0-beta.0 joi: 17.13.3 json-schema-to-ts: 3.1.0 superstruct: 2.0.2 @@ -7965,16 +7972,16 @@ snapshots: tailwind-merge@2.4.0: {} - tailwind-variants@0.2.1(tailwindcss@3.4.6(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3))): + tailwind-variants@0.2.1(tailwindcss@3.4.6(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3))): dependencies: tailwind-merge: 2.4.0 - tailwindcss: 3.4.6(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)) + tailwindcss: 3.4.6(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3)) - tailwindcss-animate@1.0.7(tailwindcss@3.4.6(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.6(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3))): dependencies: - tailwindcss: 3.4.6(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)) + tailwindcss: 3.4.6(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3)) - tailwindcss@3.4.6(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)): + tailwindcss@3.4.6(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -7993,7 +8000,7 @@ snapshots: postcss: 8.4.39 postcss-import: 15.1.0(postcss@8.4.39) postcss-js: 4.0.1(postcss@8.4.39) - postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3)) + postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3)) postcss-nested: 6.0.1(postcss@8.4.39) postcss-selector-parser: 6.1.0 resolve: 1.22.8 @@ -8058,14 +8065,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.14.10)(typescript@5.5.3): + ts-node@10.9.2(@types/node@20.14.11)(typescript@5.5.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.14.10 + '@types/node': 20.14.11 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -8150,13 +8157,13 @@ snapshots: transitivePeerDependencies: - rollup - vite-node@1.6.0(@types/node@20.14.10)(sass@1.77.8): + vite-node@1.6.0(@types/node@20.14.11)(sass@1.77.8): dependencies: cac: 6.7.14 debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.3.4(@types/node@20.14.10)(sass@1.77.8) + vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8) transitivePeerDependencies: - '@types/node' - less @@ -8167,21 +8174,21 @@ snapshots: - supports-color - terser - vite@5.3.4(@types/node@20.14.10)(sass@1.77.8): + vite@5.3.4(@types/node@20.14.11)(sass@1.77.8): dependencies: esbuild: 0.21.5 postcss: 8.4.39 rollup: 4.17.2 optionalDependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.11 fsevents: 2.3.3 sass: 1.77.8 - vitefu@0.2.5(vite@5.3.4(@types/node@20.14.10)(sass@1.77.8)): + vitefu@0.2.5(vite@5.3.4(@types/node@20.14.11)(sass@1.77.8)): optionalDependencies: - vite: 5.3.4(@types/node@20.14.10)(sass@1.77.8) + vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8) - vitest@1.6.0(@types/node@20.14.10)(sass@1.77.8): + vitest@1.6.0(@types/node@20.14.11)(sass@1.77.8): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -8200,11 +8207,11 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.3.4(@types/node@20.14.10)(sass@1.77.8) - vite-node: 1.6.0(@types/node@20.14.10)(sass@1.77.8) + vite: 5.3.4(@types/node@20.14.11)(sass@1.77.8) + vite-node: 1.6.0(@types/node@20.14.11)(sass@1.77.8) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.14.10 + '@types/node': 20.14.11 transitivePeerDependencies: - less - lightningcss diff --git a/src/lib/components/transition.svelte b/src/lib/components/transition.svelte index b9f085e..c2105c9 100644 --- a/src/lib/components/transition.svelte +++ b/src/lib/components/transition.svelte @@ -34,7 +34,7 @@ {#if transition.type === 'stagger'}
diff --git a/src/lib/utils/pageCrossfade.ts b/src/lib/utils/pageCrossfade.ts new file mode 100644 index 0000000..1eabe28 --- /dev/null +++ b/src/lib/utils/pageCrossfade.ts @@ -0,0 +1,12 @@ +import { crossfade } from 'svelte/transition'; +import { quintOut } from 'svelte/easing'; + +export const [send, receive] = crossfade({ + duration: d => Math.sqrt(d * 200), + easing: quintOut, + + // You can customize the fallBack if the element sizes are significantly different + fallback(node, params) { + return { duration: 600, easing: x => --x * x * x + 1 }; // Ease-out cubic + } +}); \ No newline at end of file diff --git a/src/lib/validations/auth.ts b/src/lib/validations/auth.ts index a8f6028..6be095c 100644 --- a/src/lib/validations/auth.ts +++ b/src/lib/validations/auth.ts @@ -19,8 +19,8 @@ export const signInSchema = z.object({ username: z .string() .trim() - .min(3, { message: 'Username must be at least 3 characters' }) - .max(50, { message: 'Username must be less than 50 characters' }), + .min(3, { message: 'Must be at least 3 characters' }) + .max(50, { message: 'Must be less than 50 characters' }), password: z.string({ required_error: 'Password is required' }).trim(), }); @@ -33,7 +33,7 @@ export const recoveryCodeSchema = z.object({ }); export const resetPasswordEmailSchema = z.object({ - email: z.string().trim().max(64), + email: z.string().trim().max(64, { message: 'Email must be less than 64 characters' }), }); export const resetPasswordTokenSchema = z.object({ diff --git a/src/lib/validations/zod-schemas.ts b/src/lib/validations/zod-schemas.ts index 421e4f8..06d6442 100644 --- a/src/lib/validations/zod-schemas.ts +++ b/src/lib/validations/zod-schemas.ts @@ -26,8 +26,8 @@ export const userSchema = z.object({ username: z .string() .trim() - .min(3, { message: 'Username must be at least 3 characters' }) - .max(50, { message: 'Username must be less than 50 characters' }), + .min(3, { message: 'Must be at least 3 characters' }) + .max(50, { message: 'Must be less than 50 characters' }), password: z.string({ required_error: 'Password is required' }).trim(), confirm_password: z.string({ required_error: 'Confirm Password is required' }).trim(), verified: z.boolean().default(false), diff --git a/src/routes/(auth)/+layout.svelte b/src/routes/(auth)/+layout.svelte index 171e892..557d94d 100644 --- a/src/routes/(auth)/+layout.svelte +++ b/src/routes/(auth)/+layout.svelte @@ -14,38 +14,24 @@
Bored Game - {#if $page.url.pathname === "/sign-up"} - - {:else if $page.url.pathname === "/login"} - - {:else} -
+
+ {#if $page.url.pathname !== "/login"} + {/if} + {#if $page.url.pathname !== "/sign-up"} -
- {/if} + {/if} +
- - {@render children()} - + {@render children()}
@@ -137,17 +121,6 @@ } } - :global(.auth-button) { - position: absolute; - top: 1rem; - right: 1rem; - - @media (min-width >= 768px) { - top: 2rem; - right: 2rem; - } - } - :global(.auth-buttons) { position: absolute; top: 1rem; diff --git a/src/routes/(auth)/login/+page.svelte b/src/routes/(auth)/login/+page.svelte index 86b54a4..188b4c4 100644 --- a/src/routes/(auth)/login/+page.svelte +++ b/src/routes/(auth)/login/+page.svelte @@ -10,6 +10,7 @@ import { Input } from '$components/ui/input'; import { Button } from '$components/ui/button'; import * as Alert from "$components/ui/alert"; + import { send, receive } from '$lib/utils/pageCrossfade'; import { boredState } from '$lib/stores/boredState.js'; let { data } = $props(); @@ -41,24 +42,26 @@ Bored Game | Login - - - Log into your account - - - {@render usernamePasswordForm()} -

- By clicking continue, you agree to our - - Terms of Use - - and - - Privacy Policy - . -

-
-
+
+ + + Log into your account + + + {@render usernamePasswordForm()} +

+ By clicking continue, you agree to our + + Terms of Use + + and + + Privacy Policy + . +

+
+
+
{#snippet usernamePasswordForm()}
@@ -76,7 +79,7 @@ -
+
Login
diff --git a/src/routes/(auth)/password/reset/+page.server.ts b/src/routes/(auth)/password/reset/+page.server.ts index ab1794c..a3668e9 100644 --- a/src/routes/(auth)/password/reset/+page.server.ts +++ b/src/routes/(auth)/password/reset/+page.server.ts @@ -1,41 +1,58 @@ -import { fail, error, type Actions } from '@sveltejs/kit'; -import { zod } from 'sveltekit-superforms/adapters'; -import { setError, superValidate } from 'sveltekit-superforms/server'; -import { redirect } from 'sveltekit-flash-message/server'; -import type { PageServerLoad } from './$types'; -import {resetPasswordEmailSchema, resetPasswordTokenSchema} from "$lib/validations/auth"; -import {StatusCodes} from "$lib/constants/status-codes"; - -export const load: PageServerLoad = async (event) => { - return { - emailForm: await superValidate(zod(resetPasswordEmailSchema)), - tokenForm: await superValidate(zod(resetPasswordTokenSchema)), - }; -}; - -export const actions = { - passwordReset: async ({ locals, request }) => { - const emailForm = await superValidate(request, zod(resetPasswordEmailSchema)); - if (!emailForm.valid) { - return fail(StatusCodes.BAD_REQUEST, { emailForm }); - } - const error = {}; - // const { error } = await locals.api.iam.login.request.$post({ json: emailRegisterForm.data }).then(locals.parseApiResponse); - if (error) { - return setError(emailForm, 'email', error); - } - return { emailForm }; - }, - verifyToken: async ({ locals, request }) => { - const tokenForm = await superValidate(request, zod(resetPasswordTokenSchema)); - if (!tokenForm.valid) { - return fail(StatusCodes.BAD_REQUEST, { tokenForm }); - } - const error = {}; - // const { error } = await locals.api.iam.login.verify.$post({ json: emailSignInForm.data }).then(locals.parseApiResponse) - if (error) { - return setError(tokenForm, 'token', error); - } - redirect(301, '/'); - } -}; +import { fail, error, type Actions } from '@sveltejs/kit'; +import { zod } from 'sveltekit-superforms/adapters'; +import { setError, superValidate } from 'sveltekit-superforms/server'; +import { redirect } from 'sveltekit-flash-message/server'; +import type { PageServerLoad } from './$types'; +import {resetPasswordEmailSchema, resetPasswordTokenSchema} from "$lib/validations/auth"; +import {StatusCodes} from "$lib/constants/status-codes"; +import {userFullyAuthenticated} from "$lib/server/auth-utils"; + +export const load: PageServerLoad = async () => { + return { + emailForm: await superValidate(zod(resetPasswordEmailSchema)), + tokenForm: await superValidate(zod(resetPasswordTokenSchema)), + }; +}; + +export const actions = { + passwordReset: async (event) => { + const { request, locals } = event; + const { user, session } = locals; + + if (userFullyAuthenticated(user, session)) { + const message = { type: 'success', message: 'You are already signed in' } as const; + throw redirect('/', message, event); + } + + const emailForm = await superValidate(request, zod(resetPasswordEmailSchema)); + console.log('emailForm', emailForm); + if (!emailForm.valid) { + return fail(StatusCodes.BAD_REQUEST, { emailForm }); + } + const error = {}; + // const { error } = await locals.api.iam.login.request.$post({ json: emailRegisterForm.data }).then(locals.parseApiResponse); + if (error) { + return setError(emailForm, 'email', error); + } + return { emailForm }; + }, + verifyToken: async (event) => { + const { request, locals } = event; + const { user, session } = locals; + if (userFullyAuthenticated(user, session)) { + const message = { type: 'success', message: 'You are already signed in' } as const; + throw redirect('/', message, event); + } + + const tokenForm = await superValidate(request, zod(resetPasswordTokenSchema)); + if (!tokenForm.valid) { + return fail(StatusCodes.BAD_REQUEST, { tokenForm }); + } + const error = {}; + // const { error } = await locals.api.iam.login.verify.$post({ json: emailSignInForm.data }).then(locals.parseApiResponse) + if (error) { + return setError(tokenForm, 'token', error); + } + redirect(301, '/'); + } +}; diff --git a/src/routes/(auth)/password/reset/+page.svelte b/src/routes/(auth)/password/reset/+page.svelte index 5a836d0..bf85822 100644 --- a/src/routes/(auth)/password/reset/+page.svelte +++ b/src/routes/(auth)/password/reset/+page.svelte @@ -1,85 +1,89 @@ - - - - - Reset Password - Enter your email to reset your password - - -
- {#if showTokenVerification} - {@render tokenForm()} - {:else} - {@render emailForm()} - {/if} -
-
-
- -{#snippet emailForm()} - - - - Email - - - - - - - -{/snippet} - -{#snippet tokenForm()} -
- - - - - - - - - - -
+ + +
+ + + Reset Password + Enter your email to reset your password + + +
+ {#if showTokenVerification} + {@render tokenForm()} + {:else} + {@render emailForm()} + {/if} +
+
+
+
+ +{#snippet emailForm()} +
+ + + Email + + + + + + +
+{/snippet} + +{#snippet tokenForm()} +
+ + + + Enter the token that was sent to your email + + + + + + +
{/snippet} \ No newline at end of file diff --git a/src/routes/(auth)/sign-up/+page.svelte b/src/routes/(auth)/sign-up/+page.svelte index b1aa3a0..7c9551a 100644 --- a/src/routes/(auth)/sign-up/+page.svelte +++ b/src/routes/(auth)/sign-up/+page.svelte @@ -12,6 +12,7 @@ import * as Alert from '$lib/components/ui/alert'; import * as Card from '$lib/components/ui/card'; import * as Collapsible from '$lib/components/ui/collapsible'; + import { send, receive } from '$lib/utils/pageCrossfade'; import { boredState } from '$lib/stores/boredState.js'; export let data; @@ -38,91 +39,93 @@ Bored Game | Sign Up - - - Signup for an account - - -
- - - {#if $errors.username} -

{$errors.username}

- {/if} - - - {#if $errors.password} -

{$errors.password}

- {/if} - - - {#if $errors.confirm_password} -

{$errors.confirm_password}

- {/if} - -
- Optional Fields: - - - -
- -
- - - {#if $errors.email} -

{$errors.email}

- {/if} +
+ + + Signup for an account + + + + + + {#if $errors.username} +

{$errors.username}

+ {/if} + + + {#if $errors.password} +

{$errors.password}

+ {/if} + + + {#if $errors.confirm_password} +

{$errors.confirm_password}

+ {/if} + +
+ Optional Fields: + + + +
+ +
+ + + {#if $errors.email} +

{$errors.email}

+ {/if} +
+
+ +
+ + + {#if $errors.firstName} +

{$errors.firstName}

+ {/if} +
+
+ +
+ + + {#if $errors.lastName} +

{$errors.lastName}

+ {/if} +
+
+
+
+ +
- - -
- - - {#if $errors.firstName} -

{$errors.firstName}

- {/if} -
-
- -
- - - {#if $errors.lastName} -

{$errors.lastName}

- {/if} -
-
- -
- - -
- {#if !$form.email} - - Heads up! - - Without an email address, you won't be able to reset your password. Submit only if you are sure. You can - always add this later. - - - {/if} - -
-
+ {#if !$form.email} + + Heads up! + + Without an email address, you won't be able to reset your password. Submit only if you are sure. You can + always add this later. + + + {/if} + + + +