From 10f79af739b59cb0d943d94bbbfc17dafb005e43 Mon Sep 17 00:00:00 2001 From: Bradley Shellnut Date: Thu, 30 May 2024 12:03:03 -0700 Subject: [PATCH] Using BitsUI pagination component for Articles and modifying articles fetching. --- package.json | 22 +- pnpm-lock.yaml | 496 ++++++++++-------- src/lib/api.ts | 23 +- src/lib/components/Articles.svelte | 3 +- .../index.svelte => Bandcamp.svelte} | 4 +- .../index.svelte => Pagination.svelte} | 16 +- src/lib/types/article.ts | 2 + src/routes/+page.server.ts | 2 +- src/routes/+page.svelte | 14 +- src/routes/api/articles/+server.ts | 12 +- src/routes/articles/[page]/+page.server.ts | 22 +- src/routes/articles/[page]/+page.svelte | 41 +- src/styles/global.pcss | 5 +- 13 files changed, 358 insertions(+), 304 deletions(-) rename src/lib/components/{bandcamp/index.svelte => Bandcamp.svelte} (96%) rename src/lib/components/{pagination/index.svelte => Pagination.svelte} (86%) diff --git a/package.json b/package.json index b089592..ba6f086 100644 --- a/package.json +++ b/package.json @@ -21,14 +21,14 @@ "@iconify-icons/radix-icons": "^1.2.9", "@iconify-icons/simple-icons": "^1.2.74", "@melt-ui/pp": "^0.3.2", - "@playwright/test": "^1.44.0", + "@playwright/test": "^1.44.1", "@resvg/resvg-js": "^2.6.2", "@sveltejs/adapter-static": "^3.0.1", - "@sveltejs/enhanced-img": "^0.2.0", - "@sveltejs/kit": "^2.5.7", - "@sveltejs/vite-plugin-svelte": "^3.1.0", - "@typescript-eslint/eslint-plugin": "^7.8.0", - "@typescript-eslint/parser": "^7.8.0", + "@sveltejs/enhanced-img": "^0.2.1", + "@sveltejs/kit": "^2.5.10", + "@sveltejs/vite-plugin-svelte": "^3.1.1", + "@typescript-eslint/eslint-plugin": "^7.11.0", + "@typescript-eslint/parser": "^7.11.0", "@zerodevx/svelte-img": "^2.1.0", "autoprefixer": "^10.4.19", "eslint": "^8.57.0", @@ -41,7 +41,7 @@ "postcss": "^8.4.38", "postcss-import": "^16.1.0", "postcss-load-config": "^5.1.0", - "postcss-preset-env": "^9.5.11", + "postcss-preset-env": "^9.5.14", "prettier": "^3.2.5", "prettier-plugin-svelte": "^3.2.3", "sass": "^1.77.0", @@ -49,7 +49,7 @@ "satori-html": "^0.3.2", "scrape-it": "^6.1.2", "sharp": "^0.33.3", - "svelte": "^4.2.16", + "svelte": "^4.2.17", "svelte-check": "^3.7.1", "svelte-meta-tags": "^3.1.2", "svelte-preprocess": "^5.1.4", @@ -57,17 +57,17 @@ "tslib": "^2.6.2", "typescript": "^5.4.5", "vanilla-lazyload": "^19.1.3", - "vite": "^5.2.11", + "vite": "^5.2.12", "vite-imagetools": "^7.0.2", "vitest": "^1.6.0" }, "type": "module", "dependencies": { "@melt-ui/svelte": "^0.76.3", - "@sveltejs/adapter-vercel": "^5.3.0", + "@sveltejs/adapter-vercel": "^5.3.1", "@types/nprogress": "^0.2.3", "@vercel/og": "^0.6.2", - "bits-ui": "^0.21.7", + "bits-ui": "^0.21.10", "flexsearch": "^0.7.43", "ioredis": "^5.4.1", "lucide-svelte": "^0.378.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7160083..c5bda64 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,10 @@ importers: dependencies: '@melt-ui/svelte': specifier: ^0.76.3 - version: 0.76.3(svelte@4.2.16) + version: 0.76.3(svelte@4.2.17) '@sveltejs/adapter-vercel': - specifier: ^5.3.0 - version: 5.3.0(@sveltejs/kit@2.5.7(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0))) + specifier: ^5.3.1 + version: 5.3.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0))) '@types/nprogress': specifier: ^0.2.3 version: 0.2.3 @@ -21,8 +21,8 @@ importers: specifier: ^0.6.2 version: 0.6.2 bits-ui: - specifier: ^0.21.7 - version: 0.21.7(svelte@4.2.16) + specifier: ^0.21.10 + version: 0.21.10(svelte@4.2.17) flexsearch: specifier: ^0.7.43 version: 0.7.43 @@ -31,13 +31,13 @@ importers: version: 5.4.1 lucide-svelte: specifier: ^0.378.0 - version: 0.378.0(svelte@4.2.16) + version: 0.378.0(svelte@4.2.17) nprogress: specifier: ^0.2.0 version: 0.2.0 svelte-local-storage-store: specifier: ^0.6.4 - version: 0.6.4(svelte@4.2.16) + version: 0.6.4(svelte@4.2.17) devDependencies: '@iconify-icons/material-symbols': specifier: ^1.2.58 @@ -53,34 +53,34 @@ importers: version: 1.2.74 '@melt-ui/pp': specifier: ^0.3.2 - version: 0.3.2(@melt-ui/svelte@0.76.3(svelte@4.2.16))(svelte@4.2.16) + version: 0.3.2(@melt-ui/svelte@0.76.3(svelte@4.2.17))(svelte@4.2.17) '@playwright/test': - specifier: ^1.44.0 - version: 1.44.0 + specifier: ^1.44.1 + version: 1.44.1 '@resvg/resvg-js': specifier: ^2.6.2 version: 2.6.2 '@sveltejs/adapter-static': specifier: ^3.0.1 - version: 3.0.1(@sveltejs/kit@2.5.7(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0))) + version: 3.0.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0))) '@sveltejs/enhanced-img': - specifier: ^0.2.0 - version: 0.2.0(rollup@4.14.3)(svelte@4.2.16) + specifier: ^0.2.1 + version: 0.2.1(rollup@4.14.3)(svelte@4.2.17) '@sveltejs/kit': - specifier: ^2.5.7 - version: 2.5.7(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)) + specifier: ^2.5.10 + version: 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)) '@sveltejs/vite-plugin-svelte': - specifier: ^3.1.0 - version: 3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)) + specifier: ^3.1.1 + version: 3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)) '@typescript-eslint/eslint-plugin': - specifier: ^7.8.0 - version: 7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + specifier: ^7.11.0 + version: 7.11.0(@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': - specifier: ^7.8.0 - version: 7.8.0(eslint@8.57.0)(typescript@5.4.5) + specifier: ^7.11.0 + version: 7.11.0(eslint@8.57.0)(typescript@5.4.5) '@zerodevx/svelte-img': specifier: ^2.1.0 - version: 2.1.0(rollup@4.14.3)(svelte@4.2.16) + version: 2.1.0(rollup@4.14.3)(svelte@4.2.17) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) @@ -92,7 +92,7 @@ importers: version: 9.1.0(eslint@8.57.0) eslint-plugin-svelte: specifier: ^2.38.0 - version: 2.38.0(eslint@8.57.0)(svelte@4.2.16) + version: 2.38.0(eslint@8.57.0)(svelte@4.2.17) iconify-icon: specifier: ^2.1.0 version: 2.1.0 @@ -101,7 +101,7 @@ importers: version: 4.3.0 mdsvex: specifier: ^0.11.0 - version: 0.11.0(svelte@4.2.16) + version: 0.11.0(svelte@4.2.17) mdsvex-relative-images: specifier: ^1.0.3 version: 1.0.3 @@ -115,14 +115,14 @@ importers: specifier: ^5.1.0 version: 5.1.0(postcss@8.4.38) postcss-preset-env: - specifier: ^9.5.11 - version: 9.5.11(postcss@8.4.38) + specifier: ^9.5.14 + version: 9.5.14(postcss@8.4.38) prettier: specifier: ^3.2.5 version: 3.2.5 prettier-plugin-svelte: specifier: ^3.2.3 - version: 3.2.3(prettier@3.2.5)(svelte@4.2.16) + version: 3.2.3(prettier@3.2.5)(svelte@4.2.17) sass: specifier: ^1.77.0 version: 1.77.0 @@ -139,17 +139,17 @@ importers: specifier: ^0.33.3 version: 0.33.3 svelte: - specifier: ^4.2.16 - version: 4.2.16 + specifier: ^4.2.17 + version: 4.2.17 svelte-check: specifier: ^3.7.1 - version: 3.7.1(postcss-load-config@5.1.0(postcss@8.4.38))(postcss@8.4.38)(sass@1.77.0)(svelte@4.2.16) + version: 3.7.1(postcss-load-config@5.1.0(postcss@8.4.38))(postcss@8.4.38)(sass@1.77.0)(svelte@4.2.17) svelte-meta-tags: specifier: ^3.1.2 - version: 3.1.2(svelte@4.2.16)(typescript@5.4.5) + version: 3.1.2(svelte@4.2.17)(typescript@5.4.5) svelte-preprocess: specifier: ^5.1.4 - version: 5.1.4(postcss-load-config@5.1.0(postcss@8.4.38))(postcss@8.4.38)(sass@1.77.0)(svelte@4.2.16)(typescript@5.4.5) + version: 5.1.4(postcss-load-config@5.1.0(postcss@8.4.38))(postcss@8.4.38)(sass@1.77.0)(svelte@4.2.17)(typescript@5.4.5) svelte-sequential-preprocessor: specifier: ^2.0.1 version: 2.0.1 @@ -163,8 +163,8 @@ importers: specifier: ^19.1.3 version: 19.1.3 vite: - specifier: ^5.2.11 - version: 5.2.11(@types/node@20.7.0)(sass@1.77.0) + specifier: ^5.2.12 + version: 5.2.12(@types/node@20.7.0)(sass@1.77.0) vite-imagetools: specifier: ^7.0.2 version: 7.0.2(rollup@4.14.3) @@ -224,8 +224,8 @@ packages: '@csstools/css-parser-algorithms': ^2.6.3 '@csstools/css-tokenizer': ^2.3.1 - '@csstools/postcss-cascade-layers@4.0.4': - resolution: {integrity: sha512-MKErv8lpEwVmAcAwidY1Kfd3oWrh2Q14kxHs9xn26XzjP/PrcdngWq63lJsZeMlBY7o+WlEOeE+FP6zPzeY2uw==} + '@csstools/postcss-cascade-layers@4.0.6': + resolution: {integrity: sha512-Xt00qGAQyqAODFiFEJNkTpSUz5VfYqnDLECdlA/Vv17nl/OIV5QfTRHGAXrBGG5YcJyHpJ+GF9gF/RZvOQz4oA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -284,8 +284,8 @@ packages: peerDependencies: postcss: ^8.4 - '@csstools/postcss-is-pseudo-class@4.0.6': - resolution: {integrity: sha512-HilOhAsMpFheMYkuaREZx+CGa4hsG6kQdzwXSsuqKDFzYz2eIMP213+3dH/vUbPXaWrzqLKr8m3i0dgYPoh7vg==} + '@csstools/postcss-is-pseudo-class@4.0.8': + resolution: {integrity: sha512-0aj591yGlq5Qac+plaWCbn5cpjs5Sh0daovYUKJUOMjIp70prGH/XPLp7QjxtbFXz3CTvb0H9a35dpEuIuUi3Q==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -404,8 +404,8 @@ packages: peerDependencies: postcss-selector-parser: ^6.0.13 - '@csstools/selector-specificity@3.0.3': - resolution: {integrity: sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==} + '@csstools/selector-specificity@3.1.1': + resolution: {integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss-selector-parser: ^6.0.13 @@ -783,8 +783,8 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@playwright/test@1.44.0': - resolution: {integrity: sha512-rNX5lbNidamSUorBhB4XZ9SQTjAqfe5M+p37Z8ic0jPFBMo5iCtQz1kRWkEMg+rYOKSlVycpQmpqjSFq7LXOfg==} + '@playwright/test@1.44.1': + resolution: {integrity: sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==} engines: {node: '>=16'} hasBin: true @@ -977,16 +977,16 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/adapter-vercel@5.3.0': - resolution: {integrity: sha512-JzTJVmAWmbyNe3pQU2l0M1ggt4FjIVnKHEQOrqW4XVxYtNGdq3znuMqFSdzsR+5LaIEFqZaLIpm82XZsZroBoQ==} + '@sveltejs/adapter-vercel@5.3.1': + resolution: {integrity: sha512-0iz+Y2ZWM1royXNkNS4TGNYFsMazRckYN+GrJsRq1utzss1Xfoax7C5eafzrsQLPitoLeXBgE31K5abrJ7UgxA==} peerDependencies: '@sveltejs/kit': ^2.4.0 - '@sveltejs/enhanced-img@0.2.0': - resolution: {integrity: sha512-W6wG0RxQYoL13LmUl8IBHeQatMXSd2ybrjg/WQuE5EoIJq+wUkf1hUDaMp9PHe4ubpnzWK/c0QaE5Ls+zjHimA==} + '@sveltejs/enhanced-img@0.2.1': + resolution: {integrity: sha512-tEJCtDDSY4Od7YosS2OAHFjGwM09AOHaL97YuqDAnnKLnTpSYJvpLl3r6bLmWDht2ZqoAXfaPsbFJaG9zbQMjw==} - '@sveltejs/kit@2.5.7': - resolution: {integrity: sha512-6uedTzrb7nQrw6HALxnPrPaXdIN2jJJTzTIl96Z3P5NiG+OAfpdPbrWrvkJ3GN4CfWqrmU4dJqwMMRMTD/C7ow==} + '@sveltejs/kit@2.5.10': + resolution: {integrity: sha512-OqoyTmFG2cYmCFAdBfW+Qxbg8m23H4dv6KqwEt7ofr/ROcfcIl3Z/VT56L22H9f0uNZyr+9Bs1eh2gedOCK9kA==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -1002,8 +1002,8 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 - '@sveltejs/vite-plugin-svelte@3.1.0': - resolution: {integrity: sha512-sY6ncCvg+O3njnzbZexcVtUqOBE3iYmQPJ9y+yXSkOwG576QI/xJrBnQSRXFLGwJNBa0T78JEKg5cIR0WOAuUw==} + '@sveltejs/vite-plugin-svelte@3.1.1': + resolution: {integrity: sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A==} engines: {node: ^18.0.0 || >=20} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 @@ -1021,9 +1021,6 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@20.7.0': resolution: {integrity: sha512-zI22/pJW2wUZOVyguFaUL1HABdmSVxpXrzIqkjsHmyUjNhPoWM1CKfvVuXfetHhIok4RY573cqS0mZ1SJEnoTg==} @@ -1033,14 +1030,11 @@ packages: '@types/pug@2.0.6': resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/unist@2.0.6': resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} - '@typescript-eslint/eslint-plugin@7.8.0': - resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==} + '@typescript-eslint/eslint-plugin@7.11.0': + resolution: {integrity: sha512-P+qEahbgeHW4JQ/87FuItjBj8O3MYv5gELDzr8QaQ7fsll1gSMTYb6j87MYyxwf3DtD7uGFB9ShwgmCJB5KmaQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -1050,8 +1044,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.8.0': - resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==} + '@typescript-eslint/parser@7.11.0': + resolution: {integrity: sha512-yimw99teuaXVWsBcPO1Ais02kwJ1jmNA1KxE7ng0aT7ndr1pT1wqj0OJnsYVGKKlc4QJai86l/025L6z8CljOg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1060,12 +1054,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@7.8.0': - resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} + '@typescript-eslint/scope-manager@7.11.0': + resolution: {integrity: sha512-27tGdVEiutD4POirLZX4YzT180vevUURJl4wJGmm6TrQoiYwuxTIY98PBp6L2oN+JQxzE0URvYlzJaBHIekXAw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.8.0': - resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} + '@typescript-eslint/type-utils@7.11.0': + resolution: {integrity: sha512-WmppUEgYy+y1NTseNMJ6mCFxt03/7jTOy08bcg7bxJJdsM4nuhnchyBbE8vryveaJUf62noH7LodPSo5Z0WUCg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1074,12 +1068,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@7.8.0': - resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} + '@typescript-eslint/types@7.11.0': + resolution: {integrity: sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@7.8.0': - resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} + '@typescript-eslint/typescript-estree@7.11.0': + resolution: {integrity: sha512-cxkhZ2C/iyi3/6U9EPc5y+a6csqHItndvN/CzbNXTNrsC3/ASoYQZEt9uMaEp+xFNjasqQyszp5TumAVKKvJeQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -1087,21 +1081,21 @@ packages: typescript: optional: true - '@typescript-eslint/utils@7.8.0': - resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} + '@typescript-eslint/utils@7.11.0': + resolution: {integrity: sha512-xlAWwPleNRHwF37AhrZurOxA1wyXowW4PqVXZVUNCLjB48CqdPJoJWkrpH2nij9Q3Lb7rtWindtoXwxjxlKKCA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@7.8.0': - resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} + '@typescript-eslint/visitor-keys@7.11.0': + resolution: {integrity: sha512-7syYk4MzjxTEk0g/w3iqtgxnFQspDJfn6QKD36xMuuhTzjcxY7F8EmBLnALjVyaOF1/bVocu3bS/2/F7rXrveQ==} engines: {node: ^18.18.0 || >=20.0.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vercel/nft@0.26.4': - resolution: {integrity: sha512-j4jCOOXke2t8cHZCIxu1dzKLHLcFmYzC3yqAK6MfZznOL1QIJKd0xcFsXK3zcqzU7ScsE2zWkiMMNHGMHgp+FA==} + '@vercel/nft@0.27.1': + resolution: {integrity: sha512-K6upzYHCV1cq2gP83r1o8uNV1vwvAlozvMqp7CEjYWxo0CMI8/4jKcDkVjlypVhrfZ54SXwh9QbH0ZIk/vQCsw==} engines: {node: '>=16'} hasBin: true @@ -1180,6 +1174,7 @@ packages: are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1239,8 +1234,8 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - bits-ui@0.21.7: - resolution: {integrity: sha512-1PKp90ly1R6jexIiAUj1Dk4u2pln7ok+L8Vc0rHMY7pi7YZvadFNZvkp1G5BtmL8qh2xsn4MVNgKjPAQMCxW0A==} + bits-ui@0.21.10: + resolution: {integrity: sha512-KuweEOKO0Rr8XX87dQh46G9mG0bZSmTqNxj5qBazz4OTQC+oPKui04/wP/ISsCOSGFomaRydTULqh4p+nsyc2g==} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.118 @@ -1260,6 +1255,10 @@ packages: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -1376,8 +1375,8 @@ packages: resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} engines: {node: '>=4'} - css-has-pseudo@6.0.3: - resolution: {integrity: sha512-qIsDxK/z0byH/mpNsv5hzQ5NOl8m1FRmOLgZpx4bG5uYHnOlO2XafeMI4mFIgNSViHwoUWcxSJZyyijaAmbs+A==} + css-has-pseudo@6.0.5: + resolution: {integrity: sha512-ZTv6RlvJJZKp32jPYnAJVhowDCrRrHUTAxsYSuUPBEDJjzws6neMnzkRblxtgmv1RgcV5dhH2gn7E3wA9Wt6lw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -1635,6 +1634,10 @@ packages: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -1697,6 +1700,7 @@ packages: gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} @@ -1793,8 +1797,8 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} - import-meta-resolve@4.0.0: - resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -1941,6 +1945,9 @@ packages: peerDependencies: svelte: ^3 || ^4 || ^5.0.0-next.42 + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.5: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} @@ -1975,6 +1982,10 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -2075,8 +2086,8 @@ packages: encoding: optional: true - node-gyp-build@4.8.0: - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + node-gyp-build@4.8.1: + resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} hasBin: true node-releases@2.0.14: @@ -2104,6 +2115,7 @@ packages: npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. nprogress@0.2.0: resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} @@ -2203,13 +2215,13 @@ packages: pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - playwright-core@1.44.0: - resolution: {integrity: sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==} + playwright-core@1.44.1: + resolution: {integrity: sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==} engines: {node: '>=16'} hasBin: true - playwright@1.44.0: - resolution: {integrity: sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ==} + playwright@1.44.1: + resolution: {integrity: sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==} engines: {node: '>=16'} hasBin: true @@ -2347,8 +2359,8 @@ packages: peerDependencies: postcss: ^8.4 - postcss-nesting@12.1.2: - resolution: {integrity: sha512-FUmTHGDNundodutB4PUBxt/EPuhgtpk8FJGRsBhOuy+6FnkR2A8RZWIsyyy6XmhvX2DZQQWIkvu+HB4IbJm+Ew==} + postcss-nesting@12.1.5: + resolution: {integrity: sha512-N1NgI1PDCiAGWPTYrwqm8wpjv0bgDmkYHH72pNsqTCv9CObxjxftdYu6AKtGN+pnJa7FQjMm3v4sp8QJbFsYdQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -2376,8 +2388,8 @@ packages: peerDependencies: postcss: ^8.4 - postcss-preset-env@9.5.11: - resolution: {integrity: sha512-rPFnftk1vQAaR45UmsuXhKd/IZrTj39dIc4usu8qbfxyNevHnG+FB8E50U7vs0v2OxBqBt5u0J5+cwb4newzGA==} + postcss-preset-env@9.5.14: + resolution: {integrity: sha512-gTMi+3kENN/mN+K59aR+vEOjlkujTmmXJcM9rnAqGh9Y/euQ/ypdp9rd8mO1eoIjAD8vNS15+xbkBxoi+65BqQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -2415,6 +2427,10 @@ packages: resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} + postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + engines: {node: '>=4'} + postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -2580,6 +2596,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -2771,8 +2792,8 @@ packages: resolution: {integrity: sha512-N5JqlBni6BzElxmuFrOPxOJnjsxh1cFDACLEVKs8OHBcx8ZNRO1p5SxuQex1m3qbLzAC8G99EHeWcxGkjyKjLQ==} engines: {node: '>=16'} - svelte@4.2.16: - resolution: {integrity: sha512-mQwHpqHD2PmFcCyHaZ7XiTqposaLvJ75WpYcyY5/ce3qxbYtwQpZ+M7ZKP+2CG5U6kfnBZBpPLyofhlE6ROrnQ==} + svelte@4.2.17: + resolution: {integrity: sha512-N7m1YnoXtRf5wya5Gyx3TWuTddI4nAyayyIWFojiWV5IayDYNV5i2mRp/7qNGol4DtxEYxljmrbgp1HM6hUbmQ==} engines: {node: '>=16'} tabbable@6.2.0: @@ -2910,8 +2931,8 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite@5.2.11: - resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} + vite@5.2.12: + resolution: {integrity: sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3055,11 +3076,11 @@ snapshots: '@csstools/css-parser-algorithms': 2.6.3(@csstools/css-tokenizer@2.3.1) '@csstools/css-tokenizer': 2.3.1 - '@csstools/postcss-cascade-layers@4.0.4(postcss@8.4.38)': + '@csstools/postcss-cascade-layers@4.0.6(postcss@8.4.38)': dependencies: - '@csstools/selector-specificity': 3.0.3(postcss-selector-parser@6.0.16) + '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.0) postcss: 8.4.38 - postcss-selector-parser: 6.0.16 + postcss-selector-parser: 6.1.0 '@csstools/postcss-color-function@3.0.16(postcss@8.4.38)': dependencies: @@ -3128,11 +3149,11 @@ snapshots: dependencies: postcss: 8.4.38 - '@csstools/postcss-is-pseudo-class@4.0.6(postcss@8.4.38)': + '@csstools/postcss-is-pseudo-class@4.0.8(postcss@8.4.38)': dependencies: - '@csstools/selector-specificity': 3.0.3(postcss-selector-parser@6.0.16) + '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.0) postcss: 8.4.38 - postcss-selector-parser: 6.0.16 + postcss-selector-parser: 6.1.0 '@csstools/postcss-light-dark-function@1.0.5(postcss@8.4.38)': dependencies: @@ -3243,13 +3264,13 @@ snapshots: dependencies: postcss: 8.4.38 - '@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.0.16)': + '@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.1.0)': dependencies: - postcss-selector-parser: 6.0.16 + postcss-selector-parser: 6.1.0 - '@csstools/selector-specificity@3.0.3(postcss-selector-parser@6.0.16)': + '@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.0)': dependencies: - postcss-selector-parser: 6.0.16 + postcss-selector-parser: 6.1.0 '@csstools/utilities@1.0.0(postcss@8.4.38)': dependencies: @@ -3504,20 +3525,20 @@ snapshots: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.2 tar: 6.2.1 transitivePeerDependencies: - encoding - supports-color - '@melt-ui/pp@0.3.2(@melt-ui/svelte@0.76.3(svelte@4.2.16))(svelte@4.2.16)': + '@melt-ui/pp@0.3.2(@melt-ui/svelte@0.76.3(svelte@4.2.17))(svelte@4.2.17)': dependencies: - '@melt-ui/svelte': 0.76.3(svelte@4.2.16) + '@melt-ui/svelte': 0.76.3(svelte@4.2.17) estree-walker: 3.0.3 magic-string: 0.30.9 - svelte: 4.2.16 + svelte: 4.2.17 - '@melt-ui/svelte@0.76.2(svelte@4.2.16)': + '@melt-ui/svelte@0.76.2(svelte@4.2.17)': dependencies: '@floating-ui/core': 1.6.0 '@floating-ui/dom': 1.6.3 @@ -3525,9 +3546,9 @@ snapshots: dequal: 2.0.3 focus-trap: 7.5.4 nanoid: 5.0.7 - svelte: 4.2.16 + svelte: 4.2.17 - '@melt-ui/svelte@0.76.3(svelte@4.2.16)': + '@melt-ui/svelte@0.76.3(svelte@4.2.17)': dependencies: '@floating-ui/core': 1.6.0 '@floating-ui/dom': 1.6.3 @@ -3535,7 +3556,7 @@ snapshots: dequal: 2.0.3 focus-trap: 7.5.4 nanoid: 5.0.7 - svelte: 4.2.16 + svelte: 4.2.17 '@nodelib/fs.scandir@2.1.5': dependencies: @@ -3549,9 +3570,9 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - '@playwright/test@1.44.0': + '@playwright/test@1.44.1': dependencies: - playwright: 1.44.0 + playwright: 1.44.1 '@polka/url@1.0.0-next.25': {} @@ -3676,66 +3697,66 @@ snapshots: '@sinclair/typebox@0.27.8': {} - '@sveltejs/adapter-static@3.0.1(@sveltejs/kit@2.5.7(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))': + '@sveltejs/adapter-static@3.0.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))': dependencies: - '@sveltejs/kit': 2.5.7(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)) + '@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)) - '@sveltejs/adapter-vercel@5.3.0(@sveltejs/kit@2.5.7(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))': + '@sveltejs/adapter-vercel@5.3.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))': dependencies: - '@sveltejs/kit': 2.5.7(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)) - '@vercel/nft': 0.26.4 + '@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)) + '@vercel/nft': 0.27.1 esbuild: 0.20.2 transitivePeerDependencies: - encoding - supports-color - '@sveltejs/enhanced-img@0.2.0(rollup@4.14.3)(svelte@4.2.16)': + '@sveltejs/enhanced-img@0.2.1(rollup@4.14.3)(svelte@4.2.17)': dependencies: magic-string: 0.30.9 - svelte-parse-markup: 0.1.2(svelte@4.2.16) + svelte-parse-markup: 0.1.2(svelte@4.2.17) vite-imagetools: 7.0.2(rollup@4.14.3) transitivePeerDependencies: - rollup - svelte - '@sveltejs/kit@2.5.7(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0))': + '@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)) + '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 esm-env: 1.0.0 - import-meta-resolve: 4.0.0 + import-meta-resolve: 4.1.0 kleur: 4.1.5 magic-string: 0.30.9 mrmime: 2.0.0 sade: 1.8.1 set-cookie-parser: 2.6.0 sirv: 2.0.4 - svelte: 4.2.16 + svelte: 4.2.17 tiny-glob: 0.2.9 - vite: 5.2.11(@types/node@20.7.0)(sass@1.77.0) + vite: 5.2.12(@types/node@20.7.0)(sass@1.77.0) - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0))': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)) + '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)) debug: 4.3.4 - svelte: 4.2.16 - vite: 5.2.11(@types/node@20.7.0)(sass@1.77.0) + svelte: 4.2.17 + vite: 5.2.12(@types/node@20.7.0)(sass@1.77.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0))': + '@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.16)(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)) + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)))(svelte@4.2.17)(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)) debug: 4.3.4 deepmerge: 4.3.1 kleur: 4.1.5 - magic-string: 0.30.9 - svelte: 4.2.16 - svelte-hmr: 0.16.0(svelte@4.2.16) - vite: 5.2.11(@types/node@20.7.0)(sass@1.77.0) - vitefu: 0.2.5(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)) + magic-string: 0.30.10 + svelte: 4.2.17 + svelte-hmr: 0.16.0(svelte@4.2.17) + vite: 5.2.12(@types/node@20.7.0)(sass@1.77.0) + vitefu: 0.2.5(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)) transitivePeerDependencies: - supports-color @@ -3751,44 +3772,38 @@ snapshots: '@types/estree@1.0.5': {} - '@types/json-schema@7.0.15': {} - '@types/node@20.7.0': {} '@types/nprogress@0.2.3': {} '@types/pug@2.0.6': {} - '@types/semver@7.5.8': {} - '@types/unist@2.0.6': {} - '@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/type-utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.8.0 - debug: 4.3.4 + '@typescript-eslint/parser': 7.11.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.11.0 + '@typescript-eslint/type-utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.11.0 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/scope-manager': 7.11.0 + '@typescript-eslint/types': 7.11.0 + '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.11.0 debug: 4.3.4 eslint: 8.57.0 optionalDependencies: @@ -3796,15 +3811,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.8.0': + '@typescript-eslint/scope-manager@7.11.0': dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/types': 7.11.0 + '@typescript-eslint/visitor-keys': 7.11.0 - '@typescript-eslint/type-utils@7.8.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/type-utils@7.11.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5) debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) @@ -3813,45 +3828,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@7.8.0': {} + '@typescript-eslint/types@7.11.0': {} - '@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@7.11.0(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/types': 7.11.0 + '@typescript-eslint/visitor-keys': 7.11.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/utils@7.11.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.11.0 + '@typescript-eslint/types': 7.11.0 + '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) eslint: 8.57.0 - semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.8.0': + '@typescript-eslint/visitor-keys@7.11.0': dependencies: - '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/types': 7.11.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} - '@vercel/nft@0.26.4': + '@vercel/nft@0.27.1': dependencies: '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 @@ -3862,8 +3874,8 @@ snapshots: estree-walker: 2.0.2 glob: 7.2.3 graceful-fs: 4.2.11 - micromatch: 4.0.5 - node-gyp-build: 4.8.0 + micromatch: 4.0.7 + node-gyp-build: 4.8.1 resolve-from: 5.0.0 transitivePeerDependencies: - encoding @@ -3904,9 +3916,9 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@zerodevx/svelte-img@2.1.0(rollup@4.14.3)(svelte@4.2.16)': + '@zerodevx/svelte-img@2.1.0(rollup@4.14.3)(svelte@4.2.17)': dependencies: - svelte: 4.2.16 + svelte: 4.2.17 vite-imagetools: 5.0.8(rollup@4.14.3) transitivePeerDependencies: - rollup @@ -4019,12 +4031,12 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 - bits-ui@0.21.7(svelte@4.2.16): + bits-ui@0.21.10(svelte@4.2.17): dependencies: '@internationalized/date': 3.5.2 - '@melt-ui/svelte': 0.76.2(svelte@4.2.16) + '@melt-ui/svelte': 0.76.2(svelte@4.2.17) nanoid: 5.0.7 - svelte: 4.2.16 + svelte: 4.2.17 bl@4.1.0: dependencies: @@ -4047,6 +4059,10 @@ snapshots: dependencies: fill-range: 7.0.1 + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + browserslist@4.23.0: dependencies: caniuse-lite: 1.0.30001610 @@ -4185,11 +4201,11 @@ snapshots: css-color-keywords@1.0.0: {} - css-has-pseudo@6.0.3(postcss@8.4.38): + css-has-pseudo@6.0.5(postcss@8.4.38): dependencies: - '@csstools/selector-specificity': 3.0.3(postcss-selector-parser@6.0.16) + '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.0) postcss: 8.4.38 - postcss-selector-parser: 6.0.16 + postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 css-prefers-color-scheme@9.0.1(postcss@8.4.38): @@ -4346,7 +4362,7 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-svelte@2.38.0(eslint@8.57.0)(svelte@4.2.16): + eslint-plugin-svelte@2.38.0(eslint@8.57.0)(svelte@4.2.17): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@jridgewell/sourcemap-codec': 1.4.15 @@ -4360,9 +4376,9 @@ snapshots: postcss-safe-parser: 6.0.0(postcss@8.4.38) postcss-selector-parser: 6.0.16 semver: 7.6.0 - svelte-eslint-parser: 0.35.0(svelte@4.2.16) + svelte-eslint-parser: 0.35.0(svelte@4.2.17) optionalDependencies: - svelte: 4.2.16 + svelte: 4.2.17 transitivePeerDependencies: - supports-color - ts-node @@ -4489,6 +4505,10 @@ snapshots: dependencies: to-regex-range: 5.0.1 + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -4645,7 +4665,7 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-meta-resolve@4.0.0: {} + import-meta-resolve@4.1.0: {} imurmurhash@0.1.4: {} @@ -4771,9 +4791,13 @@ snapshots: dependencies: yallist: 4.0.0 - lucide-svelte@0.378.0(svelte@4.2.16): + lucide-svelte@0.378.0(svelte@4.2.17): dependencies: - svelte: 4.2.16 + svelte: 4.2.17 + + magic-string@0.30.10: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 magic-string@0.30.5: dependencies: @@ -4794,12 +4818,12 @@ snapshots: just-camel-case: 4.0.2 unist-util-visit: 3.1.0 - mdsvex@0.11.0(svelte@4.2.16): + mdsvex@0.11.0(svelte@4.2.17): dependencies: '@types/unist': 2.0.6 prism-svelte: 0.4.7 prismjs: 1.29.0 - svelte: 4.2.16 + svelte: 4.2.17 vfile-message: 2.0.4 merge-stream@2.0.0: {} @@ -4811,6 +4835,11 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 + micromatch@4.0.7: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + mime-db@1.52.0: {} mime-types@2.1.35: @@ -4883,7 +4912,7 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-gyp-build@4.8.0: {} + node-gyp-build@4.8.1: {} node-releases@2.0.14: {} @@ -5003,11 +5032,11 @@ snapshots: mlly: 1.6.1 pathe: 1.1.2 - playwright-core@1.44.0: {} + playwright-core@1.44.1: {} - playwright@1.44.0: + playwright@1.44.1: dependencies: - playwright-core: 1.44.0 + playwright-core: 1.44.1 optionalDependencies: fsevents: 2.3.2 @@ -5138,12 +5167,12 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-nesting@12.1.2(postcss@8.4.38): + postcss-nesting@12.1.5(postcss@8.4.38): dependencies: - '@csstools/selector-resolve-nested': 1.1.0(postcss-selector-parser@6.0.16) - '@csstools/selector-specificity': 3.0.3(postcss-selector-parser@6.0.16) + '@csstools/selector-resolve-nested': 1.1.0(postcss-selector-parser@6.1.0) + '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.0) postcss: 8.4.38 - postcss-selector-parser: 6.0.16 + postcss-selector-parser: 6.1.0 postcss-opacity-percentage@2.0.0(postcss@8.4.38): dependencies: @@ -5163,9 +5192,9 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-preset-env@9.5.11(postcss@8.4.38): + postcss-preset-env@9.5.14(postcss@8.4.38): dependencies: - '@csstools/postcss-cascade-layers': 4.0.4(postcss@8.4.38) + '@csstools/postcss-cascade-layers': 4.0.6(postcss@8.4.38) '@csstools/postcss-color-function': 3.0.16(postcss@8.4.38) '@csstools/postcss-color-mix-function': 2.0.16(postcss@8.4.38) '@csstools/postcss-exponential-functions': 1.0.7(postcss@8.4.38) @@ -5175,7 +5204,7 @@ snapshots: '@csstools/postcss-hwb-function': 3.0.15(postcss@8.4.38) '@csstools/postcss-ic-unit': 3.0.6(postcss@8.4.38) '@csstools/postcss-initial': 1.0.1(postcss@8.4.38) - '@csstools/postcss-is-pseudo-class': 4.0.6(postcss@8.4.38) + '@csstools/postcss-is-pseudo-class': 4.0.8(postcss@8.4.38) '@csstools/postcss-light-dark-function': 1.0.5(postcss@8.4.38) '@csstools/postcss-logical-float-and-clear': 2.0.1(postcss@8.4.38) '@csstools/postcss-logical-overflow': 1.0.1(postcss@8.4.38) @@ -5197,7 +5226,7 @@ snapshots: autoprefixer: 10.4.19(postcss@8.4.38) browserslist: 4.23.0 css-blank-pseudo: 6.0.2(postcss@8.4.38) - css-has-pseudo: 6.0.3(postcss@8.4.38) + css-has-pseudo: 6.0.5(postcss@8.4.38) css-prefers-color-scheme: 9.0.1(postcss@8.4.38) cssdb: 8.0.0 postcss: 8.4.38 @@ -5218,7 +5247,7 @@ snapshots: postcss-image-set-function: 6.0.3(postcss@8.4.38) postcss-lab-function: 6.0.16(postcss@8.4.38) postcss-logical: 7.0.1(postcss@8.4.38) - postcss-nesting: 12.1.2(postcss@8.4.38) + postcss-nesting: 12.1.5(postcss@8.4.38) postcss-opacity-percentage: 2.0.0(postcss@8.4.38) postcss-overflow-shorthand: 5.0.1(postcss@8.4.38) postcss-page-break: 3.0.4(postcss@8.4.38) @@ -5254,6 +5283,11 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@6.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-value-parser@4.2.0: {} postcss@8.4.38: @@ -5279,10 +5313,10 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.2.3(prettier@3.2.5)(svelte@4.2.16): + prettier-plugin-svelte@3.2.3(prettier@3.2.5)(svelte@4.2.17): dependencies: prettier: 3.2.5 - svelte: 4.2.16 + svelte: 4.2.17 prettier@3.2.5: {} @@ -5470,6 +5504,8 @@ snapshots: dependencies: lru-cache: 6.0.0 + semver@7.6.2: {} + set-blocking@2.0.0: {} set-cookie-parser@2.6.0: {} @@ -5601,7 +5637,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@3.7.1(postcss-load-config@5.1.0(postcss@8.4.38))(postcss@8.4.38)(sass@1.77.0)(svelte@4.2.16): + svelte-check@3.7.1(postcss-load-config@5.1.0(postcss@8.4.38))(postcss@8.4.38)(sass@1.77.0)(svelte@4.2.17): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 3.6.0 @@ -5609,8 +5645,8 @@ snapshots: import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 4.2.16 - svelte-preprocess: 5.1.4(postcss-load-config@5.1.0(postcss@8.4.38))(postcss@8.4.38)(sass@1.77.0)(svelte@4.2.16)(typescript@5.4.5) + svelte: 4.2.17 + svelte-preprocess: 5.1.4(postcss-load-config@5.1.0(postcss@8.4.38))(postcss@8.4.38)(sass@1.77.0)(svelte@4.2.17)(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - '@babel/core' @@ -5623,7 +5659,7 @@ snapshots: - stylus - sugarss - svelte-eslint-parser@0.35.0(svelte@4.2.16): + svelte-eslint-parser@0.35.0(svelte@4.2.17): dependencies: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -5631,35 +5667,35 @@ snapshots: postcss: 8.4.38 postcss-scss: 4.0.9(postcss@8.4.38) optionalDependencies: - svelte: 4.2.16 + svelte: 4.2.17 - svelte-hmr@0.16.0(svelte@4.2.16): + svelte-hmr@0.16.0(svelte@4.2.17): dependencies: - svelte: 4.2.16 + svelte: 4.2.17 - svelte-local-storage-store@0.6.4(svelte@4.2.16): + svelte-local-storage-store@0.6.4(svelte@4.2.17): dependencies: - svelte: 4.2.16 + svelte: 4.2.17 - svelte-meta-tags@3.1.2(svelte@4.2.16)(typescript@5.4.5): + svelte-meta-tags@3.1.2(svelte@4.2.17)(typescript@5.4.5): dependencies: schema-dts: 1.1.2(typescript@5.4.5) - svelte: 4.2.16 + svelte: 4.2.17 transitivePeerDependencies: - typescript - svelte-parse-markup@0.1.2(svelte@4.2.16): + svelte-parse-markup@0.1.2(svelte@4.2.17): dependencies: - svelte: 4.2.16 + svelte: 4.2.17 - svelte-preprocess@5.1.4(postcss-load-config@5.1.0(postcss@8.4.38))(postcss@8.4.38)(sass@1.77.0)(svelte@4.2.16)(typescript@5.4.5): + svelte-preprocess@5.1.4(postcss-load-config@5.1.0(postcss@8.4.38))(postcss@8.4.38)(sass@1.77.0)(svelte@4.2.17)(typescript@5.4.5): dependencies: '@types/pug': 2.0.6 detect-indent: 6.1.0 magic-string: 0.30.5 sorcery: 0.11.0 strip-indent: 3.0.0 - svelte: 4.2.16 + svelte: 4.2.17 optionalDependencies: postcss: 8.4.38 postcss-load-config: 5.1.0(postcss@8.4.38) @@ -5668,10 +5704,10 @@ snapshots: svelte-sequential-preprocessor@2.0.1: dependencies: - svelte: 4.2.16 + svelte: 4.2.17 tslib: 2.6.2 - svelte@4.2.16: + svelte@4.2.17: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.4.15 @@ -5838,7 +5874,7 @@ snapshots: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.7.0)(sass@1.77.0) + vite: 5.2.12(@types/node@20.7.0)(sass@1.77.0) transitivePeerDependencies: - '@types/node' - less @@ -5849,7 +5885,7 @@ snapshots: - supports-color - terser - vite@5.2.11(@types/node@20.7.0)(sass@1.77.0): + vite@5.2.12(@types/node@20.7.0)(sass@1.77.0): dependencies: esbuild: 0.20.2 postcss: 8.4.38 @@ -5859,9 +5895,9 @@ snapshots: fsevents: 2.3.3 sass: 1.77.0 - vitefu@0.2.5(vite@5.2.11(@types/node@20.7.0)(sass@1.77.0)): + vitefu@0.2.5(vite@5.2.12(@types/node@20.7.0)(sass@1.77.0)): optionalDependencies: - vite: 5.2.11(@types/node@20.7.0)(sass@1.77.0) + vite: 5.2.12(@types/node@20.7.0)(sass@1.77.0) vitest@1.6.0(@types/node@20.7.0)(sass@1.77.0): dependencies: @@ -5882,7 +5918,7 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.7.0 tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.7.0)(sass@1.77.0) + vite: 5.2.12(@types/node@20.7.0)(sass@1.77.0) vite-node: 1.6.0(@types/node@20.7.0)(sass@1.77.0) why-is-node-running: 2.2.2 optionalDependencies: diff --git a/src/lib/api.ts b/src/lib/api.ts index 5d9ecc2..5bb07fd 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -4,9 +4,7 @@ import { WALLABAG_USERNAME, WALLABAG_PASSWORD, WALLABAG_URL, - WALLABAG_MAX_PAGES, PAGE_SIZE, - WALLABAG_MAX_ARTICLES, USE_REDIS_CACHE } from '$env/static/private'; import intersect from 'just-intersect'; @@ -24,11 +22,18 @@ export async function fetchArticlesApi( queryParams: Record, data?: Record ) { + let perPage = Number(queryParams?.limit); + if (perPage > 30) { + perPage = Number(PAGE_SIZE); + } else { + perPage = Number(queryParams?.limit); + } + const pageQuery: PageQuery = { sort: 'updated', - perPage: +queryParams?.limit || +PAGE_SIZE, + perPage, since: 0, - page: +queryParams?.page || 1, + page: Number(queryParams?.page) || 1, tags: 'programming', content: 'metadata' }; @@ -79,18 +84,18 @@ export async function fetchArticlesApi( const cacheControl = pageResponse.headers.get('cache-control') || 'no-cache'; - const { _embedded, page, pages, total, limit } = await pageResponse.json(); + const { _embedded: favoriteArticles, page, pages, total, limit } = await pageResponse.json(); const articles: Article[] = []; - _embedded.items.forEach((article: WallabagArticle) => { + favoriteArticles.items.forEach((article: WallabagArticle) => { const rawTags = article?.tags?.map((tag) => tag.slug); if (intersect(rawTags, Object.values(ArticleTag))?.length > 0) { const tags = rawTags.map((rawTag) => rawTag as unknown as ArticleTag); - articles.push({ tags, title: article.title, url: new URL(article.url), + domain_name: article.domain_name?.replace('www.', '') ?? '', hashed_url: article.hashed_url, reading_time: article.reading_time, preview_picture: article.preview_picture, @@ -104,9 +109,9 @@ export async function fetchArticlesApi( const responseData: ArticlePageLoad = { articles, currentPage: page, - totalPages: pages > +WALLABAG_MAX_PAGES ? +WALLABAG_MAX_PAGES : pages, + totalPages: pages, limit, - totalArticles: total > +WALLABAG_MAX_ARTICLES ? +WALLABAG_MAX_ARTICLES : total, + totalArticles: total, cacheControl }; diff --git a/src/lib/components/Articles.svelte b/src/lib/components/Articles.svelte index 7c0f468..982c5c6 100644 --- a/src/lib/components/Articles.svelte +++ b/src/lib/components/Articles.svelte @@ -12,7 +12,7 @@

Favorite Articles

{#each articles as article (article.hashed_url)} -
+

+

{article.domain_name}

Reading time: {article.reading_time} minutes

diff --git a/src/lib/components/bandcamp/index.svelte b/src/lib/components/Bandcamp.svelte similarity index 96% rename from src/lib/components/bandcamp/index.svelte rename to src/lib/components/Bandcamp.svelte index a2db4bd..d791879 100644 --- a/src/lib/components/bandcamp/index.svelte +++ b/src/lib/components/Bandcamp.svelte @@ -1,8 +1,6 @@ {#each pages as page (page.key)} {#if page.type === "ellipsis"} -
...
+
...
{:else} @@ -63,6 +54,11 @@ padding: 1rem; } + :global(.ellipsis) { + padding: 1rem; + border-right: 1px solid var(--grey); + } + :global([data-pagination-next-button]) { &:hover { color: var(--shellYellow); diff --git a/src/lib/types/article.ts b/src/lib/types/article.ts index 33d5e60..9819c5a 100644 --- a/src/lib/types/article.ts +++ b/src/lib/types/article.ts @@ -4,6 +4,7 @@ export type Article = { tags: ArticleTag[]; title: string; url: URL; + domain_name: string; hashed_url: string; reading_time: number; preview_picture: string; @@ -16,6 +17,7 @@ export type WallabagArticle = { tags: WallabagTag[]; title: string; url: URL; + domain_name: string; hashed_url: string; reading_time: number; preview_picture: string; diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index f60e295..af5bdec 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -6,7 +6,7 @@ import type { Album } from '$lib/types/album'; import type { ArticlePageLoad } from '$lib/types/article'; export const load: PageServerLoad = async ({ fetch, setHeaders, url }) => { - let baseUrl = 'https://bradleyshellnut.com'; + let baseUrl; if (url.origin.includes('prerender')) { baseUrl = PUBLIC_SITE_URL || 'https://bradleyshellnut.com'; } else { diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 333088c..dd9b24e 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,6 +1,6 @@ -
-

Favorite Tech Articles

- - - -
+

Favorite Tech Articles

+ + + \ No newline at end of file diff --git a/src/styles/global.pcss b/src/styles/global.pcss index 5b7577f..15aa92e 100644 --- a/src/styles/global.pcss +++ b/src/styles/global.pcss @@ -62,6 +62,7 @@ /* Cards */ --cardHeightMin: 15rem; --cardHeightMax: 50rem; + --cardWidthMax: 50rem; --cardWidthMin: 15rem; /* Media Queries - Not yet supported in CSS */ @@ -74,7 +75,7 @@ } html { - background: var(--background) none repeat scroll 0% 0%; + background: var(--background) none repeat scroll 0 0; font-size: 62.5%; box-sizing: border-box; } @@ -130,7 +131,7 @@ button { cursor: pointer; --cast: 2px; box-shadow: var(--cast) var(--cast) 0 var(--lightAccent); - text-shadow: 0.5px 0.5px 0 rgba(0, 0, 0, 0.2); + text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2); transition: all 0.2s; text-decoration: none; &:hover {