mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
Adding dialog from shadcn svelte, fixing recovery codes rendering, fixing more Svelte 5 migrations, and adding pin input onto totp.
This commit is contained in:
parent
63ac7dfd76
commit
5c3349ca42
18 changed files with 546 additions and 205 deletions
10
package.json
10
package.json
|
|
@ -22,11 +22,11 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@melt-ui/pp": "^0.3.2",
|
"@melt-ui/pp": "^0.3.2",
|
||||||
"@melt-ui/svelte": "^0.81.0",
|
"@melt-ui/svelte": "^0.83.0",
|
||||||
"@playwright/test": "^1.45.1",
|
"@playwright/test": "^1.45.1",
|
||||||
"@resvg/resvg-js": "^2.6.2",
|
"@resvg/resvg-js": "^2.6.2",
|
||||||
"@sveltejs/adapter-auto": "^3.2.2",
|
"@sveltejs/adapter-auto": "^3.2.2",
|
||||||
"@sveltejs/enhanced-img": "^0.2.1",
|
"@sveltejs/enhanced-img": "^0.3.0",
|
||||||
"@sveltejs/kit": "^2.5.18",
|
"@sveltejs/kit": "^2.5.18",
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.1.1",
|
"@sveltejs/vite-plugin-svelte": "^3.1.1",
|
||||||
"@types/cookie": "^0.6.0",
|
"@types/cookie": "^0.6.0",
|
||||||
|
|
@ -44,7 +44,7 @@
|
||||||
"postcss": "^8.4.39",
|
"postcss": "^8.4.39",
|
||||||
"postcss-import": "^16.1.0",
|
"postcss-import": "^16.1.0",
|
||||||
"postcss-load-config": "^5.1.0",
|
"postcss-load-config": "^5.1.0",
|
||||||
"postcss-preset-env": "^9.5.16",
|
"postcss-preset-env": "^9.6.0",
|
||||||
"prettier": "^3.3.2",
|
"prettier": "^3.3.2",
|
||||||
"prettier-plugin-svelte": "^3.2.5",
|
"prettier-plugin-svelte": "^3.2.5",
|
||||||
"sass": "^1.77.6",
|
"sass": "^1.77.6",
|
||||||
|
|
@ -54,7 +54,7 @@
|
||||||
"svelte-check": "^3.8.4",
|
"svelte-check": "^3.8.4",
|
||||||
"svelte-headless-table": "^0.18.2",
|
"svelte-headless-table": "^0.18.2",
|
||||||
"svelte-meta-tags": "^3.1.2",
|
"svelte-meta-tags": "^3.1.2",
|
||||||
"svelte-preprocess": "^5.1.4",
|
"svelte-preprocess": "^6.0.1",
|
||||||
"svelte-sequential-preprocessor": "^2.0.1",
|
"svelte-sequential-preprocessor": "^2.0.1",
|
||||||
"sveltekit-flash-message": "^2.4.4",
|
"sveltekit-flash-message": "^2.4.4",
|
||||||
"sveltekit-rate-limiter": "^0.5.1",
|
"sveltekit-rate-limiter": "^0.5.1",
|
||||||
|
|
@ -84,7 +84,7 @@
|
||||||
"@sveltejs/adapter-vercel": "^5.4.1",
|
"@sveltejs/adapter-vercel": "^5.4.1",
|
||||||
"@types/feather-icons": "^4.29.4",
|
"@types/feather-icons": "^4.29.4",
|
||||||
"@vercel/og": "^0.5.20",
|
"@vercel/og": "^0.5.20",
|
||||||
"bits-ui": "^0.21.11",
|
"bits-ui": "^0.21.12",
|
||||||
"boardgamegeekclient": "^1.9.1",
|
"boardgamegeekclient": "^1.9.1",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
|
|
|
||||||
380
pnpm-lock.yaml
380
pnpm-lock.yaml
|
|
@ -39,8 +39,8 @@ importers:
|
||||||
specifier: ^0.5.20
|
specifier: ^0.5.20
|
||||||
version: 0.5.20
|
version: 0.5.20
|
||||||
bits-ui:
|
bits-ui:
|
||||||
specifier: ^0.21.11
|
specifier: ^0.21.12
|
||||||
version: 0.21.11(svelte@5.0.0-next.175)
|
version: 0.21.12(svelte@5.0.0-next.175)
|
||||||
boardgamegeekclient:
|
boardgamegeekclient:
|
||||||
specifier: ^1.9.1
|
specifier: ^1.9.1
|
||||||
version: 1.9.1
|
version: 1.9.1
|
||||||
|
|
@ -128,10 +128,10 @@ importers:
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@melt-ui/pp':
|
'@melt-ui/pp':
|
||||||
specifier: ^0.3.2
|
specifier: ^0.3.2
|
||||||
version: 0.3.2(@melt-ui/svelte@0.81.0(svelte@5.0.0-next.175))(svelte@5.0.0-next.175)
|
version: 0.3.2(@melt-ui/svelte@0.83.0(svelte@5.0.0-next.175))(svelte@5.0.0-next.175)
|
||||||
'@melt-ui/svelte':
|
'@melt-ui/svelte':
|
||||||
specifier: ^0.81.0
|
specifier: ^0.83.0
|
||||||
version: 0.81.0(svelte@5.0.0-next.175)
|
version: 0.83.0(svelte@5.0.0-next.175)
|
||||||
'@playwright/test':
|
'@playwright/test':
|
||||||
specifier: ^1.45.1
|
specifier: ^1.45.1
|
||||||
version: 1.45.1
|
version: 1.45.1
|
||||||
|
|
@ -142,8 +142,8 @@ importers:
|
||||||
specifier: ^3.2.2
|
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.3(@types/node@20.14.10)(sass@1.77.6)))(svelte@5.0.0-next.175)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.6)))
|
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.3(@types/node@20.14.10)(sass@1.77.6)))(svelte@5.0.0-next.175)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.6)))
|
||||||
'@sveltejs/enhanced-img':
|
'@sveltejs/enhanced-img':
|
||||||
specifier: ^0.2.1
|
specifier: ^0.3.0
|
||||||
version: 0.2.1(rollup@4.18.0)(svelte@5.0.0-next.175)
|
version: 0.3.0(rollup@4.18.0)(svelte@5.0.0-next.175)
|
||||||
'@sveltejs/kit':
|
'@sveltejs/kit':
|
||||||
specifier: ^2.5.18
|
specifier: ^2.5.18
|
||||||
version: 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.6)))(svelte@5.0.0-next.175)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.6))
|
version: 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.6)))(svelte@5.0.0-next.175)(vite@5.3.3(@types/node@20.14.10)(sass@1.77.6))
|
||||||
|
|
@ -196,8 +196,8 @@ importers:
|
||||||
specifier: ^5.1.0
|
specifier: ^5.1.0
|
||||||
version: 5.1.0(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2)
|
version: 5.1.0(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2)
|
||||||
postcss-preset-env:
|
postcss-preset-env:
|
||||||
specifier: ^9.5.16
|
specifier: ^9.6.0
|
||||||
version: 9.5.16(postcss@8.4.39)
|
version: 9.6.0(postcss@8.4.39)
|
||||||
prettier:
|
prettier:
|
||||||
specifier: ^3.3.2
|
specifier: ^3.3.2
|
||||||
version: 3.3.2
|
version: 3.3.2
|
||||||
|
|
@ -226,8 +226,8 @@ importers:
|
||||||
specifier: ^3.1.2
|
specifier: ^3.1.2
|
||||||
version: 3.1.2(svelte@5.0.0-next.175)(typescript@5.5.3)
|
version: 3.1.2(svelte@5.0.0-next.175)(typescript@5.5.3)
|
||||||
svelte-preprocess:
|
svelte-preprocess:
|
||||||
specifier: ^5.1.4
|
specifier: ^6.0.1
|
||||||
version: 5.1.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2))(postcss@8.4.39)(sass@1.77.6)(svelte@5.0.0-next.175)(typescript@5.5.3)
|
version: 6.0.1(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2))(postcss@8.4.39)(sass@1.77.6)(svelte@5.0.0-next.175)(typescript@5.5.3)
|
||||||
svelte-sequential-preprocessor:
|
svelte-sequential-preprocessor:
|
||||||
specifier: ^2.0.1
|
specifier: ^2.0.1
|
||||||
version: 2.0.1
|
version: 2.0.1
|
||||||
|
|
@ -337,14 +337,20 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
'@csstools/postcss-color-function@3.0.18':
|
'@csstools/postcss-color-function@3.0.19':
|
||||||
resolution: {integrity: sha512-Ry8b3HCyadiBLObsGShdoJNoZkQTHz5q5HVY/hkwwBkq8q702amvcGJs06tpzFTwHL+jPc7vULUpYtK4MIJHwA==}
|
resolution: {integrity: sha512-d1OHEXyYGe21G3q88LezWWx31ImEDdmINNDy0LyLNN9ChgN2bPxoubUPiHf9KmwypBMaHmNcMuA/WZOKdZk/Lg==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
'@csstools/postcss-color-mix-function@2.0.18':
|
'@csstools/postcss-color-mix-function@2.0.19':
|
||||||
resolution: {integrity: sha512-CtklpScpGZ3ZwUQMOCYlsWw8vMu+rjvKUJsa1zpFSvesoUK89JBC6+LzEhTlb1jMcyrY2ErySEQDOt+MMRse0A==}
|
resolution: {integrity: sha512-mLvQlMX+keRYr16AuvuV8WYKUwF+D0DiCqlBdvhQ0KYEtcQl9/is9Ssg7RcIys8x0jIn2h1zstS4izckdZj9wg==}
|
||||||
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
|
peerDependencies:
|
||||||
|
postcss: ^8.4
|
||||||
|
|
||||||
|
'@csstools/postcss-content-alt-text@1.0.0':
|
||||||
|
resolution: {integrity: sha512-SkHdj7EMM/57GVvSxSELpUg7zb5eAndBeuvGwFzYtU06/QXJ/h9fuK7wO5suteJzGhm3GDF/EWPCdWV2h1IGHQ==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
@ -367,20 +373,20 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
'@csstools/postcss-gradients-interpolation-method@4.0.19':
|
'@csstools/postcss-gradients-interpolation-method@4.0.20':
|
||||||
resolution: {integrity: sha512-aGKMXy2EhkyidYvfuILqoO6tk8bEIVS9obc6OAc1JwRLeQBkbPtL56eKd1DnyEfgJ+6v/4zA1Ko0AqPwAjA50w==}
|
resolution: {integrity: sha512-ZFl2JBHano6R20KB5ZrB8KdPM2pVK0u+/3cGQ2T8VubJq982I2LSOvQ4/VtxkAXjkPkk1rXt4AD1ni7UjTZ1Og==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
'@csstools/postcss-hwb-function@3.0.17':
|
'@csstools/postcss-hwb-function@3.0.18':
|
||||||
resolution: {integrity: sha512-Oe8WBtP29K5EBCqOKOfKAUaDFWYw+16WCDuwaYJMS0o8oZdPwmxLaBDsqXlNK03zXe9McYBli8fBHyRiVEVJGQ==}
|
resolution: {integrity: sha512-3ifnLltR5C7zrJ+g18caxkvSRnu9jBBXCYgnBznRjxm6gQJGnnCO9H6toHfywNdNr/qkiVf2dymERPQLDnjLRQ==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
'@csstools/postcss-ic-unit@3.0.6':
|
'@csstools/postcss-ic-unit@3.0.7':
|
||||||
resolution: {integrity: sha512-fHaU9C/sZPauXMrzPitZ/xbACbvxbkPpHoUgB9Kw5evtsBWdVkVrajOyiT9qX7/c+G1yjApoQjP1fQatldsy9w==}
|
resolution: {integrity: sha512-YoaNHH2wNZD+c+rHV02l4xQuDpfR8MaL7hD45iJyr+USwvr0LOheeytJ6rq8FN6hXBmEeoJBeXXgGmM8fkhH4g==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
@ -397,8 +403,8 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
'@csstools/postcss-light-dark-function@1.0.7':
|
'@csstools/postcss-light-dark-function@1.0.8':
|
||||||
resolution: {integrity: sha512-49LSrZR/d2Iql7Sq4C+k5SDvn0RvqXzCt//kWihVimxCUvZHGxrHeV777Hfr0lTfPlgfPdkCVdlaLM5XZTqIng==}
|
resolution: {integrity: sha512-x0UtpCyVnERsplUeoaY6nEtp1HxTf4lJjoK/ULEm40DraqFfUdUSt76yoOyX5rGY6eeOUOkurHyYlFHVKv/pew==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
@ -457,20 +463,20 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
'@csstools/postcss-oklab-function@3.0.18':
|
'@csstools/postcss-oklab-function@3.0.19':
|
||||||
resolution: {integrity: sha512-qxcctjXBgGKYl/CUSh13zaKdB57meIDvgTwF1o4EKzzuJ4RM+t79GuWWAnVKesbAwQXn6k/JQb8LfOeH8g1t2w==}
|
resolution: {integrity: sha512-e3JxXmxjU3jpU7TzZrsNqSX4OHByRC3XjItV3Ieo/JEQmLg5rdOL4lkv/1vp27gXemzfNt44F42k/pn0FpE21Q==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
'@csstools/postcss-progressive-custom-properties@3.2.0':
|
'@csstools/postcss-progressive-custom-properties@3.3.0':
|
||||||
resolution: {integrity: sha512-BZlirVxCRgKlE7yVme+Xvif72eTn1MYXj8oZ4Knb+jwaH4u3AN1DjbhM7j86RP5vvuAOexJ4JwfifYYKWMN/QQ==}
|
resolution: {integrity: sha512-W2oV01phnILaRGYPmGFlL2MT/OgYjQDrL9sFlbdikMFi6oQkFki9B86XqEWR7HCsTZFVq7dbzr/o71B75TKkGg==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
'@csstools/postcss-relative-color-syntax@2.0.18':
|
'@csstools/postcss-relative-color-syntax@2.0.19':
|
||||||
resolution: {integrity: sha512-C39i9fId7kz7VOJps2/ZJjsbppNMy5zF6ly+7xkJBPS89XlhBzKYTBObhRXDZDKfzXPZ4fwKOfqv5z+Cr+IIKg==}
|
resolution: {integrity: sha512-MxUMSNvio1WwuS6WRLlQuv6nNPXwIWUFzBBAvL/tBdWfiKjiJnAa6eSSN5gtaacSqUkQ/Ce5Z1OzLRfeaWhADA==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
@ -973,12 +979,21 @@ packages:
|
||||||
'@floating-ui/core@1.6.2':
|
'@floating-ui/core@1.6.2':
|
||||||
resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==}
|
resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==}
|
||||||
|
|
||||||
|
'@floating-ui/core@1.6.4':
|
||||||
|
resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==}
|
||||||
|
|
||||||
'@floating-ui/dom@1.6.5':
|
'@floating-ui/dom@1.6.5':
|
||||||
resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==}
|
resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==}
|
||||||
|
|
||||||
|
'@floating-ui/dom@1.6.7':
|
||||||
|
resolution: {integrity: sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==}
|
||||||
|
|
||||||
'@floating-ui/utils@0.2.2':
|
'@floating-ui/utils@0.2.2':
|
||||||
resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==}
|
resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==}
|
||||||
|
|
||||||
|
'@floating-ui/utils@0.2.4':
|
||||||
|
resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==}
|
||||||
|
|
||||||
'@fontsource/fira-mono@5.0.13':
|
'@fontsource/fira-mono@5.0.13':
|
||||||
resolution: {integrity: sha512-fZDjR2BdAqmauEbTjcIT62zYzbOgDa5+IQH34D2k8Pxmy1T815mAqQkZciWZVQ9dc/BgdTtTUV9HJ2ulBNwchg==}
|
resolution: {integrity: sha512-fZDjR2BdAqmauEbTjcIT62zYzbOgDa5+IQH34D2k8Pxmy1T815mAqQkZciWZVQ9dc/BgdTtTUV9HJ2ulBNwchg==}
|
||||||
|
|
||||||
|
|
@ -1012,14 +1027,14 @@ packages:
|
||||||
'@iconify/types@2.0.0':
|
'@iconify/types@2.0.0':
|
||||||
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
|
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
|
||||||
|
|
||||||
'@img/sharp-darwin-arm64@0.33.3':
|
'@img/sharp-darwin-arm64@0.33.4':
|
||||||
resolution: {integrity: sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==}
|
resolution: {integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==}
|
||||||
engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@img/sharp-darwin-x64@0.33.3':
|
'@img/sharp-darwin-x64@0.33.4':
|
||||||
resolution: {integrity: sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==}
|
resolution: {integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==}
|
||||||
engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
@ -1072,55 +1087,55 @@ packages:
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linux-arm64@0.33.3':
|
'@img/sharp-linux-arm64@0.33.4':
|
||||||
resolution: {integrity: sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==}
|
resolution: {integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==}
|
||||||
engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linux-arm@0.33.3':
|
'@img/sharp-linux-arm@0.33.4':
|
||||||
resolution: {integrity: sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==}
|
resolution: {integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==}
|
||||||
engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linux-s390x@0.33.3':
|
'@img/sharp-linux-s390x@0.33.4':
|
||||||
resolution: {integrity: sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==}
|
resolution: {integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==}
|
||||||
engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {glibc: '>=2.31', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linux-x64@0.33.3':
|
'@img/sharp-linux-x64@0.33.4':
|
||||||
resolution: {integrity: sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==}
|
resolution: {integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==}
|
||||||
engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-arm64@0.33.3':
|
'@img/sharp-linuxmusl-arm64@0.33.4':
|
||||||
resolution: {integrity: sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==}
|
resolution: {integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==}
|
||||||
engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-x64@0.33.3':
|
'@img/sharp-linuxmusl-x64@0.33.4':
|
||||||
resolution: {integrity: sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==}
|
resolution: {integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==}
|
||||||
engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-wasm32@0.33.3':
|
'@img/sharp-wasm32@0.33.4':
|
||||||
resolution: {integrity: sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==}
|
resolution: {integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [wasm32]
|
cpu: [wasm32]
|
||||||
|
|
||||||
'@img/sharp-win32-ia32@0.33.3':
|
'@img/sharp-win32-ia32@0.33.4':
|
||||||
resolution: {integrity: sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==}
|
resolution: {integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@img/sharp-win32-x64@0.33.3':
|
'@img/sharp-win32-x64@0.33.4':
|
||||||
resolution: {integrity: sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g==}
|
resolution: {integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
@ -1192,8 +1207,8 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: '>=3 <5'
|
svelte: '>=3 <5'
|
||||||
|
|
||||||
'@melt-ui/svelte@0.81.0':
|
'@melt-ui/svelte@0.83.0':
|
||||||
resolution: {integrity: sha512-QWVy+kVp8CZ+ph4W780PI6rPBa3MJIUFH/E1EHYfI05QloOGVBXtrI9MlzQSIrGYtGgSGQoTbh8cPO+YtkNAwg==}
|
resolution: {integrity: sha512-E7QT+8YSftz+Hdk1W0hNR3f+cnaF2COMWkStn+2u4vk0RO1I9mXRJl+bJD6uhYaH146oxEB+5elu/ABbv6rpsA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.118
|
svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.118
|
||||||
|
|
||||||
|
|
@ -1695,8 +1710,8 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@sveltejs/kit': ^2.4.0
|
'@sveltejs/kit': ^2.4.0
|
||||||
|
|
||||||
'@sveltejs/enhanced-img@0.2.1':
|
'@sveltejs/enhanced-img@0.3.0':
|
||||||
resolution: {integrity: sha512-tEJCtDDSY4Od7YosS2OAHFjGwM09AOHaL97YuqDAnnKLnTpSYJvpLl3r6bLmWDht2ZqoAXfaPsbFJaG9zbQMjw==}
|
resolution: {integrity: sha512-o8FdEUyJR/+LjUUl4sgB9QeM9rSGpOzTO6/CH0AmO/FgwWkcJdj/MwVNtr2F/AtaPgNfzvRpnExjklmuuDOtPA==}
|
||||||
|
|
||||||
'@sveltejs/kit@2.5.18':
|
'@sveltejs/kit@2.5.18':
|
||||||
resolution: {integrity: sha512-+g06hvpVAnH7b4CDjhnTDgFWBKBiQJpuSmQeGYOuzbO3SC3tdYjRNlDCrafvDtKbGiT2uxY5Dn9qdEUGVZdWOQ==}
|
resolution: {integrity: sha512-+g06hvpVAnH7b4CDjhnTDgFWBKBiQJpuSmQeGYOuzbO3SC3tdYjRNlDCrafvDtKbGiT2uxY5Dn9qdEUGVZdWOQ==}
|
||||||
|
|
@ -1980,8 +1995,8 @@ packages:
|
||||||
bindings@1.5.0:
|
bindings@1.5.0:
|
||||||
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
|
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
|
||||||
|
|
||||||
bits-ui@0.21.11:
|
bits-ui@0.21.12:
|
||||||
resolution: {integrity: sha512-pFS/9z1qLaPZwb+9Tm0YS4iBp+ClsJBARMZWFOjv0lGCYpzAN7lx4eNk3SbSB5QMBUKwoVjr9Rai71ROq3RD1Q==}
|
resolution: {integrity: sha512-Cf0iB+ZKwA0ZjkpixrhrZK9PC6pGPFleW/65Xc/z0lpGvWaFtdOhiYEntCHHxZ0VihP3aJaG0OBhUBIbmAePaA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^4.0.0 || ^5.0.0-next.118
|
svelte: ^4.0.0 || ^5.0.0-next.118
|
||||||
|
|
||||||
|
|
@ -2167,8 +2182,8 @@ packages:
|
||||||
resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
|
resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
|
||||||
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
|
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
|
||||||
|
|
||||||
cssdb@8.0.0:
|
cssdb@8.1.0:
|
||||||
resolution: {integrity: sha512-hfpm8VXc7/dhcEWpLvKDLwImOSk1sa2DxL36OEiY/4h2MGfKjPYIMZo4hnEEl+TCJr2GwcX46jF5TafRASDe9w==}
|
resolution: {integrity: sha512-BQN57lfS4dYt2iL0LgyrlDbefZKEtUyrO8rbzrbGrqBk6OoyNTQLF+porY9DrpDBjLo4NEvj2IJttC7vf3x+Ew==}
|
||||||
|
|
||||||
cssesc@3.0.0:
|
cssesc@3.0.0:
|
||||||
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
||||||
|
|
@ -3197,8 +3212,8 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4.6
|
postcss: ^8.4.6
|
||||||
|
|
||||||
postcss-color-functional-notation@6.0.13:
|
postcss-color-functional-notation@6.0.14:
|
||||||
resolution: {integrity: sha512-c2zzoZPJG1/tH1wrFOstQ2q/bvzFXNIDPFJu+l9idwwpVXbgrD4ThiuIcQxCBhOVY+CJ/Kb7DKiRLNsjTjj/+A==}
|
resolution: {integrity: sha512-dNUX+UH4dAozZ8uMHZ3CtCNYw8fyFAmqqdcyxMr7PEdM9jLXV19YscoYO0F25KqZYhmtWKQ+4tKrIZQrwzwg7A==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
@ -3239,8 +3254,8 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
postcss-double-position-gradients@5.0.6:
|
postcss-double-position-gradients@5.0.7:
|
||||||
resolution: {integrity: sha512-QJ+089FKMaqDxOhhIHsJrh4IP7h4PIHNC5jZP5PMmnfUScNu8Hji2lskqpFWCvu+5sj+2EJFyzKd13sLEWOZmQ==}
|
resolution: {integrity: sha512-1xEhjV9u1s4l3iP5lRt1zvMjI/ya8492o9l/ivcxHhkO3nOz16moC4JpMxDUGrOs4R3hX+KWT7gKoV842cwRgg==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
@ -3292,8 +3307,8 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4.21
|
postcss: ^8.4.21
|
||||||
|
|
||||||
postcss-lab-function@6.0.18:
|
postcss-lab-function@6.0.19:
|
||||||
resolution: {integrity: sha512-7/V6sqQW06dVC8hhT6qe913UPhD+PSDdoMUn5jByP+FRDg4ErWXFayl2rpW398hI2QTmOeNLUsTBa0lzbsXZZg==}
|
resolution: {integrity: sha512-vwln/mgvFrotJuGV8GFhpAOu9iGf3pvTBr6dLPDmUcqVD5OsQpEFyQMAFTxSxWXGEzBj6ld4pZ/9GDfEpXvo0g==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
@ -3378,8 +3393,8 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
postcss-preset-env@9.5.16:
|
postcss-preset-env@9.6.0:
|
||||||
resolution: {integrity: sha512-bQhNpSW4WE4k4Tq3xWf9Al9bN4r609aXXzE4ZoPs/KPBSjhTohUMVmXvUJ2wleSbx4II8nyC9tgiPIysPAFh6A==}
|
resolution: {integrity: sha512-Lxfk4RYjUdwPCYkc321QMdgtdCP34AeI94z+/8kVmqnTIlD4bMRQeGcMZgwz8BxHrzQiFXYIR5d7k/9JMs2MEA==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
@ -3609,11 +3624,6 @@ packages:
|
||||||
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
|
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
semver@7.6.1:
|
|
||||||
resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
semver@7.6.2:
|
semver@7.6.2:
|
||||||
resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
|
resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
@ -3625,8 +3635,8 @@ packages:
|
||||||
set-cookie-parser@2.6.0:
|
set-cookie-parser@2.6.0:
|
||||||
resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
|
resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
|
||||||
|
|
||||||
sharp@0.33.3:
|
sharp@0.33.4:
|
||||||
resolution: {integrity: sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A==}
|
resolution: {integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==}
|
||||||
engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
|
|
||||||
shebang-command@2.0.0:
|
shebang-command@2.0.0:
|
||||||
|
|
@ -3784,10 +3794,10 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^3.55.0 || ^4.0.0
|
svelte: ^3.55.0 || ^4.0.0
|
||||||
|
|
||||||
svelte-parse-markup@0.1.2:
|
svelte-parse-markup@0.1.5:
|
||||||
resolution: {integrity: sha512-DycY7DJr7VqofiJ63ut1/NEG92HrWWL56VWITn/cJCu+LlZhMoBkBXT4opUitPEEwbq1nMQbv4vTKUfbOqIW1g==}
|
resolution: {integrity: sha512-T6mqZrySltPCDwfKXWQ6zehipVLk4GWfH1zCMGgRtLlOIFPuw58ZxVYxVvotMJgJaurKi1i14viB2GIRKXeJTQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^3.0.0 || ^4.0.0
|
svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.1
|
||||||
|
|
||||||
svelte-preprocess@5.1.4:
|
svelte-preprocess@5.1.4:
|
||||||
resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==}
|
resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==}
|
||||||
|
|
@ -3826,6 +3836,43 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
svelte-preprocess@6.0.1:
|
||||||
|
resolution: {integrity: sha512-vNgXoyqWwahdpEX9XbQHcAHt41TkXnf8bRDxT5PjISHbZD1dVH4b2OsJ2fVQTBb3qP05x0GuYE9iS5vhD+Dniw==}
|
||||||
|
engines: {node: '>= 18.0.0'}
|
||||||
|
peerDependencies:
|
||||||
|
'@babel/core': ^7.10.2
|
||||||
|
coffeescript: ^2.5.1
|
||||||
|
less: ^3.11.3 || ^4.0.0
|
||||||
|
postcss: ^7 || ^8
|
||||||
|
postcss-load-config: '>=3'
|
||||||
|
pug: ^3.0.0
|
||||||
|
sass: ^1.26.8
|
||||||
|
stylus: '>=0.55'
|
||||||
|
sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
|
||||||
|
svelte: ^4.0.0 || ^5.0.0-next.100 || ^5.0.0
|
||||||
|
typescript: ^5.0.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@babel/core':
|
||||||
|
optional: true
|
||||||
|
coffeescript:
|
||||||
|
optional: true
|
||||||
|
less:
|
||||||
|
optional: true
|
||||||
|
postcss:
|
||||||
|
optional: true
|
||||||
|
postcss-load-config:
|
||||||
|
optional: true
|
||||||
|
pug:
|
||||||
|
optional: true
|
||||||
|
sass:
|
||||||
|
optional: true
|
||||||
|
stylus:
|
||||||
|
optional: true
|
||||||
|
sugarss:
|
||||||
|
optional: true
|
||||||
|
typescript:
|
||||||
|
optional: true
|
||||||
|
|
||||||
svelte-render@2.0.1:
|
svelte-render@2.0.1:
|
||||||
resolution: {integrity: sha512-RpB0SurwXm4xhjvHHtjeqMmvd645FURb79GFOotScOSqnKK5vpqBgoBPGC0pp+E/eZgDSQ9rRAdn/+N4ys1mXQ==}
|
resolution: {integrity: sha512-RpB0SurwXm4xhjvHHtjeqMmvd645FURb79GFOotScOSqnKK5vpqBgoBPGC0pp+E/eZgDSQ9rRAdn/+N4ys1mXQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -4281,21 +4328,29 @@ snapshots:
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
postcss-selector-parser: 6.1.0
|
postcss-selector-parser: 6.1.0
|
||||||
|
|
||||||
'@csstools/postcss-color-function@3.0.18(postcss@8.4.39)':
|
'@csstools/postcss-color-function@3.0.19(postcss@8.4.39)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-tokenizer': 2.4.1
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
'@csstools/postcss-color-mix-function@2.0.18(postcss@8.4.39)':
|
'@csstools/postcss-color-mix-function@2.0.19(postcss@8.4.39)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-tokenizer': 2.4.1
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
|
postcss: 8.4.39
|
||||||
|
|
||||||
|
'@csstools/postcss-content-alt-text@1.0.0(postcss@8.4.39)':
|
||||||
|
dependencies:
|
||||||
|
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
||||||
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
|
|
@ -4319,27 +4374,27 @@ snapshots:
|
||||||
'@csstools/css-tokenizer': 2.4.1
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
'@csstools/postcss-gradients-interpolation-method@4.0.19(postcss@8.4.39)':
|
'@csstools/postcss-gradients-interpolation-method@4.0.20(postcss@8.4.39)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-tokenizer': 2.4.1
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
'@csstools/postcss-hwb-function@3.0.17(postcss@8.4.39)':
|
'@csstools/postcss-hwb-function@3.0.18(postcss@8.4.39)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-tokenizer': 2.4.1
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
'@csstools/postcss-ic-unit@3.0.6(postcss@8.4.39)':
|
'@csstools/postcss-ic-unit@3.0.7(postcss@8.4.39)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
|
|
@ -4354,11 +4409,11 @@ snapshots:
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
postcss-selector-parser: 6.1.0
|
postcss-selector-parser: 6.1.0
|
||||||
|
|
||||||
'@csstools/postcss-light-dark-function@1.0.7(postcss@8.4.39)':
|
'@csstools/postcss-light-dark-function@1.0.8(postcss@8.4.39)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-tokenizer': 2.4.1
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
|
|
@ -4411,26 +4466,26 @@ snapshots:
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
|
|
||||||
'@csstools/postcss-oklab-function@3.0.18(postcss@8.4.39)':
|
'@csstools/postcss-oklab-function@3.0.19(postcss@8.4.39)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-tokenizer': 2.4.1
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
'@csstools/postcss-progressive-custom-properties@3.2.0(postcss@8.4.39)':
|
'@csstools/postcss-progressive-custom-properties@3.3.0(postcss@8.4.39)':
|
||||||
dependencies:
|
dependencies:
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
|
|
||||||
'@csstools/postcss-relative-color-syntax@2.0.18(postcss@8.4.39)':
|
'@csstools/postcss-relative-color-syntax@2.0.19(postcss@8.4.39)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-tokenizer': 2.4.1
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
|
|
@ -4738,13 +4793,24 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@floating-ui/utils': 0.2.2
|
'@floating-ui/utils': 0.2.2
|
||||||
|
|
||||||
|
'@floating-ui/core@1.6.4':
|
||||||
|
dependencies:
|
||||||
|
'@floating-ui/utils': 0.2.4
|
||||||
|
|
||||||
'@floating-ui/dom@1.6.5':
|
'@floating-ui/dom@1.6.5':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@floating-ui/core': 1.6.2
|
'@floating-ui/core': 1.6.2
|
||||||
'@floating-ui/utils': 0.2.2
|
'@floating-ui/utils': 0.2.2
|
||||||
|
|
||||||
|
'@floating-ui/dom@1.6.7':
|
||||||
|
dependencies:
|
||||||
|
'@floating-ui/core': 1.6.4
|
||||||
|
'@floating-ui/utils': 0.2.4
|
||||||
|
|
||||||
'@floating-ui/utils@0.2.2': {}
|
'@floating-ui/utils@0.2.2': {}
|
||||||
|
|
||||||
|
'@floating-ui/utils@0.2.4': {}
|
||||||
|
|
||||||
'@fontsource/fira-mono@5.0.13': {}
|
'@fontsource/fira-mono@5.0.13': {}
|
||||||
|
|
||||||
'@gcornut/valibot-json-schema@0.31.0':
|
'@gcornut/valibot-json-schema@0.31.0':
|
||||||
|
|
@ -4786,12 +4852,12 @@ snapshots:
|
||||||
|
|
||||||
'@iconify/types@2.0.0': {}
|
'@iconify/types@2.0.0': {}
|
||||||
|
|
||||||
'@img/sharp-darwin-arm64@0.33.3':
|
'@img/sharp-darwin-arm64@0.33.4':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-darwin-arm64': 1.0.2
|
'@img/sharp-libvips-darwin-arm64': 1.0.2
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-darwin-x64@0.33.3':
|
'@img/sharp-darwin-x64@0.33.4':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-darwin-x64': 1.0.2
|
'@img/sharp-libvips-darwin-x64': 1.0.2
|
||||||
optional: true
|
optional: true
|
||||||
|
|
@ -4820,45 +4886,45 @@ snapshots:
|
||||||
'@img/sharp-libvips-linuxmusl-x64@1.0.2':
|
'@img/sharp-libvips-linuxmusl-x64@1.0.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-arm64@0.33.3':
|
'@img/sharp-linux-arm64@0.33.4':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-arm64': 1.0.2
|
'@img/sharp-libvips-linux-arm64': 1.0.2
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-arm@0.33.3':
|
'@img/sharp-linux-arm@0.33.4':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-arm': 1.0.2
|
'@img/sharp-libvips-linux-arm': 1.0.2
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-s390x@0.33.3':
|
'@img/sharp-linux-s390x@0.33.4':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-s390x': 1.0.2
|
'@img/sharp-libvips-linux-s390x': 1.0.2
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-x64@0.33.3':
|
'@img/sharp-linux-x64@0.33.4':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-x64': 1.0.2
|
'@img/sharp-libvips-linux-x64': 1.0.2
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-arm64@0.33.3':
|
'@img/sharp-linuxmusl-arm64@0.33.4':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linuxmusl-arm64': 1.0.2
|
'@img/sharp-libvips-linuxmusl-arm64': 1.0.2
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-x64@0.33.3':
|
'@img/sharp-linuxmusl-x64@0.33.4':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linuxmusl-x64': 1.0.2
|
'@img/sharp-libvips-linuxmusl-x64': 1.0.2
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-wasm32@0.33.3':
|
'@img/sharp-wasm32@0.33.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@emnapi/runtime': 1.2.0
|
'@emnapi/runtime': 1.2.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-win32-ia32@0.33.3':
|
'@img/sharp-win32-ia32@0.33.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-win32-x64@0.33.3':
|
'@img/sharp-win32-x64@0.33.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@internationalized/date@3.5.3':
|
'@internationalized/date@3.5.3':
|
||||||
|
|
@ -4931,9 +4997,9 @@ snapshots:
|
||||||
- encoding
|
- encoding
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@melt-ui/pp@0.3.2(@melt-ui/svelte@0.81.0(svelte@5.0.0-next.175))(svelte@5.0.0-next.175)':
|
'@melt-ui/pp@0.3.2(@melt-ui/svelte@0.83.0(svelte@5.0.0-next.175))(svelte@5.0.0-next.175)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@melt-ui/svelte': 0.81.0(svelte@5.0.0-next.175)
|
'@melt-ui/svelte': 0.83.0(svelte@5.0.0-next.175)
|
||||||
estree-walker: 3.0.3
|
estree-walker: 3.0.3
|
||||||
magic-string: 0.30.10
|
magic-string: 0.30.10
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
|
|
@ -4948,10 +5014,10 @@ snapshots:
|
||||||
nanoid: 5.0.7
|
nanoid: 5.0.7
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
|
|
||||||
'@melt-ui/svelte@0.81.0(svelte@5.0.0-next.175)':
|
'@melt-ui/svelte@0.83.0(svelte@5.0.0-next.175)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@floating-ui/core': 1.6.2
|
'@floating-ui/core': 1.6.4
|
||||||
'@floating-ui/dom': 1.6.5
|
'@floating-ui/dom': 1.6.7
|
||||||
'@internationalized/date': 3.5.4
|
'@internationalized/date': 3.5.4
|
||||||
dequal: 2.0.3
|
dequal: 2.0.3
|
||||||
focus-trap: 7.5.4
|
focus-trap: 7.5.4
|
||||||
|
|
@ -5320,10 +5386,10 @@ snapshots:
|
||||||
- encoding
|
- encoding
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@sveltejs/enhanced-img@0.2.1(rollup@4.18.0)(svelte@5.0.0-next.175)':
|
'@sveltejs/enhanced-img@0.3.0(rollup@4.18.0)(svelte@5.0.0-next.175)':
|
||||||
dependencies:
|
dependencies:
|
||||||
magic-string: 0.30.10
|
magic-string: 0.30.10
|
||||||
svelte-parse-markup: 0.1.2(svelte@5.0.0-next.175)
|
svelte-parse-markup: 0.1.5(svelte@5.0.0-next.175)
|
||||||
vite-imagetools: 7.0.2(rollup@4.18.0)
|
vite-imagetools: 7.0.2(rollup@4.18.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- rollup
|
- rollup
|
||||||
|
|
@ -5667,7 +5733,7 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
file-uri-to-path: 1.0.0
|
file-uri-to-path: 1.0.0
|
||||||
|
|
||||||
bits-ui@0.21.11(svelte@5.0.0-next.175):
|
bits-ui@0.21.12(svelte@5.0.0-next.175):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@internationalized/date': 3.5.3
|
'@internationalized/date': 3.5.3
|
||||||
'@melt-ui/svelte': 0.76.2(svelte@5.0.0-next.175)
|
'@melt-ui/svelte': 0.76.2(svelte@5.0.0-next.175)
|
||||||
|
|
@ -5862,7 +5928,7 @@ snapshots:
|
||||||
mdn-data: 2.0.30
|
mdn-data: 2.0.30
|
||||||
source-map-js: 1.2.0
|
source-map-js: 1.2.0
|
||||||
|
|
||||||
cssdb@8.0.0: {}
|
cssdb@8.1.0: {}
|
||||||
|
|
||||||
cssesc@3.0.0: {}
|
cssesc@3.0.0: {}
|
||||||
|
|
||||||
|
|
@ -6362,7 +6428,7 @@ snapshots:
|
||||||
|
|
||||||
imagetools-core@7.0.0:
|
imagetools-core@7.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
sharp: 0.33.3
|
sharp: 0.33.4
|
||||||
|
|
||||||
immutable@4.3.5: {}
|
immutable@4.3.5: {}
|
||||||
|
|
||||||
|
|
@ -6839,12 +6905,12 @@ snapshots:
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
|
|
||||||
postcss-color-functional-notation@6.0.13(postcss@8.4.39):
|
postcss-color-functional-notation@6.0.14(postcss@8.4.39):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-tokenizer': 2.4.1
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
|
|
@ -6890,9 +6956,9 @@ snapshots:
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
postcss-selector-parser: 6.0.16
|
postcss-selector-parser: 6.0.16
|
||||||
|
|
||||||
postcss-double-position-gradients@5.0.6(postcss@8.4.39):
|
postcss-double-position-gradients@5.0.7(postcss@8.4.39):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
|
|
@ -6940,12 +7006,12 @@ snapshots:
|
||||||
camelcase-css: 2.0.1
|
camelcase-css: 2.0.1
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
postcss-lab-function@6.0.18(postcss@8.4.39):
|
postcss-lab-function@6.0.19(postcss@8.4.39):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-color-parser': 2.0.4(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
'@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1)
|
||||||
'@csstools/css-tokenizer': 2.4.1
|
'@csstools/css-tokenizer': 2.4.1
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
'@csstools/utilities': 1.0.0(postcss@8.4.39)
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
|
|
||||||
|
|
@ -7009,20 +7075,21 @@ snapshots:
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
|
|
||||||
postcss-preset-env@9.5.16(postcss@8.4.39):
|
postcss-preset-env@9.6.0(postcss@8.4.39):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@csstools/postcss-cascade-layers': 4.0.6(postcss@8.4.39)
|
'@csstools/postcss-cascade-layers': 4.0.6(postcss@8.4.39)
|
||||||
'@csstools/postcss-color-function': 3.0.18(postcss@8.4.39)
|
'@csstools/postcss-color-function': 3.0.19(postcss@8.4.39)
|
||||||
'@csstools/postcss-color-mix-function': 2.0.18(postcss@8.4.39)
|
'@csstools/postcss-color-mix-function': 2.0.19(postcss@8.4.39)
|
||||||
|
'@csstools/postcss-content-alt-text': 1.0.0(postcss@8.4.39)
|
||||||
'@csstools/postcss-exponential-functions': 1.0.9(postcss@8.4.39)
|
'@csstools/postcss-exponential-functions': 1.0.9(postcss@8.4.39)
|
||||||
'@csstools/postcss-font-format-keywords': 3.0.2(postcss@8.4.39)
|
'@csstools/postcss-font-format-keywords': 3.0.2(postcss@8.4.39)
|
||||||
'@csstools/postcss-gamut-mapping': 1.0.11(postcss@8.4.39)
|
'@csstools/postcss-gamut-mapping': 1.0.11(postcss@8.4.39)
|
||||||
'@csstools/postcss-gradients-interpolation-method': 4.0.19(postcss@8.4.39)
|
'@csstools/postcss-gradients-interpolation-method': 4.0.20(postcss@8.4.39)
|
||||||
'@csstools/postcss-hwb-function': 3.0.17(postcss@8.4.39)
|
'@csstools/postcss-hwb-function': 3.0.18(postcss@8.4.39)
|
||||||
'@csstools/postcss-ic-unit': 3.0.6(postcss@8.4.39)
|
'@csstools/postcss-ic-unit': 3.0.7(postcss@8.4.39)
|
||||||
'@csstools/postcss-initial': 1.0.1(postcss@8.4.39)
|
'@csstools/postcss-initial': 1.0.1(postcss@8.4.39)
|
||||||
'@csstools/postcss-is-pseudo-class': 4.0.8(postcss@8.4.39)
|
'@csstools/postcss-is-pseudo-class': 4.0.8(postcss@8.4.39)
|
||||||
'@csstools/postcss-light-dark-function': 1.0.7(postcss@8.4.39)
|
'@csstools/postcss-light-dark-function': 1.0.8(postcss@8.4.39)
|
||||||
'@csstools/postcss-logical-float-and-clear': 2.0.1(postcss@8.4.39)
|
'@csstools/postcss-logical-float-and-clear': 2.0.1(postcss@8.4.39)
|
||||||
'@csstools/postcss-logical-overflow': 1.0.1(postcss@8.4.39)
|
'@csstools/postcss-logical-overflow': 1.0.1(postcss@8.4.39)
|
||||||
'@csstools/postcss-logical-overscroll-behavior': 1.0.1(postcss@8.4.39)
|
'@csstools/postcss-logical-overscroll-behavior': 1.0.1(postcss@8.4.39)
|
||||||
|
|
@ -7032,9 +7099,9 @@ snapshots:
|
||||||
'@csstools/postcss-media-queries-aspect-ratio-number-values': 2.0.11(postcss@8.4.39)
|
'@csstools/postcss-media-queries-aspect-ratio-number-values': 2.0.11(postcss@8.4.39)
|
||||||
'@csstools/postcss-nested-calc': 3.0.2(postcss@8.4.39)
|
'@csstools/postcss-nested-calc': 3.0.2(postcss@8.4.39)
|
||||||
'@csstools/postcss-normalize-display-values': 3.0.2(postcss@8.4.39)
|
'@csstools/postcss-normalize-display-values': 3.0.2(postcss@8.4.39)
|
||||||
'@csstools/postcss-oklab-function': 3.0.18(postcss@8.4.39)
|
'@csstools/postcss-oklab-function': 3.0.19(postcss@8.4.39)
|
||||||
'@csstools/postcss-progressive-custom-properties': 3.2.0(postcss@8.4.39)
|
'@csstools/postcss-progressive-custom-properties': 3.3.0(postcss@8.4.39)
|
||||||
'@csstools/postcss-relative-color-syntax': 2.0.18(postcss@8.4.39)
|
'@csstools/postcss-relative-color-syntax': 2.0.19(postcss@8.4.39)
|
||||||
'@csstools/postcss-scope-pseudo-class': 3.0.1(postcss@8.4.39)
|
'@csstools/postcss-scope-pseudo-class': 3.0.1(postcss@8.4.39)
|
||||||
'@csstools/postcss-stepped-value-functions': 3.0.10(postcss@8.4.39)
|
'@csstools/postcss-stepped-value-functions': 3.0.10(postcss@8.4.39)
|
||||||
'@csstools/postcss-text-decoration-shorthand': 3.0.7(postcss@8.4.39)
|
'@csstools/postcss-text-decoration-shorthand': 3.0.7(postcss@8.4.39)
|
||||||
|
|
@ -7045,24 +7112,24 @@ snapshots:
|
||||||
css-blank-pseudo: 6.0.2(postcss@8.4.39)
|
css-blank-pseudo: 6.0.2(postcss@8.4.39)
|
||||||
css-has-pseudo: 6.0.5(postcss@8.4.39)
|
css-has-pseudo: 6.0.5(postcss@8.4.39)
|
||||||
css-prefers-color-scheme: 9.0.1(postcss@8.4.39)
|
css-prefers-color-scheme: 9.0.1(postcss@8.4.39)
|
||||||
cssdb: 8.0.0
|
cssdb: 8.1.0
|
||||||
postcss: 8.4.39
|
postcss: 8.4.39
|
||||||
postcss-attribute-case-insensitive: 6.0.3(postcss@8.4.39)
|
postcss-attribute-case-insensitive: 6.0.3(postcss@8.4.39)
|
||||||
postcss-clamp: 4.1.0(postcss@8.4.39)
|
postcss-clamp: 4.1.0(postcss@8.4.39)
|
||||||
postcss-color-functional-notation: 6.0.13(postcss@8.4.39)
|
postcss-color-functional-notation: 6.0.14(postcss@8.4.39)
|
||||||
postcss-color-hex-alpha: 9.0.4(postcss@8.4.39)
|
postcss-color-hex-alpha: 9.0.4(postcss@8.4.39)
|
||||||
postcss-color-rebeccapurple: 9.0.3(postcss@8.4.39)
|
postcss-color-rebeccapurple: 9.0.3(postcss@8.4.39)
|
||||||
postcss-custom-media: 10.0.8(postcss@8.4.39)
|
postcss-custom-media: 10.0.8(postcss@8.4.39)
|
||||||
postcss-custom-properties: 13.3.12(postcss@8.4.39)
|
postcss-custom-properties: 13.3.12(postcss@8.4.39)
|
||||||
postcss-custom-selectors: 7.1.12(postcss@8.4.39)
|
postcss-custom-selectors: 7.1.12(postcss@8.4.39)
|
||||||
postcss-dir-pseudo-class: 8.0.1(postcss@8.4.39)
|
postcss-dir-pseudo-class: 8.0.1(postcss@8.4.39)
|
||||||
postcss-double-position-gradients: 5.0.6(postcss@8.4.39)
|
postcss-double-position-gradients: 5.0.7(postcss@8.4.39)
|
||||||
postcss-focus-visible: 9.0.1(postcss@8.4.39)
|
postcss-focus-visible: 9.0.1(postcss@8.4.39)
|
||||||
postcss-focus-within: 8.0.1(postcss@8.4.39)
|
postcss-focus-within: 8.0.1(postcss@8.4.39)
|
||||||
postcss-font-variant: 5.0.0(postcss@8.4.39)
|
postcss-font-variant: 5.0.0(postcss@8.4.39)
|
||||||
postcss-gap-properties: 5.0.1(postcss@8.4.39)
|
postcss-gap-properties: 5.0.1(postcss@8.4.39)
|
||||||
postcss-image-set-function: 6.0.3(postcss@8.4.39)
|
postcss-image-set-function: 6.0.3(postcss@8.4.39)
|
||||||
postcss-lab-function: 6.0.18(postcss@8.4.39)
|
postcss-lab-function: 6.0.19(postcss@8.4.39)
|
||||||
postcss-logical: 7.0.1(postcss@8.4.39)
|
postcss-logical: 7.0.1(postcss@8.4.39)
|
||||||
postcss-nesting: 12.1.5(postcss@8.4.39)
|
postcss-nesting: 12.1.5(postcss@8.4.39)
|
||||||
postcss-opacity-percentage: 2.0.0(postcss@8.4.39)
|
postcss-opacity-percentage: 2.0.0(postcss@8.4.39)
|
||||||
|
|
@ -7322,22 +7389,20 @@ snapshots:
|
||||||
|
|
||||||
semver@6.3.1: {}
|
semver@6.3.1: {}
|
||||||
|
|
||||||
semver@7.6.1: {}
|
|
||||||
|
|
||||||
semver@7.6.2: {}
|
semver@7.6.2: {}
|
||||||
|
|
||||||
set-blocking@2.0.0: {}
|
set-blocking@2.0.0: {}
|
||||||
|
|
||||||
set-cookie-parser@2.6.0: {}
|
set-cookie-parser@2.6.0: {}
|
||||||
|
|
||||||
sharp@0.33.3:
|
sharp@0.33.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
color: 4.2.3
|
color: 4.2.3
|
||||||
detect-libc: 2.0.3
|
detect-libc: 2.0.3
|
||||||
semver: 7.6.1
|
semver: 7.6.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-darwin-arm64': 0.33.3
|
'@img/sharp-darwin-arm64': 0.33.4
|
||||||
'@img/sharp-darwin-x64': 0.33.3
|
'@img/sharp-darwin-x64': 0.33.4
|
||||||
'@img/sharp-libvips-darwin-arm64': 1.0.2
|
'@img/sharp-libvips-darwin-arm64': 1.0.2
|
||||||
'@img/sharp-libvips-darwin-x64': 1.0.2
|
'@img/sharp-libvips-darwin-x64': 1.0.2
|
||||||
'@img/sharp-libvips-linux-arm': 1.0.2
|
'@img/sharp-libvips-linux-arm': 1.0.2
|
||||||
|
|
@ -7346,15 +7411,15 @@ snapshots:
|
||||||
'@img/sharp-libvips-linux-x64': 1.0.2
|
'@img/sharp-libvips-linux-x64': 1.0.2
|
||||||
'@img/sharp-libvips-linuxmusl-arm64': 1.0.2
|
'@img/sharp-libvips-linuxmusl-arm64': 1.0.2
|
||||||
'@img/sharp-libvips-linuxmusl-x64': 1.0.2
|
'@img/sharp-libvips-linuxmusl-x64': 1.0.2
|
||||||
'@img/sharp-linux-arm': 0.33.3
|
'@img/sharp-linux-arm': 0.33.4
|
||||||
'@img/sharp-linux-arm64': 0.33.3
|
'@img/sharp-linux-arm64': 0.33.4
|
||||||
'@img/sharp-linux-s390x': 0.33.3
|
'@img/sharp-linux-s390x': 0.33.4
|
||||||
'@img/sharp-linux-x64': 0.33.3
|
'@img/sharp-linux-x64': 0.33.4
|
||||||
'@img/sharp-linuxmusl-arm64': 0.33.3
|
'@img/sharp-linuxmusl-arm64': 0.33.4
|
||||||
'@img/sharp-linuxmusl-x64': 0.33.3
|
'@img/sharp-linuxmusl-x64': 0.33.4
|
||||||
'@img/sharp-wasm32': 0.33.3
|
'@img/sharp-wasm32': 0.33.4
|
||||||
'@img/sharp-win32-ia32': 0.33.3
|
'@img/sharp-win32-ia32': 0.33.4
|
||||||
'@img/sharp-win32-x64': 0.33.3
|
'@img/sharp-win32-x64': 0.33.4
|
||||||
|
|
||||||
shebang-command@2.0.0:
|
shebang-command@2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
@ -7520,7 +7585,7 @@ snapshots:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- typescript
|
- typescript
|
||||||
|
|
||||||
svelte-parse-markup@0.1.2(svelte@5.0.0-next.175):
|
svelte-parse-markup@0.1.5(svelte@5.0.0-next.175):
|
||||||
dependencies:
|
dependencies:
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
|
|
||||||
|
|
@ -7538,6 +7603,17 @@ snapshots:
|
||||||
sass: 1.77.6
|
sass: 1.77.6
|
||||||
typescript: 5.5.3
|
typescript: 5.5.3
|
||||||
|
|
||||||
|
svelte-preprocess@6.0.1(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2))(postcss@8.4.39)(sass@1.77.6)(svelte@5.0.0-next.175)(typescript@5.5.3):
|
||||||
|
dependencies:
|
||||||
|
detect-indent: 6.1.0
|
||||||
|
strip-indent: 3.0.0
|
||||||
|
svelte: 5.0.0-next.175
|
||||||
|
optionalDependencies:
|
||||||
|
postcss: 8.4.39
|
||||||
|
postcss-load-config: 5.1.0(jiti@1.21.6)(postcss@8.4.39)(tsx@4.16.2)
|
||||||
|
sass: 1.77.6
|
||||||
|
typescript: 5.5.3
|
||||||
|
|
||||||
svelte-render@2.0.1(svelte@5.0.0-next.175):
|
svelte-render@2.0.1(svelte@5.0.0-next.175):
|
||||||
dependencies:
|
dependencies:
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@
|
||||||
<span class="logo-text">Bored Game</span>
|
<span class="logo-text">Bored Game</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<!-- <TextSearch /> -->
|
|
||||||
<nav>
|
<nav>
|
||||||
{#if user}
|
{#if user}
|
||||||
<DropdownMenu.Root>
|
<DropdownMenu.Root>
|
||||||
|
|
@ -39,7 +38,7 @@
|
||||||
</DropdownMenu.Trigger>
|
</DropdownMenu.Trigger>
|
||||||
<DropdownMenu.Content>
|
<DropdownMenu.Content>
|
||||||
<DropdownMenu.Group>
|
<DropdownMenu.Group>
|
||||||
<DropdownMenu.Label>My Account</DropdownMenu.Label>
|
<DropdownMenu.Label>Account</DropdownMenu.Label>
|
||||||
<DropdownMenu.Separator />
|
<DropdownMenu.Separator />
|
||||||
<a href="/profile">
|
<a href="/profile">
|
||||||
<DropdownMenu.Item>
|
<DropdownMenu.Item>
|
||||||
|
|
@ -59,35 +58,35 @@
|
||||||
<span>Wishlists</span>
|
<span>Wishlists</span>
|
||||||
</DropdownMenu.Item>
|
</DropdownMenu.Item>
|
||||||
</a>
|
</a>
|
||||||
<form
|
<DropdownMenu.Item>
|
||||||
use:enhance={() => {
|
<form
|
||||||
return async ({ result }) => {
|
use:enhance={() => {
|
||||||
console.log(result);
|
return async ({ result }) => {
|
||||||
if (result.type === 'success' || result.type === 'redirect') {
|
|
||||||
toast.success('Logged Out');
|
|
||||||
} else if (result.type === 'error') {
|
|
||||||
console.log(result);
|
console.log(result);
|
||||||
toast.error(`Error: ${result.error.message}`);
|
if (result.type === 'success' || result.type === 'redirect') {
|
||||||
} else {
|
toast.success('Logged Out');
|
||||||
toast.error(`Something went wrong.`);
|
} else if (result.type === 'error') {
|
||||||
console.log(result);
|
console.log(result);
|
||||||
}
|
toast.error(`Error: ${result.error.message}`);
|
||||||
await invalidateAll();
|
} else {
|
||||||
await applyAction(result);
|
toast.error(`Something went wrong.`);
|
||||||
};
|
console.log(result);
|
||||||
}}
|
}
|
||||||
action="/logout"
|
await invalidateAll();
|
||||||
method="POST"
|
await applyAction(result);
|
||||||
>
|
};
|
||||||
<button type="submit" class="">
|
}}
|
||||||
<DropdownMenu.Item>
|
action="/logout"
|
||||||
|
method="POST"
|
||||||
|
>
|
||||||
|
<button type="submit">
|
||||||
<div class="flex items-center gap-1">
|
<div class="flex items-center gap-1">
|
||||||
<LogOut class="mr-2 h-4 w-4" />
|
<LogOut class="mr-2 h-4 w-4" />
|
||||||
<span>Sign out</span>
|
<span>Sign out</span>
|
||||||
</div>
|
</div>
|
||||||
</DropdownMenu.Item>
|
</button>
|
||||||
</button>
|
</form>
|
||||||
</form>
|
</DropdownMenu.Item>
|
||||||
</DropdownMenu.Group>
|
</DropdownMenu.Group>
|
||||||
</DropdownMenu.Content>
|
</DropdownMenu.Content>
|
||||||
</DropdownMenu.Root>
|
</DropdownMenu.Root>
|
||||||
|
|
|
||||||
32
src/lib/components/pin-input.svelte
Normal file
32
src/lib/components/pin-input.svelte
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { cn } from '$lib/utils/ui';
|
||||||
|
import { PinInput, type PinInputProps } from 'bits-ui';
|
||||||
|
|
||||||
|
interface Props extends Omit<PinInputProps, 'value'> {
|
||||||
|
value: string;
|
||||||
|
inputCount?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
let { value = $bindable(), inputCount = 6, ...rest }: Props = $props();
|
||||||
|
let pin = $state<string[] | undefined>(value?.split('') ?? []);
|
||||||
|
let inputs = $derived(Array(inputCount).fill(null));
|
||||||
|
|
||||||
|
$effect(() => {
|
||||||
|
value = pin?.join('') ?? '';
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<PinInput.Root
|
||||||
|
{...rest}
|
||||||
|
bind:value={pin}
|
||||||
|
class={cn('flex items-center gap-2', rest.class)}
|
||||||
|
type="text"
|
||||||
|
placeholder=""
|
||||||
|
>
|
||||||
|
{#each inputs as _}
|
||||||
|
<PinInput.Input
|
||||||
|
class="flex h-14 w-10 rounded-md border border-input bg-background px-3 py-2 text-center text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
||||||
|
/>
|
||||||
|
{/each}
|
||||||
|
<PinInput.HiddenInput />
|
||||||
|
</PinInput.Root>
|
||||||
36
src/lib/components/ui/dialog/dialog-content.svelte
Normal file
36
src/lib/components/ui/dialog/dialog-content.svelte
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { Dialog as DialogPrimitive } from "bits-ui";
|
||||||
|
import X from "lucide-svelte/icons/x";
|
||||||
|
import * as Dialog from "./index.js";
|
||||||
|
import { cn, flyAndScale } from "$lib/utils.js";
|
||||||
|
|
||||||
|
type $$Props = DialogPrimitive.ContentProps;
|
||||||
|
|
||||||
|
let className: $$Props["class"] = undefined;
|
||||||
|
export let transition: $$Props["transition"] = flyAndScale;
|
||||||
|
export let transitionConfig: $$Props["transitionConfig"] = {
|
||||||
|
duration: 200,
|
||||||
|
};
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<Dialog.Portal>
|
||||||
|
<Dialog.Overlay />
|
||||||
|
<DialogPrimitive.Content
|
||||||
|
{transition}
|
||||||
|
{transitionConfig}
|
||||||
|
class={cn(
|
||||||
|
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg sm:rounded-lg md:w-full",
|
||||||
|
className
|
||||||
|
)}
|
||||||
|
{...$$restProps}
|
||||||
|
>
|
||||||
|
<slot />
|
||||||
|
<DialogPrimitive.Close
|
||||||
|
class="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"
|
||||||
|
>
|
||||||
|
<X class="h-4 w-4" />
|
||||||
|
<span class="sr-only">Close</span>
|
||||||
|
</DialogPrimitive.Close>
|
||||||
|
</DialogPrimitive.Content>
|
||||||
|
</Dialog.Portal>
|
||||||
16
src/lib/components/ui/dialog/dialog-description.svelte
Normal file
16
src/lib/components/ui/dialog/dialog-description.svelte
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { Dialog as DialogPrimitive } from "bits-ui";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
|
|
||||||
|
type $$Props = DialogPrimitive.DescriptionProps;
|
||||||
|
|
||||||
|
let className: $$Props["class"] = undefined;
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<DialogPrimitive.Description
|
||||||
|
class={cn("text-sm text-muted-foreground", className)}
|
||||||
|
{...$$restProps}
|
||||||
|
>
|
||||||
|
<slot />
|
||||||
|
</DialogPrimitive.Description>
|
||||||
16
src/lib/components/ui/dialog/dialog-footer.svelte
Normal file
16
src/lib/components/ui/dialog/dialog-footer.svelte
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import type { HTMLAttributes } from "svelte/elements";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
|
|
||||||
|
type $$Props = HTMLAttributes<HTMLDivElement>;
|
||||||
|
|
||||||
|
let className: $$Props["class"] = undefined;
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div
|
||||||
|
class={cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className)}
|
||||||
|
{...$$restProps}
|
||||||
|
>
|
||||||
|
<slot />
|
||||||
|
</div>
|
||||||
13
src/lib/components/ui/dialog/dialog-header.svelte
Normal file
13
src/lib/components/ui/dialog/dialog-header.svelte
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import type { HTMLAttributes } from "svelte/elements";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
|
|
||||||
|
type $$Props = HTMLAttributes<HTMLDivElement>;
|
||||||
|
|
||||||
|
let className: $$Props["class"] = undefined;
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class={cn("flex flex-col space-y-1.5 text-center sm:text-left", className)} {...$$restProps}>
|
||||||
|
<slot />
|
||||||
|
</div>
|
||||||
21
src/lib/components/ui/dialog/dialog-overlay.svelte
Normal file
21
src/lib/components/ui/dialog/dialog-overlay.svelte
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { Dialog as DialogPrimitive } from "bits-ui";
|
||||||
|
import { fade } from "svelte/transition";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
|
|
||||||
|
type $$Props = DialogPrimitive.OverlayProps;
|
||||||
|
|
||||||
|
let className: $$Props["class"] = undefined;
|
||||||
|
export let transition: $$Props["transition"] = fade;
|
||||||
|
export let transitionConfig: $$Props["transitionConfig"] = {
|
||||||
|
duration: 150,
|
||||||
|
};
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<DialogPrimitive.Overlay
|
||||||
|
{transition}
|
||||||
|
{transitionConfig}
|
||||||
|
class={cn("fixed inset-0 z-50 bg-background/80 backdrop-blur-sm", className)}
|
||||||
|
{...$$restProps}
|
||||||
|
/>
|
||||||
8
src/lib/components/ui/dialog/dialog-portal.svelte
Normal file
8
src/lib/components/ui/dialog/dialog-portal.svelte
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { Dialog as DialogPrimitive } from "bits-ui";
|
||||||
|
type $$Props = DialogPrimitive.PortalProps;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<DialogPrimitive.Portal {...$$restProps}>
|
||||||
|
<slot />
|
||||||
|
</DialogPrimitive.Portal>
|
||||||
16
src/lib/components/ui/dialog/dialog-title.svelte
Normal file
16
src/lib/components/ui/dialog/dialog-title.svelte
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { Dialog as DialogPrimitive } from "bits-ui";
|
||||||
|
import { cn } from "$lib/utils.js";
|
||||||
|
|
||||||
|
type $$Props = DialogPrimitive.TitleProps;
|
||||||
|
|
||||||
|
let className: $$Props["class"] = undefined;
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<DialogPrimitive.Title
|
||||||
|
class={cn("text-lg font-semibold leading-none tracking-tight", className)}
|
||||||
|
{...$$restProps}
|
||||||
|
>
|
||||||
|
<slot />
|
||||||
|
</DialogPrimitive.Title>
|
||||||
|
|
@ -1,12 +1,37 @@
|
||||||
import { Dialog as DialogPrimitive } from "radix-svelte";
|
import { Dialog as DialogPrimitive } from "bits-ui";
|
||||||
|
|
||||||
export const Dialog = DialogPrimitive.Root;
|
import Title from "./dialog-title.svelte";
|
||||||
export const DialogTrigger = DialogPrimitive.Trigger;
|
import Portal from "./dialog-portal.svelte";
|
||||||
|
import Footer from "./dialog-footer.svelte";
|
||||||
|
import Header from "./dialog-header.svelte";
|
||||||
|
import Overlay from "./dialog-overlay.svelte";
|
||||||
|
import Content from "./dialog-content.svelte";
|
||||||
|
import Description from "./dialog-description.svelte";
|
||||||
|
|
||||||
export { default as DialogContent } from "./DialogContent.svelte";
|
const Root = DialogPrimitive.Root;
|
||||||
export { default as DialogDescription } from "./DialogDescription.svelte";
|
const Trigger = DialogPrimitive.Trigger;
|
||||||
export { default as DialogFooter } from "./DialogFooter.svelte";
|
const Close = DialogPrimitive.Close;
|
||||||
export { default as DialogHeader } from "./DialogHeader.svelte";
|
|
||||||
export { default as DialogOverlay } from "./DialogOverlay.svelte";
|
export {
|
||||||
export { default as DialogPortal } from "./DialogPortal.svelte";
|
Root,
|
||||||
export { default as DialogTitle } from "./DialogTitle.svelte";
|
Title,
|
||||||
|
Portal,
|
||||||
|
Footer,
|
||||||
|
Header,
|
||||||
|
Trigger,
|
||||||
|
Overlay,
|
||||||
|
Content,
|
||||||
|
Description,
|
||||||
|
Close,
|
||||||
|
//
|
||||||
|
Root as Dialog,
|
||||||
|
Title as DialogTitle,
|
||||||
|
Portal as DialogPortal,
|
||||||
|
Footer as DialogFooter,
|
||||||
|
Header as DialogHeader,
|
||||||
|
Trigger as DialogTrigger,
|
||||||
|
Overlay as DialogOverlay,
|
||||||
|
Content as DialogContent,
|
||||||
|
Description as DialogDescription,
|
||||||
|
Close as DialogClose,
|
||||||
|
};
|
||||||
|
|
|
||||||
56
src/lib/utils/ui.ts
Normal file
56
src/lib/utils/ui.ts
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
import { type ClassValue, clsx } from 'clsx';
|
||||||
|
import { twMerge } from 'tailwind-merge';
|
||||||
|
import { cubicOut } from 'svelte/easing';
|
||||||
|
import type { TransitionConfig } from 'svelte/transition';
|
||||||
|
|
||||||
|
export function cn(...inputs: ClassValue[]) {
|
||||||
|
return twMerge(clsx(inputs));
|
||||||
|
}
|
||||||
|
|
||||||
|
type FlyAndScaleParams = {
|
||||||
|
y?: number;
|
||||||
|
x?: number;
|
||||||
|
start?: number;
|
||||||
|
duration?: number;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const flyAndScale = (
|
||||||
|
node: Element,
|
||||||
|
params: FlyAndScaleParams = { y: -8, x: 0, start: 0.95, duration: 150 },
|
||||||
|
): TransitionConfig => {
|
||||||
|
const style = getComputedStyle(node);
|
||||||
|
const transform = style.transform === 'none' ? '' : style.transform;
|
||||||
|
|
||||||
|
const scaleConversion = (valueA: number, scaleA: [number, number], scaleB: [number, number]) => {
|
||||||
|
const [minA, maxA] = scaleA;
|
||||||
|
const [minB, maxB] = scaleB;
|
||||||
|
|
||||||
|
const percentage = (valueA - minA) / (maxA - minA);
|
||||||
|
const valueB = percentage * (maxB - minB) + minB;
|
||||||
|
|
||||||
|
return valueB;
|
||||||
|
};
|
||||||
|
|
||||||
|
const styleToString = (style: Record<string, number | string | undefined>): string => {
|
||||||
|
return Object.keys(style).reduce((str, key) => {
|
||||||
|
if (style[key] === undefined) return str;
|
||||||
|
return str + `${key}:${style[key]};`;
|
||||||
|
}, '');
|
||||||
|
};
|
||||||
|
|
||||||
|
return {
|
||||||
|
duration: params.duration ?? 200,
|
||||||
|
delay: 0,
|
||||||
|
css: (t) => {
|
||||||
|
const y = scaleConversion(t, [0, 1], [params.y ?? 5, 0]);
|
||||||
|
const x = scaleConversion(t, [0, 1], [params.x ?? 0, 0]);
|
||||||
|
const scale = scaleConversion(t, [0, 1], [params.start ?? 0.95, 1]);
|
||||||
|
|
||||||
|
return styleToString({
|
||||||
|
transform: `${transform} translate3d(${x}px, ${y}px, 0) scale(${scale})`,
|
||||||
|
opacity: t,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
easing: cubicOut,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
import { Input } from '$components/ui/input';
|
import { Input } from '$components/ui/input';
|
||||||
import { Button } from '$components/ui/button';
|
import { Button } from '$components/ui/button';
|
||||||
|
|
||||||
export let data;
|
const { data } = $props();
|
||||||
|
|
||||||
const hasSetupTwoFactor = data.hasSetupTwoFactor;
|
const hasSetupTwoFactor = data.hasSetupTwoFactor;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,12 @@ export const load: PageServerLoad = async (event) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const dbUser = await db.query.users.findFirst({
|
const dbUser = await db.query.users.findFirst({
|
||||||
where: eq(users.id, user.id),
|
where: eq(users.id, user!.id),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (dbUser?.two_factor_enabled) {
|
if (dbUser?.two_factor_enabled) {
|
||||||
const dbRecoveryCodes = await db.query.recoveryCodes.findMany({
|
const dbRecoveryCodes = await db.query.recoveryCodes.findMany({
|
||||||
where: eq(recoveryCodes.userId, user.id),
|
where: eq(recoveryCodes.userId, user!.id),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (dbRecoveryCodes.length === 0) {
|
if (dbRecoveryCodes.length === 0) {
|
||||||
|
|
@ -33,13 +33,13 @@ export const load: PageServerLoad = async (event) => {
|
||||||
const hashedCode = await new Argon2id().hash(code);
|
const hashedCode = await new Argon2id().hash(code);
|
||||||
console.log('Inserting recovery code', code, hashedCode);
|
console.log('Inserting recovery code', code, hashedCode);
|
||||||
await db.insert(recoveryCodes).values({
|
await db.insert(recoveryCodes).values({
|
||||||
userId: user.id,
|
userId: user!.id,
|
||||||
code: hashedCode,
|
code: hashedCode,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
recoveryCodes,
|
recoveryCodes: createdRecoveryCodes,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export let data;
|
const { data } = $props();
|
||||||
|
|
||||||
const { recoveryCodes } = data;
|
const { recoveryCodes } = data;
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,28 @@
|
||||||
const { data } = $props();
|
const { data } = $props();
|
||||||
const { user, wishlists = [], collections = []} = data;
|
const { user, wishlists = [], collections = []} = data;
|
||||||
|
|
||||||
const welcome = $derived(`${data?.user?.firstName} ${data?.user?.lastName}` || user?.username)
|
const welcomeName = $derived.by(() => {
|
||||||
|
let welcomeName = '';
|
||||||
|
if (data?.user?.firstName) {
|
||||||
|
welcomeName += data?.user?.firstName;
|
||||||
|
}
|
||||||
|
if (data?.user?.lastName) {
|
||||||
|
welcomeName += ' ' + data?.user?.lastName;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (welcomeName.length === 0) {
|
||||||
|
return user?.username;
|
||||||
|
}
|
||||||
|
|
||||||
|
return welcomeName;
|
||||||
|
});
|
||||||
|
|
||||||
$inspect(data);
|
$inspect(data);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{#if user}
|
{#if user}
|
||||||
<h1>Welcome, {welcome}!</h1>
|
<h1>Welcome, {welcomeName}!</h1>
|
||||||
<div>
|
<div>
|
||||||
<h2>You wishlists:</h2>
|
<h2>You wishlists:</h2>
|
||||||
{#each wishlists as wishlist}
|
{#each wishlists as wishlist}
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,9 @@
|
||||||
import { Button } from '$components/ui/button';
|
import { Button } from '$components/ui/button';
|
||||||
import * as Alert from "$components/ui/alert";
|
import * as Alert from "$components/ui/alert";
|
||||||
import { boredState } from '$lib/stores/boredState.js';
|
import { boredState } from '$lib/stores/boredState.js';
|
||||||
|
import PinInput from '$components/pin-input.svelte';
|
||||||
|
|
||||||
export let data;
|
const { data } = $props();
|
||||||
|
|
||||||
const superTotpForm = superForm(data.form, {
|
const superTotpForm = superForm(data.form, {
|
||||||
onSubmit: () => boredState.update((n) => ({ ...n, loading: true })),
|
onSubmit: () => boredState.update((n) => ({ ...n, loading: true })),
|
||||||
|
|
@ -33,6 +34,8 @@
|
||||||
delayMs: 0,
|
delayMs: 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let showRecoveryCode = $state(false);
|
||||||
|
|
||||||
const { form: totpForm, enhance } = superTotpForm;
|
const { form: totpForm, enhance } = superTotpForm;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
@ -45,17 +48,27 @@
|
||||||
<h2
|
<h2
|
||||||
class="scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight transition-colors first:mt-0"
|
class="scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight transition-colors first:mt-0"
|
||||||
>
|
>
|
||||||
Please enter your two factor code
|
Please enter your {showRecoveryCode ? 'recovery code' : 'TOTP code'}
|
||||||
</h2>
|
</h2>
|
||||||
<Form.Field form={superTotpForm} name="totpToken">
|
<Form.Field form={superTotpForm} name="totpToken">
|
||||||
<Form.Control let:attrs>
|
<Form.Control let:attrs>
|
||||||
<Form.Label for="totpToken">TOTP Code</Form.Label>
|
{#if showRecoveryCode}
|
||||||
<Input {...attrs} autocomplete="totpToken" bind:value={$totpForm.totpToken} />
|
<Form.Label for="totpToken">Recovery Code</Form.Label>
|
||||||
|
<Input {...attrs} autocomplete="one-time-code" bind:value={$totpForm.totpToken} />
|
||||||
|
{:else}
|
||||||
|
<Form.Label for="totpToken">TOTP Code</Form.Label>
|
||||||
|
<PinInput class="justify-evenly" {...attrs} bind:value={$totpForm.totpToken} />
|
||||||
|
{/if}
|
||||||
</Form.Control>
|
</Form.Control>
|
||||||
<Form.FieldErrors />
|
<Form.FieldErrors />
|
||||||
</Form.Field>
|
</Form.Field>
|
||||||
<Form.Button>Submit</Form.Button>
|
<Form.Button>Submit</Form.Button>
|
||||||
</form>
|
</form>
|
||||||
|
{#if !showRecoveryCode}
|
||||||
|
<Button variant="link" class="text-secondary-foreground" on:click={() => showRecoveryCode = true}>Show Recovery Code</Button>
|
||||||
|
{:else}
|
||||||
|
<Button variant="link" class="text-secondary-foreground" on:click={() => showRecoveryCode = false}>Show TOTP Code</Button>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style lang="postcss">
|
<style lang="postcss">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue