Merge pull request #10 from BradNut/development

Development
This commit is contained in:
Bradley Shellnut 2023-01-08 11:56:51 -08:00 committed by GitHub
commit b1a8d9c983
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 223 additions and 184 deletions

View file

@ -13,23 +13,23 @@
"format": "prettier --write --plugin-search-dir=. ." "format": "prettier --write --plugin-search-dir=. ."
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "^1.29.1", "@playwright/test": "^1.29.2",
"@rgossiaux/svelte-headlessui": "1.0.2", "@rgossiaux/svelte-headlessui": "1.0.2",
"@rgossiaux/svelte-heroicons": "^0.1.2", "@rgossiaux/svelte-heroicons": "^0.1.2",
"@sveltejs/adapter-auto": "^1.0.0", "@sveltejs/adapter-auto": "^1.0.0",
"@sveltejs/adapter-vercel": "^1.0.0", "@sveltejs/adapter-vercel": "^1.0.1",
"@sveltejs/kit": "^1.0.1", "@sveltejs/kit": "^1.0.7",
"@types/cookie": "^0.5.1", "@types/cookie": "^0.5.1",
"@types/node": "^18.11.18", "@types/node": "^18.11.18",
"@typescript-eslint/eslint-plugin": "^5.47.1", "@typescript-eslint/eslint-plugin": "^5.48.0",
"@typescript-eslint/parser": "^5.47.1", "@typescript-eslint/parser": "^5.48.0",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.13",
"eslint": "^8.30.0", "eslint": "^8.31.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.6.0",
"eslint-plugin-svelte3": "^4.0.0", "eslint-plugin-svelte3": "^4.0.0",
"just-clone": "^6.2.0", "just-clone": "^6.2.0",
"just-debounce-it": "^3.2.0", "just-debounce-it": "^3.2.0",
"postcss": "^8.4.20", "postcss": "^8.4.21",
"postcss-color-functional-notation": "^4.2.4", "postcss-color-functional-notation": "^4.2.4",
"postcss-custom-media": "^9.0.1", "postcss-custom-media": "^9.0.1",
"postcss-env-function": "^4.0.6", "postcss-env-function": "^4.0.6",
@ -37,7 +37,7 @@
"postcss-load-config": "^4.0.1", "postcss-load-config": "^4.0.1",
"postcss-media-minmax": "^5.0.0", "postcss-media-minmax": "^5.0.0",
"postcss-nested": "^6.0.0", "postcss-nested": "^6.0.0",
"prettier": "^2.8.1", "prettier": "^2.8.2",
"prettier-plugin-svelte": "^2.9.0", "prettier-plugin-svelte": "^2.9.0",
"sass": "^1.57.1", "sass": "^1.57.1",
"svelte": "^3.55.0", "svelte": "^3.55.0",
@ -45,7 +45,7 @@
"svelte-preprocess": "^4.10.7", "svelte-preprocess": "^4.10.7",
"tslib": "^2.4.1", "tslib": "^2.4.1",
"typescript": "^4.9.4", "typescript": "^4.9.4",
"vite": "^4.0.3", "vite": "^4.0.4",
"vitest": "^0.25.3" "vitest": "^0.25.3"
}, },
"type": "module", "type": "module",

View file

@ -5,26 +5,26 @@ specifiers:
'@leveluptuts/svelte-side-menu': ^1.0.5 '@leveluptuts/svelte-side-menu': ^1.0.5
'@leveluptuts/svelte-toy': ^2.0.3 '@leveluptuts/svelte-toy': ^2.0.3
'@lukeed/uuid': ^2.0.0 '@lukeed/uuid': ^2.0.0
'@playwright/test': ^1.29.1 '@playwright/test': ^1.29.2
'@rgossiaux/svelte-headlessui': 1.0.2 '@rgossiaux/svelte-headlessui': 1.0.2
'@rgossiaux/svelte-heroicons': ^0.1.2 '@rgossiaux/svelte-heroicons': ^0.1.2
'@sveltejs/adapter-auto': ^1.0.0 '@sveltejs/adapter-auto': ^1.0.0
'@sveltejs/adapter-vercel': ^1.0.0 '@sveltejs/adapter-vercel': ^1.0.1
'@sveltejs/kit': ^1.0.1 '@sveltejs/kit': ^1.0.7
'@types/cookie': ^0.5.1 '@types/cookie': ^0.5.1
'@types/feather-icons': ^4.29.1 '@types/feather-icons': ^4.29.1
'@types/node': ^18.11.18 '@types/node': ^18.11.18
'@typescript-eslint/eslint-plugin': ^5.47.1 '@typescript-eslint/eslint-plugin': ^5.48.0
'@typescript-eslint/parser': ^5.47.1 '@typescript-eslint/parser': ^5.48.0
autoprefixer: ^10.4.13 autoprefixer: ^10.4.13
cookie: ^0.5.0 cookie: ^0.5.0
eslint: ^8.30.0 eslint: ^8.31.0
eslint-config-prettier: ^8.5.0 eslint-config-prettier: ^8.6.0
eslint-plugin-svelte3: ^4.0.0 eslint-plugin-svelte3: ^4.0.0
feather-icons: ^4.29.0 feather-icons: ^4.29.0
just-clone: ^6.2.0 just-clone: ^6.2.0
just-debounce-it: ^3.2.0 just-debounce-it: ^3.2.0
postcss: ^8.4.20 postcss: ^8.4.21
postcss-color-functional-notation: ^4.2.4 postcss-color-functional-notation: ^4.2.4
postcss-custom-media: ^9.0.1 postcss-custom-media: ^9.0.1
postcss-env-function: ^4.0.6 postcss-env-function: ^4.0.6
@ -32,7 +32,7 @@ specifiers:
postcss-load-config: ^4.0.1 postcss-load-config: ^4.0.1
postcss-media-minmax: ^5.0.0 postcss-media-minmax: ^5.0.0
postcss-nested: ^6.0.0 postcss-nested: ^6.0.0
prettier: ^2.8.1 prettier: ^2.8.2
prettier-plugin-svelte: ^2.9.0 prettier-plugin-svelte: ^2.9.0
sass: ^1.57.1 sass: ^1.57.1
svelte: ^3.55.0 svelte: ^3.55.0
@ -41,7 +41,7 @@ specifiers:
svelte-preprocess: ^4.10.7 svelte-preprocess: ^4.10.7
tslib: ^2.4.1 tslib: ^2.4.1
typescript: ^4.9.4 typescript: ^4.9.4
vite: ^4.0.3 vite: ^4.0.4
vitest: ^0.25.3 vitest: ^0.25.3
zod: ^3.20.2 zod: ^3.20.2
zod-to-json-schema: ^3.20.1 zod-to-json-schema: ^3.20.1
@ -59,39 +59,39 @@ dependencies:
zod-to-json-schema: 3.20.1_zod@3.20.2 zod-to-json-schema: 3.20.1_zod@3.20.2
devDependencies: devDependencies:
'@playwright/test': 1.29.1 '@playwright/test': 1.29.2
'@rgossiaux/svelte-headlessui': 1.0.2_svelte@3.55.0 '@rgossiaux/svelte-headlessui': 1.0.2_svelte@3.55.0
'@rgossiaux/svelte-heroicons': 0.1.2_svelte@3.55.0 '@rgossiaux/svelte-heroicons': 0.1.2_svelte@3.55.0
'@sveltejs/adapter-auto': 1.0.0_@sveltejs+kit@1.0.1 '@sveltejs/adapter-auto': 1.0.0_@sveltejs+kit@1.0.7
'@sveltejs/adapter-vercel': 1.0.0_@sveltejs+kit@1.0.1 '@sveltejs/adapter-vercel': 1.0.1_@sveltejs+kit@1.0.7
'@sveltejs/kit': 1.0.1_svelte@3.55.0+vite@4.0.3 '@sveltejs/kit': 1.0.7_svelte@3.55.0+vite@4.0.4
'@types/cookie': 0.5.1 '@types/cookie': 0.5.1
'@types/node': 18.11.18 '@types/node': 18.11.18
'@typescript-eslint/eslint-plugin': 5.47.1_txmweb6yn7coi7nfrp22gpyqmy '@typescript-eslint/eslint-plugin': 5.48.0_k73wpmdolxikpyqun3p36akaaq
'@typescript-eslint/parser': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe
autoprefixer: 10.4.13_postcss@8.4.20 autoprefixer: 10.4.13_postcss@8.4.21
eslint: 8.30.0 eslint: 8.31.0
eslint-config-prettier: 8.5.0_eslint@8.30.0 eslint-config-prettier: 8.6.0_eslint@8.31.0
eslint-plugin-svelte3: 4.0.0_khrjkzzv5v2x7orkj5o7sxbz3a eslint-plugin-svelte3: 4.0.0_6go7qzsvzihesfwmyvq3tnl5qq
just-clone: 6.2.0 just-clone: 6.2.0
just-debounce-it: 3.2.0 just-debounce-it: 3.2.0
postcss: 8.4.20 postcss: 8.4.21
postcss-color-functional-notation: 4.2.4_postcss@8.4.20 postcss-color-functional-notation: 4.2.4_postcss@8.4.21
postcss-custom-media: 9.0.1_postcss@8.4.20 postcss-custom-media: 9.0.1_postcss@8.4.21
postcss-env-function: 4.0.6_postcss@8.4.20 postcss-env-function: 4.0.6_postcss@8.4.21
postcss-import: 15.1.0_postcss@8.4.20 postcss-import: 15.1.0_postcss@8.4.21
postcss-load-config: 4.0.1_postcss@8.4.20 postcss-load-config: 4.0.1_postcss@8.4.21
postcss-media-minmax: 5.0.0_postcss@8.4.20 postcss-media-minmax: 5.0.0_postcss@8.4.21
postcss-nested: 6.0.0_postcss@8.4.20 postcss-nested: 6.0.0_postcss@8.4.21
prettier: 2.8.1 prettier: 2.8.2
prettier-plugin-svelte: 2.9.0_ajxj753sv7dbwexjherrch25ta prettier-plugin-svelte: 2.9.0_74vfyr7qjo56zgjcvkwi6gyjxm
sass: 1.57.1 sass: 1.57.1
svelte: 3.55.0 svelte: 3.55.0
svelte-check: 2.10.3_4lnkwqcemnb5nqtedf5d2a3nju svelte-check: 2.10.3_2ucm3gises2g7s47d5nd3e3tqa
svelte-preprocess: 4.10.7_tnndubilh5oonjnlrc3mxe2fxi svelte-preprocess: 4.10.7_vsntmwrrlk5avk6zexsfqc76hy
tslib: 2.4.1 tslib: 2.4.1
typescript: 4.9.4 typescript: 4.9.4
vite: 4.0.3_ovmyjmuuyckt3r3gpaexj2onji vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji
vitest: 0.25.8_sass@1.57.1 vitest: 0.25.8_sass@1.57.1
packages: packages:
@ -319,8 +319,8 @@ packages:
dev: true dev: true
optional: true optional: true
/@eslint/eslintrc/1.4.0: /@eslint/eslintrc/1.4.1:
resolution: {integrity: sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==} resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
@ -437,13 +437,13 @@ packages:
fastq: 1.13.0 fastq: 1.13.0
dev: true dev: true
/@playwright/test/1.29.1: /@playwright/test/1.29.2:
resolution: {integrity: sha512-iQxk2DX5U9wOGV3+/Jh9OHPsw5H3mleUL2S4BgQuwtlAfK3PnKvn38m4Rg9zIViGHVW24opSm99HQm/UFLEy6w==} resolution: {integrity: sha512-+3/GPwOgcoF0xLz/opTnahel1/y42PdcgZ4hs+BZGIUjtmEFSXGg+nFoaH3NSmuc7a6GSFwXDJ5L7VXpqzigNg==}
engines: {node: '>=14'} engines: {node: '>=14'}
hasBin: true hasBin: true
dependencies: dependencies:
'@types/node': 18.11.18 '@types/node': 18.11.18
playwright-core: 1.29.1 playwright-core: 1.29.2
dev: true dev: true
/@polka/url/1.0.0-next.21: /@polka/url/1.0.0-next.21:
@ -474,21 +474,21 @@ packages:
picomatch: 2.3.1 picomatch: 2.3.1
dev: true dev: true
/@sveltejs/adapter-auto/1.0.0_@sveltejs+kit@1.0.1: /@sveltejs/adapter-auto/1.0.0_@sveltejs+kit@1.0.7:
resolution: {integrity: sha512-yKyPvlLVua1bJ/42FrR3X041mFGdB4GzTZOAEoHUcNBRE5Mhx94+eqHpC3hNvAOiLEDcKfVO0ObyKSu7qldU+w==} resolution: {integrity: sha512-yKyPvlLVua1bJ/42FrR3X041mFGdB4GzTZOAEoHUcNBRE5Mhx94+eqHpC3hNvAOiLEDcKfVO0ObyKSu7qldU+w==}
peerDependencies: peerDependencies:
'@sveltejs/kit': ^1.0.0 '@sveltejs/kit': ^1.0.0
dependencies: dependencies:
'@sveltejs/kit': 1.0.1_svelte@3.55.0+vite@4.0.3 '@sveltejs/kit': 1.0.7_svelte@3.55.0+vite@4.0.4
import-meta-resolve: 2.2.0 import-meta-resolve: 2.2.0
dev: true dev: true
/@sveltejs/adapter-vercel/1.0.0_@sveltejs+kit@1.0.1: /@sveltejs/adapter-vercel/1.0.1_@sveltejs+kit@1.0.7:
resolution: {integrity: sha512-3zM/7BJbtxBo02J4/2mpZyiHZtH6HAggND/xRaBiKjSsKSMYvKC4ipqVfHoESuW5NQNAnJVf1zMAQY2PPxv91w==} resolution: {integrity: sha512-2v06K1dKC8VmQnB8P/dAdBuNSQYvJbhBkCFpiBptkptoYMcSZnT2fYqsmtoUJDn13ACDQttorcFIQkf0BeFMQw==}
peerDependencies: peerDependencies:
'@sveltejs/kit': ^1.0.0 '@sveltejs/kit': ^1.0.0
dependencies: dependencies:
'@sveltejs/kit': 1.0.1_svelte@3.55.0+vite@4.0.3 '@sveltejs/kit': 1.0.7_svelte@3.55.0+vite@4.0.4
'@vercel/nft': 0.22.6 '@vercel/nft': 0.22.6
esbuild: 0.16.8 esbuild: 0.16.8
transitivePeerDependencies: transitivePeerDependencies:
@ -496,8 +496,8 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@sveltejs/kit/1.0.1_svelte@3.55.0+vite@4.0.3: /@sveltejs/kit/1.0.7_svelte@3.55.0+vite@4.0.4:
resolution: {integrity: sha512-C41aCaDjA7xoUdsrc/lSdU1059UdLPIRE1vEIRRynzpMujNgp82bTMHkDosb6vykH6LrLf3tT2w2/5NYQhKYGQ==} resolution: {integrity: sha512-u8JS4aXFWlrnu/tjl+EhJ/FvBEjLYDyMaLe7EAU4sW+PfDqnqyHBAPg/IQi5JuBg6l+Z816F4WrTe+zplUTQDg==}
engines: {node: ^16.14 || >=18} engines: {node: ^16.14 || >=18}
hasBin: true hasBin: true
requiresBuild: true requiresBuild: true
@ -505,7 +505,7 @@ packages:
svelte: ^3.54.0 svelte: ^3.54.0
vite: ^4.0.0 vite: ^4.0.0
dependencies: dependencies:
'@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.0+vite@4.0.3 '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.0+vite@4.0.4
'@types/cookie': 0.5.1 '@types/cookie': 0.5.1
cookie: 0.5.0 cookie: 0.5.0
devalue: 4.2.0 devalue: 4.2.0
@ -519,12 +519,12 @@ packages:
svelte: 3.55.0 svelte: 3.55.0
tiny-glob: 0.2.9 tiny-glob: 0.2.9
undici: 5.14.0 undici: 5.14.0
vite: 4.0.3_ovmyjmuuyckt3r3gpaexj2onji vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.0+vite@4.0.3: /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.0+vite@4.0.4:
resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==} resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==}
engines: {node: ^14.18.0 || >= 16} engines: {node: ^14.18.0 || >= 16}
peerDependencies: peerDependencies:
@ -537,8 +537,8 @@ packages:
magic-string: 0.27.0 magic-string: 0.27.0
svelte: 3.55.0 svelte: 3.55.0
svelte-hmr: 0.15.1_svelte@3.55.0 svelte-hmr: 0.15.1_svelte@3.55.0
vite: 4.0.3_ovmyjmuuyckt3r3gpaexj2onji vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji
vitefu: 0.2.4_vite@4.0.3 vitefu: 0.2.4_vite@4.0.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@ -583,8 +583,8 @@ packages:
resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
dev: true dev: true
/@typescript-eslint/eslint-plugin/5.47.1_txmweb6yn7coi7nfrp22gpyqmy: /@typescript-eslint/eslint-plugin/5.48.0_k73wpmdolxikpyqun3p36akaaq:
resolution: {integrity: sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg==} resolution: {integrity: sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==}
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
@ -594,12 +594,12 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe
'@typescript-eslint/scope-manager': 5.47.1 '@typescript-eslint/scope-manager': 5.48.0
'@typescript-eslint/type-utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa '@typescript-eslint/type-utils': 5.48.0_iukboom6ndih5an6iafl45j2fe
'@typescript-eslint/utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe
debug: 4.3.4 debug: 4.3.4
eslint: 8.30.0 eslint: 8.31.0
ignore: 5.2.1 ignore: 5.2.1
natural-compare-lite: 1.4.0 natural-compare-lite: 1.4.0
regexpp: 3.2.0 regexpp: 3.2.0
@ -610,8 +610,8 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/parser/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: /@typescript-eslint/parser/5.48.0_iukboom6ndih5an6iafl45j2fe:
resolution: {integrity: sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw==} resolution: {integrity: sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==}
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
@ -620,26 +620,26 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/scope-manager': 5.47.1 '@typescript-eslint/scope-manager': 5.48.0
'@typescript-eslint/types': 5.47.1 '@typescript-eslint/types': 5.48.0
'@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4
debug: 4.3.4 debug: 4.3.4
eslint: 8.30.0 eslint: 8.31.0
typescript: 4.9.4 typescript: 4.9.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/scope-manager/5.47.1: /@typescript-eslint/scope-manager/5.48.0:
resolution: {integrity: sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw==} resolution: {integrity: sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==}
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.47.1 '@typescript-eslint/types': 5.48.0
'@typescript-eslint/visitor-keys': 5.47.1 '@typescript-eslint/visitor-keys': 5.48.0
dev: true dev: true
/@typescript-eslint/type-utils/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: /@typescript-eslint/type-utils/5.48.0_iukboom6ndih5an6iafl45j2fe:
resolution: {integrity: sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w==} resolution: {integrity: sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==}
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: '*'
@ -648,23 +648,23 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4
'@typescript-eslint/utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe
debug: 4.3.4 debug: 4.3.4
eslint: 8.30.0 eslint: 8.31.0
tsutils: 3.21.0_typescript@4.9.4 tsutils: 3.21.0_typescript@4.9.4
typescript: 4.9.4 typescript: 4.9.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/types/5.47.1: /@typescript-eslint/types/5.48.0:
resolution: {integrity: sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A==} resolution: {integrity: sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==}
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.47.1_typescript@4.9.4: /@typescript-eslint/typescript-estree/5.48.0_typescript@4.9.4:
resolution: {integrity: sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA==} resolution: {integrity: sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==}
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: '*'
@ -672,8 +672,8 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/types': 5.47.1 '@typescript-eslint/types': 5.48.0
'@typescript-eslint/visitor-keys': 5.47.1 '@typescript-eslint/visitor-keys': 5.48.0
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
@ -684,31 +684,31 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/utils/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: /@typescript-eslint/utils/5.48.0_iukboom6ndih5an6iafl45j2fe:
resolution: {integrity: sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw==} resolution: {integrity: sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==}
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
dependencies: dependencies:
'@types/json-schema': 7.0.11 '@types/json-schema': 7.0.11
'@types/semver': 7.3.13 '@types/semver': 7.3.13
'@typescript-eslint/scope-manager': 5.47.1 '@typescript-eslint/scope-manager': 5.48.0
'@typescript-eslint/types': 5.47.1 '@typescript-eslint/types': 5.48.0
'@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4
eslint: 8.30.0 eslint: 8.31.0
eslint-scope: 5.1.1 eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@8.30.0 eslint-utils: 3.0.0_eslint@8.31.0
semver: 7.3.8 semver: 7.3.8
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- typescript - typescript
dev: true dev: true
/@typescript-eslint/visitor-keys/5.47.1: /@typescript-eslint/visitor-keys/5.48.0:
resolution: {integrity: sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig==} resolution: {integrity: sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==}
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.47.1 '@typescript-eslint/types': 5.48.0
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.3.0
dev: true dev: true
@ -823,7 +823,7 @@ packages:
resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
dev: true dev: true
/autoprefixer/10.4.13_postcss@8.4.20: /autoprefixer/10.4.13_postcss@8.4.21:
resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
hasBin: true hasBin: true
@ -835,7 +835,7 @@ packages:
fraction.js: 4.2.0 fraction.js: 4.2.0
normalize-range: 0.1.2 normalize-range: 0.1.2
picocolors: 1.0.0 picocolors: 1.0.0
postcss: 8.4.20 postcss: 8.4.21
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
dev: true dev: true
@ -1108,22 +1108,22 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: true dev: true
/eslint-config-prettier/8.5.0_eslint@8.30.0: /eslint-config-prettier/8.6.0_eslint@8.31.0:
resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
eslint: '>=7.0.0' eslint: '>=7.0.0'
dependencies: dependencies:
eslint: 8.30.0 eslint: 8.31.0
dev: true dev: true
/eslint-plugin-svelte3/4.0.0_khrjkzzv5v2x7orkj5o7sxbz3a: /eslint-plugin-svelte3/4.0.0_6go7qzsvzihesfwmyvq3tnl5qq:
resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==}
peerDependencies: peerDependencies:
eslint: '>=8.0.0' eslint: '>=8.0.0'
svelte: ^3.2.0 svelte: ^3.2.0
dependencies: dependencies:
eslint: 8.30.0 eslint: 8.31.0
svelte: 3.55.0 svelte: 3.55.0
dev: true dev: true
@ -1143,13 +1143,13 @@ packages:
estraverse: 5.3.0 estraverse: 5.3.0
dev: true dev: true
/eslint-utils/3.0.0_eslint@8.30.0: /eslint-utils/3.0.0_eslint@8.31.0:
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
peerDependencies: peerDependencies:
eslint: '>=5' eslint: '>=5'
dependencies: dependencies:
eslint: 8.30.0 eslint: 8.31.0
eslint-visitor-keys: 2.1.0 eslint-visitor-keys: 2.1.0
dev: true dev: true
@ -1163,12 +1163,12 @@ 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
/eslint/8.30.0: /eslint/8.31.0:
resolution: {integrity: sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==} resolution: {integrity: sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true hasBin: true
dependencies: dependencies:
'@eslint/eslintrc': 1.4.0 '@eslint/eslintrc': 1.4.1
'@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/config-array': 0.11.8
'@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8 '@nodelib/fs.walk': 1.2.8
@ -1179,7 +1179,7 @@ packages:
doctrine: 3.0.0 doctrine: 3.0.0
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint-scope: 7.1.1 eslint-scope: 7.1.1
eslint-utils: 3.0.0_eslint@8.30.0 eslint-utils: 3.0.0_eslint@8.31.0
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.3.0
espree: 9.4.1 espree: 9.4.1
esquery: 1.4.0 esquery: 1.4.0
@ -1878,23 +1878,23 @@ packages:
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true dev: true
/playwright-core/1.29.1: /playwright-core/1.29.2:
resolution: {integrity: sha512-20Ai3d+lMkWpI9YZYlxk8gxatfgax5STW8GaMozAHwigLiyiKQrdkt7gaoT9UQR8FIVDg6qVXs9IoZUQrDjIIg==} resolution: {integrity: sha512-94QXm4PMgFoHAhlCuoWyaBYKb92yOcGVHdQLoxQ7Wjlc7Flg4aC/jbFW7xMR52OfXMVkWicue4WXE7QEegbIRA==}
engines: {node: '>=14'} engines: {node: '>=14'}
hasBin: true hasBin: true
dev: true dev: true
/postcss-color-functional-notation/4.2.4_postcss@8.4.20: /postcss-color-functional-notation/4.2.4_postcss@8.4.21:
resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==}
engines: {node: ^12 || ^14 || >=16} engines: {node: ^12 || ^14 || >=16}
peerDependencies: peerDependencies:
postcss: ^8.2 postcss: ^8.2
dependencies: dependencies:
postcss: 8.4.20 postcss: 8.4.21
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
dev: true dev: true
/postcss-custom-media/9.0.1_postcss@8.4.20: /postcss-custom-media/9.0.1_postcss@8.4.21:
resolution: {integrity: sha512-CimS72gZZ0V4WPFg7t7EqFVLxJ0mqwAJSsuk+LNHSo9ApC7d/SuOr65sKrUY/D8locOh+3s4yO7IdqQ9cRSR7Q==} resolution: {integrity: sha512-CimS72gZZ0V4WPFg7t7EqFVLxJ0mqwAJSsuk+LNHSo9ApC7d/SuOr65sKrUY/D8locOh+3s4yO7IdqQ9cRSR7Q==}
engines: {node: ^14 || ^16 || >=18} engines: {node: ^14 || ^16 || >=18}
peerDependencies: peerDependencies:
@ -1903,32 +1903,32 @@ packages:
'@csstools/css-parser-algorithms': 1.0.0_yc2lywpo4a5sk4h3mmwqkmetvu '@csstools/css-parser-algorithms': 1.0.0_yc2lywpo4a5sk4h3mmwqkmetvu
'@csstools/css-tokenizer': 1.0.0 '@csstools/css-tokenizer': 1.0.0
'@csstools/media-query-list-parser': 1.0.0_oycmb73qbeg4xspzoh5ywrqikm '@csstools/media-query-list-parser': 1.0.0_oycmb73qbeg4xspzoh5ywrqikm
postcss: 8.4.20 postcss: 8.4.21
dev: true dev: true
/postcss-env-function/4.0.6_postcss@8.4.20: /postcss-env-function/4.0.6_postcss@8.4.21:
resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==}
engines: {node: ^12 || ^14 || >=16} engines: {node: ^12 || ^14 || >=16}
peerDependencies: peerDependencies:
postcss: ^8.4 postcss: ^8.4
dependencies: dependencies:
postcss: 8.4.20 postcss: 8.4.21
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
dev: true dev: true
/postcss-import/15.1.0_postcss@8.4.20: /postcss-import/15.1.0_postcss@8.4.21:
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
peerDependencies: peerDependencies:
postcss: ^8.0.0 postcss: ^8.0.0
dependencies: dependencies:
postcss: 8.4.20 postcss: 8.4.21
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 dev: true
/postcss-load-config/4.0.1_postcss@8.4.20: /postcss-load-config/4.0.1_postcss@8.4.21:
resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
peerDependencies: peerDependencies:
@ -1941,26 +1941,26 @@ packages:
optional: true optional: true
dependencies: dependencies:
lilconfig: 2.0.6 lilconfig: 2.0.6
postcss: 8.4.20 postcss: 8.4.21
yaml: 2.1.3 yaml: 2.1.3
dev: true dev: true
/postcss-media-minmax/5.0.0_postcss@8.4.20: /postcss-media-minmax/5.0.0_postcss@8.4.21:
resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
peerDependencies: peerDependencies:
postcss: ^8.1.0 postcss: ^8.1.0
dependencies: dependencies:
postcss: 8.4.20 postcss: 8.4.21
dev: true dev: true
/postcss-nested/6.0.0_postcss@8.4.20: /postcss-nested/6.0.0_postcss@8.4.21:
resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==}
engines: {node: '>=12.0'} engines: {node: '>=12.0'}
peerDependencies: peerDependencies:
postcss: ^8.2.14 postcss: ^8.2.14
dependencies: dependencies:
postcss: 8.4.20 postcss: 8.4.21
postcss-selector-parser: 6.0.11 postcss-selector-parser: 6.0.11
dev: true dev: true
@ -1976,8 +1976,8 @@ packages:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
dev: true dev: true
/postcss/8.4.20: /postcss/8.4.21:
resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
dependencies: dependencies:
nanoid: 3.3.4 nanoid: 3.3.4
@ -1990,18 +1990,18 @@ packages:
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
dev: true dev: true
/prettier-plugin-svelte/2.9.0_ajxj753sv7dbwexjherrch25ta: /prettier-plugin-svelte/2.9.0_74vfyr7qjo56zgjcvkwi6gyjxm:
resolution: {integrity: sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==} resolution: {integrity: sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==}
peerDependencies: peerDependencies:
prettier: ^1.16.4 || ^2.0.0 prettier: ^1.16.4 || ^2.0.0
svelte: ^3.2.0 svelte: ^3.2.0
dependencies: dependencies:
prettier: 2.8.1 prettier: 2.8.2
svelte: 3.55.0 svelte: 3.55.0
dev: true dev: true
/prettier/2.8.1: /prettier/2.8.2:
resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} resolution: {integrity: sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
hasBin: true hasBin: true
dev: true dev: true
@ -2257,7 +2257,7 @@ packages:
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dev: true dev: true
/svelte-check/2.10.3_4lnkwqcemnb5nqtedf5d2a3nju: /svelte-check/2.10.3_2ucm3gises2g7s47d5nd3e3tqa:
resolution: {integrity: sha512-Nt1aWHTOKFReBpmJ1vPug0aGysqPwJh2seM1OvICfM2oeyaA62mOiy5EvkXhltGfhCcIQcq2LoE0l1CwcWPjlw==} resolution: {integrity: sha512-Nt1aWHTOKFReBpmJ1vPug0aGysqPwJh2seM1OvICfM2oeyaA62mOiy5EvkXhltGfhCcIQcq2LoE0l1CwcWPjlw==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -2270,7 +2270,7 @@ packages:
picocolors: 1.0.0 picocolors: 1.0.0
sade: 1.8.1 sade: 1.8.1
svelte: 3.55.0 svelte: 3.55.0
svelte-preprocess: 4.10.7_tnndubilh5oonjnlrc3mxe2fxi svelte-preprocess: 4.10.7_vsntmwrrlk5avk6zexsfqc76hy
typescript: 4.9.4 typescript: 4.9.4
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
@ -2298,7 +2298,7 @@ packages:
resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==} resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==}
dev: false dev: false
/svelte-preprocess/4.10.7_tnndubilh5oonjnlrc3mxe2fxi: /svelte-preprocess/4.10.7_vsntmwrrlk5avk6zexsfqc76hy:
resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==}
engines: {node: '>= 9.11.2'} engines: {node: '>= 9.11.2'}
requiresBuild: true requiresBuild: true
@ -2343,8 +2343,8 @@ packages:
'@types/sass': 1.43.1 '@types/sass': 1.43.1
detect-indent: 6.1.0 detect-indent: 6.1.0
magic-string: 0.25.9 magic-string: 0.25.9
postcss: 8.4.20 postcss: 8.4.21
postcss-load-config: 4.0.1_postcss@8.4.20 postcss-load-config: 4.0.1_postcss@8.4.21
sass: 1.57.1 sass: 1.57.1
sorcery: 0.10.0 sorcery: 0.10.0
strip-indent: 3.0.0 strip-indent: 3.0.0
@ -2479,8 +2479,8 @@ packages:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true dev: true
/vite/4.0.3_ovmyjmuuyckt3r3gpaexj2onji: /vite/4.0.4_ovmyjmuuyckt3r3gpaexj2onji:
resolution: {integrity: sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==} resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -2506,7 +2506,7 @@ packages:
dependencies: dependencies:
'@types/node': 18.11.18 '@types/node': 18.11.18
esbuild: 0.16.8 esbuild: 0.16.8
postcss: 8.4.20 postcss: 8.4.21
resolve: 1.22.1 resolve: 1.22.1
rollup: 3.7.5 rollup: 3.7.5
sass: 1.57.1 sass: 1.57.1
@ -2514,7 +2514,7 @@ packages:
fsevents: 2.3.2 fsevents: 2.3.2
dev: true dev: true
/vitefu/0.2.4_vite@4.0.3: /vitefu/0.2.4_vite@4.0.4:
resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
peerDependencies: peerDependencies:
vite: ^3.0.0 || ^4.0.0 vite: ^3.0.0 || ^4.0.0
@ -2522,7 +2522,7 @@ packages:
vite: vite:
optional: true optional: true
dependencies: dependencies:
vite: 4.0.3_ovmyjmuuyckt3r3gpaexj2onji vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji
dev: true dev: true
/vitest/0.25.8_sass@1.57.1: /vitest/0.25.8_sass@1.57.1:
@ -2560,7 +2560,7 @@ packages:
tinybench: 2.3.1 tinybench: 2.3.1
tinypool: 0.3.0 tinypool: 0.3.0
tinyspy: 1.0.2 tinyspy: 1.0.2
vite: 4.0.3_ovmyjmuuyckt3r3gpaexj2onji vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji
transitivePeerDependencies: transitivePeerDependencies:
- less - less
- sass - sass

