diff --git a/ui/.prettierrc.json b/ui/.prettierrc.json index 29a2402..8733bd0 100644 --- a/ui/.prettierrc.json +++ b/ui/.prettierrc.json @@ -1,6 +1,7 @@ { "$schema": "https://json.schemastore.org/prettierrc", - "semi": false, - "singleQuote": true, - "printWidth": 100 + "semi": true, + "singleQuote": false, + "printWidth": 100, + "trailingComma": "all" } diff --git a/ui/.vscode/settings.json b/ui/.vscode/settings.json index 66682b9..2460818 100644 --- a/ui/.vscode/settings.json +++ b/ui/.vscode/settings.json @@ -4,7 +4,7 @@ }, "[jsonc]": { - "editor.formatOnSave": false, + "editor.formatOnSave": false }, "editor.codeActionsOnSave": { @@ -25,7 +25,5 @@ "sass.disableAutoIndent": true, "sass.format.convert": false, - "sass.format.deleteWhitespace": true, - - "prettier.trailingComma": "all" + "sass.format.deleteWhitespace": true } diff --git a/ui/_legacy/.eslintrc.js b/ui/_legacy/.eslintrc.js deleted file mode 100644 index 70723bd..0000000 --- a/ui/_legacy/.eslintrc.js +++ /dev/null @@ -1,38 +0,0 @@ -module.exports = { - root: true, - - env: { - node: true, - }, - - extends: [ - "plugin:vue/vue3-essential", - "eslint:recommended", - "@vue/typescript/recommended", - ], - - parserOptions: { - ecmaVersion: 2020, - }, - - rules: { - "no-empty": "off", - "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", - "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", - }, - - overrides: [ - { - files: [ - "**/__tests__/*.{j,t}s?(x)", - "**/tests/unit/**/*.spec.{j,t}s?(x)", - ], - env: { - mocha: true, - }, - rules: { - "@typescript-eslint/no-unused-expressions": "off", - } - }, - ], -}; diff --git a/ui/_legacy/package.json b/ui/_legacy/package.json index 2230e23..5f59306 100644 --- a/ui/_legacy/package.json +++ b/ui/_legacy/package.json @@ -1,46 +1,14 @@ { - "name": "advent22_ui", - "version": "0.1.0", - "private": true, - "packageManager": "yarn@4.12.0", - "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build", - "test:unit": "vue-cli-service test:unit", - "test:unit-watch": "vue-cli-service test:unit --watch", - "lint": "vue-cli-service lint", - "ui": "vue ui --host 0.0.0.0 --headless" - }, "devDependencies": { - "@fortawesome/fontawesome-svg-core": "^7.2.0", - "@fortawesome/free-solid-svg-icons": "^7.2.0", - "@fortawesome/vue-fontawesome": "^3.1.3", - "@types/chai": "^5.2.3", - "@types/luxon": "^3.7.1", - "@types/mocha": "^10.0.10", "@typescript-eslint/eslint-plugin": "^8.55.0", "@typescript-eslint/parser": "^8.55.0", "@vue/cli-plugin-babel": "^5.0.9", "@vue/cli-plugin-eslint": "^5.0.9", "@vue/cli-plugin-typescript": "^5.0.9", - "@vue/cli-plugin-unit-mocha": "^5.0.9", "@vue/cli-service": "^5.0.9", - "@vue/eslint-config-typescript": "^13.0.0", - "@vue/test-utils": "^2.4.6", - "@vue/tsconfig": "^0.8.1", - "animate.css": "^4.1.1", - "axios": "^1.13.5", - "bulma": "^1.0.4", - "bulma-toast": "2.4.3", - "chai": "^6.2.2", "core-js": "^3.48.0", - "eslint": "^8.57.1", - "eslint-plugin-vue": "^9.33.0", - "luxon": "^3.7.2", - "pinia": "^3.0.4", "sass": "~1.94.3", "sass-loader": "^16.0.0", - "typescript": "^5.9.3", "vue": "^3.5.25", "vue-cli-plugin-webpack-bundle-analyzer": "^4.0.0" } diff --git a/ui/_legacy/public/favicon.ico b/ui/_legacy/public/favicon.ico deleted file mode 100644 index c7ab788..0000000 Binary files a/ui/_legacy/public/favicon.ico and /dev/null differ diff --git a/ui/_legacy/src/App.vue b/ui/_legacy/src/App.vue deleted file mode 100644 index 629d510..0000000 --- a/ui/_legacy/src/App.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - diff --git a/ui/_legacy/src/assets/logo.png b/ui/_legacy/src/assets/logo.png deleted file mode 100644 index ad57219..0000000 --- a/ui/_legacy/src/assets/logo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:03d6d6da2545d3b3402855b8e721b779abaa87d113e69d9329ea6ea6325a83ce -size 6849 diff --git a/ui/_legacy/src/d.ts/shims-vue.d.ts b/ui/_legacy/src/d.ts/shims-vue.d.ts deleted file mode 100644 index 55e0ca6..0000000 --- a/ui/_legacy/src/d.ts/shims-vue.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* eslint-disable */ -declare module "*.vue" { - import type { DefineComponent } from "vue"; - const component: DefineComponent<{}, {}, any>; - export default component; -} diff --git a/ui/_legacy/src/main.ts b/ui/_legacy/src/main.ts deleted file mode 100644 index bc4d049..0000000 --- a/ui/_legacy/src/main.ts +++ /dev/null @@ -1,27 +0,0 @@ -import FontAwesomeIcon from "@/lib/fontawesome"; -import { advent22Store } from "@/lib/store"; -import { setDefaults as toast_set_defaults } from "bulma-toast"; -import { createPinia } from "pinia"; -import { createApp } from "vue"; -import App from "./App.vue"; - -import "@/main.scss"; - -const app = createApp(App); - -app.use(createPinia()); -app.component("FontAwesomeIcon", FontAwesomeIcon); - -advent22Store().init(); - -app.mount("#app"); - -toast_set_defaults({ - duration: 10e3, - pauseOnHover: true, - dismissible: true, - closeOnClick: false, - type: "is-white", - position: "top-center", - animate: { in: "backInDown", out: "backOutUp" }, -}); diff --git a/ui/package.json b/ui/package.json index 75d59cc..7ed0287 100644 --- a/ui/package.json +++ b/ui/package.json @@ -21,23 +21,33 @@ "vue": "^3.5.28" }, "devDependencies": { + "@fortawesome/fontawesome-svg-core": "^7.2.0", + "@fortawesome/free-solid-svg-icons": "^7.2.0", + "@fortawesome/vue-fontawesome": "^3.1.3", "@tsconfig/node24": "^24.0.4", "@types/jsdom": "^27.0.0", + "@types/luxon": "^3", "@types/node": "^25.3.0", "@vitejs/plugin-vue": "^6.0.4", "@vitest/eslint-plugin": "^1.6.9", "@vue/eslint-config-typescript": "^14.6.0", "@vue/test-utils": "^2.4.6", "@vue/tsconfig": "^0.8.1", + "animate.css": "^4.1.1", + "axios": "^1.13.5", + "bulma": "^1.0.4", + "bulma-toast": "2.4.3", "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-oxlint": "~1.46.0", "eslint-plugin-vue": "~10.8.0", "jiti": "^2.6.1", "jsdom": "^28.1.0", + "luxon": "^3.7.2", "npm-run-all2": "^8.0.4", "oxlint": "~1.47.0", "prettier": "3.8.1", + "sass-embedded": "^1.97.3", "typescript": "~5.9.3", "vite": "^7.3.1", "vite-plugin-vue-devtools": "^8.0.6", diff --git a/ui/public/favicon.ico b/ui/public/favicon.ico index df36fcf..c7ab788 100644 Binary files a/ui/public/favicon.ico and b/ui/public/favicon.ico differ diff --git a/ui/src/App.vue b/ui/src/App.vue index abfd315..50bc112 100644 --- a/ui/src/App.vue +++ b/ui/src/App.vue @@ -1,11 +1,60 @@ - - - + + + diff --git a/ui/_legacy/tests/unit/rectangle.spec.ts b/ui/src/__tests__/rectangle.spec.ts similarity index 68% rename from ui/_legacy/tests/unit/rectangle.spec.ts rename to ui/src/__tests__/rectangle.spec.ts index 54e4154..14c8b17 100644 --- a/ui/_legacy/tests/unit/rectangle.spec.ts +++ b/ui/src/__tests__/rectangle.spec.ts @@ -1,4 +1,4 @@ -import { expect } from "chai"; +import { describe, expect, it } from "vitest"; import { Rectangle } from "@/lib/rects/rectangle"; import { Vector2D } from "@/lib/rects/vector2d"; @@ -17,15 +17,15 @@ describe("Rectangle Tests", () => { width: number, height: number, ): void { - expect(r.left).to.equal(left); - expect(r.top).to.equal(top); + expect(r.left).toEqual(left); + expect(r.top).toEqual(top); - expect(r.width).to.equal(width); - expect(r.height).to.equal(height); - expect(r.area).to.equal(width * height); + expect(r.width).toEqual(width); + expect(r.height).toEqual(height); + expect(r.area).toEqual(width * height); - expect(r.middle.x).to.equal(left + 0.5 * width); - expect(r.middle.y).to.equal(top + 0.5 * height); + expect(r.middle.x).toEqual(left + 0.5 * width); + expect(r.middle.y).toEqual(top + 0.5 * height); } it("should create a default rectangle", () => { @@ -41,29 +41,29 @@ describe("Rectangle Tests", () => { }); it("should compare rectangles", () => { - expect(r1.equals(r2)).to.be.true; - expect(r1.equals(new Rectangle())).to.be.false; + expect(r1.equals(r2)).toBe(true); + expect(r1.equals(new Rectangle())).toBe(false); }); it("should create the same rectangle transposed", () => { const v1t = new Vector2D(v1.x, v2.y); const v2t = new Vector2D(v2.x, v1.y); - expect(r1.equals(new Rectangle(v1t, v2t))).to.be.true; + expect(r1.equals(new Rectangle(v1t, v2t))).toBe(true); }); it("should contain itself", () => { - expect(r1.contains(v1)).to.be.true; - expect(r1.contains(v2)).to.be.true; + expect(r1.contains(v1)).toBe(true); + expect(r1.contains(v2)).toBe(true); - expect(r1.contains(r1.origin)).to.be.true; - expect(r1.contains(r1.corner)).to.be.true; - expect(r1.contains(r1.middle)).to.be.true; + expect(r1.contains(r1.origin)).toBe(true); + expect(r1.contains(r1.corner)).toBe(true); + expect(r1.contains(r1.middle)).toBe(true); }); it("should not contain certain points", () => { - expect(r1.contains(new Vector2D(0, 0))).to.be.false; - expect(r1.contains(new Vector2D(100, 100))).to.be.false; + expect(r1.contains(new Vector2D(0, 0))).toBe(false); + expect(r1.contains(new Vector2D(100, 100))).toBe(false); }); it("should update a rectangle", () => { diff --git a/ui/_legacy/tests/unit/vector2d.spec.ts b/ui/src/__tests__/vector2d.spec.ts similarity index 56% rename from ui/_legacy/tests/unit/vector2d.spec.ts rename to ui/src/__tests__/vector2d.spec.ts index fa90941..dedfbf7 100644 --- a/ui/_legacy/tests/unit/vector2d.spec.ts +++ b/ui/src/__tests__/vector2d.spec.ts @@ -1,4 +1,4 @@ -import { expect } from "chai"; +import { describe, expect, it } from "vitest"; import { Vector2D } from "@/lib/rects/vector2d"; @@ -7,35 +7,35 @@ describe("Vector2D Tests", () => { it("should create a default vector", () => { const v0 = new Vector2D(); - expect(v0.x).to.equal(0); - expect(v0.y).to.equal(0); + expect(v0.x).toEqual(0); + expect(v0.y).toEqual(0); }); it("should create a vector", () => { - expect(v.x).to.equal(1); - expect(v.y).to.equal(2); + expect(v.x).toEqual(1); + expect(v.y).toEqual(2); }); it("should add vectors", () => { const v2 = v.plus(new Vector2D(3, 4)); - expect(v2.x).to.equal(4); - expect(v2.y).to.equal(6); + expect(v2.x).toEqual(4); + expect(v2.y).toEqual(6); }); it("should subtract vectors", () => { const v2 = v.minus(new Vector2D(3, 4)); - expect(v2.x).to.equal(-2); - expect(v2.y).to.equal(-2); + expect(v2.x).toEqual(-2); + expect(v2.y).toEqual(-2); }); it("should scale vectors", () => { const v2 = v.scale(3); - expect(v2.x).to.equal(3); - expect(v2.y).to.equal(6); + expect(v2.x).toEqual(3); + expect(v2.y).toEqual(6); }); it("should compare vectors", () => { - expect(v.equals(v.scale(1))).to.be.true; - expect(v.equals(v.scale(2))).to.be.false; + expect(v.equals(v.scale(1))).toBe(true); + expect(v.equals(v.scale(2))).toBe(false); }); }); diff --git a/ui/_legacy/src/bulma-scheme.scss b/ui/src/bulma-scheme.scss similarity index 100% rename from ui/_legacy/src/bulma-scheme.scss rename to ui/src/bulma-scheme.scss diff --git a/ui/_legacy/src/components/AdminButton.vue b/ui/src/components/AdminButton.vue similarity index 100% rename from ui/_legacy/src/components/AdminButton.vue rename to ui/src/components/AdminButton.vue diff --git a/ui/_legacy/src/components/Calendar.vue b/ui/src/components/Calendar.vue similarity index 100% rename from ui/_legacy/src/components/Calendar.vue rename to ui/src/components/Calendar.vue diff --git a/ui/_legacy/src/components/CountDown.vue b/ui/src/components/CountDown.vue similarity index 100% rename from ui/_legacy/src/components/CountDown.vue rename to ui/src/components/CountDown.vue diff --git a/ui/_legacy/src/components/LoginModal.vue b/ui/src/components/LoginModal.vue similarity index 100% rename from ui/_legacy/src/components/LoginModal.vue rename to ui/src/components/LoginModal.vue diff --git a/ui/_legacy/src/components/MultiModal.vue b/ui/src/components/MultiModal.vue similarity index 100% rename from ui/_legacy/src/components/MultiModal.vue rename to ui/src/components/MultiModal.vue diff --git a/ui/_legacy/src/components/TouchButton.vue b/ui/src/components/TouchButton.vue similarity index 100% rename from ui/_legacy/src/components/TouchButton.vue rename to ui/src/components/TouchButton.vue diff --git a/ui/_legacy/src/components/UserView.vue b/ui/src/components/UserView.vue similarity index 100% rename from ui/_legacy/src/components/UserView.vue rename to ui/src/components/UserView.vue diff --git a/ui/_legacy/src/components/admin/AdminView.vue b/ui/src/components/admin/AdminView.vue similarity index 100% rename from ui/_legacy/src/components/admin/AdminView.vue rename to ui/src/components/admin/AdminView.vue diff --git a/ui/_legacy/src/components/admin/CalendarAssistant.vue b/ui/src/components/admin/CalendarAssistant.vue similarity index 100% rename from ui/_legacy/src/components/admin/CalendarAssistant.vue rename to ui/src/components/admin/CalendarAssistant.vue diff --git a/ui/_legacy/src/components/admin/ConfigView.vue b/ui/src/components/admin/ConfigView.vue similarity index 100% rename from ui/_legacy/src/components/admin/ConfigView.vue rename to ui/src/components/admin/ConfigView.vue diff --git a/ui/_legacy/src/components/admin/DoorMapEditor.vue b/ui/src/components/admin/DoorMapEditor.vue similarity index 100% rename from ui/_legacy/src/components/admin/DoorMapEditor.vue rename to ui/src/components/admin/DoorMapEditor.vue diff --git a/ui/_legacy/src/components/bulma/Breadcrumbs.vue b/ui/src/components/bulma/Breadcrumbs.vue similarity index 100% rename from ui/_legacy/src/components/bulma/Breadcrumbs.vue rename to ui/src/components/bulma/Breadcrumbs.vue diff --git a/ui/_legacy/src/components/bulma/Button.vue b/ui/src/components/bulma/Button.vue similarity index 100% rename from ui/_legacy/src/components/bulma/Button.vue rename to ui/src/components/bulma/Button.vue diff --git a/ui/_legacy/src/components/bulma/Drawer.vue b/ui/src/components/bulma/Drawer.vue similarity index 100% rename from ui/_legacy/src/components/bulma/Drawer.vue rename to ui/src/components/bulma/Drawer.vue diff --git a/ui/_legacy/src/components/bulma/Secret.vue b/ui/src/components/bulma/Secret.vue similarity index 100% rename from ui/_legacy/src/components/bulma/Secret.vue rename to ui/src/components/bulma/Secret.vue diff --git a/ui/_legacy/src/components/bulma/Toast.vue b/ui/src/components/bulma/Toast.vue similarity index 100% rename from ui/_legacy/src/components/bulma/Toast.vue rename to ui/src/components/bulma/Toast.vue diff --git a/ui/_legacy/src/components/calendar/CalendarDoor.vue b/ui/src/components/calendar/CalendarDoor.vue similarity index 100% rename from ui/_legacy/src/components/calendar/CalendarDoor.vue rename to ui/src/components/calendar/CalendarDoor.vue diff --git a/ui/_legacy/src/components/calendar/SVGRect.vue b/ui/src/components/calendar/SVGRect.vue similarity index 100% rename from ui/_legacy/src/components/calendar/SVGRect.vue rename to ui/src/components/calendar/SVGRect.vue diff --git a/ui/_legacy/src/components/calendar/ThouCanvas.vue b/ui/src/components/calendar/ThouCanvas.vue similarity index 100% rename from ui/_legacy/src/components/calendar/ThouCanvas.vue rename to ui/src/components/calendar/ThouCanvas.vue diff --git a/ui/_legacy/src/components/editor/DoorCanvas.vue b/ui/src/components/editor/DoorCanvas.vue similarity index 100% rename from ui/_legacy/src/components/editor/DoorCanvas.vue rename to ui/src/components/editor/DoorCanvas.vue diff --git a/ui/_legacy/src/components/editor/DoorChooser.vue b/ui/src/components/editor/DoorChooser.vue similarity index 100% rename from ui/_legacy/src/components/editor/DoorChooser.vue rename to ui/src/components/editor/DoorChooser.vue diff --git a/ui/_legacy/src/components/editor/DoorPlacer.vue b/ui/src/components/editor/DoorPlacer.vue similarity index 100% rename from ui/_legacy/src/components/editor/DoorPlacer.vue rename to ui/src/components/editor/DoorPlacer.vue diff --git a/ui/_legacy/src/components/editor/PreviewDoor.vue b/ui/src/components/editor/PreviewDoor.vue similarity index 100% rename from ui/_legacy/src/components/editor/PreviewDoor.vue rename to ui/src/components/editor/PreviewDoor.vue diff --git a/ui/_legacy/src/lib/api.ts b/ui/src/lib/api.ts similarity index 100% rename from ui/_legacy/src/lib/api.ts rename to ui/src/lib/api.ts diff --git a/ui/_legacy/src/lib/api_error.ts b/ui/src/lib/api_error.ts similarity index 100% rename from ui/_legacy/src/lib/api_error.ts rename to ui/src/lib/api_error.ts diff --git a/ui/_legacy/src/lib/fontawesome.ts b/ui/src/lib/fontawesome.ts similarity index 100% rename from ui/_legacy/src/lib/fontawesome.ts rename to ui/src/lib/fontawesome.ts diff --git a/ui/_legacy/src/lib/helpers.ts b/ui/src/lib/helpers.ts similarity index 100% rename from ui/_legacy/src/lib/helpers.ts rename to ui/src/lib/helpers.ts diff --git a/ui/_legacy/src/lib/model.ts b/ui/src/lib/model.ts similarity index 100% rename from ui/_legacy/src/lib/model.ts rename to ui/src/lib/model.ts diff --git a/ui/_legacy/src/lib/rects/door.ts b/ui/src/lib/rects/door.ts similarity index 100% rename from ui/_legacy/src/lib/rects/door.ts rename to ui/src/lib/rects/door.ts diff --git a/ui/_legacy/src/lib/rects/rectangle.ts b/ui/src/lib/rects/rectangle.ts similarity index 100% rename from ui/_legacy/src/lib/rects/rectangle.ts rename to ui/src/lib/rects/rectangle.ts diff --git a/ui/_legacy/src/lib/rects/vector2d.ts b/ui/src/lib/rects/vector2d.ts similarity index 100% rename from ui/_legacy/src/lib/rects/vector2d.ts rename to ui/src/lib/rects/vector2d.ts diff --git a/ui/_legacy/src/lib/store.ts b/ui/src/lib/store.ts similarity index 100% rename from ui/_legacy/src/lib/store.ts rename to ui/src/lib/store.ts diff --git a/ui/_legacy/src/main.scss b/ui/src/main.scss similarity index 100% rename from ui/_legacy/src/main.scss rename to ui/src/main.scss diff --git a/ui/src/main.ts b/ui/src/main.ts index 5f77a89..bc4d049 100644 --- a/ui/src/main.ts +++ b/ui/src/main.ts @@ -1,9 +1,27 @@ -import { createApp } from 'vue' -import { createPinia } from 'pinia' -import App from './App.vue' +import FontAwesomeIcon from "@/lib/fontawesome"; +import { advent22Store } from "@/lib/store"; +import { setDefaults as toast_set_defaults } from "bulma-toast"; +import { createPinia } from "pinia"; +import { createApp } from "vue"; +import App from "./App.vue"; -const app = createApp(App) +import "@/main.scss"; -app.use(createPinia()) +const app = createApp(App); -app.mount('#app') +app.use(createPinia()); +app.component("FontAwesomeIcon", FontAwesomeIcon); + +advent22Store().init(); + +app.mount("#app"); + +toast_set_defaults({ + duration: 10e3, + pauseOnHover: true, + dismissible: true, + closeOnClick: false, + type: "is-white", + position: "top-center", + animate: { in: "backInDown", out: "backOutUp" }, +}); diff --git a/ui/yarn.lock b/ui/yarn.lock index efc8b99..6d81f7b 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -389,6 +389,13 @@ __metadata: languageName: node linkType: hard +"@bufbuild/protobuf@npm:^2.5.0": + version: 2.11.0 + resolution: "@bufbuild/protobuf@npm:2.11.0" + checksum: 10c0/d54fffd414660b823999cc321d26bd6c5f18a6e75343fc7d2588bda5be540ec542b557ac1f03d6d4b6e9d3e5596b2016e58cda173cd1858c043f0e846ece453f + languageName: node + linkType: hard + "@csstools/color-helpers@npm:^6.0.1": version: 6.0.1 resolution: "@csstools/color-helpers@npm:6.0.1" @@ -724,6 +731,41 @@ __metadata: languageName: node linkType: hard +"@fortawesome/fontawesome-common-types@npm:7.2.0": + version: 7.2.0 + resolution: "@fortawesome/fontawesome-common-types@npm:7.2.0" + checksum: 10c0/991ca1390c078d973e92034cf7dbae2fc3aa50cd7ff322b7b23e4c54ec84dae12979bada9a782bdaea11a1577ae74d802aa651c590f41d2e1b1126c17e6cd413 + languageName: node + linkType: hard + +"@fortawesome/fontawesome-svg-core@npm:^7.2.0": + version: 7.2.0 + resolution: "@fortawesome/fontawesome-svg-core@npm:7.2.0" + dependencies: + "@fortawesome/fontawesome-common-types": "npm:7.2.0" + checksum: 10c0/5c6655b030254804999eb87b96111cdcc42c0789e6e9ea13bc1e37d5ebf9fb982c79a618b68272cc59c23c4e1abf73d487e747a17a61499eac5f9f528fc54ad4 + languageName: node + linkType: hard + +"@fortawesome/free-solid-svg-icons@npm:^7.2.0": + version: 7.2.0 + resolution: "@fortawesome/free-solid-svg-icons@npm:7.2.0" + dependencies: + "@fortawesome/fontawesome-common-types": "npm:7.2.0" + checksum: 10c0/922ffe0f53b3cebcf36a4a6872958e7d6a0fbaa5c5c73cddbdea9301181fe8625331a0bf8aa09ca54c4d284805473e38d0eb9f06da05546f1914cec2c062343f + languageName: node + linkType: hard + +"@fortawesome/vue-fontawesome@npm:^3.1.3": + version: 3.1.3 + resolution: "@fortawesome/vue-fontawesome@npm:3.1.3" + peerDependencies: + "@fortawesome/fontawesome-svg-core": ~1 || ~6 || ~7 + vue: ">= 3.0.0 < 4" + checksum: 10c0/3d4a9ba2b30e1b12a904e95bbcc8b76d28830ba9ea1cecaffd7300454193ea1978249a6b9c448727a730caf9a33ec4f482dd8385ea8275d21c2e9ef37b56350b + languageName: node + linkType: hard + "@humanfs/core@npm:^0.19.1": version: 0.19.1 resolution: "@humanfs/core@npm:0.19.1" @@ -1011,6 +1053,150 @@ __metadata: languageName: node linkType: hard +"@parcel/watcher-android-arm64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-android-arm64@npm:2.5.6" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-arm64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-darwin-arm64@npm:2.5.6" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-darwin-x64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-darwin-x64@npm:2.5.6" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-freebsd-x64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-freebsd-x64@npm:2.5.6" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-glibc@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-arm-glibc@npm:2.5.6" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm-musl@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-arm-musl@npm:2.5.6" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-glibc@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.5.6" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-arm64-musl@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-arm64-musl@npm:2.5.6" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-glibc@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-x64-glibc@npm:2.5.6" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@parcel/watcher-linux-x64-musl@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-linux-x64-musl@npm:2.5.6" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@parcel/watcher-win32-arm64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-win32-arm64@npm:2.5.6" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@parcel/watcher-win32-ia32@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-win32-ia32@npm:2.5.6" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@parcel/watcher-win32-x64@npm:2.5.6": + version: 2.5.6 + resolution: "@parcel/watcher-win32-x64@npm:2.5.6" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@parcel/watcher@npm:^2.4.1": + version: 2.5.6 + resolution: "@parcel/watcher@npm:2.5.6" + dependencies: + "@parcel/watcher-android-arm64": "npm:2.5.6" + "@parcel/watcher-darwin-arm64": "npm:2.5.6" + "@parcel/watcher-darwin-x64": "npm:2.5.6" + "@parcel/watcher-freebsd-x64": "npm:2.5.6" + "@parcel/watcher-linux-arm-glibc": "npm:2.5.6" + "@parcel/watcher-linux-arm-musl": "npm:2.5.6" + "@parcel/watcher-linux-arm64-glibc": "npm:2.5.6" + "@parcel/watcher-linux-arm64-musl": "npm:2.5.6" + "@parcel/watcher-linux-x64-glibc": "npm:2.5.6" + "@parcel/watcher-linux-x64-musl": "npm:2.5.6" + "@parcel/watcher-win32-arm64": "npm:2.5.6" + "@parcel/watcher-win32-ia32": "npm:2.5.6" + "@parcel/watcher-win32-x64": "npm:2.5.6" + detect-libc: "npm:^2.0.3" + is-glob: "npm:^4.0.3" + node-addon-api: "npm:^7.0.0" + node-gyp: "npm:latest" + picomatch: "npm:^4.0.3" + dependenciesMeta: + "@parcel/watcher-android-arm64": + optional: true + "@parcel/watcher-darwin-arm64": + optional: true + "@parcel/watcher-darwin-x64": + optional: true + "@parcel/watcher-freebsd-x64": + optional: true + "@parcel/watcher-linux-arm-glibc": + optional: true + "@parcel/watcher-linux-arm-musl": + optional: true + "@parcel/watcher-linux-arm64-glibc": + optional: true + "@parcel/watcher-linux-arm64-musl": + optional: true + "@parcel/watcher-linux-x64-glibc": + optional: true + "@parcel/watcher-linux-x64-musl": + optional: true + "@parcel/watcher-win32-arm64": + optional: true + "@parcel/watcher-win32-ia32": + optional: true + "@parcel/watcher-win32-x64": + optional: true + checksum: 10c0/1e1d91f92e94e4640089a7cead243b2b81ca9aa8e1c862a97a25f589e84fbf1ad93abeb503f325c43a8c0e024ae0e74b48ec42c1cd84e8e423a3a87d25ded4f2 + languageName: node + linkType: hard + "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -1270,6 +1456,13 @@ __metadata: languageName: node linkType: hard +"@types/luxon@npm:^3": + version: 3.7.1 + resolution: "@types/luxon@npm:3.7.1" + checksum: 10c0/2db30c13b58adcd86daa447faa3ba59515fe907ead8ee3e6bb716d662812af0619d712f6c1eb190cdd7f9d2c00444c3ecd80af0f36e8143eb0c5e7339d6b2aca + languageName: node + linkType: hard + "@types/node@npm:*, @types/node@npm:^25.3.0": version: 25.3.0 resolution: "@types/node@npm:25.3.0" @@ -1871,24 +2064,34 @@ __metadata: version: 0.0.0-use.local resolution: "advent22_ui@workspace:." dependencies: + "@fortawesome/fontawesome-svg-core": "npm:^7.2.0" + "@fortawesome/free-solid-svg-icons": "npm:^7.2.0" + "@fortawesome/vue-fontawesome": "npm:^3.1.3" "@tsconfig/node24": "npm:^24.0.4" "@types/jsdom": "npm:^27.0.0" + "@types/luxon": "npm:^3" "@types/node": "npm:^25.3.0" "@vitejs/plugin-vue": "npm:^6.0.4" "@vitest/eslint-plugin": "npm:^1.6.9" "@vue/eslint-config-typescript": "npm:^14.6.0" "@vue/test-utils": "npm:^2.4.6" "@vue/tsconfig": "npm:^0.8.1" + animate.css: "npm:^4.1.1" + axios: "npm:^1.13.5" + bulma: "npm:^1.0.4" + bulma-toast: "npm:2.4.3" eslint: "npm:^9.39.2" eslint-config-prettier: "npm:^10.1.8" eslint-plugin-oxlint: "npm:~1.46.0" eslint-plugin-vue: "npm:~10.8.0" jiti: "npm:^2.6.1" jsdom: "npm:^28.1.0" + luxon: "npm:^3.7.2" npm-run-all2: "npm:^8.0.4" oxlint: "npm:~1.47.0" pinia: "npm:^3.0.4" prettier: "npm:3.8.1" + sass-embedded: "npm:^1.97.3" typescript: "npm:~5.9.3" vite: "npm:^7.3.1" vite-plugin-vue-devtools: "npm:^8.0.6" @@ -1924,6 +2127,13 @@ __metadata: languageName: node linkType: hard +"animate.css@npm:^4.1.1": + version: 4.1.1 + resolution: "animate.css@npm:4.1.1" + checksum: 10c0/28fcf5a5f502e4c12186846d22aa1cd63b835955160a97116930c78bff8a89135aa5c57f94010252a29456ada7cfc8ed8791cac02521ec6402befaf883937159 + languageName: node + linkType: hard + "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -1975,6 +2185,38 @@ __metadata: languageName: node linkType: hard +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 + languageName: node + linkType: hard + +"async-generator-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-generator-function@npm:1.0.0" + checksum: 10c0/2c50ef856c543ad500d8d8777d347e3c1ba623b93e99c9263ecc5f965c1b12d2a140e2ab6e43c3d0b85366110696f28114649411cbcd10b452a92a2318394186 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"axios@npm:^1.13.5": + version: 1.13.5 + resolution: "axios@npm:1.13.5" + dependencies: + follow-redirects: "npm:^1.15.11" + form-data: "npm:^4.0.5" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/abf468c34f2d145f3dc7dbc0f1be67e520630624307bda69a41bbe8d386bd672d87b4405c4ee77f9ff54b235ab02f96a9968fb00e75b13ce64706e352a3068fd + languageName: node + linkType: hard + "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -2073,6 +2315,20 @@ __metadata: languageName: node linkType: hard +"bulma-toast@npm:2.4.3": + version: 2.4.3 + resolution: "bulma-toast@npm:2.4.3" + checksum: 10c0/40dd9668643338496eb28caca9b772a6002d9c6fbdc5d76237cbdaaa8f56c8ced39965705f92f5d5a29f3e6df57f70a8fa311cf05c14075aacf93f96f7338470 + languageName: node + linkType: hard + +"bulma@npm:^1.0.4": + version: 1.0.4 + resolution: "bulma@npm:1.0.4" + checksum: 10c0/5a9bf48c6681181fce6fe06d1744272938cc81d4356314d9c4eee3ddbd1fac6ac678cb640b2fe58aec47f907ff273231b246b9cd66d1894b40c3a89a68fb3a68 + languageName: node + linkType: hard + "bundle-name@npm:^4.1.0": version: 4.1.0 resolution: "bundle-name@npm:4.1.0" @@ -2101,6 +2357,16 @@ __metadata: languageName: node linkType: hard +"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -2132,6 +2398,15 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^4.0.0": + version: 4.0.3 + resolution: "chokidar@npm:4.0.3" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10c0/a58b9df05bb452f7d105d9e7229ac82fa873741c0c40ddcc7bb82f8a909fbe3f7814c9ebe9bc9a2bef9b737c0ec6e2d699d179048ef06ad3ec46315df0ebe6ad + languageName: node + linkType: hard + "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -2155,6 +2430,22 @@ __metadata: languageName: node linkType: hard +"colorjs.io@npm:^0.5.0": + version: 0.5.2 + resolution: "colorjs.io@npm:0.5.2" + checksum: 10c0/2e6ea43629e325e721b92429239de3a6f42fb6d88ba6e4c2aeff0288c196d876f2f7ee82aea95bd40072d5cdc8cb87f042f4d94c134dcabf0e34a717e4caacb9 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + "commander@npm:^10.0.0": version: 10.0.1 resolution: "commander@npm:10.0.1" @@ -2304,6 +2595,31 @@ __metadata: languageName: node linkType: hard +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.3": + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 + languageName: node + linkType: hard + +"dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -2390,6 +2706,20 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + "es-module-lexer@npm:^1.7.0": version: 1.7.0 resolution: "es-module-lexer@npm:1.7.0" @@ -2397,6 +2727,27 @@ __metadata: languageName: node linkType: hard +"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" + dependencies: + es-errors: "npm:^1.3.0" + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af + languageName: node + linkType: hard + "esbuild@npm:^0.27.0": version: 0.27.3 resolution: "esbuild@npm:0.27.3" @@ -2820,6 +3171,16 @@ __metadata: languageName: node linkType: hard +"follow-redirects@npm:^1.15.11": + version: 1.15.11 + resolution: "follow-redirects@npm:1.15.11" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/d301f430542520a54058d4aeeb453233c564aaccac835d29d15e050beb33f339ad67d9bddbce01739c5dc46a6716dbe3d9d0d5134b1ca203effa11a7ef092343 + languageName: node + linkType: hard + "foreground-child@npm:^3.1.0": version: 3.3.1 resolution: "foreground-child@npm:3.3.1" @@ -2830,6 +3191,19 @@ __metadata: languageName: node linkType: hard +"form-data@npm:^4.0.5": + version: 4.0.5 + resolution: "form-data@npm:4.0.5" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" + mime-types: "npm:^2.1.12" + checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b + languageName: node + linkType: hard + "fs-minipass@npm:^3.0.0": version: 3.0.3 resolution: "fs-minipass@npm:3.0.3" @@ -2858,6 +3232,20 @@ __metadata: languageName: node linkType: hard +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"generator-function@npm:^2.0.0": + version: 2.0.1 + resolution: "generator-function@npm:2.0.1" + checksum: 10c0/8a9f59df0f01cfefafdb3b451b80555e5cf6d76487095db91ac461a0e682e4ff7a9dbce15f4ecec191e53586d59eece01949e05a4b4492879600bbbe8e28d6b8 + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -2865,6 +3253,37 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.2.6": + version: 1.3.1 + resolution: "get-intrinsic@npm:1.3.1" + dependencies: + async-function: "npm:^1.0.0" + async-generator-function: "npm:^1.0.0" + call-bind-apply-helpers: "npm:^1.0.2" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + function-bind: "npm:^1.1.2" + generator-function: "npm:^2.0.0" + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/9f4ab0cf7efe0fd2c8185f52e6f637e708f3a112610c88869f8f041bb9ecc2ce44bf285dfdbdc6f4f7c277a5b88d8e94a432374d97cca22f3de7fc63795deb5d + languageName: node + linkType: hard + +"get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c + languageName: node + linkType: hard + "glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -2917,6 +3336,13 @@ __metadata: languageName: node linkType: hard +"gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + "graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" @@ -2931,6 +3357,31 @@ __metadata: languageName: node linkType: hard +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c + languageName: node + linkType: hard + +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + "hookable@npm:^5.5.3": version: 5.5.3 resolution: "hookable@npm:5.5.3" @@ -2997,6 +3448,13 @@ __metadata: languageName: node linkType: hard +"immutable@npm:^5.0.2": + version: 5.1.4 + resolution: "immutable@npm:5.1.4" + checksum: 10c0/f1c98382e4cde14a0b218be3b9b2f8441888da8df3b8c064aa756071da55fbed6ad696e5959982508456332419be9fdeaf29b2e58d0eadc45483cc16963c0446 + languageName: node + linkType: hard + "import-fresh@npm:^3.2.1": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" @@ -3338,6 +3796,13 @@ __metadata: languageName: node linkType: hard +"luxon@npm:^3.7.2": + version: 3.7.2 + resolution: "luxon@npm:3.7.2" + checksum: 10c0/ed8f0f637826c08c343a29dd478b00628be93bba6f068417b1d8896b61cb61c6deacbe1df1e057dbd9298334044afa150f9aaabbeb3181418ac8520acfdc2ae2 + languageName: node + linkType: hard + "magic-string@npm:^0.30.21, magic-string@npm:^0.30.4": version: 0.30.21 resolution: "magic-string@npm:0.30.21" @@ -3366,6 +3831,13 @@ __metadata: languageName: node linkType: hard +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + "mdn-data@npm:2.12.2": version: 2.12.2 resolution: "mdn-data@npm:2.12.2" @@ -3397,6 +3869,22 @@ __metadata: languageName: node linkType: hard +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + "minimatch@npm:9.0.1": version: 9.0.1 resolution: "minimatch@npm:9.0.1" @@ -3569,6 +4057,15 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^7.0.0": + version: 7.1.1 + resolution: "node-addon-api@npm:7.1.1" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 12.2.0 resolution: "node-gyp@npm:12.2.0" @@ -3995,6 +4492,13 @@ __metadata: languageName: node linkType: hard +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" @@ -4019,6 +4523,13 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:^4.0.1": + version: 4.1.2 + resolution: "readdirp@npm:4.1.2" + checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62 + languageName: node + linkType: hard + "require-from-string@npm:^2.0.2": version: 2.0.2 resolution: "require-from-string@npm:2.0.2" @@ -4160,6 +4671,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^7.4.0": + version: 7.8.2 + resolution: "rxjs@npm:7.8.2" + dependencies: + tslib: "npm:^2.1.0" + checksum: 10c0/1fcd33d2066ada98ba8f21fcbbcaee9f0b271de1d38dc7f4e256bfbc6ffcdde68c8bfb69093de7eeb46f24b1fb820620bf0223706cff26b4ab99a7ff7b2e2c45 + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -4167,6 +4687,225 @@ __metadata: languageName: node linkType: hard +"sass-embedded-all-unknown@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-all-unknown@npm:1.97.3" + dependencies: + sass: "npm:1.97.3" + conditions: (!cpu=arm | !cpu=arm64 | !cpu=riscv64 | !cpu=x64) + languageName: node + linkType: hard + +"sass-embedded-android-arm64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-android-arm64@npm:1.97.3" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"sass-embedded-android-arm@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-android-arm@npm:1.97.3" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"sass-embedded-android-riscv64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-android-riscv64@npm:1.97.3" + conditions: os=android & cpu=riscv64 + languageName: node + linkType: hard + +"sass-embedded-android-x64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-android-x64@npm:1.97.3" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"sass-embedded-darwin-arm64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-darwin-arm64@npm:1.97.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"sass-embedded-darwin-x64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-darwin-x64@npm:1.97.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"sass-embedded-linux-arm64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-arm64@npm:1.97.3" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"sass-embedded-linux-arm@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-arm@npm:1.97.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"sass-embedded-linux-musl-arm64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-musl-arm64@npm:1.97.3" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"sass-embedded-linux-musl-arm@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-musl-arm@npm:1.97.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"sass-embedded-linux-musl-riscv64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-musl-riscv64@npm:1.97.3" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"sass-embedded-linux-musl-x64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-musl-x64@npm:1.97.3" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"sass-embedded-linux-riscv64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-riscv64@npm:1.97.3" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"sass-embedded-linux-x64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-linux-x64@npm:1.97.3" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"sass-embedded-unknown-all@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-unknown-all@npm:1.97.3" + dependencies: + sass: "npm:1.97.3" + conditions: (!os=android | !os=darwin | !os=linux | !os=win32) + languageName: node + linkType: hard + +"sass-embedded-win32-arm64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-win32-arm64@npm:1.97.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"sass-embedded-win32-x64@npm:1.97.3": + version: 1.97.3 + resolution: "sass-embedded-win32-x64@npm:1.97.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"sass-embedded@npm:^1.97.3": + version: 1.97.3 + resolution: "sass-embedded@npm:1.97.3" + dependencies: + "@bufbuild/protobuf": "npm:^2.5.0" + colorjs.io: "npm:^0.5.0" + immutable: "npm:^5.0.2" + rxjs: "npm:^7.4.0" + sass-embedded-all-unknown: "npm:1.97.3" + sass-embedded-android-arm: "npm:1.97.3" + sass-embedded-android-arm64: "npm:1.97.3" + sass-embedded-android-riscv64: "npm:1.97.3" + sass-embedded-android-x64: "npm:1.97.3" + sass-embedded-darwin-arm64: "npm:1.97.3" + sass-embedded-darwin-x64: "npm:1.97.3" + sass-embedded-linux-arm: "npm:1.97.3" + sass-embedded-linux-arm64: "npm:1.97.3" + sass-embedded-linux-musl-arm: "npm:1.97.3" + sass-embedded-linux-musl-arm64: "npm:1.97.3" + sass-embedded-linux-musl-riscv64: "npm:1.97.3" + sass-embedded-linux-musl-x64: "npm:1.97.3" + sass-embedded-linux-riscv64: "npm:1.97.3" + sass-embedded-linux-x64: "npm:1.97.3" + sass-embedded-unknown-all: "npm:1.97.3" + sass-embedded-win32-arm64: "npm:1.97.3" + sass-embedded-win32-x64: "npm:1.97.3" + supports-color: "npm:^8.1.1" + sync-child-process: "npm:^1.0.2" + varint: "npm:^6.0.0" + dependenciesMeta: + sass-embedded-all-unknown: + optional: true + sass-embedded-android-arm: + optional: true + sass-embedded-android-arm64: + optional: true + sass-embedded-android-riscv64: + optional: true + sass-embedded-android-x64: + optional: true + sass-embedded-darwin-arm64: + optional: true + sass-embedded-darwin-x64: + optional: true + sass-embedded-linux-arm: + optional: true + sass-embedded-linux-arm64: + optional: true + sass-embedded-linux-musl-arm: + optional: true + sass-embedded-linux-musl-arm64: + optional: true + sass-embedded-linux-musl-riscv64: + optional: true + sass-embedded-linux-musl-x64: + optional: true + sass-embedded-linux-riscv64: + optional: true + sass-embedded-linux-x64: + optional: true + sass-embedded-unknown-all: + optional: true + sass-embedded-win32-arm64: + optional: true + sass-embedded-win32-x64: + optional: true + bin: + sass: dist/bin/sass.js + checksum: 10c0/fa77ece156f7eecfbefee6ece9c614464fc5231611ccdaf89f03a72357ea961dd16ace6d519c44293689cfce8701b4309ff13ad7cbb973e1dc48aa1534b3241a + languageName: node + linkType: hard + +"sass@npm:1.97.3": + version: 1.97.3 + resolution: "sass@npm:1.97.3" + dependencies: + "@parcel/watcher": "npm:^2.4.1" + chokidar: "npm:^4.0.0" + immutable: "npm:^5.0.2" + source-map-js: "npm:>=0.6.2 <2.0.0" + dependenciesMeta: + "@parcel/watcher": + optional: true + bin: + sass: sass.js + checksum: 10c0/67f6b5d220f20c1c23a8b16dda5fd1c5d119ad5caf8195b185d553b5b239fb188a3787f04fc00171c62515f2c4e5e0eb5ad4992a80f8543428556883c1240ba3 + languageName: node + linkType: hard + "saxes@npm:^6.0.0": version: 6.0.0 resolution: "saxes@npm:6.0.0" @@ -4270,7 +5009,7 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": +"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf @@ -4372,6 +5111,15 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -4379,6 +5127,22 @@ __metadata: languageName: node linkType: hard +"sync-child-process@npm:^1.0.2": + version: 1.0.2 + resolution: "sync-child-process@npm:1.0.2" + dependencies: + sync-message-port: "npm:^1.0.0" + checksum: 10c0/f73c87251346fba28da8ac5bc8ed4c9474504a5250ab4bd44582beae8e25c230e0a5b7b16076488fee1aed39a1865de5ed4cec19c6fa4efdbb1081c514615170 + languageName: node + linkType: hard + +"sync-message-port@npm:^1.0.0": + version: 1.2.0 + resolution: "sync-message-port@npm:1.2.0" + checksum: 10c0/31071ccc1e1607649aab5f1d283b0b6544632b9e8c2e8afedae394a0e97c1454978d0e415d664db8e3b1ae48a9c4cdba8d39e79edcb86c517be06123a110efae + languageName: node + linkType: hard + "tar@npm:^7.5.4": version: 7.5.9 resolution: "tar@npm:7.5.9" @@ -4484,6 +5248,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.1.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -4600,6 +5371,13 @@ __metadata: languageName: node linkType: hard +"varint@npm:^6.0.0": + version: 6.0.0 + resolution: "varint@npm:6.0.0" + checksum: 10c0/737fc37088a62ed3bd21466e318d21ca7ac4991d0f25546f518f017703be4ed0f9df1c5559f1dd533dddba4435a1b758fd9230e4772c1a930ef72b42f5c750fd + languageName: node + linkType: hard + "vite-dev-rpc@npm:^1.1.0": version: 1.1.0 resolution: "vite-dev-rpc@npm:1.1.0"