diff --git a/package.json b/package.json index 753d04e..da4ad35 100644 --- a/package.json +++ b/package.json @@ -13,23 +13,23 @@ "format": "prettier --write --plugin-search-dir=. ." }, "devDependencies": { - "@playwright/test": "^1.29.1", + "@playwright/test": "^1.29.2", "@rgossiaux/svelte-headlessui": "1.0.2", "@rgossiaux/svelte-heroicons": "^0.1.2", "@sveltejs/adapter-auto": "^1.0.0", - "@sveltejs/adapter-vercel": "^1.0.0", - "@sveltejs/kit": "^1.0.1", + "@sveltejs/adapter-vercel": "^1.0.1", + "@sveltejs/kit": "^1.0.7", "@types/cookie": "^0.5.1", "@types/node": "^18.11.18", - "@typescript-eslint/eslint-plugin": "^5.47.1", - "@typescript-eslint/parser": "^5.47.1", + "@typescript-eslint/eslint-plugin": "^5.48.0", + "@typescript-eslint/parser": "^5.48.0", "autoprefixer": "^10.4.13", - "eslint": "^8.30.0", - "eslint-config-prettier": "^8.5.0", + "eslint": "^8.31.0", + "eslint-config-prettier": "^8.6.0", "eslint-plugin-svelte3": "^4.0.0", "just-clone": "^6.2.0", "just-debounce-it": "^3.2.0", - "postcss": "^8.4.20", + "postcss": "^8.4.21", "postcss-color-functional-notation": "^4.2.4", "postcss-custom-media": "^9.0.1", "postcss-env-function": "^4.0.6", @@ -37,7 +37,7 @@ "postcss-load-config": "^4.0.1", "postcss-media-minmax": "^5.0.0", "postcss-nested": "^6.0.0", - "prettier": "^2.8.1", + "prettier": "^2.8.2", "prettier-plugin-svelte": "^2.9.0", "sass": "^1.57.1", "svelte": "^3.55.0", @@ -45,7 +45,7 @@ "svelte-preprocess": "^4.10.7", "tslib": "^2.4.1", "typescript": "^4.9.4", - "vite": "^4.0.3", + "vite": "^4.0.4", "vitest": "^0.25.3" }, "type": "module", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 169526c..67a2e1f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,26 +5,26 @@ specifiers: '@leveluptuts/svelte-side-menu': ^1.0.5 '@leveluptuts/svelte-toy': ^2.0.3 '@lukeed/uuid': ^2.0.0 - '@playwright/test': ^1.29.1 + '@playwright/test': ^1.29.2 '@rgossiaux/svelte-headlessui': 1.0.2 '@rgossiaux/svelte-heroicons': ^0.1.2 '@sveltejs/adapter-auto': ^1.0.0 - '@sveltejs/adapter-vercel': ^1.0.0 - '@sveltejs/kit': ^1.0.1 + '@sveltejs/adapter-vercel': ^1.0.1 + '@sveltejs/kit': ^1.0.7 '@types/cookie': ^0.5.1 '@types/feather-icons': ^4.29.1 '@types/node': ^18.11.18 - '@typescript-eslint/eslint-plugin': ^5.47.1 - '@typescript-eslint/parser': ^5.47.1 + '@typescript-eslint/eslint-plugin': ^5.48.0 + '@typescript-eslint/parser': ^5.48.0 autoprefixer: ^10.4.13 cookie: ^0.5.0 - eslint: ^8.30.0 - eslint-config-prettier: ^8.5.0 + eslint: ^8.31.0 + eslint-config-prettier: ^8.6.0 eslint-plugin-svelte3: ^4.0.0 feather-icons: ^4.29.0 just-clone: ^6.2.0 just-debounce-it: ^3.2.0 - postcss: ^8.4.20 + postcss: ^8.4.21 postcss-color-functional-notation: ^4.2.4 postcss-custom-media: ^9.0.1 postcss-env-function: ^4.0.6 @@ -32,7 +32,7 @@ specifiers: postcss-load-config: ^4.0.1 postcss-media-minmax: ^5.0.0 postcss-nested: ^6.0.0 - prettier: ^2.8.1 + prettier: ^2.8.2 prettier-plugin-svelte: ^2.9.0 sass: ^1.57.1 svelte: ^3.55.0 @@ -41,7 +41,7 @@ specifiers: svelte-preprocess: ^4.10.7 tslib: ^2.4.1 typescript: ^4.9.4 - vite: ^4.0.3 + vite: ^4.0.4 vitest: ^0.25.3 zod: ^3.20.2 zod-to-json-schema: ^3.20.1 @@ -59,39 +59,39 @@ dependencies: zod-to-json-schema: 3.20.1_zod@3.20.2 devDependencies: - '@playwright/test': 1.29.1 + '@playwright/test': 1.29.2 '@rgossiaux/svelte-headlessui': 1.0.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-vercel': 1.0.0_@sveltejs+kit@1.0.1 - '@sveltejs/kit': 1.0.1_svelte@3.55.0+vite@4.0.3 + '@sveltejs/adapter-auto': 1.0.0_@sveltejs+kit@1.0.7 + '@sveltejs/adapter-vercel': 1.0.1_@sveltejs+kit@1.0.7 + '@sveltejs/kit': 1.0.7_svelte@3.55.0+vite@4.0.4 '@types/cookie': 0.5.1 '@types/node': 18.11.18 - '@typescript-eslint/eslint-plugin': 5.47.1_txmweb6yn7coi7nfrp22gpyqmy - '@typescript-eslint/parser': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa - autoprefixer: 10.4.13_postcss@8.4.20 - eslint: 8.30.0 - eslint-config-prettier: 8.5.0_eslint@8.30.0 - eslint-plugin-svelte3: 4.0.0_khrjkzzv5v2x7orkj5o7sxbz3a + '@typescript-eslint/eslint-plugin': 5.48.0_k73wpmdolxikpyqun3p36akaaq + '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe + autoprefixer: 10.4.13_postcss@8.4.21 + eslint: 8.31.0 + eslint-config-prettier: 8.6.0_eslint@8.31.0 + eslint-plugin-svelte3: 4.0.0_6go7qzsvzihesfwmyvq3tnl5qq just-clone: 6.2.0 just-debounce-it: 3.2.0 - postcss: 8.4.20 - postcss-color-functional-notation: 4.2.4_postcss@8.4.20 - postcss-custom-media: 9.0.1_postcss@8.4.20 - postcss-env-function: 4.0.6_postcss@8.4.20 - postcss-import: 15.1.0_postcss@8.4.20 - postcss-load-config: 4.0.1_postcss@8.4.20 - postcss-media-minmax: 5.0.0_postcss@8.4.20 - postcss-nested: 6.0.0_postcss@8.4.20 - prettier: 2.8.1 - prettier-plugin-svelte: 2.9.0_ajxj753sv7dbwexjherrch25ta + postcss: 8.4.21 + postcss-color-functional-notation: 4.2.4_postcss@8.4.21 + postcss-custom-media: 9.0.1_postcss@8.4.21 + postcss-env-function: 4.0.6_postcss@8.4.21 + postcss-import: 15.1.0_postcss@8.4.21 + postcss-load-config: 4.0.1_postcss@8.4.21 + postcss-media-minmax: 5.0.0_postcss@8.4.21 + postcss-nested: 6.0.0_postcss@8.4.21 + prettier: 2.8.2 + prettier-plugin-svelte: 2.9.0_74vfyr7qjo56zgjcvkwi6gyjxm sass: 1.57.1 svelte: 3.55.0 - svelte-check: 2.10.3_4lnkwqcemnb5nqtedf5d2a3nju - svelte-preprocess: 4.10.7_tnndubilh5oonjnlrc3mxe2fxi + svelte-check: 2.10.3_2ucm3gises2g7s47d5nd3e3tqa + svelte-preprocess: 4.10.7_vsntmwrrlk5avk6zexsfqc76hy tslib: 2.4.1 typescript: 4.9.4 - vite: 4.0.3_ovmyjmuuyckt3r3gpaexj2onji + vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji vitest: 0.25.8_sass@1.57.1 packages: @@ -319,8 +319,8 @@ packages: dev: true optional: true - /@eslint/eslintrc/1.4.0: - resolution: {integrity: sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==} + /@eslint/eslintrc/1.4.1: + resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -437,13 +437,13 @@ packages: fastq: 1.13.0 dev: true - /@playwright/test/1.29.1: - resolution: {integrity: sha512-iQxk2DX5U9wOGV3+/Jh9OHPsw5H3mleUL2S4BgQuwtlAfK3PnKvn38m4Rg9zIViGHVW24opSm99HQm/UFLEy6w==} + /@playwright/test/1.29.2: + resolution: {integrity: sha512-+3/GPwOgcoF0xLz/opTnahel1/y42PdcgZ4hs+BZGIUjtmEFSXGg+nFoaH3NSmuc7a6GSFwXDJ5L7VXpqzigNg==} engines: {node: '>=14'} hasBin: true dependencies: '@types/node': 18.11.18 - playwright-core: 1.29.1 + playwright-core: 1.29.2 dev: true /@polka/url/1.0.0-next.21: @@ -474,21 +474,21 @@ packages: picomatch: 2.3.1 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==} peerDependencies: '@sveltejs/kit': ^1.0.0 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 dev: true - /@sveltejs/adapter-vercel/1.0.0_@sveltejs+kit@1.0.1: - resolution: {integrity: sha512-3zM/7BJbtxBo02J4/2mpZyiHZtH6HAggND/xRaBiKjSsKSMYvKC4ipqVfHoESuW5NQNAnJVf1zMAQY2PPxv91w==} + /@sveltejs/adapter-vercel/1.0.1_@sveltejs+kit@1.0.7: + resolution: {integrity: sha512-2v06K1dKC8VmQnB8P/dAdBuNSQYvJbhBkCFpiBptkptoYMcSZnT2fYqsmtoUJDn13ACDQttorcFIQkf0BeFMQw==} peerDependencies: '@sveltejs/kit': ^1.0.0 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 esbuild: 0.16.8 transitivePeerDependencies: @@ -496,8 +496,8 @@ packages: - supports-color dev: true - /@sveltejs/kit/1.0.1_svelte@3.55.0+vite@4.0.3: - resolution: {integrity: sha512-C41aCaDjA7xoUdsrc/lSdU1059UdLPIRE1vEIRRynzpMujNgp82bTMHkDosb6vykH6LrLf3tT2w2/5NYQhKYGQ==} + /@sveltejs/kit/1.0.7_svelte@3.55.0+vite@4.0.4: + resolution: {integrity: sha512-u8JS4aXFWlrnu/tjl+EhJ/FvBEjLYDyMaLe7EAU4sW+PfDqnqyHBAPg/IQi5JuBg6l+Z816F4WrTe+zplUTQDg==} engines: {node: ^16.14 || >=18} hasBin: true requiresBuild: true @@ -505,7 +505,7 @@ packages: svelte: ^3.54.0 vite: ^4.0.0 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 cookie: 0.5.0 devalue: 4.2.0 @@ -519,12 +519,12 @@ packages: svelte: 3.55.0 tiny-glob: 0.2.9 undici: 5.14.0 - vite: 4.0.3_ovmyjmuuyckt3r3gpaexj2onji + vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji transitivePeerDependencies: - supports-color 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==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -537,8 +537,8 @@ packages: magic-string: 0.27.0 svelte: 3.55.0 svelte-hmr: 0.15.1_svelte@3.55.0 - vite: 4.0.3_ovmyjmuuyckt3r3gpaexj2onji - vitefu: 0.2.4_vite@4.0.3 + vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji + vitefu: 0.2.4_vite@4.0.4 transitivePeerDependencies: - supports-color dev: true @@ -583,8 +583,8 @@ packages: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@typescript-eslint/eslint-plugin/5.47.1_txmweb6yn7coi7nfrp22gpyqmy: - resolution: {integrity: sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg==} + /@typescript-eslint/eslint-plugin/5.48.0_k73wpmdolxikpyqun3p36akaaq: + resolution: {integrity: sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -594,12 +594,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa - '@typescript-eslint/scope-manager': 5.47.1 - '@typescript-eslint/type-utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa - '@typescript-eslint/utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa + '@typescript-eslint/parser': 5.48.0_iukboom6ndih5an6iafl45j2fe + '@typescript-eslint/scope-manager': 5.48.0 + '@typescript-eslint/type-utils': 5.48.0_iukboom6ndih5an6iafl45j2fe + '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe debug: 4.3.4 - eslint: 8.30.0 + eslint: 8.31.0 ignore: 5.2.1 natural-compare-lite: 1.4.0 regexpp: 3.2.0 @@ -610,8 +610,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: - resolution: {integrity: sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw==} + /@typescript-eslint/parser/5.48.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -620,26 +620,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.47.1 - '@typescript-eslint/types': 5.47.1 - '@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 + '@typescript-eslint/scope-manager': 5.48.0 + '@typescript-eslint/types': 5.48.0 + '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 debug: 4.3.4 - eslint: 8.30.0 + eslint: 8.31.0 typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.47.1: - resolution: {integrity: sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw==} + /@typescript-eslint/scope-manager/5.48.0: + resolution: {integrity: sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.47.1 - '@typescript-eslint/visitor-keys': 5.47.1 + '@typescript-eslint/types': 5.48.0 + '@typescript-eslint/visitor-keys': 5.48.0 dev: true - /@typescript-eslint/type-utils/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: - resolution: {integrity: sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w==} + /@typescript-eslint/type-utils/5.48.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -648,23 +648,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 - '@typescript-eslint/utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa + '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 + '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe debug: 4.3.4 - eslint: 8.30.0 + eslint: 8.31.0 tsutils: 3.21.0_typescript@4.9.4 typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.47.1: - resolution: {integrity: sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A==} + /@typescript-eslint/types/5.48.0: + resolution: {integrity: sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.47.1_typescript@4.9.4: - resolution: {integrity: sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA==} + /@typescript-eslint/typescript-estree/5.48.0_typescript@4.9.4: + resolution: {integrity: sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -672,8 +672,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.47.1 - '@typescript-eslint/visitor-keys': 5.47.1 + '@typescript-eslint/types': 5.48.0 + '@typescript-eslint/visitor-keys': 5.48.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -684,31 +684,31 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: - resolution: {integrity: sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw==} + /@typescript-eslint/utils/5.48.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.47.1 - '@typescript-eslint/types': 5.47.1 - '@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 - eslint: 8.30.0 + '@typescript-eslint/scope-manager': 5.48.0 + '@typescript-eslint/types': 5.48.0 + '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 + eslint: 8.31.0 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 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.47.1: - resolution: {integrity: sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig==} + /@typescript-eslint/visitor-keys/5.48.0: + resolution: {integrity: sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.47.1 + '@typescript-eslint/types': 5.48.0 eslint-visitor-keys: 3.3.0 dev: true @@ -823,7 +823,7 @@ packages: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} 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==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -835,7 +835,7 @@ packages: fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.20 + postcss: 8.4.21 postcss-value-parser: 4.2.0 dev: true @@ -1108,22 +1108,22 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier/8.5.0_eslint@8.30.0: - resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} + /eslint-config-prettier/8.6.0_eslint@8.31.0: + resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.30.0 + eslint: 8.31.0 dev: true - /eslint-plugin-svelte3/4.0.0_khrjkzzv5v2x7orkj5o7sxbz3a: + /eslint-plugin-svelte3/4.0.0_6go7qzsvzihesfwmyvq3tnl5qq: resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} peerDependencies: eslint: '>=8.0.0' svelte: ^3.2.0 dependencies: - eslint: 8.30.0 + eslint: 8.31.0 svelte: 3.55.0 dev: true @@ -1143,13 +1143,13 @@ packages: estraverse: 5.3.0 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==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.30.0 + eslint: 8.31.0 eslint-visitor-keys: 2.1.0 dev: true @@ -1163,12 +1163,12 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.30.0: - resolution: {integrity: sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==} + /eslint/8.31.0: + resolution: {integrity: sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.4.0 + '@eslint/eslintrc': 1.4.1 '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -1179,7 +1179,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 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 espree: 9.4.1 esquery: 1.4.0 @@ -1878,23 +1878,23 @@ packages: engines: {node: '>=0.10.0'} dev: true - /playwright-core/1.29.1: - resolution: {integrity: sha512-20Ai3d+lMkWpI9YZYlxk8gxatfgax5STW8GaMozAHwigLiyiKQrdkt7gaoT9UQR8FIVDg6qVXs9IoZUQrDjIIg==} + /playwright-core/1.29.2: + resolution: {integrity: sha512-94QXm4PMgFoHAhlCuoWyaBYKb92yOcGVHdQLoxQ7Wjlc7Flg4aC/jbFW7xMR52OfXMVkWicue4WXE7QEegbIRA==} engines: {node: '>=14'} hasBin: 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==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 postcss-value-parser: 4.2.0 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==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -1903,32 +1903,32 @@ packages: '@csstools/css-parser-algorithms': 1.0.0_yc2lywpo4a5sk4h3mmwqkmetvu '@csstools/css-tokenizer': 1.0.0 '@csstools/media-query-list-parser': 1.0.0_oycmb73qbeg4xspzoh5ywrqikm - postcss: 8.4.20 + postcss: 8.4.21 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==} engines: {node: ^12 || ^14 || >=16} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 postcss-value-parser: 4.2.0 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==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 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==} engines: {node: '>= 14'} peerDependencies: @@ -1941,26 +1941,26 @@ packages: optional: true dependencies: lilconfig: 2.0.6 - postcss: 8.4.20 + postcss: 8.4.21 yaml: 2.1.3 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==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 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==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.20 + postcss: 8.4.21 postcss-selector-parser: 6.0.11 dev: true @@ -1976,8 +1976,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss/8.4.20: - resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} + /postcss/8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.4 @@ -1990,18 +1990,18 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-svelte/2.9.0_ajxj753sv7dbwexjherrch25ta: + /prettier-plugin-svelte/2.9.0_74vfyr7qjo56zgjcvkwi6gyjxm: resolution: {integrity: sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: - prettier: 2.8.1 + prettier: 2.8.2 svelte: 3.55.0 dev: true - /prettier/2.8.1: - resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} + /prettier/2.8.2: + resolution: {integrity: sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -2257,7 +2257,7 @@ packages: engines: {node: '>= 0.4'} dev: true - /svelte-check/2.10.3_4lnkwqcemnb5nqtedf5d2a3nju: + /svelte-check/2.10.3_2ucm3gises2g7s47d5nd3e3tqa: resolution: {integrity: sha512-Nt1aWHTOKFReBpmJ1vPug0aGysqPwJh2seM1OvICfM2oeyaA62mOiy5EvkXhltGfhCcIQcq2LoE0l1CwcWPjlw==} hasBin: true peerDependencies: @@ -2270,7 +2270,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 3.55.0 - svelte-preprocess: 4.10.7_tnndubilh5oonjnlrc3mxe2fxi + svelte-preprocess: 4.10.7_vsntmwrrlk5avk6zexsfqc76hy typescript: 4.9.4 transitivePeerDependencies: - '@babel/core' @@ -2298,7 +2298,7 @@ packages: resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==} dev: false - /svelte-preprocess/4.10.7_tnndubilh5oonjnlrc3mxe2fxi: + /svelte-preprocess/4.10.7_vsntmwrrlk5avk6zexsfqc76hy: resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -2343,8 +2343,8 @@ packages: '@types/sass': 1.43.1 detect-indent: 6.1.0 magic-string: 0.25.9 - postcss: 8.4.20 - postcss-load-config: 4.0.1_postcss@8.4.20 + postcss: 8.4.21 + postcss-load-config: 4.0.1_postcss@8.4.21 sass: 1.57.1 sorcery: 0.10.0 strip-indent: 3.0.0 @@ -2479,8 +2479,8 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /vite/4.0.3_ovmyjmuuyckt3r3gpaexj2onji: - resolution: {integrity: sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==} + /vite/4.0.4_ovmyjmuuyckt3r3gpaexj2onji: + resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -2506,7 +2506,7 @@ packages: dependencies: '@types/node': 18.11.18 esbuild: 0.16.8 - postcss: 8.4.20 + postcss: 8.4.21 resolve: 1.22.1 rollup: 3.7.5 sass: 1.57.1 @@ -2514,7 +2514,7 @@ packages: fsevents: 2.3.2 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==} peerDependencies: vite: ^3.0.0 || ^4.0.0 @@ -2522,7 +2522,7 @@ packages: vite: optional: true dependencies: - vite: 4.0.3_ovmyjmuuyckt3r3gpaexj2onji + vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji dev: true /vitest/0.25.8_sass@1.57.1: @@ -2560,7 +2560,7 @@ packages: tinybench: 2.3.1 tinypool: 0.3.0 tinyspy: 1.0.2 - vite: 4.0.3_ovmyjmuuyckt3r3gpaexj2onji + vite: 4.0.4_ovmyjmuuyckt3r3gpaexj2onji transitivePeerDependencies: - less - sass diff --git a/src/lib/components/LinkWithIcon.svelte b/src/lib/components/LinkWithIcon.svelte index 1241b92..d314b5c 100644 --- a/src/lib/components/LinkWithIcon.svelte +++ b/src/lib/components/LinkWithIcon.svelte @@ -20,6 +20,6 @@ display: grid; grid-template-columns: repeat(2, auto); place-items: center; - gap: 1rem; + gap: 0.25rem; } diff --git a/src/lib/components/game/index.svelte b/src/lib/components/game/index.svelte index 6cc7f40..7149077 100644 --- a/src/lib/components/game/index.svelte +++ b/src/lib/components/game/index.svelte @@ -77,7 +77,7 @@ type="button" on:click={() => { removeGameFromCollection(); - }}>Remove from Collection Remove from Collection {:else} Add to collection {/if} {#if existsInWishlist} @@ -99,7 +99,7 @@ type="button" on:click={() => { removeGameFromWishlist(); - }}>Remove from Wishlist Remove from Wishlist {:else} Add to wishlist {/if} @@ -172,6 +172,7 @@ .btn { max-height: 100px; + text-align: start; } .remove { diff --git a/src/lib/components/search/textSearch/index.svelte b/src/lib/components/search/textSearch/index.svelte index 65076ee..2410c64 100644 --- a/src/lib/components/search/textSearch/index.svelte +++ b/src/lib/components/search/textSearch/index.svelte @@ -55,7 +55,6 @@ } let placeholderList = [...Array(numberOfGameSkeleton).keys()]; - console.log(placeholderList); if (form?.error) { disclosureOpen = true; diff --git a/src/lib/util/accordion.ts b/src/lib/util/accordion.ts new file mode 100644 index 0000000..bfb18b8 --- /dev/null +++ b/src/lib/util/accordion.ts @@ -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); + } + }; +} diff --git a/src/lib/util/manipulateCollection.ts b/src/lib/util/manipulateCollection.ts index ee87199..4ba80e9 100644 --- a/src/lib/util/manipulateCollection.ts +++ b/src/lib/util/manipulateCollection.ts @@ -5,21 +5,23 @@ import { convertToSavedGame } from './gameMapper'; import { saved_game_schema } from '../zodValidation'; export function addToCollection(game: GameType | SavedGameType) { - try { - saved_game_schema.parse(game); - collectionStore.add(convertToSavedGame(game)); - toast.send("Added to collection", { duration: 3000, type: ToastType.INFO }); - } catch (error) { - toast.send('Error adding to collection', { duration: 3000, type: ToastType.ERROR }); - } + try { + console.log(`Saving game: ${JSON.stringify(game)}`); + saved_game_schema.parse(game); + collectionStore.add(convertToSavedGame(game)); + toast.send('Added to collection', { duration: 3000, type: ToastType.INFO }); + } catch (error) { + console.log(error); + toast.send('Error adding to collection', { duration: 3000, type: ToastType.ERROR }); + } } export function removeFromCollection(game: GameType | SavedGameType) { - try { - saved_game_schema.parse(game); - collectionStore.remove(game.id); - toast.send("Removed from collection", { duration: 3000, type: ToastType.INFO }); - } catch (error) { - toast.send('Error removing from collection', { duration: 3000, type: ToastType.ERROR }); - } + try { + saved_game_schema.parse(game); + collectionStore.remove(game.id); + toast.send('Removed from collection', { duration: 3000, type: ToastType.INFO }); + } catch (error) { + toast.send('Error removing from collection', { duration: 3000, type: ToastType.ERROR }); + } } diff --git a/src/routes/game/[id]/+page.server.ts b/src/routes/game/[id]/+page.server.ts index 0822867..7938a0f 100644 --- a/src/routes/game/[id]/+page.server.ts +++ b/src/routes/game/[id]/+page.server.ts @@ -4,7 +4,9 @@ import { boardGameApi } from '../../api'; export const load: PageServerLoad = async ({ params, setHeaders }) => { 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); @@ -16,8 +18,12 @@ export const load: PageServerLoad = async ({ params, setHeaders }) => { '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 { - game: gameResponse?.games[0] + game }; } diff --git a/src/routes/game/[id]/+page.svelte b/src/routes/game/[id]/+page.svelte index 5317649..a62cc41 100644 --- a/src/routes/game/[id]/+page.svelte +++ b/src/routes/game/[id]/+page.svelte @@ -2,6 +2,7 @@ import { fade, fly } from 'svelte/transition'; import { Image } from 'svelte-lazy-loader'; import { + ChevronRightIcon, ExternalLinkIcon, MinusCircleIcon, MinusIcon, @@ -36,7 +37,7 @@ firstParagraphEnd = game?.description?.indexOf('') + 5; } - function remoceFromCollection() { + function removeFromCollection() { boredState.update((n) => ({ ...n, dialog: { isOpen: true, content: RemoveCollectionDialog, additionalData: game } @@ -64,7 +65,7 @@ -
+
{#if game?.year_published}

Year: {game?.year_published}

@@ -81,13 +82,15 @@ {#if +game?.price !== 0.0}

Price: ${game?.price}

{/if} - - Board Game Atlas - +

+ + Board Game Atlas + +

-
+
{#if existsInCollection} - {:else} @@ -105,8 +108,6 @@ Add to collection {/if} -
-
{#if existsInWishlist}