Moving to newer SvelteKit RC slowly and updating pagination to not use global store.

This commit is contained in:
Bradley Shellnut 2022-09-13 15:14:55 -07:00
parent 1465c8c7ff
commit 10aefbf13f
14 changed files with 617 additions and 196 deletions

View file

@ -13,16 +13,16 @@
"format": "prettier --write --plugin-search-dir=. ."
},
"devDependencies": {
"@playwright/test": "^1.25.1",
"@playwright/test": "^1.25.2",
"@rgossiaux/svelte-headlessui": "1.0.2",
"@rgossiaux/svelte-heroicons": "^0.1.2",
"@sveltejs/adapter-auto": "1.0.0-next.71",
"@sveltejs/kit": "1.0.0-next.461",
"@sveltejs/adapter-auto": "1.0.0-next.72",
"@sveltejs/kit": "1.0.0-next.480",
"@types/cookie": "^0.5.1",
"@types/node": "^18.7.14",
"@typescript-eslint/eslint-plugin": "^5.36.1",
"@typescript-eslint/parser": "^5.36.1",
"carbon-components-svelte": "^0.70.4",
"@types/node": "^18.7.16",
"@typescript-eslint/eslint-plugin": "^5.36.2",
"@typescript-eslint/parser": "^5.36.2",
"carbon-components-svelte": "^0.70.6",
"carbon-icons-svelte": "^11.2.0",
"eslint": "^8.23.0",
"eslint-config-prettier": "^8.1.0",
@ -30,13 +30,13 @@
"just-debounce-it": "^3.1.1",
"prettier": "^2.7.1",
"prettier-plugin-svelte": "^2.7.0",
"sass": "^1.54.8",
"svelte": "^3.49.0",
"sass": "^1.54.9",
"svelte": "^3.50.1",
"svelte-check": "^2.9.0",
"svelte-preprocess": "^4.10.7",
"tslib": "^2.0.0",
"typescript": "^4.8.2",
"vite": "^3.1.0-beta.1"
"typescript": "^4.8.3",
"vite": "^3.1.0"
},
"type": "module",
"dependencies": {
@ -47,6 +47,6 @@
"@types/feather-icons": "^4.7.0",
"cookie": "^0.5.0",
"feather-icons": "^4.29.0",
"zod": "^3.18.0"
"zod": "^3.19.0"
}
}

View file

@ -5,17 +5,17 @@ specifiers:
'@leveluptuts/svelte-side-menu': ^1.0.5
'@leveluptuts/svelte-toy': ^2.0.3
'@lukeed/uuid': ^2.0.0
'@playwright/test': ^1.25.1
'@playwright/test': ^1.25.2
'@rgossiaux/svelte-headlessui': 1.0.2
'@rgossiaux/svelte-heroicons': ^0.1.2
'@sveltejs/adapter-auto': 1.0.0-next.71
'@sveltejs/kit': 1.0.0-next.461
'@sveltejs/adapter-auto': 1.0.0-next.72
'@sveltejs/kit': 1.0.0-next.480
'@types/cookie': ^0.5.1
'@types/feather-icons': ^4.7.0
'@types/node': ^18.7.14
'@typescript-eslint/eslint-plugin': ^5.36.1
'@typescript-eslint/parser': ^5.36.1
carbon-components-svelte: ^0.70.4
'@types/node': ^18.7.16
'@typescript-eslint/eslint-plugin': ^5.36.2
'@typescript-eslint/parser': ^5.36.2
carbon-components-svelte: ^0.70.6
carbon-icons-svelte: ^11.2.0
cookie: ^0.5.0
eslint: ^8.23.0
@ -25,14 +25,14 @@ specifiers:
just-debounce-it: ^3.1.1
prettier: ^2.7.1
prettier-plugin-svelte: ^2.7.0
sass: ^1.54.8
svelte: ^3.49.0
sass: ^1.54.9
svelte: ^3.50.1
svelte-check: ^2.9.0
svelte-preprocess: ^4.10.7
tslib: ^2.0.0
typescript: ^4.8.2
vite: ^3.1.0-beta.1
zod: ^3.18.0
typescript: ^4.8.3
vite: ^3.1.0
zod: ^3.19.0
dependencies:
'@fontsource/fira-mono': 4.5.9
@ -42,38 +42,38 @@ dependencies:
'@types/feather-icons': 4.7.0
cookie: 0.5.0
feather-icons: 4.29.0
zod: 3.18.0
zod: 3.19.0
devDependencies:
'@playwright/test': 1.25.1
'@rgossiaux/svelte-headlessui': 1.0.2_svelte@3.49.0
'@rgossiaux/svelte-heroicons': 0.1.2_svelte@3.49.0
'@sveltejs/adapter-auto': 1.0.0-next.71
'@sveltejs/kit': 1.0.0-next.461_fhgkwirxvgjw2igda6zmhiisma
'@playwright/test': 1.25.2
'@rgossiaux/svelte-headlessui': 1.0.2_svelte@3.50.1
'@rgossiaux/svelte-heroicons': 0.1.2_svelte@3.50.1
'@sveltejs/adapter-auto': 1.0.0-next.72
'@sveltejs/kit': 1.0.0-next.480_svelte@3.50.1+vite@3.1.0
'@types/cookie': 0.5.1
'@types/node': 18.7.14
'@typescript-eslint/eslint-plugin': 5.36.1_lbwfnm54o3pmr3ypeqp3btnera
'@typescript-eslint/parser': 5.36.1_yqf6kl63nyoq5megxukfnom5rm
carbon-components-svelte: 0.70.4
'@types/node': 18.7.16
'@typescript-eslint/eslint-plugin': 5.36.2_2l2r3i3lm6jysqd4ac3ql4n2mm
'@typescript-eslint/parser': 5.36.2_itqs5654cmlnjraw6gjzqacppi
carbon-components-svelte: 0.70.6
carbon-icons-svelte: 11.2.0
eslint: 8.23.0
eslint-config-prettier: 8.5.0_eslint@8.23.0
eslint-plugin-svelte3: 4.0.0_sfdub7vxhxkt5wmgvhhmmgyu2e
eslint-plugin-svelte3: 4.0.0_jtvgu4usxe4xoavzb5jpyaoyje
just-debounce-it: 3.1.1
prettier: 2.7.1
prettier-plugin-svelte: 2.7.0_o3ioganyptcsrh6x4hnxvjkpqi
sass: 1.54.8
svelte: 3.49.0
svelte-check: 2.9.0_sass@1.54.8+svelte@3.49.0
svelte-preprocess: 4.10.7_wvqslddg27v5ozoudw2pkwd4de
prettier-plugin-svelte: 2.7.0_nk6d2fkgcllkkdynqbuearcure
sass: 1.54.9
svelte: 3.50.1
svelte-check: 2.9.0_sass@1.54.9+svelte@3.50.1
svelte-preprocess: 4.10.7_dmgt4vqjdljwxc7vlji2ruxhdy
tslib: 2.4.0
typescript: 4.8.2
vite: 3.1.0-beta.1_sass@1.54.8
typescript: 4.8.3
vite: 3.1.0_sass@1.54.9
packages:
/@cloudflare/workers-types/3.15.0:
resolution: {integrity: sha512-meL/Afy5qdIsgfdnlbVfcYUh/YjHk23EWUvgmULf6iDrDbrBcd+fse2os3CC7rxSfScdP1OqJVTHgRSEjUm/Pw==}
/@cloudflare/workers-types/3.16.0:
resolution: {integrity: sha512-gaBUSaKS65mN3iKZEgichbXYEmAa/pXkc5Gbt+1BptYphdGkj09ggdsiE4w8g0F/uI1g36QaTKrzVnBAWMipvQ==}
dev: true
/@esbuild/linux-loong64/0.14.54:
@ -85,6 +85,15 @@ packages:
dev: true
optional: true
/@esbuild/linux-loong64/0.15.7:
resolution: {integrity: sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@eslint/eslintrc/1.3.1:
resolution: {integrity: sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@ -172,8 +181,8 @@ packages:
'@lukeed/csprng': 1.0.1
dev: false
/@mapbox/node-pre-gyp/1.0.9:
resolution: {integrity: sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==}
/@mapbox/node-pre-gyp/1.0.10:
resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==}
hasBin: true
dependencies:
detect-libc: 2.0.1
@ -211,33 +220,33 @@ packages:
fastq: 1.13.0
dev: true
/@playwright/test/1.25.1:
resolution: {integrity: sha512-IJ4X0yOakXtwkhbnNzKkaIgXe6df7u3H3FnuhI9Jqh+CdO0e/lYQlDLYiyI9cnXK8E7UAppAWP+VqAv6VX7HQg==}
/@playwright/test/1.25.2:
resolution: {integrity: sha512-6qPznIR4Fw02OMbqXUPMG6bFFg1hDVNEdihKy0t9K0dmRbus1DyP5Q5XFQhGwEHQkLG5hrSfBuu9CW/foqhQHQ==}
engines: {node: '>=14'}
hasBin: true
dependencies:
'@types/node': 18.7.14
playwright-core: 1.25.1
'@types/node': 18.7.16
playwright-core: 1.25.2
dev: true
/@polka/url/1.0.0-next.21:
resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
dev: true
/@rgossiaux/svelte-headlessui/1.0.2_svelte@3.49.0:
/@rgossiaux/svelte-headlessui/1.0.2_svelte@3.50.1:
resolution: {integrity: sha512-sauopYTSivhzXe1kAvgawkhyYJcQlK8Li3p0d2OtcCIVprOzdbard5lbqWB4xHDv83zAobt2mR08oizO2poHLQ==}
peerDependencies:
svelte: ^3.44.0
dependencies:
svelte: 3.49.0
svelte: 3.50.1
dev: true
/@rgossiaux/svelte-heroicons/0.1.2_svelte@3.49.0:
/@rgossiaux/svelte-heroicons/0.1.2_svelte@3.50.1:
resolution: {integrity: sha512-c5Ep1QDvBo9HD/P0AxbXItDbn6x77fldCjjL0aBjNseUntV4fkdHkBde1IaLr8i0kmrhTSovjkIen8W83jUPzg==}
peerDependencies:
svelte: ^3.44.0
dependencies:
svelte: 3.49.0
svelte: 3.50.1
dev: true
/@rollup/pluginutils/4.2.1:
@ -248,12 +257,12 @@ packages:
picomatch: 2.3.1
dev: true
/@sveltejs/adapter-auto/1.0.0-next.71:
resolution: {integrity: sha512-Qsl82HcehWJbZztXgmU/nTPDeeIaB4jrOQpSvy3Pi8octs+rEf/CO87Wk06EP+M/zUzEHDNENMOx0DgWuHpj7Q==}
/@sveltejs/adapter-auto/1.0.0-next.72:
resolution: {integrity: sha512-SisfQ6adHkkmm6ANVq9V9hemowl9mSVQd+XoNDAhjgf1DtCdJEgpkdJDZ7xq7RB0lsTZTSiAp7c/LlV4lCSTMA==}
dependencies:
'@sveltejs/adapter-cloudflare': 1.0.0-next.32
'@sveltejs/adapter-netlify': 1.0.0-next.76
'@sveltejs/adapter-vercel': 1.0.0-next.72
'@sveltejs/adapter-vercel': 1.0.0-next.73
transitivePeerDependencies:
- encoding
- supports-color
@ -262,7 +271,7 @@ packages:
/@sveltejs/adapter-cloudflare/1.0.0-next.32:
resolution: {integrity: sha512-tzkUsdQlBk9xUjcGUOBYos4HKaeaXvz9v4TQ1QS2yIHEtL5xvMEDPZ94/DB2gPL4LZCnYbdY2lsy5HCsoN0hkQ==}
dependencies:
'@cloudflare/workers-types': 3.15.0
'@cloudflare/workers-types': 3.16.0
esbuild: 0.14.54
worktop: 0.8.0-next.14
dev: true
@ -276,28 +285,28 @@ packages:
tiny-glob: 0.2.9
dev: true
/@sveltejs/adapter-vercel/1.0.0-next.72:
resolution: {integrity: sha512-oNs8FQaYC2NnwDcvX/jc9MDNqXc9HxwGPQNkd+1vBpFVWZl9mShQgCcOMzfTOIH0ka984jYNa0ZawYYHex79xg==}
/@sveltejs/adapter-vercel/1.0.0-next.73:
resolution: {integrity: sha512-wYm80tDSkwa9YfXHCHqMFMHmGYsQjVWj2oLbQdijQ2k8dnQPq908Pla3IES1cLwtT+fIMbZyh3Xly7mt06FwJg==}
dependencies:
'@vercel/nft': 0.22.0
'@vercel/nft': 0.22.1
esbuild: 0.14.54
transitivePeerDependencies:
- encoding
- supports-color
dev: true
/@sveltejs/kit/1.0.0-next.461_fhgkwirxvgjw2igda6zmhiisma:
resolution: {integrity: sha512-REe/ZIjE9F6ndEtCn4oPXpGWjiyLtOVWKJ73q53I3zxxoohL8OG6Zy0tnrdSvQj0nOBFTyQ4QXeYFn4TAO5oSw==}
/@sveltejs/kit/1.0.0-next.480_svelte@3.50.1+vite@3.1.0:
resolution: {integrity: sha512-RnltVDZFksAkeIZ0wgMQDr4POz3WZxSDy6D/ycIjrz3VXMDYWxKRqmTEI7Yl7TxPgUabeYHGRm/qI+nSXOb/Yw==}
engines: {node: '>=16.14'}
hasBin: true
requiresBuild: true
peerDependencies:
svelte: ^3.44.0
vite: ^3.1.0-beta.1
vite: ^3.1.0
dependencies:
'@sveltejs/vite-plugin-svelte': 1.0.3_fhgkwirxvgjw2igda6zmhiisma
'@sveltejs/vite-plugin-svelte': 1.0.5_svelte@3.50.1+vite@3.1.0
cookie: 0.5.0
devalue: 3.1.2
devalue: 3.1.3
kleur: 4.1.5
magic-string: 0.26.3
mime: 3.0.0
@ -305,17 +314,17 @@ packages:
sade: 1.8.1
set-cookie-parser: 2.5.1
sirv: 2.0.2
svelte: 3.49.0
svelte: 3.50.1
tiny-glob: 0.2.9
undici: 5.10.0
vite: 3.1.0-beta.1_sass@1.54.8
vite: 3.1.0_sass@1.54.9
transitivePeerDependencies:
- diff-match-patch
- supports-color
dev: true
/@sveltejs/vite-plugin-svelte/1.0.3_fhgkwirxvgjw2igda6zmhiisma:
resolution: {integrity: sha512-0Qu51m2W9RBlxWPp8i31KJpnqmjWMOne8vAzgmOX6ZM9uX+/RAv6BNhEMcNoP5MsyLjyW1ZTCiJoaZZ5EeqpFg==}
/@sveltejs/vite-plugin-svelte/1.0.5_svelte@3.50.1+vite@3.1.0:
resolution: {integrity: sha512-CmSdSow0Dr5ua1A11BQMtreWnE0JZmkVIcRU/yG3PKbycKUpXjNdgYTWFSbStLB0vdlGnBbm2+Y4sBVj+C+TIw==}
engines: {node: ^14.18.0 || >= 16}
peerDependencies:
diff-match-patch: ^1.0.5
@ -330,9 +339,9 @@ packages:
deepmerge: 4.2.2
kleur: 4.1.5
magic-string: 0.26.3
svelte: 3.49.0
svelte-hmr: 0.14.12_svelte@3.49.0
vite: 3.1.0-beta.1_sass@1.54.8
svelte: 3.50.1
svelte-hmr: 0.14.12_svelte@3.50.1
vite: 3.1.0_sass@1.54.9
transitivePeerDependencies:
- supports-color
dev: true
@ -349,8 +358,8 @@ packages:
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
dev: true
/@types/node/18.7.14:
resolution: {integrity: sha512-6bbDaETVi8oyIARulOE9qF1/Qdi/23z6emrUh0fNJRUmjznqrixD4MpGDdgOFk5Xb0m2H6Xu42JGdvAxaJR/wA==}
/@types/node/18.7.16:
resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==}
dev: true
/@types/pug/2.0.6:
@ -360,11 +369,11 @@ packages:
/@types/sass/1.43.1:
resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==}
dependencies:
'@types/node': 18.7.14
'@types/node': 18.7.16
dev: true
/@typescript-eslint/eslint-plugin/5.36.1_lbwfnm54o3pmr3ypeqp3btnera:
resolution: {integrity: sha512-iC40UK8q1tMepSDwiLbTbMXKDxzNy+4TfPWgIL661Ym0sD42vRcQU93IsZIrmi+x292DBr60UI/gSwfdVYexCA==}
/@typescript-eslint/eslint-plugin/5.36.2_2l2r3i3lm6jysqd4ac3ql4n2mm:
resolution: {integrity: sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
@ -374,24 +383,24 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/parser': 5.36.1_yqf6kl63nyoq5megxukfnom5rm
'@typescript-eslint/scope-manager': 5.36.1
'@typescript-eslint/type-utils': 5.36.1_yqf6kl63nyoq5megxukfnom5rm
'@typescript-eslint/utils': 5.36.1_yqf6kl63nyoq5megxukfnom5rm
'@typescript-eslint/parser': 5.36.2_itqs5654cmlnjraw6gjzqacppi
'@typescript-eslint/scope-manager': 5.36.2
'@typescript-eslint/type-utils': 5.36.2_itqs5654cmlnjraw6gjzqacppi
'@typescript-eslint/utils': 5.36.2_itqs5654cmlnjraw6gjzqacppi
debug: 4.3.4
eslint: 8.23.0
functional-red-black-tree: 1.0.1
ignore: 5.2.0
regexpp: 3.2.0
semver: 7.3.7
tsutils: 3.21.0_typescript@4.8.2
typescript: 4.8.2
tsutils: 3.21.0_typescript@4.8.3
typescript: 4.8.3
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/parser/5.36.1_yqf6kl63nyoq5megxukfnom5rm:
resolution: {integrity: sha512-/IsgNGOkBi7CuDfUbwt1eOqUXF9WGVBW9dwEe1pi+L32XrTsZIgmDFIi2RxjzsvB/8i+MIf5JIoTEH8LOZ368A==}
/@typescript-eslint/parser/5.36.2_itqs5654cmlnjraw6gjzqacppi:
resolution: {integrity: sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
@ -400,26 +409,26 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 5.36.1
'@typescript-eslint/types': 5.36.1
'@typescript-eslint/typescript-estree': 5.36.1_typescript@4.8.2
'@typescript-eslint/scope-manager': 5.36.2
'@typescript-eslint/types': 5.36.2
'@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.3
debug: 4.3.4
eslint: 8.23.0
typescript: 4.8.2
typescript: 4.8.3
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/scope-manager/5.36.1:
resolution: {integrity: sha512-pGC2SH3/tXdu9IH3ItoqciD3f3RRGCh7hb9zPdN2Drsr341zgd6VbhP5OHQO/reUqihNltfPpMpTNihFMarP2w==}
/@typescript-eslint/scope-manager/5.36.2:
resolution: {integrity: sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.36.1
'@typescript-eslint/visitor-keys': 5.36.1
'@typescript-eslint/types': 5.36.2
'@typescript-eslint/visitor-keys': 5.36.2
dev: true
/@typescript-eslint/type-utils/5.36.1_yqf6kl63nyoq5megxukfnom5rm:
resolution: {integrity: sha512-xfZhfmoQT6m3lmlqDvDzv9TiCYdw22cdj06xY0obSznBsT///GK5IEZQdGliXpAOaRL34o8phEvXzEo/VJx13Q==}
/@typescript-eslint/type-utils/5.36.2_itqs5654cmlnjraw6gjzqacppi:
resolution: {integrity: sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
@ -428,23 +437,23 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 5.36.1_typescript@4.8.2
'@typescript-eslint/utils': 5.36.1_yqf6kl63nyoq5megxukfnom5rm
'@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.3
'@typescript-eslint/utils': 5.36.2_itqs5654cmlnjraw6gjzqacppi
debug: 4.3.4
eslint: 8.23.0
tsutils: 3.21.0_typescript@4.8.2
typescript: 4.8.2
tsutils: 3.21.0_typescript@4.8.3
typescript: 4.8.3
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/types/5.36.1:
resolution: {integrity: sha512-jd93ShpsIk1KgBTx9E+hCSEuLCUFwi9V/urhjOWnOaksGZFbTOxAT47OH2d4NLJnLhkVD+wDbB48BuaycZPLBg==}
/@typescript-eslint/types/5.36.2:
resolution: {integrity: sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@typescript-eslint/typescript-estree/5.36.1_typescript@4.8.2:
resolution: {integrity: sha512-ih7V52zvHdiX6WcPjsOdmADhYMDN15SylWRZrT2OMy80wzKbc79n8wFW0xpWpU0x3VpBz/oDgTm2xwDAnFTl+g==}
/@typescript-eslint/typescript-estree/5.36.2_typescript@4.8.3:
resolution: {integrity: sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
@ -452,28 +461,28 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.36.1
'@typescript-eslint/visitor-keys': 5.36.1
'@typescript-eslint/types': 5.36.2
'@typescript-eslint/visitor-keys': 5.36.2
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
semver: 7.3.7
tsutils: 3.21.0_typescript@4.8.2
typescript: 4.8.2
tsutils: 3.21.0_typescript@4.8.3
typescript: 4.8.3
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/utils/5.36.1_yqf6kl63nyoq5megxukfnom5rm:
resolution: {integrity: sha512-lNj4FtTiXm5c+u0pUehozaUWhh7UYKnwryku0nxJlYUEWetyG92uw2pr+2Iy4M/u0ONMKzfrx7AsGBTCzORmIg==}
/@typescript-eslint/utils/5.36.2_itqs5654cmlnjraw6gjzqacppi:
resolution: {integrity: sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg==}
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
'@typescript-eslint/scope-manager': 5.36.1
'@typescript-eslint/types': 5.36.1
'@typescript-eslint/typescript-estree': 5.36.1_typescript@4.8.2
'@typescript-eslint/scope-manager': 5.36.2
'@typescript-eslint/types': 5.36.2
'@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.3
eslint: 8.23.0
eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@8.23.0
@ -482,19 +491,19 @@ packages:
- typescript
dev: true
/@typescript-eslint/visitor-keys/5.36.1:
resolution: {integrity: sha512-ojB9aRyRFzVMN3b5joSYni6FAS10BBSCAfKJhjJAV08t/a95aM6tAhz+O1jF+EtgxktuSO3wJysp2R+Def/IWQ==}
/@typescript-eslint/visitor-keys/5.36.2:
resolution: {integrity: sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.36.1
'@typescript-eslint/types': 5.36.2
eslint-visitor-keys: 3.3.0
dev: true
/@vercel/nft/0.22.0:
resolution: {integrity: sha512-hB80/093PPiCefN2gVbqv6J93MH+63Zr7uDCwkiS/U4W07DXkLoftbnkBmZoS0Q84LiTSl9DRVSHU4XYCX+sJA==}
/@vercel/nft/0.22.1:
resolution: {integrity: sha512-lYYZIoxRurqDOSoVIdBicGnpUIpfyaS5qVjdPq+EfI285WqtZK3NK/dyCkiyBul+X2U2OEhRyeMdXPCHGJbohw==}
hasBin: true
dependencies:
'@mapbox/node-pre-gyp': 1.0.9
'@mapbox/node-pre-gyp': 1.0.10
acorn: 8.8.0
async-sema: 3.1.1
bindings: 1.5.0
@ -629,8 +638,8 @@ packages:
engines: {node: '>=6'}
dev: true
/carbon-components-svelte/0.70.4:
resolution: {integrity: sha512-XLvGi5lFv1JqcOuUxo02rSIWyT4UVkaHtzqZVHgwM+Gbs86expe3SA2FqE4FzungASoERBr8CaQG5UuoF2aD9w==}
/carbon-components-svelte/0.70.6:
resolution: {integrity: sha512-Nnm7+hELWLP7NnyaN3J4aioxcKlibsYwUeC5+UBWYAV2MtCv4+BwqwGVS6Yrx85NRid+jd83DCm9PSfimoj40Q==}
dependencies:
flatpickr: 4.6.9
dev: true
@ -753,8 +762,8 @@ packages:
engines: {node: '>=8'}
dev: true
/devalue/3.1.2:
resolution: {integrity: sha512-wUXbMGPAsBx79UF14nsWSsJlC7RcwPlf2w3bGheODWxKx57e9n68ceoijbqCJCEbjyo0S79nqfPwQgyijwLaqw==}
/devalue/3.1.3:
resolution: {integrity: sha512-9KO89Cb+qjzf2CqdrH+NuLaqdk9GhDP5EhR4zlkR51dvuIaiqtlkDkGzLMShDemwUy21raSMdu+kpX8Enw3yGQ==}
dev: true
/dir-glob/3.0.1:
@ -788,6 +797,15 @@ packages:
dev: true
optional: true
/esbuild-android-64/0.15.7:
resolution: {integrity: sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
requiresBuild: true
dev: true
optional: true
/esbuild-android-arm64/0.14.54:
resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
engines: {node: '>=12'}
@ -797,6 +815,15 @@ packages:
dev: true
optional: true
/esbuild-android-arm64/0.15.7:
resolution: {integrity: sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/esbuild-darwin-64/0.14.54:
resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
engines: {node: '>=12'}
@ -806,6 +833,15 @@ packages:
dev: true
optional: true
/esbuild-darwin-64/0.15.7:
resolution: {integrity: sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/esbuild-darwin-arm64/0.14.54:
resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
engines: {node: '>=12'}
@ -815,6 +851,15 @@ packages:
dev: true
optional: true
/esbuild-darwin-arm64/0.15.7:
resolution: {integrity: sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/esbuild-freebsd-64/0.14.54:
resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
engines: {node: '>=12'}
@ -824,6 +869,15 @@ packages:
dev: true
optional: true
/esbuild-freebsd-64/0.15.7:
resolution: {integrity: sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/esbuild-freebsd-arm64/0.14.54:
resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
engines: {node: '>=12'}
@ -833,6 +887,15 @@ packages:
dev: true
optional: true
/esbuild-freebsd-arm64/0.15.7:
resolution: {integrity: sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-32/0.14.54:
resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
engines: {node: '>=12'}
@ -842,6 +905,15 @@ packages:
dev: true
optional: true
/esbuild-linux-32/0.15.7:
resolution: {integrity: sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-64/0.14.54:
resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
engines: {node: '>=12'}
@ -851,6 +923,15 @@ packages:
dev: true
optional: true
/esbuild-linux-64/0.15.7:
resolution: {integrity: sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-arm/0.14.54:
resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
engines: {node: '>=12'}
@ -860,6 +941,15 @@ packages:
dev: true
optional: true
/esbuild-linux-arm/0.15.7:
resolution: {integrity: sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-arm64/0.14.54:
resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
engines: {node: '>=12'}
@ -869,6 +959,15 @@ packages:
dev: true
optional: true
/esbuild-linux-arm64/0.15.7:
resolution: {integrity: sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-mips64le/0.14.54:
resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
engines: {node: '>=12'}
@ -878,6 +977,15 @@ packages:
dev: true
optional: true
/esbuild-linux-mips64le/0.15.7:
resolution: {integrity: sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-ppc64le/0.14.54:
resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
engines: {node: '>=12'}
@ -887,6 +995,15 @@ packages:
dev: true
optional: true
/esbuild-linux-ppc64le/0.15.7:
resolution: {integrity: sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-riscv64/0.14.54:
resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
engines: {node: '>=12'}
@ -896,6 +1013,15 @@ packages:
dev: true
optional: true
/esbuild-linux-riscv64/0.15.7:
resolution: {integrity: sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-s390x/0.14.54:
resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
engines: {node: '>=12'}
@ -905,6 +1031,15 @@ packages:
dev: true
optional: true
/esbuild-linux-s390x/0.15.7:
resolution: {integrity: sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-netbsd-64/0.14.54:
resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
engines: {node: '>=12'}
@ -914,6 +1049,15 @@ packages:
dev: true
optional: true
/esbuild-netbsd-64/0.15.7:
resolution: {integrity: sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
dev: true
optional: true
/esbuild-openbsd-64/0.14.54:
resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
engines: {node: '>=12'}
@ -923,6 +1067,15 @@ packages:
dev: true
optional: true
/esbuild-openbsd-64/0.15.7:
resolution: {integrity: sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
dev: true
optional: true
/esbuild-sunos-64/0.14.54:
resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
engines: {node: '>=12'}
@ -932,6 +1085,15 @@ packages:
dev: true
optional: true
/esbuild-sunos-64/0.15.7:
resolution: {integrity: sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-32/0.14.54:
resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
engines: {node: '>=12'}
@ -941,6 +1103,15 @@ packages:
dev: true
optional: true
/esbuild-windows-32/0.15.7:
resolution: {integrity: sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-64/0.14.54:
resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
engines: {node: '>=12'}
@ -950,6 +1121,15 @@ packages:
dev: true
optional: true
/esbuild-windows-64/0.15.7:
resolution: {integrity: sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-arm64/0.14.54:
resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
engines: {node: '>=12'}
@ -959,6 +1139,15 @@ packages:
dev: true
optional: true
/esbuild-windows-arm64/0.15.7:
resolution: {integrity: sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild/0.14.54:
resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
engines: {node: '>=12'}
@ -988,6 +1177,35 @@ packages:
esbuild-windows-arm64: 0.14.54
dev: true
/esbuild/0.15.7:
resolution: {integrity: sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
'@esbuild/linux-loong64': 0.15.7
esbuild-android-64: 0.15.7
esbuild-android-arm64: 0.15.7
esbuild-darwin-64: 0.15.7
esbuild-darwin-arm64: 0.15.7
esbuild-freebsd-64: 0.15.7
esbuild-freebsd-arm64: 0.15.7
esbuild-linux-32: 0.15.7
esbuild-linux-64: 0.15.7
esbuild-linux-arm: 0.15.7
esbuild-linux-arm64: 0.15.7
esbuild-linux-mips64le: 0.15.7
esbuild-linux-ppc64le: 0.15.7
esbuild-linux-riscv64: 0.15.7
esbuild-linux-s390x: 0.15.7
esbuild-netbsd-64: 0.15.7
esbuild-openbsd-64: 0.15.7
esbuild-sunos-64: 0.15.7
esbuild-windows-32: 0.15.7
esbuild-windows-64: 0.15.7
esbuild-windows-arm64: 0.15.7
dev: true
/escape-string-regexp/4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
@ -1002,14 +1220,14 @@ packages:
eslint: 8.23.0
dev: true
/eslint-plugin-svelte3/4.0.0_sfdub7vxhxkt5wmgvhhmmgyu2e:
/eslint-plugin-svelte3/4.0.0_jtvgu4usxe4xoavzb5jpyaoyje:
resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==}
peerDependencies:
eslint: '>=8.0.0'
svelte: ^3.2.0
dependencies:
eslint: 8.23.0
svelte: 3.49.0
svelte: 3.50.1
dev: true
/eslint-scope/5.1.1:
@ -1725,8 +1943,8 @@ packages:
engines: {node: '>=8.6'}
dev: true
/playwright-core/1.25.1:
resolution: {integrity: sha512-lSvPCmA2n7LawD2Hw7gSCLScZ+vYRkhU8xH0AapMyzwN+ojoDqhkH/KIEUxwNu2PjPoE/fcE0wLAksdOhJ2O5g==}
/playwright-core/1.25.2:
resolution: {integrity: sha512-0yTbUE9lIddkEpLHL3u8PoCL+pWiZtj5A/j3U7YoNjcmKKDGBnCrgHJMzwd2J5vy6l28q4ki3JIuz7McLHhl1A==}
engines: {node: '>=14'}
hasBin: true
dev: true
@ -1745,14 +1963,14 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
/prettier-plugin-svelte/2.7.0_o3ioganyptcsrh6x4hnxvjkpqi:
/prettier-plugin-svelte/2.7.0_nk6d2fkgcllkkdynqbuearcure:
resolution: {integrity: sha512-fQhhZICprZot2IqEyoiUYLTRdumULGRvw0o4dzl5jt0jfzVWdGqeYW27QTWAeXhoupEZJULmNoH3ueJwUWFLIA==}
peerDependencies:
prettier: ^1.16.4 || ^2.0.0
svelte: ^3.2.0
dependencies:
prettier: 2.7.1
svelte: 3.49.0
svelte: 3.50.1
dev: true
/prettier/2.7.1:
@ -1874,8 +2092,8 @@ packages:
rimraf: 2.7.1
dev: true
/sass/1.54.8:
resolution: {integrity: sha512-ib4JhLRRgbg6QVy6bsv5uJxnJMTS2soVcCp9Y88Extyy13A8vV0G1fAwujOzmNkFQbR3LvedudAMbtuNRPbQww==}
/sass/1.54.9:
resolution: {integrity: sha512-xb1hjASzEH+0L0WI9oFjqhRi51t/gagWnxLiwUNMltA0Ab6jIDkAacgKiGYKM9Jhy109osM7woEEai6SXeJo5Q==}
engines: {node: '>=12.0.0'}
hasBin: true
dependencies:
@ -2000,7 +2218,7 @@ packages:
engines: {node: '>= 0.4'}
dev: true
/svelte-check/2.9.0_sass@1.54.8+svelte@3.49.0:
/svelte-check/2.9.0_sass@1.54.9+svelte@3.50.1:
resolution: {integrity: sha512-9AVrtP7WbfDgCdqTZNPdj5CCCy1OrYMxFVWAWzNw7fl93c9klFJFtqzVXa6fovfQ050CcpUyJE2dPFL9TFAREw==}
hasBin: true
peerDependencies:
@ -2012,9 +2230,9 @@ packages:
import-fresh: 3.3.0
picocolors: 1.0.0
sade: 1.8.1
svelte: 3.49.0
svelte-preprocess: 4.10.7_wvqslddg27v5ozoudw2pkwd4de
typescript: 4.8.2
svelte: 3.50.1
svelte-preprocess: 4.10.7_dmgt4vqjdljwxc7vlji2ruxhdy
typescript: 4.8.3
transitivePeerDependencies:
- '@babel/core'
- coffeescript
@ -2028,16 +2246,16 @@ packages:
- sugarss
dev: true
/svelte-hmr/0.14.12_svelte@3.49.0:
/svelte-hmr/0.14.12_svelte@3.50.1:
resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==}
engines: {node: ^12.20 || ^14.13.1 || >= 16}
peerDependencies:
svelte: '>=3.19.0'
dependencies:
svelte: 3.49.0
svelte: 3.50.1
dev: true
/svelte-preprocess/4.10.7_wvqslddg27v5ozoudw2pkwd4de:
/svelte-preprocess/4.10.7_dmgt4vqjdljwxc7vlji2ruxhdy:
resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==}
engines: {node: '>= 9.11.2'}
requiresBuild: true
@ -2082,15 +2300,15 @@ packages:
'@types/sass': 1.43.1
detect-indent: 6.1.0
magic-string: 0.25.9
sass: 1.54.8
sass: 1.54.9
sorcery: 0.10.0
strip-indent: 3.0.0
svelte: 3.49.0
typescript: 4.8.2
svelte: 3.50.1
typescript: 4.8.3
dev: true
/svelte/3.49.0:
resolution: {integrity: sha512-+lmjic1pApJWDfPCpUUTc1m8azDqYCG1JN9YEngrx/hUyIcFJo6VZhj0A1Ai0wqoHcEIuQy+e9tk+4uDgdtsFA==}
/svelte/3.50.1:
resolution: {integrity: sha512-bS4odcsdj5D5jEg6riZuMg5NKelzPtmsCbD9RG+8umU03TeNkdWnP6pqbCm0s8UQNBkqk29w/Bdubn3C+HWSwA==}
engines: {node: '>= 8'}
dev: true
@ -2141,14 +2359,14 @@ packages:
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
dev: true
/tsutils/3.21.0_typescript@4.8.2:
/tsutils/3.21.0_typescript@4.8.3:
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'}
peerDependencies:
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
dependencies:
tslib: 1.14.1
typescript: 4.8.2
typescript: 4.8.3
dev: true
/type-check/0.4.0:
@ -2163,8 +2381,8 @@ packages:
engines: {node: '>=10'}
dev: true
/typescript/4.8.2:
resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==}
/typescript/4.8.3:
resolution: {integrity: sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==}
engines: {node: '>=4.2.0'}
hasBin: true
dev: true
@ -2184,8 +2402,8 @@ packages:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
/vite/3.1.0-beta.1_sass@1.54.8:
resolution: {integrity: sha512-JGEnWSC0hfarcduTCQr6wnRjPLbT62iLCK59HBJXYt9oyWSUMtrvcnDqzvLFC+lHV6KGFQkmWlZucyIQmgUnLA==}
/vite/3.1.0_sass@1.54.9:
resolution: {integrity: sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
@ -2203,11 +2421,11 @@ packages:
terser:
optional: true
dependencies:
esbuild: 0.14.54
esbuild: 0.15.7
postcss: 8.4.16
resolve: 1.22.1
rollup: 2.78.1
sass: 1.54.8
sass: 1.54.9
optionalDependencies:
fsevents: 2.3.2
dev: true
@ -2268,6 +2486,6 @@ packages:
engines: {node: '>=10'}
dev: true
/zod/3.18.0:
resolution: {integrity: sha512-gwTm8RfUCe8l9rDwN5r2A17DkAa8Ez4Yl4yXqc5VqeGaXaJahzYYXbTwvhroZi0SNBqTwh/bKm2N0mpCzuw4bA==}
/zod/3.19.0:
resolution: {integrity: sha512-Yw0qvUsCNGBe5YacikdMt5gVYeUuaEFVDIHKMfElrGSaBhwR3CQK6vOzgfAJOjTdGIhEeoaj8GtT+NDZrepZbw==}
dev: false

65
src/db/actions.ts Normal file
View file

@ -0,0 +1,65 @@
function isNumber(str: string): boolean {
if (typeof str !== 'string') {
return false;
}
if (str.trim() === '') {
return false;
}
return !Number.isNaN(Number(str));
}
function convertToBoolean(input: string): boolean | undefined {
try {
return JSON.parse(input.toLowerCase());
} catch (e) {
return undefined;
}
}
export async function getFormDataObject(request: Request): Promise<{ [key: string]: string }> {
const formData = await request.formData();
let data = formData.entries();
var obj = data.next();
var retrieved: any = {};
while (undefined !== obj.value) {
retrieved[obj.value[0]] = obj.value[1];
obj = data.next();
}
return retrieved;
}
export async function getFormData<T>(request: Request, schema: any): T {
const data = await getFormDataObject(request);
return transformFormDataTypes<T>(data, schema);
}
// TODO: Modify this as schema refers to a JSON schema helper
export function transformFormDataTypes<T>(data, schema): T {
for (const property in data) {
if (isNumber(schema[property])) {
data[property] = parseInt(data[property]);
} else if (typeof convertToBoolean(schema[property]) === boolean) {
data[property] = convertToBoolean(schema[property]); // data[property] === 'true';
} else if (Array.isArray(JSON.parse(schema[property]))) {
data[property] = JSON.parse(schema[property]);
}
}
return data;
}
interface Actions {
[key: string]: any // Action
}
export const Games: Actions = {
search: async function search({ request, locals }): Promise<any> {
}
// create: async function create({ request, locals }): Promise<any> {
// const data = await getFormDataObject<any>(request);
// return data;
// }
}

0
src/lib/apis/game.ts Normal file
View file

View file

@ -1,58 +1,138 @@
<script lang="ts">
import { createEventDispatcher } from 'svelte';
import { fade } from 'svelte/transition';
import {
Listbox,
ListboxButton,
ListboxOption,
ListboxOptions
} from '@rgossiaux/svelte-headlessui';
import {
CheckIcon,
ChevronLeftIcon,
ChevronRightIcon
} from '@rgossiaux/svelte-heroicons/outline';
import { boredState } from '$root/lib/stores/boredState';
const totalCount = $boredState.search.totalCount; // TODO: Check default value
console.log('totalCount', totalCount);
const pageSize = $boredState.search.pageSize;
console.log('pageSize', pageSize);
const currentPage = $boredState.search.currentPage;
console.log('currentPage', currentPage);
let skip = $boredState.search.skip;
console.log('skip', skip);
const dispatch = createEventDispatcher();
// export let pageSize = 10;
export let pageSize: number; // Reactive, bind
export let currentPage: number; // Reactive, bind
export let totalItems: number;
export let pageSizes: ReadonlyArray<Number> = [10];
export let forwardText: string;
export let backwardText: string;
export let pageSizeInputDisabled: boolean = false;
const totalPages: number = Math.ceil(totalCount / pageSize);
const totalPages: number = Math.ceil(totalItems / pageSize);
console.log('totalPages', totalPages);
const prevPage: number = currentPage - 1;
const nextPage: number = currentPage + 1;
const hasNextPage: boolean = nextPage <= totalPages;
const hasPrevPage: boolean = prevPage >= 1;
const itemsLeft: number =
totalCount - currentPage * pageSize >= 0 ? totalCount - currentPage * pageSize : 0;
const maxPaginationButtons = 10;
let addition = maxPaginationButtons;
if (addition <= maxPaginationButtons) {
addition = skip;
}
const pageArray = Array.from({ length: maxPaginationButtons }, (_, i) => i + 1 + addition);
// console.log('pageArray', pageArray);
totalItems - currentPage * $boredState.search.pageSize >= 0
? totalItems - currentPage * $boredState.search.pageSize
: 0;
</script>
<div class="container">
<button type="button" class="btn" disabled={!hasPrevPage}>Prev</button>
{#each pageArray as page (page)}
<button
type="button"
class="btn"
class:current={page === currentPage}
value={page}
on:click={() => {
boredState.update((n) => ({
...n,
search: { skip: page * pageSize, currentPage: currentPage + 1, pageSize, totalCount }
}));
}}>{page}</button
>
{/each}
<button type="button" class="btn" disabled={!hasNextPage}>Next</button>
<span>
<p>Items per-page:</p>
<div class="list-container">
<Listbox
class="list-box"
value={$boredState.search.pageSize}
on:change={(e) => {
dispatch('pageSizeEvent', e.detail);
// boredState.update((n) => ({
// ...n,
// search: { totalCount, pageSize: e.detail, skip, currentPage }
// }));
}}
let:open
>
<ListboxButton>{pageSize}</ListboxButton>
{#if open}
<div transition:fade>
<ListboxOptions static class="list-options">
{#each pageSizes as size (size)}
<ListboxOption
value={size}
disabled={pageSizeInputDisabled}
class={({ active }) => (active ? 'active' : '')}
let:selected
>
{#if selected}
<CheckIcon />
{/if}
<p>{size.toString()}</p>
</ListboxOption>
{/each}
</ListboxOptions>
</div>
{/if}
</Listbox>
</div>
</span>
<p>
Page {currentPage || 1} of {totalPages || 1}
</p>
<p>
{itemsLeft} Item{itemsLeft > 1 || itemsLeft === 0 ? 's' : ''} Left
</p>
<button
type="button"
class="btn"
disabled={!hasPrevPage}
on:click={() => dispatch('previousPageEvent', prevPage)}
><ChevronLeftIcon width="24" height="24" />
<p class="word">{backwardText || 'Prev'}</p></button
>
<button
type="button"
class="btn"
disabled={!hasNextPage}
on:click={() => dispatch('nextPageEvent', nextPage)}
><p class="word">{forwardText || 'Next'}</p>
<ChevronRightIcon width="24" height="24" /></button
>
</div>
<style lang="scss">
.container {
display: flex;
justify-content: center;
justify-content: space-between;
align-items: center;
gap: 1rem;
margin: 3rem 0;
.btn {
display: flex;
gap: 0.5rem;
padding: 1rem;
}
}
@media (max-width: 800px) {
.word {
display: none;
}
}
.list-container :global(.list-box) {
height: 100%;
position: relative;
}
.list-container :global(.list-options) {
position: absolute;
}
.list-container :global(.active) {
display: flex;
gap: 1rem;
padding: 1rem;
}
button {

View file

@ -12,7 +12,7 @@ const state = () => {
const initial: BoredStore = {
loading: false, dialog: initialDialog, search: {
totalCount: 1,
pageSize: 25,
pageSize: 10,
skip: 0,
currentPage: 1
}

View file

View file

@ -9,7 +9,33 @@
import Random from '$lib/components/random/index.svelte';
import Pagination from '$lib/components/pagination/index.svelte';
let pageSize: number;
let currentPage: number;
$: totalItems = 0;
console.log('totalItems', totalItems);
async function handleSearch(event: SubmitEvent) {
boredState.update((n) => ({ ...n, loading: true }));
const form = event.target as HTMLFormElement;
console.log('form', form);
const response = await fetch('/api/game', {
method: 'POST',
headers: { accept: 'application/json' },
body: new FormData(form)
});
const responseData = await response.json();
boredState.update((n) => ({ ...n, loading: false }));
gameStore.removeAll();
gameStore.addAll(responseData?.games);
totalItems = responseData?.totalCount;
}
// async function handleItemsPerPageChange(event) {
// const perPage = event?.detail;
// if ($gameStore.length )
// }
async function handleNextPageEvent(event: CustomEvent) {
console.log('Next page called', event);
boredState.update((n) => ({ ...n, loading: true }));
const form = event.target as HTMLFormElement;
console.log('form', form);
@ -79,7 +105,17 @@
<Game on:removeGameEvent={handleRemoveGame} {game} />
{/each}
</div>
<Pagination />
<Pagination
{pageSize}
{currentPage}
{totalItems}
forwardText="Next"
backwardText="Prev"
pageSizes={[10, 25, 50, 100]}
on:nextPageEvent={handleNextPageEvent}
on:previousPageEvent={(event) => console.log('Prev page called', event)}
on:perPageEvent={(event) => console.log('Per page called', event)}
/>
</div>
{/if}

View file

@ -9,7 +9,8 @@ export const POST: RequestHandler = async ({ request }) => {
const queryParams: SearchQuery = {
order_by: 'rank',
ascending: false,
limit: 25,
limit: 10,
skip: 0,
client_id: import.meta.env.VITE_PUBLIC_CLIENT_ID,
fuzzy_match: true,
name: ''

View file

@ -1,6 +1,7 @@
import { error } from '@sveltejs/kit';
import type { PageServerLoad } from './$types'
import { boardGameApi } from '../../api';
// import { Games } from '$lib/db/actions';
type GamePageParams = {
params: {
@ -8,6 +9,10 @@ type GamePageParams = {
}
}
// export const actions = {
// default Games.create,
// }
export const load: PageServerLoad = async ({ params }: GamePageParams) => {
console.log('params', params);
const queryParams = {

13
src/search/actions.ts Normal file
View file

@ -0,0 +1,13 @@
interface Actions {
[key: string]: any // Action
}
export const Games: Actions = {
search: async function search({ request, locals }): Promise<any> {
}
// create: async function create({ request, locals }): Promise<any> {
// const data = await getFormDataObject<any>(request);
// return data;
// }
}

View file

@ -12,11 +12,14 @@ const config = {
$components: 'src/components',
$root: './src'
},
// Override http methods in the Todo forms
methodOverride: {
allowed: ['PATCH', 'DELETE']
}
}
},
vitePlugin: {
experimental: {
inspector: {
toggleKeyCombo: 'control-alt-shift',
},
},
},
};
export default config;