diff --git a/frontend/dashboard/package.json b/frontend/dashboard/package.json index 00211f348..e1638aa3e 100644 --- a/frontend/dashboard/package.json +++ b/frontend/dashboard/package.json @@ -16,6 +16,7 @@ "@tabler/icons-vue": "^2.44.0", "@tanstack/query-broadcast-client-experimental": "^4.36.1", "@tanstack/vue-query": "^4.37.0", + "@twir/fontsource": "workspace:^", "@twir/frontend-chat": "workspace:^", "@twir/grpc": "workspace:^", "@types/lodash.chunk": "^4.2.9", @@ -25,10 +26,10 @@ "grid-layout-plus": "^1.0.3", "kappagen": "^0.3.5", "lodash.chunk": "^4.2.0", - "naive-ui": "^2.35.0", + "naive-ui": "2.35.0", "nested-css-to-flat": "^1.0.5", "plyr": "^3.7.8", - "vue": "^3.3.11", + "vue": "3.3.12", "vue-draggable-next": "^2.2.1", "vue-i18n": "^9.8.0", "vue-router": "^4.2.5", diff --git a/frontend/dashboard/src/pages/overlays/chat/Chat.vue b/frontend/dashboard/src/pages/overlays/chat/Chat.vue index 98d1bc876..4cf99a11d 100644 --- a/frontend/dashboard/src/pages/overlays/chat/Chat.vue +++ b/frontend/dashboard/src/pages/overlays/chat/Chat.vue @@ -1,6 +1,6 @@ + + diff --git a/libs/fontsource/src/composable/use-fontsource.ts b/libs/fontsource/src/composable/use-fontsource.ts new file mode 100644 index 000000000..88152cb10 --- /dev/null +++ b/libs/fontsource/src/composable/use-fontsource.ts @@ -0,0 +1,37 @@ +import { ref, onMounted } from 'vue'; + +import { loadFontItems, loadFont as loadFontById } from '../helpers.js'; +import type { FontItem } from '../types.js'; + +export function useFontSource() { + const loading = ref(true); + const fonts = ref([]); + + onMounted(async () => { + try { + fonts.value = await loadFontItems(); + } catch (err) { + console.error(err); + } finally { + loading.value = false; + } + }); + + async function loadFont(fontId: string, fontWeight = 400) { + for (const fontFace of document.fonts.values()) { + if (fontFace.family === fontId) return; + } + + try { + await loadFontById(fontId, fontWeight); + } catch (err) { + console.error(err); + } + } + + return { + loading, + fonts, + loadFont, + }; +} diff --git a/libs/fontsource/src/constants.ts b/libs/fontsource/src/constants.ts new file mode 100644 index 000000000..651100b62 --- /dev/null +++ b/libs/fontsource/src/constants.ts @@ -0,0 +1 @@ +export const FONTSOURCE_API_URL = 'https://api.fontsource.org/v1'; diff --git a/libs/fontsource/src/helpers.ts b/libs/fontsource/src/helpers.ts new file mode 100644 index 000000000..54d1e304e --- /dev/null +++ b/libs/fontsource/src/helpers.ts @@ -0,0 +1,20 @@ +import { FONTSOURCE_API_URL } from './constants.js'; +import type { Font, FontItem } from './types.js'; + +export async function loadFontItems() { + const response = await fetch(`${FONTSOURCE_API_URL}/fonts`); + const fonts = await response.json() as FontItem[]; + return fonts; +} + +export async function loadFont(fontId: string, fontWeight = 400) { + const response = await fetch(`${FONTSOURCE_API_URL}/fonts/${fontId}`); + const font = await response.json() as Font; + + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + const fontSource = `url(${font.variants[fontWeight].normal.latin.url.woff2})`; + const fontFace = new FontFace(font.id, fontSource); + await fontFace.load(); + document.fonts.add(fontFace); +} diff --git a/libs/fontsource/src/index.ts b/libs/fontsource/src/index.ts new file mode 100644 index 000000000..fa8592bb0 --- /dev/null +++ b/libs/fontsource/src/index.ts @@ -0,0 +1,7 @@ +import FontSelector from './components/font-selector.vue'; +import { useFontSource } from './composable/use-fontsource.js'; + +export { + FontSelector, + useFontSource, +}; diff --git a/libs/fontsource/src/types.ts b/libs/fontsource/src/types.ts new file mode 100644 index 000000000..71be58d2d --- /dev/null +++ b/libs/fontsource/src/types.ts @@ -0,0 +1,57 @@ +export type FontVariants = + | '100' + | '200' + | '300' + | '400' + | '500' + | '600' + | '700' + | '800' + | '900' + +export type FontStyle = 'normal' | 'italic' +export type FontSubset = 'latin' | 'cyrillic' +export type FontType = 'woff2' + +export interface FontItem { + category: string + defSubset: string + family: string + id: string + lastModified: string + styles: FontStyle[] + subsets: FontSubset[] + type: string + variable: boolean + version: string + weights: number[] +} + +export type FontVariant = { + [key in FontVariants]: { + [key in FontStyle]: { + [key in FontSubset]: { + url: { + [key in FontType]: string + } + } + } + } +} + +export interface Font { + id: string + family: string + subsets: FontSubset + weights: number[] + styles: string[] + unicodeRange: { + [key in FontSubset]: string + } + defSubset: string + variable: boolean + category: string + version: string + type: string + variants: FontVariant +} diff --git a/libs/fontsource/tsconfig.json b/libs/fontsource/tsconfig.json new file mode 100644 index 000000000..d2c86b734 --- /dev/null +++ b/libs/fontsource/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "ES2021", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2021", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + "moduleResolution": "node", + "allowImportingTsExtensions": false, + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "outDir": "dist", + "declaration": true + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.svg"] +} diff --git a/libs/frontend-chat/package.json b/libs/frontend-chat/package.json index bad81e27f..03fcf6f68 100644 --- a/libs/frontend-chat/package.json +++ b/libs/frontend-chat/package.json @@ -13,7 +13,7 @@ "preview": "vite preview" }, "dependencies": { - "vue": "3.3.9" + "vue": "3.3.12" }, "devDependencies": { "@twir/grpc": "workspace:^", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9327d93f8..81ab1e614 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -163,22 +163,25 @@ importers: dependencies: '@discord-message-components/vue': specifier: ^0.2.1 - version: 0.2.1(vue@3.3.11) + version: 0.2.1(vue@3.3.12) '@guolao/vue-monaco-editor': specifier: ^1.4.1 - version: 1.4.1(monaco-editor@0.43.0)(vue@3.3.11) + version: 1.4.1(monaco-editor@0.43.0)(vue@3.3.12) '@protobuf-ts/twirp-transport': specifier: ^2.9.3 version: 2.9.3 '@tabler/icons-vue': specifier: ^2.44.0 - version: 2.44.0(vue@3.3.11) + version: 2.44.0(vue@3.3.12) '@tanstack/query-broadcast-client-experimental': specifier: ^4.36.1 version: 4.36.1 '@tanstack/vue-query': specifier: ^4.37.0 - version: 4.37.0(vue@3.3.11) + version: 4.37.0(vue@3.3.12) + '@twir/fontsource': + specifier: workspace:^ + version: link:../../libs/fontsource '@twir/frontend-chat': specifier: workspace:^ version: link:../../libs/frontend-chat @@ -190,25 +193,25 @@ importers: version: 4.2.9 '@vueuse/components': specifier: ^10.7.0 - version: 10.7.0(vue@3.3.11) + version: 10.7.0(vue@3.3.12) '@vueuse/core': specifier: ^10.7.0 - version: 10.7.0(vue@3.3.11) + version: 10.7.0(vue@3.3.12) date-fns: specifier: ^2.30.0 version: 2.30.0 grid-layout-plus: specifier: ^1.0.3 - version: 1.0.3(vue@3.3.11) + version: 1.0.3(vue@3.3.12) kappagen: specifier: ^0.3.5 - version: 0.3.5(vue@3.3.11) + version: 0.3.5(vue@3.3.12) lodash.chunk: specifier: ^4.2.0 version: 4.2.0 naive-ui: - specifier: ^2.35.0 - version: 2.35.0(vue@3.3.11) + specifier: 2.35.0 + version: 2.35.0(vue@3.3.12) nested-css-to-flat: specifier: ^1.0.5 version: 1.0.5 @@ -216,17 +219,17 @@ importers: specifier: ^3.7.8 version: 3.7.8 vue: - specifier: ^3.3.11 - version: 3.3.11(typescript@5.3.3) + specifier: 3.3.12 + version: 3.3.12(typescript@5.3.3) vue-draggable-next: specifier: ^2.2.1 - version: 2.2.1(sortablejs@1.15.1)(vue@3.3.11) + version: 2.2.1(sortablejs@1.15.1)(vue@3.3.12) vue-i18n: specifier: ^9.8.0 - version: 9.8.0(vue@3.3.11) + version: 9.8.0(vue@3.3.12) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.11) + version: 4.2.5(vue@3.3.12) vue3-moveable: specifier: ^0.28.0 version: 0.28.0 @@ -242,7 +245,7 @@ importers: version: 2.9.3 '@vitejs/plugin-vue': specifier: ^4.5.2 - version: 4.5.2(vite@5.0.8)(vue@3.3.11) + version: 4.5.2(vite@5.0.8)(vue@3.3.12) rollup-plugin-visualizer: specifier: ^5.11.0 version: 5.11.0 @@ -260,7 +263,7 @@ importers: version: 0.11.0 vite-svg-loader: specifier: ^5.1.0 - version: 5.1.0(vue@3.3.11) + version: 5.1.0(vue@3.3.12) vue-tsc: specifier: ^1.8.25 version: 1.8.25(typescript@5.3.3) @@ -275,13 +278,13 @@ importers: version: 5.0.3(astro@4.0.2)(tailwindcss@3.3.6) '@astrojs/vue': specifier: 4.0.2 - version: 4.0.2(@babel/core@7.23.6)(astro@4.0.2)(vite@5.0.6)(vue@3.3.10) + version: 4.0.2(@babel/core@7.23.6)(astro@4.0.2)(vite@5.0.6)(vue@3.3.12) '@egjs/flicking-plugins': specifier: 4.7.1 version: 4.7.1(@egjs/flicking@4.11.2) '@egjs/vue3-flicking': specifier: 4.11.1 - version: 4.11.1(vue@3.3.10) + version: 4.11.1(vue@3.3.12) '@fastify/middie': specifier: 8.3.0 version: 8.3.0 @@ -290,7 +293,7 @@ importers: version: 6.12.0 '@nanostores/vue': specifier: 0.10.0 - version: 0.10.0(nanostores@0.9.5)(vue@3.3.10) + version: 0.10.0(nanostores@0.9.5)(vue@3.3.12) '@protobuf-ts/twirp-transport': specifier: 2.9.3 version: 2.9.3 @@ -302,7 +305,7 @@ importers: version: link:../../libs/grpc '@vueuse/core': specifier: 10.7.0 - version: 10.7.0(vue@3.3.10) + version: 10.7.0(vue@3.3.12) astro: specifier: 4.0.2 version: 4.0.2(@types/node@20.10.3)(typescript@5.3.2) @@ -319,8 +322,8 @@ importers: specifier: 3.3.6 version: 3.3.6 vue: - specifier: 3.3.10 - version: 3.3.10(typescript@5.3.2) + specifier: 3.3.12 + version: 3.3.12(typescript@5.3.2) devDependencies: '@types/node': specifier: 20.10.3 @@ -333,7 +336,7 @@ importers: version: 5.0.6(@types/node@20.10.3) vite-svg-loader: specifier: 5.1.0 - version: 5.1.0(vue@3.3.10) + version: 5.1.0(vue@3.3.12) frontend/overlays: dependencies: @@ -351,13 +354,13 @@ importers: version: link:../../libs/grpc '@vueuse/core': specifier: 10.6.1 - version: 10.6.1(vue@3.3.9) + version: 10.6.1(vue@3.3.12) emoji-regex: specifier: 10.3.0 version: 10.3.0 kappagen: specifier: 0.3.5 - version: 0.3.5(vue@3.3.9) + version: 0.3.5(vue@3.3.12) nested-css-to-flat: specifier: 1.0.5 version: 1.0.5 @@ -368,18 +371,18 @@ importers: specifier: 1.8.5 version: 1.8.5 vue: - specifier: 3.3.9 - version: 3.3.9(typescript@5.3.2) + specifier: 3.3.12 + version: 3.3.12(typescript@5.3.2) vue-router: specifier: 4.2.5 - version: 4.2.5(vue@3.3.9) + version: 4.2.5(vue@3.3.12) devDependencies: '@types/tmi.js': specifier: 1.8.6 version: 1.8.6 '@vitejs/plugin-vue': specifier: 4.5.1 - version: 4.5.1(vite@5.0.4)(vue@3.3.9) + version: 4.5.1(vite@5.0.4)(vue@3.3.12) typescript: specifier: 5.3.2 version: 5.3.2 @@ -397,32 +400,32 @@ importers: version: 2.9.3 '@tabler/icons-vue': specifier: 2.42.0 - version: 2.42.0(vue@3.3.9) + version: 2.42.0(vue@3.3.12) '@tanstack/vue-query': specifier: 5.12.2 - version: 5.12.2(vue@3.3.9) + version: 5.12.2(vue@3.3.12) '@tanstack/vue-table': specifier: 8.10.7 - version: 8.10.7(vue@3.3.9) + version: 8.10.7(vue@3.3.12) '@twir/grpc': specifier: workspace:^ version: link:../../libs/grpc '@vueuse/components': specifier: 10.6.1 - version: 10.6.1(vue@3.3.9) + version: 10.6.1(vue@3.3.12) '@vueuse/core': specifier: 10.6.1 - version: 10.6.1(vue@3.3.9) + version: 10.6.1(vue@3.3.12) vue: - specifier: 3.3.9 - version: 3.3.9(typescript@5.3.2) + specifier: 3.3.12 + version: 3.3.12(typescript@5.3.2) vue-router: specifier: 4.2.5 - version: 4.2.5(vue@3.3.9) + version: 4.2.5(vue@3.3.12) devDependencies: '@vitejs/plugin-vue': specifier: 4.5.1 - version: 4.5.1(vite@5.0.4)(vue@3.3.9) + version: 4.5.1(vite@5.0.4)(vue@3.3.12) autoprefixer: specifier: 10.4.16 version: 10.4.16(postcss@8.4.32) @@ -457,11 +460,20 @@ importers: specifier: ^18.11.18 version: 18.13.0 + libs/fontsource: + dependencies: + naive-ui: + specifier: 2.35.0 + version: 2.35.0(vue@3.3.12) + vue: + specifier: 3.3.12 + version: 3.3.12(typescript@5.3.2) + libs/frontend-chat: dependencies: vue: - specifier: 3.3.9 - version: 3.3.9(typescript@5.3.3) + specifier: 3.3.12 + version: 3.3.12(typescript@5.3.3) devDependencies: '@twir/grpc': specifier: workspace:^ @@ -471,7 +483,7 @@ importers: version: 20.10.3 '@vitejs/plugin-vue': specifier: 4.5.1 - version: 4.5.1(vite@5.0.4)(vue@3.3.9) + version: 4.5.1(vite@5.0.4)(vue@3.3.12) vite: specifier: 5.0.4 version: 5.0.4(@types/node@20.10.3) @@ -624,19 +636,19 @@ packages: - supports-color dev: false - /@astrojs/vue@4.0.2(@babel/core@7.23.6)(astro@4.0.2)(vite@5.0.6)(vue@3.3.10): + /@astrojs/vue@4.0.2(@babel/core@7.23.6)(astro@4.0.2)(vite@5.0.6)(vue@3.3.12): resolution: {integrity: sha512-h//xjXSBRZCLZjf0eyA4RMA6NE4DXyj2WGKwajtazDFWWi9phqD3B+jzosADDJx3XtltCRddZ/znObqZDE2caA==} engines: {node: '>=18.14.1'} peerDependencies: astro: ^4.0.0-beta.0 vue: ^3.2.30 dependencies: - '@vitejs/plugin-vue': 4.5.2(vite@5.0.6)(vue@3.3.10) - '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.0.6)(vue@3.3.10) + '@vitejs/plugin-vue': 4.5.2(vite@5.0.6)(vue@3.3.12) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.0.6)(vue@3.3.12) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.6) '@vue/compiler-sfc': 3.3.10 astro: 4.0.2(@types/node@20.10.3)(typescript@5.3.2) - vue: 3.3.10(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.2) transitivePeerDependencies: - '@babel/core' - supports-color @@ -925,6 +937,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@babel/types': 7.23.5 + dev: false /@babel/parser@7.23.6: resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} @@ -1055,6 +1068,7 @@ packages: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + dev: false /@babel/types@7.23.6: resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} @@ -1100,12 +1114,12 @@ packages: css-render: 0.15.12 dev: false - /@css-render/vue3-ssr@0.15.12(vue@3.3.11): + /@css-render/vue3-ssr@0.15.12(vue@3.3.12): resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==} peerDependencies: vue: ^3.0.11 dependencies: - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: false /@d-fischer/cache-decorators@3.0.0: @@ -1187,13 +1201,13 @@ packages: simple-markdown: 0.7.3 dev: false - /@discord-message-components/vue@0.2.1(vue@3.3.11): + /@discord-message-components/vue@0.2.1(vue@3.3.12): resolution: {integrity: sha512-BLs6JshamjKh28f9boWIDMZ/BqWqLfg9wUUGxE3PqnMaomqKgs1eeWMKff/20Ie1cBJ6vYSYCxxxQUsw97SptQ==} peerDependencies: vue: ^3.0.6 dependencies: '@discord-message-components/core': 0.2.1 - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: false /@doctormckay/stdlib@1.15.1: @@ -1264,14 +1278,14 @@ packages: resolution: {integrity: sha512-OTFTDQcWS+1ZREOdCWuk5hCBgYO4OsD30lXcOCyVOAjXMhgL5rBRDnt/otb6Nz8CzU0L/igdcaQBDLWc4t9gvg==} dev: false - /@egjs/vue3-flicking@4.11.1(vue@3.3.10): + /@egjs/vue3-flicking@4.11.1(vue@3.3.12): resolution: {integrity: sha512-VxfXFAebQy8j82E4YmjTCbU4oVmi4RrIPbQrayjNQpWJPu1aMseZ6GyHc07VM0L9Hubxyt4Vf13F23REarA9UA==} peerDependencies: vue: ^3.0.0 dependencies: '@egjs/component': 3.0.5 '@egjs/flicking': 4.11.1 - vue: 3.3.10(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.2) dev: false /@emotion/hash@0.8.0: @@ -1989,7 +2003,7 @@ packages: yargs: 16.2.0 dev: true - /@guolao/vue-monaco-editor@1.4.1(monaco-editor@0.43.0)(vue@3.3.11): + /@guolao/vue-monaco-editor@1.4.1(monaco-editor@0.43.0)(vue@3.3.12): resolution: {integrity: sha512-qJKn0AcxCO5vBENh0dA5j47eaaOxX5gT9Tt7adWhOAPcPZUDFWy+ZJjcGVfmXkUMXOoWNyP78TuK8l3olSRoew==} peerDependencies: '@vue/composition-api': ^1.7.1 @@ -2001,8 +2015,8 @@ packages: dependencies: '@monaco-editor/loader': 1.4.0(monaco-editor@0.43.0) monaco-editor: 0.43.0 - vue: 3.3.11(typescript@5.3.3) - vue-demi: 0.14.6(vue@3.3.11) + vue: 3.3.12(typescript@5.3.3) + vue-demi: 0.14.6(vue@3.3.12) dev: false /@humanwhocodes/config-array@0.11.13: @@ -2050,7 +2064,7 @@ packages: magic-string: 0.30.5 mlly: 1.4.2 source-map-js: 1.0.2 - vue-i18n: 9.8.0(vue@3.3.11) + vue-i18n: 9.8.0(vue@3.3.12) yaml-eslint-parser: 1.2.2 dev: true @@ -2099,7 +2113,7 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 unplugin: 1.5.1 - vue-i18n: 9.8.0(vue@3.3.11) + vue-i18n: 9.8.0(vue@3.3.12) transitivePeerDependencies: - rollup - supports-color @@ -2221,7 +2235,7 @@ packages: engines: {node: '>= 10'} dev: false - /@nanostores/vue@0.10.0(nanostores@0.9.5)(vue@3.3.10): + /@nanostores/vue@0.10.0(nanostores@0.9.5)(vue@3.3.12): resolution: {integrity: sha512-832RAUbzRfHPs1CdqVEwfvgB2+RD/INji4Zo8bUSEfRO2pQRMMeq479gydnohGpRaa0oNwlfKo7TGFXCghq/1g==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: @@ -2236,7 +2250,7 @@ packages: optional: true dependencies: nanostores: 0.9.5 - vue: 3.3.10(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.2) dev: false /@nodelib/fs.scandir@2.1.5: @@ -2664,22 +2678,22 @@ packages: '@daybrush/utils': 1.13.0 dev: false - /@tabler/icons-vue@2.42.0(vue@3.3.9): + /@tabler/icons-vue@2.42.0(vue@3.3.12): resolution: {integrity: sha512-JqYrWKsoOaCed2+ADNFoqQ965GmmI7m8XnuVVBGWWamvYpyM4qXF0QYBkLxfwXgBHIkmQP8g3vStY/d8MvSMVA==} peerDependencies: vue: '>=3.0.1' dependencies: '@tabler/icons': 2.42.0 - vue: 3.3.9(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.2) dev: false - /@tabler/icons-vue@2.44.0(vue@3.3.11): + /@tabler/icons-vue@2.44.0(vue@3.3.12): resolution: {integrity: sha512-7SpRS9hQ0VEKSHQNGNjVedgiU2dRtpcZvD5l5MgKBnwGPR3dq/Y3RNQOq2k2IjCQj3p21nj/zd9giR5RTdgTxQ==} peerDependencies: vue: '>=3.0.1' dependencies: '@tabler/icons': 2.44.0 - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: false /@tabler/icons@2.42.0: @@ -2717,7 +2731,7 @@ packages: engines: {node: '>=12'} dev: false - /@tanstack/vue-query@4.37.0(vue@3.3.11): + /@tanstack/vue-query@4.37.0(vue@3.3.12): resolution: {integrity: sha512-ZZvlEuXzCwM9QYS1GCf9FTo1XycBxPSvjJbIHXTU2iZuUla02EzTO7R9QOnML6FRQRzD3n5Eyn2v6zbhCHS/qA==} peerDependencies: '@vue/composition-api': ^1.1.2 @@ -2729,11 +2743,11 @@ packages: '@tanstack/match-sorter-utils': 8.8.4 '@tanstack/query-core': 4.36.1 '@vue/devtools-api': 6.5.1 - vue: 3.3.11(typescript@5.3.3) - vue-demi: 0.13.11(vue@3.3.11) + vue: 3.3.12(typescript@5.3.3) + vue-demi: 0.13.11(vue@3.3.12) dev: false - /@tanstack/vue-query@5.12.2(vue@3.3.9): + /@tanstack/vue-query@5.12.2(vue@3.3.12): resolution: {integrity: sha512-Tfb8phiB681gjIcO7fuNpfiFmQinKrGiW9T5hYFFTQfoWehhbm9z7+6B7DbCFJyJkZz1q1WCafNT04r5p9Uacg==} peerDependencies: '@vue/composition-api': ^1.1.2 @@ -2745,18 +2759,18 @@ packages: '@tanstack/match-sorter-utils': 8.8.4 '@tanstack/query-core': 5.12.1 '@vue/devtools-api': 6.5.1 - vue: 3.3.9(typescript@5.3.2) - vue-demi: 0.14.6(vue@3.3.9) + vue: 3.3.12(typescript@5.3.2) + vue-demi: 0.14.6(vue@3.3.12) dev: false - /@tanstack/vue-table@8.10.7(vue@3.3.9): + /@tanstack/vue-table@8.10.7(vue@3.3.12): resolution: {integrity: sha512-13tTANgJuJHVW73rPLI+qrZVhrd9Yqxjys6t/Uor0qR0oS8Xk9xJE9WHqvaGsgVNBsIs9dE53S5GEBZqGC3FUw==} engines: {node: '>=12'} peerDependencies: vue: ^3.2.33 dependencies: '@tanstack/table-core': 8.10.7 - vue: 3.3.9(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.2) dev: false /@trysound/sax@0.2.0: @@ -3163,7 +3177,7 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@vexip-ui/hooks@1.11.4(vue@3.3.11): + /@vexip-ui/hooks@1.11.4(vue@3.3.12): resolution: {integrity: sha512-ozxhrCGAHRE0hNwjQzvS8OZdmm2SAWELiGx6qDDaGz7KCDWxph99Sccl2eYoBHTRxfTyhIH1Xu84NbtcnJx0dQ==} peerDependencies: vue: ^3.2.25 @@ -3171,14 +3185,14 @@ packages: '@juggle/resize-observer': 3.4.0 '@popperjs/core': 2.11.8 '@vexip-ui/utils': 1.16.1 - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: false /@vexip-ui/utils@1.16.1: resolution: {integrity: sha512-rnOY4OQK68Xk+4s+3D+NH4VqOonvPwuvKdHDGd/cpQd2nMHlFQter9qUiVa6TwCtUoOS2DA4SNLQbMio4rNMPg==} dev: false - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.6)(vue@3.3.10): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.0.6)(vue@3.3.12): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3189,12 +3203,12 @@ packages: '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.23.5) vite: 5.0.6(@types/node@20.10.3) - vue: 3.3.10(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.2) transitivePeerDependencies: - supports-color dev: false - /@vitejs/plugin-vue@4.5.1(vite@5.0.4)(vue@3.3.9): + /@vitejs/plugin-vue@4.5.1(vite@5.0.4)(vue@3.3.12): resolution: {integrity: sha512-DaUzYFr+2UGDG7VSSdShKa9sIWYBa1LL8KC0MNOf2H5LjcTPjob0x8LbkqXWmAtbANJCkpiQTj66UVcQkN2s3g==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3202,10 +3216,10 @@ packages: vue: ^3.2.25 dependencies: vite: 5.0.4(@types/node@20.10.3) - vue: 3.3.9(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.2) dev: true - /@vitejs/plugin-vue@4.5.2(vite@5.0.6)(vue@3.3.10): + /@vitejs/plugin-vue@4.5.2(vite@5.0.6)(vue@3.3.12): resolution: {integrity: sha512-UGR3DlzLi/SaVBPX0cnSyE37vqxU3O6chn8l0HJNzQzDia6/Au2A4xKv+iIJW8w2daf80G7TYHhi1pAUjdZ0bQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3213,10 +3227,10 @@ packages: vue: ^3.2.25 dependencies: vite: 5.0.6(@types/node@20.10.3) - vue: 3.3.10(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.2) dev: false - /@vitejs/plugin-vue@4.5.2(vite@5.0.8)(vue@3.3.11): + /@vitejs/plugin-vue@4.5.2(vite@5.0.8)(vue@3.3.12): resolution: {integrity: sha512-UGR3DlzLi/SaVBPX0cnSyE37vqxU3O6chn8l0HJNzQzDia6/Au2A4xKv+iIJW8w2daf80G7TYHhi1pAUjdZ0bQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3224,7 +3238,7 @@ packages: vue: ^3.2.25 dependencies: vite: 5.0.8(@types/node@20.10.3)(sass@1.69.5) - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: true /@volar/language-core@1.11.1: @@ -3295,6 +3309,7 @@ packages: '@vue/shared': 3.3.10 estree-walker: 2.0.2 source-map-js: 1.0.2 + dev: false /@vue/compiler-core@3.3.11: resolution: {integrity: sha512-h97/TGWBilnLuRaj58sxNrsUU66fwdRKLOLQ9N/5iNDfp+DZhYH9Obhe0bXxhedl8fjAgpRANpiZfbgWyruQ0w==} @@ -3303,12 +3318,13 @@ packages: '@vue/shared': 3.3.11 estree-walker: 2.0.2 source-map-js: 1.0.2 + dev: true - /@vue/compiler-core@3.3.9: - resolution: {integrity: sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==} + /@vue/compiler-core@3.3.12: + resolution: {integrity: sha512-qAtjyG3GBLG0chzp5xGCyRLLe6wFCHmjI82aGzwuGKyznNP+GJJMxjc0wOYWDB2YKfho7niJFdoFpo0CZZQg9w==} dependencies: - '@babel/parser': 7.23.5 - '@vue/shared': 3.3.9 + '@babel/parser': 7.23.6 + '@vue/shared': 3.3.12 estree-walker: 2.0.2 source-map-js: 1.0.2 @@ -3317,18 +3333,20 @@ packages: dependencies: '@vue/compiler-core': 3.3.10 '@vue/shared': 3.3.10 + dev: false /@vue/compiler-dom@3.3.11: resolution: {integrity: sha512-zoAiUIqSKqAJ81WhfPXYmFGwDRuO+loqLxvXmfUdR5fOitPoUiIeFI9cTTyv9MU5O1+ZZglJVTusWzy+wfk5hw==} dependencies: '@vue/compiler-core': 3.3.11 '@vue/shared': 3.3.11 + dev: true - /@vue/compiler-dom@3.3.9: - resolution: {integrity: sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==} + /@vue/compiler-dom@3.3.12: + resolution: {integrity: sha512-RdJU9oEYaoPKUdGXCy0l+i4clesdDeLmbvRlszoc9iagsnBnMmQtYfCPVQ5BHB6o7K4SCucDdJM2Dh3oXB0D6g==} dependencies: - '@vue/compiler-core': 3.3.9 - '@vue/shared': 3.3.9 + '@vue/compiler-core': 3.3.12 + '@vue/shared': 3.3.12 /@vue/compiler-sfc@3.3.10: resolution: {integrity: sha512-xpcTe7Rw7QefOTRFFTlcfzozccvjM40dT45JtrE3onGm/jBLZ0JhpKu3jkV7rbDFLeeagR/5RlJ2Y9SvyS0lAg==} @@ -3343,6 +3361,7 @@ packages: magic-string: 0.30.5 postcss: 8.4.32 source-map-js: 1.0.2 + dev: false /@vue/compiler-sfc@3.3.11: resolution: {integrity: sha512-U4iqPlHO0KQeK1mrsxCN0vZzw43/lL8POxgpzcJweopmqtoYy9nljJzWDIQS3EfjiYhfdtdk9Gtgz7MRXnz3GA==} @@ -3357,16 +3376,17 @@ packages: magic-string: 0.30.5 postcss: 8.4.32 source-map-js: 1.0.2 + dev: true - /@vue/compiler-sfc@3.3.9: - resolution: {integrity: sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==} + /@vue/compiler-sfc@3.3.12: + resolution: {integrity: sha512-yy5b9e7b79dsGbMmglCe/YnhCQgBkHO7Uf6JfjWPSf2/5XH+MKn18LhzhHyxbHdJgnA4lZCqtXzLaJz8Pd8lMw==} dependencies: - '@babel/parser': 7.23.5 - '@vue/compiler-core': 3.3.9 - '@vue/compiler-dom': 3.3.9 - '@vue/compiler-ssr': 3.3.9 - '@vue/reactivity-transform': 3.3.9 - '@vue/shared': 3.3.9 + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.3.12 + '@vue/compiler-dom': 3.3.12 + '@vue/compiler-ssr': 3.3.12 + '@vue/reactivity-transform': 3.3.12 + '@vue/shared': 3.3.12 estree-walker: 2.0.2 magic-string: 0.30.5 postcss: 8.4.32 @@ -3377,18 +3397,20 @@ packages: dependencies: '@vue/compiler-dom': 3.3.10 '@vue/shared': 3.3.10 + dev: false /@vue/compiler-ssr@3.3.11: resolution: {integrity: sha512-Zd66ZwMvndxRTgVPdo+muV4Rv9n9DwQ4SSgWWKWkPFebHQfVYRrVjeygmmDmPewsHyznCNvJ2P2d6iOOhdv8Qg==} dependencies: '@vue/compiler-dom': 3.3.11 '@vue/shared': 3.3.11 + dev: true - /@vue/compiler-ssr@3.3.9: - resolution: {integrity: sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==} + /@vue/compiler-ssr@3.3.12: + resolution: {integrity: sha512-adCiMJPznfWcQyk/9HSuXGja859IaMV+b8UNSVzDatqv7h0PvT9BEeS22+gjkWofDiSg5d78/ZLls3sLA+cn3A==} dependencies: - '@vue/compiler-dom': 3.3.9 - '@vue/shared': 3.3.9 + '@vue/compiler-dom': 3.3.12 + '@vue/shared': 3.3.12 /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} @@ -3403,8 +3425,8 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.3.9 - '@vue/shared': 3.3.9 + '@vue/compiler-dom': 3.3.11 + '@vue/shared': 3.3.11 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -3423,8 +3445,8 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.3.9 - '@vue/shared': 3.3.9 + '@vue/compiler-dom': 3.3.11 + '@vue/shared': 3.3.11 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -3461,6 +3483,7 @@ packages: '@vue/shared': 3.3.10 estree-walker: 2.0.2 magic-string: 0.30.5 + dev: false /@vue/reactivity-transform@3.3.11: resolution: {integrity: sha512-fPGjH0wqJo68A0wQ1k158utDq/cRyZNlFoxGwNScE28aUFOKFEnCBsvyD8jHn+0kd0UKVpuGuaZEQ6r9FJRqCg==} @@ -3470,159 +3493,96 @@ packages: '@vue/shared': 3.3.11 estree-walker: 2.0.2 magic-string: 0.30.5 + dev: true - /@vue/reactivity-transform@3.3.9: - resolution: {integrity: sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==} + /@vue/reactivity-transform@3.3.12: + resolution: {integrity: sha512-g5TijmML7FyKkLt6QnpqNmA4KD7K/T5SbXa88Bhq+hydNQEkzA8veVXWAQuNqg9rjaFYD0rPf0a9NofKA0ENgg==} dependencies: - '@babel/parser': 7.23.5 - '@vue/compiler-core': 3.3.9 - '@vue/shared': 3.3.9 + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.3.12 + '@vue/shared': 3.3.12 estree-walker: 2.0.2 magic-string: 0.30.5 - /@vue/reactivity@3.3.10: - resolution: {integrity: sha512-H5Z7rOY/JLO+e5a6/FEXaQ1TMuOvY4LDVgT+/+HKubEAgs9qeeZ+NhADSeEtrNQeiKLDuzeKc8v0CUFpB6Pqgw==} - dependencies: - '@vue/shared': 3.3.10 - - /@vue/reactivity@3.3.11: - resolution: {integrity: sha512-D5tcw091f0nuu+hXq5XANofD0OXnBmaRqMYl5B3fCR+mX+cXJIGNw/VNawBqkjLNWETrFW0i+xH9NvDbTPVh7g==} - dependencies: - '@vue/shared': 3.3.11 - - /@vue/reactivity@3.3.9: - resolution: {integrity: sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==} - dependencies: - '@vue/shared': 3.3.9 - - /@vue/runtime-core@3.3.10: - resolution: {integrity: sha512-DZ0v31oTN4YHX9JEU5VW1LoIVgFovWgIVb30bWn9DG9a7oA415idcwsRNNajqTx8HQJyOaWfRKoyuP2P2TYIag==} - dependencies: - '@vue/reactivity': 3.3.10 - '@vue/shared': 3.3.10 - - /@vue/runtime-core@3.3.11: - resolution: {integrity: sha512-g9ztHGwEbS5RyWaOpXuyIVFTschclnwhqEbdy5AwGhYOgc7m/q3NFwr50MirZwTTzX55JY8pSkeib9BX04NIpw==} - dependencies: - '@vue/reactivity': 3.3.11 - '@vue/shared': 3.3.11 - - /@vue/runtime-core@3.3.9: - resolution: {integrity: sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w==} + /@vue/reactivity@3.3.12: + resolution: {integrity: sha512-vOJORzO8DlIx88cgTnMLIf2GlLYpoXAKsuoQsK6SGdaqODjxO129pVPTd2s/N/Mb6KKZEFIHIEwWGmtN4YPs+g==} dependencies: - '@vue/reactivity': 3.3.9 - '@vue/shared': 3.3.9 + '@vue/shared': 3.3.12 - /@vue/runtime-dom@3.3.10: - resolution: {integrity: sha512-c/jKb3ny05KJcYk0j1m7Wbhrxq7mZYr06GhKykDMNRRR9S+/dGT8KpHuNQjv3/8U4JshfkAk6TpecPD3B21Ijw==} + /@vue/runtime-core@3.3.12: + resolution: {integrity: sha512-5iL4w7MZrSGKEZU2wFAYhDZdZmgn+s//73EfgDXW1M+ZUOl36md7tlWp1QFK/ladiq4FvQ82shVjo0KiPDPr0A==} dependencies: - '@vue/runtime-core': 3.3.10 - '@vue/shared': 3.3.10 - csstype: 3.1.2 + '@vue/reactivity': 3.3.12 + '@vue/shared': 3.3.12 - /@vue/runtime-dom@3.3.11: - resolution: {integrity: sha512-OlhtV1PVpbgk+I2zl+Y5rQtDNcCDs12rsRg71XwaA2/Rbllw6mBLMi57VOn8G0AjOJ4Mdb4k56V37+g8ukShpQ==} + /@vue/runtime-dom@3.3.12: + resolution: {integrity: sha512-8mMzqiIdl+IYa/OXwKwk6/4ebLq7cYV1pUcwCSwBK2KerUa6cwGosen5xrCL9f8o2DJ9TfPFwbPEvH7OXzUpoA==} dependencies: - '@vue/runtime-core': 3.3.11 - '@vue/shared': 3.3.11 + '@vue/runtime-core': 3.3.12 + '@vue/shared': 3.3.12 csstype: 3.1.3 - /@vue/runtime-dom@3.3.9: - resolution: {integrity: sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ==} - dependencies: - '@vue/runtime-core': 3.3.9 - '@vue/shared': 3.3.9 - csstype: 3.1.2 - - /@vue/server-renderer@3.3.10(vue@3.3.10): - resolution: {integrity: sha512-0i6ww3sBV3SKlF3YTjSVqKQ74xialMbjVYGy7cOTi7Imd8ediE7t72SK3qnvhrTAhOvlQhq6Bk6nFPdXxe0sAg==} - peerDependencies: - vue: 3.3.10 - dependencies: - '@vue/compiler-ssr': 3.3.10 - '@vue/shared': 3.3.10 - vue: 3.3.10(typescript@5.3.2) - - /@vue/server-renderer@3.3.11(vue@3.3.11): - resolution: {integrity: sha512-AIWk0VwwxCAm4wqtJyxBylRTXSy1wCLOKbWxHaHiu14wjsNYtiRCSgVuqEPVuDpErOlRdNnuRgipQfXRLjLN5A==} - peerDependencies: - vue: 3.3.11 - dependencies: - '@vue/compiler-ssr': 3.3.11 - '@vue/shared': 3.3.11 - vue: 3.3.11(typescript@5.3.3) - - /@vue/server-renderer@3.3.9(vue@3.3.9): - resolution: {integrity: sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A==} + /@vue/server-renderer@3.3.12(vue@3.3.12): + resolution: {integrity: sha512-OZ0IEK5TU5GXb5J8/wSplyxvGGdIcwEmS8EIO302Vz8K6fGSgSJTU54X0Sb6PaefzZdiN3vHsLXO8XIeF8crQQ==} peerDependencies: - vue: 3.3.9 + vue: 3.3.12 dependencies: - '@vue/compiler-ssr': 3.3.9 - '@vue/shared': 3.3.9 - vue: 3.3.9(typescript@5.3.2) + '@vue/compiler-ssr': 3.3.12 + '@vue/shared': 3.3.12 + vue: 3.3.12(typescript@5.3.3) /@vue/shared@3.3.10: resolution: {integrity: sha512-2y3Y2J1a3RhFa0WisHvACJR2ncvWiVHcP8t0Inxo+NKz+8RKO4ZV8eZgCxRgQoA6ITfV12L4E6POOL9HOU5nqw==} + dev: false /@vue/shared@3.3.11: resolution: {integrity: sha512-u2G8ZQ9IhMWTMXaWqZycnK4UthG1fA238CD+DP4Dm4WJi5hdUKKLg0RMRaRpDPNMdkTwIDkp7WtD0Rd9BH9fLw==} + dev: true - /@vue/shared@3.3.9: - resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==} + /@vue/shared@3.3.12: + resolution: {integrity: sha512-6p0Yin0pclvnER7BLNOQuod9Z+cxSYh8pSh7CzHnWNjAIP6zrTlCdHRvSCb1aYEx6i3Q3kvfuWU7nG16CgG1ag==} - /@vueuse/components@10.6.1(vue@3.3.9): + /@vueuse/components@10.6.1(vue@3.3.12): resolution: {integrity: sha512-Yx7h201xJG3V4+rY1wRAYy8EI9Q1r+gpwCJzgyZ0CWPyDWyZCxPXNjPhBJsXcSzJ1h1ph9tE5cVqEXHtEs6bjg==} dependencies: - '@vueuse/core': 10.6.1(vue@3.3.9) - '@vueuse/shared': 10.6.1(vue@3.3.9) - vue-demi: 0.14.6(vue@3.3.9) + '@vueuse/core': 10.6.1(vue@3.3.12) + '@vueuse/shared': 10.6.1(vue@3.3.12) + vue-demi: 0.14.6(vue@3.3.12) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/components@10.7.0(vue@3.3.11): + /@vueuse/components@10.7.0(vue@3.3.12): resolution: {integrity: sha512-ycyF+fZtipP/8WVWZ5y6Cb9twJ0EeVHIqcqkCcTpmAJdheRjorT8v6cHk3h144HHTMgIfBWC6TaSukDG7QFmsw==} dependencies: - '@vueuse/core': 10.7.0(vue@3.3.11) - '@vueuse/shared': 10.7.0(vue@3.3.11) - vue-demi: 0.14.6(vue@3.3.11) + '@vueuse/core': 10.7.0(vue@3.3.12) + '@vueuse/shared': 10.7.0(vue@3.3.12) + vue-demi: 0.14.6(vue@3.3.12) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/core@10.6.1(vue@3.3.9): + /@vueuse/core@10.6.1(vue@3.3.12): resolution: {integrity: sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.6.1 - '@vueuse/shared': 10.6.1(vue@3.3.9) - vue-demi: 0.14.6(vue@3.3.9) + '@vueuse/shared': 10.6.1(vue@3.3.12) + vue-demi: 0.14.6(vue@3.3.12) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/core@10.7.0(vue@3.3.10): + /@vueuse/core@10.7.0(vue@3.3.12): resolution: {integrity: sha512-4EUDESCHtwu44ZWK3Gc/hZUVhVo/ysvdtwocB5vcauSV4B7NiGY5972WnsojB3vRNdxvAt7kzJWE2h9h7C9d5w==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.7.0 - '@vueuse/shared': 10.7.0(vue@3.3.10) - vue-demi: 0.14.6(vue@3.3.10) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - - /@vueuse/core@10.7.0(vue@3.3.11): - resolution: {integrity: sha512-4EUDESCHtwu44ZWK3Gc/hZUVhVo/ysvdtwocB5vcauSV4B7NiGY5972WnsojB3vRNdxvAt7kzJWE2h9h7C9d5w==} - dependencies: - '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.7.0 - '@vueuse/shared': 10.7.0(vue@3.3.11) - vue-demi: 0.14.6(vue@3.3.11) + '@vueuse/shared': 10.7.0(vue@3.3.12) + vue-demi: 0.14.6(vue@3.3.12) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -3636,28 +3596,19 @@ packages: resolution: {integrity: sha512-GlaH7tKP2iBCZ3bHNZ6b0cl9g0CJK8lttkBNUX156gWvNYhTKEtbweWLm9rxCPIiwzYcr/5xML6T8ZUEt+DkvA==} dev: false - /@vueuse/shared@10.6.1(vue@3.3.9): + /@vueuse/shared@10.6.1(vue@3.3.12): resolution: {integrity: sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==} dependencies: - vue-demi: 0.14.6(vue@3.3.9) + vue-demi: 0.14.6(vue@3.3.12) transitivePeerDependencies: - '@vue/composition-api' - vue dev: false - /@vueuse/shared@10.7.0(vue@3.3.10): + /@vueuse/shared@10.7.0(vue@3.3.12): resolution: {integrity: sha512-kc00uV6CiaTdc3i1CDC4a3lBxzaBE9AgYNtFN87B5OOscqeWElj/uza8qVDmk7/U8JbqoONLbtqiLJ5LGRuqlw==} dependencies: - vue-demi: 0.14.6(vue@3.3.10) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - dev: false - - /@vueuse/shared@10.7.0(vue@3.3.11): - resolution: {integrity: sha512-kc00uV6CiaTdc3i1CDC4a3lBxzaBE9AgYNtFN87B5OOscqeWElj/uza8qVDmk7/U8JbqoONLbtqiLJ5LGRuqlw==} - dependencies: - vue-demi: 0.14.6(vue@3.3.11) + vue-demi: 0.14.6(vue@3.3.12) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4626,6 +4577,7 @@ packages: /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: false /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -5985,15 +5937,15 @@ packages: strip-bom-string: 1.0.0 dev: false - /grid-layout-plus@1.0.3(vue@3.3.11): + /grid-layout-plus@1.0.3(vue@3.3.12): resolution: {integrity: sha512-pJ2GqmuBkwE7Fc11+/lmLwkEycCwD92wCoaWk7kE3Y8gJRFntd16/RR1KwK08ClpP6p8VR5cPB57mmirBou77Q==} peerDependencies: vue: ^3.0.0 dependencies: - '@vexip-ui/hooks': 1.11.4(vue@3.3.11) + '@vexip-ui/hooks': 1.11.4(vue@3.3.12) '@vexip-ui/utils': 1.16.1 interactjs: 1.10.21 - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: false /has-bigints@1.0.2: @@ -6661,20 +6613,12 @@ packages: graceful-fs: 4.2.11 dev: true - /kappagen@0.3.5(vue@3.3.11): + /kappagen@0.3.5(vue@3.3.12): resolution: {integrity: sha512-plN9g2+wLjnF2bj49aoxnhB+Owlu28V1N0UlWxopUb85nuz07f3msKGwS/bbMTMZZ8GBH9yJo+hdSPYKTp2i2g==} peerDependencies: vue: '>=3.0.0' dependencies: - vue: 3.3.11(typescript@5.3.3) - dev: false - - /kappagen@0.3.5(vue@3.3.9): - resolution: {integrity: sha512-plN9g2+wLjnF2bj49aoxnhB+Owlu28V1N0UlWxopUb85nuz07f3msKGwS/bbMTMZZ8GBH9yJo+hdSPYKTp2i2g==} - peerDependencies: - vue: '>=3.0.0' - dependencies: - vue: 3.3.9(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.3) dev: false /keycode@2.2.1: @@ -7468,13 +7412,13 @@ packages: object-assign: 4.1.1 thenify-all: 1.6.0 - /naive-ui@2.35.0(vue@3.3.11): + /naive-ui@2.35.0(vue@3.3.12): resolution: {integrity: sha512-PdnLpOip1LQaKs5+rXLZoPDPQkTq26TnHWeABvUA2eOQjtHxE4+TQvj0Jq/W8clM2On/7jptoGmenLt48G3Bhg==} peerDependencies: vue: ^3.0.0 dependencies: '@css-render/plugin-bem': 0.15.12(css-render@0.15.12) - '@css-render/vue3-ssr': 0.15.12(vue@3.3.11) + '@css-render/vue3-ssr': 0.15.12(vue@3.3.12) '@types/katex': 0.16.6 '@types/lodash': 4.14.202 '@types/lodash-es': 4.17.11 @@ -7488,10 +7432,10 @@ packages: lodash-es: 4.17.21 seemly: 0.3.6 treemate: 0.3.11 - vdirs: 0.1.8(vue@3.3.11) - vooks: 0.2.12(vue@3.3.11) - vue: 3.3.11(typescript@5.3.3) - vueuc: 0.4.51(vue@3.3.11) + vdirs: 0.1.8(vue@3.3.12) + vooks: 0.2.12(vue@3.3.12) + vue: 3.3.12(typescript@5.3.3) + vueuc: 0.4.51(vue@3.3.12) dev: false /nanoid@3.3.7: @@ -9383,19 +9327,6 @@ packages: stable: 0.1.8 dev: true - /svgo@3.0.5: - resolution: {integrity: sha512-HQKHEo73pMNOlDlBcLgZRcHW2+1wo7bFYayAXkGN0l/2+h68KjlfZyMRhdhaGvoHV2eApOovl12zoFz42sT6rQ==} - engines: {node: '>=14.0.0'} - dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 - css-select: 5.1.0 - css-tree: 2.3.1 - css-what: 6.1.0 - csso: 5.0.5 - picocolors: 1.0.0 - dev: true - /svgo@3.1.0: resolution: {integrity: sha512-R5SnNA89w1dYgNv570591F66v34b3eQShpIBcQtZtM5trJwm1VvxbIoMpRYY3ybTAutcKTLEmTsdnaknOHbiQA==} engines: {node: '>=14.0.0'} @@ -10012,13 +9943,13 @@ packages: util: 0.12.5 dev: false - /vdirs@0.1.8(vue@3.3.11): + /vdirs@0.1.8(vue@3.3.12): resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} peerDependencies: vue: ^3.0.11 dependencies: evtd: 0.2.4 - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: false /vfile-location@5.0.2: @@ -10093,22 +10024,13 @@ packages: - supports-color dev: true - /vite-svg-loader@5.1.0(vue@3.3.10): - resolution: {integrity: sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==} - peerDependencies: - vue: '>=3.2.13' - dependencies: - svgo: 3.0.5 - vue: 3.3.10(typescript@5.3.2) - dev: true - - /vite-svg-loader@5.1.0(vue@3.3.11): + /vite-svg-loader@5.1.0(vue@3.3.12): resolution: {integrity: sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==} peerDependencies: vue: '>=3.2.13' dependencies: svgo: 3.1.0 - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: true /vite@5.0.4(@types/node@20.10.3): @@ -10237,16 +10159,16 @@ packages: acorn-walk: 8.3.0 dev: false - /vooks@0.2.12(vue@3.3.11): + /vooks@0.2.12(vue@3.3.12): resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} peerDependencies: vue: ^3.0.0 dependencies: evtd: 0.2.4 - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: false - /vue-demi@0.13.11(vue@3.3.11): + /vue-demi@0.13.11(vue@3.3.12): resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} engines: {node: '>=12'} hasBin: true @@ -10258,10 +10180,10 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: false - /vue-demi@0.14.6(vue@3.3.10): + /vue-demi@0.14.6(vue@3.3.12): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -10273,47 +10195,17 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.10(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.3) dev: false - /vue-demi@0.14.6(vue@3.3.11): - resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - dependencies: - vue: 3.3.11(typescript@5.3.3) - dev: false - - /vue-demi@0.14.6(vue@3.3.9): - resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - dependencies: - vue: 3.3.9(typescript@5.3.2) - dev: false - - /vue-draggable-next@2.2.1(sortablejs@1.15.1)(vue@3.3.11): + /vue-draggable-next@2.2.1(sortablejs@1.15.1)(vue@3.3.12): resolution: {integrity: sha512-EAMS1IRHF0kZO0o5PMOinsQsXIqsrKT1hKmbICxG3UEtn7zLFkLxlAtajcCcUTisNvQ6TtCB5COjD9a1raNADw==} peerDependencies: sortablejs: ^1.14.0 vue: ^3.2.2 dependencies: sortablejs: 1.15.1 - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) dev: false /vue-eslint-parser@9.3.2(eslint@8.55.0): @@ -10334,7 +10226,7 @@ packages: - supports-color dev: true - /vue-i18n@9.8.0(vue@3.3.11): + /vue-i18n@9.8.0(vue@3.3.12): resolution: {integrity: sha512-Izho+6PYjejsTq2mzjcRdBZ5VLRQoSuuexvR8029h5CpN03FYqiqBrShMyf2I1DKkN6kw/xmujcbvC+4QybpsQ==} engines: {node: '>= 16'} peerDependencies: @@ -10343,24 +10235,15 @@ packages: '@intlify/core-base': 9.8.0 '@intlify/shared': 9.8.0 '@vue/devtools-api': 6.5.1 - vue: 3.3.11(typescript@5.3.3) + vue: 3.3.12(typescript@5.3.3) - /vue-router@4.2.5(vue@3.3.11): + /vue-router@4.2.5(vue@3.3.12): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.3.11(typescript@5.3.3) - dev: false - - /vue-router@4.2.5(vue@3.3.9): - resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} - peerDependencies: - vue: ^3.2.0 - dependencies: - '@vue/devtools-api': 6.5.1 - vue: 3.3.9(typescript@5.3.2) + vue: 3.3.12(typescript@5.3.3) dev: false /vue-template-compiler@2.7.15: @@ -10401,80 +10284,49 @@ packages: moveable: 0.53.0 dev: false - /vue@3.3.10(typescript@5.3.2): - resolution: {integrity: sha512-zg6SIXZdTBwiqCw/1p+m04VyHjLfwtjwz8N57sPaBhEex31ND0RYECVOC1YrRwMRmxFf5T1dabl6SGUbMKKuVw==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@vue/compiler-dom': 3.3.10 - '@vue/compiler-sfc': 3.3.10 - '@vue/runtime-dom': 3.3.10 - '@vue/server-renderer': 3.3.10(vue@3.3.10) - '@vue/shared': 3.3.10 - typescript: 5.3.2 - - /vue@3.3.11(typescript@5.3.3): - resolution: {integrity: sha512-d4oBctG92CRO1cQfVBZp6WJAs0n8AK4Xf5fNjQCBeKCvMI1efGQ5E3Alt1slFJS9fZuPcFoiAiqFvQlv1X7t/w==} + /vue@3.3.12(typescript@5.3.2): + resolution: {integrity: sha512-jYNv2QmET2OTHsFzfWHMnqgCfqL4zfo97QwofdET+GBRCHhSCHuMTTvNIgeSn0/xF3JRT5OGah6MDwUFN7MPlg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.3.11 - '@vue/compiler-sfc': 3.3.11 - '@vue/runtime-dom': 3.3.11 - '@vue/server-renderer': 3.3.11(vue@3.3.11) - '@vue/shared': 3.3.11 - typescript: 5.3.3 - - /vue@3.3.9(typescript@5.3.2): - resolution: {integrity: sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@vue/compiler-dom': 3.3.9 - '@vue/compiler-sfc': 3.3.9 - '@vue/runtime-dom': 3.3.9 - '@vue/server-renderer': 3.3.9(vue@3.3.9) - '@vue/shared': 3.3.9 + '@vue/compiler-dom': 3.3.12 + '@vue/compiler-sfc': 3.3.12 + '@vue/runtime-dom': 3.3.12 + '@vue/server-renderer': 3.3.12(vue@3.3.12) + '@vue/shared': 3.3.12 typescript: 5.3.2 - /vue@3.3.9(typescript@5.3.3): - resolution: {integrity: sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==} + /vue@3.3.12(typescript@5.3.3): + resolution: {integrity: sha512-jYNv2QmET2OTHsFzfWHMnqgCfqL4zfo97QwofdET+GBRCHhSCHuMTTvNIgeSn0/xF3JRT5OGah6MDwUFN7MPlg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.3.9 - '@vue/compiler-sfc': 3.3.9 - '@vue/runtime-dom': 3.3.9 - '@vue/server-renderer': 3.3.9(vue@3.3.9) - '@vue/shared': 3.3.9 + '@vue/compiler-dom': 3.3.12 + '@vue/compiler-sfc': 3.3.12 + '@vue/runtime-dom': 3.3.12 + '@vue/server-renderer': 3.3.12(vue@3.3.12) + '@vue/shared': 3.3.12 typescript: 5.3.3 - dev: false - /vueuc@0.4.51(vue@3.3.11): + /vueuc@0.4.51(vue@3.3.12): resolution: {integrity: sha512-pLiMChM4f+W8czlIClGvGBYo656lc2Y0/mXFSCydcSmnCR1izlKPGMgiYBGjbY9FDkFG8a2HEVz7t0DNzBWbDw==} peerDependencies: vue: ^3.0.11 dependencies: - '@css-render/vue3-ssr': 0.15.12(vue@3.3.11) + '@css-render/vue3-ssr': 0.15.12(vue@3.3.12) '@juggle/resize-observer': 3.4.0 css-render: 0.15.12 evtd: 0.2.4 seemly: 0.3.6 - vdirs: 0.1.8(vue@3.3.11) - vooks: 0.2.12(vue@3.3.11) - vue: 3.3.11(typescript@5.3.3) + vdirs: 0.1.8(vue@3.3.12) + vooks: 0.2.12(vue@3.3.12) + vue: 3.3.12(typescript@5.3.3) dev: false /web-namespaces@2.0.1: