├── pnpm-workspace.yaml
├── .npmrc
├── .github
└── FUNDING.yml
├── .npmignore
├── .prettierrc.json
├── demo
├── assets
│ └── images
│ │ ├── example.png
│ │ ├── v3-logo.png
│ │ └── google-drive.png
├── index.ts
├── package.json
├── index.html
├── vite.config.js
├── components
│ ├── TextInput.vue
│ ├── PrismCode.js
│ └── Switch.vue
├── plugins
│ └── vuetify.js
├── helpers
│ ├── codeExamples.js
│ └── sampleData.js
├── partials
│ └── header.vue
└── App.vue
├── postcss.config.js
├── src
├── global.d.ts
├── index.js
├── eventbus.js
├── service.js
├── Vue3Snackbar.vue
├── Vue3SnackbarMessage.vue
├── props.js
└── style.postcss
├── .gitignore
├── vite.config.js
├── tsconfig.json
├── eslint.config.js
├── LICENCE
├── README.md
├── package.json
└── pnpm-lock.yaml
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - demo
3 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | //registry.npmjs.org/:_authToken=${NPM_TOKEN_CR}
2 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: craigrileyuk
2 | buy_me_a_coffee: craigrileyuk
3 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | demo
2 | node_modules
3 | src
4 | .gitignore
5 | .github
6 | *.config.js
7 | *.tgz
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "tabWidth": 4,
4 | "printWidth": 120
5 | }
6 |
--------------------------------------------------------------------------------
/demo/assets/images/example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/evo-mark/vue3-snackbar/HEAD/demo/assets/images/example.png
--------------------------------------------------------------------------------
/demo/assets/images/v3-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/evo-mark/vue3-snackbar/HEAD/demo/assets/images/v3-logo.png
--------------------------------------------------------------------------------
/demo/assets/images/google-drive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/evo-mark/vue3-snackbar/HEAD/demo/assets/images/google-drive.png
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | import PostcssNested from "postcss-nested";
2 |
3 | export default {
4 | plugins: [PostcssNested()],
5 | };
6 |
--------------------------------------------------------------------------------
/src/global.d.ts:
--------------------------------------------------------------------------------
1 | import { SnackbarService } from "./service";
2 |
3 | declare module "vue" {
4 | interface ComponentCustomProperties {
5 | /** @type {SnackbarService} */
6 | $snackbar: SnackbarService;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | /** @typedef { import("./props.js").SnackbarMessage} SnackbarMessage */
2 |
3 | export { default as Vue3Snackbar } from "./Vue3Snackbar.vue";
4 | export { useSnackbar, SnackbarService, messages as SnackbarMessages } from "./service.js";
5 |
--------------------------------------------------------------------------------
/demo/index.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from "vue";
2 | import { SnackbarService } from "vue3-snackbar";
3 | import App from "./App.vue";
4 |
5 | import vuetify from "./plugins/vuetify";
6 | import "vue3-snackbar/styles";
7 |
8 | const app = createApp(App);
9 |
10 | app.use(SnackbarService);
11 | app.use(vuetify);
12 |
13 | app.mount("#app");
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | dist
4 | src-next
5 | demo-next
6 |
7 | # local env files
8 | .env.local
9 | .env.*.local
10 |
11 | # Log files
12 | npm-debug.log*
13 | yarn-debug.log*
14 | yarn-error.log*
15 | pnpm-debug.log*
16 |
17 | # Editor directories and files
18 | .idea
19 | .vscode
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 | *.tgz
26 |
27 | types
28 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import vue from "@vitejs/plugin-vue";
2 | import path from "path";
3 |
4 | export default {
5 | plugins: [vue()],
6 | build: {
7 | lib: {
8 | entry: path.resolve("./src/index.js"),
9 | name: "Vue3Snackbar",
10 | formats: ["es", "umd", "cjs", "iife"],
11 | },
12 | rollupOptions: {
13 | external: ["vue"],
14 | output: {
15 | globals: {
16 | vue: "Vue",
17 | },
18 | },
19 | },
20 | },
21 | };
22 |
--------------------------------------------------------------------------------
/src/eventbus.js:
--------------------------------------------------------------------------------
1 | /* *********************************************************
2 | * Creates an event bus for use within a Vue 3 application
3 | ********************************************************* */
4 |
5 | import emitter from "tiny-emitter/instance";
6 |
7 | export default {
8 | $on: (...args) => emitter.on(...args),
9 | $once: (...args) => emitter.once(...args),
10 | $off: (...args) => emitter.off(...args),
11 | $emit: (...args) => emitter.emit(...args),
12 | };
13 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.js", "src/**/*.vue"],
3 | "compilerOptions": {
4 | "module": "esnext",
5 | "types": ["./src/global.d.ts"],
6 | "target": "esnext",
7 | "declaration": true,
8 | "esModuleInterop": true,
9 | "jsx": "preserve",
10 | "allowJs": true,
11 | "skipLibCheck": true,
12 | "moduleResolution": "node",
13 | "emitDeclarationOnly": true,
14 | "allowSyntheticDefaultImports": true,
15 | "outDir": "types",
16 | "declarationMap": true
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "type": "module",
7 | "scripts": {
8 | "dev": "vite",
9 | "build": "vite build",
10 | "preview": "vite preview"
11 | },
12 | "keywords": [],
13 | "author": "",
14 | "license": "ISC",
15 | "dependencies": {
16 | "vue": "^3.5.21",
17 | "vue3-snackbar": "link:..",
18 | "vuetify": "^3.9.6"
19 | },
20 | "devDependencies": {
21 | "@vitejs/plugin-vue": "^6.0.1",
22 | "vite-plugin-vuetify": "^2.1.2"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Vue3-Snackbar: Demonstration
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/eslint.config.js:
--------------------------------------------------------------------------------
1 | import configPrettier from "eslint-config-prettier";
2 | import pluginVue from "eslint-plugin-vue";
3 | import globals from "globals";
4 | import js from "@eslint/js";
5 | import { defineConfig, globalIgnores } from "eslint/config";
6 |
7 | export default defineConfig([
8 | globalIgnores([".gitignore"]),
9 | {
10 | files: ["src/**/*.js", "src/**/*.vue"],
11 | },
12 | js.configs.recommended,
13 | ...pluginVue.configs["flat/recommended"],
14 | configPrettier,
15 | {
16 | languageOptions: {
17 | globals: {
18 | ...globals.es2021,
19 | ...globals.browser,
20 | },
21 | },
22 | },
23 | ]);
24 |
--------------------------------------------------------------------------------
/demo/vite.config.js:
--------------------------------------------------------------------------------
1 | import vue from "@vitejs/plugin-vue";
2 | import { defineConfig } from "vite";
3 | import vuetify from "vite-plugin-vuetify";
4 | import { resolve as resolvePath } from "node:path";
5 |
6 | export default defineConfig(({ mode }) => {
7 | const resolve =
8 | mode === "development"
9 | ? {
10 | alias: {
11 | "vue3-snackbar/styles": resolvePath("../src/style.postcss"),
12 | "vue3-snackbar": resolvePath("../src"),
13 | },
14 | }
15 | : {};
16 | return {
17 | base: "/vue3-snackbar/",
18 | assetsDir: "",
19 | resolve,
20 | plugins: [vue(), vuetify({ autoImport: true })],
21 | };
22 | });
23 |
--------------------------------------------------------------------------------
/demo/components/TextInput.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ label }}
4 |
10 |
11 |
12 |
13 |
30 |
31 |
38 |
--------------------------------------------------------------------------------
/demo/plugins/vuetify.js:
--------------------------------------------------------------------------------
1 | import "vuetify/styles";
2 | import { createVuetify } from "vuetify";
3 | import { aliases, mdi } from "vuetify/lib/iconsets/mdi-svg";
4 |
5 | const vueLightTheme = {
6 | dark: false,
7 | colors: {
8 | primary: "#41b883",
9 | secondary: "#34495e",
10 | accent: "#fffde7",
11 | },
12 | variables: {},
13 | };
14 |
15 | export default createVuetify({
16 | icons: {
17 | defaultSet: "mdi",
18 | aliases,
19 | sets: {
20 | mdi,
21 | },
22 | },
23 | theme: {
24 | defaultTheme: "vueLightTheme",
25 | themes: {
26 | vueLightTheme,
27 | },
28 | },
29 | defaults: {
30 | VColorInput: {
31 | pipLocation: "prepend-inner",
32 | pipVariant: "outlined",
33 | colorPip: true,
34 | landscape: true,
35 | mode: "hexa",
36 | modes: ["hexa"],
37 | showSwatches: true,
38 | },
39 | },
40 | });
41 |
--------------------------------------------------------------------------------
/LICENCE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright © 2021 Craig Riley
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10 |
--------------------------------------------------------------------------------
/demo/helpers/codeExamples.js:
--------------------------------------------------------------------------------
1 | export const mainJs = `// main.js
2 | import { createApp } from "vue";
3 | import { SnackbarService, Vue3Snackbar } from "vue3-snackbar";
4 | import "vue3-snackbar/styles";
5 | import App from "./App.vue";
6 | const app = createApp(App);
7 | app.use(SnackbarService);
8 | app.component("vue3-snackbar", Vue3Snackbar);
9 | app.mount("#app");`;
10 |
11 | export const appTemplate = `
12 |
13 |
14 | `;
15 |
16 | export const appScriptOptions = `// App.vue - Options API
17 | `;
29 |
30 | export const appScriptComposition = `// App.vue - Composition API
31 | `;
39 |
--------------------------------------------------------------------------------
/demo/components/PrismCode.js:
--------------------------------------------------------------------------------
1 | import Prism from "prismjs";
2 | import { h } from "vue";
3 |
4 | export default {
5 | props: {
6 | code: {
7 | type: String,
8 | default: "",
9 | },
10 | inline: {
11 | type: Boolean,
12 | default: false,
13 | },
14 | language: {
15 | type: String,
16 | default: "markup",
17 | },
18 | },
19 | setup(props, context) {
20 | const code = props.code || (context.children && context.children.length > 0 ? context.children[0].text : "");
21 | const language = props.language;
22 | const prismLanguage = Prism.languages[language];
23 | const className = `language-${language}`;
24 |
25 | if (process.env.NODE_ENV === "development" && !prismLanguage) {
26 | throw new Error(
27 | `Prism component for language "${language}" was not found, did you forget to register it? See all available ones: https://cdn.jsdelivr.net/npm/prismjs/components/`,
28 | );
29 | }
30 |
31 | return () =>
32 | h(
33 | "pre",
34 | {
35 | class: [context.attrs.class, className],
36 | },
37 | [
38 | h("code", {
39 | class: className,
40 | innerHTML: Prism.highlight(code, prismLanguage),
41 | }),
42 | ],
43 | );
44 | },
45 | };
46 |
--------------------------------------------------------------------------------
/demo/helpers/sampleData.js:
--------------------------------------------------------------------------------
1 | import { mdiImage } from "@mdi/js";
2 | import { h } from "vue";
3 |
4 | export default [
5 | {
6 | type: "success",
7 | title: "Mission Accomplished",
8 | text: "Something was completed",
9 | },
10 | {
11 | type: "info",
12 | title: "Important Information",
13 | text: "Some important information will appear here",
14 | dismissible: false,
15 | },
16 | {
17 | type: "info",
18 | text: "This message doesn't have a title",
19 | duration: 15000,
20 | dismissible: false,
21 | },
22 | {
23 | type: "warning",
24 | title: "Here Be Dragons",
25 | text: "This is a warning about something",
26 | },
27 | {
28 | type: "error",
29 | title: "Oh Damn",
30 | text: "Something went horribly wrong. Bad luck.",
31 | },
32 | {
33 | type: "info",
34 | title: "Added to Cart",
35 | text: "4x Brawndo 500ml added to cart",
36 | action: {
37 | props: {
38 | message: Object,
39 | },
40 | setup() {
41 | return () => h("button", {}, "Go to Checkout");
42 | },
43 | },
44 | },
45 | {
46 | title: "Custom Message",
47 | text: "This is a message with a custom background and icon",
48 | background: "steelblue",
49 | icon: {
50 | path: mdiImage,
51 | type: "mdi",
52 | },
53 | textColor: "#99ff99",
54 | iconColor: "#336633",
55 | },
56 | ];
57 |
--------------------------------------------------------------------------------
/src/service.js:
--------------------------------------------------------------------------------
1 | import EventBus from "./eventbus";
2 | import { inject, ref } from "vue";
3 |
4 | /**
5 | * @type { import("vue").Ref}
6 | */
7 | export const messages = ref([]);
8 | export const SnackbarSymbol = Symbol();
9 |
10 | const hashCode = (s) => Math.abs(s.split("").reduce((a, b) => ((a << 5) - a + b.charCodeAt(0)) | 0, 0));
11 |
12 | let messageId = 1;
13 |
14 | EventBus.$on("add", (ev) => {
15 | ev = { ...ev };
16 | if (!ev.group) ev.group = hashCode(`${ev.type}${ev.title}${ev.text}`).toString(16);
17 |
18 | ev.id = messageId;
19 | messageId++;
20 |
21 | messages.value.push(ev);
22 | });
23 |
24 | /**
25 | * @callback add
26 | * @param { import("./props").SnackbarMessage } message
27 | * @returns { void }
28 | */
29 |
30 | /**
31 | * @callback clear
32 | * @returns { void }
33 | */
34 |
35 | /**
36 | * @typedef { Object } SnackbarService
37 | * @property { add } add Add a message to the stack
38 | * @property { clear } clear Clear messages from the stack
39 | */
40 |
41 | /**
42 | * Composable which allows accessing the Toast service in Composition API
43 | * @returns { SnackbarService }
44 | */
45 | export function useSnackbar() {
46 | const Snackbar = inject(SnackbarSymbol);
47 | if (!Snackbar) {
48 | throw new Error("No Snackbar provided!");
49 | }
50 |
51 | return Snackbar;
52 | }
53 |
54 | /**
55 | * Vue app install. Global property for Options API and provided service for Composition API
56 | */
57 | export const SnackbarService = {
58 | install: (app, config = {}) => {
59 | const { disableGlobals = false } = config;
60 |
61 | const SnackbarService = {
62 | add: (message) => {
63 | EventBus.$emit("add", message);
64 | },
65 | clear: () => {
66 | EventBus.$emit("clear");
67 | },
68 | };
69 | if (disableGlobals !== true) {
70 | app.config.globalProperties.$snackbar = SnackbarService;
71 | if (typeof window !== "undefined") window.$snackbar = SnackbarService;
72 | }
73 | app.provide(SnackbarSymbol, SnackbarService);
74 | },
75 | };
76 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | # Vue 3 Snackbar
18 |
19 | Add a snackbar/toast service to your Vue 3 application and easily alert users about app processes.
20 |
21 | ## Support Open-Source Software
22 |
23 | We're providing this package free-of-charge to the community. However, all development and maintenance costs time, energy and money. So please help fund this project if you can.
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | ---
33 |
34 | For full installation instructions and documentation, visit [evoMark](https://evomark.co.uk/open-source-software/vue3-snackbar/).
35 |
--------------------------------------------------------------------------------
/demo/components/Switch.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 | {{ label }}
12 |
13 |
14 |
15 |
31 |
32 |
112 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue3-snackbar",
3 | "version": "2.5.2",
4 | "author": "Craig Riley",
5 | "scripts": {
6 | "build": "npm run build:types && vite build",
7 | "build:types": "vue-tsc && cp ./src/global.d.ts ./types/global.d.ts && npm run copy-ref",
8 | "demo": "pnpm --filter=demo run dev",
9 | "demo:build": "pnpm --filter=demo run build",
10 | "demo:preview": "pnpm --filter=demo run preview",
11 | "demo:deploy": "gh-pages -d demo/dist",
12 | "prepublishOnly": "npm run build",
13 | "preinstall": "npx only-allow pnpm",
14 | "lint": "eslint --fix src",
15 | "format": "prettier . --write",
16 | "copy-ref": "echo '/// \n' | cat - ./types/index.d.ts > temp && mv temp ./types/index.d.ts"
17 | },
18 | "type": "module",
19 | "types": "./types/index.d.ts",
20 | "main": "./dist/vue3-snackbar.cjs",
21 | "module": "./dist/vue3-snackbar.js",
22 | "exports": {
23 | ".": {
24 | "types": "./types/index.d.ts",
25 | "umd": "./dist/vue3-snackbar.umd.cjs",
26 | "import": "./dist/vue3-snackbar.js",
27 | "require": "./dist/vue3-snackbar.cjs"
28 | },
29 | "./styles": "./dist/vue3-snackbar.css"
30 | },
31 | "files": [
32 | "dist",
33 | "types"
34 | ],
35 | "dependencies": {
36 | "tiny-emitter": "^2.1.0",
37 | "vue3-icon": "^3.0.3"
38 | },
39 | "devDependencies": {
40 | "@eslint/js": "^9.34.0",
41 | "@mdi/js": "^7.4.47",
42 | "@vitejs/plugin-vue": "^6.0.1",
43 | "@vueuse/core": "^13.9.0",
44 | "eslint": "^9.34.0",
45 | "eslint-config-prettier": "^10.1.8",
46 | "eslint-plugin-vue": "^10.4.0",
47 | "gh-pages": "^6.3.0",
48 | "globals": "^16.3.0",
49 | "jsdoc": "^4.0.4",
50 | "jsdoc-vuejs": "^4.0.0",
51 | "postcss": "^8.5.6",
52 | "postcss-nested": "^7.0.2",
53 | "prettier": "^3.6.2",
54 | "prismjs": "^1.30.0",
55 | "roboto-fontface": "^0.10.0",
56 | "sass": "^1.92.0",
57 | "sass-loader": "^16.0.5",
58 | "typescript": "^5.9.2",
59 | "vite": "npm:rolldown-vite@^7.1.5",
60 | "vue": "^3.5.21",
61 | "vue-tsc": "^3.0.6"
62 | },
63 | "peerDependencies": {
64 | "vue": "^3.0.0"
65 | },
66 | "browserslist": [
67 | "> 1%",
68 | "last 2 versions",
69 | "not dead"
70 | ],
71 | "bugs": {
72 | "url": "https://github.com/evo-mark/vue3-snackbar/issues"
73 | },
74 | "homepage": "https://github.com/evo-mark/vue3-snackbar#readme",
75 | "keywords": [
76 | "Vue",
77 | "Vue3",
78 | "snackbar",
79 | "toast",
80 | "alerts",
81 | "messages"
82 | ],
83 | "license": "MIT",
84 | "repository": {
85 | "type": "git",
86 | "url": "git+https://github.com/evo-mark/vue3-snackbar.git"
87 | },
88 | "packageManager": "pnpm@8.14.3+sha256.2d0363bb6c314daa67087ef07743eea1ba2e2d360c835e8fec6b5575e4ed9484"
89 | }
90 |
--------------------------------------------------------------------------------
/demo/partials/header.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | Snackbar
4 |
5 |
6 |
7 |
8 |
9 |
10 |
14 |
15 |
16 |
17 |
21 |
22 |
33 |
--------------------------------------------------------------------------------
/src/Vue3Snackbar.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
168 |
169 |
172 |
--------------------------------------------------------------------------------
/src/Vue3SnackbarMessage.vue:
--------------------------------------------------------------------------------
1 |
2 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | {{ props.message.count }}
33 |
34 |
35 |
41 |
42 | {{ props.message.title || props.message.text }}
43 |
44 |
45 | {{ props.message.text }}
46 |
47 |
48 |
53 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
222 |
--------------------------------------------------------------------------------
/src/props.js:
--------------------------------------------------------------------------------
1 | const HTMLElementShim = typeof window !== "undefined" ? HTMLElement : Object;
2 |
3 | /**
4 | * @typedef {import('vue').VNode} VNode
5 | * @typedef {import('vue').Component} Component
6 | * @typedef {import('vue').FunctionalComponent} FunctionalComponent
7 | * @typedef {VNode | Component | FunctionalComponent | (() => VNode)} Renderable
8 | */
9 |
10 | /**
11 | * @typedef { Object } Vue3Icon
12 | * @property { string } type The icon type, e.g. "mdi" or "simple-icons"
13 | * @property { Object } faIcon A FontAwesome icon object
14 | * @property { Object|string|Array } path The SVG path for the icon
15 | * @property { number|string } size The size of the icon
16 | * @property { string } viewBox The SVG view-box size
17 | * @property { "horizontal"|"vertical"|"both"|null } flip Flip the icon on its given axis/axes
18 | * @property { number|string } rotate Degrees to rotate the icon
19 | */
20 |
21 | /**
22 | * @typedef { "alert"|"log"|"marquee"|"status"|"timer" } LiveRegionRole
23 | */
24 |
25 | /**
26 | * @typedef { Object } IconPresets
27 | * @property { Vue3Icon } success The vue3-icon props for a message type of success
28 | * @property { Vue3Icon } warning The vue3-icon props for a message type of warning
29 | * @property { Vue3Icon } info The vue3-icon props for a message type of info
30 | * @property { Vue3Icon } error The vue3-icon props for a message type of error
31 | */
32 |
33 | /**
34 | * @typedef { Object } SnackbarMessage
35 | * @property { "warning"|"error"|"info"|"success"|null } [type] The classification of the message
36 | * @property { string } [title] An optional title string for the message
37 | * @property { string } text The text content of the message
38 | * @property { string } [background] The background colour of the message
39 | * @property { number } [duration] In ms, the time before the message expires
40 | * @property { boolean } [dismissible] Can the message be dismissed manually?
41 | * @property { LiveRegionRole } [role] The aria-role of the message
42 | * @property { Renderable } [action] Any valid Vue component to render in the action slot
43 | * @property {(ev: SnackbarMessage, wasDismissed: boolean) => void} [onRemoved] A callback for when the message is removed from the stack
44 | */
45 |
46 | /**
47 | * @typedef { Object } SnackbarProps
48 | * @property { boolean } top Render the snackbar at the top of the screen
49 | * @property { boolean } bottom Render the snackbar at the bottom of the screen
50 | * @property { boolean } left Render the snackbar at the left of the screen
51 | * @property { boolean } right Render the snackbar at the right of the screen
52 | * @property { string } success Base colour to use for success messages
53 | * @property { string } error Base colour to use for error messages
54 | * @property { string } warning Base colour to use for warning messages
55 | * @property { string } info Base colour to use for info messages
56 | * @property { string } messageTextColor Text colour for the default message
57 | * @property { string } messageIconColor Icon colour for the default message
58 | * @property { string|HTMLElementShim } attach HTML element to attach the container to
59 | * @property { "top"|"bottom"|"left"|"right"|"start"|"end"} border Use the alternative border-style messages
60 | * @property { string|number } backgroundOpacity The background colour opacity when using border-style messages
61 | * @property { string } backgroundColor Background colour when using border-style messages
62 | * @property { string } baseBackgroundColor Base background colour when using border-style messages
63 | * @property { number } duration The default time in ms for messages to stay on the screen
64 | * @property { string } messageClass Class string to add to each message
65 | * @property { number } zIndex The z-index value of the snackbar container
66 | * @property { boolean } dense Reduce padding on the y-axis for snackbar messages
67 | * @property { boolean } reverse Reverse the display order of snackbar messages
68 | * @property { boolean } groups Use snackbar groups with messages with the same group-key
69 | * @property { boolean|"xs"|"sm"|"md"|"lg"|"xl"|"2xl" } shadow Add shadow effect to messages
70 | * @property { number } limit The maximum number of messages/message groups to show
71 | * @property { IconPresets } iconPresets The preset icon settings for standard message types
72 | * @property { string } contentWidth The CSS width string for the snackbar content
73 | */
74 | export const propsModel = {
75 | /* ******************************************
76 | * LOCATION PROPS
77 | ****************************************** */
78 | top: {
79 | type: Boolean,
80 | default: false,
81 | },
82 | bottom: {
83 | type: Boolean,
84 | default: false,
85 | },
86 | left: {
87 | type: Boolean,
88 | default: false,
89 | },
90 | right: {
91 | type: Boolean,
92 | default: false,
93 | },
94 | start: {
95 | type: Boolean,
96 | default: false,
97 | },
98 | end: {
99 | type: Boolean,
100 | default: false,
101 | },
102 | /* ******************************************
103 | * COLOUR PROPS
104 | ****************************************** */
105 | success: {
106 | type: String,
107 | default: "#4caf50",
108 | },
109 | error: {
110 | type: String,
111 | default: "#ff5252",
112 | },
113 | warning: {
114 | type: String,
115 | default: "#fb8c00",
116 | },
117 | info: {
118 | type: String,
119 | default: "#2196f3",
120 | },
121 | iconPresets: {
122 | type: Object,
123 | default: () => ({}),
124 | },
125 | messageTextColor: {
126 | type: String,
127 | default: "#fff",
128 | },
129 | messageIconColor: {
130 | type: String,
131 | default: "currentColor",
132 | },
133 | /* *********************************************
134 | * BACKGROUND PROPS
135 | * ******************************************* */
136 | backgroundOpacity: {
137 | type: [String, Number],
138 | default: 0.12,
139 | validator: (v) => {
140 | return !isNaN(parseFloat(v)) && isFinite(v);
141 | },
142 | },
143 | backgroundColor: {
144 | type: String,
145 | default: "currentColor",
146 | },
147 | baseBackgroundColor: {
148 | type: String,
149 | default: "#fff",
150 | },
151 | /* *********************************************
152 | * BEHAVIOUR PROPS
153 | * ******************************************* */
154 | duration: {
155 | type: [Number, String],
156 | default: null,
157 | },
158 | reverse: {
159 | type: Boolean,
160 | default: false,
161 | },
162 | limit: {
163 | type: Number,
164 | default: null,
165 | },
166 | dismissOnActionClick: {
167 | type: Boolean,
168 | default: true,
169 | },
170 | groups: {
171 | type: Boolean,
172 | default: false,
173 | },
174 | attach: {
175 | type: [String, HTMLElementShim],
176 | default: "body",
177 | },
178 | /* ******************************************
179 | * OTHER PROPS
180 | ****************************************** */
181 | border: {
182 | type: String,
183 | default: "",
184 | validator: (v) => ["top", "bottom", "left", "right", "start", "end", ""].includes(v),
185 | },
186 | messageClass: {
187 | type: String,
188 | },
189 | messageActionClass: {
190 | type: String,
191 | default: "vue3-snackbar-message-action",
192 | },
193 | zIndex: {
194 | type: Number,
195 | default: 10000,
196 | },
197 | dense: {
198 | type: Boolean,
199 | default: false,
200 | },
201 | shadow: {
202 | type: [Boolean, String],
203 | default: false,
204 | validator: (v) => v === true || v === false || ["xs", "sm", "md", "lg", "xl", "2xl"].includes(v),
205 | },
206 | contentWidth: {
207 | type: String,
208 | default: "min(50vw, 350px)",
209 | },
210 | borderWidth: {
211 | type: [String, Number],
212 | default: 8,
213 | },
214 | };
215 |
--------------------------------------------------------------------------------
/src/style.postcss:
--------------------------------------------------------------------------------
1 | #vue3-snackbar--container {
2 | position: fixed;
3 | margin: 16px 16px 0 16px;
4 | padding: 0;
5 | z-index: var(--snackbar-zindex);
6 | pointer-events: none;
7 |
8 | &.is-rtl {
9 | .vue3-snackbar-message-icon {
10 | margin-right: 0;
11 | margin-left: 16px;
12 | }
13 | }
14 |
15 | &.is-top {
16 | top: 0;
17 | }
18 |
19 | &.is-bottom {
20 | bottom: 0;
21 | }
22 |
23 | &.is-left {
24 | left: 0;
25 | }
26 |
27 | &.is-right {
28 | right: 0;
29 | }
30 |
31 | &.is-start {
32 | inset-inline-start: 0;
33 | }
34 |
35 | &.is-end {
36 | inset-inline-end: 0;
37 | }
38 |
39 | &.is-middle {
40 | top: 50%;
41 | transform: translateY(-50%);
42 | }
43 |
44 | &.is-centre {
45 | left: 50%;
46 | transform: translateX(-50%);
47 | }
48 |
49 | &.shadow-xs .vue3-snackbar-message {
50 | box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
51 | }
52 |
53 | &.shadow-sm .vue3-snackbar-message {
54 | box-shadow:
55 | 0 1px 3px 0 rgb(0 0 0 / 0.1),
56 | 0 1px 2px -1px rgb(0 0 0 / 0.1);
57 | }
58 |
59 | &.shadow-md .vue3-snackbar-message {
60 | box-shadow:
61 | 0 4px 6px -1px rgb(0 0 0 / 0.1),
62 | 0 2px 4px -2px rgb(0 0 0 / 0.1);
63 | }
64 |
65 | &.shadow-lg .vue3-snackbar-message {
66 | box-shadow:
67 | 0 10px 15px -3px rgb(0 0 0 / 0.1),
68 | 0 4px 6px -4px rgb(0 0 0 / 0.1);
69 | }
70 |
71 | &.shadow-xl .vue3-snackbar-message {
72 | box-shadow:
73 | 0 20px 25px -5px rgb(0 0 0 / 0.1),
74 | 0 8px 10px -6px rgb(0 0 0 / 0.1);
75 | }
76 |
77 | &.shadow-2xl .vue3-snackbar-message {
78 | box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
79 | }
80 | }
81 |
82 | .vue3-snackbar-message {
83 | display: flex;
84 | color: var(--message-text-color, #fff);
85 | margin-bottom: 16px;
86 | position: relative;
87 | border-radius: 4px;
88 | pointer-events: all;
89 |
90 | &-action {
91 | display: flex;
92 | width: 100%;
93 | justify-content: flex-end;
94 |
95 | &:not(:empty) {
96 | padding-top: 0.5rem;
97 | }
98 | }
99 |
100 | &.has-border {
101 | position: relative;
102 | background-color: var(--base-background-color, #fff);
103 | border-style: solid;
104 | border-color: currentColor;
105 | border-width: 0;
106 | &::before {
107 | position: absolute;
108 | top: 0;
109 | bottom: 0;
110 | left: 0;
111 | right: 0;
112 | content: "";
113 | background-color: var(--background-color);
114 | opacity: var(--background-opacity);
115 | pointer-events: none;
116 | }
117 | &.success {
118 | color: var(--success-colour);
119 | }
120 | &.error {
121 | color: var(--error-colour);
122 | }
123 | &.info {
124 | color: var(--info-colour);
125 | }
126 | &.warning {
127 | color: var(--warning-colour);
128 | }
129 | &.has-background {
130 | color: var(--message-background);
131 | }
132 | }
133 |
134 | &.border-left {
135 | border-left-width: var(--snackbar-border-width);
136 | &:before {
137 | border-top-right-radius: inherit;
138 | border-bottom-right-radius: inherit;
139 | }
140 | }
141 | &.border-right {
142 | border-right-width: var(--snackbar-border-width);
143 | &:before {
144 | border-top-left-radius: inherit;
145 | border-bottom-left-radius: inherit;
146 | }
147 | }
148 | &.border-top {
149 | border-top-width: var(--snackbar-border-width);
150 | &:before {
151 | border-bottom-left-radius: inherit;
152 | border-bottom-right-radius: inherit;
153 | }
154 | }
155 | &.border-bottom {
156 | border-bottom-width: var(--snackbar-border-width);
157 | &:before {
158 | border-top-left-radius: inherit;
159 | border-top-right-radius: inherit;
160 | }
161 | }
162 | &.border-start {
163 | border-inline-start-width: var(--snackbar-border-width);
164 | &::before {
165 | border-start-end-radius: inherit;
166 | border-end-end-radius: inherit;
167 | }
168 | }
169 | &.border-end {
170 | border-inline-end-width: var(--snackbar-border-width);
171 | &:before {
172 | border-start-start-radius: inherit;
173 | border-end-start-radius: inherit;
174 | }
175 | }
176 |
177 | &.success:not(.has-background):not(.has-border) {
178 | background-color: var(--success-colour);
179 | border-color: var(--success-colour);
180 | }
181 | &.error:not(.has-background):not(.has-border) {
182 | background-color: var(--error-colour);
183 | border-color: var(--error-colour);
184 | }
185 | &.warning:not(.has-background):not(.has-border) {
186 | background-color: var(--warning-colour);
187 | border-color: var(--warning-colour);
188 | }
189 | &.info:not(.has-background):not(.has-border) {
190 | background-color: var(--info-colour);
191 | border-color: var(--info-colour);
192 | }
193 | &.has-background:not(.has-border) {
194 | background-color: var(--message-background);
195 | border-color: var(--message-background);
196 | }
197 |
198 | &-wrapper {
199 | align-items: center;
200 | border-radius: inherit;
201 | display: flex;
202 | padding: 16px;
203 | }
204 |
205 | &.is-dense .vue3-snackbar-message-wrapper {
206 | padding: 8px 16px;
207 | }
208 |
209 | &-title {
210 | font-weight: bold;
211 | position: relative;
212 | }
213 |
214 | &-additional {
215 | position: relative;
216 | }
217 |
218 | &-icon {
219 | margin-right: 16px;
220 | display: flex;
221 | color: var(--message-icon-color, currentColor);
222 | }
223 |
224 | &-close {
225 | margin-left: 16px;
226 | min-width: 30px;
227 |
228 | button {
229 | -webkit-appearance: none;
230 | &:focus:not(:focus-visible) {
231 | outline: none;
232 | }
233 | &:focus:not(:-moz-focusring) {
234 | outline: none;
235 | }
236 | border: none;
237 | margin: 0;
238 | padding: 0;
239 | overflow: visible;
240 | background: transparent;
241 | color: inherit;
242 | font: inherit;
243 | line-height: normal;
244 | -webkit-font-smoothing: inherit;
245 | -moz-osx-font-smoothing: inherit;
246 | text-align: inherit;
247 | cursor: pointer;
248 | width: 30px;
249 | height: 30px;
250 | display: flex;
251 | align-items: center;
252 | justify-content: center;
253 | position: relative;
254 |
255 | &::before {
256 | position: absolute;
257 | content: "";
258 | top: 0;
259 | left: 0;
260 | right: 0;
261 | bottom: 0;
262 | background: currentColor;
263 | opacity: 0;
264 | pointer-events: none;
265 | transition: opacity 300ms ease-in-out;
266 | border-radius: 50%;
267 | }
268 |
269 | &:hover::before {
270 | opacity: 0.22;
271 | }
272 | }
273 | }
274 |
275 | &-content {
276 | display: flex;
277 | flex-flow: column;
278 | width: var(--snackbar-content-width);
279 | }
280 |
281 | &-badge {
282 | font-size: 0.9em;
283 | font-weight: bold;
284 | padding: 0.125em 0.5em;
285 | border-radius: 8px;
286 | position: absolute;
287 | background: #c10015;
288 | border: 1px solid crimson;
289 | box-shadow:
290 | 0 1px 3px #0003,
291 | 0 1px 1px #00000024,
292 | 0 2px 1px -1px #0000001f;
293 | color: white;
294 | top: 0;
295 | left: 0;
296 | transform: translate(-25%, -25%);
297 | }
298 |
299 | &.border-left .vue3-snackbar-message-badge {
300 | left: 0;
301 | top: -5px;
302 | }
303 | }
304 |
305 | .vue3-snackbar-message-enter-from {
306 | opacity: 0;
307 | -webkit-transform: translateY(50%);
308 | -ms-transform: translateY(50%);
309 | transform: translateY(50%);
310 | }
311 | .vue3-snackbar-message-leave-from {
312 | max-height: 1000px;
313 | }
314 | .vue3-snackbar .vue3-snackbar-message.vue3-snackbar-message-leave-to {
315 | max-height: 0;
316 | opacity: 0;
317 | margin-bottom: 0;
318 | overflow: hidden;
319 |
320 | .vue3-snackbar-message-badge {
321 | opacity: 0;
322 | }
323 | }
324 | .vue3-snackbar-message-enter-active {
325 | transition:
326 | transform 0.3s,
327 | opacity 0.3s;
328 | }
329 | .vue3-snackbar-message-leave-active {
330 | transition:
331 | max-height 0.45s cubic-bezier(0, 1, 0, 1),
332 | opacity 0.3s,
333 | margin-bottom 0.3s;
334 | }
335 |
336 | @keyframes headShake {
337 | 0% {
338 | transform: translate(-25%, -25%);
339 | }
340 |
341 | 6.5% {
342 | transform: translate(calc(-25% - 6px), -25%) rotateY(-9deg);
343 | }
344 |
345 | 18.5% {
346 | transform: translate(calc(-25% + 5px), -25%) rotateY(7deg);
347 | }
348 |
349 | 31.5% {
350 | transform: translate(calc(-25% - 3px), -25%) rotateY(-5deg);
351 | }
352 |
353 | 43.5% {
354 | transform: translate(calc(-25% + 2px), -25%) rotateY(3deg);
355 | }
356 |
357 | 50% {
358 | transform: translate(-25%, -25%);
359 | }
360 | }
361 | .shake-baby-shake .vue3-snackbar-message-badge {
362 | animation-timing-function: ease-in-out;
363 | animation-name: headShake;
364 | animation-duration: 1s;
365 | animation-fill-mode: both;
366 | }
367 |
--------------------------------------------------------------------------------
/demo/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Easily notify users of application processes with Vue 3 Snackbar. A fully customisable,
13 | snackbar/toast messaging hub.
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | > npm install vue3-snackbar
28 | > yarn add vue3-snackbar
29 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | OR
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | Sandbox
54 |
55 |
56 |
57 |
58 |
59 |
60 | Component Properties
61 |
62 | This is not an exhaustive collection of all available props. See
63 | documentation
66 | for a complete list.
67 |
68 |
69 |
70 |
71 | Messages
72 |
73 |
74 |
79 |
80 |
81 |
88 |
89 |
90 |
91 |
92 |
93 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
109 |
110 |
111 |
112 |
113 | Border-Style Messages
114 |
115 |
116 |
123 |
124 |
125 |
133 |
134 |
135 |
141 |
142 |
143 |
149 |
150 |
151 | Background Opacity
152 |
161 |
162 |
163 |
164 |
165 | Position
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
182 | Actions
183 |
184 |
185 | Add Random Message
188 |
189 |
190 | Clear All Messages
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 | Component Code
201 |
202 |
203 |
204 | Previous Message Code
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 | Vue 3 Snackbar is released under an MIT licence. ©2021-{{ new Date().getFullYear() }} Craig
215 | Riley.
217 |
218 |
219 |
241 |
242 | Testing
243 |
244 |
245 |
246 |
247 |
370 |
371 |
398 |
399 |
406 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | tiny-emitter:
12 | specifier: ^2.1.0
13 | version: 2.1.0
14 | vue3-icon:
15 | specifier: ^3.0.3
16 | version: 3.0.3(vue@3.5.21)
17 | devDependencies:
18 | '@eslint/js':
19 | specifier: ^9.34.0
20 | version: 9.34.0
21 | '@mdi/js':
22 | specifier: ^7.4.47
23 | version: 7.4.47
24 | '@vitejs/plugin-vue':
25 | specifier: ^6.0.1
26 | version: 6.0.1(rolldown-vite@7.1.5)(vue@3.5.21)
27 | '@vueuse/core':
28 | specifier: ^13.9.0
29 | version: 13.9.0(vue@3.5.21)
30 | eslint:
31 | specifier: ^9.34.0
32 | version: 9.34.0
33 | eslint-config-prettier:
34 | specifier: ^10.1.8
35 | version: 10.1.8(eslint@9.34.0)
36 | eslint-plugin-vue:
37 | specifier: ^10.4.0
38 | version: 10.4.0(eslint@9.34.0)(vue-eslint-parser@10.2.0)
39 | gh-pages:
40 | specifier: ^6.3.0
41 | version: 6.3.0
42 | globals:
43 | specifier: ^16.3.0
44 | version: 16.3.0
45 | jsdoc:
46 | specifier: ^4.0.4
47 | version: 4.0.4
48 | jsdoc-vuejs:
49 | specifier: ^4.0.0
50 | version: 4.0.0(@vue/compiler-sfc@3.5.21)(jsdoc@4.0.4)
51 | postcss:
52 | specifier: ^8.5.6
53 | version: 8.5.6
54 | postcss-nested:
55 | specifier: ^7.0.2
56 | version: 7.0.2(postcss@8.5.6)
57 | prettier:
58 | specifier: ^3.6.2
59 | version: 3.6.2
60 | prismjs:
61 | specifier: ^1.30.0
62 | version: 1.30.0
63 | roboto-fontface:
64 | specifier: ^0.10.0
65 | version: 0.10.0
66 | sass:
67 | specifier: ^1.92.0
68 | version: 1.92.0
69 | sass-loader:
70 | specifier: ^16.0.5
71 | version: 16.0.5(sass@1.92.0)
72 | typescript:
73 | specifier: ^5.9.2
74 | version: 5.9.2
75 | vite:
76 | specifier: npm:rolldown-vite@^7.1.5
77 | version: /rolldown-vite@7.1.5(sass@1.92.0)
78 | vue:
79 | specifier: ^3.5.21
80 | version: 3.5.21(typescript@5.9.2)
81 | vue-tsc:
82 | specifier: ^3.0.6
83 | version: 3.0.6(typescript@5.9.2)
84 |
85 | demo:
86 | dependencies:
87 | vue:
88 | specifier: ^3.5.21
89 | version: 3.5.21(typescript@5.9.2)
90 | vue3-snackbar:
91 | specifier: link:..
92 | version: link:..
93 | vuetify:
94 | specifier: ^3.9.6
95 | version: 3.9.6(typescript@5.9.2)(vite-plugin-vuetify@2.1.2)(vue@3.5.21)
96 | devDependencies:
97 | '@vitejs/plugin-vue':
98 | specifier: ^6.0.1
99 | version: 6.0.1(vite@7.1.4)(vue@3.5.21)
100 | vite-plugin-vuetify:
101 | specifier: ^2.1.2
102 | version: 2.1.2(vite@7.1.4)(vue@3.5.21)(vuetify@3.9.6)
103 |
104 | packages:
105 |
106 | /@babel/helper-string-parser@7.27.1:
107 | resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
108 | engines: {node: '>=6.9.0'}
109 |
110 | /@babel/helper-validator-identifier@7.27.1:
111 | resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
112 | engines: {node: '>=6.9.0'}
113 |
114 | /@babel/parser@7.28.3:
115 | resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==}
116 | engines: {node: '>=6.0.0'}
117 | hasBin: true
118 | dependencies:
119 | '@babel/types': 7.28.2
120 |
121 | /@babel/types@7.28.2:
122 | resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
123 | engines: {node: '>=6.9.0'}
124 | dependencies:
125 | '@babel/helper-string-parser': 7.27.1
126 | '@babel/helper-validator-identifier': 7.27.1
127 |
128 | /@emnapi/core@1.5.0:
129 | resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==}
130 | requiresBuild: true
131 | dependencies:
132 | '@emnapi/wasi-threads': 1.1.0
133 | tslib: 2.8.1
134 | dev: true
135 | optional: true
136 |
137 | /@emnapi/runtime@1.5.0:
138 | resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
139 | requiresBuild: true
140 | dependencies:
141 | tslib: 2.8.1
142 | dev: true
143 | optional: true
144 |
145 | /@emnapi/wasi-threads@1.1.0:
146 | resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
147 | requiresBuild: true
148 | dependencies:
149 | tslib: 2.8.1
150 | dev: true
151 | optional: true
152 |
153 | /@esbuild/aix-ppc64@0.25.9:
154 | resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==}
155 | engines: {node: '>=18'}
156 | cpu: [ppc64]
157 | os: [aix]
158 | requiresBuild: true
159 | optional: true
160 |
161 | /@esbuild/android-arm64@0.25.9:
162 | resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==}
163 | engines: {node: '>=18'}
164 | cpu: [arm64]
165 | os: [android]
166 | requiresBuild: true
167 | optional: true
168 |
169 | /@esbuild/android-arm@0.25.9:
170 | resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==}
171 | engines: {node: '>=18'}
172 | cpu: [arm]
173 | os: [android]
174 | requiresBuild: true
175 | optional: true
176 |
177 | /@esbuild/android-x64@0.25.9:
178 | resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==}
179 | engines: {node: '>=18'}
180 | cpu: [x64]
181 | os: [android]
182 | requiresBuild: true
183 | optional: true
184 |
185 | /@esbuild/darwin-arm64@0.25.9:
186 | resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==}
187 | engines: {node: '>=18'}
188 | cpu: [arm64]
189 | os: [darwin]
190 | requiresBuild: true
191 | optional: true
192 |
193 | /@esbuild/darwin-x64@0.25.9:
194 | resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==}
195 | engines: {node: '>=18'}
196 | cpu: [x64]
197 | os: [darwin]
198 | requiresBuild: true
199 | optional: true
200 |
201 | /@esbuild/freebsd-arm64@0.25.9:
202 | resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==}
203 | engines: {node: '>=18'}
204 | cpu: [arm64]
205 | os: [freebsd]
206 | requiresBuild: true
207 | optional: true
208 |
209 | /@esbuild/freebsd-x64@0.25.9:
210 | resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==}
211 | engines: {node: '>=18'}
212 | cpu: [x64]
213 | os: [freebsd]
214 | requiresBuild: true
215 | optional: true
216 |
217 | /@esbuild/linux-arm64@0.25.9:
218 | resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==}
219 | engines: {node: '>=18'}
220 | cpu: [arm64]
221 | os: [linux]
222 | requiresBuild: true
223 | optional: true
224 |
225 | /@esbuild/linux-arm@0.25.9:
226 | resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==}
227 | engines: {node: '>=18'}
228 | cpu: [arm]
229 | os: [linux]
230 | requiresBuild: true
231 | optional: true
232 |
233 | /@esbuild/linux-ia32@0.25.9:
234 | resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==}
235 | engines: {node: '>=18'}
236 | cpu: [ia32]
237 | os: [linux]
238 | requiresBuild: true
239 | optional: true
240 |
241 | /@esbuild/linux-loong64@0.25.9:
242 | resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==}
243 | engines: {node: '>=18'}
244 | cpu: [loong64]
245 | os: [linux]
246 | requiresBuild: true
247 | optional: true
248 |
249 | /@esbuild/linux-mips64el@0.25.9:
250 | resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==}
251 | engines: {node: '>=18'}
252 | cpu: [mips64el]
253 | os: [linux]
254 | requiresBuild: true
255 | optional: true
256 |
257 | /@esbuild/linux-ppc64@0.25.9:
258 | resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==}
259 | engines: {node: '>=18'}
260 | cpu: [ppc64]
261 | os: [linux]
262 | requiresBuild: true
263 | optional: true
264 |
265 | /@esbuild/linux-riscv64@0.25.9:
266 | resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==}
267 | engines: {node: '>=18'}
268 | cpu: [riscv64]
269 | os: [linux]
270 | requiresBuild: true
271 | optional: true
272 |
273 | /@esbuild/linux-s390x@0.25.9:
274 | resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==}
275 | engines: {node: '>=18'}
276 | cpu: [s390x]
277 | os: [linux]
278 | requiresBuild: true
279 | optional: true
280 |
281 | /@esbuild/linux-x64@0.25.9:
282 | resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==}
283 | engines: {node: '>=18'}
284 | cpu: [x64]
285 | os: [linux]
286 | requiresBuild: true
287 | optional: true
288 |
289 | /@esbuild/netbsd-arm64@0.25.9:
290 | resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==}
291 | engines: {node: '>=18'}
292 | cpu: [arm64]
293 | os: [netbsd]
294 | requiresBuild: true
295 | optional: true
296 |
297 | /@esbuild/netbsd-x64@0.25.9:
298 | resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==}
299 | engines: {node: '>=18'}
300 | cpu: [x64]
301 | os: [netbsd]
302 | requiresBuild: true
303 | optional: true
304 |
305 | /@esbuild/openbsd-arm64@0.25.9:
306 | resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==}
307 | engines: {node: '>=18'}
308 | cpu: [arm64]
309 | os: [openbsd]
310 | requiresBuild: true
311 | optional: true
312 |
313 | /@esbuild/openbsd-x64@0.25.9:
314 | resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==}
315 | engines: {node: '>=18'}
316 | cpu: [x64]
317 | os: [openbsd]
318 | requiresBuild: true
319 | optional: true
320 |
321 | /@esbuild/openharmony-arm64@0.25.9:
322 | resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==}
323 | engines: {node: '>=18'}
324 | cpu: [arm64]
325 | os: [openharmony]
326 | requiresBuild: true
327 | optional: true
328 |
329 | /@esbuild/sunos-x64@0.25.9:
330 | resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==}
331 | engines: {node: '>=18'}
332 | cpu: [x64]
333 | os: [sunos]
334 | requiresBuild: true
335 | optional: true
336 |
337 | /@esbuild/win32-arm64@0.25.9:
338 | resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==}
339 | engines: {node: '>=18'}
340 | cpu: [arm64]
341 | os: [win32]
342 | requiresBuild: true
343 | optional: true
344 |
345 | /@esbuild/win32-ia32@0.25.9:
346 | resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==}
347 | engines: {node: '>=18'}
348 | cpu: [ia32]
349 | os: [win32]
350 | requiresBuild: true
351 | optional: true
352 |
353 | /@esbuild/win32-x64@0.25.9:
354 | resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==}
355 | engines: {node: '>=18'}
356 | cpu: [x64]
357 | os: [win32]
358 | requiresBuild: true
359 | optional: true
360 |
361 | /@eslint-community/eslint-utils@4.7.0(eslint@9.34.0):
362 | resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
363 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
364 | peerDependencies:
365 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
366 | dependencies:
367 | eslint: 9.34.0
368 | eslint-visitor-keys: 3.4.3
369 | dev: true
370 |
371 | /@eslint-community/regexpp@4.12.1:
372 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
373 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
374 | dev: true
375 |
376 | /@eslint/config-array@0.21.0:
377 | resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
378 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
379 | dependencies:
380 | '@eslint/object-schema': 2.1.6
381 | debug: 4.4.1
382 | minimatch: 3.1.2
383 | transitivePeerDependencies:
384 | - supports-color
385 | dev: true
386 |
387 | /@eslint/config-helpers@0.3.1:
388 | resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==}
389 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
390 | dev: true
391 |
392 | /@eslint/core@0.15.2:
393 | resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
394 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
395 | dependencies:
396 | '@types/json-schema': 7.0.15
397 | dev: true
398 |
399 | /@eslint/eslintrc@3.3.1:
400 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
401 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
402 | dependencies:
403 | ajv: 6.12.6
404 | debug: 4.4.1
405 | espree: 10.4.0
406 | globals: 14.0.0
407 | ignore: 5.3.2
408 | import-fresh: 3.3.1
409 | js-yaml: 4.1.0
410 | minimatch: 3.1.2
411 | strip-json-comments: 3.1.1
412 | transitivePeerDependencies:
413 | - supports-color
414 | dev: true
415 |
416 | /@eslint/js@9.34.0:
417 | resolution: {integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==}
418 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
419 | dev: true
420 |
421 | /@eslint/object-schema@2.1.6:
422 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
423 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
424 | dev: true
425 |
426 | /@eslint/plugin-kit@0.3.5:
427 | resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
428 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
429 | dependencies:
430 | '@eslint/core': 0.15.2
431 | levn: 0.4.1
432 | dev: true
433 |
434 | /@humanfs/core@0.19.1:
435 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
436 | engines: {node: '>=18.18.0'}
437 | dev: true
438 |
439 | /@humanfs/node@0.16.6:
440 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
441 | engines: {node: '>=18.18.0'}
442 | dependencies:
443 | '@humanfs/core': 0.19.1
444 | '@humanwhocodes/retry': 0.3.1
445 | dev: true
446 |
447 | /@humanwhocodes/module-importer@1.0.1:
448 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
449 | engines: {node: '>=12.22'}
450 | dev: true
451 |
452 | /@humanwhocodes/retry@0.3.1:
453 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
454 | engines: {node: '>=18.18'}
455 | dev: true
456 |
457 | /@humanwhocodes/retry@0.4.3:
458 | resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
459 | engines: {node: '>=18.18'}
460 | dev: true
461 |
462 | /@jridgewell/sourcemap-codec@1.5.5:
463 | resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
464 |
465 | /@jsdoc/salty@0.2.9:
466 | resolution: {integrity: sha512-yYxMVH7Dqw6nO0d5NIV8OQWnitU8k6vXH8NtgqAfIa/IUqRMxRv/NUJJ08VEKbAakwxlgBl5PJdrU0dMPStsnw==}
467 | engines: {node: '>=v12.0.0'}
468 | dependencies:
469 | lodash: 4.17.21
470 | dev: true
471 |
472 | /@mdi/js@7.4.47:
473 | resolution: {integrity: sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==}
474 | dev: true
475 |
476 | /@napi-rs/wasm-runtime@1.0.3:
477 | resolution: {integrity: sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==}
478 | requiresBuild: true
479 | dependencies:
480 | '@emnapi/core': 1.5.0
481 | '@emnapi/runtime': 1.5.0
482 | '@tybys/wasm-util': 0.10.0
483 | dev: true
484 | optional: true
485 |
486 | /@nodelib/fs.scandir@2.1.5:
487 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
488 | engines: {node: '>= 8'}
489 | dependencies:
490 | '@nodelib/fs.stat': 2.0.5
491 | run-parallel: 1.2.0
492 | dev: true
493 |
494 | /@nodelib/fs.stat@2.0.5:
495 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
496 | engines: {node: '>= 8'}
497 | dev: true
498 |
499 | /@nodelib/fs.walk@1.2.8:
500 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
501 | engines: {node: '>= 8'}
502 | dependencies:
503 | '@nodelib/fs.scandir': 2.1.5
504 | fastq: 1.19.1
505 | dev: true
506 |
507 | /@oxc-project/runtime@0.82.3:
508 | resolution: {integrity: sha512-LNh5GlJvYHAnMurO+EyA8jJwN1rki7l3PSHuosDh2I7h00T6/u9rCkUjg/SvPmT1CZzvhuW0y+gf7jcqUy/Usg==}
509 | engines: {node: '>=6.9.0'}
510 | dev: true
511 |
512 | /@oxc-project/types@0.82.3:
513 | resolution: {integrity: sha512-6nCUxBnGX0c6qfZW5MaF6/fmu5dHJDMiMPaioKHKs5mi5+8/FHQ7WGjgQIz1zxpmceMYfdIXkOaLYE+ejbuOtA==}
514 | dev: true
515 |
516 | /@parcel/watcher-android-arm64@2.5.1:
517 | resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==}
518 | engines: {node: '>= 10.0.0'}
519 | cpu: [arm64]
520 | os: [android]
521 | requiresBuild: true
522 | optional: true
523 |
524 | /@parcel/watcher-darwin-arm64@2.5.1:
525 | resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==}
526 | engines: {node: '>= 10.0.0'}
527 | cpu: [arm64]
528 | os: [darwin]
529 | requiresBuild: true
530 | optional: true
531 |
532 | /@parcel/watcher-darwin-x64@2.5.1:
533 | resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==}
534 | engines: {node: '>= 10.0.0'}
535 | cpu: [x64]
536 | os: [darwin]
537 | requiresBuild: true
538 | optional: true
539 |
540 | /@parcel/watcher-freebsd-x64@2.5.1:
541 | resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==}
542 | engines: {node: '>= 10.0.0'}
543 | cpu: [x64]
544 | os: [freebsd]
545 | requiresBuild: true
546 | optional: true
547 |
548 | /@parcel/watcher-linux-arm-glibc@2.5.1:
549 | resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==}
550 | engines: {node: '>= 10.0.0'}
551 | cpu: [arm]
552 | os: [linux]
553 | requiresBuild: true
554 | optional: true
555 |
556 | /@parcel/watcher-linux-arm-musl@2.5.1:
557 | resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
558 | engines: {node: '>= 10.0.0'}
559 | cpu: [arm]
560 | os: [linux]
561 | requiresBuild: true
562 | optional: true
563 |
564 | /@parcel/watcher-linux-arm64-glibc@2.5.1:
565 | resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
566 | engines: {node: '>= 10.0.0'}
567 | cpu: [arm64]
568 | os: [linux]
569 | requiresBuild: true
570 | optional: true
571 |
572 | /@parcel/watcher-linux-arm64-musl@2.5.1:
573 | resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
574 | engines: {node: '>= 10.0.0'}
575 | cpu: [arm64]
576 | os: [linux]
577 | requiresBuild: true
578 | optional: true
579 |
580 | /@parcel/watcher-linux-x64-glibc@2.5.1:
581 | resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
582 | engines: {node: '>= 10.0.0'}
583 | cpu: [x64]
584 | os: [linux]
585 | requiresBuild: true
586 | optional: true
587 |
588 | /@parcel/watcher-linux-x64-musl@2.5.1:
589 | resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
590 | engines: {node: '>= 10.0.0'}
591 | cpu: [x64]
592 | os: [linux]
593 | requiresBuild: true
594 | optional: true
595 |
596 | /@parcel/watcher-win32-arm64@2.5.1:
597 | resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
598 | engines: {node: '>= 10.0.0'}
599 | cpu: [arm64]
600 | os: [win32]
601 | requiresBuild: true
602 | optional: true
603 |
604 | /@parcel/watcher-win32-ia32@2.5.1:
605 | resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==}
606 | engines: {node: '>= 10.0.0'}
607 | cpu: [ia32]
608 | os: [win32]
609 | requiresBuild: true
610 | optional: true
611 |
612 | /@parcel/watcher-win32-x64@2.5.1:
613 | resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==}
614 | engines: {node: '>= 10.0.0'}
615 | cpu: [x64]
616 | os: [win32]
617 | requiresBuild: true
618 | optional: true
619 |
620 | /@parcel/watcher@2.5.1:
621 | resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==}
622 | engines: {node: '>= 10.0.0'}
623 | requiresBuild: true
624 | dependencies:
625 | detect-libc: 1.0.3
626 | is-glob: 4.0.3
627 | micromatch: 4.0.8
628 | node-addon-api: 7.1.1
629 | optionalDependencies:
630 | '@parcel/watcher-android-arm64': 2.5.1
631 | '@parcel/watcher-darwin-arm64': 2.5.1
632 | '@parcel/watcher-darwin-x64': 2.5.1
633 | '@parcel/watcher-freebsd-x64': 2.5.1
634 | '@parcel/watcher-linux-arm-glibc': 2.5.1
635 | '@parcel/watcher-linux-arm-musl': 2.5.1
636 | '@parcel/watcher-linux-arm64-glibc': 2.5.1
637 | '@parcel/watcher-linux-arm64-musl': 2.5.1
638 | '@parcel/watcher-linux-x64-glibc': 2.5.1
639 | '@parcel/watcher-linux-x64-musl': 2.5.1
640 | '@parcel/watcher-win32-arm64': 2.5.1
641 | '@parcel/watcher-win32-ia32': 2.5.1
642 | '@parcel/watcher-win32-x64': 2.5.1
643 | optional: true
644 |
645 | /@rolldown/binding-android-arm64@1.0.0-beta.34:
646 | resolution: {integrity: sha512-jf5GNe5jP3Sr1Tih0WKvg2bzvh5T/1TA0fn1u32xSH7ca/p5t+/QRr4VRFCV/na5vjwKEhwWrChsL2AWlY+eoA==}
647 | cpu: [arm64]
648 | os: [android]
649 | requiresBuild: true
650 | dev: true
651 | optional: true
652 |
653 | /@rolldown/binding-darwin-arm64@1.0.0-beta.34:
654 | resolution: {integrity: sha512-2F/TqH4QuJQ34tgWxqBjFL3XV1gMzeQgUO8YRtCPGBSP0GhxtoFzsp7KqmQEothsxztlv+KhhT9Dbg3HHwHViQ==}
655 | cpu: [arm64]
656 | os: [darwin]
657 | requiresBuild: true
658 | dev: true
659 | optional: true
660 |
661 | /@rolldown/binding-darwin-x64@1.0.0-beta.34:
662 | resolution: {integrity: sha512-E1QuFslgLWbHQ8Qli/AqUKdfg0pockQPwRxVbhNQ74SciZEZpzLaujkdmOLSccMlSXDfFCF8RPnMoRAzQ9JV8Q==}
663 | cpu: [x64]
664 | os: [darwin]
665 | requiresBuild: true
666 | dev: true
667 | optional: true
668 |
669 | /@rolldown/binding-freebsd-x64@1.0.0-beta.34:
670 | resolution: {integrity: sha512-VS8VInNCwnkpI9WeQaWu3kVBq9ty6g7KrHdLxYMzeqz24+w9hg712TcWdqzdY6sn+24lUoMD9jTZrZ/qfVpk0g==}
671 | cpu: [x64]
672 | os: [freebsd]
673 | requiresBuild: true
674 | dev: true
675 | optional: true
676 |
677 | /@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.34:
678 | resolution: {integrity: sha512-4St4emjcnULnxJYb/5ZDrH/kK/j6PcUgc3eAqH5STmTrcF+I9m/X2xvSF2a2bWv1DOQhxBewThu0KkwGHdgu5w==}
679 | cpu: [arm]
680 | os: [linux]
681 | requiresBuild: true
682 | dev: true
683 | optional: true
684 |
685 | /@rolldown/binding-linux-arm64-gnu@1.0.0-beta.34:
686 | resolution: {integrity: sha512-a737FTqhFUoWfnebS2SnQ2BS50p0JdukdkUBwy2J06j4hZ6Eej0zEB8vTfAqoCjn8BQKkXBy+3Sx0IRkgwz1gA==}
687 | cpu: [arm64]
688 | os: [linux]
689 | requiresBuild: true
690 | dev: true
691 | optional: true
692 |
693 | /@rolldown/binding-linux-arm64-musl@1.0.0-beta.34:
694 | resolution: {integrity: sha512-NH+FeQWKyuw0k+PbXqpFWNfvD8RPvfJk766B/njdaWz4TmiEcSB0Nb6guNw1rBpM1FmltQYb3fFnTumtC6pRfA==}
695 | cpu: [arm64]
696 | os: [linux]
697 | requiresBuild: true
698 | dev: true
699 | optional: true
700 |
701 | /@rolldown/binding-linux-x64-gnu@1.0.0-beta.34:
702 | resolution: {integrity: sha512-Q3RSCivp8pNadYK8ke3hLnQk08BkpZX9BmMjgwae2FWzdxhxxUiUzd9By7kneUL0vRQ4uRnhD9VkFQ+Haeqdvw==}
703 | cpu: [x64]
704 | os: [linux]
705 | requiresBuild: true
706 | dev: true
707 | optional: true
708 |
709 | /@rolldown/binding-linux-x64-musl@1.0.0-beta.34:
710 | resolution: {integrity: sha512-wDd/HrNcVoBhWWBUW3evJHoo7GJE/RofssBy3Dsiip05YUBmokQVrYAyrboOY4dzs/lJ7HYeBtWQ9hj8wlyF0A==}
711 | cpu: [x64]
712 | os: [linux]
713 | requiresBuild: true
714 | dev: true
715 | optional: true
716 |
717 | /@rolldown/binding-openharmony-arm64@1.0.0-beta.34:
718 | resolution: {integrity: sha512-dH3FTEV6KTNWpYSgjSXZzeX7vLty9oBYn6R3laEdhwZftQwq030LKL+5wyQdlbX5pnbh4h127hpv3Hl1+sj8dg==}
719 | cpu: [arm64]
720 | os: [openharmony]
721 | requiresBuild: true
722 | dev: true
723 | optional: true
724 |
725 | /@rolldown/binding-wasm32-wasi@1.0.0-beta.34:
726 | resolution: {integrity: sha512-y5BUf+QtO0JsIDKA51FcGwvhJmv89BYjUl8AmN7jqD6k/eU55mH6RJYnxwCsODq5m7KSSTigVb6O7/GqB8wbPw==}
727 | engines: {node: '>=14.0.0'}
728 | cpu: [wasm32]
729 | requiresBuild: true
730 | dependencies:
731 | '@napi-rs/wasm-runtime': 1.0.3
732 | dev: true
733 | optional: true
734 |
735 | /@rolldown/binding-win32-arm64-msvc@1.0.0-beta.34:
736 | resolution: {integrity: sha512-ga5hFhdTwpaNxEiuxZHWnD3ed0GBAzbgzS5tRHpe0ObptxM1a9Xrq6TVfNQirBLwb5Y7T/FJmJi3pmdLy95ljg==}
737 | cpu: [arm64]
738 | os: [win32]
739 | requiresBuild: true
740 | dev: true
741 | optional: true
742 |
743 | /@rolldown/binding-win32-ia32-msvc@1.0.0-beta.34:
744 | resolution: {integrity: sha512-4/MBp9T9eRnZskxWr8EXD/xHvLhdjWaeX/qY9LPRG1JdCGV3DphkLTy5AWwIQ5jhAy2ZNJR5z2fYRlpWU0sIyQ==}
745 | cpu: [ia32]
746 | os: [win32]
747 | requiresBuild: true
748 | dev: true
749 | optional: true
750 |
751 | /@rolldown/binding-win32-x64-msvc@1.0.0-beta.34:
752 | resolution: {integrity: sha512-7O5iUBX6HSBKlQU4WykpUoEmb0wQmonb6ziKFr3dJTHud2kzDnWMqk344T0qm3uGv9Ddq6Re/94pInxo1G2d4w==}
753 | cpu: [x64]
754 | os: [win32]
755 | requiresBuild: true
756 | dev: true
757 | optional: true
758 |
759 | /@rolldown/pluginutils@1.0.0-beta.29:
760 | resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==}
761 | dev: true
762 |
763 | /@rolldown/pluginutils@1.0.0-beta.34:
764 | resolution: {integrity: sha512-LyAREkZHP5pMom7c24meKmJCdhf2hEyvam2q0unr3or9ydwDL+DJ8chTF6Av/RFPb3rH8UFBdMzO5MxTZW97oA==}
765 | dev: true
766 |
767 | /@rollup/rollup-android-arm-eabi@4.50.0:
768 | resolution: {integrity: sha512-lVgpeQyy4fWN5QYebtW4buT/4kn4p4IJ+kDNB4uYNT5b8c8DLJDg6titg20NIg7E8RWwdWZORW6vUFfrLyG3KQ==}
769 | cpu: [arm]
770 | os: [android]
771 | requiresBuild: true
772 | optional: true
773 |
774 | /@rollup/rollup-android-arm64@4.50.0:
775 | resolution: {integrity: sha512-2O73dR4Dc9bp+wSYhviP6sDziurB5/HCym7xILKifWdE9UsOe2FtNcM+I4xZjKrfLJnq5UR8k9riB87gauiQtw==}
776 | cpu: [arm64]
777 | os: [android]
778 | requiresBuild: true
779 | optional: true
780 |
781 | /@rollup/rollup-darwin-arm64@4.50.0:
782 | resolution: {integrity: sha512-vwSXQN8T4sKf1RHr1F0s98Pf8UPz7pS6P3LG9NSmuw0TVh7EmaE+5Ny7hJOZ0M2yuTctEsHHRTMi2wuHkdS6Hg==}
783 | cpu: [arm64]
784 | os: [darwin]
785 | requiresBuild: true
786 | optional: true
787 |
788 | /@rollup/rollup-darwin-x64@4.50.0:
789 | resolution: {integrity: sha512-cQp/WG8HE7BCGyFVuzUg0FNmupxC+EPZEwWu2FCGGw5WDT1o2/YlENbm5e9SMvfDFR6FRhVCBePLqj0o8MN7Vw==}
790 | cpu: [x64]
791 | os: [darwin]
792 | requiresBuild: true
793 | optional: true
794 |
795 | /@rollup/rollup-freebsd-arm64@4.50.0:
796 | resolution: {integrity: sha512-UR1uTJFU/p801DvvBbtDD7z9mQL8J80xB0bR7DqW7UGQHRm/OaKzp4is7sQSdbt2pjjSS72eAtRh43hNduTnnQ==}
797 | cpu: [arm64]
798 | os: [freebsd]
799 | requiresBuild: true
800 | optional: true
801 |
802 | /@rollup/rollup-freebsd-x64@4.50.0:
803 | resolution: {integrity: sha512-G/DKyS6PK0dD0+VEzH/6n/hWDNPDZSMBmqsElWnCRGrYOb2jC0VSupp7UAHHQ4+QILwkxSMaYIbQ72dktp8pKA==}
804 | cpu: [x64]
805 | os: [freebsd]
806 | requiresBuild: true
807 | optional: true
808 |
809 | /@rollup/rollup-linux-arm-gnueabihf@4.50.0:
810 | resolution: {integrity: sha512-u72Mzc6jyJwKjJbZZcIYmd9bumJu7KNmHYdue43vT1rXPm2rITwmPWF0mmPzLm9/vJWxIRbao/jrQmxTO0Sm9w==}
811 | cpu: [arm]
812 | os: [linux]
813 | requiresBuild: true
814 | optional: true
815 |
816 | /@rollup/rollup-linux-arm-musleabihf@4.50.0:
817 | resolution: {integrity: sha512-S4UefYdV0tnynDJV1mdkNawp0E5Qm2MtSs330IyHgaccOFrwqsvgigUD29uT+B/70PDY1eQ3t40+xf6wIvXJyg==}
818 | cpu: [arm]
819 | os: [linux]
820 | requiresBuild: true
821 | optional: true
822 |
823 | /@rollup/rollup-linux-arm64-gnu@4.50.0:
824 | resolution: {integrity: sha512-1EhkSvUQXJsIhk4msxP5nNAUWoB4MFDHhtc4gAYvnqoHlaL9V3F37pNHabndawsfy/Tp7BPiy/aSa6XBYbaD1g==}
825 | cpu: [arm64]
826 | os: [linux]
827 | requiresBuild: true
828 | optional: true
829 |
830 | /@rollup/rollup-linux-arm64-musl@4.50.0:
831 | resolution: {integrity: sha512-EtBDIZuDtVg75xIPIK1l5vCXNNCIRM0OBPUG+tbApDuJAy9mKago6QxX+tfMzbCI6tXEhMuZuN1+CU8iDW+0UQ==}
832 | cpu: [arm64]
833 | os: [linux]
834 | requiresBuild: true
835 | optional: true
836 |
837 | /@rollup/rollup-linux-loongarch64-gnu@4.50.0:
838 | resolution: {integrity: sha512-BGYSwJdMP0hT5CCmljuSNx7+k+0upweM2M4YGfFBjnFSZMHOLYR0gEEj/dxyYJ6Zc6AiSeaBY8dWOa11GF/ppQ==}
839 | cpu: [loong64]
840 | os: [linux]
841 | requiresBuild: true
842 | optional: true
843 |
844 | /@rollup/rollup-linux-ppc64-gnu@4.50.0:
845 | resolution: {integrity: sha512-I1gSMzkVe1KzAxKAroCJL30hA4DqSi+wGc5gviD0y3IL/VkvcnAqwBf4RHXHyvH66YVHxpKO8ojrgc4SrWAnLg==}
846 | cpu: [ppc64]
847 | os: [linux]
848 | requiresBuild: true
849 | optional: true
850 |
851 | /@rollup/rollup-linux-riscv64-gnu@4.50.0:
852 | resolution: {integrity: sha512-bSbWlY3jZo7molh4tc5dKfeSxkqnf48UsLqYbUhnkdnfgZjgufLS/NTA8PcP/dnvct5CCdNkABJ56CbclMRYCA==}
853 | cpu: [riscv64]
854 | os: [linux]
855 | requiresBuild: true
856 | optional: true
857 |
858 | /@rollup/rollup-linux-riscv64-musl@4.50.0:
859 | resolution: {integrity: sha512-LSXSGumSURzEQLT2e4sFqFOv3LWZsEF8FK7AAv9zHZNDdMnUPYH3t8ZlaeYYZyTXnsob3htwTKeWtBIkPV27iQ==}
860 | cpu: [riscv64]
861 | os: [linux]
862 | requiresBuild: true
863 | optional: true
864 |
865 | /@rollup/rollup-linux-s390x-gnu@4.50.0:
866 | resolution: {integrity: sha512-CxRKyakfDrsLXiCyucVfVWVoaPA4oFSpPpDwlMcDFQvrv3XY6KEzMtMZrA+e/goC8xxp2WSOxHQubP8fPmmjOQ==}
867 | cpu: [s390x]
868 | os: [linux]
869 | requiresBuild: true
870 | optional: true
871 |
872 | /@rollup/rollup-linux-x64-gnu@4.50.0:
873 | resolution: {integrity: sha512-8PrJJA7/VU8ToHVEPu14FzuSAqVKyo5gg/J8xUerMbyNkWkO9j2ExBho/68RnJsMGNJq4zH114iAttgm7BZVkA==}
874 | cpu: [x64]
875 | os: [linux]
876 | requiresBuild: true
877 | optional: true
878 |
879 | /@rollup/rollup-linux-x64-musl@4.50.0:
880 | resolution: {integrity: sha512-SkE6YQp+CzpyOrbw7Oc4MgXFvTw2UIBElvAvLCo230pyxOLmYwRPwZ/L5lBe/VW/qT1ZgND9wJfOsdy0XptRvw==}
881 | cpu: [x64]
882 | os: [linux]
883 | requiresBuild: true
884 | optional: true
885 |
886 | /@rollup/rollup-openharmony-arm64@4.50.0:
887 | resolution: {integrity: sha512-PZkNLPfvXeIOgJWA804zjSFH7fARBBCpCXxgkGDRjjAhRLOR8o0IGS01ykh5GYfod4c2yiiREuDM8iZ+pVsT+Q==}
888 | cpu: [arm64]
889 | os: [openharmony]
890 | requiresBuild: true
891 | optional: true
892 |
893 | /@rollup/rollup-win32-arm64-msvc@4.50.0:
894 | resolution: {integrity: sha512-q7cIIdFvWQoaCbLDUyUc8YfR3Jh2xx3unO8Dn6/TTogKjfwrax9SyfmGGK6cQhKtjePI7jRfd7iRYcxYs93esg==}
895 | cpu: [arm64]
896 | os: [win32]
897 | requiresBuild: true
898 | optional: true
899 |
900 | /@rollup/rollup-win32-ia32-msvc@4.50.0:
901 | resolution: {integrity: sha512-XzNOVg/YnDOmFdDKcxxK410PrcbcqZkBmz+0FicpW5jtjKQxcW1BZJEQOF0NJa6JO7CZhett8GEtRN/wYLYJuw==}
902 | cpu: [ia32]
903 | os: [win32]
904 | requiresBuild: true
905 | optional: true
906 |
907 | /@rollup/rollup-win32-x64-msvc@4.50.0:
908 | resolution: {integrity: sha512-xMmiWRR8sp72Zqwjgtf3QbZfF1wdh8X2ABu3EaozvZcyHJeU0r+XAnXdKgs4cCAp6ORoYoCygipYP1mjmbjrsg==}
909 | cpu: [x64]
910 | os: [win32]
911 | requiresBuild: true
912 | optional: true
913 |
914 | /@tybys/wasm-util@0.10.0:
915 | resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==}
916 | requiresBuild: true
917 | dependencies:
918 | tslib: 2.8.1
919 | dev: true
920 | optional: true
921 |
922 | /@types/estree@1.0.8:
923 | resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
924 |
925 | /@types/json-schema@7.0.15:
926 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
927 | dev: true
928 |
929 | /@types/linkify-it@5.0.0:
930 | resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
931 | dev: true
932 |
933 | /@types/markdown-it@14.1.2:
934 | resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
935 | dependencies:
936 | '@types/linkify-it': 5.0.0
937 | '@types/mdurl': 2.0.0
938 | dev: true
939 |
940 | /@types/mdurl@2.0.0:
941 | resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
942 | dev: true
943 |
944 | /@types/web-bluetooth@0.0.21:
945 | resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
946 | dev: true
947 |
948 | /@vitejs/plugin-vue@6.0.1(rolldown-vite@7.1.5)(vue@3.5.21):
949 | resolution: {integrity: sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==}
950 | engines: {node: ^20.19.0 || >=22.12.0}
951 | peerDependencies:
952 | vite: ^5.0.0 || ^6.0.0 || ^7.0.0
953 | vue: ^3.2.25
954 | dependencies:
955 | '@rolldown/pluginutils': 1.0.0-beta.29
956 | vite: /rolldown-vite@7.1.5(sass@1.92.0)
957 | vue: 3.5.21(typescript@5.9.2)
958 | dev: true
959 |
960 | /@vitejs/plugin-vue@6.0.1(vite@7.1.4)(vue@3.5.21):
961 | resolution: {integrity: sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==}
962 | engines: {node: ^20.19.0 || >=22.12.0}
963 | peerDependencies:
964 | vite: ^5.0.0 || ^6.0.0 || ^7.0.0
965 | vue: ^3.2.25
966 | dependencies:
967 | '@rolldown/pluginutils': 1.0.0-beta.29
968 | vite: 7.1.4(sass@1.92.0)
969 | vue: 3.5.21(typescript@5.9.2)
970 | dev: true
971 |
972 | /@volar/language-core@2.4.23:
973 | resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==}
974 | dependencies:
975 | '@volar/source-map': 2.4.23
976 | dev: true
977 |
978 | /@volar/source-map@2.4.23:
979 | resolution: {integrity: sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==}
980 | dev: true
981 |
982 | /@volar/typescript@2.4.23:
983 | resolution: {integrity: sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==}
984 | dependencies:
985 | '@volar/language-core': 2.4.23
986 | path-browserify: 1.0.1
987 | vscode-uri: 3.1.0
988 | dev: true
989 |
990 | /@vue/compiler-core@3.5.21:
991 | resolution: {integrity: sha512-8i+LZ0vf6ZgII5Z9XmUvrCyEzocvWT+TeR2VBUVlzIH6Tyv57E20mPZ1bCS+tbejgUgmjrEh7q/0F0bibskAmw==}
992 | dependencies:
993 | '@babel/parser': 7.28.3
994 | '@vue/shared': 3.5.21
995 | entities: 4.5.0
996 | estree-walker: 2.0.2
997 | source-map-js: 1.2.1
998 |
999 | /@vue/compiler-dom@3.5.21:
1000 | resolution: {integrity: sha512-jNtbu/u97wiyEBJlJ9kmdw7tAr5Vy0Aj5CgQmo+6pxWNQhXZDPsRr1UWPN4v3Zf82s2H3kF51IbzZ4jMWAgPlQ==}
1001 | dependencies:
1002 | '@vue/compiler-core': 3.5.21
1003 | '@vue/shared': 3.5.21
1004 |
1005 | /@vue/compiler-sfc@3.5.21:
1006 | resolution: {integrity: sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==}
1007 | dependencies:
1008 | '@babel/parser': 7.28.3
1009 | '@vue/compiler-core': 3.5.21
1010 | '@vue/compiler-dom': 3.5.21
1011 | '@vue/compiler-ssr': 3.5.21
1012 | '@vue/shared': 3.5.21
1013 | estree-walker: 2.0.2
1014 | magic-string: 0.30.18
1015 | postcss: 8.5.6
1016 | source-map-js: 1.2.1
1017 |
1018 | /@vue/compiler-ssr@3.5.21:
1019 | resolution: {integrity: sha512-vKQ5olH5edFZdf5ZrlEgSO1j1DMA4u23TVK5XR1uMhvwnYvVdDF0nHXJUblL/GvzlShQbjhZZ2uvYmDlAbgo9w==}
1020 | dependencies:
1021 | '@vue/compiler-dom': 3.5.21
1022 | '@vue/shared': 3.5.21
1023 |
1024 | /@vue/compiler-vue2@2.7.16:
1025 | resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
1026 | dependencies:
1027 | de-indent: 1.0.2
1028 | he: 1.2.0
1029 | dev: true
1030 |
1031 | /@vue/language-core@3.0.6(typescript@5.9.2):
1032 | resolution: {integrity: sha512-e2RRzYWm+qGm8apUHW1wA5RQxzNhkqbbKdbKhiDUcmMrNAZGyM8aTiL3UrTqkaFI5s7wJRGGrp4u3jgusuBp2A==}
1033 | peerDependencies:
1034 | typescript: '*'
1035 | peerDependenciesMeta:
1036 | typescript:
1037 | optional: true
1038 | dependencies:
1039 | '@volar/language-core': 2.4.23
1040 | '@vue/compiler-dom': 3.5.21
1041 | '@vue/compiler-vue2': 2.7.16
1042 | '@vue/shared': 3.5.21
1043 | alien-signals: 2.0.7
1044 | muggle-string: 0.4.1
1045 | path-browserify: 1.0.1
1046 | picomatch: 4.0.3
1047 | typescript: 5.9.2
1048 | dev: true
1049 |
1050 | /@vue/reactivity@3.5.21:
1051 | resolution: {integrity: sha512-3ah7sa+Cwr9iiYEERt9JfZKPw4A2UlbY8RbbnH2mGCE8NwHkhmlZt2VsH0oDA3P08X3jJd29ohBDtX+TbD9AsA==}
1052 | dependencies:
1053 | '@vue/shared': 3.5.21
1054 |
1055 | /@vue/runtime-core@3.5.21:
1056 | resolution: {integrity: sha512-+DplQlRS4MXfIf9gfD1BOJpk5RSyGgGXD/R+cumhe8jdjUcq/qlxDawQlSI8hCKupBlvM+3eS1se5xW+SuNAwA==}
1057 | dependencies:
1058 | '@vue/reactivity': 3.5.21
1059 | '@vue/shared': 3.5.21
1060 |
1061 | /@vue/runtime-dom@3.5.21:
1062 | resolution: {integrity: sha512-3M2DZsOFwM5qI15wrMmNF5RJe1+ARijt2HM3TbzBbPSuBHOQpoidE+Pa+XEaVN+czbHf81ETRoG1ltztP2em8w==}
1063 | dependencies:
1064 | '@vue/reactivity': 3.5.21
1065 | '@vue/runtime-core': 3.5.21
1066 | '@vue/shared': 3.5.21
1067 | csstype: 3.1.3
1068 |
1069 | /@vue/server-renderer@3.5.21(vue@3.5.21):
1070 | resolution: {integrity: sha512-qr8AqgD3DJPJcGvLcJKQo2tAc8OnXRcfxhOJCPF+fcfn5bBGz7VCcO7t+qETOPxpWK1mgysXvVT/j+xWaHeMWA==}
1071 | peerDependencies:
1072 | vue: 3.5.21
1073 | dependencies:
1074 | '@vue/compiler-ssr': 3.5.21
1075 | '@vue/shared': 3.5.21
1076 | vue: 3.5.21(typescript@5.9.2)
1077 |
1078 | /@vue/shared@3.5.21:
1079 | resolution: {integrity: sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==}
1080 |
1081 | /@vuetify/loader-shared@2.1.1(vue@3.5.21)(vuetify@3.9.6):
1082 | resolution: {integrity: sha512-jSZTzTYaoiv8iwonFCVZQ0YYX/M+Uyl4ng+C4egMJT0Hcmh9gIxJL89qfZICDeo3g0IhqrvipW2FFKKRDMtVcA==}
1083 | peerDependencies:
1084 | vue: ^3.0.0
1085 | vuetify: ^3.0.0
1086 | dependencies:
1087 | upath: 2.0.1
1088 | vue: 3.5.21(typescript@5.9.2)
1089 | vuetify: 3.9.6(typescript@5.9.2)(vite-plugin-vuetify@2.1.2)(vue@3.5.21)
1090 |
1091 | /@vueuse/core@13.9.0(vue@3.5.21):
1092 | resolution: {integrity: sha512-ts3regBQyURfCE2BcytLqzm8+MmLlo5Ln/KLoxDVcsZ2gzIwVNnQpQOL/UKV8alUqjSZOlpFZcRNsLRqj+OzyA==}
1093 | peerDependencies:
1094 | vue: ^3.5.0
1095 | dependencies:
1096 | '@types/web-bluetooth': 0.0.21
1097 | '@vueuse/metadata': 13.9.0
1098 | '@vueuse/shared': 13.9.0(vue@3.5.21)
1099 | vue: 3.5.21(typescript@5.9.2)
1100 | dev: true
1101 |
1102 | /@vueuse/metadata@13.9.0:
1103 | resolution: {integrity: sha512-1AFRvuiGphfF7yWixZa0KwjYH8ulyjDCC0aFgrGRz8+P4kvDFSdXLVfTk5xAN9wEuD1J6z4/myMoYbnHoX07zg==}
1104 | dev: true
1105 |
1106 | /@vueuse/shared@13.9.0(vue@3.5.21):
1107 | resolution: {integrity: sha512-e89uuTLMh0U5cZ9iDpEI2senqPGfbPRTHM/0AaQkcxnpqjkZqDYP8rpfm7edOz8s+pOCOROEy1PIveSW8+fL5g==}
1108 | peerDependencies:
1109 | vue: ^3.5.0
1110 | dependencies:
1111 | vue: 3.5.21(typescript@5.9.2)
1112 | dev: true
1113 |
1114 | /acorn-jsx@5.3.2(acorn@8.15.0):
1115 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
1116 | peerDependencies:
1117 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
1118 | dependencies:
1119 | acorn: 8.15.0
1120 | dev: true
1121 |
1122 | /acorn@8.15.0:
1123 | resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
1124 | engines: {node: '>=0.4.0'}
1125 | hasBin: true
1126 | dev: true
1127 |
1128 | /ajv@6.12.6:
1129 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
1130 | dependencies:
1131 | fast-deep-equal: 3.1.3
1132 | fast-json-stable-stringify: 2.1.0
1133 | json-schema-traverse: 0.4.1
1134 | uri-js: 4.4.1
1135 | dev: true
1136 |
1137 | /alien-signals@2.0.7:
1138 | resolution: {integrity: sha512-wE7y3jmYeb0+h6mr5BOovuqhFv22O/MV9j5p0ndJsa7z1zJNPGQ4ph5pQk/kTTCWRC3xsA4SmtwmkzQO+7NCNg==}
1139 | dev: true
1140 |
1141 | /ansi-styles@4.3.0:
1142 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
1143 | engines: {node: '>=8'}
1144 | dependencies:
1145 | color-convert: 2.0.1
1146 | dev: true
1147 |
1148 | /ansis@4.1.0:
1149 | resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==}
1150 | engines: {node: '>=14'}
1151 | dev: true
1152 |
1153 | /argparse@2.0.1:
1154 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
1155 | dev: true
1156 |
1157 | /array-union@2.1.0:
1158 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
1159 | engines: {node: '>=8'}
1160 | dev: true
1161 |
1162 | /async@3.2.6:
1163 | resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
1164 | dev: true
1165 |
1166 | /balanced-match@1.0.2:
1167 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1168 | dev: true
1169 |
1170 | /bluebird@3.7.2:
1171 | resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
1172 | dev: true
1173 |
1174 | /boolbase@1.0.0:
1175 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
1176 | dev: true
1177 |
1178 | /brace-expansion@1.1.12:
1179 | resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
1180 | dependencies:
1181 | balanced-match: 1.0.2
1182 | concat-map: 0.0.1
1183 | dev: true
1184 |
1185 | /brace-expansion@2.0.2:
1186 | resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
1187 | dependencies:
1188 | balanced-match: 1.0.2
1189 | dev: true
1190 |
1191 | /braces@3.0.3:
1192 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
1193 | engines: {node: '>=8'}
1194 | requiresBuild: true
1195 | dependencies:
1196 | fill-range: 7.1.1
1197 |
1198 | /callsites@3.1.0:
1199 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1200 | engines: {node: '>=6'}
1201 | dev: true
1202 |
1203 | /catharsis@0.9.0:
1204 | resolution: {integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==}
1205 | engines: {node: '>= 10'}
1206 | dependencies:
1207 | lodash: 4.17.21
1208 | dev: true
1209 |
1210 | /chalk@4.1.2:
1211 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
1212 | engines: {node: '>=10'}
1213 | dependencies:
1214 | ansi-styles: 4.3.0
1215 | supports-color: 7.2.0
1216 | dev: true
1217 |
1218 | /chokidar@4.0.3:
1219 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
1220 | engines: {node: '>= 14.16.0'}
1221 | dependencies:
1222 | readdirp: 4.1.2
1223 |
1224 | /color-convert@2.0.1:
1225 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1226 | engines: {node: '>=7.0.0'}
1227 | dependencies:
1228 | color-name: 1.1.4
1229 | dev: true
1230 |
1231 | /color-name@1.1.4:
1232 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1233 | dev: true
1234 |
1235 | /commander@13.1.0:
1236 | resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
1237 | engines: {node: '>=18'}
1238 | dev: true
1239 |
1240 | /commondir@1.0.1:
1241 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
1242 | dev: true
1243 |
1244 | /concat-map@0.0.1:
1245 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1246 | dev: true
1247 |
1248 | /cross-spawn@7.0.6:
1249 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
1250 | engines: {node: '>= 8'}
1251 | dependencies:
1252 | path-key: 3.1.1
1253 | shebang-command: 2.0.0
1254 | which: 2.0.2
1255 | dev: true
1256 |
1257 | /cssesc@3.0.0:
1258 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
1259 | engines: {node: '>=4'}
1260 | hasBin: true
1261 | dev: true
1262 |
1263 | /csstype@3.1.3:
1264 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
1265 |
1266 | /de-indent@1.0.2:
1267 | resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
1268 | dev: true
1269 |
1270 | /debug@4.4.1:
1271 | resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
1272 | engines: {node: '>=6.0'}
1273 | peerDependencies:
1274 | supports-color: '*'
1275 | peerDependenciesMeta:
1276 | supports-color:
1277 | optional: true
1278 | dependencies:
1279 | ms: 2.1.3
1280 |
1281 | /deep-is@0.1.4:
1282 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1283 | dev: true
1284 |
1285 | /detect-libc@1.0.3:
1286 | resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
1287 | engines: {node: '>=0.10'}
1288 | hasBin: true
1289 | requiresBuild: true
1290 | optional: true
1291 |
1292 | /detect-libc@2.0.4:
1293 | resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
1294 | engines: {node: '>=8'}
1295 | dev: true
1296 |
1297 | /dir-glob@3.0.1:
1298 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
1299 | engines: {node: '>=8'}
1300 | dependencies:
1301 | path-type: 4.0.0
1302 | dev: true
1303 |
1304 | /ejs@3.1.10:
1305 | resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
1306 | engines: {node: '>=0.10.0'}
1307 | hasBin: true
1308 | dependencies:
1309 | jake: 10.9.4
1310 | dev: true
1311 |
1312 | /email-addresses@5.0.0:
1313 | resolution: {integrity: sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==}
1314 | dev: true
1315 |
1316 | /entities@4.5.0:
1317 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
1318 | engines: {node: '>=0.12'}
1319 |
1320 | /esbuild@0.25.9:
1321 | resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==}
1322 | engines: {node: '>=18'}
1323 | hasBin: true
1324 | requiresBuild: true
1325 | optionalDependencies:
1326 | '@esbuild/aix-ppc64': 0.25.9
1327 | '@esbuild/android-arm': 0.25.9
1328 | '@esbuild/android-arm64': 0.25.9
1329 | '@esbuild/android-x64': 0.25.9
1330 | '@esbuild/darwin-arm64': 0.25.9
1331 | '@esbuild/darwin-x64': 0.25.9
1332 | '@esbuild/freebsd-arm64': 0.25.9
1333 | '@esbuild/freebsd-x64': 0.25.9
1334 | '@esbuild/linux-arm': 0.25.9
1335 | '@esbuild/linux-arm64': 0.25.9
1336 | '@esbuild/linux-ia32': 0.25.9
1337 | '@esbuild/linux-loong64': 0.25.9
1338 | '@esbuild/linux-mips64el': 0.25.9
1339 | '@esbuild/linux-ppc64': 0.25.9
1340 | '@esbuild/linux-riscv64': 0.25.9
1341 | '@esbuild/linux-s390x': 0.25.9
1342 | '@esbuild/linux-x64': 0.25.9
1343 | '@esbuild/netbsd-arm64': 0.25.9
1344 | '@esbuild/netbsd-x64': 0.25.9
1345 | '@esbuild/openbsd-arm64': 0.25.9
1346 | '@esbuild/openbsd-x64': 0.25.9
1347 | '@esbuild/openharmony-arm64': 0.25.9
1348 | '@esbuild/sunos-x64': 0.25.9
1349 | '@esbuild/win32-arm64': 0.25.9
1350 | '@esbuild/win32-ia32': 0.25.9
1351 | '@esbuild/win32-x64': 0.25.9
1352 |
1353 | /escape-string-regexp@1.0.5:
1354 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1355 | engines: {node: '>=0.8.0'}
1356 | dev: true
1357 |
1358 | /escape-string-regexp@2.0.0:
1359 | resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
1360 | engines: {node: '>=8'}
1361 | dev: true
1362 |
1363 | /escape-string-regexp@4.0.0:
1364 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1365 | engines: {node: '>=10'}
1366 | dev: true
1367 |
1368 | /eslint-config-prettier@10.1.8(eslint@9.34.0):
1369 | resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==}
1370 | hasBin: true
1371 | peerDependencies:
1372 | eslint: '>=7.0.0'
1373 | dependencies:
1374 | eslint: 9.34.0
1375 | dev: true
1376 |
1377 | /eslint-plugin-vue@10.4.0(eslint@9.34.0)(vue-eslint-parser@10.2.0):
1378 | resolution: {integrity: sha512-K6tP0dW8FJVZLQxa2S7LcE1lLw3X8VvB3t887Q6CLrFVxHYBXGANbXvwNzYIu6Ughx1bSJ5BDT0YB3ybPT39lw==}
1379 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1380 | peerDependencies:
1381 | '@typescript-eslint/parser': ^7.0.0 || ^8.0.0
1382 | eslint: ^8.57.0 || ^9.0.0
1383 | vue-eslint-parser: ^10.0.0
1384 | peerDependenciesMeta:
1385 | '@typescript-eslint/parser':
1386 | optional: true
1387 | dependencies:
1388 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0)
1389 | eslint: 9.34.0
1390 | natural-compare: 1.4.0
1391 | nth-check: 2.1.1
1392 | postcss-selector-parser: 6.1.2
1393 | semver: 7.7.2
1394 | vue-eslint-parser: 10.2.0(eslint@9.34.0)
1395 | xml-name-validator: 4.0.0
1396 | dev: true
1397 |
1398 | /eslint-scope@8.4.0:
1399 | resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
1400 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1401 | dependencies:
1402 | esrecurse: 4.3.0
1403 | estraverse: 5.3.0
1404 | dev: true
1405 |
1406 | /eslint-visitor-keys@3.4.3:
1407 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1408 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1409 | dev: true
1410 |
1411 | /eslint-visitor-keys@4.2.1:
1412 | resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
1413 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1414 | dev: true
1415 |
1416 | /eslint@9.34.0:
1417 | resolution: {integrity: sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==}
1418 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1419 | hasBin: true
1420 | peerDependencies:
1421 | jiti: '*'
1422 | peerDependenciesMeta:
1423 | jiti:
1424 | optional: true
1425 | dependencies:
1426 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.34.0)
1427 | '@eslint-community/regexpp': 4.12.1
1428 | '@eslint/config-array': 0.21.0
1429 | '@eslint/config-helpers': 0.3.1
1430 | '@eslint/core': 0.15.2
1431 | '@eslint/eslintrc': 3.3.1
1432 | '@eslint/js': 9.34.0
1433 | '@eslint/plugin-kit': 0.3.5
1434 | '@humanfs/node': 0.16.6
1435 | '@humanwhocodes/module-importer': 1.0.1
1436 | '@humanwhocodes/retry': 0.4.3
1437 | '@types/estree': 1.0.8
1438 | '@types/json-schema': 7.0.15
1439 | ajv: 6.12.6
1440 | chalk: 4.1.2
1441 | cross-spawn: 7.0.6
1442 | debug: 4.4.1
1443 | escape-string-regexp: 4.0.0
1444 | eslint-scope: 8.4.0
1445 | eslint-visitor-keys: 4.2.1
1446 | espree: 10.4.0
1447 | esquery: 1.6.0
1448 | esutils: 2.0.3
1449 | fast-deep-equal: 3.1.3
1450 | file-entry-cache: 8.0.0
1451 | find-up: 5.0.0
1452 | glob-parent: 6.0.2
1453 | ignore: 5.3.2
1454 | imurmurhash: 0.1.4
1455 | is-glob: 4.0.3
1456 | json-stable-stringify-without-jsonify: 1.0.1
1457 | lodash.merge: 4.6.2
1458 | minimatch: 3.1.2
1459 | natural-compare: 1.4.0
1460 | optionator: 0.9.4
1461 | transitivePeerDependencies:
1462 | - supports-color
1463 | dev: true
1464 |
1465 | /espree@10.4.0:
1466 | resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
1467 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1468 | dependencies:
1469 | acorn: 8.15.0
1470 | acorn-jsx: 5.3.2(acorn@8.15.0)
1471 | eslint-visitor-keys: 4.2.1
1472 | dev: true
1473 |
1474 | /esquery@1.6.0:
1475 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
1476 | engines: {node: '>=0.10'}
1477 | dependencies:
1478 | estraverse: 5.3.0
1479 | dev: true
1480 |
1481 | /esrecurse@4.3.0:
1482 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1483 | engines: {node: '>=4.0'}
1484 | dependencies:
1485 | estraverse: 5.3.0
1486 | dev: true
1487 |
1488 | /estraverse@5.3.0:
1489 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1490 | engines: {node: '>=4.0'}
1491 | dev: true
1492 |
1493 | /estree-walker@2.0.2:
1494 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1495 |
1496 | /esutils@2.0.3:
1497 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1498 | engines: {node: '>=0.10.0'}
1499 | dev: true
1500 |
1501 | /fast-deep-equal@3.1.3:
1502 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1503 | dev: true
1504 |
1505 | /fast-glob@3.3.3:
1506 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
1507 | engines: {node: '>=8.6.0'}
1508 | dependencies:
1509 | '@nodelib/fs.stat': 2.0.5
1510 | '@nodelib/fs.walk': 1.2.8
1511 | glob-parent: 5.1.2
1512 | merge2: 1.4.1
1513 | micromatch: 4.0.8
1514 | dev: true
1515 |
1516 | /fast-json-stable-stringify@2.1.0:
1517 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1518 | dev: true
1519 |
1520 | /fast-levenshtein@2.0.6:
1521 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1522 | dev: true
1523 |
1524 | /fastq@1.19.1:
1525 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
1526 | dependencies:
1527 | reusify: 1.1.0
1528 | dev: true
1529 |
1530 | /fdir@6.5.0(picomatch@4.0.3):
1531 | resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
1532 | engines: {node: '>=12.0.0'}
1533 | peerDependencies:
1534 | picomatch: ^3 || ^4
1535 | peerDependenciesMeta:
1536 | picomatch:
1537 | optional: true
1538 | dependencies:
1539 | picomatch: 4.0.3
1540 |
1541 | /file-entry-cache@8.0.0:
1542 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
1543 | engines: {node: '>=16.0.0'}
1544 | dependencies:
1545 | flat-cache: 4.0.1
1546 | dev: true
1547 |
1548 | /filelist@1.0.4:
1549 | resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
1550 | dependencies:
1551 | minimatch: 5.1.6
1552 | dev: true
1553 |
1554 | /filename-reserved-regex@2.0.0:
1555 | resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==}
1556 | engines: {node: '>=4'}
1557 | dev: true
1558 |
1559 | /filenamify@4.3.0:
1560 | resolution: {integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==}
1561 | engines: {node: '>=8'}
1562 | dependencies:
1563 | filename-reserved-regex: 2.0.0
1564 | strip-outer: 1.0.1
1565 | trim-repeated: 1.0.0
1566 | dev: true
1567 |
1568 | /fill-range@7.1.1:
1569 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
1570 | engines: {node: '>=8'}
1571 | requiresBuild: true
1572 | dependencies:
1573 | to-regex-range: 5.0.1
1574 |
1575 | /find-cache-dir@3.3.2:
1576 | resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
1577 | engines: {node: '>=8'}
1578 | dependencies:
1579 | commondir: 1.0.1
1580 | make-dir: 3.1.0
1581 | pkg-dir: 4.2.0
1582 | dev: true
1583 |
1584 | /find-up@4.1.0:
1585 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
1586 | engines: {node: '>=8'}
1587 | dependencies:
1588 | locate-path: 5.0.0
1589 | path-exists: 4.0.0
1590 | dev: true
1591 |
1592 | /find-up@5.0.0:
1593 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1594 | engines: {node: '>=10'}
1595 | dependencies:
1596 | locate-path: 6.0.0
1597 | path-exists: 4.0.0
1598 | dev: true
1599 |
1600 | /flat-cache@4.0.1:
1601 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
1602 | engines: {node: '>=16'}
1603 | dependencies:
1604 | flatted: 3.3.3
1605 | keyv: 4.5.4
1606 | dev: true
1607 |
1608 | /flatted@3.3.3:
1609 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
1610 | dev: true
1611 |
1612 | /fs-extra@11.3.1:
1613 | resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==}
1614 | engines: {node: '>=14.14'}
1615 | dependencies:
1616 | graceful-fs: 4.2.11
1617 | jsonfile: 6.2.0
1618 | universalify: 2.0.1
1619 | dev: true
1620 |
1621 | /fsevents@2.3.3:
1622 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1623 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1624 | os: [darwin]
1625 | requiresBuild: true
1626 | optional: true
1627 |
1628 | /gh-pages@6.3.0:
1629 | resolution: {integrity: sha512-Ot5lU6jK0Eb+sszG8pciXdjMXdBJ5wODvgjR+imihTqsUWF2K6dJ9HST55lgqcs8wWcw6o6wAsUzfcYRhJPXbA==}
1630 | engines: {node: '>=10'}
1631 | hasBin: true
1632 | dependencies:
1633 | async: 3.2.6
1634 | commander: 13.1.0
1635 | email-addresses: 5.0.0
1636 | filenamify: 4.3.0
1637 | find-cache-dir: 3.3.2
1638 | fs-extra: 11.3.1
1639 | globby: 11.1.0
1640 | dev: true
1641 |
1642 | /glob-parent@5.1.2:
1643 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1644 | engines: {node: '>= 6'}
1645 | dependencies:
1646 | is-glob: 4.0.3
1647 | dev: true
1648 |
1649 | /glob-parent@6.0.2:
1650 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1651 | engines: {node: '>=10.13.0'}
1652 | dependencies:
1653 | is-glob: 4.0.3
1654 | dev: true
1655 |
1656 | /globals@14.0.0:
1657 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
1658 | engines: {node: '>=18'}
1659 | dev: true
1660 |
1661 | /globals@16.3.0:
1662 | resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==}
1663 | engines: {node: '>=18'}
1664 | dev: true
1665 |
1666 | /globby@11.1.0:
1667 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1668 | engines: {node: '>=10'}
1669 | dependencies:
1670 | array-union: 2.1.0
1671 | dir-glob: 3.0.1
1672 | fast-glob: 3.3.3
1673 | ignore: 5.3.2
1674 | merge2: 1.4.1
1675 | slash: 3.0.0
1676 | dev: true
1677 |
1678 | /graceful-fs@4.2.11:
1679 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1680 | dev: true
1681 |
1682 | /has-flag@4.0.0:
1683 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1684 | engines: {node: '>=8'}
1685 | dev: true
1686 |
1687 | /he@1.2.0:
1688 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
1689 | hasBin: true
1690 | dev: true
1691 |
1692 | /ignore@5.3.2:
1693 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
1694 | engines: {node: '>= 4'}
1695 | dev: true
1696 |
1697 | /immutable@5.1.3:
1698 | resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==}
1699 |
1700 | /import-fresh@3.3.1:
1701 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
1702 | engines: {node: '>=6'}
1703 | dependencies:
1704 | parent-module: 1.0.1
1705 | resolve-from: 4.0.0
1706 | dev: true
1707 |
1708 | /imurmurhash@0.1.4:
1709 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1710 | engines: {node: '>=0.8.19'}
1711 | dev: true
1712 |
1713 | /is-extglob@2.1.1:
1714 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1715 | engines: {node: '>=0.10.0'}
1716 |
1717 | /is-glob@4.0.3:
1718 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1719 | engines: {node: '>=0.10.0'}
1720 | dependencies:
1721 | is-extglob: 2.1.1
1722 |
1723 | /is-number@7.0.0:
1724 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1725 | engines: {node: '>=0.12.0'}
1726 | requiresBuild: true
1727 |
1728 | /isexe@2.0.0:
1729 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1730 | dev: true
1731 |
1732 | /jake@10.9.4:
1733 | resolution: {integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==}
1734 | engines: {node: '>=10'}
1735 | hasBin: true
1736 | dependencies:
1737 | async: 3.2.6
1738 | filelist: 1.0.4
1739 | picocolors: 1.1.1
1740 | dev: true
1741 |
1742 | /js-yaml@4.1.0:
1743 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1744 | hasBin: true
1745 | dependencies:
1746 | argparse: 2.0.1
1747 | dev: true
1748 |
1749 | /js2xmlparser@4.0.2:
1750 | resolution: {integrity: sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==}
1751 | dependencies:
1752 | xmlcreate: 2.0.4
1753 | dev: true
1754 |
1755 | /jsdoc-vuejs@4.0.0(@vue/compiler-sfc@3.5.21)(jsdoc@4.0.4):
1756 | resolution: {integrity: sha512-wZveVFpC6sG9+g9qN0xi87zFmwFjeX/nqlKMK6ArXjOw2GCL7LUc87FE90yb9LZxbhBIOiNJbjlN+X52hfhpsA==}
1757 | engines: {node: ^10.13.0 || >=12.0.0}
1758 | peerDependencies:
1759 | '@vue/compiler-sfc': '>= 3.0.0'
1760 | jsdoc: '>=3.0.0'
1761 | dependencies:
1762 | '@vue/compiler-sfc': 3.5.21
1763 | ejs: 3.1.10
1764 | jsdoc: 4.0.4
1765 | dev: true
1766 |
1767 | /jsdoc@4.0.4:
1768 | resolution: {integrity: sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw==}
1769 | engines: {node: '>=12.0.0'}
1770 | hasBin: true
1771 | dependencies:
1772 | '@babel/parser': 7.28.3
1773 | '@jsdoc/salty': 0.2.9
1774 | '@types/markdown-it': 14.1.2
1775 | bluebird: 3.7.2
1776 | catharsis: 0.9.0
1777 | escape-string-regexp: 2.0.0
1778 | js2xmlparser: 4.0.2
1779 | klaw: 3.0.0
1780 | markdown-it: 14.1.0
1781 | markdown-it-anchor: 8.6.7(@types/markdown-it@14.1.2)(markdown-it@14.1.0)
1782 | marked: 4.3.0
1783 | mkdirp: 1.0.4
1784 | requizzle: 0.2.4
1785 | strip-json-comments: 3.1.1
1786 | underscore: 1.13.7
1787 | dev: true
1788 |
1789 | /json-buffer@3.0.1:
1790 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1791 | dev: true
1792 |
1793 | /json-schema-traverse@0.4.1:
1794 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1795 | dev: true
1796 |
1797 | /json-stable-stringify-without-jsonify@1.0.1:
1798 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1799 | dev: true
1800 |
1801 | /jsonfile@6.2.0:
1802 | resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==}
1803 | dependencies:
1804 | universalify: 2.0.1
1805 | optionalDependencies:
1806 | graceful-fs: 4.2.11
1807 | dev: true
1808 |
1809 | /keyv@4.5.4:
1810 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1811 | dependencies:
1812 | json-buffer: 3.0.1
1813 | dev: true
1814 |
1815 | /klaw@3.0.0:
1816 | resolution: {integrity: sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==}
1817 | dependencies:
1818 | graceful-fs: 4.2.11
1819 | dev: true
1820 |
1821 | /levn@0.4.1:
1822 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1823 | engines: {node: '>= 0.8.0'}
1824 | dependencies:
1825 | prelude-ls: 1.2.1
1826 | type-check: 0.4.0
1827 | dev: true
1828 |
1829 | /lightningcss-darwin-arm64@1.30.1:
1830 | resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
1831 | engines: {node: '>= 12.0.0'}
1832 | cpu: [arm64]
1833 | os: [darwin]
1834 | requiresBuild: true
1835 | dev: true
1836 | optional: true
1837 |
1838 | /lightningcss-darwin-x64@1.30.1:
1839 | resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
1840 | engines: {node: '>= 12.0.0'}
1841 | cpu: [x64]
1842 | os: [darwin]
1843 | requiresBuild: true
1844 | dev: true
1845 | optional: true
1846 |
1847 | /lightningcss-freebsd-x64@1.30.1:
1848 | resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
1849 | engines: {node: '>= 12.0.0'}
1850 | cpu: [x64]
1851 | os: [freebsd]
1852 | requiresBuild: true
1853 | dev: true
1854 | optional: true
1855 |
1856 | /lightningcss-linux-arm-gnueabihf@1.30.1:
1857 | resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
1858 | engines: {node: '>= 12.0.0'}
1859 | cpu: [arm]
1860 | os: [linux]
1861 | requiresBuild: true
1862 | dev: true
1863 | optional: true
1864 |
1865 | /lightningcss-linux-arm64-gnu@1.30.1:
1866 | resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
1867 | engines: {node: '>= 12.0.0'}
1868 | cpu: [arm64]
1869 | os: [linux]
1870 | requiresBuild: true
1871 | dev: true
1872 | optional: true
1873 |
1874 | /lightningcss-linux-arm64-musl@1.30.1:
1875 | resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
1876 | engines: {node: '>= 12.0.0'}
1877 | cpu: [arm64]
1878 | os: [linux]
1879 | requiresBuild: true
1880 | dev: true
1881 | optional: true
1882 |
1883 | /lightningcss-linux-x64-gnu@1.30.1:
1884 | resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
1885 | engines: {node: '>= 12.0.0'}
1886 | cpu: [x64]
1887 | os: [linux]
1888 | requiresBuild: true
1889 | dev: true
1890 | optional: true
1891 |
1892 | /lightningcss-linux-x64-musl@1.30.1:
1893 | resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
1894 | engines: {node: '>= 12.0.0'}
1895 | cpu: [x64]
1896 | os: [linux]
1897 | requiresBuild: true
1898 | dev: true
1899 | optional: true
1900 |
1901 | /lightningcss-win32-arm64-msvc@1.30.1:
1902 | resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
1903 | engines: {node: '>= 12.0.0'}
1904 | cpu: [arm64]
1905 | os: [win32]
1906 | requiresBuild: true
1907 | dev: true
1908 | optional: true
1909 |
1910 | /lightningcss-win32-x64-msvc@1.30.1:
1911 | resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
1912 | engines: {node: '>= 12.0.0'}
1913 | cpu: [x64]
1914 | os: [win32]
1915 | requiresBuild: true
1916 | dev: true
1917 | optional: true
1918 |
1919 | /lightningcss@1.30.1:
1920 | resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
1921 | engines: {node: '>= 12.0.0'}
1922 | dependencies:
1923 | detect-libc: 2.0.4
1924 | optionalDependencies:
1925 | lightningcss-darwin-arm64: 1.30.1
1926 | lightningcss-darwin-x64: 1.30.1
1927 | lightningcss-freebsd-x64: 1.30.1
1928 | lightningcss-linux-arm-gnueabihf: 1.30.1
1929 | lightningcss-linux-arm64-gnu: 1.30.1
1930 | lightningcss-linux-arm64-musl: 1.30.1
1931 | lightningcss-linux-x64-gnu: 1.30.1
1932 | lightningcss-linux-x64-musl: 1.30.1
1933 | lightningcss-win32-arm64-msvc: 1.30.1
1934 | lightningcss-win32-x64-msvc: 1.30.1
1935 | dev: true
1936 |
1937 | /linkify-it@5.0.0:
1938 | resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
1939 | dependencies:
1940 | uc.micro: 2.1.0
1941 | dev: true
1942 |
1943 | /locate-path@5.0.0:
1944 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
1945 | engines: {node: '>=8'}
1946 | dependencies:
1947 | p-locate: 4.1.0
1948 | dev: true
1949 |
1950 | /locate-path@6.0.0:
1951 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1952 | engines: {node: '>=10'}
1953 | dependencies:
1954 | p-locate: 5.0.0
1955 | dev: true
1956 |
1957 | /lodash.merge@4.6.2:
1958 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1959 | dev: true
1960 |
1961 | /lodash@4.17.21:
1962 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1963 | dev: true
1964 |
1965 | /magic-string@0.30.18:
1966 | resolution: {integrity: sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==}
1967 | dependencies:
1968 | '@jridgewell/sourcemap-codec': 1.5.5
1969 |
1970 | /make-dir@3.1.0:
1971 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
1972 | engines: {node: '>=8'}
1973 | dependencies:
1974 | semver: 6.3.1
1975 | dev: true
1976 |
1977 | /markdown-it-anchor@8.6.7(@types/markdown-it@14.1.2)(markdown-it@14.1.0):
1978 | resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==}
1979 | peerDependencies:
1980 | '@types/markdown-it': '*'
1981 | markdown-it: '*'
1982 | dependencies:
1983 | '@types/markdown-it': 14.1.2
1984 | markdown-it: 14.1.0
1985 | dev: true
1986 |
1987 | /markdown-it@14.1.0:
1988 | resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
1989 | hasBin: true
1990 | dependencies:
1991 | argparse: 2.0.1
1992 | entities: 4.5.0
1993 | linkify-it: 5.0.0
1994 | mdurl: 2.0.0
1995 | punycode.js: 2.3.1
1996 | uc.micro: 2.1.0
1997 | dev: true
1998 |
1999 | /marked@4.3.0:
2000 | resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
2001 | engines: {node: '>= 12'}
2002 | hasBin: true
2003 | dev: true
2004 |
2005 | /mdurl@2.0.0:
2006 | resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
2007 | dev: true
2008 |
2009 | /merge2@1.4.1:
2010 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
2011 | engines: {node: '>= 8'}
2012 | dev: true
2013 |
2014 | /micromatch@4.0.8:
2015 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
2016 | engines: {node: '>=8.6'}
2017 | dependencies:
2018 | braces: 3.0.3
2019 | picomatch: 2.3.1
2020 |
2021 | /minimatch@3.1.2:
2022 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
2023 | dependencies:
2024 | brace-expansion: 1.1.12
2025 | dev: true
2026 |
2027 | /minimatch@5.1.6:
2028 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
2029 | engines: {node: '>=10'}
2030 | dependencies:
2031 | brace-expansion: 2.0.2
2032 | dev: true
2033 |
2034 | /mkdirp@1.0.4:
2035 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
2036 | engines: {node: '>=10'}
2037 | hasBin: true
2038 | dev: true
2039 |
2040 | /ms@2.1.3:
2041 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
2042 |
2043 | /muggle-string@0.4.1:
2044 | resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
2045 | dev: true
2046 |
2047 | /nanoid@3.3.11:
2048 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
2049 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2050 | hasBin: true
2051 |
2052 | /natural-compare@1.4.0:
2053 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
2054 | dev: true
2055 |
2056 | /neo-async@2.6.2:
2057 | resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
2058 | dev: true
2059 |
2060 | /node-addon-api@7.1.1:
2061 | resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
2062 | requiresBuild: true
2063 | optional: true
2064 |
2065 | /nth-check@2.1.1:
2066 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
2067 | dependencies:
2068 | boolbase: 1.0.0
2069 | dev: true
2070 |
2071 | /optionator@0.9.4:
2072 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
2073 | engines: {node: '>= 0.8.0'}
2074 | dependencies:
2075 | deep-is: 0.1.4
2076 | fast-levenshtein: 2.0.6
2077 | levn: 0.4.1
2078 | prelude-ls: 1.2.1
2079 | type-check: 0.4.0
2080 | word-wrap: 1.2.5
2081 | dev: true
2082 |
2083 | /p-limit@2.3.0:
2084 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
2085 | engines: {node: '>=6'}
2086 | dependencies:
2087 | p-try: 2.2.0
2088 | dev: true
2089 |
2090 | /p-limit@3.1.0:
2091 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
2092 | engines: {node: '>=10'}
2093 | dependencies:
2094 | yocto-queue: 0.1.0
2095 | dev: true
2096 |
2097 | /p-locate@4.1.0:
2098 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
2099 | engines: {node: '>=8'}
2100 | dependencies:
2101 | p-limit: 2.3.0
2102 | dev: true
2103 |
2104 | /p-locate@5.0.0:
2105 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
2106 | engines: {node: '>=10'}
2107 | dependencies:
2108 | p-limit: 3.1.0
2109 | dev: true
2110 |
2111 | /p-try@2.2.0:
2112 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
2113 | engines: {node: '>=6'}
2114 | dev: true
2115 |
2116 | /parent-module@1.0.1:
2117 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2118 | engines: {node: '>=6'}
2119 | dependencies:
2120 | callsites: 3.1.0
2121 | dev: true
2122 |
2123 | /path-browserify@1.0.1:
2124 | resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
2125 | dev: true
2126 |
2127 | /path-exists@4.0.0:
2128 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
2129 | engines: {node: '>=8'}
2130 | dev: true
2131 |
2132 | /path-key@3.1.1:
2133 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2134 | engines: {node: '>=8'}
2135 | dev: true
2136 |
2137 | /path-type@4.0.0:
2138 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
2139 | engines: {node: '>=8'}
2140 | dev: true
2141 |
2142 | /picocolors@1.1.1:
2143 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
2144 |
2145 | /picomatch@2.3.1:
2146 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2147 | engines: {node: '>=8.6'}
2148 | requiresBuild: true
2149 |
2150 | /picomatch@4.0.3:
2151 | resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
2152 | engines: {node: '>=12'}
2153 |
2154 | /pkg-dir@4.2.0:
2155 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
2156 | engines: {node: '>=8'}
2157 | dependencies:
2158 | find-up: 4.1.0
2159 | dev: true
2160 |
2161 | /postcss-nested@7.0.2(postcss@8.5.6):
2162 | resolution: {integrity: sha512-5osppouFc0VR9/VYzYxO03VaDa3e8F23Kfd6/9qcZTUI8P58GIYlArOET2Wq0ywSl2o2PjELhYOFI4W7l5QHKw==}
2163 | engines: {node: '>=18.0'}
2164 | peerDependencies:
2165 | postcss: ^8.2.14
2166 | dependencies:
2167 | postcss: 8.5.6
2168 | postcss-selector-parser: 7.1.0
2169 | dev: true
2170 |
2171 | /postcss-selector-parser@6.1.2:
2172 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
2173 | engines: {node: '>=4'}
2174 | dependencies:
2175 | cssesc: 3.0.0
2176 | util-deprecate: 1.0.2
2177 | dev: true
2178 |
2179 | /postcss-selector-parser@7.1.0:
2180 | resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
2181 | engines: {node: '>=4'}
2182 | dependencies:
2183 | cssesc: 3.0.0
2184 | util-deprecate: 1.0.2
2185 | dev: true
2186 |
2187 | /postcss@8.5.6:
2188 | resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
2189 | engines: {node: ^10 || ^12 || >=14}
2190 | dependencies:
2191 | nanoid: 3.3.11
2192 | picocolors: 1.1.1
2193 | source-map-js: 1.2.1
2194 |
2195 | /prelude-ls@1.2.1:
2196 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2197 | engines: {node: '>= 0.8.0'}
2198 | dev: true
2199 |
2200 | /prettier@3.6.2:
2201 | resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
2202 | engines: {node: '>=14'}
2203 | hasBin: true
2204 | dev: true
2205 |
2206 | /prismjs@1.30.0:
2207 | resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
2208 | engines: {node: '>=6'}
2209 | dev: true
2210 |
2211 | /punycode.js@2.3.1:
2212 | resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
2213 | engines: {node: '>=6'}
2214 | dev: true
2215 |
2216 | /punycode@2.3.1:
2217 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
2218 | engines: {node: '>=6'}
2219 | dev: true
2220 |
2221 | /queue-microtask@1.2.3:
2222 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2223 | dev: true
2224 |
2225 | /readdirp@4.1.2:
2226 | resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
2227 | engines: {node: '>= 14.18.0'}
2228 |
2229 | /requizzle@0.2.4:
2230 | resolution: {integrity: sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==}
2231 | dependencies:
2232 | lodash: 4.17.21
2233 | dev: true
2234 |
2235 | /resolve-from@4.0.0:
2236 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2237 | engines: {node: '>=4'}
2238 | dev: true
2239 |
2240 | /reusify@1.1.0:
2241 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
2242 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2243 | dev: true
2244 |
2245 | /roboto-fontface@0.10.0:
2246 | resolution: {integrity: sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g==}
2247 | dev: true
2248 |
2249 | /rolldown-vite@7.1.5(sass@1.92.0):
2250 | resolution: {integrity: sha512-NgHjKatQn1B5TjtNVS3+Uq3JBUPP8s70cMxLzGHpv/UyCGj0SQUtVYImNWbU2uqfOpNSnqhI+nbR7tmPPcb1qQ==}
2251 | engines: {node: ^20.19.0 || >=22.12.0}
2252 | hasBin: true
2253 | peerDependencies:
2254 | '@types/node': ^20.19.0 || >=22.12.0
2255 | esbuild: ^0.25.0
2256 | jiti: '>=1.21.0'
2257 | less: ^4.0.0
2258 | sass: ^1.70.0
2259 | sass-embedded: ^1.70.0
2260 | stylus: '>=0.54.8'
2261 | sugarss: ^5.0.0
2262 | terser: ^5.16.0
2263 | tsx: ^4.8.1
2264 | yaml: ^2.4.2
2265 | peerDependenciesMeta:
2266 | '@types/node':
2267 | optional: true
2268 | esbuild:
2269 | optional: true
2270 | jiti:
2271 | optional: true
2272 | less:
2273 | optional: true
2274 | sass:
2275 | optional: true
2276 | sass-embedded:
2277 | optional: true
2278 | stylus:
2279 | optional: true
2280 | sugarss:
2281 | optional: true
2282 | terser:
2283 | optional: true
2284 | tsx:
2285 | optional: true
2286 | yaml:
2287 | optional: true
2288 | dependencies:
2289 | fdir: 6.5.0(picomatch@4.0.3)
2290 | lightningcss: 1.30.1
2291 | picomatch: 4.0.3
2292 | postcss: 8.5.6
2293 | rolldown: 1.0.0-beta.34
2294 | sass: 1.92.0
2295 | tinyglobby: 0.2.14
2296 | optionalDependencies:
2297 | fsevents: 2.3.3
2298 | dev: true
2299 |
2300 | /rolldown@1.0.0-beta.34:
2301 | resolution: {integrity: sha512-Wwh7EwalMzzX3Yy3VN58VEajeR2Si8+HDNMf706jPLIqU7CxneRW+dQVfznf5O0TWTnJyu4npelwg2bzTXB1Nw==}
2302 | hasBin: true
2303 | dependencies:
2304 | '@oxc-project/runtime': 0.82.3
2305 | '@oxc-project/types': 0.82.3
2306 | '@rolldown/pluginutils': 1.0.0-beta.34
2307 | ansis: 4.1.0
2308 | optionalDependencies:
2309 | '@rolldown/binding-android-arm64': 1.0.0-beta.34
2310 | '@rolldown/binding-darwin-arm64': 1.0.0-beta.34
2311 | '@rolldown/binding-darwin-x64': 1.0.0-beta.34
2312 | '@rolldown/binding-freebsd-x64': 1.0.0-beta.34
2313 | '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.34
2314 | '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.34
2315 | '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.34
2316 | '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.34
2317 | '@rolldown/binding-linux-x64-musl': 1.0.0-beta.34
2318 | '@rolldown/binding-openharmony-arm64': 1.0.0-beta.34
2319 | '@rolldown/binding-wasm32-wasi': 1.0.0-beta.34
2320 | '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.34
2321 | '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.34
2322 | '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.34
2323 | dev: true
2324 |
2325 | /rollup@4.50.0:
2326 | resolution: {integrity: sha512-/Zl4D8zPifNmyGzJS+3kVoyXeDeT/GrsJM94sACNg9RtUE0hrHa1bNPtRSrfHTMH5HjRzce6K7rlTh3Khiw+pw==}
2327 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
2328 | hasBin: true
2329 | dependencies:
2330 | '@types/estree': 1.0.8
2331 | optionalDependencies:
2332 | '@rollup/rollup-android-arm-eabi': 4.50.0
2333 | '@rollup/rollup-android-arm64': 4.50.0
2334 | '@rollup/rollup-darwin-arm64': 4.50.0
2335 | '@rollup/rollup-darwin-x64': 4.50.0
2336 | '@rollup/rollup-freebsd-arm64': 4.50.0
2337 | '@rollup/rollup-freebsd-x64': 4.50.0
2338 | '@rollup/rollup-linux-arm-gnueabihf': 4.50.0
2339 | '@rollup/rollup-linux-arm-musleabihf': 4.50.0
2340 | '@rollup/rollup-linux-arm64-gnu': 4.50.0
2341 | '@rollup/rollup-linux-arm64-musl': 4.50.0
2342 | '@rollup/rollup-linux-loongarch64-gnu': 4.50.0
2343 | '@rollup/rollup-linux-ppc64-gnu': 4.50.0
2344 | '@rollup/rollup-linux-riscv64-gnu': 4.50.0
2345 | '@rollup/rollup-linux-riscv64-musl': 4.50.0
2346 | '@rollup/rollup-linux-s390x-gnu': 4.50.0
2347 | '@rollup/rollup-linux-x64-gnu': 4.50.0
2348 | '@rollup/rollup-linux-x64-musl': 4.50.0
2349 | '@rollup/rollup-openharmony-arm64': 4.50.0
2350 | '@rollup/rollup-win32-arm64-msvc': 4.50.0
2351 | '@rollup/rollup-win32-ia32-msvc': 4.50.0
2352 | '@rollup/rollup-win32-x64-msvc': 4.50.0
2353 | fsevents: 2.3.3
2354 |
2355 | /run-parallel@1.2.0:
2356 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2357 | dependencies:
2358 | queue-microtask: 1.2.3
2359 | dev: true
2360 |
2361 | /sass-loader@16.0.5(sass@1.92.0):
2362 | resolution: {integrity: sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==}
2363 | engines: {node: '>= 18.12.0'}
2364 | peerDependencies:
2365 | '@rspack/core': 0.x || 1.x
2366 | node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
2367 | sass: ^1.3.0
2368 | sass-embedded: '*'
2369 | webpack: ^5.0.0
2370 | peerDependenciesMeta:
2371 | '@rspack/core':
2372 | optional: true
2373 | node-sass:
2374 | optional: true
2375 | sass:
2376 | optional: true
2377 | sass-embedded:
2378 | optional: true
2379 | webpack:
2380 | optional: true
2381 | dependencies:
2382 | neo-async: 2.6.2
2383 | sass: 1.92.0
2384 | dev: true
2385 |
2386 | /sass@1.92.0:
2387 | resolution: {integrity: sha512-KDNI0BxgIRDAfJgzNm5wuy+4yOCIZyrUbjSpiU/JItfih+KGXAVefKL53MTml054MmBA3DDKIBMSI/7XLxZJ3A==}
2388 | engines: {node: '>=14.0.0'}
2389 | hasBin: true
2390 | dependencies:
2391 | chokidar: 4.0.3
2392 | immutable: 5.1.3
2393 | source-map-js: 1.2.1
2394 | optionalDependencies:
2395 | '@parcel/watcher': 2.5.1
2396 |
2397 | /semver@6.3.1:
2398 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
2399 | hasBin: true
2400 | dev: true
2401 |
2402 | /semver@7.7.2:
2403 | resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
2404 | engines: {node: '>=10'}
2405 | hasBin: true
2406 | dev: true
2407 |
2408 | /shebang-command@2.0.0:
2409 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2410 | engines: {node: '>=8'}
2411 | dependencies:
2412 | shebang-regex: 3.0.0
2413 | dev: true
2414 |
2415 | /shebang-regex@3.0.0:
2416 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2417 | engines: {node: '>=8'}
2418 | dev: true
2419 |
2420 | /slash@3.0.0:
2421 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2422 | engines: {node: '>=8'}
2423 | dev: true
2424 |
2425 | /source-map-js@1.2.1:
2426 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
2427 | engines: {node: '>=0.10.0'}
2428 |
2429 | /strip-json-comments@3.1.1:
2430 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2431 | engines: {node: '>=8'}
2432 | dev: true
2433 |
2434 | /strip-outer@1.0.1:
2435 | resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==}
2436 | engines: {node: '>=0.10.0'}
2437 | dependencies:
2438 | escape-string-regexp: 1.0.5
2439 | dev: true
2440 |
2441 | /supports-color@7.2.0:
2442 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2443 | engines: {node: '>=8'}
2444 | dependencies:
2445 | has-flag: 4.0.0
2446 | dev: true
2447 |
2448 | /tiny-emitter@2.1.0:
2449 | resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==}
2450 | dev: false
2451 |
2452 | /tinyglobby@0.2.14:
2453 | resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
2454 | engines: {node: '>=12.0.0'}
2455 | dependencies:
2456 | fdir: 6.5.0(picomatch@4.0.3)
2457 | picomatch: 4.0.3
2458 |
2459 | /to-regex-range@5.0.1:
2460 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2461 | engines: {node: '>=8.0'}
2462 | requiresBuild: true
2463 | dependencies:
2464 | is-number: 7.0.0
2465 |
2466 | /trim-repeated@1.0.0:
2467 | resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==}
2468 | engines: {node: '>=0.10.0'}
2469 | dependencies:
2470 | escape-string-regexp: 1.0.5
2471 | dev: true
2472 |
2473 | /tslib@2.8.1:
2474 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
2475 | requiresBuild: true
2476 | dev: true
2477 | optional: true
2478 |
2479 | /type-check@0.4.0:
2480 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2481 | engines: {node: '>= 0.8.0'}
2482 | dependencies:
2483 | prelude-ls: 1.2.1
2484 | dev: true
2485 |
2486 | /typescript@5.9.2:
2487 | resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
2488 | engines: {node: '>=14.17'}
2489 | hasBin: true
2490 |
2491 | /uc.micro@2.1.0:
2492 | resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
2493 | dev: true
2494 |
2495 | /underscore@1.13.7:
2496 | resolution: {integrity: sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==}
2497 | dev: true
2498 |
2499 | /universalify@2.0.1:
2500 | resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
2501 | engines: {node: '>= 10.0.0'}
2502 | dev: true
2503 |
2504 | /upath@2.0.1:
2505 | resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==}
2506 | engines: {node: '>=4'}
2507 |
2508 | /uri-js@4.4.1:
2509 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2510 | dependencies:
2511 | punycode: 2.3.1
2512 | dev: true
2513 |
2514 | /util-deprecate@1.0.2:
2515 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2516 | dev: true
2517 |
2518 | /vite-plugin-vuetify@2.1.2(vite@7.1.4)(vue@3.5.21)(vuetify@3.9.6):
2519 | resolution: {integrity: sha512-I/wd6QS+DO6lHmuGoi1UTyvvBTQ2KDzQZ9oowJQEJ6OcjWfJnscYXx2ptm6S7fJSASuZT8jGRBL3LV4oS3LpaA==}
2520 | engines: {node: ^18.0.0 || >=20.0.0}
2521 | peerDependencies:
2522 | vite: '>=5'
2523 | vue: ^3.0.0
2524 | vuetify: ^3.0.0
2525 | dependencies:
2526 | '@vuetify/loader-shared': 2.1.1(vue@3.5.21)(vuetify@3.9.6)
2527 | debug: 4.4.1
2528 | upath: 2.0.1
2529 | vite: 7.1.4(sass@1.92.0)
2530 | vue: 3.5.21(typescript@5.9.2)
2531 | vuetify: 3.9.6(typescript@5.9.2)(vite-plugin-vuetify@2.1.2)(vue@3.5.21)
2532 | transitivePeerDependencies:
2533 | - supports-color
2534 |
2535 | /vite@7.1.4(sass@1.92.0):
2536 | resolution: {integrity: sha512-X5QFK4SGynAeeIt+A7ZWnApdUyHYm+pzv/8/A57LqSGcI88U6R6ipOs3uCesdc6yl7nl+zNO0t8LmqAdXcQihw==}
2537 | engines: {node: ^20.19.0 || >=22.12.0}
2538 | hasBin: true
2539 | peerDependencies:
2540 | '@types/node': ^20.19.0 || >=22.12.0
2541 | jiti: '>=1.21.0'
2542 | less: ^4.0.0
2543 | lightningcss: ^1.21.0
2544 | sass: ^1.70.0
2545 | sass-embedded: ^1.70.0
2546 | stylus: '>=0.54.8'
2547 | sugarss: ^5.0.0
2548 | terser: ^5.16.0
2549 | tsx: ^4.8.1
2550 | yaml: ^2.4.2
2551 | peerDependenciesMeta:
2552 | '@types/node':
2553 | optional: true
2554 | jiti:
2555 | optional: true
2556 | less:
2557 | optional: true
2558 | lightningcss:
2559 | optional: true
2560 | sass:
2561 | optional: true
2562 | sass-embedded:
2563 | optional: true
2564 | stylus:
2565 | optional: true
2566 | sugarss:
2567 | optional: true
2568 | terser:
2569 | optional: true
2570 | tsx:
2571 | optional: true
2572 | yaml:
2573 | optional: true
2574 | dependencies:
2575 | esbuild: 0.25.9
2576 | fdir: 6.5.0(picomatch@4.0.3)
2577 | picomatch: 4.0.3
2578 | postcss: 8.5.6
2579 | rollup: 4.50.0
2580 | sass: 1.92.0
2581 | tinyglobby: 0.2.14
2582 | optionalDependencies:
2583 | fsevents: 2.3.3
2584 |
2585 | /vscode-uri@3.1.0:
2586 | resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
2587 | dev: true
2588 |
2589 | /vue-eslint-parser@10.2.0(eslint@9.34.0):
2590 | resolution: {integrity: sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==}
2591 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
2592 | peerDependencies:
2593 | eslint: ^8.57.0 || ^9.0.0
2594 | dependencies:
2595 | debug: 4.4.1
2596 | eslint: 9.34.0
2597 | eslint-scope: 8.4.0
2598 | eslint-visitor-keys: 4.2.1
2599 | espree: 10.4.0
2600 | esquery: 1.6.0
2601 | semver: 7.7.2
2602 | transitivePeerDependencies:
2603 | - supports-color
2604 | dev: true
2605 |
2606 | /vue-tsc@3.0.6(typescript@5.9.2):
2607 | resolution: {integrity: sha512-Tbs8Whd43R2e2nxez4WXPvvdjGbW24rOSgRhLOHXzWiT4pcP4G7KeWh0YCn18rF4bVwv7tggLLZ6MJnO6jXPBg==}
2608 | hasBin: true
2609 | peerDependencies:
2610 | typescript: '>=5.0.0'
2611 | dependencies:
2612 | '@volar/typescript': 2.4.23
2613 | '@vue/language-core': 3.0.6(typescript@5.9.2)
2614 | typescript: 5.9.2
2615 | dev: true
2616 |
2617 | /vue3-icon@3.0.3(vue@3.5.21):
2618 | resolution: {integrity: sha512-B9/f/nwbVBUsBQVSNp7nFIsD/uM/M9MbK38FQFXs8IMSClrEG0gXWtyViQN28na25zpsoKH8Blrzcn/LbUV76Q==}
2619 | peerDependencies:
2620 | vue: ^3.0.0
2621 | dependencies:
2622 | vue: 3.5.21(typescript@5.9.2)
2623 | dev: false
2624 |
2625 | /vue@3.5.21(typescript@5.9.2):
2626 | resolution: {integrity: sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==}
2627 | peerDependencies:
2628 | typescript: '*'
2629 | peerDependenciesMeta:
2630 | typescript:
2631 | optional: true
2632 | dependencies:
2633 | '@vue/compiler-dom': 3.5.21
2634 | '@vue/compiler-sfc': 3.5.21
2635 | '@vue/runtime-dom': 3.5.21
2636 | '@vue/server-renderer': 3.5.21(vue@3.5.21)
2637 | '@vue/shared': 3.5.21
2638 | typescript: 5.9.2
2639 |
2640 | /vuetify@3.9.6(typescript@5.9.2)(vite-plugin-vuetify@2.1.2)(vue@3.5.21):
2641 | resolution: {integrity: sha512-jNs2yLYiM50kE16gBu58xmnh9t/MOvgnYcNvmLNps6TLq9rPvjTNFm2k2jWfe69hGg0gQf+MFXXDkf65fxi9gg==}
2642 | engines: {node: ^12.20 || >=14.13}
2643 | peerDependencies:
2644 | typescript: '>=4.7'
2645 | vite-plugin-vuetify: '>=2.1.0'
2646 | vue: ^3.5.0
2647 | webpack-plugin-vuetify: '>=3.1.0'
2648 | peerDependenciesMeta:
2649 | typescript:
2650 | optional: true
2651 | vite-plugin-vuetify:
2652 | optional: true
2653 | webpack-plugin-vuetify:
2654 | optional: true
2655 | dependencies:
2656 | typescript: 5.9.2
2657 | vite-plugin-vuetify: 2.1.2(vite@7.1.4)(vue@3.5.21)(vuetify@3.9.6)
2658 | vue: 3.5.21(typescript@5.9.2)
2659 |
2660 | /which@2.0.2:
2661 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2662 | engines: {node: '>= 8'}
2663 | hasBin: true
2664 | dependencies:
2665 | isexe: 2.0.0
2666 | dev: true
2667 |
2668 | /word-wrap@1.2.5:
2669 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
2670 | engines: {node: '>=0.10.0'}
2671 | dev: true
2672 |
2673 | /xml-name-validator@4.0.0:
2674 | resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
2675 | engines: {node: '>=12'}
2676 | dev: true
2677 |
2678 | /xmlcreate@2.0.4:
2679 | resolution: {integrity: sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==}
2680 | dev: true
2681 |
2682 | /yocto-queue@0.1.0:
2683 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2684 | engines: {node: '>=10'}
2685 | dev: true
2686 |
--------------------------------------------------------------------------------