View file

@ -20,6 +20,6 @@
display: grid; display: grid;
grid-template-columns: repeat(2, auto); grid-template-columns: repeat(2, auto);
place-items: center; place-items: center;
gap: 1rem; gap: 0.25rem;
} }
</style> </style>

View file

@ -77,7 +77,7 @@
type="button" type="button"
on:click={() => { on:click={() => {
removeGameFromCollection(); removeGameFromCollection();
}}>Remove from Collection <MinusCircleIcon width="24" height="24" /></button }}><span>Remove from Collection</span> <MinusCircleIcon width="24" height="24" /></button
> >
{:else} {:else}
<button <button
@ -89,7 +89,7 @@
if (browser) { if (browser) {
localStorage.collection = JSON.stringify($collectionStore); localStorage.collection = JSON.stringify($collectionStore);
} }
}}>Add to collection <PlusCircleIcon width="24" height="24" /></button }}><span>Add to collection</span> <PlusCircleIcon width="24" height="24" /></button
> >
{/if} {/if}
{#if existsInWishlist} {#if existsInWishlist}
@ -99,7 +99,7 @@
type="button" type="button"
on:click={() => { on:click={() => {
removeGameFromWishlist(); removeGameFromWishlist();
}}>Remove from Wishlist <MinusCircleIcon width="24" height="24" /></button }}><span>Remove from Wishlist</span> <MinusCircleIcon width="24" height="24" /></button
> >
{:else} {:else}
<button <button
@ -111,7 +111,7 @@
if (browser) { if (browser) {
localStorage.wishlist = JSON.stringify($wishlistStore); localStorage.wishlist = JSON.stringify($wishlistStore);
} }
}}>Add to wishlist <PlusCircleIcon width="24" height="24" /></button }}><span>Add to wishlist</span> <PlusCircleIcon width="24" height="24" /></button
> >
{/if} {/if}
</div> </div>
@ -172,6 +172,7 @@
.btn { .btn {
max-height: 100px; max-height: 100px;
text-align: start;
} }
.remove { .remove {

View file

@ -55,7 +55,6 @@
} }
let placeholderList = [...Array(numberOfGameSkeleton).keys()]; let placeholderList = [...Array(numberOfGameSkeleton).keys()];
console.log(placeholderList);
if (form?.error) { if (form?.error) {
disclosureOpen = true; disclosureOpen = true;

27
src/lib/util/accordion.ts Normal file
View file

@ -0,0 +1,27 @@
export default function (node: HTMLElement) {
const setHeight = (detail: HTMLDetailsElement, open = false) => {
detail.open = open;
const rect = detail.getBoundingClientRect();
detail.dataset.width = `${rect.width}`;
detail.style.setProperty(open ? `--expanded` : `--collapsed`, `${rect.height}px`);
};
const RO = new ResizeObserver((entries) => {
return entries.forEach((entry) => {
const detail: HTMLDetailsElement = entry.target;
const width: number = parseInt(detail.dataset.width, 10);
if (width !== parseInt(entry.contentRect.width, 10)) {
detail.removeAttribute('style');
setHeight(detail);
setHeight(detail, true);
detail.open = false;
}
});
});
RO.observe(node);
return {
destroy() {
RO.unobserve(node);
}
};
}

View file

@ -5,21 +5,23 @@ import { convertToSavedGame } from './gameMapper';
import { saved_game_schema } from '../zodValidation'; import { saved_game_schema } from '../zodValidation';
export function addToCollection(game: GameType | SavedGameType) { export function addToCollection(game: GameType | SavedGameType) {
try { try {
saved_game_schema.parse(game); console.log(`Saving game: ${JSON.stringify(game)}`);
collectionStore.add(convertToSavedGame(game)); saved_game_schema.parse(game);
toast.send("Added to collection", { duration: 3000, type: ToastType.INFO }); collectionStore.add(convertToSavedGame(game));
} catch (error) { toast.send('Added to collection', { duration: 3000, type: ToastType.INFO });
toast.send('Error adding to collection', { duration: 3000, type: ToastType.ERROR }); } catch (error) {
} console.log(error);
toast.send('Error adding to collection', { duration: 3000, type: ToastType.ERROR });
}
} }
export function removeFromCollection(game: GameType | SavedGameType) { export function removeFromCollection(game: GameType | SavedGameType) {
try { try {
saved_game_schema.parse(game); saved_game_schema.parse(game);
collectionStore.remove(game.id); collectionStore.remove(game.id);
toast.send("Removed from collection", { duration: 3000, type: ToastType.INFO }); toast.send('Removed from collection', { duration: 3000, type: ToastType.INFO });
} catch (error) { } catch (error) {
toast.send('Error removing from collection', { duration: 3000, type: ToastType.ERROR }); toast.send('Error removing from collection', { duration: 3000, type: ToastType.ERROR });
} }
} }

View file

@ -4,7 +4,9 @@ import { boardGameApi } from '../../api';
export const load: PageServerLoad = async ({ params, setHeaders }) => { export const load: PageServerLoad = async ({ params, setHeaders }) => {
const queryParams = { const queryParams = {
ids: `${params?.id}` ids: `${params?.id}`,
fields:
'id,name,price,min_age,min_players,max_players,thumb_url,playtime,min_playtime,max_playtime,min_age,description,year_published,image_url'
}; };
const response = await boardGameApi('get', `search`, queryParams); const response = await boardGameApi('get', `search`, queryParams);
@ -16,8 +18,12 @@ export const load: PageServerLoad = async ({ params, setHeaders }) => {
'Cache-Control': 'max-age=3600' 'Cache-Control': 'max-age=3600'
}); });
const game = gameResponse?.games[0];
game.players = `${game.min_players}-${game.max_players}`;
game.playtime = `${game.min_playtime}-${game.max_playtime}`;
return { return {
game: gameResponse?.games[0] game
}; };
} }

View file

@ -2,6 +2,7 @@
import { fade, fly } from 'svelte/transition'; import { fade, fly } from 'svelte/transition';
import { Image } from 'svelte-lazy-loader'; import { Image } from 'svelte-lazy-loader';
import { import {
ChevronRightIcon,
ExternalLinkIcon, ExternalLinkIcon,
MinusCircleIcon, MinusCircleIcon,
MinusIcon, MinusIcon,
@ -36,7 +37,7 @@
firstParagraphEnd = game?.description?.indexOf('</ p>') + 5; firstParagraphEnd = game?.description?.indexOf('</ p>') + 5;
} }
function remoceFromCollection() { function removeFromCollection() {
boredState.update((n) => ({ boredState.update((n) => ({
...n, ...n,
dialog: { isOpen: true, content: RemoveCollectionDialog, additionalData: game } dialog: { isOpen: true, content: RemoveCollectionDialog, additionalData: game }
@ -64,7 +65,7 @@
<!-- <img src={game.image_url} alt={`Image of ${game.name}`} /> --> <!-- <img src={game.image_url} alt={`Image of ${game.name}`} /> -->
</a> </a>
</div> </div>
<div style="display: grid; place-items: center; gap: 2rem;"> <div style="display: grid; place-items: center; gap: 3rem;">
<div class="details"> <div class="details">
{#if game?.year_published} {#if game?.year_published}
<p>Year: {game?.year_published}</p> <p>Year: {game?.year_published}</p>
@ -81,13 +82,15 @@
{#if +game?.price !== 0.0} {#if +game?.price !== 0.0}
<p>Price: ${game?.price}</p> <p>Price: ${game?.price}</p>
{/if} {/if}
<LinkWithIcon external ariaLabel={`Board Game Atlas Link for ${game.name}`} url={game.url}> <p>
Board Game Atlas <ExternalLinkIcon width="24" height="24" /> <LinkWithIcon external ariaLabel={`Board Game Atlas Link for ${game.name}`} url={game.url}>
</LinkWithIcon> Board Game Atlas <ExternalLinkIcon width="24" height="24" />
</LinkWithIcon>
</p>
</div> </div>
<div> <div style="display: grid; gap: 1.5rem; place-content: center;">
{#if existsInCollection} {#if existsInCollection}
<Button size="md" kind="danger" icon on:click={() => remoceFromCollection()}> <Button size="md" kind="danger" icon on:click={() => removeFromCollection()}>
Remove from collection <MinusCircleIcon width="24" height="24" /> Remove from collection <MinusCircleIcon width="24" height="24" />
</Button> </Button>
{:else} {:else}
@ -105,8 +108,6 @@
Add to collection <PlusCircleIcon width="24" height="24" /> Add to collection <PlusCircleIcon width="24" height="24" />
</Button> </Button>
{/if} {/if}
</div>
<div>
{#if existsInWishlist} {#if existsInWishlist}
<Button size="md" kind="danger" icon on:click={() => removeFromWishList()}> <Button size="md" kind="danger" icon on:click={() => removeFromWishList()}>
Remove from wishlist <MinusCircleIcon width="24" height="24" /> Remove from wishlist <MinusCircleIcon width="24" height="24" />
@ -173,7 +174,7 @@
border-radius: 4px; border-radius: 4px;
margin: 0; margin: 0;
padding: 1rem; padding: 1rem;
max-width: 30rem; max-width: 25rem;
background-color: var(--color-btn-primary-active); background-color: var(--color-btn-primary-active);
} }
@ -209,8 +210,6 @@
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
gap: 0.5rem; gap: 0.5rem;
place-content: center; place-content: center;
margin: 1rem;
a,
p { p {
margin: 1rem; margin: 1rem;
} }
@ -225,7 +224,7 @@
place-items: center; place-items: center;
gap: 1.5rem; gap: 1.5rem;
margin: 1rem; margin: 1rem;
line-height: 1.5em; line-height: 1.75em;
} }
.overflow-description { .overflow-description {
@ -236,7 +235,6 @@
.with-icon { .with-icon {
display: grid; display: grid;
grid-template-columns: repeat(2, auto); grid-template-columns: repeat(2, auto);
/* flex-wrap: wrap; */
place-items: center; place-items: center;
gap: 1rem; gap: 1rem;
} }

View file

@ -19,7 +19,9 @@ export const load: PageServerLoad = async ({ fetch, url }) => {
skip, skip,
client_id: BOARD_GAME_ATLAS_CLIENT_ID, client_id: BOARD_GAME_ATLAS_CLIENT_ID,
fuzzy_match: true, fuzzy_match: true,
name: '' name: '',
fields:
'id,name,min_age,min_players,max_players,thumb_url,min_playtime,max_playtime,min_age,description'
}; };
try { try {
@ -111,6 +113,8 @@ export const load: PageServerLoad = async ({ fetch, url }) => {
console.log('totalCount', totalCount); console.log('totalCount', totalCount);
const games: GameType[] = []; const games: GameType[] = [];
gameList.forEach((game) => { gameList.forEach((game) => {
game.players = `${game.min_players}-${game.max_players}`;
game.playtime = `${game.min_playtime}-${game.max_playtime}`;
games.push(mapAPIGameToBoredGame(game)); games.push(mapAPIGameToBoredGame(game));
}); });
@ -146,7 +150,9 @@ export const actions: Actions = {
order_by: 'rank', order_by: 'rank',
ascending: false, ascending: false,
client_id: BOARD_GAME_ATLAS_CLIENT_ID, client_id: BOARD_GAME_ATLAS_CLIENT_ID,
random: true random: true,
fields:
'id,name,min_age,min_players,max_players,thumb_url,min_playtime,max_playtime,min_age,description'
}; };
const newQueryParams: Record<string, string> = {}; const newQueryParams: Record<string, string> = {};
@ -181,6 +187,8 @@ export const actions: Actions = {
console.log('totalCount', totalCount); console.log('totalCount', totalCount);
const games: GameType[] = []; const games: GameType[] = [];
gameList.forEach((game) => { gameList.forEach((game) => {
game.players = `${game.min_players}-${game.max_players}`;
game.playtime = `${game.min_playtime}-${game.max_playtime}`;
games.push(mapAPIGameToBoredGame(game)); games.push(mapAPIGameToBoredGame(game));
}); });

View file

@ -6,8 +6,6 @@
export let data: PageData; export let data: PageData;
export let form: ActionData; export let form: ActionData;
console.log('data limit', data?.limit);
$: if (data?.games) { $: if (data?.games) {
gameStore.removeAll(); gameStore.removeAll();
gameStore.addAll(data?.games); gameStore.addAll(data?.games);