From 2e0be492f67f4c805654008de17527ffe779e253 Mon Sep 17 00:00:00 2001 From: Sean Edmunds Date: Fri, 9 Oct 2026 17:55:24 -0500 Subject: [PATCH] Update to the playlist picker --- README.md | 2 - package-lock.json | 631 +++++++++--------- package.json | 44 +- src/App.tsx | 1 + .../Theming/ThemePlaylists/ThemePlaylists.tsx | 12 +- .../components/ThemePlaylistCard.tsx | 14 +- .../components/ThemePlaylistStack.tsx | 292 ++++++++ 7 files changed, 658 insertions(+), 338 deletions(-) create mode 100644 src/pages/settings/components/Theming/ThemePlaylists/components/ThemePlaylistStack.tsx diff --git a/README.md b/README.md index 5463f28..02d40c4 100644 --- a/README.md +++ b/README.md @@ -121,8 +121,6 @@ sudo pm2 start server.cjs - Add mantine-led for monitoring status (https://gfazioli.github.io/mantine-led) - Update Theme playlists - Include mantine-reflection (https://gfazioli.github.io/mantine-reflection#example-complex-components) - - Include mantine-parallax (https://gfazioli.github.io/mantine-parallax#example-presentation) - - Include mantine-depth-select (https://gfazioli.github.io/mantine-depth-select/) - Explore https://gfazioli.github.io/mantine-scene/ - Explore https://gfazioli.github.io/mantine-window/ - Upgrade spinners/loaders (https://gfazioli.github.io/mantine-spinner#example-random) \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 5e3919b..c96e8ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,22 +8,24 @@ "name": "triggerfrontend", "version": "1.2.0", "dependencies": { - "@gfazioli/mantine-border-animate": "^3.0.2", - "@gfazioli/mantine-parallax": "^4.0.10", - "@gfazioli/mantine-text-animate": "^4.0.10", + "@gfazioli/mantine-border-animate": "^3.0.5", + "@gfazioli/mantine-depth-select": "^2.0.15", + "@gfazioli/mantine-parallax": "^4.0.13", + "@gfazioli/mantine-reflection": "^3.0.13", + "@gfazioli/mantine-text-animate": "^4.0.15", "@hello-pangea/dnd": "^18.0.1", - "@mantine/core": "^9.6.2", - "@mantine/dates": "^9.6.2", - "@mantine/form": "^9.6.2", - "@mantine/hooks": "^9.6.2", - "@mantine/notifications": "^9.6.2", - "@tanstack/react-query": "^5.103.2", - "@tanstack/react-query-devtools": "^5.103.2", - "@tanstack/react-query-persist-client": "^5.103.2", - "@tanstack/react-table": "^9.2.4", - "@tanstack/react-virtual": "^3.14.13", + "@mantine/core": "^9.7.1", + "@mantine/dates": "^9.7.1", + "@mantine/form": "^9.7.1", + "@mantine/hooks": "^9.7.1", + "@mantine/notifications": "^9.7.1", + "@tanstack/react-query": "^5.104.1", + "@tanstack/react-query-devtools": "^5.104.1", + "@tanstack/react-query-persist-client": "^5.104.1", + "@tanstack/react-table": "^9.2.8", + "@tanstack/react-virtual": "^3.14.14", "idb-keyval": "^6.3.0", - "jotai": "^3.0.0", + "jotai": "^3.0.1", "openmeteo": "^1.2.3", "react": "^19.3.0", "react-dom": "^19.3.0", @@ -33,17 +35,17 @@ "recharts": "^3.10.1" }, "devDependencies": { - "@types/node": "^26.6.2", + "@types/node": "^26.6.4", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", - "@vitejs/plugin-react": "^6.1.1", - "@vitest/coverage-v8": "^5.0.2", - "@vitest/ui": "^5.0.2", + "@vitejs/plugin-react": "^6.1.2", + "@vitest/coverage-v8": "^5.0.3", + "@vitest/ui": "^5.0.3", "typescript": "^7.0.2", - "vite": "^8.3.1", - "vite-plugin-dts": "~5.1.1", + "vite": "^8.3.4", + "vite-plugin-dts": "~5.1.2", "vite-tsconfig-paths": "^6.1.1", - "vitest": "^5.0.2" + "vitest": "^5.0.3" } }, "node_modules/@babel/helper-string-parser": { @@ -174,9 +176,9 @@ "integrity": "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==" }, "node_modules/@gfazioli/mantine-border-animate": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@gfazioli/mantine-border-animate/-/mantine-border-animate-3.0.2.tgz", - "integrity": "sha512-kOHSERYm1uv7e3HH1jcBxPsN0IoANt41hdJpAgiMPIHAMTO+IhMWqEXkr/BXekvdExrCnIXA5egIXzuY9hlNLg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@gfazioli/mantine-border-animate/-/mantine-border-animate-3.0.5.tgz", + "integrity": "sha512-xLptIv20MNMUzX2d+qjPcFlw+8kaGuveeflwh8whOCstBvkPFhJWuNRc9tYnYPX3clHojXcyflFbNBzDXYIYXQ==", "license": "MIT", "peerDependencies": { "@mantine/core": ">=9.0.0", @@ -186,10 +188,34 @@ "react-dom": "^18.x || ^19.x" } }, + "node_modules/@gfazioli/mantine-depth-select": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@gfazioli/mantine-depth-select/-/mantine-depth-select-2.0.15.tgz", + "integrity": "sha512-+UngbSSRzTS48Tst7dXB3l0lO20BzWPMYorY0xKDaDHp6KjIUWcSMLNF82KjU8dxKjuSOUBZYqDf45a07n4ihw==", + "license": "MIT", + "peerDependencies": { + "@mantine/core": ">=9.0.0", + "@mantine/hooks": ">=9.0.0", + "react": "^18.x || ^19.x", + "react-dom": "^18.x || ^19.x" + } + }, "node_modules/@gfazioli/mantine-parallax": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@gfazioli/mantine-parallax/-/mantine-parallax-4.0.10.tgz", - "integrity": "sha512-EeSvOe2gywHry1vXUJ/ylnAyxHEUnYeGZDeiP/D0Kv+wY76TiQ3vvllUZRFTafg6d5fcu//VTwhqiN0FOjqT/A==", + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/@gfazioli/mantine-parallax/-/mantine-parallax-4.0.13.tgz", + "integrity": "sha512-bnvj3/rOXQHrm+MBI3FeE+P3+j30yDH5WUeOHZHkWJp9qGeY1Wlvq6UI6MkVEe43k9igWfHazsQpu7cafXFCrA==", + "license": "MIT", + "peerDependencies": { + "@mantine/core": ">=9.0.0", + "@mantine/hooks": ">=9.0.0", + "react": "^18.x || ^19.x", + "react-dom": "^18.x || ^19.x" + } + }, + "node_modules/@gfazioli/mantine-reflection": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@gfazioli/mantine-reflection/-/mantine-reflection-3.0.13.tgz", + "integrity": "sha512-sSE+yCR1nW0gHAIBOFfst4S4fjkRZUR8JWKAroLTpZ+8Qg+hpuLknWbpuGlW0DqdK11bGc9Yin6SB+GdypToFg==", "license": "MIT", "peerDependencies": { "@mantine/core": ">=9.0.0", @@ -199,9 +225,9 @@ } }, "node_modules/@gfazioli/mantine-text-animate": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/@gfazioli/mantine-text-animate/-/mantine-text-animate-4.0.10.tgz", - "integrity": "sha512-vGZksGPfd+amsuJGr4ekEVRxyxx4A2jHLca2MYX/rd3jlyMAw1NPdyodFZStBzmsbSwWCLhWd8tAUDOFgS0T4A==", + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@gfazioli/mantine-text-animate/-/mantine-text-animate-4.0.15.tgz", + "integrity": "sha512-Le2b9mkwmfkabM2dvnUhWyV0ZCrrnHfwG0aymS+aMyhrKvSdAeKecsfGfPUL68JWvUr3rRFzGq8hRiuf4yIWzA==", "license": "MIT", "peerDependencies": { "@mantine/core": ">=9.0.0", @@ -227,9 +253,9 @@ } }, "node_modules/@internationalized/number": { - "version": "3.6.8", - "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.8.tgz", - "integrity": "sha512-8UmMFia46DUt+k97zKd9fKWXcWHR+k8ae3eYzILETuT2KbIvLyOfac7zesw+sJdRAAZ7Q9pM1Mk22aXp2LD0Ig==", + "version": "3.6.9", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.9.tgz", + "integrity": "sha512-GgWy2caO/+hV9sT/oCTWGHvbjmJMPT9kkXzoKRLnkEq7adghhR7UprhvY9sXrKfrp3NcDfhF6QQHXR1KfQbB8g==", "license": "Apache-2.0", "dependencies": { "@swc/helpers": "^0.5.0" @@ -322,43 +348,43 @@ } }, "node_modules/@mantine/core": { - "version": "9.6.2", - "resolved": "https://registry.npmjs.org/@mantine/core/-/core-9.6.2.tgz", - "integrity": "sha512-6W7xA3FRlGMclVDCY5U6rqhgzc+x+7G3nR9rntcjtF/Slnkp79Em8yjAB01F0wBSnrBUMK1TqKENf5o5WHiPOA==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@mantine/core/-/core-9.7.1.tgz", + "integrity": "sha512-SU1xklOfdEDzpPhw35ti9rF4QRE9HUongCe37C+xCO2Ea8MLJkAzreCrMxb8qcCij+gnF7SQbtTCBa1r+pKxYA==", "license": "MIT", "dependencies": { "@floating-ui/react": "^0.27.20", "clsx": "^2.1.1", "react-number-format": "^5.4.5", "react-remove-scroll": "^2.7.2", - "type-fest": "^5.8.0" + "type-fest": "^5.10.0" }, "peerDependencies": { - "@mantine/hooks": "9.6.2", + "@mantine/hooks": "9.7.1", "react": "^19.2.0", "react-dom": "^19.2.0" } }, "node_modules/@mantine/dates": { - "version": "9.6.2", - "resolved": "https://registry.npmjs.org/@mantine/dates/-/dates-9.6.2.tgz", - "integrity": "sha512-o+BsxamvbS/FxFtir+w/YxVKVVXLnU7k5nDA/tG+IrTWZuBby4dq9FSjfldUaSCYLPTWMxIRJHkxaWxzi7CMng==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@mantine/dates/-/dates-9.7.1.tgz", + "integrity": "sha512-oFQf8b0cW2ArcdP6r0ATMA4gJN3D8Nc29J7wE4E2xM5mI1+nW6k47L0E45uKwxFb9CqdhXaN+XA9lbrkWkMfsg==", "license": "MIT", "dependencies": { "clsx": "^2.1.1" }, "peerDependencies": { - "@mantine/core": "9.6.2", - "@mantine/hooks": "9.6.2", + "@mantine/core": "9.7.1", + "@mantine/hooks": "9.7.1", "dayjs": ">=1.0.0", "react": "^19.2.0", "react-dom": "^19.2.0" } }, "node_modules/@mantine/form": { - "version": "9.6.2", - "resolved": "https://registry.npmjs.org/@mantine/form/-/form-9.6.2.tgz", - "integrity": "sha512-GYGVRHI+paM1ZZ9kgF2ePoPwAyMPXi+rNdtNEF3J+6Atikwixqf1FN1CrXCVDKAS+n9/Do0hnT7Hr1n0d13zGQ==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@mantine/form/-/form-9.7.1.tgz", + "integrity": "sha512-fVjWYdiMBw21z/bqUkFghyV1MsANHoqCZaXji0k4KJaRCHh7cD3qhBuLIVhc2hUCKXQ3cHiJTHLz3ayoE/mRZg==", "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.1.0", @@ -370,34 +396,34 @@ } }, "node_modules/@mantine/hooks": { - "version": "9.6.2", - "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-9.6.2.tgz", - "integrity": "sha512-SfNY0FvYi8vMytZbioQVx5JyX0dmLUQEmbgbQQXqe4iOto0QZ896XwhgMQ6g/FCWkvc9JHeHp7iPu4msqQFIEw==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-9.7.1.tgz", + "integrity": "sha512-C1xD4A3bfB87nUsLHr42WqOabnK4G+fCyEf8FN14EEiZAcKjdcWJbK63qxhIXFKuHCc3acLbpm2ts9UqmLASTw==", "license": "MIT", "peerDependencies": { "react": "^19.2.0" } }, "node_modules/@mantine/notifications": { - "version": "9.6.2", - "resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-9.6.2.tgz", - "integrity": "sha512-SOwWpkIMIn3qZxh7k50q/VLNn/j5eUY3qCjMOKTioR8yqwz4xOMNzQXJ1rS/Hl07wkmhhlu4isub8/AgvYAfYA==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@mantine/notifications/-/notifications-9.7.1.tgz", + "integrity": "sha512-gmN+rTrjwYFJqaIqDQtQfoTJ/OR0wSxqxIihOHD5/S/sYUycVi9wDqK4tub5y8x0HeQH4kNkehPMN4l1Uk0A6A==", "license": "MIT", "dependencies": { - "@mantine/store": "9.6.2", + "@mantine/store": "9.7.1", "react-transition-group": "4.4.5" }, "peerDependencies": { - "@mantine/core": "9.6.2", - "@mantine/hooks": "9.6.2", + "@mantine/core": "9.7.1", + "@mantine/hooks": "9.7.1", "react": "^19.2.0", "react-dom": "^19.2.0" } }, "node_modules/@mantine/store": { - "version": "9.6.2", - "resolved": "https://registry.npmjs.org/@mantine/store/-/store-9.6.2.tgz", - "integrity": "sha512-fxHsXtlw7PsAGt+RDBmPuEC5DIle+acj4aiZC4SYzKU0A43dhXW311UPqWJVPJTm2WWQEkL5FhI4t+r+FpQmaw==", + "version": "9.7.1", + "resolved": "https://registry.npmjs.org/@mantine/store/-/store-9.7.1.tgz", + "integrity": "sha512-CYCQHWt7zFrUe2kVQmFAWnQaZbiDUoN2VeMJBI/vf1XybGj+itTEB6cnvoX4C8yOrln3sXe4BIoIf46pUhnEhA==", "license": "MIT", "peerDependencies": { "react": "^19.2.0" @@ -415,9 +441,9 @@ } }, "node_modules/@oxc-project/types": { - "version": "0.151.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.151.0.tgz", - "integrity": "sha512-J1yXrIlNDZVzE3ada310xeAw7nH8yCAyLPuUIsjKatFPmfn5bS1oW+cM+QsGOtVWd5nhSpbwZWx/rue+r5Z+PA==", + "version": "0.153.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.153.0.tgz", + "integrity": "sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==", "dev": true, "license": "MIT", "funding": { @@ -428,7 +454,8 @@ "version": "1.0.0-next.29", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@reduxjs/toolkit": { "version": "2.12.0", @@ -456,9 +483,9 @@ } }, "node_modules/@rolldown/binding-android-arm-eabi": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.11.tgz", - "integrity": "sha512-A5kXfGKvKWWZE0TtPrfsvT+q4Y5d1QG8gGUzpYjGydM+fARM9MuX90PrXYXe0XbsDVgyxxNzHo6giCj90bsFNw==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.13.tgz", + "integrity": "sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==", "cpu": [ "arm" ], @@ -473,9 +500,9 @@ } }, "node_modules/@rolldown/binding-android-arm64": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.11.tgz", - "integrity": "sha512-z6cTycz+iJ4PVkuL4HHW4DfTfoeU/2nqYYuSOrTmH7yHK5Y0LCOnA03V4ZNxavyVaU1oOqUgIg2klN/s+USGOA==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.13.tgz", + "integrity": "sha512-6LEoIrGy5vvCd2boNnv2soPSUZj/PRvhp8R/t9KlX+mIZxThIE/ZqxrGXxmuNX0FuvQFvLdZr7S4HrYpYBVhEQ==", "cpu": [ "arm64" ], @@ -490,9 +517,9 @@ } }, "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.11.tgz", - "integrity": "sha512-jShvqNtP6vDC6/A5JOAzbVV+DkgHqhl/ScVCJEbt+TUY6QYz7YnXcrg3sLtFBniro0f/Ld50ZwCWA6f7KYD1nQ==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.13.tgz", + "integrity": "sha512-CaJSRzlQ6Q+zkDMVA9OkVxBjVoPRCDEE3v0FSJ9kIQBgRjFApA3Si4ijhbNVUji7ZJt+PfO0e46qy4nPInHUPA==", "cpu": [ "arm64" ], @@ -507,9 +534,9 @@ } }, "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.11.tgz", - "integrity": "sha512-f2i2xiNWq1Z1l2++q2fuhZRdLAT3aqxD6vRNm1RAxpUoBcdqNB3C0s1Bt+K+PbEx2F5F4gQp6hqKkphCY/xF9w==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.13.tgz", + "integrity": "sha512-e4r340I5hxSzJkD3YJBxgzq/rJ3wwxwdLLb2FPt1Zpyem20nrQPT11DDEEkazwxaHumH8wpglsp/Ozgj/wT6mw==", "cpu": [ "x64" ], @@ -524,9 +551,9 @@ } }, "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.11.tgz", - "integrity": "sha512-4Ir5FSOKIAMr4r0kExpt1s3bMgzJU3rA45AYOHtQpls0oNeqcYBKrWMlckrYH4KCfGLfkfn1tN1dmZPMVsdXow==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.13.tgz", + "integrity": "sha512-hoBWDZ4/K/mJKVMbsgUd1jfpA2DiOrJ54mpegObU9TBHBBrtX4FLIXJJQRDPZ/2Dn91GvPob+Z2hwKJzf4E5SQ==", "cpu": [ "x64" ], @@ -541,9 +568,9 @@ } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.11.tgz", - "integrity": "sha512-/gnRDM+39BROzAN/k1OZjDPnDMcZxB/0EUxKjONO5yVkNEvlsoMDrxGNKgZi/ttFriS2gwlDNzB65pvNbFOXIQ==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.13.tgz", + "integrity": "sha512-oF9fZu3vTWnTiVAkDFxU9PJLt1nh20K9RRpuHsR7ZnE2L7XookBbDBVLojCVSLGbvtSlxeUNnjAj6DbNsKyzbg==", "cpu": [ "arm" ], @@ -558,9 +585,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.11.tgz", - "integrity": "sha512-PFaK8HwvAHbaKbBcDNQihjMKYvFnA5hiENx/l5tphTDz1E0WFp32l0A7aq7lyUwGsRw/xSrNIy/gIK4thrSCrw==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.13.tgz", + "integrity": "sha512-DTpb/+jMiqWMPgphn4ksW1zW+XLJ6dJJ9FMvnIk9I291LhCctMPhMYJrP5t9p6C9qa3KXadDdUEZHBaPh3kNxQ==", "cpu": [ "arm64" ], @@ -578,9 +605,9 @@ } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.11.tgz", - "integrity": "sha512-AskzJUIKRLPxkruR1wLKewGbOw+EYfU/9lOrBFj4AFrEA8hPpKFnODWNu2WLaNs0QNkEb9QIJufmVZZIL/bJlg==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.13.tgz", + "integrity": "sha512-xU+Kvv9N2A3SY35zFh1FWWNjxbadE/BKeqnkXe7vScU4GZsw757BlVmDLITZEq8DPpk6m7uoDYkK7P+x/uU5Ow==", "cpu": [ "arm64" ], @@ -598,9 +625,9 @@ } }, "node_modules/@rolldown/binding-linux-ppc64-gnu": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.11.tgz", - "integrity": "sha512-qlUGAheh2yh8afH7QBgx0PrRHN85hKnNd78x8MeMhXivuevgd8vgf6/CstOzmNKY/lLTHvNTrPy98cLnAugzJw==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.13.tgz", + "integrity": "sha512-XMk/hnhh25oQ756Lclb1Q11h4ll0xC0Esa5w4Vzp+mAE2S3AGJgeM0SonrIgY8fHhjarb6hcoTuwoFG0VVP2ig==", "cpu": [ "ppc64" ], @@ -618,9 +645,9 @@ } }, "node_modules/@rolldown/binding-linux-s390x-gnu": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.11.tgz", - "integrity": "sha512-secpEad+0vCbSfn8upFySkDskv+bGPk3THSDS9Y89yc4rb4kzqHp8Dmyd9BkQW4SnhNXBZCl/6CrO//hZahNJQ==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.13.tgz", + "integrity": "sha512-U1BoTHYmlywE2n3HUWjzZ+8EQsKr+OwpxYuDWaubx42tUL8QSL7nOqRz/NVHanibbFP3M1Rxuprz/wNcbMKjqw==", "cpu": [ "s390x" ], @@ -638,9 +665,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.11.tgz", - "integrity": "sha512-mOVBT3dPpkWm8XBWPmU4bf+U6dYDLeMo/9ojUmis4N0L5uu10qra5vOyngZ7/PSdoE4G9KvRt4bloRxNjLas7A==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.13.tgz", + "integrity": "sha512-J4cm80Pc6wEwV5AZ42o62sIQgDk+Y7R2s646jIwuvO+4V46QB58N4vVuMPWCBaNgursXLpmUWJV//WQAkPvHBQ==", "cpu": [ "x64" ], @@ -658,9 +685,9 @@ } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.11.tgz", - "integrity": "sha512-Is78i9A8Ui4SqcxUwFJ9uMmjDn58IbVTjFWYdQestFEgeuEmHMLGNriXnVJKkwG2YiZjw8cP0zCTyDMdDGtOOg==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.13.tgz", + "integrity": "sha512-W0euZS40U4V6JkmEnVCIX9mcsL6cbXQ4X8c2w+MMOIjFg68TXUW+u3RT+2e1t1pv9mg/EP3pDtK3POXdQ7Rxyw==", "cpu": [ "x64" ], @@ -678,9 +705,9 @@ } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.11.tgz", - "integrity": "sha512-dUCXneZ87INUMyQ0D+C0HrEBNUPNXHaPmU5GTjyKTJEiussw9Kaj5Ln8UztPe4epV/ffvgNBEadksdYhmW6xJA==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.13.tgz", + "integrity": "sha512-do/AF/4n9MRshia3a5aXoy8xM2c6mgfT6D7H/dY6my5z+hfCIR4ab7mk4IRj++nsEQpKy39kd0DQnDq+r692tw==", "cpu": [ "arm64" ], @@ -695,9 +722,9 @@ } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.11.tgz", - "integrity": "sha512-jByxb6qfd+bH1xUd0qnfFnb17i9sWBPY2tOavJ0l3tdr3OTu+Kvtm8cd/JV5nFt657b1VqGltxg9olOEfofXWw==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.13.tgz", + "integrity": "sha512-6FtUf2cJZobutJdxnGYX8z0vtbgqU0b2v8vfBhkXb9wp2MppMFtkunE+IaOntyi01rkIQoPW2GHABtfzsC0BRQ==", "cpu": [ "arm64" ], @@ -712,9 +739,9 @@ } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.11.tgz", - "integrity": "sha512-/PzKqzAJ03i19oy2ItPvyvaVjOjBCNnfaJs8yvUdGBKmiESgnrJSQ2awd81QzFbbnAmu7YO9ZnJrDCb9VSJPRA==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.13.tgz", + "integrity": "sha512-UKhFaZTeTcbKrb3iU82m17jVcPEAoqDkCN5MBqgPyZSwp/cQmib21crTS0DdH7T1B7wZRWEI89YQAOJMet5yhg==", "cpu": [ "x64" ], @@ -965,15 +992,15 @@ } }, "node_modules/@tanstack/match-sorter-utils": { - "version": "8.19.4", - "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.19.4.tgz", - "integrity": "sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==", + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-9.2.6.tgz", + "integrity": "sha512-DIpUSOhPfQ7u/qfUi/Wgm0wBO56MyBYXGvnlI0NcauDRPqdBUlAZZjW2Dxm92m+k1UWVhKw8YJ4f47+75Aujyw==", "license": "MIT", "dependencies": { "remove-accents": "0.5.0" }, "engines": { - "node": ">=12" + "node": ">=20" }, "funding": { "type": "github", @@ -981,9 +1008,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.103.2", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.103.2.tgz", - "integrity": "sha512-I8DkFXls5jXLqtm8+QpOhEmG07hIblhSZFzafg9wHsMSEvMzULy9hK17wU1T/ahfhMbtITJhbxutwwCoihkR7A==", + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.104.1.tgz", + "integrity": "sha512-TiRghcrGkUTE+M4JBxvpPSpBhxvIzQairw+cksrHYGr+2uwC77yW1SY9nYxnYRYOppvucf8rEg6b5byoz4rTpw==", "license": "MIT", "funding": { "type": "github", @@ -991,22 +1018,22 @@ } }, "node_modules/@tanstack/query-devtools": { - "version": "5.103.2", - "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.103.2.tgz", - "integrity": "sha512-QW+uVtT7dZcc9KMmKQ846Yw25h7WPhM1cfCYYaSkkmPqkK39g+Cj1tcAt+Ege+6rBVFQvNyYln0FgAAHcYGSdA==", + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.104.1.tgz", + "integrity": "sha512-wmXnQbnwEz+SctYMTrwsOWWNHKhCsVgtaliL9E+VI2vx2Xr773d/MpcrbIU1hEOUqC3p7x59swXFUPDLbplT3g==", "license": "MIT", "dependencies": { - "@kobalte/core": "^0.13.4", - "@solid-primitives/keyed": "^1.2.2", - "@solid-primitives/resize-observer": "^2.0.26", + "@kobalte/core": "^0.13.14", + "@solid-primitives/keyed": "^1.5.3", + "@solid-primitives/resize-observer": "^2.2.0", "@solid-primitives/storage": "^1.3.11", - "@tanstack/match-sorter-utils": "^8.19.4", - "@tanstack/query-core": "5.103.2", + "@tanstack/match-sorter-utils": "^9.1.2", + "@tanstack/query-core": "5.104.1", "clsx": "^2.1.1", - "goober": "^2.1.16", - "solid-js": "^1.9.7", + "goober": "^2.1.19", + "solid-js": "^1.9.15", "solid-transition-group": "^0.2.3", - "superjson": "^2.2.2" + "superjson": "^2.2.6" }, "funding": { "type": "github", @@ -1014,12 +1041,12 @@ } }, "node_modules/@tanstack/query-persist-client-core": { - "version": "5.103.2", - "resolved": "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-5.103.2.tgz", - "integrity": "sha512-yd//zcQILITjto5G1Rq0lTCd1AgXgwdmeCgqh3sTIqIdALPj8Ry7ilELfzEltMvHcoB612TLxPnF/6Yy9HoJ8Q==", + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-5.104.1.tgz", + "integrity": "sha512-ONiadXqe56iNrw6RESqKILpTIVG9ZMI/DageTQnrBDt/nZ6WiP4G13iIiMwJEsiO12gQ3Gychx8tcFIPw4k25g==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.103.2" + "@tanstack/query-core": "5.104.1" }, "funding": { "type": "github", @@ -1027,12 +1054,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.103.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.103.2.tgz", - "integrity": "sha512-B+fWiYZBc+0uUD5zDZAeLw9dKj7XEsdnuu6zRZ+no6LNKpeE3P3bJ+N6HINjcIlWR6fW3vUoTneEaGa2V6ehqw==", + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.104.1.tgz", + "integrity": "sha512-Zz70EgjahNI7aCz8BZxM3vUGU44ycxEAzMuCUjLeA7SVhhOkg3ZgPjPJPvHjs6Rmky/dtmnu1WzjGHNHmhCoZQ==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.103.2" + "@tanstack/query-core": "5.104.1" }, "funding": { "type": "github", @@ -1043,47 +1070,47 @@ } }, "node_modules/@tanstack/react-query-devtools": { - "version": "5.103.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.103.2.tgz", - "integrity": "sha512-NV2AwKeS4UoyAJFcU0CNsoABKVf3A9KMX2InuII2LPUW7z6U296mbQITURAoMwDAxC2AMFCbXlMEPCgRGveQhw==", + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.104.1.tgz", + "integrity": "sha512-0GoLxe08PVxnkbrHFwO+7fkgbc07xEcoBfdYvbTv63e6Fe7uz7PGyOxKeQTOXKGMmTfoniaISOqkjDzKC/66Ng==", "license": "MIT", "dependencies": { - "@tanstack/query-devtools": "5.103.2" + "@tanstack/query-devtools": "5.104.1" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-query": "^5.103.2", + "@tanstack/react-query": "^5.104.1", "@types/react": "^18 || ^19", "react": "^18 || ^19" } }, "node_modules/@tanstack/react-query-persist-client": { - "version": "5.103.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-persist-client/-/react-query-persist-client-5.103.2.tgz", - "integrity": "sha512-OZHmFm1Z8+TuqvY/ZucGJ4aGSsfcU2WZKy3WT2XiAitrwypZ37B/LYXyI22QkKt8zvlGFcFbxfJxNzOWf9/K1g==", + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-persist-client/-/react-query-persist-client-5.104.1.tgz", + "integrity": "sha512-kU3YaqjkwEUzUUfPF0JVg56d6gJKWHaFVqOlQztwc4C2IT0P5sv/23orrSoQqjxKaUe6Ejw5IIQtA/G12uNmow==", "license": "MIT", "dependencies": { - "@tanstack/query-persist-client-core": "5.103.2" + "@tanstack/query-persist-client-core": "5.104.1" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-query": "^5.103.2", + "@tanstack/react-query": "^5.104.1", "react": "^18 || ^19" } }, "node_modules/@tanstack/react-store": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.11.1.tgz", - "integrity": "sha512-HaIGKI3YLmjBYIvy5DFDY23oNaYZIsTZfngey07Uh5iLVJgM3bIGCnZeOFOqzjFld9JHWcaHJnasD/bKoGKwJQ==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.11.2.tgz", + "integrity": "sha512-oj5O5DmiMWE+ih+SioX2ayC1kbK7d3fpLx0B75fPJr9nY3zU+hoW010yr64qXsY/9fyiLVE2bn5mGNV3owm8RQ==", "license": "MIT", "dependencies": { - "@tanstack/store": "0.11.1", + "@tanstack/store": "0.11.2", "use-sync-external-store": "^1.6.0" }, "funding": { @@ -1096,13 +1123,13 @@ } }, "node_modules/@tanstack/react-table": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-9.2.4.tgz", - "integrity": "sha512-Rzp1Q4e0/nIgEjmISYR5HeEgLTNtrG+C7NFZf/AbCxPO5hg+zC3yNGwcoECigUk8SFzzvhXbd2rFdtP2ZiGrfA==", + "version": "9.2.8", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-9.2.8.tgz", + "integrity": "sha512-cJxgratJm3uMm2sXnmY3PCTvcvIEFleCJ2uSOM2nxCmIY8RWA1KjXt5fsWGlYisL7DODr2w9YpLRQ3i/7MdIsQ==", "license": "MIT", "dependencies": { - "@tanstack/react-store": "^0.11.1", - "@tanstack/table-core": "9.2.4" + "@tanstack/react-store": "^0.11.2", + "@tanstack/table-core": "9.2.8" }, "engines": { "node": ">=20" @@ -1116,12 +1143,12 @@ } }, "node_modules/@tanstack/react-virtual": { - "version": "3.14.13", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.14.13.tgz", - "integrity": "sha512-JbDTAwtzZ99aOeCrAfW5EsE5KSq5RWh6Af2dtFwyLIIk48Ja7vm6n4axu/43T3vfjFnEGJalxJ1wyYjSQD6bSg==", + "version": "3.14.14", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.14.14.tgz", + "integrity": "sha512-eo/arVIpYi9rGJXR5y4fDoTiz+BBOc4HKVBKQMoPRswxJtP6HV8iupW/DkBE9TRh+PjzikIDHw2h7aV25g0Z4w==", "license": "MIT", "dependencies": { - "@tanstack/virtual-core": "3.17.11" + "@tanstack/virtual-core": "3.18.0" }, "funding": { "type": "github", @@ -1133,9 +1160,9 @@ } }, "node_modules/@tanstack/store": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.11.1.tgz", - "integrity": "sha512-mzTOBhypOuDJAy/D8n2MfUZ1HFkXnmSETviRyhqEC8LUE7/IZQExOTxMANj3KjTofYTkFNpBY67qaVrT41YccA==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.11.2.tgz", + "integrity": "sha512-sJ4mjol8uQsHV0gOJzzjwXfh2Fwm+Sz0+8deqiTm4jGbMdjzNSW+xZCFm0kUa870uhd8yi+DpKnZb5Kc4apa0Q==", "license": "MIT", "funding": { "type": "github", @@ -1143,12 +1170,12 @@ } }, "node_modules/@tanstack/table-core": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-9.2.4.tgz", - "integrity": "sha512-GwdDyGGr6UXAtubF14yAwcXvdaogqfsQgIk89Suebjxob/Rjq2xvfmXsjDF1rQmKmhHsJm9TOY7myxv3i6geJw==", + "version": "9.2.8", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-9.2.8.tgz", + "integrity": "sha512-M4D6fY5jnc7z7TaoD3Pjvz5R+8MbhzCGYdkcFf2T1AgjigwLinvFWZh6mtqfN016A7yGIroOL0GiTlVGsTh6Vg==", "license": "MIT", "dependencies": { - "@tanstack/store": "^0.11.1" + "@tanstack/store": "^0.11.2" }, "engines": { "node": ">=20" @@ -1159,9 +1186,9 @@ } }, "node_modules/@tanstack/virtual-core": { - "version": "3.17.11", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.17.11.tgz", - "integrity": "sha512-+ILjvtHup6Y2hzQ6YzwMgX1Q+oQpxEGOXCEsCNaPoIP0VxMbizIBTmYTDtkerkIQS8/CbP1BRuyt8V/8BCsy1g==", + "version": "3.18.0", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.18.0.tgz", + "integrity": "sha512-8frWsyfyBwLGoDQ6wN6Lq3CoT8j4BPJUzE6nH4P9mruLhxPOamk82prC3JxRMLJzYnNa9ISaZ8NtfxEiOGkHEQ==", "license": "MIT", "funding": { "type": "github", @@ -1248,9 +1275,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.2.tgz", - "integrity": "sha512-X1P21scMv4zGKLYqjdGjaKa7COa0RKVYYZZN/NfvLQ1JegxFhdhpZG/Lyn8AXx6CDUavKAd11v6BvfpkDByK8g==", + "version": "26.6.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.4.tgz", + "integrity": "sha512-ldVPDCzj7fsaGZrLB0NuHuTvJcsNasysBAqMolr/cgxrLd1xbqxIr3XJiPnHHJUCxj5sNF1vnRj9aWnrVh5Jcg==", "dev": true, "license": "MIT", "dependencies": { @@ -1602,9 +1629,9 @@ } }, "node_modules/@vitejs/plugin-react": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.1.1.tgz", - "integrity": "sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.1.2.tgz", + "integrity": "sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==", "dev": true, "license": "MIT", "dependencies": { @@ -1616,7 +1643,7 @@ "peerDependencies": { "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", "babel-plugin-react-compiler": "^1.0.0", - "oxc-transform-react": "^0.145.0", + "oxc-transform-react": "^0.152.0", "vite": "^8.0.0" }, "peerDependenciesMeta": { @@ -1632,9 +1659,9 @@ } }, "node_modules/@vitest/coverage-v8": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-5.0.2.tgz", - "integrity": "sha512-3ffHBEi8DOOBLwIGBhOBZbRfYFYWjMUuxZicONdhuFEFEG5AVsMOSrVeuROskqnqpbOmEJwxM2eTVZ9N3a1t+A==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-5.0.3.tgz", + "integrity": "sha512-+klsyz7BvT1vCU28Zkfzms1Ia78XD0V41U3FUtRaa3S+vOr/EXvK1O6BvVD7l1RzEjm6SONR2aybOvDDf9u0mQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1651,8 +1678,8 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "@vitest/browser": "5.0.2", - "vitest": "5.0.2" + "@vitest/browser": "5.0.3", + "vitest": "5.0.3" }, "peerDependenciesMeta": { "@vitest/browser": { @@ -1684,14 +1711,14 @@ } }, "node_modules/@vitest/mocker": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.2.tgz", - "integrity": "sha512-Z5FS00Q1SJHkB35xATsmWGdQ5WA1/0MV3CDjqyv7GavHv1OfOj145MNfHOlHk7QLes21dKFDHr8EO2zvL+9WGA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.3.tgz", + "integrity": "sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.31", - "@vitest/spy": "5.0.2", + "@vitest/spy": "5.0.3", "estree-walker": "^3.0.3", "magic-string": "^1.2.3" }, @@ -1712,9 +1739,9 @@ } }, "node_modules/@vitest/mocker/node_modules/magic-string": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.2.tgz", - "integrity": "sha512-vG+rjFRj1PqdIBozIxAGMjPlOhaVe+GXpbttY/iSK7rGcJRMlwNJO7dcUwmUqkymsFLJiNGI06t4D7Fr7yRC9g==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz", + "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1722,9 +1749,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-5.0.2.tgz", - "integrity": "sha512-YHM+mQQ7N1ROHMugJ7P/M+fC/q1G4zs/iAMZZCvhHcY8WkwPQcXBHD+z18oz+808Cfa12K7jOr3XPQMcLIovjw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-5.0.3.tgz", + "integrity": "sha512-3hr5eV5z2ff0l2Q1vaKQbB4j3M3tElw8stDokEOTqXJB3Es5VrT8gBRIMY59gGuFp8Y61sWlWFK1aNUH5dHDYw==", "dev": true, "license": "MIT", "dependencies": { @@ -1735,9 +1762,9 @@ } }, "node_modules/@vitest/spy": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.2.tgz", - "integrity": "sha512-Ijc7T1nT9efNb5LxvjaBrEqw3f/QwUv5EE0nKqZxgqsaV/FxAAZ8baGylA8X/Z2oS4Lp+K74Jr6dTJsDKxJDeg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.3.tgz", + "integrity": "sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg==", "dev": true, "license": "MIT", "funding": { @@ -1745,13 +1772,13 @@ } }, "node_modules/@vitest/ui": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-5.0.2.tgz", - "integrity": "sha512-FRGWhLK/S+aaAtty/5d+jTtY5l+9pGNcjz6IHbyUiP3VWs6a+zIgU4lc1SzWCR7H+OXgetAI06i/VpCWQmVorQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-5.0.3.tgz", + "integrity": "sha512-9dfvqDBvSbHM6y9YVXxAypkl2z7mrWozK/JFo237qI0cj/3M/kzDKiVZqzi3TE54Ler7Jditud7OMBZCyUvRHA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "5.0.2", + "@vitest/utils": "5.0.3", "fflate": "^0.8.3", "flatted": "^3.4.4", "pathe": "^2.0.3", @@ -1762,17 +1789,17 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "5.0.2" + "vitest": "5.0.3" } }, "node_modules/@vitest/utils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-5.0.2.tgz", - "integrity": "sha512-mgpUtxFhKeOKVaArBVHNJGdYHAeRh135o59l13uVmPUCS1OUtis5pBqXEgE25iqRgFqEBwXvJlkhknRsYnMeqg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-5.0.3.tgz", + "integrity": "sha512-77fDTZv8eu1CzlIfgPU2yrl5MXSUaUAOvgdZEeVm3X3WIxUubIX2SforqS6176lT32HCF6uBVMYVqfHxw7o6eg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "5.0.2", + "@vitest/pretty-format": "5.0.3", "convert-source-map": "^2.0.0", "tinyrainbow": "^3.1.1" }, @@ -1810,9 +1837,9 @@ } }, "node_modules/acorn": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", - "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.19.0.tgz", + "integrity": "sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==", "dev": true, "license": "MIT", "bin": { @@ -1845,9 +1872,9 @@ } }, "node_modules/chai": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", - "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.3.0.tgz", + "integrity": "sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==", "dev": true, "license": "MIT", "engines": { @@ -1897,9 +1924,9 @@ } }, "node_modules/copy-anything": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.1.2.tgz", - "integrity": "sha512-BCcj+KrMmRisei4xxFKJDWIpUmuDA4S02vrkaozhgF0FZLd+rNLbGZ1lXmVillt/dTGmkjIJ9xWnlP+T+4x40w==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.1.5.tgz", + "integrity": "sha512-vePst2VLTSqPglW7Q98VwFpGiGpOHTyXIo81MO5VyLecA5zMbZw/P/V1vmwD1jksa2iJpn/YkDrJ3XhTfzUyhQ==", "license": "MIT", "engines": { "node": ">=18" @@ -2116,14 +2143,15 @@ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz", "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.0.0" } }, "node_modules/exsolve": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.1.1.tgz", - "integrity": "sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.1.3.tgz", + "integrity": "sha512-kuzL9zherLQoqDeQaS55AiiIg1kb4KYXaSusTtgZTPlvKP2gGCI82LNmBNh5RjDVUXIcmgx+/Mx7vPwRzBbhJA==", "dev": true, "license": "MIT" }, @@ -2153,7 +2181,8 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/flatbuffers": { "version": "25.9.23", @@ -2234,9 +2263,9 @@ } }, "node_modules/jotai": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jotai/-/jotai-3.0.0.tgz", - "integrity": "sha512-KxhbmsJUp/tmrv6aZgO+nzB3H9K8C0xmk5i3aGkwy/EANg73DVBkggv3zVHaAi5PlNlQgTgP4uiVepo+JC+wSA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jotai/-/jotai-3.0.1.tgz", + "integrity": "sha512-6tS7wY9otdiNp26Wqb/1ds3OuVJVoV+tJlN4hpLrYmfFf/t9bauVt+zKBNSpS5qSl5h6GieVQ+OknVraZX+udQ==", "license": "MIT", "engines": { "node": ">=22.12.0" @@ -2642,6 +2671,7 @@ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } @@ -2653,9 +2683,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.19", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.19.tgz", - "integrity": "sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==", + "version": "3.3.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz", + "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==", "dev": true, "funding": [ { @@ -2751,9 +2781,9 @@ } }, "node_modules/postcss": { - "version": "8.5.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.28.tgz", - "integrity": "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==", + "version": "8.5.29", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.29.tgz", + "integrity": "sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==", "dev": true, "funding": [ { @@ -2771,9 +2801,9 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.18", + "nanoid": "^3.3.19", "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" + "source-map-js": "^1.2.2" }, "engines": { "node": "^10 || ^12 || >=14" @@ -3065,13 +3095,13 @@ "integrity": "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw==" }, "node_modules/rolldown": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.11.tgz", - "integrity": "sha512-qpSwIyz0jHQq5qXBTNxFmE6664rJ7O+4TvPFOiOaBSrz8IOHc1koKKSqTM2H6u1UG1+TveuC6vaDHKXFOvb1Kw==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.13.tgz", + "integrity": "sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/types": "=0.151.0", + "@oxc-project/types": "=0.153.0", "@rolldown/pluginutils": "^1.0.0" }, "bin": { @@ -3081,21 +3111,21 @@ "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rolldown/binding-android-arm-eabi": "1.2.11", - "@rolldown/binding-android-arm64": "1.2.11", - "@rolldown/binding-darwin-arm64": "1.2.11", - "@rolldown/binding-darwin-x64": "1.2.11", - "@rolldown/binding-freebsd-x64": "1.2.11", - "@rolldown/binding-linux-arm-gnueabihf": "1.2.11", - "@rolldown/binding-linux-arm64-gnu": "1.2.11", - "@rolldown/binding-linux-arm64-musl": "1.2.11", - "@rolldown/binding-linux-ppc64-gnu": "1.2.11", - "@rolldown/binding-linux-s390x-gnu": "1.2.11", - "@rolldown/binding-linux-x64-gnu": "1.2.11", - "@rolldown/binding-linux-x64-musl": "1.2.11", - "@rolldown/binding-openharmony-arm64": "1.2.11", - "@rolldown/binding-win32-arm64-msvc": "1.2.11", - "@rolldown/binding-win32-x64-msvc": "1.2.11" + "@rolldown/binding-android-arm-eabi": "1.2.13", + "@rolldown/binding-android-arm64": "1.2.13", + "@rolldown/binding-darwin-arm64": "1.2.13", + "@rolldown/binding-darwin-x64": "1.2.13", + "@rolldown/binding-freebsd-x64": "1.2.13", + "@rolldown/binding-linux-arm-gnueabihf": "1.2.13", + "@rolldown/binding-linux-arm64-gnu": "1.2.13", + "@rolldown/binding-linux-arm64-musl": "1.2.13", + "@rolldown/binding-linux-ppc64-gnu": "1.2.13", + "@rolldown/binding-linux-s390x-gnu": "1.2.13", + "@rolldown/binding-linux-x64-gnu": "1.2.13", + "@rolldown/binding-linux-x64-musl": "1.2.13", + "@rolldown/binding-openharmony-arm64": "1.2.13", + "@rolldown/binding-win32-arm64-msvc": "1.2.13", + "@rolldown/binding-win32-x64-msvc": "1.2.13" } }, "node_modules/scheduler": { @@ -3105,18 +3135,18 @@ "license": "MIT" }, "node_modules/seroval": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.5.6.tgz", - "integrity": "sha512-rVQVWjjSvlINzaQPZH5JFqsqEsIWdTxY3iJZCnTL/5gQbXIRooVZKI60tVCkOVfzcRPejboxO2t0P89dg5mQaA==", + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.6.9.tgz", + "integrity": "sha512-UeEzHwAK+yl0YLbsvROV1t5yMYEwZZ0CfKYxDvUgS2fO9Vxdf8djqVIB+OuVpuawRNPqw68LE1Du/GMsW2ZPqA==", "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/seroval-plugins": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.5.6.tgz", - "integrity": "sha512-HXuLAX2pu/UByPpaeo/TaMfvMIi+1QqIoPJYCcAtU8QkVNwgR6MPlGuCQTErV1JwraaMbYaWVIBX7mppzGLATQ==", + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.6.9.tgz", + "integrity": "sha512-kiDK/Tb8IWZ61WEU8pA2PDmAuw37gKph9Y77OZlD56mg0Y2g0Bg7gZ1HeHhs5d40w+nRoUq/wj08V26ilbez9g==", "license": "MIT", "engines": { "node": ">=10" @@ -3136,6 +3166,7 @@ "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", "dev": true, + "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", @@ -3146,14 +3177,14 @@ } }, "node_modules/solid-js": { - "version": "1.9.15", - "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.15.tgz", - "integrity": "sha512-EeiY2xfpZJqPLjXspVEKjAII4yv8NyG//NxZ3IpOFHdUNnnTyL0uJOeS9LWGvA7cFCz5y94cjFwYlmw5Luncsg==", + "version": "1.9.17", + "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.17.tgz", + "integrity": "sha512-4GAmLOWPfNV8H9Jfn2LSFTpNEG6jiOKPiwd5lnLGQtehHaX6l3TOLzJqQ7mqwB/3k1Yy3zyumFVopmc/tm34ow==", "license": "MIT", "dependencies": { "csstype": "^3.1.0", - "seroval": "~1.5.4", - "seroval-plugins": "~1.5.4" + "seroval": "~1.6.8", + "seroval-plugins": "~1.6.8" } }, "node_modules/solid-presence": { @@ -3198,9 +3229,9 @@ } }, "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz", + "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -3208,10 +3239,11 @@ } }, "node_modules/std-env": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.2.0.tgz", - "integrity": "sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==", - "dev": true + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.3.0.tgz", + "integrity": "sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==", + "dev": true, + "license": "MIT" }, "node_modules/superjson": { "version": "2.2.6", @@ -3234,6 +3266,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", + "license": "MIT", "engines": { "node": ">=20" }, @@ -3247,9 +3280,9 @@ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" }, "node_modules/tinybench": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.2.0.tgz", - "integrity": "sha512-78U2TlB2CnVenajOFzf3BKSm0J6oz5L0NV7g32LCPccvYc0lbWvys4d3uUUCS2B1N8PAf2+aekR8i1KbC3HO7Q==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.2.1.tgz", + "integrity": "sha512-IAbQaPJIIdhVxi0mqy9lez1wEwje0UQf9F1vwtbelEG5Nbgn0nPOxCvU+mNeNS9gyJTAhrHp74CbUaSynQpZcQ==", "dev": true, "license": "MIT", "engines": { @@ -3283,9 +3316,9 @@ } }, "node_modules/tinyrainbow": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.1.tgz", - "integrity": "sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.2.0.tgz", + "integrity": "sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A==", "dev": true, "license": "MIT", "engines": { @@ -3297,6 +3330,7 @@ "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3307,9 +3341,10 @@ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "node_modules/type-fest": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.8.0.tgz", - "integrity": "sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.10.0.tgz", + "integrity": "sha512-NoSdpq/WEiAg5sjmBkmV/hfxv6HJH4NqPNrqjtSO5CwRmpsDfaf4begxW34KdJykH/l1yHtwBWQkCRdoXO8mPA==", + "license": "(MIT OR CC0-1.0)", "dependencies": { "tagged-tag": "^1.0.0" }, @@ -3385,9 +3420,9 @@ } }, "node_modules/unplugin-dts": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unplugin-dts/-/unplugin-dts-1.1.1.tgz", - "integrity": "sha512-Z2VcabC0hjYuzF62oWmZXVoxagkM8bUWgqUy+dotoJTPnooR5mNaxbpv63JCmcaxdGCW2Bb75omK6FOryOYCRg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unplugin-dts/-/unplugin-dts-1.1.2.tgz", + "integrity": "sha512-RDqy90XUmFj6rz4U5YoTMdYdaCJe2ZnQZaWIjkWS4952Gv0zBTQyqWtlGgVMPYHa982dURvyoc+sUOFIcDFv+w==", "dev": true, "license": "MIT", "dependencies": { @@ -3510,16 +3545,16 @@ } }, "node_modules/vite": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.1.tgz", - "integrity": "sha512-/bvH9E9tmCXRGp2uXY3WbOldqpTwFkbha/8ANaEQ6VkxhH60KyqLwgZq6lG2y+4uT55x9+9eUHMpQ7uGnOCKjA==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.4.tgz", + "integrity": "sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==", "dev": true, "license": "MIT", "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.7", - "postcss": "^8.5.28", - "rolldown": "~1.2.9", + "postcss": "^8.5.29", + "rolldown": "~1.2.12", "tinyglobby": "^0.2.17" }, "bin": { @@ -3588,13 +3623,13 @@ } }, "node_modules/vite-plugin-dts": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-5.1.1.tgz", - "integrity": "sha512-U5dyX3DPFvHB+gaJIULn90kKGsXNYllyJ3vn491Y+LGu2nL5Fb8z7YgurN/Pi6ZFlnGljh2wSM0ZbFogSh4yAg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-5.1.2.tgz", + "integrity": "sha512-1bXUz836sWq6ewEMQre3ZtNFVfZk/92DppgCCKP8tWx/NWwV2wHuXlRHb2TztHjbikPxvyAGLGu7hVh94Plwww==", "dev": true, "license": "MIT", "dependencies": { - "unplugin-dts": "1.1.1" + "unplugin-dts": "1.1.2" }, "peerDependencies": { "@microsoft/api-extractor": ">=7", @@ -3649,14 +3684,14 @@ } }, "node_modules/vitest": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.2.tgz", - "integrity": "sha512-7MQrx9pDv5aHiUcovIb/70Ys3tgtkUVgCtledvKdCmEO+/1Dicq5ZqoSxOW034m03oqC+oHOKui2dM6qtMLoJg==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.3.tgz", + "integrity": "sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ==", "dev": true, "license": "MIT", "dependencies": { "@types/chai": "^5.2.2", - "@vitest/mocker": "5.0.2", + "@vitest/mocker": "5.0.3", "chai": "^6.2.2", "es-module-lexer": "^2.3.2", "expect-type": "^1.4.0", @@ -3667,7 +3702,7 @@ "tinybench": "^6.1.4", "tinyexec": "^1.3.0", "tinyglobby": "^0.2.17", - "why-is-node-running": "^3.2.1" + "why-is-node-running": "3.2.1" }, "bin": { "vitest": "vitest.mjs" @@ -3682,12 +3717,12 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "5.0.2", - "@vitest/browser-preview": "5.0.2", + "@vitest/browser-playwright": "5.0.3", + "@vitest/browser-preview": "5.0.3", "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0", - "@vitest/coverage-istanbul": "5.0.2", - "@vitest/coverage-v8": "5.0.2", - "@vitest/ui": "5.0.2", + "@vitest/coverage-istanbul": "5.0.3", + "@vitest/coverage-v8": "5.0.3", + "@vitest/ui": "5.0.3", "happy-dom": "*", "jsdom": "*", "vite": "^6.4.0 || ^7.0.0 || ^8.0.0" @@ -3732,9 +3767,9 @@ } }, "node_modules/vitest/node_modules/magic-string": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.2.tgz", - "integrity": "sha512-vG+rjFRj1PqdIBozIxAGMjPlOhaVe+GXpbttY/iSK7rGcJRMlwNJO7dcUwmUqkymsFLJiNGI06t4D7Fr7yRC9g==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.3.tgz", + "integrity": "sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3756,9 +3791,9 @@ "license": "MIT" }, "node_modules/why-is-node-running": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-3.2.2.tgz", - "integrity": "sha512-NKUzAelcoCXhXL4dJzKIwXeR8iEVqsA0Lq6Vnd0UXvgaKbzVo4ZTHROF2Jidrv+SgxOQ03fMinnNhzZATxOD3A==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-3.2.1.tgz", + "integrity": "sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==", "dev": true, "license": "MIT", "bin": { diff --git a/package.json b/package.json index 4cbc6f1..d3f8272 100644 --- a/package.json +++ b/package.json @@ -10,22 +10,24 @@ "preview": "vite preview" }, "dependencies": { - "@gfazioli/mantine-border-animate": "^3.0.2", - "@gfazioli/mantine-parallax": "^4.0.10", - "@gfazioli/mantine-text-animate": "^4.0.10", + "@gfazioli/mantine-border-animate": "^3.0.5", + "@gfazioli/mantine-depth-select": "^2.0.15", + "@gfazioli/mantine-parallax": "^4.0.13", + "@gfazioli/mantine-reflection": "^3.0.13", + "@gfazioli/mantine-text-animate": "^4.0.15", "@hello-pangea/dnd": "^18.0.1", - "@mantine/core": "^9.6.2", - "@mantine/dates": "^9.6.2", - "@mantine/form": "^9.6.2", - "@mantine/hooks": "^9.6.2", - "@mantine/notifications": "^9.6.2", - "@tanstack/react-query": "^5.103.2", - "@tanstack/react-query-devtools": "^5.103.2", - "@tanstack/react-query-persist-client": "^5.103.2", - "@tanstack/react-table": "^9.2.4", - "@tanstack/react-virtual": "^3.14.13", + "@mantine/core": "^9.7.1", + "@mantine/dates": "^9.7.1", + "@mantine/form": "^9.7.1", + "@mantine/hooks": "^9.7.1", + "@mantine/notifications": "^9.7.1", + "@tanstack/react-query": "^5.104.1", + "@tanstack/react-query-devtools": "^5.104.1", + "@tanstack/react-query-persist-client": "^5.104.1", + "@tanstack/react-table": "^9.2.8", + "@tanstack/react-virtual": "^3.14.14", "idb-keyval": "^6.3.0", - "jotai": "^3.0.0", + "jotai": "^3.0.1", "openmeteo": "^1.2.3", "react": "^19.3.0", "react-dom": "^19.3.0", @@ -35,16 +37,16 @@ "recharts": "^3.10.1" }, "devDependencies": { - "@types/node": "^26.6.2", + "@types/node": "^26.6.4", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", - "@vitejs/plugin-react": "^6.1.1", - "@vitest/coverage-v8": "^5.0.2", - "@vitest/ui": "^5.0.2", + "@vitejs/plugin-react": "^6.1.2", + "@vitest/coverage-v8": "^5.0.3", + "@vitest/ui": "^5.0.3", "typescript": "^7.0.2", - "vite": "^8.3.1", - "vite-plugin-dts": "~5.1.1", + "vite": "^8.3.4", + "vite-plugin-dts": "~5.1.2", "vite-tsconfig-paths": "^6.1.1", - "vitest": "^5.0.2" + "vitest": "^5.0.3" } } diff --git a/src/App.tsx b/src/App.tsx index 2103f7e..a57bbd9 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -24,6 +24,7 @@ import 'react-fontpicker-ts/dist/index.css'; import '@gfazioli/mantine-border-animate/styles.css'; import '@gfazioli/mantine-parallax/styles.css'; import '@gfazioli/mantine-text-animate/styles.css'; +import '@gfazioli/mantine-reflection/styles.css'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { Homepage, Settings } from 'pages'; import FontPicker from 'react-fontpicker-ts'; diff --git a/src/pages/settings/components/Theming/ThemePlaylists/ThemePlaylists.tsx b/src/pages/settings/components/Theming/ThemePlaylists/ThemePlaylists.tsx index 90a7e24..223d3c4 100644 --- a/src/pages/settings/components/Theming/ThemePlaylists/ThemePlaylists.tsx +++ b/src/pages/settings/components/Theming/ThemePlaylists/ThemePlaylists.tsx @@ -6,8 +6,8 @@ import { useEffect, useState } from 'react'; import { FiChevronRight } from 'react-icons/fi'; import { textClasses } from 'styles'; import type { Theme, ThemePlaylist } from 'types'; -import { ThemePlaylistCard } from './components/ThemePlaylistCard'; import { ThemePlaylistModal } from './components/ThemePlaylistModal'; +import { ThemePlaylistStack } from './components/ThemePlaylistStack'; export function ThemePlaylists() { const themesEndpoint = 'api/themes'; @@ -134,7 +134,7 @@ export function ThemePlaylists() { /> )} - )} - )} - )} - )} - - + ); } diff --git a/src/pages/settings/components/Theming/ThemePlaylists/components/ThemePlaylistStack.tsx b/src/pages/settings/components/Theming/ThemePlaylists/components/ThemePlaylistStack.tsx new file mode 100644 index 0000000..f3974e5 --- /dev/null +++ b/src/pages/settings/components/Theming/ThemePlaylists/components/ThemePlaylistStack.tsx @@ -0,0 +1,292 @@ +import { Parallax } from '@gfazioli/mantine-parallax'; +import { Reflection } from '@gfazioli/mantine-reflection'; +import { ActionIcon, Box, Group, Stack, Text } from '@mantine/core'; +import { useDebouncedCallback, useDisclosure } from '@mantine/hooks'; +import { DeleteItemModal } from 'components'; +import { useCommonHooks } from 'hooks'; +import { useState } from 'react'; +import { FiEdit, FiTrash } from 'react-icons/fi'; +import { textClasses } from 'styles'; +import type { Theme, ThemePlaylist } from 'types'; +import { ThemeCard } from '../../Themes'; + +export function ThemePlaylistStack({ + cardPlaylist, + handleOpen, + allThemes, +}: { + cardPlaylist: any; + handleOpen: (cardPlaylist: ThemePlaylist) => void; + allThemes: Theme[]; +}) { + const [hover, setHover] = useState(false); + const { setThemeName, setCurrentThemePlaylist, handleDelete, currentUser } = + useCommonHooks(); + const [indexOffset, setIndexOffset] = useState(0); + const defaultLists = ['All', 'Backgrounds', 'No Backgrounds']; + const [modalOpened, { open: openModal, close: closeModal }] = useDisclosure(false); + const themeList = JSON.parse( + cardPlaylist?.themeList?.name === 'Time of Day' ? '[]' : cardPlaylist.themeList, + ); + + const missingTheme = { + id: undefined, + name: 'default', + backgroundImage: 'none', + backgroundColor: '#EEEEEE', + searchColor: '#00000033', + primaryColor: '#222222', + accentColor: '#5c5c5c', + borderColor: '#5c5c5c', + randomEnabled: 1, + textShadowsEnabled: 0, + appShadowsEnabled: 0, + themeFont: currentUser.defaultFont, + }; + + const presentationProps = { + initialRotationX: 60, + initialRotationY: 0, + initialRotationZ: 0, + initialSkewX: -30, + initialSkewY: 30, + disabled: true, + }; + + const handleMouseWheel = useDebouncedCallback((e: any) => { + e.stopPropagation(); + if (e.deltaY > 0) { + setIndexOffset((indexOffset % themeList.length) - 1); + } else { + setIndexOffset((indexOffset % themeList.length) + 1); + } + }, 75); + + return ( + setHover(true)} + onMouseLeave={() => setHover(false)} + style={{ + background: hover + ? 'radial-gradient(var(--mantine-color-search-0), transparent)' + : undefined, + cursor: 'pointer', + borderRadius: '100%', + }} + onClick={() => { + setCurrentThemePlaylist(cardPlaylist.name); + setThemeName('random'); + }} + > + {modalOpened && ( + handleDelete(cardPlaylist, 'api/themePlaylists')} + title='Delete Theme Playlist' + body={ + + Are you sure you want to delete this Theme Playlist? + {`"${cardPlaylist.name}"`} + This action cannot be undone! + + } + /> + )} + {cardPlaylist?.name === 'Time of Day' ? ( + + + + theme.id === Number(themeList[0])) || + missingTheme + } + allThemes={allThemes} + themePlaylists={[]} + setSelectedTheme={() => {}} + openThemeModal={() => {}} + enabled={false} + management={false} + /> + + + theme.id === Number(themeList[1])) || + missingTheme + } + allThemes={allThemes} + themePlaylists={[]} + setSelectedTheme={() => {}} + openThemeModal={() => {}} + enabled={false} + management={false} + /> + + + theme.id === Number(themeList[2])) || + missingTheme + } + allThemes={allThemes} + themePlaylists={[]} + setSelectedTheme={() => {}} + openThemeModal={() => {}} + enabled={false} + management={false} + /> + + + theme.id === Number(themeList[3])) || + missingTheme + } + allThemes={allThemes} + themePlaylists={[]} + setSelectedTheme={() => {}} + openThemeModal={() => {}} + enabled={false} + management={false} + /> + + + + ) : ( + + + {themeList + .sort((a: number, b: number) => (a > b ? 1 : -1)) + .map((item: number, index: number) => { + let spot = index + indexOffset; + if (spot <= -1) { + spot = index + indexOffset + themeList.length; + } else if (spot >= themeList.length) { + spot = index + indexOffset - themeList.length; + } else { + spot = index + indexOffset; + } + const theme: any = allThemes.find((theme: Theme) => theme.id === item); + return ( + + + {}} + openThemeModal={() => {}} + enabled={false} + management={false} + /> + + + ); + })} + + + )} + + + + {cardPlaylist.name} + + + {!defaultLists.includes(cardPlaylist.name) && ( + { + handleOpen(cardPlaylist); + }} + > + + + )} + {cardPlaylist.default === 0 && ( + { + openModal(); + }} + > + + + )} + + + + ); +}