Update svelte and typescript usage
All checks were successful
Build / build (push) Successful in 22s

This commit is contained in:
Chris 2026-08-05 17:15:08 +01:00
commit 26bd739638
19 changed files with 237 additions and 934 deletions

View file

@ -5,6 +5,7 @@
"dev": "vite dev", "dev": "vite dev",
"build": "vite build", "build": "vite build",
"preview": "vite preview", "preview": "vite preview",
"prepare": "svelte-kit sync || echo ''",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch" "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
}, },
@ -15,7 +16,6 @@
"@types/node": "^26.1.1", "@types/node": "^26.1.1",
"svelte": "^5.56.4", "svelte": "^5.56.4",
"svelte-check": "^4.7.2", "svelte-check": "^4.7.2",
"svelte-preprocess": "^6.0.5",
"tslib": "^2.8.1", "tslib": "^2.8.1",
"typescript": "^6.0.2", "typescript": "^6.0.2",
"vite": "^8.1.4" "vite": "^8.1.4"

470
pnpm-lock.yaml generated
View file

@ -10,25 +10,22 @@ importers:
devDependencies: devDependencies:
'@sveltejs/adapter-static': '@sveltejs/adapter-static':
specifier: ^3.0.10 specifier: ^3.0.10
version: 3.0.10(@sveltejs/kit@2.69.2(@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.4)(vite@8.1.4(@types/node@26.1.1)))(svelte@5.56.4)(typescript@6.0.3)(vite@8.1.4(@types/node@26.1.1))) version: 3.0.10(@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.8)(vite@8.2.0(@types/node@26.1.2)))(svelte@5.56.8)(typescript@6.0.3)(vite@8.2.0(@types/node@26.1.2)))
'@sveltejs/kit': '@sveltejs/kit':
specifier: ^2.69.2 specifier: ^2.69.2
version: 2.69.2(@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.4)(vite@8.1.4(@types/node@26.1.1)))(svelte@5.56.4)(typescript@6.0.3)(vite@8.1.4(@types/node@26.1.1)) version: 2.70.2(@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.8)(vite@8.2.0(@types/node@26.1.2)))(svelte@5.56.8)(typescript@6.0.3)(vite@8.2.0(@types/node@26.1.2))
'@sveltejs/vite-plugin-svelte': '@sveltejs/vite-plugin-svelte':
specifier: ^7.2.0 specifier: ^7.2.0
version: 7.2.0(svelte@5.56.4)(vite@8.1.4(@types/node@26.1.1)) version: 7.2.0(svelte@5.56.8)(vite@8.2.0(@types/node@26.1.2))
'@types/node': '@types/node':
specifier: ^26.1.1 specifier: ^26.1.1
version: 26.1.1 version: 26.1.2
svelte: svelte:
specifier: ^5.56.4 specifier: ^5.56.4
version: 5.56.4 version: 5.56.8
svelte-check: svelte-check:
specifier: ^4.7.2 specifier: ^4.7.2
version: 4.7.2(picomatch@4.0.5)(svelte@5.56.4)(typescript@6.0.3) version: 4.7.4(picomatch@4.0.5)(svelte@5.56.8)(typescript@6.0.3)
svelte-preprocess:
specifier: ^6.0.5
version: 6.0.5(postcss@8.5.17)(svelte@5.56.4)(typescript@6.0.3)
tslib: tslib:
specifier: ^2.8.1 specifier: ^2.8.1
version: 2.8.1 version: 2.8.1
@ -37,19 +34,10 @@ importers:
version: 6.0.3 version: 6.0.3
vite: vite:
specifier: ^8.1.4 specifier: ^8.1.4
version: 8.1.4(@types/node@26.1.1) version: 8.2.0(@types/node@26.1.2)
packages: packages:
'@emnapi/core@1.11.1':
resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==}
'@emnapi/runtime@1.11.1':
resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==}
'@emnapi/wasi-threads@1.2.2':
resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==}
'@jridgewell/gen-mapping@0.3.13': '@jridgewell/gen-mapping@0.3.13':
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
@ -66,109 +54,98 @@ packages:
'@jridgewell/trace-mapping@0.3.31': '@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
'@napi-rs/wasm-runtime@1.1.6': '@oxc-project/types@0.142.0':
resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==} resolution: {integrity: sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ==}
peerDependencies:
'@emnapi/core': ^1.7.1
'@emnapi/runtime': ^1.7.1
'@oxc-project/types@0.139.0':
resolution: {integrity: sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==}
'@polka/url@1.0.0-next.29': '@polka/url@1.0.0-next.29':
resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
'@rolldown/binding-android-arm64@1.1.5': '@rolldown/binding-android-arm64@1.2.2':
resolution: {integrity: sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==} resolution: {integrity: sha512-l7x215OGvo1s52JWmR8U/DAVzEDWBCIbTm28aeJV/WDTSHgcKXaZTuBT0hJMs5NggilfJTW3clZVvd24yfKJxA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
'@rolldown/binding-darwin-arm64@1.1.5': '@rolldown/binding-darwin-arm64@1.2.2':
resolution: {integrity: sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==} resolution: {integrity: sha512-9u9Xv6c1AJZT0FfwH5vrMG5Jjcwhc1MlyrPu0XfTqkzsmqfks2M6W/o5XwAJgVVN/jHpqqngC1WevHKKTIUtIA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@rolldown/binding-darwin-x64@1.1.5': '@rolldown/binding-darwin-x64@1.2.2':
resolution: {integrity: sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==} resolution: {integrity: sha512-9W1mbGZAfW3oqd85bhBkmpyHCCzL1TeG/zFFP3vg7b0rlly8cxOcre5nXwz+LHazCwac2MNWgPdPCHndABjpWQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@rolldown/binding-freebsd-x64@1.1.5': '@rolldown/binding-freebsd-x64@1.2.2':
resolution: {integrity: sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==} resolution: {integrity: sha512-0p1lhiCSCyaerFwtrdZQUx7NqGk6LQnaRKWX7tFQqwQgvX0rjM15cIkm3pax1UpEakK14C4mOxx/jSqCBdBRqQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
'@rolldown/binding-linux-arm-gnueabihf@1.1.5': '@rolldown/binding-linux-arm-gnueabihf@1.2.2':
resolution: {integrity: sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==} resolution: {integrity: sha512-e+cOJXrJ2L3zx6YzqPg+f6Wbk3V1cKB8bOhbaYdVYN3DdquzNdRAmrbETz1qnt5yp/c7JNlNjmITiA2cVneQ7w==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@rolldown/binding-linux-arm64-gnu@1.1.5': '@rolldown/binding-linux-arm64-gnu@1.2.2':
resolution: {integrity: sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==} resolution: {integrity: sha512-JsSMsj6sNat/MuhG5fnBD7QgbtpHKVe30x5/bAVirDHdhoQRXJkF6xc0Jqk8O4fiCUQAzMOoH9wZi3m60c8wtg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@rolldown/binding-linux-arm64-musl@1.1.5': '@rolldown/binding-linux-arm64-musl@1.2.2':
resolution: {integrity: sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==} resolution: {integrity: sha512-B5G/zJdHaoJn9vD50eGHWkiWfmq8Uhi3IiLPJTzmZTrAalk1bztUikSXo0qga18ibE0IXboyeMUnhPjhAJ45wQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
'@rolldown/binding-linux-ppc64-gnu@1.1.5': '@rolldown/binding-linux-ppc64-gnu@1.2.2':
resolution: {integrity: sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==} resolution: {integrity: sha512-6mC/awzKka8W6EoekjegpfGkjz8jXWDX63pqu/HYVpyKtZfu65Jsh4QAH3Kej3CAv/c1oGX7psTmFEbr0mDxLA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64] cpu: [ppc64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@rolldown/binding-linux-s390x-gnu@1.1.5': '@rolldown/binding-linux-s390x-gnu@1.2.2':
resolution: {integrity: sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==} resolution: {integrity: sha512-412MX9fJLdA1IK28EZnc8jYv2HRTleOZgfLQumJ5zy7OeJLZlg/CETwFaXjNmGVxG51cFHpKLqb5LKvBC+HsHA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x] cpu: [s390x]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@rolldown/binding-linux-x64-gnu@1.1.5': '@rolldown/binding-linux-x64-gnu@1.2.2':
resolution: {integrity: sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==} resolution: {integrity: sha512-Q/+HI/ToJafZ1iCqGgVQXUEkIjufHCTF0gBQ2a5o3cg7GJ2h0qyq3nvvSmU+bGda2/7ygXpTY4TM6gO9OhQ0ZA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@rolldown/binding-linux-x64-musl@1.1.5': '@rolldown/binding-linux-x64-musl@1.2.2':
resolution: {integrity: sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==} resolution: {integrity: sha512-ZKp/w41n6wCvxzxQHtQSbuphfX3Y4cCvbjkKHusrLx4lh+JWLTU7StSltO/DKARISzbj368d+qUaCjI8K2wzXw==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
'@rolldown/binding-openharmony-arm64@1.1.5': '@rolldown/binding-openharmony-arm64@1.2.2':
resolution: {integrity: sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==} resolution: {integrity: sha512-pxE6xD4KS3eAROkKK5yrhB9/3+vhlhVGMvlQLbdpzrBGDbKrnzx3RLwPaHvasLo6jgaiBLn7e04Df9C4tYhjmA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [openharmony] os: [openharmony]
'@rolldown/binding-wasm32-wasi@1.1.5': '@rolldown/binding-win32-arm64-msvc@1.2.2':
resolution: {integrity: sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==} resolution: {integrity: sha512-4MqEue5re+xIZzAWsB8sj0P1kqZySWqIuN4t6QaIO/YA6SFwySOLruvWQFzfmqk8LBK2P30KCSJwf6mJCZZ5/A==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [wasm32]
'@rolldown/binding-win32-arm64-msvc@1.1.5':
resolution: {integrity: sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@rolldown/binding-win32-x64-msvc@1.1.5': '@rolldown/binding-win32-x64-msvc@1.2.2':
resolution: {integrity: sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==} resolution: {integrity: sha512-NweNxxD0Nf9t8v7kodun45Ijp3EIwYY+uydPP6qBEYvfBqhIjN6dZMzlQja3tqX/aLs3F3Uz+AxDpKgRhpOZQg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@ -189,8 +166,8 @@ packages:
peerDependencies: peerDependencies:
'@sveltejs/kit': ^2.0.0 '@sveltejs/kit': ^2.0.0
'@sveltejs/kit@2.69.2': '@sveltejs/kit@2.70.2':
resolution: {integrity: sha512-CMdPDbYjRwRu4KXTxBVMuOpFPCt1i/v0ANennotec+K9Cmb2e3w2yYzJiC6Vh/WSvm9Khi5sJMZa0rJPqfHlDw==} resolution: {integrity: sha512-RzRoRpuR2KXqc5yMO0akQHDZeT4AslOlznGITURsqHaVbtyYP4Wn3eE3gxj9JcDyNYO0crkxhdwFHc+2vkVm6w==}
engines: {node: '>=18.13'} engines: {node: '>=18.13'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -205,8 +182,8 @@ packages:
typescript: typescript:
optional: true optional: true
'@sveltejs/load-config@0.2.0': '@sveltejs/load-config@0.2.1':
resolution: {integrity: sha512-1LgZ/qUqSoq+QorD83lk2hka79Px0wXNW2q5V1nZlxGhQgw1jrsIbVz5YiCeucVLo4XvFLjXukUaQjIiqowkcg==} resolution: {integrity: sha512-5m3B2cbqQ4TbwW6Xkh66Ntw6dD7gNc77cCxABTTesWcq9jxIzMgTk97pZx5vEtvQx8iokgi7GIphqZe+PGwcZA==}
engines: {node: '>= 18.0.0'} engines: {node: '>= 18.0.0'}
'@sveltejs/vite-plugin-svelte@7.2.0': '@sveltejs/vite-plugin-svelte@7.2.0':
@ -216,23 +193,20 @@ packages:
svelte: ^5.46.4 svelte: ^5.46.4
vite: ^8.0.0-beta.7 || ^8.0.0 vite: ^8.0.0-beta.7 || ^8.0.0
'@tybys/wasm-util@0.10.3':
resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==}
'@types/cookie@0.6.0': '@types/cookie@0.6.0':
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
'@types/estree@1.0.9': '@types/estree@1.0.9':
resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
'@types/node@26.1.1': '@types/node@26.1.2':
resolution: {integrity: sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==} resolution: {integrity: sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg==}
'@types/trusted-types@2.0.7': '@types/trusted-types@2.0.7':
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
acorn@8.17.0: acorn@8.18.0:
resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
hasBin: true hasBin: true
@ -264,14 +238,14 @@ packages:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
devalue@5.8.1: devalue@5.9.0:
resolution: {integrity: sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==} resolution: {integrity: sha512-RWrqdArjvPbsATEhOPUo6Wndc/iWnkWKlhIrdlF3zMMYo/c3CVtoaVAyLtWxz5h8nSlkHzxnzV2uLydPXmtF+A==}
esm-env@1.2.2: esm-env@1.2.2:
resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
esrap@2.2.13: esrap@2.3.0:
resolution: {integrity: sha512-m8jH5hZgJE2RRUK/jjkGPcJEDAV+dYnZYFkosQaPTcE+Yw4xynXHOo6FUdwaWBtdR3b1MMa7wEDTSHeR2VWsGA==} resolution: {integrity: sha512-GQ/7RN8uOtEfNpzZzBMTzW9JBcX42oaSVtPzdF+6cEL8pqIL094iUpr9jzYGn4O4P/1S60dJ6izyT8F4LYARng==}
peerDependencies: peerDependencies:
'@typescript-eslint/types': ^8.2.0 '@typescript-eslint/types': ^8.2.0
peerDependenciesMeta: peerDependenciesMeta:
@ -299,78 +273,78 @@ packages:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
lightningcss-android-arm64@1.32.0: lightningcss-android-arm64@1.33.0:
resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
lightningcss-darwin-arm64@1.32.0: lightningcss-darwin-arm64@1.33.0:
resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
lightningcss-darwin-x64@1.32.0: lightningcss-darwin-x64@1.33.0:
resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
lightningcss-freebsd-x64@1.32.0: lightningcss-freebsd-x64@1.33.0:
resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
lightningcss-linux-arm-gnueabihf@1.32.0: lightningcss-linux-arm-gnueabihf@1.33.0:
resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
lightningcss-linux-arm64-gnu@1.32.0: lightningcss-linux-arm64-gnu@1.33.0:
resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
lightningcss-linux-arm64-musl@1.32.0: lightningcss-linux-arm64-musl@1.33.0:
resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
lightningcss-linux-x64-gnu@1.32.0: lightningcss-linux-x64-gnu@1.33.0:
resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
lightningcss-linux-x64-musl@1.32.0: lightningcss-linux-x64-musl@1.33.0:
resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
lightningcss-win32-arm64-msvc@1.32.0: lightningcss-win32-arm64-msvc@1.33.0:
resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
lightningcss-win32-x64-msvc@1.32.0: lightningcss-win32-x64-msvc@1.33.0:
resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
lightningcss@1.32.0: lightningcss@1.33.0:
resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==}
engines: {node: '>= 12.0.0'} engines: {node: '>= 12.0.0'}
locate-character@3.0.0: locate-character@3.0.0:
@ -387,13 +361,13 @@ packages:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
nanoid@3.3.16: nanoid@3.3.17:
resolution: {integrity: sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==} resolution: {integrity: sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true hasBin: true
obug@2.1.3: obug@2.1.4:
resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==} resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==}
engines: {node: '>=12.20.0'} engines: {node: '>=12.20.0'}
picocolors@1.1.1: picocolors@1.1.1:
@ -403,16 +377,16 @@ packages:
resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==} resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==}
engines: {node: '>=12'} engines: {node: '>=12'}
postcss@8.5.17: postcss@8.5.25:
resolution: {integrity: sha512-J7EF+8X+CzRPaJPOv9Ck2wNWJvGnnl3PcNPAdGg6GTLjyVpyQ0yATMSXRFRV01BviT/9Gwuc3rjEyJbDJG9a4w==} resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
readdirp@4.1.2: readdirp@4.1.2:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'} engines: {node: '>= 14.18.0'}
rolldown@1.1.5: rolldown@1.2.2:
resolution: {integrity: sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==} resolution: {integrity: sha512-opwpo1tQBAcpSUJDt94B7hhLNGOKjCdE//XXjeLrnx9b83bjnw45tXdg1b09yEw/VLFBJGZpwRULMmOZo7ol+A==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true hasBin: true
@ -431,53 +405,16 @@ packages:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
svelte-check@4.7.2: svelte-check@4.7.4:
resolution: {integrity: sha512-GoS4XJdGswlq0rIT1vtFLzJY1bvHtY37McY9H9Gkm1Ggw/ICdZYn8J/Z8Yi0BEL0i3R4+jtaWVePjyppMlij/A==} resolution: {integrity: sha512-IW9ot9YqAoyv8FvyN+eb4ZTe8zgcKZrJLNYU6dzSKkGwEBsSPc4K7lmQ8bKn8W2YMXM6WDfZSSVOaGtekyUfOQ==}
engines: {node: '>= 18.0.0'} engines: {node: '>= 18.0.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
svelte: ^4.0.0 || ^5.0.0-next.0 svelte: ^4.0.0 || ^5.0.0-next.0
typescript: '>=5.0.0'
svelte-preprocess@6.0.5:
resolution: {integrity: sha512-sgwew5yV/2eMeQobIWgAxCNarKwiTUDIc3siAUbq3sp0G6ONtzk0W+wJihMdqjbYb3iGU3ubpGv0usnnuXT3qg==}
engines: {node: '>= 18.0.0'}
peerDependencies:
'@babel/core': ^7.10.2
coffeescript: ^2.5.1
less: ^3.11.3 || ^4.0.0
postcss: ^7 || ^8
postcss-load-config: '>=3'
pug: ^3.0.0
sass: ^1.26.8
stylus: '>=0.55'
sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
svelte: ^4.0.0 || ^5.0.0-next.100 || ^5.0.0
typescript: ^5.0.0 || ^6.0.0 typescript: ^5.0.0 || ^6.0.0
peerDependenciesMeta:
'@babel/core':
optional: true
coffeescript:
optional: true
less:
optional: true
postcss:
optional: true
postcss-load-config:
optional: true
pug:
optional: true
sass:
optional: true
stylus:
optional: true
sugarss:
optional: true
typescript:
optional: true
svelte@5.56.4: svelte@5.56.8:
resolution: {integrity: sha512-/d0QHehmRuJW8gVz395MTkPcPozxzdjBMBE8oEYGz8O3b9KTMzzQ9ZHJQLuFKOHOPQbU6kx/X4iid/EBBzH7iw==} resolution: {integrity: sha512-PY8LOw7xP6c8IOiVqdo0sbbZVYhXRSfklOQLAUyGBKqjTX0wx/z4l/9J+PmBpmlLnxzEb1NqltxQ5/wZme/Cmg==}
engines: {node: '>=18'} engines: {node: '>=18'}
tinyglobby@0.2.17: tinyglobby@0.2.17:
@ -499,13 +436,13 @@ packages:
undici-types@8.3.0: undici-types@8.3.0:
resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==}
vite@8.1.4: vite@8.2.0:
resolution: {integrity: sha512-bTT9PsdWO+MQMNG9ZXIP/qM9wGh37DFxTV/sPq9cFpHr3w4jkgef032PkAL9jAqhk3Nz8NQw3O8n6/xFkqO4QQ==} resolution: {integrity: sha512-pn+CFpM0lwDeKwmOq1ZaBK/9sjorZcgqxki6MbY/jPEVd9vichIlmlD4HmQ5wdP5EgqQCFRaACBxMC7uEGc6lQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
'@types/node': ^20.19.0 || >=22.12.0 '@types/node': ^20.19.0 || >=22.12.0
'@vitejs/devtools': ^0.3.0 '@vitejs/devtools': ^0.4.0
esbuild: ^0.27.0 || ^0.28.0 esbuild: ^0.27.0 || ^0.28.0
jiti: '>=1.21.0' jiti: '>=1.21.0'
less: ^4.0.0 less: ^4.0.0
@ -555,22 +492,6 @@ packages:
snapshots: snapshots:
'@emnapi/core@1.11.1':
dependencies:
'@emnapi/wasi-threads': 1.2.2
tslib: 2.8.1
optional: true
'@emnapi/runtime@1.11.1':
dependencies:
tslib: 2.8.1
optional: true
'@emnapi/wasi-threads@1.2.2':
dependencies:
tslib: 2.8.1
optional: true
'@jridgewell/gen-mapping@0.3.13': '@jridgewell/gen-mapping@0.3.13':
dependencies: dependencies:
'@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/sourcemap-codec': 1.5.5
@ -590,125 +511,106 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2 '@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/sourcemap-codec': 1.5.5
'@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': '@oxc-project/types@0.142.0': {}
dependencies:
'@emnapi/core': 1.11.1
'@emnapi/runtime': 1.11.1
'@tybys/wasm-util': 0.10.3
optional: true
'@oxc-project/types@0.139.0': {}
'@polka/url@1.0.0-next.29': {} '@polka/url@1.0.0-next.29': {}
'@rolldown/binding-android-arm64@1.1.5': '@rolldown/binding-android-arm64@1.2.2':
optional: true optional: true
'@rolldown/binding-darwin-arm64@1.1.5': '@rolldown/binding-darwin-arm64@1.2.2':
optional: true optional: true
'@rolldown/binding-darwin-x64@1.1.5': '@rolldown/binding-darwin-x64@1.2.2':
optional: true optional: true
'@rolldown/binding-freebsd-x64@1.1.5': '@rolldown/binding-freebsd-x64@1.2.2':
optional: true optional: true
'@rolldown/binding-linux-arm-gnueabihf@1.1.5': '@rolldown/binding-linux-arm-gnueabihf@1.2.2':
optional: true optional: true
'@rolldown/binding-linux-arm64-gnu@1.1.5': '@rolldown/binding-linux-arm64-gnu@1.2.2':
optional: true optional: true
'@rolldown/binding-linux-arm64-musl@1.1.5': '@rolldown/binding-linux-arm64-musl@1.2.2':
optional: true optional: true
'@rolldown/binding-linux-ppc64-gnu@1.1.5': '@rolldown/binding-linux-ppc64-gnu@1.2.2':
optional: true optional: true
'@rolldown/binding-linux-s390x-gnu@1.1.5': '@rolldown/binding-linux-s390x-gnu@1.2.2':
optional: true optional: true
'@rolldown/binding-linux-x64-gnu@1.1.5': '@rolldown/binding-linux-x64-gnu@1.2.2':
optional: true optional: true
'@rolldown/binding-linux-x64-musl@1.1.5': '@rolldown/binding-linux-x64-musl@1.2.2':
optional: true optional: true
'@rolldown/binding-openharmony-arm64@1.1.5': '@rolldown/binding-openharmony-arm64@1.2.2':
optional: true optional: true
'@rolldown/binding-wasm32-wasi@1.1.5': '@rolldown/binding-win32-arm64-msvc@1.2.2':
dependencies:
'@emnapi/core': 1.11.1
'@emnapi/runtime': 1.11.1
'@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
optional: true optional: true
'@rolldown/binding-win32-arm64-msvc@1.1.5': '@rolldown/binding-win32-x64-msvc@1.2.2':
optional: true
'@rolldown/binding-win32-x64-msvc@1.1.5':
optional: true optional: true
'@rolldown/pluginutils@1.0.1': {} '@rolldown/pluginutils@1.0.1': {}
'@standard-schema/spec@1.1.0': {} '@standard-schema/spec@1.1.0': {}
'@sveltejs/acorn-typescript@1.0.11(acorn@8.17.0)': '@sveltejs/acorn-typescript@1.0.11(acorn@8.18.0)':
dependencies: dependencies:
acorn: 8.17.0 acorn: 8.18.0
'@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.69.2(@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.4)(vite@8.1.4(@types/node@26.1.1)))(svelte@5.56.4)(typescript@6.0.3)(vite@8.1.4(@types/node@26.1.1)))': '@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.8)(vite@8.2.0(@types/node@26.1.2)))(svelte@5.56.8)(typescript@6.0.3)(vite@8.2.0(@types/node@26.1.2)))':
dependencies: dependencies:
'@sveltejs/kit': 2.69.2(@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.4)(vite@8.1.4(@types/node@26.1.1)))(svelte@5.56.4)(typescript@6.0.3)(vite@8.1.4(@types/node@26.1.1)) '@sveltejs/kit': 2.70.2(@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.8)(vite@8.2.0(@types/node@26.1.2)))(svelte@5.56.8)(typescript@6.0.3)(vite@8.2.0(@types/node@26.1.2))
'@sveltejs/kit@2.69.2(@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.4)(vite@8.1.4(@types/node@26.1.1)))(svelte@5.56.4)(typescript@6.0.3)(vite@8.1.4(@types/node@26.1.1))': '@sveltejs/kit@2.70.2(@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.8)(vite@8.2.0(@types/node@26.1.2)))(svelte@5.56.8)(typescript@6.0.3)(vite@8.2.0(@types/node@26.1.2))':
dependencies: dependencies:
'@standard-schema/spec': 1.1.0 '@standard-schema/spec': 1.1.0
'@sveltejs/acorn-typescript': 1.0.11(acorn@8.17.0) '@sveltejs/acorn-typescript': 1.0.11(acorn@8.18.0)
'@sveltejs/vite-plugin-svelte': 7.2.0(svelte@5.56.4)(vite@8.1.4(@types/node@26.1.1)) '@sveltejs/vite-plugin-svelte': 7.2.0(svelte@5.56.8)(vite@8.2.0(@types/node@26.1.2))
'@types/cookie': 0.6.0 '@types/cookie': 0.6.0
acorn: 8.17.0 acorn: 8.18.0
cookie: 0.6.0 cookie: 0.6.0
devalue: 5.8.1 devalue: 5.9.0
esm-env: 1.2.2 esm-env: 1.2.2
kleur: 4.1.5 kleur: 4.1.5
magic-string: 0.30.21 magic-string: 0.30.21
mrmime: 2.0.1 mrmime: 2.0.1
set-cookie-parser: 3.1.2 set-cookie-parser: 3.1.2
sirv: 3.0.2 sirv: 3.0.2
svelte: 5.56.4 svelte: 5.56.8
vite: 8.1.4(@types/node@26.1.1) vite: 8.2.0(@types/node@26.1.2)
optionalDependencies: optionalDependencies:
typescript: 6.0.3 typescript: 6.0.3
'@sveltejs/load-config@0.2.0': {} '@sveltejs/load-config@0.2.1': {}
'@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.4)(vite@8.1.4(@types/node@26.1.1))': '@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.8)(vite@8.2.0(@types/node@26.1.2))':
dependencies: dependencies:
deepmerge: 4.3.1 deepmerge: 4.3.1
magic-string: 0.30.21 magic-string: 0.30.21
obug: 2.1.3 obug: 2.1.4
svelte: 5.56.4 svelte: 5.56.8
vite: 8.1.4(@types/node@26.1.1) vite: 8.2.0(@types/node@26.1.2)
vitefu: 1.1.3(vite@8.1.4(@types/node@26.1.1)) vitefu: 1.1.3(vite@8.2.0(@types/node@26.1.2))
'@tybys/wasm-util@0.10.3':
dependencies:
tslib: 2.8.1
optional: true
'@types/cookie@0.6.0': {} '@types/cookie@0.6.0': {}
'@types/estree@1.0.9': {} '@types/estree@1.0.9': {}
'@types/node@26.1.1': '@types/node@26.1.2':
dependencies: dependencies:
undici-types: 8.3.0 undici-types: 8.3.0
'@types/trusted-types@2.0.7': {} '@types/trusted-types@2.0.7': {}
acorn@8.17.0: {} acorn@8.18.0: {}
aria-query@5.3.1: {} aria-query@5.3.1: {}
@ -726,11 +628,11 @@ snapshots:
detect-libc@2.1.2: {} detect-libc@2.1.2: {}
devalue@5.8.1: {} devalue@5.9.0: {}
esm-env@1.2.2: {} esm-env@1.2.2: {}
esrap@2.2.13: esrap@2.3.0:
dependencies: dependencies:
'@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/sourcemap-codec': 1.5.5
@ -747,54 +649,54 @@ snapshots:
kleur@4.1.5: {} kleur@4.1.5: {}
lightningcss-android-arm64@1.32.0: lightningcss-android-arm64@1.33.0:
optional: true optional: true
lightningcss-darwin-arm64@1.32.0: lightningcss-darwin-arm64@1.33.0:
optional: true optional: true
lightningcss-darwin-x64@1.32.0: lightningcss-darwin-x64@1.33.0:
optional: true optional: true
lightningcss-freebsd-x64@1.32.0: lightningcss-freebsd-x64@1.33.0:
optional: true optional: true
lightningcss-linux-arm-gnueabihf@1.32.0: lightningcss-linux-arm-gnueabihf@1.33.0:
optional: true optional: true
lightningcss-linux-arm64-gnu@1.32.0: lightningcss-linux-arm64-gnu@1.33.0:
optional: true optional: true
lightningcss-linux-arm64-musl@1.32.0: lightningcss-linux-arm64-musl@1.33.0:
optional: true optional: true
lightningcss-linux-x64-gnu@1.32.0: lightningcss-linux-x64-gnu@1.33.0:
optional: true optional: true
lightningcss-linux-x64-musl@1.32.0: lightningcss-linux-x64-musl@1.33.0:
optional: true optional: true
lightningcss-win32-arm64-msvc@1.32.0: lightningcss-win32-arm64-msvc@1.33.0:
optional: true optional: true
lightningcss-win32-x64-msvc@1.32.0: lightningcss-win32-x64-msvc@1.33.0:
optional: true optional: true
lightningcss@1.32.0: lightningcss@1.33.0:
dependencies: dependencies:
detect-libc: 2.1.2 detect-libc: 2.1.2
optionalDependencies: optionalDependencies:
lightningcss-android-arm64: 1.32.0 lightningcss-android-arm64: 1.33.0
lightningcss-darwin-arm64: 1.32.0 lightningcss-darwin-arm64: 1.33.0
lightningcss-darwin-x64: 1.32.0 lightningcss-darwin-x64: 1.33.0
lightningcss-freebsd-x64: 1.32.0 lightningcss-freebsd-x64: 1.33.0
lightningcss-linux-arm-gnueabihf: 1.32.0 lightningcss-linux-arm-gnueabihf: 1.33.0
lightningcss-linux-arm64-gnu: 1.32.0 lightningcss-linux-arm64-gnu: 1.33.0
lightningcss-linux-arm64-musl: 1.32.0 lightningcss-linux-arm64-musl: 1.33.0
lightningcss-linux-x64-gnu: 1.32.0 lightningcss-linux-x64-gnu: 1.33.0
lightningcss-linux-x64-musl: 1.32.0 lightningcss-linux-x64-musl: 1.33.0
lightningcss-win32-arm64-msvc: 1.32.0 lightningcss-win32-arm64-msvc: 1.33.0
lightningcss-win32-x64-msvc: 1.32.0 lightningcss-win32-x64-msvc: 1.33.0
locate-character@3.0.0: {} locate-character@3.0.0: {}
@ -806,42 +708,41 @@ snapshots:
mrmime@2.0.1: {} mrmime@2.0.1: {}
nanoid@3.3.16: {} nanoid@3.3.17: {}
obug@2.1.3: {} obug@2.1.4: {}
picocolors@1.1.1: {} picocolors@1.1.1: {}
picomatch@4.0.5: {} picomatch@4.0.5: {}
postcss@8.5.17: postcss@8.5.25:
dependencies: dependencies:
nanoid: 3.3.16 nanoid: 3.3.17
picocolors: 1.1.1 picocolors: 1.1.1
source-map-js: 1.2.1 source-map-js: 1.2.1
readdirp@4.1.2: {} readdirp@4.1.2: {}
rolldown@1.1.5: rolldown@1.2.2:
dependencies: dependencies:
'@oxc-project/types': 0.139.0 '@oxc-project/types': 0.142.0
'@rolldown/pluginutils': 1.0.1 '@rolldown/pluginutils': 1.0.1
optionalDependencies: optionalDependencies:
'@rolldown/binding-android-arm64': 1.1.5 '@rolldown/binding-android-arm64': 1.2.2
'@rolldown/binding-darwin-arm64': 1.1.5 '@rolldown/binding-darwin-arm64': 1.2.2
'@rolldown/binding-darwin-x64': 1.1.5 '@rolldown/binding-darwin-x64': 1.2.2
'@rolldown/binding-freebsd-x64': 1.1.5 '@rolldown/binding-freebsd-x64': 1.2.2
'@rolldown/binding-linux-arm-gnueabihf': 1.1.5 '@rolldown/binding-linux-arm-gnueabihf': 1.2.2
'@rolldown/binding-linux-arm64-gnu': 1.1.5 '@rolldown/binding-linux-arm64-gnu': 1.2.2
'@rolldown/binding-linux-arm64-musl': 1.1.5 '@rolldown/binding-linux-arm64-musl': 1.2.2
'@rolldown/binding-linux-ppc64-gnu': 1.1.5 '@rolldown/binding-linux-ppc64-gnu': 1.2.2
'@rolldown/binding-linux-s390x-gnu': 1.1.5 '@rolldown/binding-linux-s390x-gnu': 1.2.2
'@rolldown/binding-linux-x64-gnu': 1.1.5 '@rolldown/binding-linux-x64-gnu': 1.2.2
'@rolldown/binding-linux-x64-musl': 1.1.5 '@rolldown/binding-linux-x64-musl': 1.2.2
'@rolldown/binding-openharmony-arm64': 1.1.5 '@rolldown/binding-openharmony-arm64': 1.2.2
'@rolldown/binding-wasm32-wasi': 1.1.5 '@rolldown/binding-win32-arm64-msvc': 1.2.2
'@rolldown/binding-win32-arm64-msvc': 1.1.5 '@rolldown/binding-win32-x64-msvc': 1.2.2
'@rolldown/binding-win32-x64-msvc': 1.1.5
sade@1.8.1: sade@1.8.1:
dependencies: dependencies:
@ -857,40 +758,33 @@ snapshots:
source-map-js@1.2.1: {} source-map-js@1.2.1: {}
svelte-check@4.7.2(picomatch@4.0.5)(svelte@5.56.4)(typescript@6.0.3): svelte-check@4.7.4(picomatch@4.0.5)(svelte@5.56.8)(typescript@6.0.3):
dependencies: dependencies:
'@jridgewell/trace-mapping': 0.3.31 '@jridgewell/trace-mapping': 0.3.31
'@sveltejs/load-config': 0.2.0 '@sveltejs/load-config': 0.2.1
chokidar: 4.0.3 chokidar: 4.0.3
fdir: 6.5.0(picomatch@4.0.5) fdir: 6.5.0(picomatch@4.0.5)
picocolors: 1.1.1 picocolors: 1.1.1
sade: 1.8.1 sade: 1.8.1
svelte: 5.56.4 svelte: 5.56.8
typescript: 6.0.3 typescript: 6.0.3
transitivePeerDependencies: transitivePeerDependencies:
- picomatch - picomatch
svelte-preprocess@6.0.5(postcss@8.5.17)(svelte@5.56.4)(typescript@6.0.3): svelte@5.56.8:
dependencies:
svelte: 5.56.4
optionalDependencies:
postcss: 8.5.17
typescript: 6.0.3
svelte@5.56.4:
dependencies: dependencies:
'@jridgewell/remapping': 2.3.5 '@jridgewell/remapping': 2.3.5
'@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/sourcemap-codec': 1.5.5
'@sveltejs/acorn-typescript': 1.0.11(acorn@8.17.0) '@sveltejs/acorn-typescript': 1.0.11(acorn@8.18.0)
'@types/estree': 1.0.9 '@types/estree': 1.0.9
'@types/trusted-types': 2.0.7 '@types/trusted-types': 2.0.7
acorn: 8.17.0 acorn: 8.18.0
aria-query: 5.3.1 aria-query: 5.3.1
axobject-query: 4.1.0 axobject-query: 4.1.0
clsx: 2.1.1 clsx: 2.1.1
devalue: 5.8.1 devalue: 5.9.0
esm-env: 1.2.2 esm-env: 1.2.2
esrap: 2.2.13 esrap: 2.3.0
is-reference: 3.0.3 is-reference: 3.0.3
locate-character: 3.0.0 locate-character: 3.0.0
magic-string: 0.30.21 magic-string: 0.30.21
@ -911,19 +805,19 @@ snapshots:
undici-types@8.3.0: {} undici-types@8.3.0: {}
vite@8.1.4(@types/node@26.1.1): vite@8.2.0(@types/node@26.1.2):
dependencies: dependencies:
lightningcss: 1.32.0 lightningcss: 1.33.0
picomatch: 4.0.5 picomatch: 4.0.5
postcss: 8.5.17 postcss: 8.5.25
rolldown: 1.1.5 rolldown: 1.2.2
tinyglobby: 0.2.17 tinyglobby: 0.2.17
optionalDependencies: optionalDependencies:
'@types/node': 26.1.1 '@types/node': 26.1.2
fsevents: 2.3.3 fsevents: 2.3.3
vitefu@1.1.3(vite@8.1.4(@types/node@26.1.1)): vitefu@1.1.3(vite@8.2.0(@types/node@26.1.2)):
optionalDependencies: optionalDependencies:
vite: 8.1.4(@types/node@26.1.1) vite: 8.2.0(@types/node@26.1.2)
zimmerframe@1.1.4: {} zimmerframe@1.1.4: {}

View file

@ -1,2 +1,2 @@
allowBuilds: allowBuilds:
svelte-preprocess: true esbuild: true

View file

@ -1,5 +1,5 @@
<script> <script lang="ts">
export let title = "Quartznet"; let { title = "Quartznet" } = $props();
</script> </script>
<div class="overlay"> <div class="overlay">

View file

@ -1,276 +0,0 @@
<script lang="ts">
//@ts-nocheck
import {
setContext as baseSetContext,
createEventDispatcher,
} from "svelte";
import { fade } from "svelte/transition";
export let key = "simple-modal";
export let closeButton = true;
export let closeOnEsc = true;
export let closeOnOuterClick = true;
export let transitionBg = fade;
export let transitionBgProps = { duration: 250 };
export let transitionWindow = transitionBg;
export let transitionWindowProps = transitionBgProps;
export let styleBg = { top: 0, left: 0 };
export let styleWindow = {};
export let styleContent = {};
export let setContext = baseSetContext;
export let show: boolean = false;
let Component = null;
let props = null;
let background;
let wrap;
let customStyleBg = {};
let customStyleWindow = {};
let customStyleContent = {};
let Callback = (props) => {};
$: Component,
() => {
show = !!Component;
};
const dispatch = createEventDispatcher();
const camelCaseToDash = (str) =>
str.replace(/([a-zA-Z])(?=[A-Z])/g, "$1-").toLowerCase();
const toCssString = (props) =>
Object.keys(props).reduce(
(str, key) => `${str}; ${camelCaseToDash(key)}: ${props[key]}`,
"",
);
$: cssBg = toCssString(Object.assign({}, styleBg, customStyleBg));
$: cssWindow = toCssString(
Object.assign({}, styleWindow, customStyleWindow),
);
$: cssContent = toCssString(
Object.assign({}, styleContent, customStyleContent),
);
const open = (
NewComponent,
newProps = {},
style = { bg: {}, window: {}, content: {} },
newCallback = () => {},
) => {
Component = NewComponent;
props = newProps;
Callback = newCallback;
customStyleBg = style.bg || {};
customStyleWindow = style.window || {};
customStyleContent = style.content || {};
};
const close = () => {
Callback(props);
Component = null;
props = null;
customStyleBg = {};
customStyleWindow = {};
customStyleContent = {};
};
const handleKeyup = ({ key }) => {
if (closeOnEsc && Component && key === "Escape") {
event.preventDefault();
close();
}
};
const handleOuterClick = (event) => {
if (
closeOnOuterClick &&
(event.target === background || event.target === wrap)
) {
event.preventDefault();
close();
}
};
setContext(key, { open: show, close });
</script>
<svelte:window on:keyup={handleKeyup} />
<div>
{#if Component}
<div
class="bg"
on:click={handleOuterClick}
bind:this={background}
transition:transitionBg={transitionBgProps}
style={cssBg}
>
<div class="window-wrap" bind:this={wrap}>
<div
class="window"
transition:transitionWindow={transitionWindowProps}
style={cssWindow}
>
{#if closeButton}
<button on:click={close} class="close" />
{/if}
<div class="content" style={cssContent}>
<Component {...props} {close} />
</div>
</div>
</div>
</div>
{/if}
<slot />
</div>
<!--
** LICENSE **
MIT License
Copyright (c) 2019 Fritz Lekschas
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
https://github.com/flekschas/svelte-simple-moda
-->
<style>
* {
box-sizing: border-box;
}
.bg {
position: fixed;
z-index: 1000;
display: flex;
flex-direction: column;
justify-content: center;
width: 100vw;
height: 100vh;
background: rgba(0, 0, 0, 0.66);
}
.window-wrap {
position: relative;
margin: 2rem;
max-height: 100%;
}
.window {
position: relative;
width: 40rem;
max-width: 100%;
max-height: 100%;
margin: 2rem auto;
color: black;
border-radius: 0.5rem;
background: white;
}
.content {
position: relative;
padding: 1rem;
max-height: calc(100vh - 4rem);
overflow: auto;
}
.close {
display: block;
box-sizing: border-box;
position: absolute;
z-index: 1000;
top: 1rem;
right: 1rem;
margin: 0;
padding: 0;
width: 1.5rem;
height: 1.5rem;
border: 0;
color: black;
border-radius: 1.5rem;
background: white;
box-shadow: 0 0 0 1px black;
transition:
transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1),
background 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
-webkit-appearance: none;
}
.close:before,
.close:after {
content: "";
display: block;
box-sizing: border-box;
position: absolute;
top: 50%;
width: 1rem;
height: 1px;
background: black;
transform-origin: center;
transition:
height 0.2s cubic-bezier(0.25, 0.1, 0.25, 1),
background 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.close:before {
-webkit-transform: translate(0, -50%) rotate(45deg);
-moz-transform: translate(0, -50%) rotate(45deg);
transform: translate(0, -50%) rotate(45deg);
left: 0.25rem;
}
.close:after {
-webkit-transform: translate(0, -50%) rotate(-45deg);
-moz-transform: translate(0, -50%) rotate(-45deg);
transform: translate(0, -50%) rotate(-45deg);
left: 0.25rem;
}
.close:hover {
background: black;
}
.close:hover:before,
.close:hover:after {
height: 2px;
background: white;
}
.close:focus {
border-color: #3399ff;
box-shadow: 0 0 0 2px #3399ff;
}
.close:active {
transform: scale(0.9);
}
.close:hover,
.close:focus,
.close:active {
outline: none;
}
</style>

View file

@ -1,56 +0,0 @@
<script lang="ts">
import { fly } from "svelte/transition";
import Modal from "./Modal.svelte";
const click = () => {
modal_show = true;
show = false;
};
function overlay_click(e: MouseEvent) {
//@ts-ignore
if ("close" in e.target.dataset) show = false;
}
export let show = false;
let modal_show = false;
</script>
{#if show}
<div class="overlay" data-close on:click={overlay_click}>
<nav transition:fly={{ x: -250, opacity: 1 }}>
<slot>
<button on:click={click}>About</button>
</slot>
</nav>
</div>
{/if}
<Modal bind:show={modal_show} />
<style>
.overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0);
z-index: 10;
display: flex;
flex-direction: column;
justify-content: center;
}
nav {
position: fixed;
top: 0;
left: 0;
height: 100%;
padding: 2rem 1rem 0.6rem;
border-right: 1px solid #aaa;
background: #fff;
overflow-y: auto;
width: 20rem;
}
</style>

View file

@ -1,255 +0,0 @@
<script lang="ts">
//@ts-nocheck
import { quintOut } from "svelte/easing";
import { crossfade } from "svelte/transition";
import { flip } from "svelte/animate";
// FLIP ANIMATION
const [send, receive] = crossfade({
duration: (d) => Math.sqrt(d * 200),
fallback(node, params) {
const style = getComputedStyle(node);
const transform = style.transform === "none" ? "" : style.transform;
return {
duration: 600,
easing: quintOut,
css: (t) => `
transform: ${transform} scale(${t});
opacity: ${t}
`,
};
},
});
// DRAG AND DROP
let isOver = false;
let isDragging = false;
const getDraggedParent = (node) => {
return node.dataset && node.dataset.index
? node.dataset
: getDraggedParent(node.parentNode);
};
const click = (ev) => {
dispatch("slotclick", {
source: ev.target.parentElement.dataset.index,
sourceItem: list[ev.target.parentElement.dataset.index],
});
};
const start = (ev) => {
isDragging = true;
ev.dataTransfer.setData("source", ev.target.dataset.index);
};
const over = (ev) => {
ev.preventDefault();
let dragged = getDraggedParent(ev.target);
if (isOver !== dragged.id) isOver = JSON.parse(dragged.id);
};
const leave = (ev) => {
let dragged = getDraggedParent(ev.target);
if (isOver === dragged.id) isOver = false;
};
const drop = (ev) => {
isOver = false;
ev.preventDefault();
let dragged = getDraggedParent(ev.target);
let from = ev.dataTransfer.getData("source");
let to = dragged.index;
reorder({ from, to });
isDragging = false;
};
// DISPATCH REORDER
import {
createEventDispatcher,
onMount,
afterUpdate,
beforeUpdate,
tick,
} from "svelte";
const dispatch = createEventDispatcher();
const reorder = ({ from, to }) => {
let newList = [...list];
let temp = newList[from];
newList[from] = newList[to];
newList[to] = temp;
//newList[from] = [newList[to], (newList[to] = newList[from])][0];
dispatch("sort", { data: newList, from: from, to: to });
};
// UTILS
const getKey = (item) => (key ? item[key] : item);
type ListItem = {
displayTileSize: number;
endsGroup: boolean;
startsNewGroup: boolean;
};
// PROPS
export let list: ListItem[][];
export let key;
export let ulclass;
export let breakon: string | null = null;
export let breakComponent;
// return `<><li class='${breakClass}' style='height:100%; grid-column: span 5;'><div style='width:100%;height:inherit;'></li>`;
// export let breakPosition = "beforebegin";
let breakClass = "group-break";
const Elements = () => document.getElementsByClassName(key);
const removeOldBreaks = (parent) => {
if (breakon == null) return;
if (isDragging) return;
if (parent.length) {
const old = parent[0].getElementsByClassName(breakClass);
for (let i = 0; i < old.length; i = 0) {
old[i].remove(); // removing the node from the DOM also removes it from this array (WTF??)
}
}
};
let lastCollection;
let updatingBreakPoints = false;
const updateBreak = () => {
if (isDragging || updatingBreakPoints) return;
if (breakon == null) return;
try {
updatingBreakPoints = true;
let breaks = 0;
let last = null;
let carry = 0;
let elements = Elements();
for (let x = 0; x < list.length; x++) {
if (last != null) {
if (list[x][breakon] > last) {
if (elements.length) {
let targetIndex = x + breaks;
if (
list.length !==
elements[0].children.length - breaks
) {
if (lastCollection)
if (lastCollection.length)
targetIndex += lastCollection.length;
}
// elements[0].children[targetIndex].insertAdjacentHTML(breakPosition, breakHtml(carry + 1));
breaks++;
carry = 0;
}
} else {
carry++;
}
}
last = list[x][breakon] > last ? list[x][breakon] : last;
}
lastCollection = list;
} finally {
updatingBreakPoints = false;
}
};
//beforeUpdate(() => {updateBreak()});
let updating = false;
afterUpdate(async () => {
if (isDragging) return;
if (breakon == null) return;
updating = true;
removeOldBreaks(Elements());
await tick();
updateBreak();
updating = false;
});
const getClass = () => {
let ret = "";
if (key) ret += ` ${key}`;
if (ulclass) ret += ` ${ulclass}`;
return ret;
};
</script>
{#if list && list.length}
<ul class={getClass()}>
{#each list as item, index (getKey(item))}
<li
class:small={item.displayTileSize === 2}
class:medium={item.displayTileSize === 3}
class:large={item.displayTileSize === 4}
class:startsNewGroup={item.startsNewGroup}
class:endsGroup={item.endsGroup}
data-index={index}
data-item={JSON.stringify(item)}
data-id={JSON.stringify(getKey(item))}
draggable="true"
on:dragstart={start}
on:dragover={over}
on:dragleave={leave}
on:drop={drop}
on:click={click}
in:receive={{ key: getKey(item) }}
out:send={{ key: getKey(item) }}
animate:flip={{ duration: 300 }}
class:over={getKey(item) === isOver}
>
<slot {item} {index}>
<p>{getKey(item)}</p>
</slot>
</li>
{/each}
</ul>
{/if}
<style>
ul {
display: inline-grid;
list-style: none;
padding: 0;
width: 100%;
}
li {
display: inline-block;
border: 2px dotted transparent;
transition: border 0.1s linear;
width: 100%;
height: 100%;
margin: 0.5%;
}
.startsNewGroup {
grid-column-start: 1;
}
.small {
grid-column-end: span 1;
grid-row: span 1;
}
.medium {
grid-column-end: span 2;
grid-row: span 1;
}
.large {
grid-column-end: span 2;
/*grid-row: span 2; large buttons are double height, but they also push the row below them down (they dont fit around eachother like css-grid) */
}
.over {
border-color: rgba(48, 12, 200, 0.2);
}
</style>

View file

@ -1,3 +1,7 @@
<script>
let { children } = $props();
</script>
<svelte:head> <svelte:head>
<script> <script>
if (document) { if (document) {
@ -7,4 +11,4 @@
</script> </script>
</svelte:head> </svelte:head>
<slot></slot> {@render children()}

View file

@ -1,9 +1,19 @@
<script lang="ts"> <script lang="ts">
export let name: string; interface Props {
export let link: string; name: string;
export let img = "https://placehold.it/600x300"; link: string;
export let size = { width: 600, height: 300 }; img?: string;
export let description: string; size?: { width: number; height: number };
description: string;
}
let {
name,
link,
img = "https://placehold.it/600x300",
size = { width: 600, height: 300 },
description
}: Props = $props();
</script> </script>
<div class="card"> <div class="card">

View file

@ -1,16 +1,5 @@
<script> <script>
export const name = "%USER%"; export const name = "%USER%";
export let icon;
export let onClick;
</script> </script>
<a href="/admin">Admin</a> <a href="/admin">Admin</a>
<style>
img {
display: inline-block;
position: relative;
width: 100%;
height: 100%;
}
</style>

View file

@ -218,7 +218,7 @@ H@: :HHHHHHHHHHHHHHHHHHX, =@H
// appa, atom, nuke // appa, atom, nuke
var options = [cake, heart, fire, tick, bang, mesa, cube]; var options = [cake, heart, fire, tick, bang, mesa, cube];
let active = cake; let active = $state(cake);
function updateView() { function updateView() {
active = options[Math.floor(Math.random() * options.length)]; active = options[Math.floor(Math.random() * options.length)];

View file

@ -1,11 +1,13 @@
<script> <script>
import ThemeContext from "$lib/ThemeContext.svelte"; import ThemeContext from "$lib/ThemeContext.svelte";
import Nav from "$lib/Nav.svelte"; import Nav from "$lib/Nav.svelte";
let { children } = $props();
</script> </script>
<ThemeContext> <ThemeContext>
<Nav /> <Nav />
<slot></slot> {@render children()}
<footer class="container"></footer> <footer class="container"></footer>
</ThemeContext> </ThemeContext>

View file

@ -6,7 +6,7 @@
{ {
name: "Test", name: "Test",
link: "/", link: "/",
img: "images/600x300.png", img: "/images/600x300.png",
size: { width: 600, height: 300 }, size: { width: 600, height: 300 },
description: "Test", description: "Test",
}, },

View file

@ -1,8 +1,8 @@
<script> <script>
import Banner from "$lib/Banner.svelte"; import Banner from "$lib/Banner.svelte";
let username = ""; let username = $state("");
let password = ""; let password = $state("");
const submitHandler = () => { const submitHandler = () => {
alert("TODO: implement login backend"); alert("TODO: implement login backend");
@ -17,7 +17,7 @@
<main class="container"> <main class="container">
<form <form
on:submit|preventDefault={submitHandler} onsubmit={submitHandler}
class="form-signin" class="form-signin"
method="post" method="post"
> >

View file

@ -1,23 +0,0 @@
import adapter from "@sveltejs/adapter-static";
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
/** @type {import('@sveltejs/kit').Config} */
const config = {
// preprocess: preprocess(),
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
// for more information about preprocessors
preprocess: vitePreprocess(),
kit: {
adapter: adapter({
pages: 'build',
assets: 'build',
fallback: '404.html',
precompress: false,
strict: true,
trailingSlash: 'always'
})
}
};
export default config;

View file

@ -1,6 +1,7 @@
{ {
"extends": "./.svelte-kit/tsconfig.json", "extends": "./.svelte-kit/tsconfig.json",
"compilerOptions": { "compilerOptions": {
"rewriteRelativeImportExtensions": true,
"allowJs": true, "allowJs": true,
"checkJs": true, "checkJs": true,
"esModuleInterop": true, "esModuleInterop": true,
@ -8,6 +9,12 @@
"resolveJsonModule": true, "resolveJsonModule": true,
"skipLibCheck": true, "skipLibCheck": true,
"sourceMap": true, "sourceMap": true,
"strict": true "strict": true,
"moduleResolution": "bundler"
} }
// Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias
// except $lib which is handled by https://svelte.dev/docs/kit/configuration#files
//
// To make changes to top-level options such as include and exclude, we recommend extending
// the generated config; see https://svelte.dev/docs/kit/configuration#typescript
} }

View file

@ -1,8 +0,0 @@
import { sveltekit } from '@sveltejs/kit/vite';
/** @type {import('vite').UserConfig} */
const config = {
plugins: [sveltekit()]
};
export default config;

15
vite.config.ts Normal file
View file

@ -0,0 +1,15 @@
import adapter from '@sveltejs/adapter-static';
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [
sveltekit({
compilerOptions: {
// Force runes mode for the project, except for libraries. Can be removed in svelte 6.
runes: ({ filename }) => filename.split(/[/\\]/).includes('node_modules') ? undefined : true
},
adapter: adapter()
})
]
});