From 635f32a6c44a8000525c448efa72c1d03b88ab82 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Mon, 17 Aug 2026 10:45:00 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E7=99=BB=E5=BD=95=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E9=A2=91=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/__tests__/client.spec.ts | 29 ++ src/api/__tests__/index.spec.ts | 86 ++++- src/api/client.ts | 8 + src/api/index.ts | 17 + src/locales/en-US.ts | 1 + src/locales/zh-CN.ts | 1 + src/locales/zh-TW.ts | 1 + yarn.lock | 585 ++++++++++--------------------- 8 files changed, 332 insertions(+), 396 deletions(-) diff --git a/src/api/__tests__/client.spec.ts b/src/api/__tests__/client.spec.ts index abe0750e..02bc6ec1 100644 --- a/src/api/__tests__/client.spec.ts +++ b/src/api/__tests__/client.spec.ts @@ -238,6 +238,35 @@ describe('MoviePilot API client', () => { expect(reportConnectionFailure).toHaveBeenCalledWith('server-unreachable') }) + it('401 被 onUnauthorized 接管时不逐条弹请求层 Toast', async () => { + const onUnauthorized = vi.fn(() => true) + const { api } = createApiClients({ + adapter: rejectWith({ detail: 'Not authenticated' }, 401), + hooks: { onUnauthorized }, + notifier, + }) + + const error = requireApiRequestError(await api.get('/resource').catch(reason => reason)) + + expect(error.status).toBe(401) + expect(onUnauthorized).toHaveBeenCalledWith(error) + expect(notifier.error).not.toHaveBeenCalled() + }) + + it('401 未被 onUnauthorized 接管时保留逐条错误提示', async () => { + const onUnauthorized = vi.fn(() => false) + const { api } = createApiClients({ + adapter: rejectWith({ detail: 'Not authenticated' }, 401), + hooks: { onUnauthorized }, + notifier, + }) + + const error = requireApiRequestError(await api.get('/resource').catch(reason => reason)) + + expect(error.status).toBe(401) + expect(notifier.error).toHaveBeenCalledWith('Not authenticated') + }) + it('拒绝缺少标准字段的普通 JSON 响应', async () => { const { api } = createApiClients({ adapter: resolveWith({ value: 1 }), notifier }) diff --git a/src/api/__tests__/index.spec.ts b/src/api/__tests__/index.spec.ts index f21976fe..2ac5a4c6 100644 --- a/src/api/__tests__/index.spec.ts +++ b/src/api/__tests__/index.spec.ts @@ -1,15 +1,27 @@ -import { AxiosHeaders, type InternalAxiosRequestConfig } from 'axios' -import { describe, expect, it, vi } from 'vitest' +import { AxiosError, AxiosHeaders, type AxiosResponse, type InternalAxiosRequestConfig } from 'axios' +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' const mocks = vi.hoisted(() => ({ i18nT: vi.fn((key: string) => `translated:${key}`), + authState: { token: null as string | null }, + logout: vi.fn(), + routerPush: vi.fn(), + toastError: vi.fn(), })) vi.mock('@/router', () => ({ - default: { push: vi.fn() }, + default: { push: mocks.routerPush }, })) vi.mock('@/stores', () => ({ - useAuthStore: () => ({ logout: vi.fn(), token: null }), + useAuthStore: () => ({ + get token() { + return mocks.authState.token + }, + // 与真实 store 一致:登出时清空 token,后续在途请求按无 token 处理。 + logout: mocks.logout.mockImplementation(() => { + mocks.authState.token = null + }), + }), })) vi.mock('@/utils/requestOptimizer', () => ({ initializeRequestOptimizer: vi.fn(), @@ -25,10 +37,43 @@ vi.mock('@/plugins/i18n', () => ({ getCurrentLocale: () => 'zh-CN', })) vi.mock('vue-toastification', () => ({ - useToast: () => ({ error: vi.fn(), success: vi.fn() }), + useToast: () => ({ error: mocks.toastError, success: vi.fn() }), })) +/** 安装始终返回指定 HTTP 失败的适配器。 */ +async function installFailingAdapter(status: number, data: unknown) { + const module = await import('@/api') + module.default.defaults.adapter = async config => { + const response: AxiosResponse = { + config: config as InternalAxiosRequestConfig, + data, + headers: new AxiosHeaders(), + status, + statusText: 'Error', + } + throw new AxiosError( + 'Request failed', + AxiosError.ERR_BAD_RESPONSE, + config as InternalAxiosRequestConfig, + undefined, + response, + ) + } + return module +} + describe('API application wiring', () => { + beforeEach(() => { + mocks.authState.token = null + mocks.logout.mockClear() + mocks.routerPush.mockClear() + mocks.toastError.mockClear() + }) + + afterEach(() => { + vi.useRealTimers() + }) + it('向 window 暴露插件 envelope 客户端,而内部默认导出数据客户端', async () => { const module = await import('@/api') @@ -52,4 +97,35 @@ describe('API application wiring', () => { expect((error as Error).message).toBe('translated:common.invalidApiResponse') expect(mocks.i18nT).toHaveBeenCalledWith('common.invalidApiResponse') }) + + it('已登录时并发 401 只统一登出并提示一次本地化文案', async () => { + vi.useFakeTimers() + mocks.authState.token = 'expired-token' + const module = await installFailingAdapter(401, { detail: 'Not authenticated' }) + + await Promise.allSettled([module.default.get('/dashboard'), module.default.get('/subscribe')]) + + expect(mocks.logout).toHaveBeenCalledOnce() + expect(mocks.routerPush).toHaveBeenCalledWith('/login') + expect(mocks.toastError).toHaveBeenCalledOnce() + expect(mocks.toastError).toHaveBeenCalledWith('translated:common.sessionExpired') + }) + + it('登出后短暂窗口内的在途 401 保持静默,窗口过后恢复逐条提示', async () => { + vi.useFakeTimers() + mocks.authState.token = 'expired-token' + const module = await installFailingAdapter(401, { detail: 'Not authenticated' }) + + await module.default.get('/dashboard').catch(() => {}) + expect(mocks.toastError).toHaveBeenCalledOnce() + + // 窗口内的连带 401 不再弹出英文提示。 + await module.default.get('/subscribe').catch(() => {}) + expect(mocks.toastError).toHaveBeenCalledOnce() + + vi.setSystemTime(Date.now() + 6000) + await module.default.get('/resource').catch(() => {}) + expect(mocks.toastError).toHaveBeenCalledTimes(2) + expect(mocks.toastError).toHaveBeenLastCalledWith('Not authenticated') + }) }) diff --git a/src/api/client.ts b/src/api/client.ts index 427f7a30..22e55050 100644 --- a/src/api/client.ts +++ b/src/api/client.ts @@ -78,6 +78,8 @@ export interface ApiFeedbackNotifier { export interface ApiClientHooks { markServerOnline?(): void onForbidden?(error: ApiRequestError): void + /** 返回 true 表示认证失效已由应用层统一接管,请求层不再弹出逐条错误提示。 */ + onUnauthorized?(error: ApiRequestError): boolean | void reportConnectionFailure?(reason: 'network-error' | 'timeout' | 'server-unreachable'): void } @@ -270,6 +272,12 @@ function installResponseInterceptors( } if (response?.status === 403) hooks?.onForbidden?.(error) + // 认证失效(如后端重启导致 token 作废)由应用层统一登出跳转, + // 避免并发请求逐条弹出 "Not authenticated" 等英文提示刷屏。 + if (response?.status === 401 && hooks?.onUnauthorized?.(error) === true) { + return Promise.reject(error) + } + // 连接类失败(无响应、超时、网关不可用)统一交给离线状态系统按阈值提示, // 不在请求层逐个弹出,避免后端重启时刷屏。 if (!failureReason) notifyFailure(requestConfig?.feedback, notifier, error.message) diff --git a/src/api/index.ts b/src/api/index.ts index 420e4a05..7ca76f7e 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -24,6 +24,9 @@ export interface ConnectionAwareRequestConfig extends AxiosRequestConfig { const globalOfflineStatus = useGlobalOfflineStatus() const toast = useToast() +// 会话失效后短暂窗口内的 401 都是同一次 token 作废的连带失败,统一静默避免刷屏。 +const SESSION_EXPIRED_SUPPRESSION_MS = 5000 +let sessionExpiredAt = 0 const fallbackMessageKeys: Record = { 'invalid-envelope': 'common.invalidApiResponse', 'network-error': 'common.networkConnectionFailed', @@ -43,6 +46,20 @@ const { api, pluginApi } = createApiClients({ authStore.logout() void router.push('/login') }, + onUnauthorized: () => { + const authStore = useAuthStore() + if (!authStore.token) { + // 无 token 的 401(如登录页验证失败)交给调用方自行展示; + // 但刚登出后的在途请求属于同一会话失效,继续静默。 + return Date.now() - sessionExpiredAt < SESSION_EXPIRED_SUPPRESSION_MS + } + // 后端重启会使旧 token 作废:只提示一次并统一登出,不逐条弹英文错误。 + sessionExpiredAt = Date.now() + authStore.logout() + toast.error(i18n.global.t('common.sessionExpired')) + void router.push('/login') + return true + }, }, notifier: { error: message => toast.error(message), diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts index 36bcf2c4..98b14cb4 100644 --- a/src/locales/en-US.ts +++ b/src/locales/en-US.ts @@ -66,6 +66,7 @@ export default { requestTimeout: 'Request timed out', invalidApiResponse: 'The server returned an invalid response', apiRequestFailed: 'Request failed', + sessionExpired: 'Session expired, please sign in again', troubleshooting: 'Troubleshooting', checking: 'Checking', retry: 'Retry', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index c1cd0d9d..1901651e 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -64,6 +64,7 @@ export default { requestTimeout: '请求超时', invalidApiResponse: '服务器返回了无效响应', apiRequestFailed: '请求失败', + sessionExpired: '登录状态已失效,请重新登录', troubleshooting: '疑难解答', checking: '检查中', retry: '重试', diff --git a/src/locales/zh-TW.ts b/src/locales/zh-TW.ts index fb5dae41..e3598c68 100644 --- a/src/locales/zh-TW.ts +++ b/src/locales/zh-TW.ts @@ -64,6 +64,7 @@ export default { requestTimeout: '請求超時', invalidApiResponse: '服務器返回了無效響應', apiRequestFailed: '請求失敗', + sessionExpired: '登入狀態已失效,請重新登入', troubleshooting: '疑難排解', checking: '檢查中', retry: '重試', diff --git a/yarn.lock b/yarn.lock index 4810ee04..88c076f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -67,7 +67,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz" integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.24.4", "@babel/core@^7.26.7", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": +"@babel/core@^7.24.4", "@babel/core@^7.26.7": version "7.26.10" resolved "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz" integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== @@ -245,7 +245,7 @@ "@babel/template" "^7.27.0" "@babel/types" "^7.27.0" -"@babel/parser@^7.15.8", "@babel/parser@^7.24.6", "@babel/parser@^7.25.3", "@babel/parser@^7.25.4", "@babel/parser@^7.26.10", "@babel/parser@^7.26.9", "@babel/parser@^7.27.0": +"@babel/parser@^7.24.6", "@babel/parser@^7.25.3", "@babel/parser@^7.25.4", "@babel/parser@^7.26.10", "@babel/parser@^7.26.9", "@babel/parser@^7.27.0": version "7.27.0" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz" integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg== @@ -872,12 +872,12 @@ "@csstools/color-helpers" "^5.1.0" "@csstools/css-calc" "^2.1.4" -"@csstools/css-parser-algorithms@^3.0.4", "@csstools/css-parser-algorithms@^3.0.5": +"@csstools/css-parser-algorithms@^3.0.4": version "3.0.5" resolved "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz" integrity sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ== -"@csstools/css-tokenizer@^3.0.3", "@csstools/css-tokenizer@^3.0.4": +"@csstools/css-tokenizer@^3.0.3": version "3.0.4" resolved "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz" integrity sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw== @@ -914,16 +914,16 @@ resolved "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz" integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== -"@esbuild/android-arm@0.21.5": - version "0.21.5" - resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz" - integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== - "@esbuild/android-arm64@0.21.5": version "0.21.5" resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz" integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== +"@esbuild/android-arm@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz" + integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== + "@esbuild/android-x64@0.21.5": version "0.21.5" resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz" @@ -949,16 +949,16 @@ resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz" integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== -"@esbuild/linux-arm@0.21.5": - version "0.21.5" - resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz" - integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== - "@esbuild/linux-arm64@0.21.5": version "0.21.5" resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz" integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== +"@esbuild/linux-arm@0.21.5": + version "0.21.5" + resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz" + integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== + "@esbuild/linux-ia32@0.21.5": version "0.21.5" resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz" @@ -1097,7 +1097,7 @@ resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz" integrity sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg== -"@fullcalendar/core@^6.1.15", "@fullcalendar/core@~6.1.17": +"@fullcalendar/core@^6.1.15": version "6.1.17" resolved "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.17.tgz" integrity sha512-0W7lnIrv18ruJ5zeWBeNZXO8qCWlzxDdp9COFEsZnyNjiEhUVnrW/dPbjRKYpL0edGG0/Lhs0ghp1z/5ekt8ZA== @@ -1261,16 +1261,16 @@ resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz" integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== -"@img/sharp-libvips-linux-arm@1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz" - integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== - "@img/sharp-libvips-linux-arm64@1.0.4": version "1.0.4" resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz" integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== +"@img/sharp-libvips-linux-arm@1.0.5": + version "1.0.5" + resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz" + integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== + "@img/sharp-libvips-linux-s390x@1.0.4": version "1.0.4" resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz" @@ -1291,13 +1291,6 @@ resolved "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz" integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== -"@img/sharp-linux-arm@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz" - integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== - optionalDependencies: - "@img/sharp-libvips-linux-arm" "1.0.5" - "@img/sharp-linux-arm64@0.33.5": version "0.33.5" resolved "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz" @@ -1305,6 +1298,13 @@ optionalDependencies: "@img/sharp-libvips-linux-arm64" "1.0.4" +"@img/sharp-linux-arm@0.33.5": + version "0.33.5" + resolved "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz" + integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== + optionalDependencies: + "@img/sharp-libvips-linux-arm" "1.0.5" + "@img/sharp-linux-s390x@0.33.5": version "0.33.5" resolved "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz" @@ -1409,14 +1409,6 @@ "@intlify/message-compiler" "10.0.7" "@intlify/shared" "10.0.7" -"@intlify/message-compiler@^11.1.2": - version "11.1.3" - resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-11.1.3.tgz" - integrity sha512-7rbqqpo2f5+tIcwZTAG/Ooy9C8NDVwfDkvSeDPWUPQW+Dyzfw2o9H103N5lKBxO7wxX9dgCDjQ8Umz73uYw3hw== - dependencies: - "@intlify/shared" "11.1.3" - source-map-js "^1.0.2" - "@intlify/message-compiler@10.0.7": version "10.0.7" resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-10.0.7.tgz" @@ -1425,21 +1417,24 @@ "@intlify/shared" "10.0.7" source-map-js "^1.0.2" -"@intlify/shared@^10.0.0": +"@intlify/message-compiler@^11.1.2": + version "11.1.3" + resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-11.1.3.tgz" + integrity sha512-7rbqqpo2f5+tIcwZTAG/Ooy9C8NDVwfDkvSeDPWUPQW+Dyzfw2o9H103N5lKBxO7wxX9dgCDjQ8Umz73uYw3hw== + dependencies: + "@intlify/shared" "11.1.3" + source-map-js "^1.0.2" + +"@intlify/shared@10.0.7", "@intlify/shared@^10.0.0": version "10.0.7" resolved "https://registry.npmjs.org/@intlify/shared/-/shared-10.0.7.tgz" integrity sha512-oeoq0L5+5P4ShXa6jBQcx+BT+USe3MjX0xJexZO1y7rfDJdwZ9+QP3jO4tcS1nxhBYYdjvFTqe4bmnLijV0GxQ== -"@intlify/shared@^11.1.2", "@intlify/shared@11.1.3": +"@intlify/shared@11.1.3", "@intlify/shared@^11.1.2": version "11.1.3" resolved "https://registry.npmjs.org/@intlify/shared/-/shared-11.1.3.tgz" integrity sha512-pTFBgqa/99JRA2H1qfyqv97MKWJrYngXBA/I0elZcYxvJgcCw3mApAoPW3mJ7vx3j+Ti0FyKUFZ4hWxdjKaxvA== -"@intlify/shared@10.0.7": - version "10.0.7" - resolved "https://registry.npmjs.org/@intlify/shared/-/shared-10.0.7.tgz" - integrity sha512-oeoq0L5+5P4ShXa6jBQcx+BT+USe3MjX0xJexZO1y7rfDJdwZ9+QP3jO4tcS1nxhBYYdjvFTqe4bmnLijV0GxQ== - "@intlify/unplugin-vue-i18n@^6.0.3": version "6.0.8" resolved "https://registry.npmjs.org/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-6.0.8.tgz" @@ -1561,7 +1556,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -1574,7 +1569,7 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@nuxt/kit@^3.14.1592", "@nuxt/kit@^3.2.2": +"@nuxt/kit@^3.14.1592": version "3.17.0" resolved "https://registry.npmjs.org/@nuxt/kit/-/kit-3.17.0.tgz" integrity sha512-+aS+Enqqo2qSbyl0APPPxX8BPYsaRcZ8dFRbpCOfK38lv2ckoHKCWNkT8L/7q2w+1pjNZaxlUoW9Mku1vdEb/A== @@ -2024,7 +2019,7 @@ resolved "https://registry.npmjs.org/@tailwindcss/aspect-ratio/-/aspect-ratio-0.4.2.tgz" integrity sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ== -"@testing-library/dom@^9.3.3", "@testing-library/dom@>=7.21.4", "@testing-library/dom@9.3.4": +"@testing-library/dom@9.3.4", "@testing-library/dom@^9.3.3": version "9.3.4" resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz" integrity sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ== @@ -2119,11 +2114,6 @@ resolved "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz" integrity sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw== -"@types/estree@^1.0.0", "@types/estree@^1.0.6", "@types/estree@^1.0.8": - version "1.0.9" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz" - integrity sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg== - "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" @@ -2134,6 +2124,11 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz" integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== +"@types/estree@^1.0.0", "@types/estree@^1.0.6", "@types/estree@^1.0.8": + version "1.0.9" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz" + integrity sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg== + "@types/http-proxy@^1.17.15": version "1.17.16" resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz" @@ -2203,7 +2198,7 @@ resolved "https://registry.npmjs.org/@types/ndarray/-/ndarray-1.0.14.tgz" integrity sha512-oANmFZMnFQvb219SSBIhI1Ih/r4CvHDOzkWyJS/XRqkMrGH5/kaPSA1hQhdIBzouaE+5KpE/f5ylI9cujmckQg== -"@types/node@*", "@types/node@^18.0.0 || ^20.0.0 || >=22.0.0", "@types/node@^18.0.0 || >=20.0.0", "@types/node@^20.1.4", "@types/node@>=18": +"@types/node@*", "@types/node@^20.1.4": version "20.17.31" resolved "https://registry.npmjs.org/@types/node/-/node-20.17.31.tgz" integrity sha512-quODOCNXQAbNf1Q7V+fI8WyErOCh0D5Yd31vHnKu4GkSztGQ7rlltAaqXhHhLl33tlVyUXs2386MkANSwgDn6A== @@ -2310,7 +2305,7 @@ natural-compare "^1.4.0" ts-api-utils "^2.5.0" -"@typescript-eslint/parser@^7.0.0 || ^8.0.0", "@typescript-eslint/parser@^8.64.0", "@typescript-eslint/parser@8.64.0": +"@typescript-eslint/parser@8.64.0": version "8.64.0" resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.64.0.tgz" integrity sha512-KA0OshtlcCCXmbfqyZkM5pV3/WNraJf7DkJRLpyrmwPtud57H5BDX7C3k0LPSPxpprfRL+cJDGabF10mvNCoCw== @@ -2330,7 +2325,7 @@ "@typescript-eslint/types" "^8.64.0" debug "^4.4.3" -"@typescript-eslint/scope-manager@^8.13.0", "@typescript-eslint/scope-manager@8.64.0": +"@typescript-eslint/scope-manager@8.64.0", "@typescript-eslint/scope-manager@^8.13.0": version "8.64.0" resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.64.0.tgz" integrity sha512-CXEaFdYXjSTgKhisNkwCcJwTP8Pl+fmRrEQrri4nm3vU743bALrxzLmq7fHG/7e6a5xO0lDYeURpZmBuhHk54w== @@ -2338,7 +2333,7 @@ "@typescript-eslint/types" "8.64.0" "@typescript-eslint/visitor-keys" "8.64.0" -"@typescript-eslint/tsconfig-utils@^8.64.0", "@typescript-eslint/tsconfig-utils@8.64.0": +"@typescript-eslint/tsconfig-utils@8.64.0", "@typescript-eslint/tsconfig-utils@^8.64.0": version "8.64.0" resolved "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.64.0.tgz" integrity sha512-2yo8rRNKuzbVWQp5kslhANqZ2uDAeROQHBRZNPu8JDsHmeFNj/XJJhX/FhNUWmkHHvoNsKa6+tHJiig87EzsQw== @@ -2354,12 +2349,12 @@ debug "^4.4.3" ts-api-utils "^2.5.0" -"@typescript-eslint/types@^8.64.0", "@typescript-eslint/types@8.64.0": +"@typescript-eslint/types@8.64.0", "@typescript-eslint/types@^8.64.0": version "8.64.0" resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.64.0.tgz" integrity sha512-qjhfuTfLXjA4IOzXvz0rTjT01BqEiIgPoUeMwiEjnaHKJMTNo8rH5pYW1a2L/0Dnux2fPC85AeyJoWaGa8WxTA== -"@typescript-eslint/typescript-estree@^8.13.0", "@typescript-eslint/typescript-estree@8.64.0": +"@typescript-eslint/typescript-estree@8.64.0", "@typescript-eslint/typescript-estree@^8.13.0": version "8.64.0" resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.64.0.tgz" integrity sha512-Pztpsn1aCE1oWDvDEfUk31nngvvF7vUB5SwHFEaZIFpvw7WJtqUHHL4plBZDA9HfWJJjL13BdG0YrJInTUvoVA== @@ -2445,7 +2440,7 @@ estree-walker "^3.0.3" magic-string "^0.30.17" -"@vitest/pretty-format@^3.2.7", "@vitest/pretty-format@3.2.7": +"@vitest/pretty-format@3.2.7", "@vitest/pretty-format@^3.2.7": version "3.2.7" resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.7.tgz" integrity sha512-KUHlwqVu0sRlhCdyPdQ/wBoTfRahjUky1MubOmYw9fWfIZy1gNoHpuaaQBPAaMaVYdQYHJLurzj8ECCj5OwTqA== @@ -2486,7 +2481,7 @@ loupe "^3.1.4" tinyrainbow "^2.0.0" -"@volar/language-core@~2.4.11", "@volar/language-core@2.4.13": +"@volar/language-core@2.4.13", "@volar/language-core@~2.4.11": version "2.4.13" resolved "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.13.tgz" integrity sha512-MnQJ7eKchJx5Oz+YdbqyFUk8BN6jasdJv31n/7r6/WwlOOv7qzvot6B66887l2ST3bUW4Mewml54euzpJWA6bg== @@ -2517,7 +2512,7 @@ resolved "https://registry.npmjs.org/@vue-flow/controls/-/controls-1.1.2.tgz" integrity sha512-6dtl/JnwDBNau5h3pDBdOCK6tdxiVAOL3cyruRL61gItwq5E97Hmjmj2BIIqX2p7gU1ENg3z80Z4zlu58fGlsg== -"@vue-flow/core@^1.23.0", "@vue-flow/core@^1.42.1": +"@vue-flow/core@^1.42.1": version "1.43.1" resolved "https://registry.npmjs.org/@vue-flow/core/-/core-1.43.1.tgz" integrity sha512-GL5sFR5Gy8PtyPHfpClyXML1WzcclnmV57Md6W0PQie15S6Y2Xqi28TKSV1E/uvM2tToorvsULg+yDVWLPHR4g== @@ -2617,7 +2612,7 @@ estree-walker "^2.0.2" source-map-js "^1.2.0" -"@vue/compiler-dom@^3.2.45", "@vue/compiler-dom@^3.5.0", "@vue/compiler-dom@3.5.13", "@vue/compiler-dom@3.x": +"@vue/compiler-dom@3.5.13", "@vue/compiler-dom@^3.2.45", "@vue/compiler-dom@^3.5.0": version "3.5.13" resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz" integrity sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA== @@ -2625,7 +2620,7 @@ "@vue/compiler-core" "3.5.13" "@vue/shared" "3.5.13" -"@vue/compiler-sfc@^2.7.0 || ^3.0.0", "@vue/compiler-sfc@^3.5.13", "@vue/compiler-sfc@>= 3", "@vue/compiler-sfc@3.5.13": +"@vue/compiler-sfc@3.5.13", "@vue/compiler-sfc@^3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz" integrity sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ== @@ -2656,12 +2651,7 @@ de-indent "^1.0.2" he "^1.2.0" -"@vue/devtools-api@^6.5.0": - version "6.6.4" - resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz" - integrity sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g== - -"@vue/devtools-api@^6.6.4": +"@vue/devtools-api@^6.5.0", "@vue/devtools-api@^6.6.4": version "6.6.4" resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz" integrity sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g== @@ -2732,7 +2722,7 @@ "@vue/shared" "3.5.13" csstype "^3.1.3" -"@vue/server-renderer@3.5.13", "@vue/server-renderer@3.x": +"@vue/server-renderer@3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz" integrity sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA== @@ -2740,12 +2730,12 @@ "@vue/compiler-ssr" "3.5.13" "@vue/shared" "3.5.13" -"@vue/shared@^3.5.0", "@vue/shared@^3.5.13", "@vue/shared@3.5.13": +"@vue/shared@3.5.13", "@vue/shared@^3.5.0", "@vue/shared@^3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz" integrity sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ== -"@vue/test-utils@^2.4.1", "@vue/test-utils@2.4.11": +"@vue/test-utils@2.4.11", "@vue/test-utils@^2.4.1": version "2.4.11" resolved "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.11.tgz" integrity sha512-GDqaqZsA6m2E5vNzej0aYiIb6BX8xV9pNSbbbXKOfEYwg7ZNblVX8suyqmUBThq8VIrgAJNxn+z72hVtUeiWHA== @@ -2760,16 +2750,6 @@ dependencies: upath "^2.0.1" -"@vueuse/core@*", "@vueuse/core@^12.4.0": - version "12.8.2" - resolved "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz" - integrity sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ== - dependencies: - "@types/web-bluetooth" "^0.0.21" - "@vueuse/metadata" "12.8.2" - "@vueuse/shared" "12.8.2" - vue "^3.5.13" - "@vueuse/core@^10.5.0": version "10.11.1" resolved "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz" @@ -2780,6 +2760,16 @@ "@vueuse/shared" "10.11.1" vue-demi ">=0.14.8" +"@vueuse/core@^12.4.0": + version "12.8.2" + resolved "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz" + integrity sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ== + dependencies: + "@types/web-bluetooth" "^0.0.21" + "@vueuse/metadata" "12.8.2" + "@vueuse/shared" "12.8.2" + vue "^3.5.13" + "@vueuse/math@^12.4.0": version "12.8.2" resolved "https://registry.npmjs.org/@vueuse/math/-/math-12.8.2.tgz" @@ -2837,7 +2827,7 @@ accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -ace-builds@*, ace-builds@^1.37.4: +ace-builds@^1.37.4: version "1.40.1" resolved "https://registry.npmjs.org/ace-builds/-/ace-builds-1.40.1.tgz" integrity sha512-32uwJNwmhqpnYtr6oq8RoO1D6F6tnxisv5f9w2XPX3vi4QruuHNikadHUiHvnxLAV1n5Azv4LFtpItQ5dD1eRw== @@ -2847,7 +2837,7 @@ acorn-jsx@^5.3.2: resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.14.0, acorn@^8.14.1, acorn@^8.16.0, acorn@^8.5.0, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.14.0, acorn@^8.14.1, acorn@^8.16.0, acorn@^8.5.0, acorn@^8.8.2, acorn@^8.9.0: version "8.17.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz" integrity sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg== @@ -2867,17 +2857,7 @@ ajv@^6.14.0: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: - version "8.17.1" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz" - integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== - dependencies: - fast-deep-equal "^3.1.3" - fast-uri "^3.0.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - -ajv@^8.6.0, ajv@>=8: +ajv@^8.0.1, ajv@^8.6.0: version "8.17.1" resolved "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz" integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== @@ -2932,7 +2912,7 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -apexcharts@^4.0.0, apexcharts@>=4.0.0: +apexcharts@^4.0.0: version "4.7.0" resolved "https://registry.npmjs.org/apexcharts/-/apexcharts-4.7.0.tgz" integrity sha512-iZSrrBGvVlL+nt2B1NpqfDuBZ9jX61X9I2+XV0hlYXHtTwhwLTHDKGXjNXAgFBDLuvSYCB/rq2nPWVPRv2DrGA== @@ -2954,7 +2934,7 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^5.0.0, aria-query@5.1.3: +aria-query@5.1.3, aria-query@^5.0.0: version "5.1.3" resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== @@ -3186,7 +3166,7 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -browserslist@^4.24.0, browserslist@^4.24.4, "browserslist@>= 4.21.0": +browserslist@^4.24.0, browserslist@^4.24.4: version "4.24.4" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz" integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== @@ -3219,7 +3199,7 @@ builtin-modules@^3.3.0: resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== -bytes@^3.1.2, bytes@3.1.2: +bytes@3.1.2, bytes@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== @@ -3536,16 +3516,16 @@ cookie-signature@1.0.6: resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz" - integrity sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ== - cookie@0.7.1: version "0.7.1" resolved "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz" integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== +cookie@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz" + integrity sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ== + copy-anything@^3.0.2: version "3.0.5" resolved "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz" @@ -3688,7 +3668,7 @@ cwise-compiler@^1.0.0: resolved "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz" integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== -d3-drag@^3.0.0, "d3-drag@2 - 3": +"d3-drag@2 - 3", d3-drag@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz" integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== @@ -3708,7 +3688,7 @@ d3-drag@^3.0.0, "d3-drag@2 - 3": dependencies: d3-color "1 - 3" -d3-selection@^3.0.0, "d3-selection@2 - 3", d3-selection@3: +"d3-selection@2 - 3", d3-selection@3, d3-selection@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz" integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== @@ -3785,20 +3765,6 @@ de-indent@^1.0.2: resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== -debug@^3.0.1: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.6, debug@^4.3.7, debug@^4.4.0, debug@^4.4.1, debug@^4.4.3, debug@4: - version "4.4.3" - resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz" - integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== - dependencies: - ms "^2.1.3" - debug@2.6.9: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" @@ -3806,6 +3772,20 @@ debug@2.6.9: dependencies: ms "2.0.0" +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.3.6, debug@^4.3.7, debug@^4.4.0, debug@^4.4.1, debug@^4.4.3: + version "4.4.3" + resolved "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== + dependencies: + ms "^2.1.3" + +debug@^3.0.1: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" @@ -4317,22 +4297,12 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -"eslint-visitor-keys@^4.2.0 || ^5.0.0": +"eslint-visitor-keys@^4.2.0 || ^5.0.0", eslint-visitor-keys@^5.0.0, eslint-visitor-keys@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz" integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== -eslint-visitor-keys@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz" - integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== - -eslint-visitor-keys@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz" - integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA== - -eslint@^10.0.0, eslint@^10.7.0, "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^8.0.0 || ^9.0.0 || ^10.0.0", "eslint@^8.57.0 || ^9.0.0 || ^10.0.0": +eslint@^10.7.0: version "10.7.0" resolved "https://registry.npmjs.org/eslint/-/eslint-10.7.0.tgz" integrity sha512-GVTD7s1vdIl6UYvAfriOPeY1Df8LIZjfofLvHwde+erDHGGuHyuM6xoxRxmHiebhYuD2p1vN4wWh0XzPARSGDQ== @@ -4427,14 +4397,7 @@ estree-walker@^2.0.2: resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== -estree-walker@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -estree-walker@^3.0.3: +estree-walker@^3.0.2, estree-walker@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== @@ -4874,7 +4837,7 @@ giget@^2.0.0: nypm "^0.6.0" pathe "^2.0.3" -glob-parent@^5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -4888,13 +4851,6 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - glob@^10.3.10, glob@^10.4.1, glob@^10.4.2: version "10.5.0" resolved "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz" @@ -5151,13 +5107,6 @@ https-proxy-agent@^7.0.6: agent-base "^7.1.2" debug "4" -iconv-lite@^0.6.3, iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" @@ -5165,6 +5114,13 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@0.6.3, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + idb@^7.0.1: version "7.1.1" resolved "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz" @@ -5180,12 +5136,7 @@ ignore@^5.2.0: resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -ignore@^7.0.3: - version "7.0.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz" - integrity sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A== - -ignore@^7.0.4: +ignore@^7.0.3, ignore@^7.0.4: version "7.0.4" resolved "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz" integrity sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A== @@ -5567,16 +5518,16 @@ jake@^10.8.5: filelist "^1.0.4" minimatch "^3.1.2" -jiti@*, jiti@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz" - integrity sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A== - jiti@^1.21.6: version "1.21.7" resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz" integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== +jiti@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz" + integrity sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A== + js-beautify@^1.14.9: version "1.15.4" resolved "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz" @@ -5603,12 +5554,7 @@ js-tokens@^4.0.0: resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-tokens@^9.0.0: - version "9.0.1" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz" - integrity sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ== - -js-tokens@^9.0.1: +js-tokens@^9.0.0, js-tokens@^9.0.1: version "9.0.1" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz" integrity sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ== @@ -5620,7 +5566,7 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsdom@*, jsdom@26.1.0: +jsdom@26.1.0: version "26.1.0" resolved "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz" integrity sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg== @@ -5802,16 +5748,7 @@ local-pkg@^0.5.1: mlly "^1.7.3" pkg-types "^1.2.1" -local-pkg@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz" - integrity sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg== - dependencies: - mlly "^1.7.4" - pkg-types "^2.0.1" - quansync "^0.2.8" - -local-pkg@^1.1.1: +local-pkg@^1.0.0, local-pkg@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz" integrity sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg== @@ -5869,12 +5806,7 @@ loupe@^3.1.0, loupe@^3.1.4: resolved "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz" integrity sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ== -lru-cache@^10.2.0: - version "10.4.3" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== - -lru-cache@^10.4.3: +lru-cache@^10.2.0, lru-cache@^10.4.3: version "10.4.3" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== @@ -5898,14 +5830,7 @@ magic-string-ast@^0.7.0: dependencies: magic-string "^0.30.17" -magic-string@^0.25.0: - version "0.25.9" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - -magic-string@^0.25.7: +magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.9" resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== @@ -5919,14 +5844,7 @@ magic-string@^0.27.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" -magic-string@^0.30.11: - version "0.30.17" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz" - integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - -magic-string@^0.30.17: +magic-string@^0.30.11, magic-string@^0.30.17: version "0.30.17" resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz" integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== @@ -5976,11 +5894,6 @@ mathml-tag-names@^2.1.3: resolved "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== -mdn-data@^2.15.0: - version "2.21.0" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.21.0.tgz" - integrity sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ== - mdn-data@2.0.28: version "2.0.28" resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" @@ -5996,6 +5909,11 @@ mdn-data@2.12.2: resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz" integrity sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA== +mdn-data@^2.15.0: + version "2.21.0" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.21.0.tgz" + integrity sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ== + mdurl@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz" @@ -6061,35 +5979,14 @@ min-indent@^1.0.0: resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -minimatch@^10.2.2: +minimatch@^10.2.2, minimatch@^10.2.4, minimatch@^10.2.5: version "10.2.5" resolved "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz" integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== dependencies: brace-expansion "^5.0.5" -minimatch@^10.2.4: - version "10.2.5" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz" - integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== - dependencies: - brace-expansion "^5.0.5" - -minimatch@^10.2.5: - version "10.2.5" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz" - integrity sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg== - dependencies: - brace-expansion "^5.0.5" - -minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.1.2: +minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -6122,17 +6019,12 @@ minipass@^4.0.0: resolved "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz" integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.1.2" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== - minipass@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -minipass@^7.1.2: +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: version "7.1.2" resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== @@ -6170,17 +6062,17 @@ mousetrap@^1.6.5: resolved "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz" integrity sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA== -ms@^2.1.1, ms@^2.1.3, ms@2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -msw@^2.4.9, msw@2.15.0: +ms@2.1.3, ms@^2.1.1, ms@^2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +msw@2.15.0: version "2.15.0" resolved "https://registry.npmjs.org/msw/-/msw-2.15.0.tgz" integrity sha512-2wQAmKkQKxRuXvYJxVhPGG0wZNBQyD06oJvxqw90XqLvptdqxdlHrFUfEteKkpaNORX3Xzc+HtEl/q0nfmN2wQ== @@ -6540,16 +6432,16 @@ path-scurry@^1.11.1: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" -path-to-regexp@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz" - integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ== - path-to-regexp@0.1.12: version "0.1.12" resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz" integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== +path-to-regexp@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz" + integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ== + path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -6560,12 +6452,7 @@ pathe@^1.0.0, pathe@^1.1.2: resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz" integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== -pathe@^2.0.1: - version "2.0.3" - resolved "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz" - integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== - -pathe@^2.0.2, pathe@^2.0.3: +pathe@^2.0.1, pathe@^2.0.2, pathe@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz" integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== @@ -6600,27 +6487,12 @@ picocolors@^1.0.0, picocolors@^1.1.1: resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^2.0.4: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^2.2.2: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -"picomatch@^3 || ^4", picomatch@^4.0.2, picomatch@^4.0.4: +picomatch@^4.0.2, picomatch@^4.0.4: version "4.0.5" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz" integrity sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A== @@ -6640,7 +6512,7 @@ pinia-plugin-persistedstate@^4.2.0: defu "^6.1.4" destr "^2.0.3" -pinia@^3.0.4, pinia@>=2.3.0, pinia@>=3.0.4: +pinia@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz" integrity sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw== @@ -6661,16 +6533,7 @@ pkg-types@^1.2.1, pkg-types@^1.3.0: mlly "^1.7.4" pathe "^2.0.1" -pkg-types@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz" - integrity sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A== - dependencies: - confbox "^0.2.1" - exsolve "^1.0.1" - pathe "^2.0.3" - -pkg-types@^2.0.1, pkg-types@^2.1.0: +pkg-types@^2.0.0, pkg-types@^2.0.1, pkg-types@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz" integrity sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A== @@ -6755,7 +6618,7 @@ postcss-scss@^4.0.9: resolved "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz" integrity sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A== -postcss-selector-parser@^6.1.1: +postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2: version "6.1.2" resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz" integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== @@ -6763,15 +6626,7 @@ postcss-selector-parser@^6.1.1: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-selector-parser@^6.1.2: - version "6.1.2" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz" - integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-selector-parser@^7.0.0, postcss-selector-parser@^7.1.0: +postcss-selector-parser@^7.1.0: version "7.1.0" resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz" integrity sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA== @@ -6789,7 +6644,7 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.3.3, postcss@^8.4.20, postcss@^8.4.21, postcss@^8.4.29, postcss@^8.4.31, postcss@^8.4.32, postcss@^8.4.43, postcss@^8.4.47, postcss@^8.4.48, postcss@^8.5.0, postcss@^8.5.1, postcss@^8.5.3, postcss@>=8.0.9: +postcss@^8.4.32, postcss@^8.4.43, postcss@^8.4.47, postcss@^8.4.48, postcss@^8.5.0, postcss@^8.5.1, postcss@^8.5.3: version "8.5.3" resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz" integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== @@ -6911,7 +6766,7 @@ range-parser@~1.2.1: resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@^2.3.0, raw-body@2.5.2: +raw-body@2.5.2, raw-body@^2.3.0: version "2.5.2" resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== @@ -7122,14 +6977,14 @@ rfdc@^1.4.1: resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz" integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== -"rollup@^1.20.0 || ^2.0.0", rollup@^1.20.0||^2.0.0, rollup@^2.43.1: +rollup@^2.43.1: version "2.79.2" resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz" integrity sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ== optionalDependencies: fsevents "~2.3.2" -rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0, rollup@^2.0.0||^3.0.0||^4.0.0, rollup@^2.78.0||^3.0.0||^4.0.0, rollup@^4.20.0: +rollup@^4.20.0: version "4.40.1" resolved "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz" integrity sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw== @@ -7181,7 +7036,7 @@ safe-array-concat@^1.1.3: has-symbols "^1.1.0" isarray "^2.0.5" -safe-buffer@^5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: +safe-buffer@5.2.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -7208,7 +7063,7 @@ safe-regex-test@^1.1.0: resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass@*, sass@^1.83.4: +sass@^1.83.4: version "1.87.0" resolved "https://registry.npmjs.org/sass/-/sass-1.87.0.tgz" integrity sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw== @@ -7463,7 +7318,7 @@ sortablejs@1.14.0: resolved "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz" integrity sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w== -source-map-js@^1.0.1, source-map-js@^1.0.2, source-map-js@^1.2.0, source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0": +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2, source-map-js@^1.2.0, source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== @@ -7503,16 +7358,16 @@ stackback@0.0.2: resolved "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== -statuses@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz" - integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== - statuses@2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +statuses@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz" + integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== + std-env@^3.9.0: version "3.9.0" resolved "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz" @@ -7531,32 +7386,7 @@ strict-event-emitter@^0.5.1: resolved "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz" integrity sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== -string_decoder@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -7625,6 +7455,13 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" +string_decoder@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" @@ -7634,14 +7471,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -7745,7 +7575,7 @@ stylelint-use-logical-spec@5.0.1: resolved "https://registry.npmjs.org/stylelint-use-logical-spec/-/stylelint-use-logical-spec-5.0.1.tgz" integrity sha512-UfLB4LW6iG4r3cXxjxkiHQrFyhWFqt8FpNNngD+TyvgMWSokk5TYwTvBHS3atUvZhOogllTOe/PUrGE+4z84AA== -"stylelint@^14.0.0 || ^15.0.0 || ^16.0.1", stylelint@^16.0.2, stylelint@^16.1.0, stylelint@^16.11.0, stylelint@^16.13.2, stylelint@^16.6.1, stylelint@>=11, "stylelint@>=11 < 17": +stylelint@^16.13.2: version "16.19.1" resolved "https://registry.npmjs.org/stylelint/-/stylelint-16.19.1.tgz" integrity sha512-C1SlPZNMKl+d/C867ZdCRthrS+6KuZ3AoGW113RZCOL0M8xOGpgx7G70wq7lFvqvm4dcfdGFVLB/mNaLFChRKw== @@ -7868,7 +7698,7 @@ tagged-tag@^1.0.0: resolved "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz" integrity sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng== -"tailwindcss@^ 3.4.17", "tailwindcss@>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1": +"tailwindcss@^ 3.4.17": version "3.4.17" resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz" integrity sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== @@ -7923,7 +7753,7 @@ tempy@^0.6.0: type-fest "^0.16.0" unique-string "^2.0.0" -terser@^5.17.4, terser@^5.36.0, terser@^5.4.0: +terser@^5.17.4, terser@^5.36.0: version "5.39.0" resolved "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz" integrity sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw== @@ -8173,7 +8003,7 @@ typescript-eslint@^8.64.0: "@typescript-eslint/typescript-estree" "8.64.0" "@typescript-eslint/utils" "8.64.0" -typescript@*, typescript@^5.0.4, "typescript@>= 4.8.x", typescript@>=4.5.0, typescript@>=4.7, typescript@>=4.8.4, "typescript@>=4.8.4 <6.1.0", typescript@>=4.9.5, "typescript@>=5 <6.1.0", typescript@>=5.0.0: +"typescript@>=5 <6.1.0", typescript@^5.0.4: version "5.8.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz" integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== @@ -8298,7 +8128,7 @@ universalify@^2.0.0: resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -unpipe@~1.0.0, unpipe@1.0.0: +unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== @@ -8354,25 +8184,7 @@ unplugin@^1.1.0, unplugin@^1.16.1: acorn "^8.14.0" webpack-virtual-modules "^0.6.2" -unplugin@^2.1.0: - version "2.3.2" - resolved "https://registry.npmjs.org/unplugin/-/unplugin-2.3.2.tgz" - integrity sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w== - dependencies: - acorn "^8.14.1" - picomatch "^4.0.2" - webpack-virtual-modules "^0.6.2" - -unplugin@^2.2.2: - version "2.3.2" - resolved "https://registry.npmjs.org/unplugin/-/unplugin-2.3.2.tgz" - integrity sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w== - dependencies: - acorn "^8.14.1" - picomatch "^4.0.2" - webpack-virtual-modules "^0.6.2" - -unplugin@^2.3.2: +unplugin@^2.1.0, unplugin@^2.2.2, unplugin@^2.3.2: version "2.3.2" resolved "https://registry.npmjs.org/unplugin/-/unplugin-2.3.2.tgz" integrity sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w== @@ -8496,7 +8308,7 @@ vite-plugin-vue-layouts@^0.11.0: debug "^4.3.4" fast-glob "^3.3.2" -vite-plugin-vuetify@>=1.0.0, vite-plugin-vuetify@2.0.4: +vite-plugin-vuetify@2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/vite-plugin-vuetify/-/vite-plugin-vuetify-2.0.4.tgz" integrity sha512-A4cliYUoP/u4AWSRVRvAPKgpgR987Pss7LpFa7s1GvOe8WjgDq92Rt3eVXrvgxGCWvZsPKziVqfHHdCMqeDhfw== @@ -8505,9 +8317,9 @@ vite-plugin-vuetify@>=1.0.0, vite-plugin-vuetify@2.0.4: debug "^4.3.3" upath "^2.0.1" -"vite@^2.0.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "vite@^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "vite@^4.0.0 || ^5.0.0", "vite@^5.0.0 || ^6.0.0", "vite@^5.0.0 || ^6.0.0 || ^7.0.0-0", vite@^5.4.11, vite@>=2.8, vite@>=5: +vite@5.4.18, "vite@^5.0.0 || ^6.0.0 || ^7.0.0-0", vite@^5.4.11: version "5.4.18" - resolved "https://registry.npmjs.org/vite/-/vite-5.4.18.tgz" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.18.tgz#b5af357f9d5ebb2e0c085779b7a37a77f09168a4" integrity sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA== dependencies: esbuild "^0.21.3" @@ -8560,7 +8372,7 @@ vue-demi@>=0.14.8: resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz" integrity sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg== -vue-eslint-parser@^10.3.0, vue-eslint-parser@^10.4.1: +vue-eslint-parser@^10.4.1: version "10.4.1" resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.4.1.tgz" integrity sha512-Gk6gRDj0n/fkRa3C3l0bBheoBckUq/Rs0F/TvMWIS6nzzx67amAViMe9CkNgsP2tXyQONvGiHQESHwFtZ3aYDA== @@ -8572,7 +8384,7 @@ vue-eslint-parser@^10.3.0, vue-eslint-parser@^10.4.1: esquery "^1.6.0" semver "^7.6.3" -vue-i18n@*, vue-i18n@^10.0.0: +vue-i18n@^10.0.0: version "10.0.7" resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-10.0.7.tgz" integrity sha512-bKsk0PYwP9gdYF4nqSAT0kDpnLu1gZzlxFl885VH4mHVhEnqP16+/mAU05r1U6NIrc0fGDWP89tZ8GzeJZpe+w== @@ -8581,7 +8393,7 @@ vue-i18n@*, vue-i18n@^10.0.0: "@intlify/shared" "10.0.7" "@vue/devtools-api" "^6.5.0" -vue-router@^4.0.11, vue-router@^4.5.0: +vue-router@^4.5.0: version "4.5.1" resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.5.1.tgz" integrity sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw== @@ -8608,17 +8420,6 @@ vue-tsc@^2.0.10: "@volar/typescript" "~2.4.11" "@vue/language-core" "2.2.10" -"vue@^2.7.0 || ^3.2.25", vue@^3, vue@^3.0.0, "vue@^3.0.0-0 || ^2.6.0", vue@^3.0.1, vue@^3.0.11, vue@^3.0.2, vue@^3.2.0, vue@^3.2.25, vue@^3.2.4, vue@^3.3.0, vue@^3.4, vue@^3.5.11, vue@^3.5.13, "vue@>= 3", vue@>=3, vue@>=3.0.0, "vue@2 || 3", vue@3.5.13, vue@3.x: - version "3.5.13" - resolved "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz" - integrity sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ== - dependencies: - "@vue/compiler-dom" "3.5.13" - "@vue/compiler-sfc" "3.5.13" - "@vue/runtime-dom" "3.5.13" - "@vue/server-renderer" "3.5.13" - "@vue/shared" "3.5.13" - vue3-ace-editor@^2.2.4: version "2.2.4" resolved "https://registry.npmjs.org/vue3-ace-editor/-/vue3-ace-editor-2.2.4.tgz" @@ -8638,6 +8439,17 @@ vue3-perfect-scrollbar@^2.0.0: dependencies: perfect-scrollbar "^1.5.5" +vue@^3.4, vue@^3.5.13: + version "3.5.13" + resolved "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz" + integrity sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ== + dependencies: + "@vue/compiler-dom" "3.5.13" + "@vue/compiler-sfc" "3.5.13" + "@vue/runtime-dom" "3.5.13" + "@vue/server-renderer" "3.5.13" + "@vue/shared" "3.5.13" + vuedraggable@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz" @@ -8645,7 +8457,7 @@ vuedraggable@^4.1.0: dependencies: sortablejs "1.14.0" -vuetify@^3.0.0, vuetify@^3.4.0, vuetify@3.7.3: +vuetify@3.7.3, vuetify@^3.4.0: version "3.7.3" resolved "https://registry.npmjs.org/vuetify/-/vuetify-3.7.3.tgz" integrity sha512-bpuvBpZl1/+nLlXDgdVXekvMNR6W/ciaoa8CYlpeAzAARbY8zUFSoBq05JlLhkIHI58AnzKVy4c09d0OtfYAPg== @@ -8941,7 +8753,7 @@ workbox-sw@7.3.0: resolved "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.3.0.tgz" integrity sha512-aCUyoAZU9IZtH05mn0ACUpyHzPs0lMeJimAYkQkBsOWiqaJLgusfDCR+yllkPkFRxWpZKF8vSvgHYeG7LwhlmA== -workbox-window@^7.3.0, workbox-window@7.3.0: +workbox-window@7.3.0, workbox-window@^7.3.0: version "7.3.0" resolved "https://registry.npmjs.org/workbox-window/-/workbox-window-7.3.0.tgz" integrity sha512-qW8PDy16OV1UBaUNGlTVcepzrlzyzNW/ZJvFQQs2j2TzGsg6IKjcpZC1RSquqQnTOafl5pCj5bGfAHlCjOOjdA== @@ -8949,7 +8761,7 @@ workbox-window@^7.3.0, workbox-window@7.3.0: "@types/trusted-types" "^2.0.2" workbox-core "7.3.0" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -8967,15 +8779,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz"