mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
Adding shadcn-svelte, updating to tailwind, using tailwind in postcss, removing headless-ui references, comment out custom css, and adding UI comonents to signup / signing.
This commit is contained in:
parent
d111482708
commit
3d99710eb8
40 changed files with 983 additions and 490 deletions
26
package.json
26
package.json
|
|
@ -8,10 +8,11 @@
|
||||||
"preview": "vite preview",
|
"preview": "vite preview",
|
||||||
"test": "playwright test",
|
"test": "playwright test",
|
||||||
"postinstall": "prisma generate",
|
"postinstall": "prisma generate",
|
||||||
"check": "svelte-check --tsconfig ./tsconfig.json",
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
||||||
"check:watch": "svelte-check --tsconfig ./tsconfig.json --watch",
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
||||||
"lint": "prettier --check --plugin-search-dir=. . && eslint .",
|
"test:unit": "vitest",
|
||||||
"format": "prettier --write --plugin-search-dir=. .",
|
"lint": "prettier --plugin-search-dir . --check . && eslint .",
|
||||||
|
"format": "prettier --plugin-search-dir . --write .",
|
||||||
"site:update": "pnpm update -i -L",
|
"site:update": "pnpm update -i -L",
|
||||||
"db:studio": "prisma studio",
|
"db:studio": "prisma studio",
|
||||||
"db:push": "prisma db push",
|
"db:push": "prisma db push",
|
||||||
|
|
@ -22,15 +23,13 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@playwright/test": "^1.35.1",
|
"@playwright/test": "^1.35.1",
|
||||||
"@rgossiaux/svelte-headlessui": "1.0.2",
|
|
||||||
"@rgossiaux/svelte-heroicons": "^0.1.2",
|
|
||||||
"@sveltejs/adapter-auto": "^1.0.3",
|
"@sveltejs/adapter-auto": "^1.0.3",
|
||||||
"@sveltejs/adapter-vercel": "^1.0.6",
|
"@sveltejs/adapter-vercel": "^1.0.6",
|
||||||
"@sveltejs/kit": "^1.20.5",
|
"@sveltejs/kit": "^1.20.5",
|
||||||
"@types/cookie": "^0.5.1",
|
"@types/cookie": "^0.5.1",
|
||||||
"@types/node": "^18.16.18",
|
"@types/node": "^18.16.18",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.60.0",
|
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||||
"@typescript-eslint/parser": "^5.60.0",
|
"@typescript-eslint/parser": "^5.60.1",
|
||||||
"autoprefixer": "^10.4.14",
|
"autoprefixer": "^10.4.14",
|
||||||
"eslint": "^8.43.0",
|
"eslint": "^8.43.0",
|
||||||
"eslint-config-prettier": "^8.8.0",
|
"eslint-config-prettier": "^8.8.0",
|
||||||
|
|
@ -49,8 +48,9 @@
|
||||||
"svelte-check": "^2.10.3",
|
"svelte-check": "^2.10.3",
|
||||||
"svelte-preprocess": "^5.0.4",
|
"svelte-preprocess": "^5.0.4",
|
||||||
"sveltekit-superforms": "^1.1.2",
|
"sveltekit-superforms": "^1.1.2",
|
||||||
|
"tailwindcss": "^3.3.2",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
"tslib": "^2.5.3",
|
"tslib": "^2.6.0",
|
||||||
"typescript": "^4.9.5",
|
"typescript": "^4.9.5",
|
||||||
"vite": "^4.3.9",
|
"vite": "^4.3.9",
|
||||||
"vitest": "^0.25.3",
|
"vitest": "^0.25.3",
|
||||||
|
|
@ -73,17 +73,23 @@
|
||||||
"@lukeed/uuid": "^2.0.1",
|
"@lukeed/uuid": "^2.0.1",
|
||||||
"@prisma/client": "4.16.1",
|
"@prisma/client": "4.16.1",
|
||||||
"@types/feather-icons": "^4.29.1",
|
"@types/feather-icons": "^4.29.1",
|
||||||
|
"class-variance-authority": "^0.6.1",
|
||||||
|
"clsx": "^1.2.1",
|
||||||
"cookie": "^0.5.0",
|
"cookie": "^0.5.0",
|
||||||
"feather-icons": "^4.29.0",
|
"feather-icons": "^4.29.0",
|
||||||
"iconify-icon": "^1.0.8",
|
"iconify-icon": "^1.0.8",
|
||||||
"just-kebab-case": "^4.2.0",
|
"just-kebab-case": "^4.2.0",
|
||||||
"loader": "^2.1.1",
|
"loader": "^2.1.1",
|
||||||
"lucia-auth": "^1.8.0",
|
"lucia-auth": "^1.8.0",
|
||||||
|
"lucide-svelte": "^0.256.0",
|
||||||
"open-props": "^1.5.10",
|
"open-props": "^1.5.10",
|
||||||
|
"radix-svelte": "^0.8.0",
|
||||||
"svelte-lazy": "^1.2.1",
|
"svelte-lazy": "^1.2.1",
|
||||||
"svelte-lazy-loader": "^1.0.0",
|
"svelte-lazy-loader": "^1.0.0",
|
||||||
"svelte-legos": "^0.2.1",
|
"svelte-legos": "^0.2.1",
|
||||||
"sveltekit-flash-message": "^0.11.3",
|
"sveltekit-flash-message": "^0.11.3",
|
||||||
"zod-to-json-schema": "^3.21.2"
|
"tailwind-merge": "^1.13.2",
|
||||||
|
"tailwindcss-animate": "^1.0.6",
|
||||||
|
"zod-to-json-schema": "^3.21.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,9 @@ const config: PlaywrightTestConfig = {
|
||||||
webServer: {
|
webServer: {
|
||||||
command: 'npm run build && npm run preview',
|
command: 'npm run build && npm run preview',
|
||||||
port: 4173
|
port: 4173
|
||||||
}
|
},
|
||||||
|
testDir: 'tests',
|
||||||
|
testMatch: /(.+\.)?(test|spec)\.[jt]s/
|
||||||
};
|
};
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
|
|
||||||
397
pnpm-lock.yaml
397
pnpm-lock.yaml
|
|
@ -38,6 +38,12 @@ dependencies:
|
||||||
'@types/feather-icons':
|
'@types/feather-icons':
|
||||||
specifier: ^4.29.1
|
specifier: ^4.29.1
|
||||||
version: 4.29.1
|
version: 4.29.1
|
||||||
|
class-variance-authority:
|
||||||
|
specifier: ^0.6.1
|
||||||
|
version: 0.6.1
|
||||||
|
clsx:
|
||||||
|
specifier: ^1.2.1
|
||||||
|
version: 1.2.1
|
||||||
cookie:
|
cookie:
|
||||||
specifier: ^0.5.0
|
specifier: ^0.5.0
|
||||||
version: 0.5.0
|
version: 0.5.0
|
||||||
|
|
@ -56,9 +62,15 @@ dependencies:
|
||||||
lucia-auth:
|
lucia-auth:
|
||||||
specifier: ^1.8.0
|
specifier: ^1.8.0
|
||||||
version: 1.8.0
|
version: 1.8.0
|
||||||
|
lucide-svelte:
|
||||||
|
specifier: ^0.256.0
|
||||||
|
version: 0.256.0(svelte@3.59.2)
|
||||||
open-props:
|
open-props:
|
||||||
specifier: ^1.5.10
|
specifier: ^1.5.10
|
||||||
version: 1.5.10
|
version: 1.5.10
|
||||||
|
radix-svelte:
|
||||||
|
specifier: ^0.8.0
|
||||||
|
version: 0.8.0(svelte@3.59.2)
|
||||||
svelte-lazy:
|
svelte-lazy:
|
||||||
specifier: ^1.2.1
|
specifier: ^1.2.1
|
||||||
version: 1.2.1(svelte@3.59.2)
|
version: 1.2.1(svelte@3.59.2)
|
||||||
|
|
@ -71,20 +83,20 @@ dependencies:
|
||||||
sveltekit-flash-message:
|
sveltekit-flash-message:
|
||||||
specifier: ^0.11.3
|
specifier: ^0.11.3
|
||||||
version: 0.11.3(@sveltejs/kit@1.20.5)(svelte@3.59.2)
|
version: 0.11.3(@sveltejs/kit@1.20.5)(svelte@3.59.2)
|
||||||
|
tailwind-merge:
|
||||||
|
specifier: ^1.13.2
|
||||||
|
version: 1.13.2
|
||||||
|
tailwindcss-animate:
|
||||||
|
specifier: ^1.0.6
|
||||||
|
version: 1.0.6(tailwindcss@3.3.2)
|
||||||
zod-to-json-schema:
|
zod-to-json-schema:
|
||||||
specifier: ^3.21.2
|
specifier: ^3.21.3
|
||||||
version: 3.21.2(zod@3.21.4)
|
version: 3.21.3(zod@3.21.4)
|
||||||
|
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@playwright/test':
|
'@playwright/test':
|
||||||
specifier: ^1.35.1
|
specifier: ^1.35.1
|
||||||
version: 1.35.1
|
version: 1.35.1
|
||||||
'@rgossiaux/svelte-headlessui':
|
|
||||||
specifier: 1.0.2
|
|
||||||
version: 1.0.2(svelte@3.59.2)
|
|
||||||
'@rgossiaux/svelte-heroicons':
|
|
||||||
specifier: ^0.1.2
|
|
||||||
version: 0.1.2(svelte@3.59.2)
|
|
||||||
'@sveltejs/adapter-auto':
|
'@sveltejs/adapter-auto':
|
||||||
specifier: ^1.0.3
|
specifier: ^1.0.3
|
||||||
version: 1.0.3(@sveltejs/kit@1.20.5)
|
version: 1.0.3(@sveltejs/kit@1.20.5)
|
||||||
|
|
@ -101,11 +113,11 @@ devDependencies:
|
||||||
specifier: ^18.16.18
|
specifier: ^18.16.18
|
||||||
version: 18.16.18
|
version: 18.16.18
|
||||||
'@typescript-eslint/eslint-plugin':
|
'@typescript-eslint/eslint-plugin':
|
||||||
specifier: ^5.60.0
|
specifier: ^5.60.1
|
||||||
version: 5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@4.9.5)
|
version: 5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.43.0)(typescript@4.9.5)
|
||||||
'@typescript-eslint/parser':
|
'@typescript-eslint/parser':
|
||||||
specifier: ^5.60.0
|
specifier: ^5.60.1
|
||||||
version: 5.60.0(eslint@8.43.0)(typescript@4.9.5)
|
version: 5.60.1(eslint@8.43.0)(typescript@4.9.5)
|
||||||
autoprefixer:
|
autoprefixer:
|
||||||
specifier: ^10.4.14
|
specifier: ^10.4.14
|
||||||
version: 10.4.14(postcss@8.4.24)
|
version: 10.4.14(postcss@8.4.24)
|
||||||
|
|
@ -160,12 +172,15 @@ devDependencies:
|
||||||
sveltekit-superforms:
|
sveltekit-superforms:
|
||||||
specifier: ^1.1.2
|
specifier: ^1.1.2
|
||||||
version: 1.1.2(@sveltejs/kit@1.20.5)(svelte@3.59.2)(zod@3.21.4)
|
version: 1.1.2(@sveltejs/kit@1.20.5)(svelte@3.59.2)(zod@3.21.4)
|
||||||
|
tailwindcss:
|
||||||
|
specifier: ^3.3.2
|
||||||
|
version: 3.3.2(ts-node@10.9.1)
|
||||||
ts-node:
|
ts-node:
|
||||||
specifier: ^10.9.1
|
specifier: ^10.9.1
|
||||||
version: 10.9.1(@types/node@18.16.18)(typescript@4.9.5)
|
version: 10.9.1(@types/node@18.16.18)(typescript@4.9.5)
|
||||||
tslib:
|
tslib:
|
||||||
specifier: ^2.5.3
|
specifier: ^2.6.0
|
||||||
version: 2.5.3
|
version: 2.6.0
|
||||||
typescript:
|
typescript:
|
||||||
specifier: ^4.9.5
|
specifier: ^4.9.5
|
||||||
version: 4.9.5
|
version: 4.9.5
|
||||||
|
|
@ -181,6 +196,10 @@ devDependencies:
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
|
/@alloc/quick-lru@5.2.0:
|
||||||
|
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
/@axiomhq/axiom-node@0.12.0:
|
/@axiomhq/axiom-node@0.12.0:
|
||||||
resolution: {integrity: sha512-998jnkwSCzKk4oTqiWfHIeW18yj7LZu5+srTq72nLXaEZ5rrGMqKPx5W96hs8u9TeOjFxGBsfJCStEIVnrru1g==}
|
resolution: {integrity: sha512-998jnkwSCzKk4oTqiWfHIeW18yj7LZu5+srTq72nLXaEZ5rrGMqKPx5W96hs8u9TeOjFxGBsfJCStEIVnrru1g==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
|
|
@ -210,7 +229,6 @@ packages:
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/trace-mapping': 0.3.9
|
'@jridgewell/trace-mapping': 0.3.9
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@csstools/cascade-layer-name-parser@1.0.2(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1):
|
/@csstools/cascade-layer-name-parser@1.0.2(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1):
|
||||||
resolution: {integrity: sha512-xm7Mgwej/wBfLoK0K5LfntmPJzoULayl1XZY9JYgQgT29JiqNw++sLnx95u5y9zCihblzkyaRYJrsRMhIBzRdg==}
|
resolution: {integrity: sha512-xm7Mgwej/wBfLoK0K5LfntmPJzoULayl1XZY9JYgQgT29JiqNw++sLnx95u5y9zCihblzkyaRYJrsRMhIBzRdg==}
|
||||||
|
|
@ -999,6 +1017,16 @@ packages:
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@floating-ui/core@1.3.1:
|
||||||
|
resolution: {integrity: sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@floating-ui/dom@1.4.2:
|
||||||
|
resolution: {integrity: sha512-VKmvHVatWnewmGGy+7Mdy4cTJX71Pli6v/Wjb5RQBuq5wjUYx+Ef+kRThi8qggZqDgD8CogCpqhRoVp3+yQk+g==}
|
||||||
|
dependencies:
|
||||||
|
'@floating-ui/core': 1.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@fontsource/fira-mono@4.5.10:
|
/@fontsource/fira-mono@4.5.10:
|
||||||
resolution: {integrity: sha512-bxUnRP8xptGRo8YXeY073DSpfK74XpSb0ZyRNpHV9WvLnJ7TwPOjZll8hTMin7zLC6iOp59pDZ8EQDj1gzgAQQ==}
|
resolution: {integrity: sha512-bxUnRP8xptGRo8YXeY073DSpfK74XpSb0ZyRNpHV9WvLnJ7TwPOjZll8hTMin7zLC6iOp59pDZ8EQDj1gzgAQQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
@ -1039,14 +1067,24 @@ packages:
|
||||||
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
|
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/@jridgewell/gen-mapping@0.3.3:
|
||||||
|
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
|
||||||
|
engines: {node: '>=6.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@jridgewell/set-array': 1.1.2
|
||||||
|
'@jridgewell/sourcemap-codec': 1.4.15
|
||||||
|
'@jridgewell/trace-mapping': 0.3.17
|
||||||
|
|
||||||
/@jridgewell/resolve-uri@3.1.0:
|
/@jridgewell/resolve-uri@3.1.0:
|
||||||
resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
|
resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
|
||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
dev: true
|
|
||||||
|
/@jridgewell/set-array@1.1.2:
|
||||||
|
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
|
||||||
|
engines: {node: '>=6.0.0'}
|
||||||
|
|
||||||
/@jridgewell/sourcemap-codec@1.4.14:
|
/@jridgewell/sourcemap-codec@1.4.14:
|
||||||
resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
|
resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jridgewell/sourcemap-codec@1.4.15:
|
/@jridgewell/sourcemap-codec@1.4.15:
|
||||||
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
|
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
|
||||||
|
|
@ -1056,14 +1094,12 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/resolve-uri': 3.1.0
|
'@jridgewell/resolve-uri': 3.1.0
|
||||||
'@jridgewell/sourcemap-codec': 1.4.14
|
'@jridgewell/sourcemap-codec': 1.4.14
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jridgewell/trace-mapping@0.3.9:
|
/@jridgewell/trace-mapping@0.3.9:
|
||||||
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
|
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/resolve-uri': 3.1.0
|
'@jridgewell/resolve-uri': 3.1.0
|
||||||
'@jridgewell/sourcemap-codec': 1.4.15
|
'@jridgewell/sourcemap-codec': 1.4.15
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@leveluptuts/svelte-side-menu@1.0.5:
|
/@leveluptuts/svelte-side-menu@1.0.5:
|
||||||
resolution: {integrity: sha512-czPmr0LEjVhr7qXYZtH4PrUrfHPYg9nS7ZHH+xDINKoajkERWlHlsBtdoJC5ZTMzGvdhLCLfF70q4xeMzJgS7w==}
|
resolution: {integrity: sha512-czPmr0LEjVhr7qXYZtH4PrUrfHPYg9nS7ZHH+xDINKoajkERWlHlsBtdoJC5ZTMzGvdhLCLfF70q4xeMzJgS7w==}
|
||||||
|
|
@ -1136,12 +1172,10 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nodelib/fs.stat': 2.0.5
|
'@nodelib/fs.stat': 2.0.5
|
||||||
run-parallel: 1.2.0
|
run-parallel: 1.2.0
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@nodelib/fs.stat@2.0.5:
|
/@nodelib/fs.stat@2.0.5:
|
||||||
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
|
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@nodelib/fs.walk@1.2.8:
|
/@nodelib/fs.walk@1.2.8:
|
||||||
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
|
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
|
||||||
|
|
@ -1149,7 +1183,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nodelib/fs.scandir': 2.1.5
|
'@nodelib/fs.scandir': 2.1.5
|
||||||
fastq: 1.15.0
|
fastq: 1.15.0
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@playwright/test@1.35.1:
|
/@playwright/test@1.35.1:
|
||||||
resolution: {integrity: sha512-b5YoFe6J9exsMYg0pQAobNDR85T1nLumUYgUTtKm4d21iX2L7WqKq9dW8NGJ+2vX0etZd+Y7UeuqsxDXm9+5ZA==}
|
resolution: {integrity: sha512-b5YoFe6J9exsMYg0pQAobNDR85T1nLumUYgUTtKm4d21iX2L7WqKq9dW8NGJ+2vX0etZd+Y7UeuqsxDXm9+5ZA==}
|
||||||
|
|
@ -1187,22 +1220,6 @@ packages:
|
||||||
resolution: {integrity: sha512-gpZG0kGGxfemgvK/LghHdBIz+crHkZjzszja94xp4oytpsXrgt/Ice82MvPsWMleVIniKuARrowtsIsim0PFJQ==}
|
resolution: {integrity: sha512-gpZG0kGGxfemgvK/LghHdBIz+crHkZjzszja94xp4oytpsXrgt/Ice82MvPsWMleVIniKuARrowtsIsim0PFJQ==}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
|
|
||||||
/@rgossiaux/svelte-headlessui@1.0.2(svelte@3.59.2):
|
|
||||||
resolution: {integrity: sha512-sauopYTSivhzXe1kAvgawkhyYJcQlK8Li3p0d2OtcCIVprOzdbard5lbqWB4xHDv83zAobt2mR08oizO2poHLQ==}
|
|
||||||
peerDependencies:
|
|
||||||
svelte: ^3.44.0
|
|
||||||
dependencies:
|
|
||||||
svelte: 3.59.2
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@rgossiaux/svelte-heroicons@0.1.2(svelte@3.59.2):
|
|
||||||
resolution: {integrity: sha512-c5Ep1QDvBo9HD/P0AxbXItDbn6x77fldCjjL0aBjNseUntV4fkdHkBde1IaLr8i0kmrhTSovjkIen8W83jUPzg==}
|
|
||||||
peerDependencies:
|
|
||||||
svelte: ^3.44.0
|
|
||||||
dependencies:
|
|
||||||
svelte: 3.59.2
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@rollup/pluginutils@4.2.1:
|
/@rollup/pluginutils@4.2.1:
|
||||||
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
|
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
|
||||||
engines: {node: '>= 8.0.0'}
|
engines: {node: '>= 8.0.0'}
|
||||||
|
|
@ -1295,19 +1312,15 @@ packages:
|
||||||
|
|
||||||
/@tsconfig/node10@1.0.9:
|
/@tsconfig/node10@1.0.9:
|
||||||
resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
|
resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@tsconfig/node12@1.0.11:
|
/@tsconfig/node12@1.0.11:
|
||||||
resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
|
resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@tsconfig/node14@1.0.3:
|
/@tsconfig/node14@1.0.3:
|
||||||
resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
|
resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@tsconfig/node16@1.0.4:
|
/@tsconfig/node16@1.0.4:
|
||||||
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
|
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@types/chai-subset@1.3.3:
|
/@types/chai-subset@1.3.3:
|
||||||
resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
|
resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
|
||||||
|
|
@ -1351,8 +1364,8 @@ packages:
|
||||||
resolution: {integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==}
|
resolution: {integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin@5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@4.9.5):
|
/@typescript-eslint/eslint-plugin@5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.43.0)(typescript@4.9.5):
|
||||||
resolution: {integrity: sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==}
|
resolution: {integrity: sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@typescript-eslint/parser': ^5.0.0
|
'@typescript-eslint/parser': ^5.0.0
|
||||||
|
|
@ -1363,10 +1376,10 @@ packages:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.5.0
|
'@eslint-community/regexpp': 4.5.0
|
||||||
'@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@4.9.5)
|
'@typescript-eslint/parser': 5.60.1(eslint@8.43.0)(typescript@4.9.5)
|
||||||
'@typescript-eslint/scope-manager': 5.60.0
|
'@typescript-eslint/scope-manager': 5.60.1
|
||||||
'@typescript-eslint/type-utils': 5.60.0(eslint@8.43.0)(typescript@4.9.5)
|
'@typescript-eslint/type-utils': 5.60.1(eslint@8.43.0)(typescript@4.9.5)
|
||||||
'@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@4.9.5)
|
'@typescript-eslint/utils': 5.60.1(eslint@8.43.0)(typescript@4.9.5)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.43.0
|
eslint: 8.43.0
|
||||||
grapheme-splitter: 1.0.4
|
grapheme-splitter: 1.0.4
|
||||||
|
|
@ -1379,8 +1392,8 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@4.9.5):
|
/@typescript-eslint/parser@5.60.1(eslint@8.43.0)(typescript@4.9.5):
|
||||||
resolution: {integrity: sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==}
|
resolution: {integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||||
|
|
@ -1389,9 +1402,9 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 5.60.0
|
'@typescript-eslint/scope-manager': 5.60.1
|
||||||
'@typescript-eslint/types': 5.60.0
|
'@typescript-eslint/types': 5.60.1
|
||||||
'@typescript-eslint/typescript-estree': 5.60.0(typescript@4.9.5)
|
'@typescript-eslint/typescript-estree': 5.60.1(typescript@4.9.5)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.43.0
|
eslint: 8.43.0
|
||||||
typescript: 4.9.5
|
typescript: 4.9.5
|
||||||
|
|
@ -1399,16 +1412,16 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/scope-manager@5.60.0:
|
/@typescript-eslint/scope-manager@5.60.1:
|
||||||
resolution: {integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==}
|
resolution: {integrity: sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 5.60.0
|
'@typescript-eslint/types': 5.60.1
|
||||||
'@typescript-eslint/visitor-keys': 5.60.0
|
'@typescript-eslint/visitor-keys': 5.60.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/type-utils@5.60.0(eslint@8.43.0)(typescript@4.9.5):
|
/@typescript-eslint/type-utils@5.60.1(eslint@8.43.0)(typescript@4.9.5):
|
||||||
resolution: {integrity: sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==}
|
resolution: {integrity: sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '*'
|
eslint: '*'
|
||||||
|
|
@ -1417,8 +1430,8 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 5.60.0(typescript@4.9.5)
|
'@typescript-eslint/typescript-estree': 5.60.1(typescript@4.9.5)
|
||||||
'@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@4.9.5)
|
'@typescript-eslint/utils': 5.60.1(eslint@8.43.0)(typescript@4.9.5)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.43.0
|
eslint: 8.43.0
|
||||||
tsutils: 3.21.0(typescript@4.9.5)
|
tsutils: 3.21.0(typescript@4.9.5)
|
||||||
|
|
@ -1427,13 +1440,13 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/types@5.60.0:
|
/@typescript-eslint/types@5.60.1:
|
||||||
resolution: {integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==}
|
resolution: {integrity: sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/typescript-estree@5.60.0(typescript@4.9.5):
|
/@typescript-eslint/typescript-estree@5.60.1(typescript@4.9.5):
|
||||||
resolution: {integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==}
|
resolution: {integrity: sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '*'
|
typescript: '*'
|
||||||
|
|
@ -1441,8 +1454,8 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 5.60.0
|
'@typescript-eslint/types': 5.60.1
|
||||||
'@typescript-eslint/visitor-keys': 5.60.0
|
'@typescript-eslint/visitor-keys': 5.60.1
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
|
|
@ -1453,8 +1466,8 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/utils@5.60.0(eslint@8.43.0)(typescript@4.9.5):
|
/@typescript-eslint/utils@5.60.1(eslint@8.43.0)(typescript@4.9.5):
|
||||||
resolution: {integrity: sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==}
|
resolution: {integrity: sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||||
|
|
@ -1462,9 +1475,9 @@ packages:
|
||||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
|
'@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
|
||||||
'@types/json-schema': 7.0.12
|
'@types/json-schema': 7.0.12
|
||||||
'@types/semver': 7.5.0
|
'@types/semver': 7.5.0
|
||||||
'@typescript-eslint/scope-manager': 5.60.0
|
'@typescript-eslint/scope-manager': 5.60.1
|
||||||
'@typescript-eslint/types': 5.60.0
|
'@typescript-eslint/types': 5.60.1
|
||||||
'@typescript-eslint/typescript-estree': 5.60.0(typescript@4.9.5)
|
'@typescript-eslint/typescript-estree': 5.60.1(typescript@4.9.5)
|
||||||
eslint: 8.43.0
|
eslint: 8.43.0
|
||||||
eslint-scope: 5.1.1
|
eslint-scope: 5.1.1
|
||||||
semver: 7.3.8
|
semver: 7.3.8
|
||||||
|
|
@ -1473,11 +1486,11 @@ packages:
|
||||||
- typescript
|
- typescript
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/visitor-keys@5.60.0:
|
/@typescript-eslint/visitor-keys@5.60.1:
|
||||||
resolution: {integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==}
|
resolution: {integrity: sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 5.60.0
|
'@typescript-eslint/types': 5.60.1
|
||||||
eslint-visitor-keys: 3.4.1
|
eslint-visitor-keys: 3.4.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
|
@ -1517,7 +1530,6 @@ packages:
|
||||||
/acorn-walk@8.2.0:
|
/acorn-walk@8.2.0:
|
||||||
resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
|
resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/acorn@8.8.1:
|
/acorn@8.8.1:
|
||||||
resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
|
resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
|
||||||
|
|
@ -1529,7 +1541,6 @@ packages:
|
||||||
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
|
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
|
||||||
|
|
||||||
/acorn@8.9.0:
|
/acorn@8.9.0:
|
||||||
resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==}
|
resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==}
|
||||||
|
|
@ -1567,6 +1578,9 @@ packages:
|
||||||
color-convert: 2.0.1
|
color-convert: 2.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/any-promise@1.3.0:
|
||||||
|
resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
|
||||||
|
|
||||||
/anymatch@3.1.3:
|
/anymatch@3.1.3:
|
||||||
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
|
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
|
|
@ -1588,7 +1602,9 @@ packages:
|
||||||
|
|
||||||
/arg@4.1.3:
|
/arg@4.1.3:
|
||||||
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
|
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
|
||||||
dev: true
|
|
||||||
|
/arg@5.0.2:
|
||||||
|
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
|
||||||
|
|
||||||
/argparse@2.0.1:
|
/argparse@2.0.1:
|
||||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||||
|
|
@ -1646,7 +1662,6 @@ packages:
|
||||||
|
|
||||||
/balanced-match@1.0.2:
|
/balanced-match@1.0.2:
|
||||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/bignumber.js@2.4.0:
|
/bignumber.js@2.4.0:
|
||||||
resolution: {integrity: sha512-uw4ra6Cv483Op/ebM0GBKKfxZlSmn6NgFRby5L3yGTlunLj53KQgndDlqy2WVFOwgvurocApYkSud0aO+mvrpQ==}
|
resolution: {integrity: sha512-uw4ra6Cv483Op/ebM0GBKKfxZlSmn6NgFRby5L3yGTlunLj53KQgndDlqy2WVFOwgvurocApYkSud0aO+mvrpQ==}
|
||||||
|
|
@ -1667,7 +1682,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
balanced-match: 1.0.2
|
balanced-match: 1.0.2
|
||||||
concat-map: 0.0.1
|
concat-map: 0.0.1
|
||||||
dev: true
|
|
||||||
|
|
||||||
/braces@3.0.2:
|
/braces@3.0.2:
|
||||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
||||||
|
|
@ -1712,6 +1726,10 @@ packages:
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/camelcase-css@2.0.1:
|
||||||
|
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
|
||||||
/caniuse-lite@1.0.30001481:
|
/caniuse-lite@1.0.30001481:
|
||||||
resolution: {integrity: sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==}
|
resolution: {integrity: sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
@ -1768,10 +1786,21 @@ packages:
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/class-variance-authority@0.6.1:
|
||||||
|
resolution: {integrity: sha512-eurOEGc7YVx3majOrOb099PNKgO3KnKSApOprXI4BTq6bcfbqbQXPN2u+rPPmIJ2di23bMwhk0SxCCthBmszEQ==}
|
||||||
|
dependencies:
|
||||||
|
clsx: 1.2.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/classnames@2.3.2:
|
/classnames@2.3.2:
|
||||||
resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==}
|
resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/clsx@1.2.1:
|
||||||
|
resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/color-convert@2.0.1:
|
/color-convert@2.0.1:
|
||||||
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
||||||
engines: {node: '>=7.0.0'}
|
engines: {node: '>=7.0.0'}
|
||||||
|
|
@ -1795,9 +1824,12 @@ packages:
|
||||||
delayed-stream: 1.0.0
|
delayed-stream: 1.0.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/commander@4.1.1:
|
||||||
|
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
|
||||||
/concat-map@0.0.1:
|
/concat-map@0.0.1:
|
||||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/console-control-strings@1.1.0:
|
/console-control-strings@1.1.0:
|
||||||
resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
|
resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
|
||||||
|
|
@ -1814,7 +1846,6 @@ packages:
|
||||||
|
|
||||||
/create-require@1.1.1:
|
/create-require@1.1.1:
|
||||||
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
|
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/cross-spawn@7.0.3:
|
/cross-spawn@7.0.3:
|
||||||
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
|
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
|
||||||
|
|
@ -1864,7 +1895,6 @@ packages:
|
||||||
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
|
||||||
|
|
||||||
/debug@4.3.4:
|
/debug@4.3.4:
|
||||||
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
||||||
|
|
@ -1914,10 +1944,12 @@ packages:
|
||||||
/devalue@4.3.1:
|
/devalue@4.3.1:
|
||||||
resolution: {integrity: sha512-Kc0TSP9IUU9eg55au5Q3YtqaYI2cgntVpunJV9Exbm9nvlBeTE5p2NqYHfpuXK6+VF2hF5PI+BPFPUti7e2N1g==}
|
resolution: {integrity: sha512-Kc0TSP9IUU9eg55au5Q3YtqaYI2cgntVpunJV9Exbm9nvlBeTE5p2NqYHfpuXK6+VF2hF5PI+BPFPUti7e2N1g==}
|
||||||
|
|
||||||
|
/didyoumean@1.2.2:
|
||||||
|
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
|
||||||
|
|
||||||
/diff@4.0.2:
|
/diff@4.0.2:
|
||||||
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
|
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
|
||||||
engines: {node: '>=0.3.1'}
|
engines: {node: '>=0.3.1'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/dir-glob@3.0.1:
|
/dir-glob@3.0.1:
|
||||||
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
|
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
|
||||||
|
|
@ -1926,6 +1958,9 @@ packages:
|
||||||
path-type: 4.0.0
|
path-type: 4.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/dlv@1.1.3:
|
||||||
|
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
|
||||||
|
|
||||||
/doctrine@3.0.0:
|
/doctrine@3.0.0:
|
||||||
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
|
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
|
||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
|
|
@ -2182,7 +2217,6 @@ packages:
|
||||||
glob-parent: 5.1.2
|
glob-parent: 5.1.2
|
||||||
merge2: 1.4.1
|
merge2: 1.4.1
|
||||||
micromatch: 4.0.5
|
micromatch: 4.0.5
|
||||||
dev: true
|
|
||||||
|
|
||||||
/fast-json-stable-stringify@2.1.0:
|
/fast-json-stable-stringify@2.1.0:
|
||||||
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
|
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
|
||||||
|
|
@ -2196,7 +2230,6 @@ packages:
|
||||||
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
|
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
reusify: 1.0.4
|
reusify: 1.0.4
|
||||||
dev: true
|
|
||||||
|
|
||||||
/feather-icons@4.29.0:
|
/feather-icons@4.29.0:
|
||||||
resolution: {integrity: sha512-Y7VqN9FYb8KdaSF0qD1081HCkm0v4Eq/fpfQYQnubpqi0hXx14k+gF9iqtRys1SIcTEi97xDi/fmsPFZ8xo0GQ==}
|
resolution: {integrity: sha512-Y7VqN9FYb8KdaSF0qD1081HCkm0v4Eq/fpfQYQnubpqi0hXx14k+gF9iqtRys1SIcTEi97xDi/fmsPFZ8xo0GQ==}
|
||||||
|
|
@ -2278,7 +2311,6 @@ packages:
|
||||||
|
|
||||||
/fs.realpath@1.0.0:
|
/fs.realpath@1.0.0:
|
||||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/fsevents@2.3.2:
|
/fsevents@2.3.2:
|
||||||
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
|
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
|
||||||
|
|
@ -2289,7 +2321,6 @@ packages:
|
||||||
|
|
||||||
/function-bind@1.1.1:
|
/function-bind@1.1.1:
|
||||||
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/gauge@3.0.2:
|
/gauge@3.0.2:
|
||||||
resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
|
resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
|
||||||
|
|
@ -2321,7 +2352,16 @@ packages:
|
||||||
engines: {node: '>=10.13.0'}
|
engines: {node: '>=10.13.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
dev: true
|
|
||||||
|
/glob@7.1.6:
|
||||||
|
resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
|
||||||
|
dependencies:
|
||||||
|
fs.realpath: 1.0.0
|
||||||
|
inflight: 1.0.6
|
||||||
|
inherits: 2.0.4
|
||||||
|
minimatch: 3.1.2
|
||||||
|
once: 1.4.0
|
||||||
|
path-is-absolute: 1.0.1
|
||||||
|
|
||||||
/glob@7.2.3:
|
/glob@7.2.3:
|
||||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||||
|
|
@ -2379,7 +2419,6 @@ packages:
|
||||||
engines: {node: '>= 0.4.0'}
|
engines: {node: '>= 0.4.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
function-bind: 1.1.1
|
function-bind: 1.1.1
|
||||||
dev: true
|
|
||||||
|
|
||||||
/https-proxy-agent@5.0.1:
|
/https-proxy-agent@5.0.1:
|
||||||
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
|
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
|
||||||
|
|
@ -2432,7 +2471,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
once: 1.4.0
|
once: 1.4.0
|
||||||
wrappy: 1.0.2
|
wrappy: 1.0.2
|
||||||
dev: true
|
|
||||||
|
|
||||||
/inherits@2.0.4:
|
/inherits@2.0.4:
|
||||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||||
|
|
@ -2447,7 +2485,6 @@ packages:
|
||||||
resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
|
resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
has: 1.0.3
|
has: 1.0.3
|
||||||
dev: true
|
|
||||||
|
|
||||||
/is-extglob@2.1.1:
|
/is-extglob@2.1.1:
|
||||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||||
|
|
@ -2482,6 +2519,10 @@ packages:
|
||||||
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/jiti@1.18.2:
|
||||||
|
resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
/js-yaml@4.1.0:
|
/js-yaml@4.1.0:
|
||||||
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
@ -2528,7 +2569,13 @@ packages:
|
||||||
/lilconfig@2.0.6:
|
/lilconfig@2.0.6:
|
||||||
resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
|
resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dev: true
|
|
||||||
|
/lilconfig@2.1.0:
|
||||||
|
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
|
/lines-and-columns@1.2.4:
|
||||||
|
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
|
||||||
|
|
||||||
/loader@2.1.1:
|
/loader@2.1.1:
|
||||||
resolution: {integrity: sha512-Z6nHbyKiECMexVUmpIAVXp+f+8okRtfiMAQ9j0eTtImCghxSqQwrbeSiAyCYKBnfvRlgXLdQt0tPuaZmcBQzpw==}
|
resolution: {integrity: sha512-Z6nHbyKiECMexVUmpIAVXp+f+8okRtfiMAQ9j0eTtImCghxSqQwrbeSiAyCYKBnfvRlgXLdQt0tPuaZmcBQzpw==}
|
||||||
|
|
@ -2582,6 +2629,14 @@ packages:
|
||||||
resolution: {integrity: sha512-zI8gT2AOpxTPIxYzToEdgoht+GOflrduZiHPsOEmg4/2pThOyCW3o3lXh+Uwh20tJ9QoXwQe9/Omn6PlUG6efw==}
|
resolution: {integrity: sha512-zI8gT2AOpxTPIxYzToEdgoht+GOflrduZiHPsOEmg4/2pThOyCW3o3lXh+Uwh20tJ9QoXwQe9/Omn6PlUG6efw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/lucide-svelte@0.256.0(svelte@3.59.2):
|
||||||
|
resolution: {integrity: sha512-F1XMEOV+uyVbGygzojz0ly7pa+fQb0l1uxc6g1MDZQBoqo4LPgqTdaDWMkpH+YEsIsA3OIs7PEcTs9AZmTaIXQ==}
|
||||||
|
peerDependencies:
|
||||||
|
svelte: ^3.49.0
|
||||||
|
dependencies:
|
||||||
|
svelte: 3.59.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
/magic-string@0.25.9:
|
/magic-string@0.25.9:
|
||||||
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
|
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
@ -2610,12 +2665,10 @@ packages:
|
||||||
|
|
||||||
/make-error@1.3.6:
|
/make-error@1.3.6:
|
||||||
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
|
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/merge2@1.4.1:
|
/merge2@1.4.1:
|
||||||
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/micromatch@4.0.5:
|
/micromatch@4.0.5:
|
||||||
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
|
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
|
||||||
|
|
@ -2623,7 +2676,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
braces: 3.0.2
|
braces: 3.0.2
|
||||||
picomatch: 2.3.1
|
picomatch: 2.3.1
|
||||||
dev: true
|
|
||||||
|
|
||||||
/mime-db@1.52.0:
|
/mime-db@1.52.0:
|
||||||
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
|
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
|
||||||
|
|
@ -2651,7 +2703,6 @@ packages:
|
||||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion: 1.1.11
|
brace-expansion: 1.1.11
|
||||||
dev: true
|
|
||||||
|
|
||||||
/minimist@1.2.7:
|
/minimist@1.2.7:
|
||||||
resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==}
|
resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==}
|
||||||
|
|
@ -2703,6 +2754,13 @@ packages:
|
||||||
/ms@2.1.2:
|
/ms@2.1.2:
|
||||||
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
|
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
|
||||||
|
|
||||||
|
/mz@2.7.0:
|
||||||
|
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
|
||||||
|
dependencies:
|
||||||
|
any-promise: 1.3.0
|
||||||
|
object-assign: 4.1.1
|
||||||
|
thenify-all: 1.6.0
|
||||||
|
|
||||||
/nanoid@3.3.6:
|
/nanoid@3.3.6:
|
||||||
resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
|
resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
|
||||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||||
|
|
@ -2770,13 +2828,15 @@ packages:
|
||||||
/object-assign@4.1.1:
|
/object-assign@4.1.1:
|
||||||
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
|
||||||
|
/object-hash@3.0.0:
|
||||||
|
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
|
||||||
/once@1.4.0:
|
/once@1.4.0:
|
||||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||||
dependencies:
|
dependencies:
|
||||||
wrappy: 1.0.2
|
wrappy: 1.0.2
|
||||||
dev: true
|
|
||||||
|
|
||||||
/open-props@1.5.10:
|
/open-props@1.5.10:
|
||||||
resolution: {integrity: sha512-iE+B7Zo0ytgeUNI38uHiBrxF5Nnv3uX8AzogBXzf7wqeNyG6oqQEEBs1gnAZdRF+h7IRO0zOGM5d9/huiNFR+w==}
|
resolution: {integrity: sha512-iE+B7Zo0ytgeUNI38uHiBrxF5Nnv3uX8AzogBXzf7wqeNyG6oqQEEBs1gnAZdRF+h7IRO0zOGM5d9/huiNFR+w==}
|
||||||
|
|
@ -2823,7 +2883,6 @@ packages:
|
||||||
/path-is-absolute@1.0.1:
|
/path-is-absolute@1.0.1:
|
||||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/path-key@3.1.1:
|
/path-key@3.1.1:
|
||||||
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
||||||
|
|
@ -2832,7 +2891,6 @@ packages:
|
||||||
|
|
||||||
/path-parse@1.0.7:
|
/path-parse@1.0.7:
|
||||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/path-type@4.0.0:
|
/path-type@4.0.0:
|
||||||
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
|
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
|
||||||
|
|
@ -2853,7 +2911,10 @@ packages:
|
||||||
/pify@2.3.0:
|
/pify@2.3.0:
|
||||||
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
|
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
|
||||||
|
/pirates@4.0.6:
|
||||||
|
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
|
||||||
/playwright-core@1.35.1:
|
/playwright-core@1.35.1:
|
||||||
resolution: {integrity: sha512-pNXb6CQ7OqmGDRspEjlxE49w+4YtR6a3X6mT1hZXeJHWmsEz7SunmvZeiG/+y1yyMZdHnnn73WKYdtV1er0Xyg==}
|
resolution: {integrity: sha512-pNXb6CQ7OqmGDRspEjlxE49w+4YtR6a3X6mT1hZXeJHWmsEz7SunmvZeiG/+y1yyMZdHnnn73WKYdtV1er0Xyg==}
|
||||||
|
|
@ -3029,7 +3090,6 @@ packages:
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
read-cache: 1.0.0
|
read-cache: 1.0.0
|
||||||
resolve: 1.22.1
|
resolve: 1.22.1
|
||||||
dev: true
|
|
||||||
|
|
||||||
/postcss-initial@4.0.1(postcss@8.4.24):
|
/postcss-initial@4.0.1(postcss@8.4.24):
|
||||||
resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==}
|
resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==}
|
||||||
|
|
@ -3039,6 +3099,15 @@ packages:
|
||||||
postcss: 8.4.24
|
postcss: 8.4.24
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/postcss-js@4.0.1(postcss@8.4.24):
|
||||||
|
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
|
||||||
|
engines: {node: ^12 || ^14 || >= 16}
|
||||||
|
peerDependencies:
|
||||||
|
postcss: ^8.4.21
|
||||||
|
dependencies:
|
||||||
|
camelcase-css: 2.0.1
|
||||||
|
postcss: 8.4.24
|
||||||
|
|
||||||
/postcss-lab-function@5.2.3(postcss@8.4.24):
|
/postcss-lab-function@5.2.3(postcss@8.4.24):
|
||||||
resolution: {integrity: sha512-fi32AYKzji5/rvgxo5zXHFvAYBw0u0OzELbeCNjEZVLUir18Oj+9RmNphtM8QdLUaUnrfx8zy8vVYLmFLkdmrQ==}
|
resolution: {integrity: sha512-fi32AYKzji5/rvgxo5zXHFvAYBw0u0OzELbeCNjEZVLUir18Oj+9RmNphtM8QdLUaUnrfx8zy8vVYLmFLkdmrQ==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
|
|
@ -3064,7 +3133,7 @@ packages:
|
||||||
ts-node:
|
ts-node:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
lilconfig: 2.0.6
|
lilconfig: 2.1.0
|
||||||
postcss: 8.4.24
|
postcss: 8.4.24
|
||||||
ts-node: 10.9.1(@types/node@18.16.18)(typescript@4.9.5)
|
ts-node: 10.9.1(@types/node@18.16.18)(typescript@4.9.5)
|
||||||
yaml: 1.10.2
|
yaml: 1.10.2
|
||||||
|
|
@ -3086,7 +3155,6 @@ packages:
|
||||||
postcss: 8.4.24
|
postcss: 8.4.24
|
||||||
ts-node: 10.9.1(@types/node@18.16.18)(typescript@4.9.5)
|
ts-node: 10.9.1(@types/node@18.16.18)(typescript@4.9.5)
|
||||||
yaml: 2.1.3
|
yaml: 2.1.3
|
||||||
dev: true
|
|
||||||
|
|
||||||
/postcss-logical@6.2.0(postcss@8.4.24):
|
/postcss-logical@6.2.0(postcss@8.4.24):
|
||||||
resolution: {integrity: sha512-aqlfKGaY0nnbgI9jwUikp4gJKBqcH5noU/EdnIVceghaaDPYhZuyJVxlvWNy55tlTG5tunRKCTAX9yljLiFgmw==}
|
resolution: {integrity: sha512-aqlfKGaY0nnbgI9jwUikp4gJKBqcH5noU/EdnIVceghaaDPYhZuyJVxlvWNy55tlTG5tunRKCTAX9yljLiFgmw==}
|
||||||
|
|
@ -3098,6 +3166,15 @@ packages:
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/postcss-nested@6.0.1(postcss@8.4.24):
|
||||||
|
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
|
||||||
|
engines: {node: '>=12.0'}
|
||||||
|
peerDependencies:
|
||||||
|
postcss: ^8.2.14
|
||||||
|
dependencies:
|
||||||
|
postcss: 8.4.24
|
||||||
|
postcss-selector-parser: 6.0.13
|
||||||
|
|
||||||
/postcss-nesting@11.3.0(postcss@8.4.24):
|
/postcss-nesting@11.3.0(postcss@8.4.24):
|
||||||
resolution: {integrity: sha512-JlS10AQm/RzyrUGgl5irVkAlZYTJ99mNueUl+Qab+TcHhVedLiylWVkKBhRale+rS9yWIJK48JVzQlq3LcSdeA==}
|
resolution: {integrity: sha512-JlS10AQm/RzyrUGgl5irVkAlZYTJ99mNueUl+Qab+TcHhVedLiylWVkKBhRale+rS9yWIJK48JVzQlq3LcSdeA==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
|
|
@ -3263,11 +3340,9 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
cssesc: 3.0.0
|
cssesc: 3.0.0
|
||||||
util-deprecate: 1.0.2
|
util-deprecate: 1.0.2
|
||||||
dev: true
|
|
||||||
|
|
||||||
/postcss-value-parser@4.2.0:
|
/postcss-value-parser@4.2.0:
|
||||||
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
|
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/postcss@8.4.24:
|
/postcss@8.4.24:
|
||||||
resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
|
resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
|
||||||
|
|
@ -3326,13 +3401,21 @@ packages:
|
||||||
|
|
||||||
/queue-microtask@1.2.3:
|
/queue-microtask@1.2.3:
|
||||||
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||||
dev: true
|
|
||||||
|
/radix-svelte@0.8.0(svelte@3.59.2):
|
||||||
|
resolution: {integrity: sha512-VweSd96EiLCml9wA6krPQFxyZfci+A7phAPl9J6QH4nivKroFV2EUSGo9wAnqM2u04nI2mxGKa+wfMhNy84GVg==}
|
||||||
|
peerDependencies:
|
||||||
|
svelte: ^3.58.0
|
||||||
|
dependencies:
|
||||||
|
'@floating-ui/core': 1.3.1
|
||||||
|
'@floating-ui/dom': 1.4.2
|
||||||
|
svelte: 3.59.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
/read-cache@1.0.0:
|
/read-cache@1.0.0:
|
||||||
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
|
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
pify: 2.3.0
|
pify: 2.3.0
|
||||||
dev: true
|
|
||||||
|
|
||||||
/readable-stream@3.6.0:
|
/readable-stream@3.6.0:
|
||||||
resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
|
resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
|
||||||
|
|
@ -3369,12 +3452,18 @@ packages:
|
||||||
is-core-module: 2.12.1
|
is-core-module: 2.12.1
|
||||||
path-parse: 1.0.7
|
path-parse: 1.0.7
|
||||||
supports-preserve-symlinks-flag: 1.0.0
|
supports-preserve-symlinks-flag: 1.0.0
|
||||||
dev: true
|
|
||||||
|
/resolve@1.22.2:
|
||||||
|
resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
is-core-module: 2.12.1
|
||||||
|
path-parse: 1.0.7
|
||||||
|
supports-preserve-symlinks-flag: 1.0.0
|
||||||
|
|
||||||
/reusify@1.0.4:
|
/reusify@1.0.4:
|
||||||
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
|
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
|
||||||
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/rimraf@2.7.1:
|
/rimraf@2.7.1:
|
||||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||||
|
|
@ -3401,7 +3490,6 @@ packages:
|
||||||
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
queue-microtask: 1.2.3
|
queue-microtask: 1.2.3
|
||||||
dev: true
|
|
||||||
|
|
||||||
/sade@1.8.1:
|
/sade@1.8.1:
|
||||||
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
|
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
|
||||||
|
|
@ -3569,6 +3657,19 @@ packages:
|
||||||
acorn: 8.8.1
|
acorn: 8.8.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/sucrase@3.32.0:
|
||||||
|
resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
'@jridgewell/gen-mapping': 0.3.3
|
||||||
|
commander: 4.1.1
|
||||||
|
glob: 7.1.6
|
||||||
|
lines-and-columns: 1.2.4
|
||||||
|
mz: 2.7.0
|
||||||
|
pirates: 4.0.6
|
||||||
|
ts-interface-checker: 0.1.13
|
||||||
|
|
||||||
/supports-color@7.2.0:
|
/supports-color@7.2.0:
|
||||||
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
@ -3579,7 +3680,6 @@ packages:
|
||||||
/supports-preserve-symlinks-flag@1.0.0:
|
/supports-preserve-symlinks-flag@1.0.0:
|
||||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/svelte-check@2.10.3(postcss-load-config@4.0.1)(postcss@8.4.24)(sass@1.63.6)(svelte@3.59.2):
|
/svelte-check@2.10.3(postcss-load-config@4.0.1)(postcss@8.4.24)(sass@1.63.6)(svelte@3.59.2):
|
||||||
resolution: {integrity: sha512-Nt1aWHTOKFReBpmJ1vPug0aGysqPwJh2seM1OvICfM2oeyaA62mOiy5EvkXhltGfhCcIQcq2LoE0l1CwcWPjlw==}
|
resolution: {integrity: sha512-Nt1aWHTOKFReBpmJ1vPug0aGysqPwJh2seM1OvICfM2oeyaA62mOiy5EvkXhltGfhCcIQcq2LoE0l1CwcWPjlw==}
|
||||||
|
|
@ -3787,6 +3887,49 @@ packages:
|
||||||
zod: 3.21.4
|
zod: 3.21.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/tailwind-merge@1.13.2:
|
||||||
|
resolution: {integrity: sha512-R2/nULkdg1VR/EL4RXg4dEohdoxNUJGLMnWIQnPKL+O9Twu7Cn3Rxi4dlXkDzZrEGtR+G+psSXFouWlpTyLhCQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/tailwindcss-animate@1.0.6(tailwindcss@3.3.2):
|
||||||
|
resolution: {integrity: sha512-4WigSGMvbl3gCCact62ZvOngA+PRqhAn7si3TQ3/ZuPuQZcIEtVap+ENSXbzWhpojKB8CpvnIsrwBu8/RnHtuw==}
|
||||||
|
peerDependencies:
|
||||||
|
tailwindcss: '>=3.0.0 || insiders'
|
||||||
|
dependencies:
|
||||||
|
tailwindcss: 3.3.2(ts-node@10.9.1)
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/tailwindcss@3.3.2(ts-node@10.9.1):
|
||||||
|
resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
'@alloc/quick-lru': 5.2.0
|
||||||
|
arg: 5.0.2
|
||||||
|
chokidar: 3.5.3
|
||||||
|
didyoumean: 1.2.2
|
||||||
|
dlv: 1.1.3
|
||||||
|
fast-glob: 3.2.12
|
||||||
|
glob-parent: 6.0.2
|
||||||
|
is-glob: 4.0.3
|
||||||
|
jiti: 1.18.2
|
||||||
|
lilconfig: 2.1.0
|
||||||
|
micromatch: 4.0.5
|
||||||
|
normalize-path: 3.0.0
|
||||||
|
object-hash: 3.0.0
|
||||||
|
picocolors: 1.0.0
|
||||||
|
postcss: 8.4.24
|
||||||
|
postcss-import: 15.1.0(postcss@8.4.24)
|
||||||
|
postcss-js: 4.0.1(postcss@8.4.24)
|
||||||
|
postcss-load-config: 4.0.1(postcss@8.4.24)(ts-node@10.9.1)
|
||||||
|
postcss-nested: 6.0.1(postcss@8.4.24)
|
||||||
|
postcss-selector-parser: 6.0.13
|
||||||
|
postcss-value-parser: 4.2.0
|
||||||
|
resolve: 1.22.2
|
||||||
|
sucrase: 3.32.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- ts-node
|
||||||
|
|
||||||
/tar@6.1.13:
|
/tar@6.1.13:
|
||||||
resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==}
|
resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
@ -3803,6 +3946,17 @@ packages:
|
||||||
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/thenify-all@1.6.0:
|
||||||
|
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
|
||||||
|
engines: {node: '>=0.8'}
|
||||||
|
dependencies:
|
||||||
|
thenify: 3.3.1
|
||||||
|
|
||||||
|
/thenify@3.3.1:
|
||||||
|
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
|
||||||
|
dependencies:
|
||||||
|
any-promise: 1.3.0
|
||||||
|
|
||||||
/tinybench@2.3.1:
|
/tinybench@2.3.1:
|
||||||
resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==}
|
resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
@ -3841,6 +3995,9 @@ packages:
|
||||||
resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==}
|
resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/ts-interface-checker@0.1.13:
|
||||||
|
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
|
||||||
|
|
||||||
/ts-node@10.9.1(@types/node@18.16.18)(typescript@4.9.5):
|
/ts-node@10.9.1(@types/node@18.16.18)(typescript@4.9.5):
|
||||||
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
|
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
@ -3870,14 +4027,13 @@ packages:
|
||||||
typescript: 4.9.5
|
typescript: 4.9.5
|
||||||
v8-compile-cache-lib: 3.0.1
|
v8-compile-cache-lib: 3.0.1
|
||||||
yn: 3.1.1
|
yn: 3.1.1
|
||||||
dev: true
|
|
||||||
|
|
||||||
/tslib@1.14.1:
|
/tslib@1.14.1:
|
||||||
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/tslib@2.5.3:
|
/tslib@2.6.0:
|
||||||
resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==}
|
resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/tsutils@3.21.0(typescript@4.9.5):
|
/tsutils@3.21.0(typescript@4.9.5):
|
||||||
|
|
@ -3911,7 +4067,6 @@ packages:
|
||||||
resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
|
resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
|
||||||
engines: {node: '>=4.2.0'}
|
engines: {node: '>=4.2.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
|
||||||
|
|
||||||
/undici@5.22.0:
|
/undici@5.22.0:
|
||||||
resolution: {integrity: sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==}
|
resolution: {integrity: sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==}
|
||||||
|
|
@ -3952,7 +4107,6 @@ packages:
|
||||||
|
|
||||||
/v8-compile-cache-lib@3.0.1:
|
/v8-compile-cache-lib@3.0.1:
|
||||||
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
|
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/vite@4.3.9(@types/node@18.16.18)(sass@1.63.6):
|
/vite@4.3.9(@types/node@18.16.18)(sass@1.63.6):
|
||||||
resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
|
resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
|
||||||
|
|
@ -4083,7 +4237,6 @@ packages:
|
||||||
|
|
||||||
/wrappy@1.0.2:
|
/wrappy@1.0.2:
|
||||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/yallist@4.0.0:
|
/yallist@4.0.0:
|
||||||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
||||||
|
|
@ -4097,20 +4250,18 @@ packages:
|
||||||
/yaml@2.1.3:
|
/yaml@2.1.3:
|
||||||
resolution: {integrity: sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==}
|
resolution: {integrity: sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==}
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/yn@3.1.1:
|
/yn@3.1.1:
|
||||||
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
|
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/yocto-queue@0.1.0:
|
/yocto-queue@0.1.0:
|
||||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/zod-to-json-schema@3.21.2(zod@3.21.4):
|
/zod-to-json-schema@3.21.3(zod@3.21.4):
|
||||||
resolution: {integrity: sha512-02yfKymfmIf2rM/5LYGlyw0daEel/f3MsSGMNJZWWf44ato+Y+diFugOpDtgvEUn3cYM5oDAGWW2NHeSD4mByw==}
|
resolution: {integrity: sha512-09W/9oyxeF1/wWnzCb6MursW+lOzgKi91QwE7eTBbC+t/qgfuLsUVDai3lHemSQnQu/UONAcT/fv3ZnDvbTeKg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
zod: ^3.21.4
|
zod: ^3.21.4
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,21 @@
|
||||||
|
const tailwindcss = require("tailwindcss");
|
||||||
|
const autoprefixer = require('autoprefixer');
|
||||||
const postcssPresetEnv = require('postcss-preset-env');
|
const postcssPresetEnv = require('postcss-preset-env');
|
||||||
const atImport = require('postcss-import');
|
const atImport = require('postcss-import');
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
plugins: [
|
plugins: [
|
||||||
|
tailwindcss(),
|
||||||
atImport(),
|
atImport(),
|
||||||
postcssPresetEnv({
|
postcssPresetEnv({
|
||||||
stage: 2,
|
stage: 2,
|
||||||
features: {
|
features: {
|
||||||
'nesting-rules': true,
|
'nesting-rules': true,
|
||||||
'custom-media-queries': true,
|
'custom-media-queries': true,
|
||||||
'media-query-ranges': true,
|
'media-query-ranges': true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
]
|
] //Some plugins, like tailwindcss/nesting, need to run before Tailwind, tailwindcss(), //But others, like autoprefixer, need to run after, autoprefixer]
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = config;
|
module.exports = config;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,91 @@
|
||||||
/* Write your global styles here, in PostCSS syntax */
|
/* Write your global styles here, in PostCSS syntax */
|
||||||
|
|
||||||
@import '@fontsource/fira-mono';
|
/* Write your global styles here, in PostCSS syntax */
|
||||||
|
|
||||||
|
/* @import '@fontsource/fira-mono'; */
|
||||||
|
|
||||||
|
@tailwind base;
|
||||||
|
@tailwind components;
|
||||||
|
@tailwind utilities;
|
||||||
|
|
||||||
|
@layer base {
|
||||||
|
:root {
|
||||||
|
--background: 0 0% 100%;
|
||||||
|
--foreground: 222.2 47.4% 11.2%;
|
||||||
|
|
||||||
|
--muted: 210 40% 96.1%;
|
||||||
|
--muted-foreground: 215.4 16.3% 46.9%;
|
||||||
|
|
||||||
|
--popover: 0 0% 100%;
|
||||||
|
--popover-foreground: 222.2 47.4% 11.2%;
|
||||||
|
|
||||||
|
--border: 214.3 31.8% 91.4%;
|
||||||
|
--input: 214.3 31.8% 91.4%;
|
||||||
|
|
||||||
|
--card: 0 0% 100%;
|
||||||
|
--card-foreground: 222.2 47.4% 11.2%;
|
||||||
|
|
||||||
|
--primary: 222.2 47.4% 11.2%;
|
||||||
|
--primary-foreground: 210 40% 98%;
|
||||||
|
|
||||||
|
--secondary: 210 40% 96.1%;
|
||||||
|
--secondary-foreground: 222.2 47.4% 11.2%;
|
||||||
|
|
||||||
|
--accent: 210 40% 96.1%;
|
||||||
|
--accent-foreground: 222.2 47.4% 11.2%;
|
||||||
|
|
||||||
|
--destructive: 0 92% 38%;
|
||||||
|
--destructive-foreground: 210 40% 98%;
|
||||||
|
|
||||||
|
--ring: 215 20.2% 65.1%;
|
||||||
|
|
||||||
|
--radius: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark {
|
||||||
|
--background: 224 71% 4%;
|
||||||
|
--foreground: 213 31% 91%;
|
||||||
|
|
||||||
|
--muted: 223 47% 11%;
|
||||||
|
--muted-foreground: 215.4 16.3% 56.9%;
|
||||||
|
|
||||||
|
--accent: 216 34% 17%;
|
||||||
|
--accent-foreground: 210 40% 98%;
|
||||||
|
|
||||||
|
--popover: 224 71% 4%;
|
||||||
|
--popover-foreground: 215 20.2% 65.1%;
|
||||||
|
|
||||||
|
--border: 216 34% 17%;
|
||||||
|
--input: 216 34% 17%;
|
||||||
|
|
||||||
|
--card: 224 71% 4%;
|
||||||
|
--card-foreground: 213 31% 91%;
|
||||||
|
|
||||||
|
--primary: 210 40% 98%;
|
||||||
|
--primary-foreground: 222.2 47.4% 1.2%;
|
||||||
|
|
||||||
|
--secondary: 222.2 47.4% 11.2%;
|
||||||
|
--secondary-foreground: 210 40% 98%;
|
||||||
|
|
||||||
|
--destructive: 359 51% 48%;
|
||||||
|
--destructive-foreground: 210 40% 98%;
|
||||||
|
|
||||||
|
--ring: 216 34% 17%;
|
||||||
|
|
||||||
|
--radius: 0.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@layer base {
|
||||||
|
* {
|
||||||
|
@apply border-border;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
@apply bg-background text-foreground;
|
||||||
|
font-feature-settings: 'rlig' 1, 'calt' 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
:root {
|
:root {
|
||||||
font-family: Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
|
font-family: Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
|
||||||
Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
||||||
|
|
@ -108,4 +192,4 @@ button:focus:not(:focus-visible) {
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 2.4rem;
|
font-size: 2.4rem;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { fade } from 'svelte/transition';
|
import { fade } from 'svelte/transition';
|
||||||
import {
|
// import {
|
||||||
Dialog,
|
// Dialog,
|
||||||
DialogDescription,
|
// DialogDescription,
|
||||||
DialogOverlay,
|
// DialogOverlay,
|
||||||
DialogTitle
|
// DialogTitle
|
||||||
} from '@rgossiaux/svelte-headlessui';
|
// } from '@rgossiaux/svelte-headlessui';
|
||||||
import { boredState } from '$lib/stores/boredState';
|
import { boredState } from '$lib/stores/boredState';
|
||||||
import { collectionStore } from '$lib/stores/collectionStore';
|
import { collectionStore } from '$lib/stores/collectionStore';
|
||||||
import { browser } from '$app/environment';
|
import { browser } from '$app/environment';
|
||||||
|
|
@ -21,18 +21,18 @@
|
||||||
$: isOpen = $boredState?.dialog?.isOpen;
|
$: isOpen = $boredState?.dialog?.isOpen;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Dialog
|
<!-- <Dialog
|
||||||
open={isOpen}
|
open={isOpen}
|
||||||
on:close={() => {
|
on:close={() => {
|
||||||
boredState.update((n) => ({ ...n, dialog: { isOpen: false } }));
|
boredState.update((n) => ({ ...n, dialog: { isOpen: false } }));
|
||||||
}}
|
}}
|
||||||
static
|
static
|
||||||
>
|
> -->
|
||||||
<div transition:fade>
|
<div transition:fade>
|
||||||
<DialogOverlay class="dialog-overlay" />
|
<!-- <DialogOverlay class="dialog-overlay" /> -->
|
||||||
<div class="dialog">
|
<div class="dialog">
|
||||||
<DialogTitle>Clear collection</DialogTitle>
|
<!-- <DialogTitle>Clear collection</DialogTitle> -->
|
||||||
<DialogDescription>Are you sure you want to clear your collection?</DialogDescription>
|
<!-- <DialogDescription>Are you sure you want to clear your collection?</DialogDescription> -->
|
||||||
|
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<button class="remove" on:click={clearCollection}>Clear</button>
|
<button class="remove" on:click={clearCollection}>Clear</button>
|
||||||
|
|
@ -44,7 +44,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Dialog>
|
<!-- </Dialog> -->
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.dialog {
|
.dialog {
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { type SvelteComponent, createEventDispatcher } from 'svelte';
|
import { type SvelteComponent, createEventDispatcher } from 'svelte';
|
||||||
import { fade } from 'svelte/transition';
|
import { fade } from 'svelte/transition';
|
||||||
import {
|
// import {
|
||||||
Dialog,
|
// Dialog,
|
||||||
DialogDescription,
|
// DialogDescription,
|
||||||
DialogOverlay,
|
// DialogOverlay,
|
||||||
DialogTitle
|
// DialogTitle
|
||||||
} from '@rgossiaux/svelte-headlessui';
|
// } from '@rgossiaux/svelte-headlessui';
|
||||||
import { boredState } from '$lib/stores/boredState';
|
import { boredState } from '$lib/stores/boredState';
|
||||||
|
|
||||||
export let title: string;
|
export let title: string;
|
||||||
|
|
@ -25,19 +25,19 @@
|
||||||
$: isOpen = $boredState?.dialog?.isOpen;
|
$: isOpen = $boredState?.dialog?.isOpen;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Dialog
|
<!-- <Dialog
|
||||||
open={isOpen}
|
open={isOpen}
|
||||||
on:close={() => {
|
on:close={() => {
|
||||||
dispatch('close');
|
dispatch('close');
|
||||||
}}
|
}}
|
||||||
static
|
static
|
||||||
>
|
> -->
|
||||||
<div transition:fade>
|
<div transition:fade>
|
||||||
<DialogOverlay class="dialog-overlay" />
|
<!-- <DialogOverlay class="dialog-overlay" /> -->
|
||||||
<div class="dialog">
|
<div class="dialog">
|
||||||
<DialogTitle>{title}</DialogTitle>
|
<!-- <DialogTitle>{title}</DialogTitle> -->
|
||||||
{#if description}
|
{#if description}
|
||||||
<DialogDescription>{description}</DialogDescription>
|
<!-- <DialogDescription>{description}</DialogDescription> -->
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
|
|
@ -72,7 +72,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Dialog>
|
<!-- </Dialog> -->
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.dialog {
|
.dialog {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,16 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { fade } from 'svelte/transition';
|
import { fade } from 'svelte/transition';
|
||||||
|
// import { Button, buttonVariants } from '$components/ui/button';
|
||||||
|
import { Button, buttonVariants } from '$components/ui/button';
|
||||||
import {
|
import {
|
||||||
Dialog,
|
Dialog,
|
||||||
DialogDescription,
|
DialogContent,
|
||||||
DialogOverlay,
|
DialogDescription,
|
||||||
DialogTitle
|
DialogFooter,
|
||||||
} from '@rgossiaux/svelte-headlessui';
|
DialogHeader,
|
||||||
|
DialogTitle,
|
||||||
|
DialogTrigger
|
||||||
|
} from '$components/ui/dialog';
|
||||||
import { boredState } from '$lib/stores/boredState';
|
import { boredState } from '$lib/stores/boredState';
|
||||||
import { collectionStore } from '$lib/stores/collectionStore';
|
import { collectionStore } from '$lib/stores/collectionStore';
|
||||||
import { removeFromCollection } from '$lib/util/manipulateCollection';
|
import { removeFromCollection } from '$lib/util/manipulateCollection';
|
||||||
|
|
@ -24,7 +29,35 @@
|
||||||
$: isOpen = $boredState?.dialog?.isOpen;
|
$: isOpen = $boredState?.dialog?.isOpen;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Dialog
|
<Dialog modal={true}>
|
||||||
|
<DialogTrigger class={buttonVariants({ variant: "outline" })}>
|
||||||
|
Remove from collection
|
||||||
|
</DialogTrigger>
|
||||||
|
<DialogContent class="sm:max-w-[425px]">
|
||||||
|
<DialogHeader>
|
||||||
|
<DialogTitle>Remove from collection</DialogTitle>
|
||||||
|
<DialogDescription>
|
||||||
|
Are you sure you want to remove from your collection?
|
||||||
|
</DialogDescription>
|
||||||
|
</DialogHeader>
|
||||||
|
<div class="grid gap-4 py-4">
|
||||||
|
<div class="grid grid-cols-4 items-center gap-4">
|
||||||
|
<Label class="text-right">Name</Label>
|
||||||
|
<Input id="name" value="Pedro Duarte" class="col-span-3" />
|
||||||
|
</div>
|
||||||
|
<div class="grid grid-cols-4 items-center gap-4">
|
||||||
|
<Label class="text-right">Username</Label>
|
||||||
|
<Input id="username" value="@peduarte" class="col-span-3" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<DialogFooter>
|
||||||
|
<Button type="submit">Remove</Button>
|
||||||
|
</DialogFooter>
|
||||||
|
</DialogContent>
|
||||||
|
</Dialog>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <Dialog
|
||||||
open={isOpen}
|
open={isOpen}
|
||||||
on:close={() => {
|
on:close={() => {
|
||||||
boredState.update((n) => ({ ...n, dialog: { isOpen: false } }));
|
boredState.update((n) => ({ ...n, dialog: { isOpen: false } }));
|
||||||
|
|
@ -47,7 +80,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Dialog>
|
</Dialog> -->
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.dialog {
|
.dialog {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { fade } from 'svelte/transition';
|
import { fade } from 'svelte/transition';
|
||||||
import {
|
// import {
|
||||||
Dialog,
|
// Dialog,
|
||||||
DialogDescription,
|
// DialogDescription,
|
||||||
DialogOverlay,
|
// DialogOverlay,
|
||||||
DialogTitle
|
// DialogTitle
|
||||||
} from '@rgossiaux/svelte-headlessui';
|
// } from '@rgossiaux/svelte-headlessui';
|
||||||
import { boredState } from '$lib/stores/boredState';
|
import { boredState } from '$lib/stores/boredState';
|
||||||
import { wishlistStore } from '$lib/stores/wishlistStore';
|
import { wishlistStore } from '$lib/stores/wishlistStore';
|
||||||
import { removeFromWishlist } from '$lib/util/manipulateWishlist';
|
import { removeFromWishlist } from '$lib/util/manipulateWishlist';
|
||||||
|
|
@ -24,18 +24,18 @@
|
||||||
$: isOpen = $boredState?.dialog?.isOpen;
|
$: isOpen = $boredState?.dialog?.isOpen;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Dialog
|
<!-- <Dialog
|
||||||
open={isOpen}
|
open={isOpen}
|
||||||
on:close={() => {
|
on:close={() => {
|
||||||
boredState.update((n) => ({ ...n, dialog: { isOpen: false } }));
|
boredState.update((n) => ({ ...n, dialog: { isOpen: false } }));
|
||||||
}}
|
}}
|
||||||
static
|
static
|
||||||
>
|
> -->
|
||||||
<div transition:fade>
|
<div transition:fade>
|
||||||
<DialogOverlay class="dialog-overlay" />
|
<!-- <DialogOverlay class="dialog-overlay" /> -->
|
||||||
<div class="dialog">
|
<div class="dialog">
|
||||||
<DialogTitle>Remove from wishlist</DialogTitle>
|
<!-- <DialogTitle>Remove from wishlist</DialogTitle> -->
|
||||||
<DialogDescription>Are you sure you want to remove from your wishlist?</DialogDescription>
|
<!-- <DialogDescription>Are you sure you want to remove from your wishlist?</DialogDescription> -->
|
||||||
|
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
<button class="remove" on:click={removeGame}>Remove</button>
|
<button class="remove" on:click={removeGame}>Remove</button>
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Dialog>
|
<!-- </Dialog> -->
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.dialog {
|
.dialog {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { fade } from 'svelte/transition';
|
import { fade } from 'svelte/transition';
|
||||||
import {
|
// import {
|
||||||
Listbox,
|
// Listbox,
|
||||||
ListboxButton,
|
// ListboxButton,
|
||||||
ListboxOptions,
|
// ListboxOptions,
|
||||||
ListboxOption
|
// ListboxOption
|
||||||
} from '@rgossiaux/svelte-headlessui';
|
// } from '@rgossiaux/svelte-headlessui';
|
||||||
|
|
||||||
const shows = [
|
const shows = [
|
||||||
{ id: 1, name: 'Cowboy Bebop', completed: false },
|
{ id: 1, name: 'Cowboy Bebop', completed: false },
|
||||||
|
|
@ -22,8 +22,8 @@
|
||||||
<h4>Listbox</h4>
|
<h4>Listbox</h4>
|
||||||
|
|
||||||
<div class="listbox">
|
<div class="listbox">
|
||||||
<Listbox value={selected} on:change={(event) => (selected = event.detail)} let:open>
|
<!-- <Listbox value={selected} on:change={(event) => (selected = event.detail)} let:open> -->
|
||||||
<ListboxButton class="button">
|
<!-- <ListboxButton class="button"> -->
|
||||||
<span>{selected.name}</span>
|
<span>{selected.name}</span>
|
||||||
<svg
|
<svg
|
||||||
width="20"
|
width="20"
|
||||||
|
|
@ -40,25 +40,25 @@
|
||||||
clip-rule="evenodd"
|
clip-rule="evenodd"
|
||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
</ListboxButton>
|
<!-- </ListboxButton> -->
|
||||||
{#if open}
|
{#if open}
|
||||||
<div transition:fade={{ duration: 200 }}>
|
<div transition:fade={{ duration: 200 }}>
|
||||||
<ListboxOptions class="options">
|
<!-- <ListboxOptions class="options"> -->
|
||||||
{#each shows as anime (anime.id)}
|
{#each shows as anime (anime.id)}
|
||||||
<ListboxOption
|
<!-- <ListboxOption
|
||||||
class="option"
|
class="option"
|
||||||
value={anime}
|
value={anime}
|
||||||
disabled={anime.completed}
|
disabled={anime.completed}
|
||||||
let:active
|
let:active
|
||||||
let:selected
|
let:selected
|
||||||
>
|
> -->
|
||||||
<span class:active class:selected>{anime.name}</span>
|
<span class:active class:selected>{anime.name}</span>
|
||||||
</ListboxOption>
|
<!-- </ListboxOption> -->
|
||||||
{/each}
|
{/each}
|
||||||
</ListboxOptions>
|
<!-- </ListboxOptions> -->
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</Listbox>
|
<!-- </Listbox> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- ... -->
|
<!-- ... -->
|
||||||
|
|
|
||||||
|
|
@ -2,17 +2,17 @@
|
||||||
// Based on https://carbon-components-svelte.onrender.com/components/Pagination
|
// Based on https://carbon-components-svelte.onrender.com/components/Pagination
|
||||||
import { afterUpdate, createEventDispatcher } from 'svelte';
|
import { afterUpdate, createEventDispatcher } from 'svelte';
|
||||||
import { fade } from 'svelte/transition';
|
import { fade } from 'svelte/transition';
|
||||||
import {
|
// import {
|
||||||
Listbox,
|
// Listbox,
|
||||||
ListboxButton,
|
// ListboxButton,
|
||||||
ListboxOption,
|
// ListboxOption,
|
||||||
ListboxOptions
|
// ListboxOptions
|
||||||
} from '@rgossiaux/svelte-headlessui';
|
// } from '@rgossiaux/svelte-headlessui';
|
||||||
import {
|
// import {
|
||||||
CheckIcon,
|
// CheckIcon,
|
||||||
ChevronLeftIcon,
|
// ChevronLeftIcon,
|
||||||
ChevronRightIcon
|
// ChevronRightIcon
|
||||||
} from '@rgossiaux/svelte-heroicons/outline';
|
// } from '@rgossiaux/svelte-heroicons/outline';
|
||||||
|
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
|
|
||||||
|
|
@ -41,36 +41,36 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="listbox">
|
<div class="listbox">
|
||||||
<p>Per-page:</p>
|
<p>Per-page:</p>
|
||||||
<Listbox
|
<!-- <Listbox
|
||||||
class="list-box"
|
class="list-box"
|
||||||
value={pageSize || 10}
|
value={pageSize || 10}
|
||||||
on:change={(e) => {
|
on:change={(e) => {
|
||||||
dispatch('perPageEvent', { pageSize: e.detail, page });
|
dispatch('perPageEvent', { pageSize: e.detail, page });
|
||||||
}}
|
}}
|
||||||
let:open
|
let:open
|
||||||
>
|
> -->
|
||||||
<ListboxButton>{pageSize || 10}</ListboxButton>
|
<!-- <ListboxButton>{pageSize || 10}</ListboxButton> -->
|
||||||
{#if open}
|
<!-- {#if open} -->
|
||||||
<div transition:fade={{ duration: 100 }}>
|
<div transition:fade={{ duration: 100 }}>
|
||||||
<ListboxOptions static class="options">
|
<!-- <ListboxOptions static class="options"> -->
|
||||||
{#each pageSizes as size (size)}
|
{#each pageSizes as size (size)}
|
||||||
<ListboxOption
|
<!-- <ListboxOption
|
||||||
value={`${size}`}
|
value={`${size}`}
|
||||||
disabled={pageSizeInputDisabled}
|
disabled={pageSizeInputDisabled}
|
||||||
class={({ active }) => (active ? 'active option' : 'option')}
|
class={({ active }) => (active ? 'active option' : 'option')}
|
||||||
style="display: flex; gap: 1rem; padding: 1rem;"
|
style="display: flex; gap: 1rem; padding: 1rem;"
|
||||||
let:selected
|
let:selected
|
||||||
>
|
> -->
|
||||||
{#if selected}
|
<!-- {#if selected} -->
|
||||||
<CheckIcon height="24" width="24" />
|
<!-- <CheckIcon height="24" width="24" /> -->
|
||||||
{/if}
|
<!-- {/if} -->
|
||||||
<span class="size-option" class:selected>{size.toString()}</span>
|
<!-- <span class="size-option" class:selected>{size.toString()}</span> -->
|
||||||
</ListboxOption>
|
<!-- </ListboxOption> -->
|
||||||
{/each}
|
{/each}
|
||||||
</ListboxOptions>
|
<!-- </ListboxOptions> -->
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
<!-- {/if} -->
|
||||||
</Listbox>
|
<!-- </Listbox> -->
|
||||||
</div>
|
</div>
|
||||||
<p>
|
<p>
|
||||||
Page {page || 1} of {totalPages || 1}
|
Page {page || 1} of {totalPages || 1}
|
||||||
|
|
@ -90,7 +90,7 @@
|
||||||
dispatch('previousPageEvent', { page });
|
dispatch('previousPageEvent', { page });
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<ChevronLeftIcon width="24" height="24" />
|
<!-- <ChevronLeftIcon width="24" height="24" /> -->
|
||||||
<p class="word">{backwardText || 'Prev'}</p>
|
<p class="word">{backwardText || 'Prev'}</p>
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
|
|
@ -103,7 +103,7 @@
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<p class="word">{forwardText || 'Next'}</p>
|
<p class="word">{forwardText || 'Next'}</p>
|
||||||
<ChevronRightIcon width="24" height="24" />
|
<!-- <ChevronRightIcon width="24" height="24" /> -->
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
import { boredState } from '$lib/stores/boredState';
|
import { boredState } from '$lib/stores/boredState';
|
||||||
import { collectionStore } from '$lib/stores/collectionStore';
|
import { collectionStore } from '$lib/stores/collectionStore';
|
||||||
import { ToastType } from '$lib/types';
|
import { ToastType } from '$lib/types';
|
||||||
import { SaveIcon, ShareIcon, TrashIcon } from '@rgossiaux/svelte-heroicons/outline';
|
// import { SaveIcon, ShareIcon, TrashIcon } from '@rgossiaux/svelte-heroicons/outline';
|
||||||
import ClearCollectionDialog from '../dialog/ClearCollectionDialog.svelte';
|
import ClearCollectionDialog from '../dialog/ClearCollectionDialog.svelte';
|
||||||
import { toast } from '../toast/toast';
|
import { toast } from '../toast/toast';
|
||||||
|
|
||||||
|
|
@ -48,13 +48,15 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="collection-buttons">
|
<div class="collection-buttons">
|
||||||
<button type="button" aria-label="Export Collection" on:click={() => exportCollection()}
|
<button type="button" aria-label="Export Collection" on:click={() => exportCollection()}
|
||||||
><ShareIcon width="24" height="24" />Export</button
|
>
|
||||||
|
<!-- <ShareIcon width="24" height="24" /> -->
|
||||||
|
Export</button
|
||||||
>
|
>
|
||||||
<!-- <button type="button" aria-label="Save Collection" on:click={() => saveCollection()}
|
<!-- <button type="button" aria-label="Save Collection" on:click={() => saveCollection()}
|
||||||
><SaveIcon width="24" height="24" />Save</button
|
><SaveIcon width="24" height="24" />Save</button
|
||||||
> -->
|
> -->
|
||||||
<button type="button" aria-label="Clear saved collection" on:click={() => clearCollection()}>
|
<button type="button" aria-label="Clear saved collection" on:click={() => clearCollection()}>
|
||||||
<TrashIcon width="24" height="24" />Clear
|
<!-- <TrashIcon width="24" height="24" />Clear -->
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
import { boredState } from '$lib/stores/boredState';
|
import { boredState } from '$lib/stores/boredState';
|
||||||
import { wishlistStore } from '$lib/stores/wishlistStore';
|
import { wishlistStore } from '$lib/stores/wishlistStore';
|
||||||
import { ToastType } from '$lib/types';
|
import { ToastType } from '$lib/types';
|
||||||
import { SaveIcon, ShareIcon, TrashIcon } from '@rgossiaux/svelte-heroicons/outline';
|
// import { SaveIcon, ShareIcon, TrashIcon } from '@rgossiaux/svelte-heroicons/outline';
|
||||||
import ClearWishlistDialog from '../dialog/ClearWishlistDialog.svelte';
|
import ClearWishlistDialog from '../dialog/ClearWishlistDialog.svelte';
|
||||||
import { toast } from '../toast/toast';
|
import { toast } from '../toast/toast';
|
||||||
|
|
||||||
|
|
@ -48,13 +48,15 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="wishlist-buttons">
|
<div class="wishlist-buttons">
|
||||||
<button type="button" aria-label="Export Wishlist" on:click={() => exportWishlist()}
|
<button type="button" aria-label="Export Wishlist" on:click={() => exportWishlist()}
|
||||||
><ShareIcon width="24" height="24" />Export</button
|
>
|
||||||
|
<!-- <ShareIcon width="24" height="24" /> -->
|
||||||
|
Export</button
|
||||||
>
|
>
|
||||||
<!-- <button type="button" aria-label="Save Wishlist" on:click={() => saveWishlist()}
|
<!-- <button type="button" aria-label="Save Wishlist" on:click={() => saveWishlist()}
|
||||||
><SaveIcon width="24" height="24" />Save</button
|
><SaveIcon width="24" height="24" />Save</button
|
||||||
> -->
|
> -->
|
||||||
<button type="button" aria-label="Clear saved wishlist" on:click={() => clearWishlist()}>
|
<button type="button" aria-label="Clear saved wishlist" on:click={() => clearWishlist()}>
|
||||||
<TrashIcon width="24" height="24" />Clear
|
<!-- <TrashIcon width="24" height="24" />Clear -->
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { fade } from 'svelte/transition';
|
import { fade } from 'svelte/transition';
|
||||||
import { Popover, PopoverButton, PopoverPanel } from '@rgossiaux/svelte-headlessui';
|
// import { Popover, PopoverButton, PopoverPanel } from '@rgossiaux/svelte-headlessui';
|
||||||
import cogOutline from '@iconify-icons/mdi/cog-outline';
|
import cogOutline from '@iconify-icons/mdi/cog-outline';
|
||||||
import Themes from './themes.svelte';
|
import Themes from './themes.svelte';
|
||||||
import GameCollection from './gameCollection.svelte';
|
import GameCollection from './gameCollection.svelte';
|
||||||
|
|
@ -8,8 +8,8 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<Popover let:open class="popover">
|
<!-- <Popover let:open class="popover">
|
||||||
<PopoverButton aria-label="Preferences">
|
<PopoverButton aria-label="Preferences"> -->
|
||||||
<!-- <CogIcon width="24" height="24" /> -->
|
<!-- <CogIcon width="24" height="24" /> -->
|
||||||
<!-- <iconify-icon icon="mdi:cog-outline"
|
<!-- <iconify-icon icon="mdi:cog-outline"
|
||||||
width="24" height="24"
|
width="24" height="24"
|
||||||
|
|
@ -26,11 +26,11 @@
|
||||||
: 'transform: rotate(0deg); transition: transform 0.5s ease;'
|
: 'transform: rotate(0deg); transition: transform 0.5s ease;'
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</PopoverButton>
|
<!-- </PopoverButton> -->
|
||||||
|
|
||||||
{#if open}
|
{#if open}
|
||||||
<div transition:fade={{ duration: 100 }}>
|
<div transition:fade={{ duration: 100 }}>
|
||||||
<PopoverPanel class="popover-panel" static>
|
<!-- <PopoverPanel class="popover-panel" static> -->
|
||||||
<div class="preferences">
|
<div class="preferences">
|
||||||
<svg
|
<svg
|
||||||
width="24"
|
width="24"
|
||||||
|
|
@ -60,10 +60,10 @@
|
||||||
<GameWishlist />
|
<GameWishlist />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</PopoverPanel>
|
<!-- </PopoverPanel> -->
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</Popover>
|
<!-- </Popover> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { fade } from 'svelte/transition';
|
import { fade } from 'svelte/transition';
|
||||||
import { browser } from '$app/environment';
|
import { browser } from '$app/environment';
|
||||||
import {
|
// import {
|
||||||
Listbox,
|
// Listbox,
|
||||||
ListboxButton,
|
// ListboxButton,
|
||||||
ListboxOption,
|
// ListboxOption,
|
||||||
ListboxOptions
|
// ListboxOptions
|
||||||
} from '@rgossiaux/svelte-headlessui';
|
// } from '@rgossiaux/svelte-headlessui';
|
||||||
|
|
||||||
type Themes = Record<string, { name: string }>;
|
type Themes = Record<string, { name: string }>;
|
||||||
|
|
||||||
|
|
@ -61,8 +61,8 @@
|
||||||
|
|
||||||
<div class="theme">
|
<div class="theme">
|
||||||
<div class="listbox">
|
<div class="listbox">
|
||||||
<Listbox value={selectedTheme} on:change={handleChange} let:open>
|
<!-- <Listbox value={selectedTheme} on:change={handleChange} let:open> -->
|
||||||
<ListboxButton class="button">
|
<!-- <ListboxButton class="button"> -->
|
||||||
<span>{selectedTheme.name}</span>
|
<span>{selectedTheme.name}</span>
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
|
|
@ -82,22 +82,22 @@
|
||||||
/>
|
/>
|
||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</ListboxButton>
|
<!-- </ListboxButton> -->
|
||||||
|
|
||||||
{#if open}
|
{#if open}
|
||||||
<div transition:fade={{ duration: 100 }}>
|
<div transition:fade={{ duration: 100 }}>
|
||||||
<ListboxOptions class="options" static>
|
<!-- <ListboxOptions class="options" static> -->
|
||||||
{#each Object.entries(themes) as [key, theme] (key)}
|
{#each Object.entries(themes) as [key, theme] (key)}
|
||||||
<ListboxOption value={theme} let:active let:selected>
|
<!-- <ListboxOption value={theme} let:active let:selected> -->
|
||||||
<span class="option" class:active class:selected>
|
<span class="option" class:active class:selected>
|
||||||
{theme.name}
|
{theme.name}
|
||||||
</span>
|
</span>
|
||||||
</ListboxOption>
|
<!-- </ListboxOption> -->
|
||||||
{/each}
|
{/each}
|
||||||
</ListboxOptions>
|
<!-- </ListboxOptions> -->
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</Listbox>
|
<!-- </Listbox> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
import { ToastType } from '$lib/types';
|
import { ToastType } from '$lib/types';
|
||||||
import { superForm } from 'sveltekit-superforms/client';
|
import { superForm } from 'sveltekit-superforms/client';
|
||||||
import { toast } from '../../toast/toast';
|
import { toast } from '../../toast/toast';
|
||||||
|
import Button from '$components/ui/button/Button.svelte';
|
||||||
|
|
||||||
export let data: SuperValidated<SearchSchema>;
|
export let data: SuperValidated<SearchSchema>;
|
||||||
const { enhance } = superForm(data, {
|
const { enhance } = superForm(data, {
|
||||||
|
|
@ -41,7 +42,8 @@
|
||||||
use:enhance
|
use:enhance
|
||||||
>
|
>
|
||||||
<fieldset aria-busy={submitting} disabled={submitting}>
|
<fieldset aria-busy={submitting} disabled={submitting}>
|
||||||
<button class="btn" type="submit" disabled={submitting}>Random Game 🎲</button>
|
<Button type="submit" disabled={submitting}>Random Game 🎲</Button>
|
||||||
|
<!-- <button class="btn" type="submit" disabled={submitting}>Random Game 🎲</button> -->
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@
|
||||||
import { superForm } from 'sveltekit-superforms/client';
|
import { superForm } from 'sveltekit-superforms/client';
|
||||||
import SuperDebug from 'sveltekit-superforms/client/SuperDebug.svelte';
|
import SuperDebug from 'sveltekit-superforms/client/SuperDebug.svelte';
|
||||||
import type { SuperValidated } from 'sveltekit-superforms/index';
|
import type { SuperValidated } from 'sveltekit-superforms/index';
|
||||||
import { Disclosure, DisclosureButton, DisclosurePanel } from '@rgossiaux/svelte-headlessui';
|
// import { Disclosure, DisclosureButton, DisclosurePanel } from '@rgossiaux/svelte-headlessui';
|
||||||
import { ChevronRightIcon } from '@rgossiaux/svelte-heroicons/solid';
|
// import { ChevronRightIcon } from '@rgossiaux/svelte-heroicons/solid';
|
||||||
import { boredState } from '$lib/stores/boredState';
|
import { boredState } from '$lib/stores/boredState';
|
||||||
import AdvancedSearch from '$lib/components/search/advancedSearch/index.svelte';
|
import AdvancedSearch from '$lib/components/search/advancedSearch/index.svelte';
|
||||||
import { xl, md, sm } from '$lib/stores/mediaQueryStore';
|
import { xl, md, sm } from '$lib/stores/mediaQueryStore';
|
||||||
|
|
@ -168,32 +168,32 @@
|
||||||
<input id="limit" type="hidden" name="limit" bind:value={$form.limit} />
|
<input id="limit" type="hidden" name="limit" bind:value={$form.limit} />
|
||||||
</fieldset>
|
</fieldset>
|
||||||
{#if advancedSearch}
|
{#if advancedSearch}
|
||||||
<Disclosure>
|
<!-- <Disclosure> -->
|
||||||
<DisclosureButton
|
<!-- <DisclosureButton
|
||||||
class="disclosure-button"
|
class="disclosure-button"
|
||||||
on:click={() => (disclosureOpen = !disclosureOpen)}
|
on:click={() => (disclosureOpen = !disclosureOpen)}
|
||||||
>
|
> -->
|
||||||
<span>Advanced Search?</span>
|
<span>Advanced Search?</span>
|
||||||
<ChevronRightIcon
|
<!-- <ChevronRightIcon
|
||||||
class="icon disclosure-icon"
|
class="icon disclosure-icon"
|
||||||
style={disclosureOpen
|
style={disclosureOpen
|
||||||
? 'transform: rotate(90deg); transition: transform 0.5s ease;'
|
? 'transform: rotate(90deg); transition: transform 0.5s ease;'
|
||||||
: 'transform: rotate(0deg); transition: transform 0.5s ease;'}
|
: 'transform: rotate(0deg); transition: transform 0.5s ease;'}
|
||||||
/>
|
/> -->
|
||||||
</DisclosureButton>
|
<!-- </DisclosureButton> -->
|
||||||
|
|
||||||
{#if disclosureOpen}
|
{#if disclosureOpen}
|
||||||
<div transition:fade>
|
<div transition:fade>
|
||||||
<!-- Using `static`, `DisclosurePanel` is always rendered,
|
<!-- Using `static`, `DisclosurePanel` is always rendered,
|
||||||
and ignores the `open` state -->
|
and ignores the `open` state -->
|
||||||
<DisclosurePanel static>
|
<!-- <DisclosurePanel static> -->
|
||||||
{#if disclosureOpen}
|
{#if disclosureOpen}
|
||||||
<AdvancedSearch {form} {errors} {constraints} />
|
<AdvancedSearch {form} {errors} {constraints} />
|
||||||
{/if}
|
{/if}
|
||||||
</DisclosurePanel>
|
<!-- </DisclosurePanel> -->
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</Disclosure>
|
<!-- </Disclosure> -->
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{#if showButton}
|
{#if showButton}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
<script>
|
<script>
|
||||||
import { Switch } from '@rgossiaux/svelte-headlessui';
|
// import { Switch } from '@rgossiaux/svelte-headlessui';
|
||||||
let enabled = false;
|
let enabled = false;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Switch
|
<!-- <Switch
|
||||||
checked={enabled}
|
checked={enabled}
|
||||||
on:change={(e) => (enabled = e.detail)}
|
on:change={(e) => (enabled = e.detail)}
|
||||||
class={enabled ? 'switch switch-enabled' : 'switch switch-disabled'}
|
class={enabled ? 'switch switch-enabled' : 'switch switch-disabled'}
|
||||||
>
|
>
|
||||||
<span class="sr-only">Dark Mode</span>
|
<span class="sr-only">Dark Mode</span>
|
||||||
<span class="toggle" class:toggle-on={enabled} class:toggle-off={!enabled} />
|
<span class="toggle" class:toggle-on={enabled} class:toggle-off={!enabled} />
|
||||||
</Switch>
|
</Switch> -->
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
:global(.switch) {
|
:global(.switch) {
|
||||||
|
|
|
||||||
51
src/lib/components/ui/button/Button.svelte
Normal file
51
src/lib/components/ui/button/Button.svelte
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import type { VariantProps } from "class-variance-authority";
|
||||||
|
import type {
|
||||||
|
HTMLAnchorAttributes,
|
||||||
|
HTMLButtonAttributes
|
||||||
|
} from "svelte/elements";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
import { buttonVariants } from ".";
|
||||||
|
|
||||||
|
let className: string | undefined | null = undefined;
|
||||||
|
export { className as class };
|
||||||
|
export let href: HTMLAnchorAttributes["href"] = undefined;
|
||||||
|
export let type: HTMLButtonAttributes["type"] = undefined;
|
||||||
|
export let variant: VariantProps<typeof buttonVariants>["variant"] =
|
||||||
|
"default";
|
||||||
|
export let size: VariantProps<typeof buttonVariants>["size"] = "default";
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
class?: string | null;
|
||||||
|
variant?: VariantProps<typeof buttonVariants>["variant"];
|
||||||
|
size?: VariantProps<typeof buttonVariants>["size"];
|
||||||
|
};
|
||||||
|
|
||||||
|
interface AnchorElement extends Props, HTMLAnchorAttributes {
|
||||||
|
href?: HTMLAnchorAttributes["href"];
|
||||||
|
type?: never;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ButtonElement extends Props, HTMLButtonAttributes {
|
||||||
|
type?: HTMLButtonAttributes["type"];
|
||||||
|
href?: never;
|
||||||
|
}
|
||||||
|
|
||||||
|
type $$Props = AnchorElement | ButtonElement;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<svelte:element
|
||||||
|
this={href ? "a" : "button"}
|
||||||
|
type={href ? undefined : type}
|
||||||
|
{href}
|
||||||
|
class={cn(buttonVariants({ variant, size, className }))}
|
||||||
|
{...$$restProps}
|
||||||
|
on:click
|
||||||
|
on:change
|
||||||
|
on:keydown
|
||||||
|
on:keyup
|
||||||
|
on:mouseenter
|
||||||
|
on:mouseleave
|
||||||
|
>
|
||||||
|
<slot />
|
||||||
|
</svelte:element>
|
||||||
32
src/lib/components/ui/button/index.ts
Normal file
32
src/lib/components/ui/button/index.ts
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
import { cva } from "class-variance-authority";
|
||||||
|
|
||||||
|
export { default as Button } from "./Button.svelte";
|
||||||
|
|
||||||
|
export const buttonVariants = cva(
|
||||||
|
"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",
|
||||||
|
{
|
||||||
|
variants: {
|
||||||
|
variant: {
|
||||||
|
default:
|
||||||
|
"bg-primary text-primary-foreground hover:bg-primary/90",
|
||||||
|
destructive:
|
||||||
|
"bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
||||||
|
outline:
|
||||||
|
"border border-input hover:bg-accent hover:text-accent-foreground",
|
||||||
|
secondary:
|
||||||
|
"bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
||||||
|
ghost: "hover:bg-accent hover:text-accent-foreground",
|
||||||
|
link: "underline-offset-4 hover:underline text-primary"
|
||||||
|
},
|
||||||
|
size: {
|
||||||
|
default: "h-10 py-2 px-4",
|
||||||
|
sm: "h-9 px-3 rounded-md",
|
||||||
|
lg: "h-11 px-8 rounded-md"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
defaultVariants: {
|
||||||
|
variant: "default",
|
||||||
|
size: "default"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
29
src/lib/components/ui/dialog/DialogContent.svelte
Normal file
29
src/lib/components/ui/dialog/DialogContent.svelte
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { X } from "lucide-svelte";
|
||||||
|
import { Dialog as DialogPrimitive } from "radix-svelte";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
import DialogOverlay from "./DialogOverlay.svelte";
|
||||||
|
import DialogPortal from "./DialogPortal.svelte";
|
||||||
|
|
||||||
|
let className: string | undefined | null = undefined;
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<DialogPortal>
|
||||||
|
<DialogOverlay />
|
||||||
|
<DialogPrimitive.Content
|
||||||
|
class={cn(
|
||||||
|
"fixed z-50 grid w-full gap-4 rounded-b-lg border bg-background p-6 shadow-lg animate-in data-[state=open]:fade-in-90 data-[state=open]:slide-in-from-bottom-10 sm:max-w-lg sm:rounded-lg sm:zoom-in-90 data-[state=open]:sm:slide-in-from-bottom-0",
|
||||||
|
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 className="h-4 w-4" />
|
||||||
|
<span class="sr-only">Close</span>
|
||||||
|
</DialogPrimitive.Close>
|
||||||
|
</DialogPrimitive.Content>
|
||||||
|
</DialogPortal>
|
||||||
14
src/lib/components/ui/dialog/DialogDescription.svelte
Normal file
14
src/lib/components/ui/dialog/DialogDescription.svelte
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { Dialog as DialogPrimitive } from "radix-svelte";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
|
let className: string | undefined | null = 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/DialogFooter.svelte
Normal file
16
src/lib/components/ui/dialog/DialogFooter.svelte
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
|
let className: string | undefined | null = 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/DialogHeader.svelte
Normal file
13
src/lib/components/ui/dialog/DialogHeader.svelte
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
|
let className: string | undefined | null = 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>
|
||||||
15
src/lib/components/ui/dialog/DialogOverlay.svelte
Normal file
15
src/lib/components/ui/dialog/DialogOverlay.svelte
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { Dialog as DialogPrimitive } from "radix-svelte";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
|
let className: string | undefined | null = undefined;
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<DialogPrimitive.Overlay
|
||||||
|
class={cn(
|
||||||
|
"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm transition-all duration-100 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=open]:fade-in",
|
||||||
|
className
|
||||||
|
)}
|
||||||
|
{...$$restProps}
|
||||||
|
/>
|
||||||
11
src/lib/components/ui/dialog/DialogPortal.svelte
Normal file
11
src/lib/components/ui/dialog/DialogPortal.svelte
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { Dialog as DialogPrimitive } from "radix-svelte";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<DialogPrimitive.Portal>
|
||||||
|
<div
|
||||||
|
class="fixed inset-0 z-50 flex items-start justify-center sm:items-center"
|
||||||
|
>
|
||||||
|
<slot />
|
||||||
|
</div>
|
||||||
|
</DialogPrimitive.Portal>
|
||||||
14
src/lib/components/ui/dialog/DialogTitle.svelte
Normal file
14
src/lib/components/ui/dialog/DialogTitle.svelte
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { Dialog as DialogPrimitive } from "radix-svelte";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
|
let className: string | undefined | null = undefined;
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<DialogPrimitive.Title
|
||||||
|
class={cn("text-lg font-semibold leading-none tracking-tight", className)}
|
||||||
|
{...$$restProps}
|
||||||
|
>
|
||||||
|
<slot />
|
||||||
|
</DialogPrimitive.Title>
|
||||||
12
src/lib/components/ui/dialog/index.ts
Normal file
12
src/lib/components/ui/dialog/index.ts
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
import { Dialog as DialogPrimitive } from "radix-svelte";
|
||||||
|
|
||||||
|
export const Dialog = DialogPrimitive.Root;
|
||||||
|
export const DialogTrigger = DialogPrimitive.Trigger;
|
||||||
|
|
||||||
|
export { default as DialogContent } from "./DialogContent.svelte";
|
||||||
|
export { default as DialogDescription } from "./DialogDescription.svelte";
|
||||||
|
export { default as DialogFooter } from "./DialogFooter.svelte";
|
||||||
|
export { default as DialogHeader } from "./DialogHeader.svelte";
|
||||||
|
export { default as DialogOverlay } from "./DialogOverlay.svelte";
|
||||||
|
export { default as DialogPortal } from "./DialogPortal.svelte";
|
||||||
|
export { default as DialogTitle } from "./DialogTitle.svelte";
|
||||||
30
src/lib/components/ui/input/Input.svelte
Normal file
30
src/lib/components/ui/input/Input.svelte
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import type { HTMLInputAttributes } from "svelte/elements";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
|
let className: string | undefined | null = undefined;
|
||||||
|
|
||||||
|
export let value: HTMLInputAttributes["value"] = undefined;
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<input
|
||||||
|
class={cn(
|
||||||
|
"flex h-10 w-full rounded-md border border-input bg-transparent px-3 py-2 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",
|
||||||
|
className
|
||||||
|
)}
|
||||||
|
bind:value
|
||||||
|
on:blur
|
||||||
|
on:change
|
||||||
|
on:click
|
||||||
|
on:focus
|
||||||
|
on:keydown
|
||||||
|
on:keypress
|
||||||
|
on:keyup
|
||||||
|
on:mouseover
|
||||||
|
on:mouseenter
|
||||||
|
on:mouseleave
|
||||||
|
on:paste
|
||||||
|
on:input
|
||||||
|
{...$$restProps}
|
||||||
|
/>
|
||||||
1
src/lib/components/ui/input/index.ts
Normal file
1
src/lib/components/ui/input/index.ts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export { default as Input } from "./Input.svelte";
|
||||||
16
src/lib/components/ui/label/Label.svelte
Normal file
16
src/lib/components/ui/label/Label.svelte
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import { cva } from "class-variance-authority";
|
||||||
|
import { Label as LabelPrimitive } from "radix-svelte";
|
||||||
|
import { cn } from "$lib/utils";
|
||||||
|
|
||||||
|
const labelVariants = cva(
|
||||||
|
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
||||||
|
);
|
||||||
|
|
||||||
|
let className: string | undefined | null = undefined;
|
||||||
|
export { className as class };
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<LabelPrimitive.Root class={cn(labelVariants(), className)} {...$$restProps}>
|
||||||
|
<slot />
|
||||||
|
</LabelPrimitive.Root>
|
||||||
1
src/lib/components/ui/label/index.ts
Normal file
1
src/lib/components/ui/label/index.ts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export { default as Label } from "./Label.svelte";
|
||||||
6
src/lib/utils.ts
Normal file
6
src/lib/utils.ts
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
import type { ClassValue } from 'clsx';
|
||||||
|
import { clsx } from 'clsx';
|
||||||
|
import { twMerge } from 'tailwind-merge';
|
||||||
|
export function cn(...inputs: ClassValue[]) {
|
||||||
|
return twMerge(clsx(inputs));
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import "../app.postcss";
|
||||||
import { browser } from '$app/environment';
|
import { browser } from '$app/environment';
|
||||||
import { navigating } from '$app/stores';
|
import { navigating } from '$app/stores';
|
||||||
import debounce from 'just-debounce-it';
|
import debounce from 'just-debounce-it';
|
||||||
|
|
@ -16,7 +17,7 @@
|
||||||
import { gameStore } from '$lib/stores/gameSearchStore';
|
import { gameStore } from '$lib/stores/gameSearchStore';
|
||||||
import { toast } from '$lib/components/toast/toast';
|
import { toast } from '$lib/components/toast/toast';
|
||||||
import Toast from '$lib/components/toast/Toast.svelte';
|
import Toast from '$lib/components/toast/Toast.svelte';
|
||||||
import '$styles/styles.pcss';
|
// import '$styles/styles.pcss';
|
||||||
import type { SavedGameType } from '$lib/types';
|
import type { SavedGameType } from '$lib/types';
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
|
|
@ -33,38 +34,38 @@
|
||||||
$: isOpen = $boredState?.dialog?.isOpen;
|
$: isOpen = $boredState?.dialog?.isOpen;
|
||||||
|
|
||||||
if (browser) {
|
if (browser) {
|
||||||
const collator = new Intl.Collator('en');
|
const collator = new Intl.Collator('en');
|
||||||
|
|
||||||
let collectionEmpty = $collectionStore.length === 0 || false;
|
let collectionEmpty = $collectionStore.length === 0 || false;
|
||||||
let wishlistEmpty = $wishlistStore.length === 0 || false;
|
let wishlistEmpty = $wishlistStore.length === 0 || false;
|
||||||
if (wishlistEmpty && localStorage?.wishlist && localStorage?.wishlist?.length !== 0) {
|
if (wishlistEmpty && localStorage?.wishlist && localStorage?.wishlist?.length !== 0) {
|
||||||
const wishlist: SavedGameType[] = JSON.parse(localStorage.wishlist);
|
const wishlist: SavedGameType[] = JSON.parse(localStorage.wishlist);
|
||||||
if (wishlist?.length !== 0) {
|
if (wishlist?.length !== 0) {
|
||||||
wishlist.sort((a, b) => collator.compare(a.name, b.name));
|
wishlist.sort((a, b) => collator.compare(a.name, b.name));
|
||||||
for (const item of wishlist) {
|
for (const item of wishlist) {
|
||||||
if (!item?.searchTerms) {
|
if (!item?.searchTerms) {
|
||||||
item.searchTerms = `${item?.name?.toLowerCase()}`;
|
item.searchTerms = `${item?.name?.toLowerCase()}`;
|
||||||
}
|
|
||||||
if (!item?.includeInRandom) {
|
|
||||||
item.includeInRandom = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
wishlistStore.addAll(wishlist);
|
if (!item?.includeInRandom) {
|
||||||
}
|
item.includeInRandom = false;
|
||||||
}
|
|
||||||
if (collectionEmpty && localStorage?.collection && localStorage?.collection?.length !== 0) {
|
|
||||||
const collection: SavedGameType[] = JSON.parse(localStorage.collection);
|
|
||||||
if (collection?.length !== 0) {
|
|
||||||
collection.sort((a, b) => collator.compare(a.name, b.name));
|
|
||||||
for (const item of collection) {
|
|
||||||
if (!item?.searchTerms) {
|
|
||||||
item.searchTerms = `${item?.name?.toLowerCase()}`;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
collectionStore.addAll(collection);
|
|
||||||
}
|
}
|
||||||
|
wishlistStore.addAll(wishlist);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (collectionEmpty && localStorage?.collection && localStorage?.collection?.length !== 0) {
|
||||||
|
const collection: SavedGameType[] = JSON.parse(localStorage.collection);
|
||||||
|
if (collection?.length !== 0) {
|
||||||
|
collection.sort((a, b) => collator.compare(a.name, b.name));
|
||||||
|
for (const item of collection) {
|
||||||
|
if (!item?.searchTerms) {
|
||||||
|
item.searchTerms = `${item?.name?.toLowerCase()}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
collectionStore.addAll(collection);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const dev = process.env.NODE_ENV !== 'production';
|
const dev = process.env.NODE_ENV !== 'production';
|
||||||
|
|
||||||
|
|
@ -72,7 +73,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if !dev}
|
{#if !dev}
|
||||||
<Analytics />
|
<Analytics></Analytics>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<!-- {#if dev}
|
<!-- {#if dev}
|
||||||
|
|
@ -88,10 +89,10 @@
|
||||||
{/if} -->
|
{/if} -->
|
||||||
|
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<Header user={data.user} />
|
<Header user="{data.user}"></Header>
|
||||||
<main>
|
<main>
|
||||||
<Transition url={data.url} transition={{ type: 'page' }}>
|
<Transition url={data.url} transition={{ type: 'page' }}>
|
||||||
<slot />
|
<slot></slot>
|
||||||
</Transition>
|
</Transition>
|
||||||
</main>
|
</main>
|
||||||
<Footer />
|
<Footer />
|
||||||
|
|
@ -99,18 +100,18 @@
|
||||||
{#if $boredState?.loading}
|
{#if $boredState?.loading}
|
||||||
<Portal>
|
<Portal>
|
||||||
<div class="loading">
|
<div class="loading">
|
||||||
<Loading />
|
<Loading></Loading>
|
||||||
<h3>Loading...</h3>
|
<h3>Loading...</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="background" />
|
<div class="background"></div>
|
||||||
</Portal>
|
</Portal>
|
||||||
{/if}
|
{/if}
|
||||||
{#if isOpen}
|
{#if isOpen}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<svelte:component this={$boredState?.dialog?.content} />
|
<svelte:component this={$boredState?.dialog?.content}></svelte:component>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
<Toast />
|
<Toast></Toast>
|
||||||
|
|
||||||
<style lang="postcss">
|
<style lang="postcss">
|
||||||
.loading {
|
.loading {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { superForm } from 'sveltekit-superforms/client';
|
import { superForm } from 'sveltekit-superforms/client';
|
||||||
import { userSchema } from '$lib/config/zod-schemas.js';
|
import { userSchema } from '$lib/config/zod-schemas.js';
|
||||||
|
import Label from '$components/ui/label/Label.svelte';
|
||||||
|
import Input from '$components/ui/input/Input.svelte';
|
||||||
|
import Button from '$components/ui/button/Button.svelte';
|
||||||
|
|
||||||
export let data;
|
export let data;
|
||||||
|
|
||||||
|
|
@ -22,45 +25,22 @@
|
||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
{/if}
|
{/if}
|
||||||
<div>
|
<div class="grid w-full max-w-sm items-center gap-2">
|
||||||
<label class="label">
|
<h2
|
||||||
<span class="sr-only">Username</span>
|
class="scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight transition-colors first:mt-0"
|
||||||
<input
|
>
|
||||||
id="username"
|
Sign into your account
|
||||||
name="username"
|
</h2>
|
||||||
type="text"
|
<Label for="username">Username</Label>
|
||||||
placeholder="Username"
|
<Input type="text" id="username" name="username" placeholder="Username" autocomplete="username" data-invalid={$errors.username} bind:value={$form.username} />
|
||||||
autocomplete="username"
|
|
||||||
data-invalid={$form.username}
|
|
||||||
bind:value={$form.username}
|
|
||||||
class="input"
|
|
||||||
class:input-error={$errors.username}
|
|
||||||
/>
|
|
||||||
{#if $errors.username}
|
{#if $errors.username}
|
||||||
<small>{$errors.username}</small>
|
<p class="text-sm text-muted-foreground">{$errors.username}</p>
|
||||||
{/if}
|
{/if}
|
||||||
</label>
|
<Label for="password">Password</Label>
|
||||||
</div>
|
<Input type="password" id="password" name="password" placeholder="Password" autocomplete="new-password" data-invalid={$errors.password} bind:value={$form.password} />
|
||||||
<div>
|
|
||||||
<label class="label">
|
|
||||||
<span class="sr-only">Password</span>
|
|
||||||
<input
|
|
||||||
id="password"
|
|
||||||
name="password"
|
|
||||||
type="password"
|
|
||||||
placeholder="Password"
|
|
||||||
data-invalid={$form.password}
|
|
||||||
bind:value={$form.password}
|
|
||||||
class="input"
|
|
||||||
class:input-error={$errors.password}
|
|
||||||
/>
|
|
||||||
{#if $errors.password}
|
{#if $errors.password}
|
||||||
<small>{$errors.password}</small>
|
<p class="text-sm text-muted-foreground">{$errors.password}</p>
|
||||||
{/if}
|
{/if}
|
||||||
</label>
|
<Button type="submit">Sign In</Button>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<button type="submit" class="button">Sign In</button>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { userSchema } from '$lib/config/zod-schemas.js';
|
import Button from '$components/ui/button/Button.svelte';
|
||||||
|
import Input from '$components/ui/input/Input.svelte';
|
||||||
|
import Label from '$components/ui/label/Label.svelte';
|
||||||
|
import { userSchema } from '$lib/config/zod-schemas.js';
|
||||||
import { superForm } from 'sveltekit-superforms/client';
|
import { superForm } from 'sveltekit-superforms/client';
|
||||||
|
|
||||||
export let data;
|
export let data;
|
||||||
|
|
@ -22,141 +25,49 @@
|
||||||
|
|
||||||
<div class="page">
|
<div class="page">
|
||||||
<form method="POST" action="/auth/signup" use:enhance>
|
<form method="POST" action="/auth/signup" use:enhance>
|
||||||
<h1>Signup user</h1>
|
<div class="grid w-full max-w-sm items-center gap-2">
|
||||||
<label class="label">
|
<h2
|
||||||
<span class="sr-only">First Name</span>
|
class="scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight transition-colors first:mt-0"
|
||||||
<input
|
>
|
||||||
id="firstName"
|
Signup for an account
|
||||||
name="firstName"
|
</h2>
|
||||||
type="text"
|
<Label for="firstName">First Name</Label>
|
||||||
placeholder="First Name"
|
<Input type="text" id="firstName" name="firstName" placeholder="First Name" autocomplete="given-name" data-invalid={$errors.firstName} bind:value={$form.firstName} />
|
||||||
autocomplete="given-name"
|
|
||||||
data-invalid={$errors.firstName}
|
|
||||||
bind:value={$form.firstName}
|
|
||||||
class="input"
|
|
||||||
class:input-error={$errors.firstName}
|
|
||||||
/>
|
|
||||||
{#if $errors.firstName}
|
{#if $errors.firstName}
|
||||||
<small>{$errors.firstName}</small>
|
<p class="text-sm text-muted-foreground">{$errors.firstName}</p>
|
||||||
{/if}
|
{/if}
|
||||||
</label>
|
<Label for="firstName">Last Name</Label>
|
||||||
<label class="label">
|
<Input type="text" id="lastName" name="lastName" placeholder="Last Name" autocomplete="family-name" data-invalid={$errors.lastName} bind:value={$form.lastName} />
|
||||||
<span class="sr-only">Last Name</span>
|
|
||||||
<input
|
|
||||||
id="lastName"
|
|
||||||
name="lastName"
|
|
||||||
type="text"
|
|
||||||
placeholder="Last Name"
|
|
||||||
autocomplete="family-name"
|
|
||||||
data-invalid={$errors.lastName}
|
|
||||||
bind:value={$form.lastName}
|
|
||||||
class="input"
|
|
||||||
class:input-error={$errors.lastName}
|
|
||||||
/>
|
|
||||||
{#if $errors.lastName}
|
{#if $errors.lastName}
|
||||||
<small>{$errors.lastName}</small>
|
<p class="text-sm text-muted-foreground">{$errors.lastName}</p>
|
||||||
{/if}
|
{/if}
|
||||||
</label>
|
<Label for="email">Email</Label>
|
||||||
<label class="label">
|
<Input type="email" id="email" name="email" placeholder="Email" autocomplete="email" data-invalid={$errors.email} bind:value={$form.email} />
|
||||||
<span class="sr-only">Email</span>
|
|
||||||
<input
|
|
||||||
id="email"
|
|
||||||
name="email"
|
|
||||||
type="email"
|
|
||||||
placeholder="Email"
|
|
||||||
autocomplete="email"
|
|
||||||
data-invalid={$errors.email}
|
|
||||||
bind:value={$form.email}
|
|
||||||
class="input"
|
|
||||||
class:input-error={$errors.email}
|
|
||||||
/>
|
|
||||||
{#if $errors.email}
|
{#if $errors.email}
|
||||||
<small>{$errors.email}</small>
|
<p class="text-sm text-muted-foreground">{$errors.email}</p>
|
||||||
{/if}
|
{/if}
|
||||||
</label>
|
<Label for="username">Username</Label>
|
||||||
<label class="label">
|
<Input type="text" id="username" name="username" placeholder="Username" autocomplete="username" data-invalid={$errors.username} bind:value={$form.username} />
|
||||||
<span class="sr-only">Username</span>
|
|
||||||
<input
|
|
||||||
id="username"
|
|
||||||
name="username"
|
|
||||||
type="username"
|
|
||||||
placeholder="Username"
|
|
||||||
autocomplete="email"
|
|
||||||
{...$constraints.username}
|
|
||||||
data-invalid={$errors.username}
|
|
||||||
bind:value={$form.username}
|
|
||||||
class="input"
|
|
||||||
class:input-error={$errors.username}
|
|
||||||
/>
|
|
||||||
{#if $errors.username}
|
{#if $errors.username}
|
||||||
<small>{$errors.username}</small>
|
<p class="text-sm text-muted-foreground">{$errors.username}</p>
|
||||||
{/if}
|
{/if}
|
||||||
</label>
|
<Label for="password">Password</Label>
|
||||||
<label class="label">
|
<Input type="password" id="password" name="password" placeholder="Password" autocomplete="new-password" data-invalid={$errors.password} bind:value={$form.password} />
|
||||||
<span class="sr-only">Password</span>
|
|
||||||
<input
|
|
||||||
id="password"
|
|
||||||
name="password"
|
|
||||||
type="password"
|
|
||||||
placeholder="Password"
|
|
||||||
{...$constraints.username}
|
|
||||||
data-invalid={$errors.password}
|
|
||||||
bind:value={$form.password}
|
|
||||||
class="input"
|
|
||||||
class:input-error={$errors.password}
|
|
||||||
/>
|
|
||||||
{#if $errors.password}
|
{#if $errors.password}
|
||||||
<small>{$errors.password}</small>
|
<p class="text-sm text-muted-foreground">{$errors.password}</p>
|
||||||
{/if}
|
{/if}
|
||||||
</label>
|
<Label for="confirm_password">Confirm Password</Label>
|
||||||
<label class="label">
|
<Input type="password" id="confirm_password" name="confirm_password" placeholder="Confirm Password" autocomplete="new-password" data-invalid={$errors.confirm_password} bind:value={$form.confirm_password} />
|
||||||
<span class="sr-only">Confirm Password</span>
|
|
||||||
<input
|
|
||||||
id="confirm_password"
|
|
||||||
name="confirm_password"
|
|
||||||
type="password"
|
|
||||||
placeholder="Confirm your password"
|
|
||||||
{...$constraints.confirm_password}
|
|
||||||
data-invalid={$errors.confirm_password}
|
|
||||||
bind:value={$form.confirm_password}
|
|
||||||
class="input"
|
|
||||||
class:input-error={$errors.confirm_password}
|
|
||||||
/>
|
|
||||||
{#if $errors.confirm_password}
|
{#if $errors.confirm_password}
|
||||||
<small>{$errors.confirm_password}</small>
|
<p class="text-sm text-muted-foreground">{$errors.confirm_password}</p>
|
||||||
{/if}
|
{/if}
|
||||||
</label>
|
<div class="flex place-content-">
|
||||||
|
<Button type="submit">Signup</Button>
|
||||||
<button type="submit">Signup</button>
|
<Button variant="link" href="/">or Cancel</Button>
|
||||||
|
</div>
|
||||||
<a class="back" href="/"> or Cancel </a>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.page {
|
|
||||||
padding: 3rem;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* input[type="text"] {
|
|
||||||
width: 100%;
|
|
||||||
padding: 0.5rem;
|
|
||||||
margin: 0.5rem 0;
|
|
||||||
border-radius: 0.25rem;
|
|
||||||
border: 0.125rem solid rgba(0, 0, 0, 0.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
button[type="submit"] {
|
|
||||||
border: 0;
|
|
||||||
padding: 1rem 2rem;
|
|
||||||
} */
|
|
||||||
|
|
||||||
.back {
|
|
||||||
margin-left: 1rem;
|
|
||||||
}
|
|
||||||
.error {
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -3,14 +3,14 @@
|
||||||
import { Image } from 'svelte-lazy-loader';
|
import { Image } from 'svelte-lazy-loader';
|
||||||
import minusCircle from '@iconify-icons/line-md/minus-circle';
|
import minusCircle from '@iconify-icons/line-md/minus-circle';
|
||||||
import plusCircle from '@iconify-icons/line-md/plus-circle';
|
import plusCircle from '@iconify-icons/line-md/plus-circle';
|
||||||
import {
|
// import {
|
||||||
ChevronRightIcon,
|
// ChevronRightIcon,
|
||||||
ExternalLinkIcon,
|
// ExternalLinkIcon,
|
||||||
MinusCircleIcon,
|
// MinusCircleIcon,
|
||||||
MinusIcon,
|
// MinusIcon,
|
||||||
PlusCircleIcon,
|
// PlusCircleIcon,
|
||||||
PlusIcon
|
// PlusIcon
|
||||||
} from '@rgossiaux/svelte-heroicons/outline';
|
// } from '@rgossiaux/svelte-heroicons/outline';
|
||||||
import type { GameType, SavedGameType } from '$lib/types';
|
import type { GameType, SavedGameType } from '$lib/types';
|
||||||
import { collectionStore } from '$lib/stores/collectionStore';
|
import { collectionStore } from '$lib/stores/collectionStore';
|
||||||
import { wishlistStore } from '$lib/stores/wishlistStore';
|
import { wishlistStore } from '$lib/stores/wishlistStore';
|
||||||
|
|
@ -113,7 +113,8 @@
|
||||||
<p>Minimum Age: {game.min_age}</p>
|
<p>Minimum Age: {game.min_age}</p>
|
||||||
{/if}
|
{/if}
|
||||||
<LinkWithIcon external ariaLabel={`Board Game Atlas Link for ${game.name}`} url={game.url}>
|
<LinkWithIcon external ariaLabel={`Board Game Atlas Link for ${game.name}`} url={game.url}>
|
||||||
Board Game Atlas <ExternalLinkIcon width="24" height="24" />
|
Board Game Atlas
|
||||||
|
<!-- <ExternalLinkIcon width="24" height="24" /> -->
|
||||||
</LinkWithIcon>
|
</LinkWithIcon>
|
||||||
</div>
|
</div>
|
||||||
{#if user?.username}
|
{#if user?.username}
|
||||||
|
|
@ -156,9 +157,11 @@
|
||||||
<button class="btn button-icon" type="button" on:click={() => (seeMore = !seeMore)}
|
<button class="btn button-icon" type="button" on:click={() => (seeMore = !seeMore)}
|
||||||
>See
|
>See
|
||||||
{#if !seeMore}
|
{#if !seeMore}
|
||||||
More <PlusIcon width="24" height="24" />
|
More
|
||||||
|
<!-- <PlusIcon width="24" height="24" /> -->
|
||||||
{:else}
|
{:else}
|
||||||
Less <MinusIcon width="24" height="24" />
|
Less
|
||||||
|
<!-- <MinusIcon width="24" height="24" /> -->
|
||||||
{/if}
|
{/if}
|
||||||
</button>
|
</button>
|
||||||
{:else}
|
{:else}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,27 @@
|
||||||
import preprocess from 'svelte-preprocess';
|
|
||||||
import adapter from '@sveltejs/adapter-vercel';
|
import adapter from '@sveltejs/adapter-vercel';
|
||||||
import { vitePreprocess } from '@sveltejs/kit/vite';
|
import { vitePreprocess } from '@sveltejs/kit/vite';
|
||||||
|
/** @type {import('@sveltejs/kit').Config}*/
|
||||||
/** @type {import('@sveltejs/kit').Config} */
|
|
||||||
const config = {
|
const config = {
|
||||||
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
|
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
|
||||||
// for more information about preprocessors
|
// for more information about preprocessors
|
||||||
preprocess: [vitePreprocess()],
|
preprocess: [vitePreprocess({})],
|
||||||
vitePlugin: {
|
vitePlugin: {
|
||||||
inspector: true,
|
inspector: true
|
||||||
},
|
},
|
||||||
kit: {
|
kit: {
|
||||||
adapter: adapter(),
|
adapter: adapter(),
|
||||||
alias: {
|
alias: {
|
||||||
$db: './src/db',
|
|
||||||
$assets: './src/assets',
|
$assets: './src/assets',
|
||||||
|
$components: './src/components',
|
||||||
|
'$components/*': 'src/lib/components/*',
|
||||||
|
$db: './src/db',
|
||||||
$lib: './src/lib',
|
$lib: './src/lib',
|
||||||
$styles: './src/styles',
|
$styles: './src/styles',
|
||||||
$themes: './src/themes'
|
$themes: './src/themes'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
shadcn: {
|
||||||
|
componentPath: './src/lib/components/ui'
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,65 @@
|
||||||
|
import { fontFamily } from 'tailwindcss/defaultTheme';
|
||||||
|
import tailwindcssAnimate from 'tailwindcss-animate';
|
||||||
|
|
||||||
/** @type {import('tailwindcss').Config} */
|
/** @type {import('tailwindcss').Config} */
|
||||||
module.exports = {
|
const config = {
|
||||||
// 1. Apply the dark mode class setting:
|
darkMode: ['class'],
|
||||||
darkMode: 'class',
|
content: ['./src/**/*.{html,js,svelte,ts}'],
|
||||||
content: [
|
|
||||||
'./src/**/*.{html,js,svelte,ts}',
|
|
||||||
// 2. Append the path for the Skeleton NPM package and files:
|
|
||||||
require('path').join(require.resolve('@skeletonlabs/skeleton'), '../**/*.{html,js,svelte,ts}')
|
|
||||||
],
|
|
||||||
theme: {
|
theme: {
|
||||||
extend: {}
|
container: {
|
||||||
|
center: true,
|
||||||
|
padding: '2rem',
|
||||||
|
screens: {
|
||||||
|
'2xl': '1400px'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
extend: {
|
||||||
|
colors: {
|
||||||
|
border: 'hsl(var(--border))',
|
||||||
|
input: 'hsl(var(--input))',
|
||||||
|
ring: 'hsl(var(--ring))',
|
||||||
|
background: 'hsl(var(--background))',
|
||||||
|
foreground: 'hsl(var(--foreground))',
|
||||||
|
primary: {
|
||||||
|
DEFAULT: 'hsl(var(--primary))',
|
||||||
|
foreground: 'hsl(var(--primary-foreground))'
|
||||||
|
},
|
||||||
|
secondary: {
|
||||||
|
DEFAULT: 'hsl(var(--secondary))',
|
||||||
|
foreground: 'hsl(var(--secondary-foreground))'
|
||||||
|
},
|
||||||
|
destructive: {
|
||||||
|
DEFAULT: 'hsl(var(--destructive))',
|
||||||
|
foreground: 'hsl(var(--destructive-foreground))'
|
||||||
|
},
|
||||||
|
muted: {
|
||||||
|
DEFAULT: 'hsl(var(--muted))',
|
||||||
|
foreground: 'hsl(var(--muted-foreground))'
|
||||||
|
},
|
||||||
|
accent: {
|
||||||
|
DEFAULT: 'hsl(var(--accent))',
|
||||||
|
foreground: 'hsl(var(--accent-foreground))'
|
||||||
|
},
|
||||||
|
popover: {
|
||||||
|
DEFAULT: 'hsl(var(--popover))',
|
||||||
|
foreground: 'hsl(var(--popover-foreground))'
|
||||||
|
},
|
||||||
|
card: {
|
||||||
|
DEFAULT: 'hsl(var(--card))',
|
||||||
|
foreground: 'hsl(var(--card-foreground))'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
borderRadius: {
|
||||||
|
lg: 'var(--radius)',
|
||||||
|
md: 'calc(var(--radius) - 2px)',
|
||||||
|
sm: 'calc(var(--radius) - 4px)'
|
||||||
|
},
|
||||||
|
fontFamily: {
|
||||||
|
sans: [...fontFamily.sans]
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [tailwindcssAnimate]
|
||||||
require('@tailwindcss/forms'),
|
|
||||||
// 3. Append the Skeleton plugin to the end of this list
|
|
||||||
...require('@skeletonlabs/skeleton/tailwind/skeleton.cjs')()
|
|
||||||
]
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export default config;
|
||||||
|
|
|
||||||
|
|
@ -2,5 +2,8 @@ import { sveltekit } from '@sveltejs/kit/vite';
|
||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [sveltekit()]
|
plugins: [sveltekit()],
|
||||||
|
test: {
|
||||||
|
include: ['src/**/*.{test,spec}.{js,ts}']
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue