diff --git a/.lintstagedrc b/.lintstagedrc index 8c4357346..132b9bd36 100644 --- a/.lintstagedrc +++ b/.lintstagedrc @@ -1,7 +1,6 @@ { "*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc,yml,yaml}": [ - "biome check --write --no-errors-on-unmatched --files-ignore-unknown=true" - ], - "**/package.json": ["prettier --write"], + "biome check --write --no-errors-on-unmatched --files-ignore-unknown=true" + ], "*.{md,mdx}": ["prettier --write"] } diff --git a/.prettierignore b/.prettierignore index 943ffa8cf..44588c937 100644 --- a/.prettierignore +++ b/.prettierignore @@ -25,4 +25,4 @@ dictionaries storybook-static # NPM -*-lock.json +*-lock.json \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json index f927e42b4..9c02b6f61 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,7 +1,5 @@ { "$schema": "https://json.schemastore.org/prettierrc", - "plugins": ["prettier-plugin-packagejson"], - "includes": ["**/package.json", "**/*.md"], "singleQuote": true, "semi": true, "tabWidth": 2, @@ -17,12 +15,6 @@ "singleQuote": false, "quoteProps": "preserve" } - }, - { - "files": "package.json", - "options": { - "plugins": ["prettier-plugin-packagejson"] - } } ] } diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 043d64e30..000000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "recommendations": [ - "biomejs.biome", - "esbenp.prettier-vscode", - "emeraldwalk.runonsave" - ] -} diff --git a/.vscode/settings.json b/.vscode/settings.json index 43803c4a8..d334a3f00 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,5 @@ { "cSpell.words": ["intlayer"], - "typescript.experimental.useTsgo": true, "editor.formatOnSave": true, "editor.defaultFormatter": "biomejs.biome", "editor.codeActionsOnSave": { @@ -32,13 +31,5 @@ }, "[markdown]": { "editor.defaultFormatter": "esbenp.prettier-vscode" - }, - "emeraldwalk.runonsave": { - "commands": [ - { - "match": ".*package\\.json$", - "cmd": "prettier --write ${file}" - } - ] } } diff --git a/apps/backend/intlayer.config.ts b/apps/backend/intlayer.config.ts index b63ff6a3c..88e37adad 100644 --- a/apps/backend/intlayer.config.ts +++ b/apps/backend/intlayer.config.ts @@ -1,7 +1,8 @@ -import { type IntlayerConfig, Locales } from '@intlayer/types'; +import { type IntlayerConfig, Locales } from '@intlayer/config'; export const locales = [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH]; +/** @type {import('intlayer').IntlayerConfig} */ const config: IntlayerConfig = { internationalization: { locales, diff --git a/apps/backend/package.json b/apps/backend/package.json index d65d436a1..fc5111b55 100644 --- a/apps/backend/package.json +++ b/apps/backend/package.json @@ -52,20 +52,18 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", - "dev": "bun --hot --watch ./dist/esm/index.mjs", - "dev:package": "tsdown --config tsdown.config.ts --watch", + "clean": "rimraf ./dist", + "dev": "tsdown --config tsdown.config.ts --watch", "email": "email dev --dir ./src/emails", - "format": "biome format . --check", - "format:fix": "biome format --write .", "lint": "biome lint .", "lint:fix": "biome lint --write .", + "format": "biome format . --check", + "format:fix": "biome format --write .", "prepublish": "cp -f ../../README.md ./README.md", "start": "cross-env NODE_ENV=production node dist/esm/index.mjs", "start:stripe": "stripe listen --forward-to localhost:3100/webhook/stripe", "test": "vitest run", - "test:watch": "vitest", - "typecheck": "tsc --noEmit --project tsconfig.types.json" + "test:watch": "vitest" }, "dependencies": { "@ai-sdk/anthropic": "2.0.27", @@ -76,8 +74,8 @@ "@react-email/components": "0.5.6", "ai": "5.0.71", "better-auth": "1.3.27", - "cookie-parser": "1.4.7", "compression": "1.8.1", + "cookie-parser": "1.4.7", "cors": "2.8.5", "cross-env": "10.1.0", "dotenv": "16.6.1", @@ -100,7 +98,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/docs": "workspace:*", - "@intlayer/types": "workspace:*", "@types/body-parser": "1.19.6", "@types/compression": "1.8.1", "@types/cookie-parser": "1.4.9", @@ -118,7 +115,7 @@ "esbuild-fix-imports-plugin": "1.0.22", "intlayer": "workspace:*", "rimraf": "6.0.1", - "tsdown": "0.15.7", + "typescript": "5.9.3", "vitest": "3.2.4" } diff --git a/apps/backend/src/controllers/ai.controller.ts b/apps/backend/src/controllers/ai.controller.ts index ffc170e20..64561c7db 100644 --- a/apps/backend/src/controllers/ai.controller.ts +++ b/apps/backend/src/controllers/ai.controller.ts @@ -1,4 +1,5 @@ -import type { KeyPath, Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config'; +import type { KeyPath } from '@intlayer/core'; import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware'; import { getDictionariesByTags } from '@services/dictionary.service'; import * as tagService from '@services/tag.service'; diff --git a/apps/backend/src/controllers/dictionary.controller.ts b/apps/backend/src/controllers/dictionary.controller.ts index 335d82e51..9518c2178 100644 --- a/apps/backend/src/controllers/dictionary.controller.ts +++ b/apps/backend/src/controllers/dictionary.controller.ts @@ -2,7 +2,7 @@ import * as eventListener from '@controllers/eventListener.controller'; import type { ContentNode, Dictionary as LocalDictionary, -} from '@intlayer/types'; +} from '@intlayer/core'; import { logger } from '@logger'; import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware'; import * as dictionaryService from '@services/dictionary.service'; diff --git a/apps/backend/src/controllers/stripe.controller.ts b/apps/backend/src/controllers/stripe.controller.ts index 37d824a03..d3be06609 100644 --- a/apps/backend/src/controllers/stripe.controller.ts +++ b/apps/backend/src/controllers/stripe.controller.ts @@ -1,4 +1,4 @@ -import type { Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config'; import type { ResponseWithSession } from '@middlewares/sessionAuth.middleware'; import * as emailService from '@services/email.service'; import * as subscriptionService from '@services/subscription.service'; diff --git a/apps/backend/src/controllers/test.json b/apps/backend/src/controllers/test.json deleted file mode 100644 index 93dd44b6f..000000000 --- a/apps/backend/src/controllers/test.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "test2": "welcome to the test2", - "test": "welcome to the test" -} diff --git a/apps/backend/src/schemas/project.schema.ts b/apps/backend/src/schemas/project.schema.ts index 85db3d9f4..ab28162ee 100644 --- a/apps/backend/src/schemas/project.schema.ts +++ b/apps/backend/src/schemas/project.schema.ts @@ -1,4 +1,4 @@ -import { Locales } from '@intlayer/types'; +import { Locales } from '@intlayer/config'; import type { RenameId } from '@utils/mongoDB/types'; import { MEMBERS_MIN_LENGTH, diff --git a/apps/backend/src/services/email.service.tsx b/apps/backend/src/services/email.service.tsx index 91de1dc6b..a08d65729 100644 --- a/apps/backend/src/services/email.service.tsx +++ b/apps/backend/src/services/email.service.tsx @@ -44,7 +44,7 @@ import { WelcomeEmailES, WelcomeEmailFR, } from '@emails/Welcome'; -import type { Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config'; import { logger } from '@logger'; import { t } from 'express-intlayer'; import type { ComponentProps, JSX } from 'react'; diff --git a/apps/backend/src/types/dictionary.types.ts b/apps/backend/src/types/dictionary.types.ts index 695e135e3..218a25c8f 100644 --- a/apps/backend/src/types/dictionary.types.ts +++ b/apps/backend/src/types/dictionary.types.ts @@ -1,7 +1,4 @@ -import type { - ContentNode, - Dictionary as DictionaryCore, -} from '@intlayer/types'; +import type { ContentNode, Dictionary as DictionaryCore } from '@intlayer/core'; import type { RenameId } from '@utils/mongoDB/types'; import type { Document, Model, ObjectIdToString, Types } from 'mongoose'; import type { Project } from './project.types'; diff --git a/apps/backend/src/types/project.types.ts b/apps/backend/src/types/project.types.ts index 08db8679f..edb32b82b 100644 --- a/apps/backend/src/types/project.types.ts +++ b/apps/backend/src/types/project.types.ts @@ -1,4 +1,4 @@ -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config'; import type { RenameId } from '@utils/mongoDB/types'; import type { Document, Model, ObjectIdToString, Types } from 'mongoose'; import type { Token } from 'oauth2-server'; diff --git a/apps/backend/src/utils/AI/auditDictionary/index.ts b/apps/backend/src/utils/AI/auditDictionary/index.ts index 2a920e357..648347cdc 100644 --- a/apps/backend/src/utils/AI/auditDictionary/index.ts +++ b/apps/backend/src/utils/AI/auditDictionary/index.ts @@ -1,6 +1,6 @@ import { readAsset } from 'utils:asset'; +import type { Locales } from '@intlayer/config'; import { getLocaleName } from '@intlayer/core'; -import { Locales } from '@intlayer/types'; import { logger } from '@logger'; import { extractJson } from '@utils/extractJSON'; import { generateText } from 'ai'; diff --git a/apps/backend/src/utils/AI/auditDictionaryField/index.ts b/apps/backend/src/utils/AI/auditDictionaryField/index.ts index 27a5ee613..c1505e21c 100644 --- a/apps/backend/src/utils/AI/auditDictionaryField/index.ts +++ b/apps/backend/src/utils/AI/auditDictionaryField/index.ts @@ -1,7 +1,6 @@ import { readAsset } from 'utils:asset'; -import { getLocaleName } from '@intlayer/core'; -import type { KeyPath } from '@intlayer/types'; -import { Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config'; +import { getLocaleName, type KeyPath } from '@intlayer/core'; import { logger } from '@logger'; import { generateText } from 'ai'; import type { Tag } from '@/types/tag.types'; diff --git a/apps/backend/src/utils/AI/translateJSON/index.ts b/apps/backend/src/utils/AI/translateJSON/index.ts index ca5f94fff..299b61379 100644 --- a/apps/backend/src/utils/AI/translateJSON/index.ts +++ b/apps/backend/src/utils/AI/translateJSON/index.ts @@ -1,6 +1,6 @@ import { readAsset } from 'utils:asset'; +import type { Locales } from '@intlayer/config'; import { getLocaleName } from '@intlayer/core'; -import { Locales } from '@intlayer/types'; import { logger } from '@logger'; import { extractJson } from '@utils/extractJSON'; import { generateText } from 'ai'; diff --git a/apps/backend/src/utils/errors/ErrorHandler.ts b/apps/backend/src/utils/errors/ErrorHandler.ts index d1c313941..15c4d2ca8 100644 --- a/apps/backend/src/utils/errors/ErrorHandler.ts +++ b/apps/backend/src/utils/errors/ErrorHandler.ts @@ -1,9 +1,11 @@ // Import required modules and types from their respective locations. -import { type LanguageContent, Locales } from '@intlayer/types'; +import { Locales } from '@intlayer/config'; import { logger } from '@logger'; import { formatPaginatedResponse, formatResponse } from '@utils/responseData'; import type { Response } from 'express'; +// @ts-ignore express-intlayer not build yet +import type { LanguageContent } from 'express-intlayer'; import { t } from 'express-intlayer'; import type { UserAPI } from '@/types/user.types'; import { HttpStatusCodes } from '@/utils/httpStatusCodes'; diff --git a/apps/backend/src/utils/rateLimiter.ts b/apps/backend/src/utils/rateLimiter.ts index e328f2742..927d60615 100644 --- a/apps/backend/src/utils/rateLimiter.ts +++ b/apps/backend/src/utils/rateLimiter.ts @@ -1,4 +1,4 @@ -import type { Response } from 'express'; +import type { Request, Response } from 'express'; import rateLimit, { ipKeyGenerator, type Options, @@ -17,29 +17,22 @@ const ipLimiterOptions: Partial = { standardHeaders: 'draft-8', legacyHeaders: false, // Use a custom key generator that handles proxy headers securely - keyGenerator: (req) => { + keyGenerator: (req: Request) => { // Normalize IPv6 to subnet using helper to avoid bypasses return ipKeyGenerator(req.ip ?? req.socket?.remoteAddress ?? 'unknown'); }, - handler: (req, res) => { + handler: (req: Request, res: Response) => { const { limit, remaining, resetTime } = (req as any).rateLimit; - ErrorHandler.handleGenericErrorResponse( - res as unknown as Response, - 'RATE_LIMIT_EXCEEDED', - { - limit: `${limit} per minute`, - retryAfter: Math.ceil((resetTime?.getTime() - Date.now()) / 1000), - remaining, - } - ); + ErrorHandler.handleGenericErrorResponse(res, 'RATE_LIMIT_EXCEEDED', { + limit: `${limit} per minute`, + retryAfter: Math.ceil((resetTime?.getTime() - Date.now()) / 1000), + remaining, + }); }, }; -// Fix type error of express-rate-limit -export const ipLimiter: any = rateLimit( - ipLimiterOptions -) satisfies RateLimitRequestHandler; +export const ipLimiter: RateLimitRequestHandler = rateLimit(ipLimiterOptions); const unauthenticatedChatBotLimiterOptions: Partial = { windowMs: 60 * 60 * 1000, // 1-hour window @@ -48,15 +41,15 @@ const unauthenticatedChatBotLimiterOptions: Partial = { skip: (_req, res) => Boolean(res.locals.user), // authenticated? then skip legacyHeaders: false, // Use a custom key generator that handles proxy headers securely - keyGenerator: (req) => { + keyGenerator: (req: Request) => { // Normalize IPv6 to subnet using helper to avoid bypasses return ipKeyGenerator(req.ip ?? req.socket?.remoteAddress ?? 'unknown'); }, - handler: (req, res) => { + handler: (req: Request, res: Response) => { const { limit, remaining, resetTime } = (req as any).rateLimit; ErrorHandler.handleGenericErrorResponse( - res as unknown as Response, + res, 'RATE_LIMIT_EXCEEDED_UNAUTHENTICATED', { limit: `${limit} per hour`, @@ -67,7 +60,6 @@ const unauthenticatedChatBotLimiterOptions: Partial = { }, }; -// Fix type error of express-rate-limit -export const unauthenticatedChatBotLimiter: any = rateLimit( +export const unauthenticatedChatBotLimiter: RateLimitRequestHandler = rateLimit( unauthenticatedChatBotLimiterOptions -) satisfies RateLimitRequestHandler; +); diff --git a/apps/backend/src/webhooks/stripe.webhook.ts b/apps/backend/src/webhooks/stripe.webhook.ts index 7fcee7e8e..8dd376f0a 100644 --- a/apps/backend/src/webhooks/stripe.webhook.ts +++ b/apps/backend/src/webhooks/stripe.webhook.ts @@ -1,4 +1,4 @@ -import type { Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config'; import { logger } from '@logger'; import * as emailService from '@services/email.service'; import { getOrganizationById } from '@services/organization.service'; diff --git a/apps/backend/tsconfig.types.json b/apps/backend/tsconfig.types.json index 1b9cfdfeb..064b2f604 100644 --- a/apps/backend/tsconfig.types.json +++ b/apps/backend/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "outDir": "dist/types", diff --git a/apps/backend/types/tsdown.d.ts b/apps/backend/types/tsdown.d.ts index d449e963d..4ab1c4b02 100644 --- a/apps/backend/types/tsdown.d.ts +++ b/apps/backend/types/tsdown.d.ts @@ -1,6 +1,5 @@ -/** - * Utility for tsdown to optimize the build process of assets and avoid them to be duplicated accross CJS and MJS output - */ declare module 'utils:asset' { +// src/types/utils-asset.d.ts +declare module 'utils:asset' { export function readAsset( relFromSrc: string, encoding?: BufferEncoding diff --git a/apps/website/intlayer.config.ts b/apps/website/intlayer.config.ts index 1ee954f1c..3c762080f 100644 --- a/apps/website/intlayer.config.ts +++ b/apps/website/intlayer.config.ts @@ -1,4 +1,4 @@ -import { type IntlayerConfig, Locales } from '@intlayer/types'; +import { type IntlayerConfig, Locales } from 'intlayer'; export const locales = [ Locales.ENGLISH, diff --git a/apps/website/package.json b/apps/website/package.json index bbead4d4f..7aa22ff8c 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -41,6 +41,7 @@ "dev:webpack": "next dev", "editor": "intlayer-editor start", "generate-pwa-assets": "pwa-asset-generator --preset minimal ../../packages/@intlayer/design-system/src/components/Logo/logo_circle_wite.svg ./public/assets/", + "prepare": "husky", "prettier": "prettier . --check", "prettier:fix": "prettier . --write", "serve": "npx intlayer serve", @@ -51,7 +52,6 @@ "dependencies": { "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/design-system": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", @@ -62,15 +62,15 @@ "@next/third-parties": "15.3.3", "@stripe/react-stripe-js": "5.2.0", "@stripe/stripe-js": "8.0.0", - "@tanstack/react-query": "5.90.5", + "@tanstack/react-query": "5.90.2", "@tanstack/react-table": "8.21.3", "clsx": "2.1.1", "cobe": "0.6.4", "deepmerge": "4.3.1", - "framer-motion": "12.23.24", + "framer-motion": "12.23.21", "fuse.js": "7.1.0", "intlayer": "workspace:*", - "lucide-react": "0.546.0", + "lucide-react": "0.545.0", "markdown-to-jsx": "7.7.13", "next": "15.5.4", "next-intlayer": "workspace:*", @@ -94,7 +94,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "next-pwa": "5.6.0", "postcss": "8.5.4", "pwa-asset-generator": "8.0.5", diff --git a/apps/website/src/components/Dashboard/ContentDashboard/ConfigurationProvider.tsx b/apps/website/src/components/Dashboard/ContentDashboard/ConfigurationProvider.tsx index f2cd10d5c..01f010747 100644 --- a/apps/website/src/components/Dashboard/ContentDashboard/ConfigurationProvider.tsx +++ b/apps/website/src/components/Dashboard/ContentDashboard/ConfigurationProvider.tsx @@ -1,8 +1,8 @@ 'use client'; +import type { IntlayerConfig } from '@intlayer/config'; import { useSession } from '@intlayer/design-system/hooks'; import { ConfigurationProvider } from '@intlayer/editor-react'; -import type { IntlayerConfig } from '@intlayer/types'; import type { FC, PropsWithChildren } from 'react'; export const EditorConfigurationProvider: FC = ({ diff --git a/apps/website/src/components/Dashboard/Editor/DictionaryEditionDrawer/DictionaryEditionDrawer.tsx b/apps/website/src/components/Dashboard/Editor/DictionaryEditionDrawer/DictionaryEditionDrawer.tsx index e6ae3aa32..81d76109b 100644 --- a/apps/website/src/components/Dashboard/Editor/DictionaryEditionDrawer/DictionaryEditionDrawer.tsx +++ b/apps/website/src/components/Dashboard/Editor/DictionaryEditionDrawer/DictionaryEditionDrawer.tsx @@ -1,5 +1,6 @@ 'use client'; +import type { Locales } from '@intlayer/config/client'; import { getUnmergedDictionaryByKeyPath } from '@intlayer/core'; import { Button, @@ -10,7 +11,6 @@ import { useRightDrawerStore, } from '@intlayer/design-system'; import { useFocusDictionary } from '@intlayer/editor-react'; -import type { Locales } from '@intlayer/types'; import { Pencil } from 'lucide-react'; import { useIntlayer } from 'next-intlayer'; import { type FC, useState } from 'react'; diff --git a/apps/website/src/components/Dashboard/Editor/EditorLayout.tsx b/apps/website/src/components/Dashboard/Editor/EditorLayout.tsx index 9224952a0..949c5bc1c 100644 --- a/apps/website/src/components/Dashboard/Editor/EditorLayout.tsx +++ b/apps/website/src/components/Dashboard/Editor/EditorLayout.tsx @@ -1,5 +1,6 @@ 'use client'; +import type { IntlayerConfig, Locales } from '@intlayer/config/client'; import { normalizeDictionaries } from '@intlayer/core'; import { Container } from '@intlayer/design-system'; import { @@ -8,7 +9,6 @@ import { useCrossFrameState, useDictionariesRecordActions, } from '@intlayer/editor-react'; -import type { IntlayerConfig, Locales } from '@intlayer/types'; import { getUnmergedDictionaries } from '@intlayer/unmerged-dictionaries-entry'; import { useTheme } from 'next-themes'; import { type FC, type PropsWithChildren, useEffect } from 'react'; diff --git a/apps/website/src/components/Dashboard/Editor/EditorProvider.tsx b/apps/website/src/components/Dashboard/Editor/EditorProvider.tsx index c3889dec5..8907905f9 100644 --- a/apps/website/src/components/Dashboard/Editor/EditorProvider.tsx +++ b/apps/website/src/components/Dashboard/Editor/EditorProvider.tsx @@ -1,8 +1,8 @@ 'use client'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { useSession } from '@intlayer/design-system/hooks'; import { EditorProvider as EditorProviderComponent } from '@intlayer/editor-react'; -import type { IntlayerConfig } from '@intlayer/types'; import { type FC, type PropsWithChildren, diff --git a/apps/website/src/components/Dashboard/Editor/LongPressMessage/index.tsx b/apps/website/src/components/Dashboard/Editor/LongPressMessage/index.tsx index 2785f9c0e..157f9d6d6 100644 --- a/apps/website/src/components/Dashboard/Editor/LongPressMessage/index.tsx +++ b/apps/website/src/components/Dashboard/Editor/LongPressMessage/index.tsx @@ -1,6 +1,6 @@ 'use client'; -import type { KeyPath } from '@intlayer/types'; +import type { KeyPath } from '@intlayer/core'; import { cn } from '@utils/cn'; import { useIntlayer } from 'next-intlayer'; import type { FC } from 'react'; diff --git a/apps/website/src/components/Dashboard/Editor/index.tsx b/apps/website/src/components/Dashboard/Editor/index.tsx index d21eab425..47b14e0a7 100644 --- a/apps/website/src/components/Dashboard/Editor/index.tsx +++ b/apps/website/src/components/Dashboard/Editor/index.tsx @@ -1,6 +1,6 @@ 'use client'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config'; import { type FC, useRef } from 'react'; import { EditorLayout } from './EditorLayout'; import { EditorProvider } from './EditorProvider'; diff --git a/apps/website/src/structuredData/WebsiteHeader.tsx b/apps/website/src/structuredData/WebsiteHeader.tsx index 0621624fd..a04f1bb35 100644 --- a/apps/website/src/structuredData/WebsiteHeader.tsx +++ b/apps/website/src/structuredData/WebsiteHeader.tsx @@ -1,11 +1,10 @@ -import configuration from '@intlayer/config/built'; +import { getConfiguration } from 'intlayer'; import Script from 'next/script'; import { useIntlayer } from 'next-intlayer/server'; export const WebsiteHeader = () => { const { keywords } = useIntlayer('website-structured-data'); - const { internationalization } = configuration; - + const { internationalization } = getConfiguration(); const website = { '@context': 'https://schema.org', '@type': 'WebSite', diff --git a/biome.json b/biome.json index 8e75211e9..4e18f0c9f 100644 --- a/biome.json +++ b/biome.json @@ -8,8 +8,7 @@ "files": { "ignoreUnknown": false, "includes": [ - "**/*.{js,jsx,ts,tsx,mjs,cts,mts,md,yml,yaml,css,html,vue,svelte,solid,astro,json}", - "!**/package.json" + "**/*.{js,jsx,ts,tsx,mjs,cts,mts,json,md,yml,yaml,css,html,vue,svelte,solid,astro}" ] }, "formatter": { diff --git a/bun.lock b/bun.lock index a42fa2846..7f07e6018 100644 --- a/bun.lock +++ b/bun.lock @@ -5,24 +5,24 @@ "name": "intlayer-monorepo", "devDependencies": { "@biomejs/biome": "2.2.4", + "@changesets/changelog-github": "0.5.1", + "@changesets/cli": "2.29.7", "@commitlint/cli": "20.1.0", "@commitlint/config-conventional": "20.0.0", "@commitlint/types": "20.0.0", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "bun": "1.3.0", "chokidar": "3.6.0", "enquirer": "2.4.1", + "eslint-config-next": "^15.5.6", "fast-glob": "3.3.3", "husky": "9.1.7", "lint-staged": "16.2.4", "minimist": "1.2.8", "prettier": "3.6.2", - "prettier-plugin-packagejson": "^2.5.19", "rimraf": "6.0.1", "rollup-plugin-visualizer": "6.0.4", - "tsdown": "0.15.7", "turbo": "2.5.8", "vite-tsconfig-paths": "5.1.4", "vitest": "3.2.4", @@ -64,7 +64,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/docs": "workspace:*", - "@intlayer/types": "workspace:*", "@types/body-parser": "1.19.6", "@types/compression": "1.8.1", "@types/cookie-parser": "1.4.9", @@ -82,7 +81,6 @@ "esbuild-fix-imports-plugin": "1.0.22", "intlayer": "workspace:*", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -98,21 +96,20 @@ "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/docs": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", "@monaco-editor/react": "4.7.0", "@next/third-parties": "15.3.3", "@stripe/react-stripe-js": "5.2.0", "@stripe/stripe-js": "8.0.0", - "@tanstack/react-query": "5.90.5", + "@tanstack/react-query": "5.90.2", "@tanstack/react-table": "8.21.3", "clsx": "2.1.1", "cobe": "0.6.4", "deepmerge": "4.3.1", - "framer-motion": "12.23.24", + "framer-motion": "12.23.21", "fuse.js": "7.1.0", "intlayer": "workspace:*", - "lucide-react": "0.546.0", + "lucide-react": "0.545.0", "markdown-to-jsx": "7.7.13", "next": "15.5.4", "next-intlayer": "workspace:*", @@ -136,12 +133,12 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "next-pwa": "5.6.0", "postcss": "8.5.4", "pwa-asset-generator": "8.0.5", "raw-loader": "4.0.2", "tailwindcss": "4.1.14", - "tsdown": "0.15.7", "typescript": "5.9.3", }, "optionalDependencies": { @@ -160,7 +157,6 @@ "dependencies": { "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", }, "devDependencies": { "@intlayer/api": "workspace:*", @@ -169,9 +165,9 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "fast-glob": "3.3.3", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -180,7 +176,6 @@ "@intlayer/cli": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", }, }, "examples/angular-app": { @@ -257,7 +252,6 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", "typescript": "5.9.3", }, }, @@ -564,10 +558,13 @@ "@intlayer/config": "workspace:*", }, "devDependencies": { + "@changesets/changelog-github": "0.5.1", + "@changesets/cli": "2.29.7", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -576,7 +573,6 @@ "peerDependencies": { "@intlayer/backend": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "intlayer-editor": "workspace:*", }, "optionalPeers": [ @@ -588,24 +584,25 @@ "name": "@intlayer/babel", "version": "6.1.6", "dependencies": { - "@babel/core": "7.20.5", - "@babel/generator": "7.27.0", - "@babel/parser": "7.1.5", - "@babel/traverse": "7.28.0", + "@babel/core": "7.28.4", + "@babel/generator": "7.28.3", + "@babel/parser": "7.28.4", + "@babel/traverse": "7.28.4", "@babel/types": "7.28.4", "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@types/babel__core": "7.20.5", "@types/babel__generator": "7.27.0", "@types/babel__traverse": "7.28.0", }, "devDependencies": { + "@changesets/cli": "2.29.7", "@types/crypto-js": "4.2.2", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -625,7 +622,6 @@ "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/remote-dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", "chokidar": "3.6.0", "concurrently": "9.2.1", @@ -637,6 +633,7 @@ "ts-morph": "27.0.0", }, "devDependencies": { + "@changesets/cli": "2.29.7", "@types/crypto-js": "4.2.2", "@types/deep-equal": "1.0.4", "@types/node": "24.7.2", @@ -654,7 +651,6 @@ "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/remote-dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", "fast-glob": "3.3.3", }, @@ -668,7 +664,6 @@ "@intlayer/config": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/remote-dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", "commander": "14.0.1", "eventsource": "3.0.7", @@ -680,6 +675,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -691,7 +687,6 @@ "@intlayer/config": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/remote-dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", }, }, @@ -699,7 +694,6 @@ "name": "@intlayer/config", "version": "6.1.6", "dependencies": { - "@intlayer/types": "workspace:*", "deepmerge": "4.3.1", "dotenv": "16.6.1", "esbuild": "0.25.2", @@ -709,17 +703,16 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, "peerDependencies": { - "intlayer": "workspace:*", "react": ">=16.0.0", }, "optionalPeers": [ - "intlayer", "react", ], }, @@ -730,7 +723,6 @@ "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", "deepmerge": "4.3.1", }, @@ -739,6 +731,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -748,9 +741,12 @@ "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", + "intlayer": "workspace:*", }, + "optionalPeers": [ + "intlayer", + ], }, "packages/@intlayer/design-system": { "name": "@intlayer/design-system", @@ -762,26 +758,26 @@ "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", + "@intlayer/unmerged-dictionaries-entry": "workspace:*", "@monaco-editor/react": "4.7.0", "@radix-ui/react-dialog": "1.1.15", - "@radix-ui/react-select": "2.2.6", + "@radix-ui/react-select": "2.1.4", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-toast": "1.2.15", "@shikijs/transformers": "3.13.0", - "@tanstack/react-query": "5.90.5", + "@tanstack/react-query": "5.90.2", "@tanstack/react-query-devtools": "5.90.2", - "better-auth": "1.3.27", + "better-auth": "1.3.16", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "cmdk": "1.1.1", - "framer-motion": "12.23.24", + "framer-motion": "12.23.21", "fuse.js": "7.1.0", "intlayer": "workspace:*", - "react-hook-form": "7.65.0", + "react-hook-form": "7.63.0", "react-intlayer": "workspace:*", "rollup-preserve-directives": "1.1.3", - "shiki": "3.13.0", + "shiki": "3.2.1", "tailwind-merge": "3.3.1", "zod": "4.1.12", "zustand": "4.5.6", @@ -806,13 +802,15 @@ "@testing-library/user-event": "14.6.1", "@types/espree": "10.1.0", "@types/node": "24.7.2", - "@types/react": "19.2.0", - "@types/react-dom": "19.2.0", + "@types/react": ">=16.0.0", + "@types/react-dom": ">=16.0.0", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", - "@vitejs/plugin-react": "5.0.4", + "@utils/tsdown-config": "workspace:*", + "@vitejs/plugin-react": "5.0.0", + "concurrently": "9.2.0", "fast-glob": "3.3.3", - "lucide-react": "0.546.0", + "lucide-react": "0.545.0", "rimraf": "6.0.1", "storybook": "8.6.14", "tailwindcss": "4.1.14", @@ -823,18 +821,16 @@ "vitest": "3.2.4", }, "peerDependencies": { - "@better-fetch/fetch": "1.1.18", "@intlayer/api": "workspace:*", "@intlayer/backend": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", "@monaco-editor/react": "4.7.0", - "@tanstack/react-query": "5.90.5", + "@tanstack/react-query": "5.90.2", "clsx": "2.1.1", - "framer-motion": "12.23.24", + "framer-motion": "12.23.21", "fuse.js": "7.1.0", "intlayer": "workspace:*", "react": ">=16.0.0", @@ -855,6 +851,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -862,8 +859,11 @@ }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", + "intlayer": "workspace:*", }, + "optionalPeers": [ + "intlayer", + ], }, "packages/@intlayer/dynamic-dictionaries-entry": { "name": "@intlayer/dynamic-dictionaries-entry", @@ -876,6 +876,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -883,9 +884,11 @@ }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", + "intlayer": "workspace:*", }, + "optionalPeers": [ + "intlayer", + ], }, "packages/@intlayer/editor": { "name": "@intlayer/editor", @@ -895,8 +898,8 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -908,7 +911,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "uuid": "13.0.0", }, "devDependencies": { @@ -918,6 +920,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "react": ">=16.0.0", "react-dom": ">=16.0.0", "rimraf": "6.0.1", @@ -928,7 +931,6 @@ "peerDependencies": { "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", "react": ">=16.0.0", "react-dom": ">=16.0.0", }, @@ -944,6 +946,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -951,9 +954,11 @@ }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", + "intlayer": "workspace:*", }, + "optionalPeers": [ + "intlayer", + ], }, "packages/@intlayer/mcp": { "name": "@intlayer/mcp", @@ -963,7 +968,6 @@ "@intlayer/cli": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/docs": "workspace:*", - "@intlayer/types": "workspace:*", "@modelcontextprotocol/sdk": "1.15.0", "dotenv": "16.6.1", "express": "5.1.0", @@ -976,6 +980,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -985,7 +990,6 @@ "@intlayer/cli": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/docs": "workspace:*", - "@intlayer/types": "workspace:*", }, }, "packages/@intlayer/remote-dictionaries-entry": { @@ -999,6 +1003,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -1006,28 +1011,16 @@ }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", + "intlayer": "workspace:*", }, + "optionalPeers": [ + "intlayer", + ], }, "packages/@intlayer/swc": { "name": "@intlayer/swc", "version": "6.1.6", }, - "packages/@intlayer/types": { - "name": "@intlayer/types", - "version": "6.1.6", - "devDependencies": { - "@types/node": "24.7.2", - "@utils/ts-config": "workspace:*", - "@utils/ts-config-types": "workspace:*", - "@utils/tsdown-config": "workspace:*", - "rimraf": "6.0.1", - "tsdown": "0.15.7", - "typescript": "5.9.3", - "vitest": "3.2.4", - }, - }, "packages/@intlayer/unmerged-dictionaries-entry": { "name": "@intlayer/unmerged-dictionaries-entry", "version": "6.1.6", @@ -1039,6 +1032,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -1046,8 +1040,11 @@ }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", + "intlayer": "workspace:*", }, + "optionalPeers": [ + "intlayer", + ], }, "packages/@intlayer/webpack": { "name": "@intlayer/webpack", @@ -1055,18 +1052,19 @@ "dependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "crypto-js": "4.2.0", "fast-glob": "3.3.3", "webpack": "5.99.9", "webpack-dev-server": "5.2.0", }, "devDependencies": { + "@changesets/cli": "2.29.7", "@types/crypto-js": "4.2.2", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -1076,7 +1074,6 @@ "@intlayer/api": "workspace:*", "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "webpack": "5.99.9", }, }, @@ -1089,7 +1086,6 @@ "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/webpack": "workspace:*", "deepmerge": "4.3.1", "js-cookie": "3.0.5", @@ -1101,8 +1097,8 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -1113,7 +1109,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "rxjs": "6.0.0 || ^7.0.0", }, }, @@ -1124,7 +1119,6 @@ "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", "vite-intlayer": "workspace:*", }, "devDependencies": { @@ -1132,9 +1126,9 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "fast-glob": "3.3.3", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -1142,7 +1136,6 @@ "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", "astro": ">=4.0.0", "vite-intlayer": "workspace:*", }, @@ -1154,20 +1147,21 @@ "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", "cls-hooked": "4.2.2", "intlayer": "workspace:*", }, "devDependencies": { + "@changesets/changelog-github": "0.5.1", + "@changesets/cli": "2.29.7", "@types/cls-hooked": "4.3.9", "@types/express": "5.0.3", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "express": "5.1.0", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -1175,8 +1169,11 @@ "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", + "intlayer": "workspace:*", }, + "optionalPeers": [ + "intlayer", + ], }, "packages/intlayer": { "name": "intlayer", @@ -1188,13 +1185,15 @@ "@intlayer/cli": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", }, "devDependencies": { + "@changesets/changelog-github": "0.5.1", + "@changesets/cli": "2.29.7", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -1204,7 +1203,6 @@ "@intlayer/cli": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", }, }, "packages/intlayer-cli": { @@ -1218,12 +1216,14 @@ "webpack": "5.98.0", }, "devDependencies": { + "@changesets/changelog-github": "0.5.1", + "@changesets/cli": "2.29.7", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -1240,21 +1240,20 @@ "@intlayer/core": "workspace:*", "@intlayer/design-system": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", "@tanstack/query-persist-client-core": "5.90.2", "@tanstack/query-sync-storage-persister": "5.90.2", - "@tanstack/react-query": "5.90.5", + "@tanstack/react-query": "5.90.2", "@types/node": "24.7.2", "compression": "1.8.1", "cookie-parser": "1.4.7", "cors": "2.8.5", "express": "5.1.0", "express-intlayer": "workspace:*", - "framer-motion": "12.23.24", + "framer-motion": "12.23.21", "helmet": "8.1.0", "intlayer": "workspace:*", - "lucide-react": "0.546.0", + "lucide-react": "0.545.0", "mime": "4.1.0", "react": "19.2.0", "react-dom": "19.2.0", @@ -1288,10 +1287,9 @@ "@intlayer/design-system": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", "clsx": "2.1.1", - "framer-motion": "12.23.24", + "framer-motion": "12.23.21", "intlayer": "workspace:*", "react": ">=16.0.0", "react-dom": ">=16.0.0", @@ -1308,7 +1306,6 @@ "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", }, "devDependencies": { "@rsbuild/core": "1.2.16", @@ -1316,6 +1313,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "expo": "54.0.12", "metro-resolver": "0.82.0", "rimraf": "6.0.1", @@ -1327,7 +1325,6 @@ "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", "@lynx-js/rspeedy": ">=0.5.0", "@rsbuild/core": ">=1.2.0", }, @@ -1340,7 +1337,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/webpack": "workspace:*", "deepmerge": "4.3.1", "fast-glob": "3.3.3", @@ -1354,6 +1350,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "rimraf": "6.0.1", "tsdown": "0.15.7", "typescript": "5.9.3", @@ -1363,7 +1360,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/webpack": "workspace:*", "next": ">=14.0.0", "react": ">=16.0.0", @@ -1378,7 +1374,6 @@ "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", "vite-intlayer": "workspace:*", }, "devDependencies": { @@ -1389,7 +1384,6 @@ "concurrently": "9.2.1", "fast-glob": "3.3.3", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -1397,7 +1391,6 @@ "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", "@nuxt/kit": ">=3.0.0", "@nuxt/schema": ">=3.0.0", "vite-intlayer": "workspace:*", @@ -1412,7 +1405,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "js-cookie": "3.0.5", "uuid": "13.0.0", }, @@ -1424,7 +1416,6 @@ "@utils/tsdown-config": "workspace:*", "concurrently": "9.2.1", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -1434,7 +1425,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "preact": "10.26.4", }, }, @@ -1447,7 +1437,6 @@ "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", "intlayer": "workspace:*", "js-cookie": "3.0.5", }, @@ -1462,7 +1451,6 @@ "@utils/tsdown-config": "workspace:*", "concurrently": "9.2.1", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "uuid": "13.0.0", "vitest": "3.2.4", @@ -1473,7 +1461,6 @@ "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", "intlayer": "workspace:*", "react": ">=16.0.0", "react-dom": ">=16.0.0", @@ -1489,7 +1476,6 @@ "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", "react-intlayer": "workspace:*", }, "devDependencies": { @@ -1511,7 +1497,6 @@ "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", "expo": ">=52", "metro-resolver": ">=0.80", "react": ">=18.0.0", @@ -1527,7 +1512,6 @@ "dependencies": { "@craco/craco": "7.1.0", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/webpack": "workspace:*", "node-loader": "2.1.0", "process": "0.11.10", @@ -1543,13 +1527,11 @@ "@utils/tsdown-config": "workspace:*", "concurrently": "9.2.1", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/webpack": "workspace:*", "webpack": ">=5.0.0", }, @@ -1562,7 +1544,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "js-cookie": "3.0.5", }, "devDependencies": { @@ -1577,7 +1558,6 @@ "concurrently": "9.2.1", "jsdom": "26.1.0", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vite": "7.1.10", "vite-plugin-dts": "4.5.4", @@ -1589,7 +1569,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "solid-js": ">=1.0.0", }, }, @@ -1601,7 +1580,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "js-cookie": "3.0.5", }, "devDependencies": { @@ -1613,7 +1591,6 @@ "@utils/tsdown-config": "workspace:*", "concurrently": "9.2.1", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vite": "7.1.10", "vite-plugin-dts": "4.5.4", @@ -1624,7 +1601,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "svelte": ">=5.0.0", }, }, @@ -1638,7 +1614,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "fast-glob": "3.3.3", }, "devDependencies": { @@ -1648,7 +1623,6 @@ "@utils/tsdown-config": "workspace:*", "concurrently": "9.2.1", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -1657,7 +1631,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "vite": ">=4.0.0", }, }, @@ -1670,7 +1643,6 @@ "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "js-cookie": "3.0.5", "uuid": "13.0.0", }, @@ -1685,12 +1657,10 @@ "concurrently": "9.2.1", "fast-glob": "3.3.3", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vite": "7.1.10", "vite-plugin-dts": "4.5.4", "vitest": "3.2.4", - "vue-tsc": "3.1.1", }, "peerDependencies": { "@intlayer/api": "workspace:*", @@ -1698,7 +1668,6 @@ "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "intlayer": "workspace:*", "vue": ">=3.0.0", }, @@ -1722,7 +1691,6 @@ "@utils/tsdown-config": "workspace:*", "concurrently": "9.2.1", "rimraf": "6.0.1", - "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4", }, @@ -1753,12 +1721,10 @@ "utils/tsdown-config": { "name": "@utils/tsdown-config", "version": "1.0.4", - "dependencies": { - "fast-glob": "3.3.3", - "tsdown": "0.15.7", - }, "devDependencies": { "@types/node": "24.7.2", + "esbuild": "0.25.5", + "esbuild-fix-imports-plugin": "1.0.22", "fast-glob": "3.3.3", "typescript": "5.9.3", }, @@ -1799,13 +1765,13 @@ "@angular-builders/custom-webpack": ["@angular-builders/custom-webpack@19.0.1", "", { "dependencies": { "@angular-builders/common": "3.0.1", "@angular-devkit/architect": ">=0.1900.0 < 0.2000.0", "@angular-devkit/build-angular": "^19.0.0", "@angular-devkit/core": "^19.0.0", "lodash": "^4.17.15", "webpack-merge": "^6.0.0" }, "peerDependencies": { "@angular/compiler-cli": "^19.0.0" } }, "sha512-UXsMg0UgttwAwKAuKduwr9fUrQbN//ylaL4+qbBzdZcfEwyHYGzqprvdEgCcx0CgFKED72Z3OmY8ekNJZ5panA=="], - "@angular-devkit/architect": ["@angular-devkit/architect@0.1902.18", "", { "dependencies": { "@angular-devkit/core": "19.2.18", "rxjs": "7.8.1" } }, "sha512-3AyIlxbJWmWJm/CPS6S57kWBydMdYUPtF+SK8tqzwcBnyRbLwXoI7UbxstZ/C9J1hAY8QdZrDYGotwlHwhiC8g=="], + "@angular-devkit/architect": ["@angular-devkit/architect@0.1902.17", "", { "dependencies": { "@angular-devkit/core": "19.2.17", "rxjs": "7.8.1" } }, "sha512-/LV8lXi6/SqevyI9ZAk2uAqlnN/pUwNwD6SyjotCqU55FBhBW8vM3/GucFXawJqTOzNmBXuMx1YVvQN5H0v5LQ=="], "@angular-devkit/build-angular": ["@angular-devkit/build-angular@19.2.15", "", { "dependencies": { "@ampproject/remapping": "2.3.0", "@angular-devkit/architect": "0.1902.15", "@angular-devkit/build-webpack": "0.1902.15", "@angular-devkit/core": "19.2.15", "@angular/build": "19.2.15", "@babel/core": "7.26.10", "@babel/generator": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-transform-async-generator-functions": "7.26.8", "@babel/plugin-transform-async-to-generator": "7.25.9", "@babel/plugin-transform-runtime": "7.26.10", "@babel/preset-env": "7.26.9", "@babel/runtime": "7.26.10", "@discoveryjs/json-ext": "0.6.3", "@ngtools/webpack": "19.2.15", "@vitejs/plugin-basic-ssl": "1.2.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", "babel-loader": "9.2.1", "browserslist": "^4.21.5", "copy-webpack-plugin": "12.0.2", "css-loader": "7.1.2", "esbuild-wasm": "0.25.4", "fast-glob": "3.3.3", "http-proxy-middleware": "3.0.5", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", "karma-source-map-support": "1.4.0", "less": "4.2.2", "less-loader": "12.2.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", "mini-css-extract-plugin": "2.9.2", "open": "10.1.0", "ora": "5.4.1", "picomatch": "4.0.2", "piscina": "4.8.0", "postcss": "8.5.2", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", "sass": "1.85.0", "sass-loader": "16.0.5", "semver": "7.7.1", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", "terser": "5.39.0", "tree-kill": "1.2.2", "tslib": "2.8.1", "webpack": "5.98.0", "webpack-dev-middleware": "7.4.2", "webpack-dev-server": "5.2.2", "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, "optionalDependencies": { "esbuild": "0.25.4" }, "peerDependencies": { "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", "@angular/ssr": "^19.2.15", "@web/test-runner": "^0.20.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "karma": "^6.3.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", "typescript": ">=5.5 <5.9" }, "optionalPeers": ["@angular/localize", "@angular/platform-server", "@angular/service-worker", "@angular/ssr", "@web/test-runner", "browser-sync", "jest", "jest-environment-jsdom", "karma", "ng-packagr", "protractor", "tailwindcss"] }, "sha512-mqudAcyrSp/E7ZQdQoHfys0/nvQuwyJDaAzj3qL3HUStuUzb5ULNOj2f6sFBo+xYo+/WT8IzmzDN9DCqDgvFaA=="], "@angular-devkit/build-webpack": ["@angular-devkit/build-webpack@0.1902.15", "", { "dependencies": { "@angular-devkit/architect": "0.1902.15", "rxjs": "7.8.1" }, "peerDependencies": { "webpack": "^5.30.0", "webpack-dev-server": "^5.0.2" } }, "sha512-pIfZeizWsViXx8bsMoBLZw7Tl7uFf7bM7hAfmNwk0bb0QGzx5k1BiW6IKWyaG+Dg6U4UCrlNpIiut2b78HwQZw=="], - "@angular-devkit/core": ["@angular-devkit/core@19.2.18", "", { "dependencies": { "ajv": "8.17.1", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", "picomatch": "4.0.2", "rxjs": "7.8.1", "source-map": "0.7.4" }, "peerDependencies": { "chokidar": "^4.0.0" }, "optionalPeers": ["chokidar"] }, "sha512-D/JbeM3yAZ6Cnk/3ez8MvoTjx1pgUnkJHvDkuMhRuelCi3m0b0Qt/3548ie7CU+oLHdzAzjFhEvCPNssdevTRQ=="], + "@angular-devkit/core": ["@angular-devkit/core@19.2.17", "", { "dependencies": { "ajv": "8.17.1", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", "picomatch": "4.0.2", "rxjs": "7.8.1", "source-map": "0.7.4" }, "peerDependencies": { "chokidar": "^4.0.0" }, "optionalPeers": ["chokidar"] }, "sha512-Ah008x2RJkd0F+NLKqIpA34/vUGwjlprRCkvddjDopAWRzYn6xCkz1Tqwuhn0nR1Dy47wTLKYD999TYl5ONOAQ=="], "@angular-devkit/schematics": ["@angular-devkit/schematics@19.2.15", "", { "dependencies": { "@angular-devkit/core": "19.2.15", "jsonc-parser": "3.3.1", "magic-string": "0.30.17", "ora": "5.4.1", "rxjs": "7.8.1" } }, "sha512-kNOJ+3vekJJCQKWihNmxBkarJzNW09kP5a9E1SRNiQVNOUEeSwcRR0qYotM65nx821gNzjjhJXnAZ8OazWldrg=="], @@ -1861,11 +1827,11 @@ "@babel/compat-data": ["@babel/compat-data@7.28.4", "", {}, "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw=="], - "@babel/core": ["@babel/core@7.20.5", "", { "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", "@babel/generator": "^7.20.5", "@babel/helper-compilation-targets": "^7.20.0", "@babel/helper-module-transforms": "^7.20.2", "@babel/helpers": "^7.20.5", "@babel/parser": "^7.20.5", "@babel/template": "^7.18.10", "@babel/traverse": "^7.20.5", "@babel/types": "^7.20.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.1", "semver": "^6.3.0" } }, "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ=="], + "@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], "@babel/eslint-parser": ["@babel/eslint-parser@7.28.4", "", { "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.11.0", "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" } }, "sha512-Aa+yDiH87980jR6zvRfFuCR1+dLb00vBydhTL+zI992Rz/wQhSvuxjmOOuJOgO3XmakO6RykRGD2S1mq1AtgHA=="], - "@babel/generator": ["@babel/generator@7.27.0", "", { "dependencies": { "@babel/parser": "^7.27.0", "@babel/types": "^7.27.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw=="], + "@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], "@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.25.9", "", { "dependencies": { "@babel/types": "^7.25.9" } }, "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g=="], @@ -1909,7 +1875,7 @@ "@babel/highlight": ["@babel/highlight@7.25.9", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw=="], - "@babel/parser": ["@babel/parser@7.1.5", "", { "bin": { "parser": "./bin/babel-parser.js" } }, "sha512-WXKf5K5HT6X0kKiCOezJZFljsfxKV1FpU8Tf1A7ZpGvyd/Q4hlrJm2EwoH2onaUq3O4tLDp+4gk0hHPsMyxmOg=="], + "@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ["@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/traverse": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA=="], @@ -2115,7 +2081,7 @@ "@babel/template": ["@babel/template@7.27.2", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/parser": "^7.27.2", "@babel/types": "^7.27.1" } }, "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw=="], - "@babel/traverse": ["@babel/traverse@7.28.0", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.0", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.0", "@babel/template": "^7.27.2", "@babel/types": "^7.28.0", "debug": "^4.3.1" } }, "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg=="], + "@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], "@babel/traverse--for-generate-function-map": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], @@ -2151,6 +2117,44 @@ "@capsizecss/unpack": ["@capsizecss/unpack@2.4.0", "", { "dependencies": { "blob-to-buffer": "^1.2.8", "cross-fetch": "^3.0.4", "fontkit": "^2.0.2" } }, "sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q=="], + "@changesets/apply-release-plan": ["@changesets/apply-release-plan@7.0.13", "", { "dependencies": { "@changesets/config": "^3.1.1", "@changesets/get-version-range-type": "^0.4.0", "@changesets/git": "^3.0.4", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", "fs-extra": "^7.0.1", "lodash.startcase": "^4.4.0", "outdent": "^0.5.0", "prettier": "^2.7.1", "resolve-from": "^5.0.0", "semver": "^7.5.3" } }, "sha512-BIW7bofD2yAWoE8H4V40FikC+1nNFEKBisMECccS16W1rt6qqhNTBDmIw5HaqmMgtLNz9e7oiALiEUuKrQ4oHg=="], + + "@changesets/assemble-release-plan": ["@changesets/assemble-release-plan@6.0.9", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@changesets/get-dependents-graph": "^2.1.3", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "semver": "^7.5.3" } }, "sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ=="], + + "@changesets/changelog-git": ["@changesets/changelog-git@0.2.1", "", { "dependencies": { "@changesets/types": "^6.1.0" } }, "sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q=="], + + "@changesets/changelog-github": ["@changesets/changelog-github@0.5.1", "", { "dependencies": { "@changesets/get-github-info": "^0.6.0", "@changesets/types": "^6.1.0", "dotenv": "^8.1.0" } }, "sha512-BVuHtF+hrhUScSoHnJwTELB4/INQxVFc+P/Qdt20BLiBFIHFJDDUaGsZw+8fQeJTRP5hJZrzpt3oZWh0G19rAQ=="], + + "@changesets/cli": ["@changesets/cli@2.29.7", "", { "dependencies": { "@changesets/apply-release-plan": "^7.0.13", "@changesets/assemble-release-plan": "^6.0.9", "@changesets/changelog-git": "^0.2.1", "@changesets/config": "^3.1.1", "@changesets/errors": "^0.2.0", "@changesets/get-dependents-graph": "^2.1.3", "@changesets/get-release-plan": "^4.0.13", "@changesets/git": "^3.0.4", "@changesets/logger": "^0.1.1", "@changesets/pre": "^2.0.2", "@changesets/read": "^0.6.5", "@changesets/should-skip-package": "^0.1.2", "@changesets/types": "^6.1.0", "@changesets/write": "^0.4.0", "@inquirer/external-editor": "^1.0.0", "@manypkg/get-packages": "^1.1.3", "ansi-colors": "^4.1.3", "ci-info": "^3.7.0", "enquirer": "^2.4.1", "fs-extra": "^7.0.1", "mri": "^1.2.0", "p-limit": "^2.2.0", "package-manager-detector": "^0.2.0", "picocolors": "^1.1.0", "resolve-from": "^5.0.0", "semver": "^7.5.3", "spawndamnit": "^3.0.1", "term-size": "^2.1.0" }, "bin": { "changeset": "bin.js" } }, "sha512-R7RqWoaksyyKXbKXBTbT4REdy22yH81mcFK6sWtqSanxUCbUi9Uf+6aqxZtDQouIqPdem2W56CdxXgsxdq7FLQ=="], + + "@changesets/config": ["@changesets/config@3.1.1", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@changesets/get-dependents-graph": "^2.1.3", "@changesets/logger": "^0.1.1", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1", "micromatch": "^4.0.8" } }, "sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA=="], + + "@changesets/errors": ["@changesets/errors@0.2.0", "", { "dependencies": { "extendable-error": "^0.1.5" } }, "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow=="], + + "@changesets/get-dependents-graph": ["@changesets/get-dependents-graph@2.1.3", "", { "dependencies": { "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "picocolors": "^1.1.0", "semver": "^7.5.3" } }, "sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ=="], + + "@changesets/get-github-info": ["@changesets/get-github-info@0.6.0", "", { "dependencies": { "dataloader": "^1.4.0", "node-fetch": "^2.5.0" } }, "sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA=="], + + "@changesets/get-release-plan": ["@changesets/get-release-plan@4.0.13", "", { "dependencies": { "@changesets/assemble-release-plan": "^6.0.9", "@changesets/config": "^3.1.1", "@changesets/pre": "^2.0.2", "@changesets/read": "^0.6.5", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3" } }, "sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg=="], + + "@changesets/get-version-range-type": ["@changesets/get-version-range-type@0.4.0", "", {}, "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ=="], + + "@changesets/git": ["@changesets/git@3.0.4", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@manypkg/get-packages": "^1.1.3", "is-subdir": "^1.1.1", "micromatch": "^4.0.8", "spawndamnit": "^3.0.1" } }, "sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw=="], + + "@changesets/logger": ["@changesets/logger@0.1.1", "", { "dependencies": { "picocolors": "^1.1.0" } }, "sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg=="], + + "@changesets/parse": ["@changesets/parse@0.4.1", "", { "dependencies": { "@changesets/types": "^6.1.0", "js-yaml": "^3.13.1" } }, "sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q=="], + + "@changesets/pre": ["@changesets/pre@2.0.2", "", { "dependencies": { "@changesets/errors": "^0.2.0", "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1" } }, "sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug=="], + + "@changesets/read": ["@changesets/read@0.6.5", "", { "dependencies": { "@changesets/git": "^3.0.4", "@changesets/logger": "^0.1.1", "@changesets/parse": "^0.4.1", "@changesets/types": "^6.1.0", "fs-extra": "^7.0.1", "p-filter": "^2.1.0", "picocolors": "^1.1.0" } }, "sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg=="], + + "@changesets/should-skip-package": ["@changesets/should-skip-package@0.1.2", "", { "dependencies": { "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3" } }, "sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw=="], + + "@changesets/types": ["@changesets/types@6.1.0", "", {}, "sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA=="], + + "@changesets/write": ["@changesets/write@0.4.0", "", { "dependencies": { "@changesets/types": "^6.1.0", "fs-extra": "^7.0.1", "human-id": "^4.1.1", "prettier": "^2.7.1" } }, "sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q=="], + "@chromatic-com/storybook": ["@chromatic-com/storybook@3.2.7", "", { "dependencies": { "chromatic": "^11.15.0", "filesize": "^10.0.12", "jsonfile": "^6.1.0", "react-confetti": "^6.1.0", "strip-ansi": "^7.1.0" }, "peerDependencies": { "storybook": "^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0" } }, "sha512-fCGhk4cd3VA8RNg55MZL5CScdHqljsQcL9g6Ss7YuobHpSo9yytEWNdgMd5QxAHSPBlLGFHjnSmliM3G/BeBqw=="], "@cloudflare/kv-asset-handler": ["@cloudflare/kv-asset-handler@0.4.0", "", { "dependencies": { "mime": "^3.0.0" } }, "sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA=="], @@ -2547,8 +2551,6 @@ "@intlayer/sync-json-plugin": ["@intlayer/sync-json-plugin@workspace:plugins/sync-json-plugin"], - "@intlayer/types": ["@intlayer/types@workspace:packages/@intlayer/types"], - "@intlayer/unmerged-dictionaries-entry": ["@intlayer/unmerged-dictionaries-entry@workspace:packages/@intlayer/unmerged-dictionaries-entry"], "@intlayer/webpack": ["@intlayer/webpack@workspace:packages/@intlayer/webpack"], @@ -2623,7 +2625,7 @@ "@jsonjoy.com/base64": ["@jsonjoy.com/base64@1.1.2", "", { "peerDependencies": { "tslib": "2" } }, "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA=="], - "@jsonjoy.com/buffers": ["@jsonjoy.com/buffers@1.2.1", "", { "peerDependencies": { "tslib": "2" } }, "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA=="], + "@jsonjoy.com/buffers": ["@jsonjoy.com/buffers@1.2.0", "", { "peerDependencies": { "tslib": "2" } }, "sha512-6RX+W5a+ZUY/c/7J5s5jK9UinLfJo5oWKh84fb4X0yK2q4WXEWUWZWuEMjvCb1YNUQhEAhUfr5scEGOH7jC4YQ=="], "@jsonjoy.com/codegen": ["@jsonjoy.com/codegen@1.0.0", "", { "peerDependencies": { "tslib": "2" } }, "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g=="], @@ -2669,6 +2671,10 @@ "@lynx-js/websocket": ["@lynx-js/websocket@0.0.4", "", { "dependencies": { "eventemitter3": "^5.0.1" } }, "sha512-yXuMiTALLNvkDz8hG+0KdkBodnyJDvyfr8bdIq6zMP9X8JAoBC/czc1HIhUgYEJ3Zee5F/vGKjNxcoSx2t1E6w=="], + "@manypkg/find-root": ["@manypkg/find-root@1.1.0", "", { "dependencies": { "@babel/runtime": "^7.5.5", "@types/node": "^12.7.1", "find-up": "^4.1.0", "fs-extra": "^8.1.0" } }, "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA=="], + + "@manypkg/get-packages": ["@manypkg/get-packages@1.1.3", "", { "dependencies": { "@babel/runtime": "^7.5.5", "@changesets/types": "^4.0.1", "@manypkg/find-root": "^1.1.0", "fs-extra": "^8.1.0", "globby": "^11.0.0", "read-yaml-file": "^1.1.0" } }, "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A=="], + "@mapbox/node-pre-gyp": ["@mapbox/node-pre-gyp@2.0.0", "", { "dependencies": { "consola": "^3.2.3", "detect-libc": "^2.0.0", "https-proxy-agent": "^7.0.5", "node-fetch": "^2.6.7", "nopt": "^8.0.0", "semver": "^7.5.3", "tar": "^7.4.0" }, "bin": { "node-pre-gyp": "bin/node-pre-gyp" } }, "sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg=="], "@mdx-js/mdx": ["@mdx-js/mdx@3.1.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "acorn": "^8.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ=="], @@ -2779,6 +2785,8 @@ "@next/env": ["@next/env@15.5.4", "", {}, "sha512-27SQhYp5QryzIT5uO8hq99C69eLQ7qkzkDPsk3N+GuS2XgOgoYEeOav7Pf8Tn4drECOVDsDg8oj+/DVy8qQL2A=="], + "@next/eslint-plugin-next": ["@next/eslint-plugin-next@15.5.6", "", { "dependencies": { "fast-glob": "3.3.1" } }, "sha512-YxDvsT2fwy1j5gMqk3ppXlsgDopHnkM4BoxSVASbvvgh5zgsK8lvWerDzPip8k3WVzsTZ1O7A7si1KNfN4OZfQ=="], + "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@15.5.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-nopqz+Ov6uvorej8ndRX6HlxCYWCO3AHLfKK2TYvxoSB2scETOcfm/HSS3piPqc3A+MUgyHoqE6je4wnkjfrOA=="], "@next/swc-darwin-x64": ["@next/swc-darwin-x64@15.5.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-QOTCFq8b09ghfjRJKfb68kU9k2K+2wsC4A67psOiMn849K9ZXgCSRQr0oVHfmKnoqCbEmQWG1f2h1T2vtJJ9mA=="], @@ -2813,6 +2821,8 @@ "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + "@nolyfill/is-core-module": ["@nolyfill/is-core-module@1.0.39", "", {}, "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA=="], + "@npmcli/agent": ["@npmcli/agent@3.0.0", "", { "dependencies": { "agent-base": "^7.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.1", "lru-cache": "^10.0.1", "socks-proxy-agent": "^8.0.3" } }, "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q=="], "@npmcli/fs": ["@npmcli/fs@4.0.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q=="], @@ -2865,28 +2875,6 @@ "@oslojs/encoding": ["@oslojs/encoding@1.1.0", "", {}, "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ=="], - "@oven/bun-darwin-aarch64": ["@oven/bun-darwin-aarch64@1.3.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-WeXSaL29ylJEZMYHHW28QZ6rgAbxQ1KuNSZD9gvd3fPlo0s6s2PglvPArjjP07nmvIK9m4OffN0k4M98O7WmAg=="], - - "@oven/bun-darwin-x64": ["@oven/bun-darwin-x64@1.3.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-CFKjoUWQH0Oz3UHYfKbdKLq0wGryrFsTJEYq839qAwHQSECvVZYAnxVVDYUDa0yQFonhO2qSHY41f6HK+b7xtw=="], - - "@oven/bun-darwin-x64-baseline": ["@oven/bun-darwin-x64-baseline@1.3.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-+FSr/ub5vA/EkD3fMhHJUzYioSf/sXd50OGxNDAntVxcDu4tXL/81Ka3R/gkZmjznpLFIzovU/1Ts+b7dlkrfw=="], - - "@oven/bun-linux-aarch64": ["@oven/bun-linux-aarch64@1.3.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-WHthS/eLkCNcp9pk4W8aubRl9fIUgt2XhHyLrP0GClB1FVvmodu/zIOtG0NXNpzlzB8+gglOkGo4dPjfVf4Z+g=="], - - "@oven/bun-linux-aarch64-musl": ["@oven/bun-linux-aarch64-musl@1.3.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-HT5sr7N8NDYbQRjAnT7ISpx64y+ewZZRQozOJb0+KQObKvg4UUNXGm4Pn1xA4/WPMZDDazjO8E2vtOQw1nJlAQ=="], - - "@oven/bun-linux-x64": ["@oven/bun-linux-x64@1.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-sGEWoJQXO4GDr0x4t/yJQ/Bq1yNkOdX9tHbZZ+DBGJt3z3r7jeb4Digv8xQUk6gdTFC9vnGHuin+KW3/yD1Aww=="], - - "@oven/bun-linux-x64-baseline": ["@oven/bun-linux-x64-baseline@1.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-OmlEH3nlxQyv7HOvTH21vyNAZGv9DIPnrTznzvKiOQxkOphhCyKvPTlF13ydw4s/i18iwaUrhHy+YG9HSSxa4Q=="], - - "@oven/bun-linux-x64-musl": ["@oven/bun-linux-x64-musl@1.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-rtzUEzCynl3Rhgn/iR9DQezSFiZMcAXAbU+xfROqsweMGKwvwIA2ckyyckO08psEP8XcUZTs3LT9CH7PnaMiEA=="], - - "@oven/bun-linux-x64-musl-baseline": ["@oven/bun-linux-x64-musl-baseline@1.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-hrr7mDvUjMX1tuJaXz448tMsgKIqGJBY8+rJqztKOw1U5+a/v2w5HuIIW1ce7ut0ZwEn+KIDvAujlPvpH33vpQ=="], - - "@oven/bun-windows-x64": ["@oven/bun-windows-x64@1.3.0", "", { "os": "win32", "cpu": "x64" }, "sha512-xXwtpZVVP7T+vkxcF/TUVVOGRjEfkByO4mKveKYb4xnHWV4u4NnV0oNmzyMKkvmj10to5j2h0oZxA4ZVVv4gfA=="], - - "@oven/bun-windows-x64-baseline": ["@oven/bun-windows-x64-baseline@1.3.0", "", { "os": "win32", "cpu": "x64" }, "sha512-/jVZ8eYjpYHLDFNoT86cP+AjuWvpkzFY+0R0a1bdeu0sQ6ILuy1FV6hz1hUAP390E09VCo5oP76fnx29giHTtA=="], - "@oxc-parser/binding-android-arm64": ["@oxc-parser/binding-android-arm64@0.76.0", "", { "os": "android", "cpu": "arm64" }, "sha512-1XJW/16CDmF5bHE7LAyPPmEEVnxSadDgdJz+xiLqBrmC4lfAeuAfRw3HlOygcPGr+AJsbD4Z5sFJMkwjbSZlQg=="], "@oxc-parser/binding-darwin-arm64": ["@oxc-parser/binding-darwin-arm64@0.76.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-yoQwSom8xsB+JdGsPUU0xxmxLKiF2kdlrK7I56WtGKZilixuBf/TmOwNYJYLRWkBoW5l2/pDZOhBm2luwmLiLw=="], @@ -3003,15 +2991,15 @@ "@quansync/fs": ["@quansync/fs@0.1.5", "", { "dependencies": { "quansync": "^0.2.11" } }, "sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA=="], - "@radix-ui/number": ["@radix-ui/number@1.1.1", "", {}, "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g=="], + "@radix-ui/number": ["@radix-ui/number@1.1.0", "", {}, "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ=="], "@radix-ui/primitive": ["@radix-ui/primitive@1.1.3", "", {}, "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg=="], - "@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w=="], + "@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.1", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w=="], "@radix-ui/react-checkbox": ["@radix-ui/react-checkbox@1.3.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw=="], - "@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw=="], + "@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA=="], "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="], @@ -3019,7 +3007,7 @@ "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw=="], - "@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw=="], + "@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg=="], "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg=="], @@ -3035,7 +3023,7 @@ "@radix-ui/react-popover": ["@radix-ui/react-popover@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA=="], - "@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.8", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", "@radix-ui/react-use-size": "1.1.1", "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw=="], + "@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.1", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-rect": "1.1.0", "@radix-ui/react-use-size": "1.1.0", "@radix-ui/rect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw=="], "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], @@ -3045,7 +3033,7 @@ "@radix-ui/react-roving-focus": ["@radix-ui/react-roving-focus@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA=="], - "@radix-ui/react-select": ["@radix-ui/react-select@2.2.6", "", { "dependencies": { "@radix-ui/number": "1.1.1", "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ=="], + "@radix-ui/react-select": ["@radix-ui/react-select@2.1.4", "", { "dependencies": { "@radix-ui/number": "1.1.0", "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-dismissable-layer": "1.1.3", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.1", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-popper": "1.2.1", "@radix-ui/react-portal": "1.1.3", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-slot": "1.1.1", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", "@radix-ui/react-visually-hidden": "1.1.1", "aria-hidden": "^1.1.1", "react-remove-scroll": "^2.6.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-pOkb2u8KgO47j/h7AylCj7dJsm69BXcjkrvTqMptFqsE2i0p8lHkfgneXKjAgPzBMivnoMyt8o4KiV4wYzDdyQ=="], "@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], @@ -3057,7 +3045,7 @@ "@radix-ui/react-tooltip": ["@radix-ui/react-tooltip@1.2.8", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg=="], - "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="], "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.2", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg=="], @@ -3065,17 +3053,17 @@ "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.1", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g=="], - "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="], - "@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ=="], + "@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og=="], - "@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.1", "", { "dependencies": { "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w=="], + "@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.0", "", { "dependencies": { "@radix-ui/rect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ=="], - "@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], + "@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.0", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw=="], - "@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.2.3", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug=="], + "@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.1.1", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg=="], - "@radix-ui/rect": ["@radix-ui/rect@1.1.1", "", {}, "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="], + "@radix-ui/rect": ["@radix-ui/rect@1.1.0", "", {}, "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg=="], "@react-email/body": ["@react-email/body@0.1.0", "", { "peerDependencies": { "react": "^18.0 || ^19.0 || ^19.0.0-rc" } }, "sha512-o1bcSAmDYNNHECbkeyceCVPGmVsYvT+O3sSO/Ct7apKUu3JphTi31hu+0Nwqr/pgV5QFqdoT5vdS3SW5DJFHgQ=="], @@ -3201,13 +3189,13 @@ "@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.0-beta.43", "", { "os": "win32", "cpu": "x64" }, "sha512-eWBV1Ef3gfGNehxVGCyXs7wLayRIgCmyItuCZwYYXW5bsk4EvR4n2GP5m3ohjnx7wdiY3nLmwQfH2Knb5gbNZw=="], - "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.38", "", {}, "sha512-N/ICGKleNhA5nc9XXQG/kkKHJ7S55u0x0XUJbbkmdCnFuoRkM1Il12q9q0eX19+M7KKUEPw/daUPIRnxhcxAIw=="], + "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.30", "", {}, "sha512-whXaSoNUFiyDAjkUF8OBpOm77Szdbk5lGNqFe6CbVbJFrhCCPinCbRA3NjawwlNHla1No7xvXXh+CpSxnPfUEw=="], "@rollup/plugin-alias": ["@rollup/plugin-alias@5.1.1", "", { "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ=="], "@rollup/plugin-babel": ["@rollup/plugin-babel@5.3.1", "", { "dependencies": { "@babel/helper-module-imports": "^7.10.4", "@rollup/pluginutils": "^3.1.0" }, "peerDependencies": { "@babel/core": "^7.0.0", "@types/babel__core": "^7.1.9", "rollup": "^1.20.0||^2.0.0" }, "optionalPeers": ["@types/babel__core"] }, "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q=="], - "@rollup/plugin-commonjs": ["@rollup/plugin-commonjs@28.0.8", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", "estree-walker": "^2.0.2", "fdir": "^6.2.0", "is-reference": "1.2.1", "magic-string": "^0.30.3", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^2.68.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-o1Ug9PxYsF61R7/NXO/GgMZZproLd/WH2XA53Tp9ppf6bU1lMlTtC/gUM6zM3mesi2E0rypk+PNtVrELREyWEQ=="], + "@rollup/plugin-commonjs": ["@rollup/plugin-commonjs@28.0.7", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", "estree-walker": "^2.0.2", "fdir": "^6.2.0", "is-reference": "1.2.1", "magic-string": "^0.30.3", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^2.68.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-6cE2Wr/MkpdtTS8gXlCn9Zdmf7e9Xm96yFqOwFEXuvYLAHtjRf57/n6GEVF4K8NSesT1eKdBtcDA/SQdpW/8nA=="], "@rollup/plugin-inject": ["@rollup/plugin-inject@5.0.5", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", "magic-string": "^0.30.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg=="], @@ -3339,13 +3327,13 @@ "@shikijs/core": ["@shikijs/core@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-3P8rGsg2Eh2qIHekwuQjzWhKI4jV97PhvYjYUzGqjvJfqdQPz+nMlfWahU24GZAyW1FxFI1sYjyhfh5CoLmIUA=="], - "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.3" } }, "sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg=="], + "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.2.1", "", { "dependencies": { "@shikijs/types": "3.2.1", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.1.0" } }, "sha512-eMdcUzN3FMQYxOmRf2rmU8frikzoSHbQDFH2hIuXsrMO+IBOCI9BeeRkCiBkcLDHeRKbOCtYMJK3D6U32ooU9Q=="], - "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg=="], + "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.2.1", "", { "dependencies": { "@shikijs/types": "3.2.1", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ=="], - "@shikijs/langs": ["@shikijs/langs@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0" } }, "sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ=="], + "@shikijs/langs": ["@shikijs/langs@3.2.1", "", { "dependencies": { "@shikijs/types": "3.2.1" } }, "sha512-If0iDHYRSGbihiA8+7uRsgb1er1Yj11pwpX1c6HLYnizDsKAw5iaT3JXj5ZpaimXSWky/IhxTm7C6nkiYVym+A=="], - "@shikijs/themes": ["@shikijs/themes@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0" } }, "sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg=="], + "@shikijs/themes": ["@shikijs/themes@3.2.1", "", { "dependencies": { "@shikijs/types": "3.2.1" } }, "sha512-k5DKJUT8IldBvAm8WcrDT5+7GA7se6lLksR+2E3SvyqGTyFMzU2F9Gb7rmD+t+Pga1MKrYFxDIeyWjMZWM6uBQ=="], "@shikijs/transformers": ["@shikijs/transformers@3.13.0", "", { "dependencies": { "@shikijs/core": "3.13.0", "@shikijs/types": "3.13.0" } }, "sha512-833lcuVzcRiG+fXvgslWsM2f4gHpjEgui1ipIknSizRuTgMkNZupiXE5/TVJ6eSYfhNBFhBZKkReKWO2GgYmqA=="], @@ -3575,7 +3563,7 @@ "@tanstack/history": ["@tanstack/history@1.129.7", "", {}, "sha512-I3YTkbe4RZQN54Qw4+IUhOjqG2DdbG2+EBWuQfew4MEk0eddLYAQVa50BZVww4/D2eh5I9vEk2Fd1Y0Wty7pug=="], - "@tanstack/query-core": ["@tanstack/query-core@5.90.5", "", {}, "sha512-wLamYp7FaDq6ZnNehypKI5fNvxHPfTYylE0m/ZpuuzJfJqhR5Pxg9gvGBHZx4n7J+V5Rg5mZxHHTlv25Zt5u+w=="], + "@tanstack/query-core": ["@tanstack/query-core@5.90.2", "", {}, "sha512-k/TcR3YalnzibscALLwxeiLUub6jN5EDLwKDiO7q5f4ICEoptJ+n9+7vcEFy5/x/i6Q+Lb/tXrsKCggf5uQJXQ=="], "@tanstack/query-devtools": ["@tanstack/query-devtools@5.90.1", "", {}, "sha512-GtINOPjPUH0OegJExZ70UahT9ykmAhmtNVcmtdnOZbxLwT7R5OmRztR5Ahe3/Cu7LArEmR6/588tAycuaWb1xQ=="], @@ -3585,7 +3573,7 @@ "@tanstack/react-devtools": ["@tanstack/react-devtools@0.2.2", "", { "dependencies": { "@tanstack/devtools": "0.3.0" }, "peerDependencies": { "@types/react": ">=16.8", "@types/react-dom": ">=16.8", "react": ">=16.8", "react-dom": ">=16.8" } }, "sha512-Ig8ZYqUPJ+nwRvF/RpkQHPbgEkrL3b2PjeYBgXgT5OemyRUlmG12UutvMBV+bJuBsSOKHrNf29IvzC0Vw9Bt1A=="], - "@tanstack/react-query": ["@tanstack/react-query@5.90.5", "", { "dependencies": { "@tanstack/query-core": "5.90.5" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-pN+8UWpxZkEJ/Rnnj2v2Sxpx1WFlaa9L6a4UO89p6tTQbeo+m0MS8oYDjbggrR8QcTyjKoYWKS3xJQGr3ExT8Q=="], + "@tanstack/react-query": ["@tanstack/react-query@5.90.2", "", { "dependencies": { "@tanstack/query-core": "5.90.2" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-CLABiR+h5PYfOWr/z+vWFt5VsOA2ekQeRQBFSKlcoW6Ndx/f8rfyVmq4LbgOM4GG2qtxAxjLYLOpCNTYm4uKzw=="], "@tanstack/react-query-devtools": ["@tanstack/react-query-devtools@5.90.2", "", { "dependencies": { "@tanstack/query-devtools": "5.90.1" }, "peerDependencies": { "@tanstack/react-query": "^5.90.2", "react": "^18 || ^19" } }, "sha512-vAXJzZuBXtCQtrY3F/yUNJCV4obT/A/n81kb3+YqLbro5Z2+phdAbceO+deU3ywPw8B42oyJlp4FhO0SoivDFQ=="], @@ -3611,13 +3599,13 @@ "@tanstack/router-devtools-core": ["@tanstack/router-devtools-core@1.131.5", "", { "dependencies": { "clsx": "^2.1.1", "goober": "^2.1.16", "solid-js": "^1.9.5" }, "peerDependencies": { "@tanstack/router-core": "^1.131.5", "csstype": "^3.0.10", "tiny-invariant": "^1.3.3" }, "optionalPeers": ["csstype"] }, "sha512-kH3cZz7UfnVQW9vMZJ/CAx15pu+iGkn10N4rRKBVWCEJZFPX3GZvYEwkeALHASsV0Io7yUvKDcWfPsc+UowyzQ=="], - "@tanstack/router-generator": ["@tanstack/router-generator@1.133.4", "", { "dependencies": { "@tanstack/router-core": "1.133.3", "@tanstack/router-utils": "1.133.3", "@tanstack/virtual-file-routes": "1.133.3", "prettier": "^3.5.0", "recast": "^0.23.11", "source-map": "^0.7.4", "tsx": "^4.19.2", "zod": "^3.24.2" } }, "sha512-OmafLkRMm21L/yZsx0FmRQeg0GZ1suQAW8/n0KvaJZcN8XP/WRfNtNkilDucWByWxAXC/Lxy8bKP2DW/omJuAw=="], + "@tanstack/router-generator": ["@tanstack/router-generator@1.132.51", "", { "dependencies": { "@tanstack/router-core": "1.132.47", "@tanstack/router-utils": "1.132.51", "@tanstack/virtual-file-routes": "1.132.31", "prettier": "^3.5.0", "recast": "^0.23.11", "source-map": "^0.7.4", "tsx": "^4.19.2", "zod": "^3.24.2" } }, "sha512-iAGz2IZ2rr38o+7cgE33qPyNFJFx7PcPOvUXk5kcX1TtXeyTgVLoe7vqQzKYbungZmht2V8xSFmy6kakUJhxOA=="], "@tanstack/router-plugin": ["@tanstack/router-plugin@1.121.2", "", { "dependencies": { "@babel/core": "^7.26.8", "@babel/plugin-syntax-jsx": "^7.25.9", "@babel/plugin-syntax-typescript": "^7.25.9", "@babel/template": "^7.26.8", "@babel/traverse": "^7.26.8", "@babel/types": "^7.26.8", "@tanstack/router-core": "^1.121.2", "@tanstack/router-generator": "^1.121.2", "@tanstack/router-utils": "^1.121.0", "@tanstack/virtual-file-routes": "^1.120.17", "babel-dead-code-elimination": "^1.0.10", "chokidar": "^3.6.0", "unplugin": "^2.1.2", "zod": "^3.24.2" }, "peerDependencies": { "@rsbuild/core": ">=1.0.2", "@tanstack/react-router": "^1.121.2", "vite": ">=5.0.0 || >=6.0.0", "vite-plugin-solid": "^2.11.2", "webpack": ">=5.92.0" }, "optionalPeers": ["@rsbuild/core", "@tanstack/react-router", "vite", "vite-plugin-solid", "webpack"] }, "sha512-9PvR9zi2duSntPBXYJ4ygpx/0Q9Q6QSKQP7oIvKcZZkE/ND+eNYVFqpsc84F28j92ghVaDRrv7ABJ/dM9UHQgw=="], "@tanstack/router-ssr-query-core": ["@tanstack/router-ssr-query-core@1.131.7", "", { "peerDependencies": { "@tanstack/query-core": ">=5.66.0", "@tanstack/router-core": ">=1.127.0" } }, "sha512-uHU+RmH7qjVDBjFb11iUJUaCAA7jgI5fQz1Q7SWL96knB9esrkXMQ77v5pxucxv3uC9XlnCyFijE3XJqo3Xb8Q=="], - "@tanstack/router-utils": ["@tanstack/router-utils@1.133.3", "", { "dependencies": { "@babel/core": "^7.27.4", "@babel/generator": "^7.27.5", "@babel/parser": "^7.27.5", "@babel/preset-typescript": "^7.27.1", "ansis": "^4.1.0", "diff": "^8.0.2", "pathe": "^2.0.3", "tinyglobby": "^0.2.15" } }, "sha512-miPFlt0aG6ID5VDolYuRXgLS7cofvbZGMvHwf2Wmyxjo6GLp/kxxpkQrfM4T1I5cwjwYZZAQmdUKbVHwFZz9sQ=="], + "@tanstack/router-utils": ["@tanstack/router-utils@1.132.51", "", { "dependencies": { "@babel/core": "^7.27.4", "@babel/generator": "^7.27.5", "@babel/parser": "^7.27.5", "@babel/preset-typescript": "^7.27.1", "ansis": "^4.1.0", "diff": "^8.0.2", "pathe": "^2.0.3", "tinyglobby": "^0.2.15" } }, "sha512-8wmYmc8LY0MhgNw1jfwjTdpYgl5CmvvkamoHOUcz4odFiAWOXLhwo3UBOwKihw+6SxJ/M7l9tEcq5PdLUOUi0Q=="], "@tanstack/server-functions-plugin": ["@tanstack/server-functions-plugin@1.131.2", "", { "dependencies": { "@babel/code-frame": "7.27.1", "@babel/core": "^7.27.7", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.27.1", "@babel/template": "^7.27.2", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", "@tanstack/directive-functions-plugin": "1.131.2", "babel-dead-code-elimination": "^1.0.9", "tiny-invariant": "^1.3.3" } }, "sha512-hWsaSgEZAVyzHg8+IcJWCEtfI9ZSlNELErfLiGHG9XCHEXMegFWsrESsKHlASzJqef9RsuOLDl+1IMPIskwdDw=="], @@ -3639,7 +3627,7 @@ "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="], - "@tanstack/virtual-file-routes": ["@tanstack/virtual-file-routes@1.133.3", "", {}, "sha512-6d2AP9hAjEi8mcIew2RkxBX+wClH1xedhfaYhs8fUiX+V2Cedk7RBD9E9ww2z6BGUYD8Es4fS0OIrzXZWHKGhw=="], + "@tanstack/virtual-file-routes": ["@tanstack/virtual-file-routes@1.132.31", "", {}, "sha512-rxS8Cm2nIXroLqkm9pE/8X2lFNuvcTIIiFi5VH4PwzvKscAuaW3YRMN1WmaGDI2mVEn+GLaoY6Kc3jOczL5i4w=="], "@testing-library/dom": ["@testing-library/dom@10.4.0", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "pretty-format": "^27.0.2" } }, "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ=="], @@ -3769,7 +3757,7 @@ "@types/istanbul-reports": ["@types/istanbul-reports@3.0.4", "", { "dependencies": { "@types/istanbul-lib-report": "*" } }, "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ=="], - "@types/jasmine": ["@types/jasmine@5.1.11", "", {}, "sha512-eAij9lMAsosuA8cvRcqw7p2vO+LUraktQDmOUFx2jAnya8NUchr3DryHksfhZbRzU83vzNUSZhlk1cFdoePxwA=="], + "@types/jasmine": ["@types/jasmine@5.1.10", "", {}, "sha512-ctILpOSFD58PTyGwr400GadefIHPqdWQ8VlZI9D65USOWR/aIw8dkDAw17KPCu/Wn+e+r9BWpPtmuB5T/pP8ng=="], "@types/jest": ["@types/jest@30.0.0", "", { "dependencies": { "expect": "^30.0.0", "pretty-format": "^30.0.0" } }, "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA=="], @@ -3827,9 +3815,9 @@ "@types/react": ["@types/react@19.2.0", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-1LOH8xovvsKsCBq1wnT4ntDUdCJKmnEakhsuoUSy6ExlHCkGP2hqnatagYTgFk6oeL0VU31u7SNjunPN+GchtA=="], - "@types/react-dom": ["@types/react-dom@19.2.0", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-brtBs0MnE9SMx7px208g39lRmC5uHZs96caOJfTjFcYSLHNamvaSMfJNagChVNkup2SdtOxKX1FDBkRSJe1ZAg=="], + "@types/react-dom": ["@types/react-dom@19.2.2", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw=="], - "@types/react-reconciler": ["@types/react-reconciler@0.32.2", "", { "peerDependencies": { "@types/react": "*" } }, "sha512-gjcm6O0aUknhYaogEl8t5pecPfiOTD8VQkbjOhgbZas/E6qGY+veW9iuJU/7p4Y1E0EuQ0mArga7VEOUWSlVRA=="], + "@types/react-reconciler": ["@types/react-reconciler@0.32.1", "", { "peerDependencies": { "@types/react": "*" } }, "sha512-RsqPttsBQ+6af0nATFXJJpemYQH7kL9+xLNm1z+0MjQFDKBZDM2R6SBrjdvRmHu9i9fM6povACj57Ft+pKRNOA=="], "@types/resolve": ["@types/resolve@1.20.6", "", {}, "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ=="], @@ -3951,13 +3939,13 @@ "@utils/tsdown-config": ["@utils/tsdown-config@workspace:utils/tsdown-config"], - "@vercel/nft": ["@vercel/nft@0.30.3", "", { "dependencies": { "@mapbox/node-pre-gyp": "^2.0.0", "@rollup/pluginutils": "^5.1.3", "acorn": "^8.6.0", "acorn-import-attributes": "^1.9.5", "async-sema": "^3.1.1", "bindings": "^1.4.0", "estree-walker": "2.0.2", "glob": "^10.4.5", "graceful-fs": "^4.2.9", "node-gyp-build": "^4.2.2", "picomatch": "^4.0.2", "resolve-from": "^5.0.0" }, "bin": { "nft": "out/cli.js" } }, "sha512-UEq+eF0ocEf9WQCV1gktxKhha36KDs7jln5qii6UpPf5clMqDc0p3E7d9l2Smx0i9Pm1qpq4S4lLfNl97bbv6w=="], + "@vercel/nft": ["@vercel/nft@0.30.2", "", { "dependencies": { "@mapbox/node-pre-gyp": "^2.0.0", "@rollup/pluginutils": "^5.1.3", "acorn": "^8.6.0", "acorn-import-attributes": "^1.9.5", "async-sema": "^3.1.1", "bindings": "^1.4.0", "estree-walker": "2.0.2", "glob": "^10.4.5", "graceful-fs": "^4.2.9", "node-gyp-build": "^4.2.2", "picomatch": "^4.0.2", "resolve-from": "^5.0.0" }, "bin": { "nft": "out/cli.js" } }, "sha512-pquXF3XZFg/T3TBor08rUhIGgOhdSilbn7WQLVP/aVSSO+25Rs4H/m3nxNDQ2x3znX7Z3yYjryN8xaLwypcwQg=="], "@vercel/oidc": ["@vercel/oidc@3.0.2", "", {}, "sha512-JekxQ0RApo4gS4un/iMGsIL1/k4KUBe3HmnGcDvzHuFBdQdudEJgTqcsJC7y6Ul4Yw5CeykgvQbX2XeEJd0+DA=="], "@vitejs/plugin-basic-ssl": ["@vitejs/plugin-basic-ssl@1.2.0", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" } }, "sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q=="], - "@vitejs/plugin-react": ["@vitejs/plugin-react@5.0.4", "", { "dependencies": { "@babel/core": "^7.28.4", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-beta.38", "@types/babel__core": "^7.20.5", "react-refresh": "^0.17.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-La0KD0vGkVkSk6K+piWDKRUyg8Rl5iAIKRMH0vMJI0Eg47bq1eOxmoObAaQG37WMW9MSyk7Cs8EIWwJC1PtzKA=="], + "@vitejs/plugin-react": ["@vitejs/plugin-react@5.0.0", "", { "dependencies": { "@babel/core": "^7.28.0", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-beta.30", "@types/babel__core": "^7.20.5", "react-refresh": "^0.17.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-Jx9JfsTa05bYkS9xo0hkofp2dCmp1blrKjw9JONs5BTHOvJCgLbaPSuZLGSVJW6u2qe0tc4eevY0+gSNNi0YCw=="], "@vitejs/plugin-react-swc": ["@vitejs/plugin-react-swc@4.1.0", "", { "dependencies": { "@rolldown/pluginutils": "1.0.0-beta.35", "@swc/core": "^1.13.5" }, "peerDependencies": { "vite": "^4 || ^5 || ^6 || ^7" } }, "sha512-Ff690TUck0Anlh7wdIcnsVMhofeEVgm44Y4OYdeeEEPSKyZHzDI9gfVBvySEhDfXtBp8tLCbfsVKPWEMEjq8/g=="], @@ -4265,9 +4253,9 @@ "babel-plugin-react-compiler": ["babel-plugin-react-compiler@1.0.0", "", { "dependencies": { "@babel/types": "^7.26.0" } }, "sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw=="], - "babel-plugin-react-native-web": ["babel-plugin-react-native-web@0.21.2", "", {}, "sha512-SPD0J6qjJn8231i0HZhlAGH6NORe+QvRSQM2mwQEzJ2Fb3E4ruWTiiicPlHjmeWShDXLcvoorOCXjeR7k/lyWA=="], + "babel-plugin-react-native-web": ["babel-plugin-react-native-web@0.21.1", "", {}, "sha512-7XywfJ5QIRMwjOL+pwJt2w47Jmi5fFLvK7/So4fV4jIN6PcRbylCp9/l3cJY4VJbSz3lnWTeHDTD1LKIc1C09Q=="], - "babel-plugin-syntax-hermes-parser": ["babel-plugin-syntax-hermes-parser@0.29.1", "", { "dependencies": { "hermes-parser": "0.29.1" } }, "sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA=="], + "babel-plugin-syntax-hermes-parser": ["babel-plugin-syntax-hermes-parser@0.32.0", "", { "dependencies": { "hermes-parser": "0.32.0" } }, "sha512-m5HthL++AbyeEA2FcdwOLfVFvWYECOBObLHNqdR8ceY4TsEdn4LdX2oTvbB2QJSSElE2AWA/b2MXZ/PF/CqLZg=="], "babel-plugin-transform-flow-enums": ["babel-plugin-transform-flow-enums@0.0.2", "", { "dependencies": { "@babel/plugin-syntax-flow": "^7.12.1" } }, "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ=="], @@ -4291,7 +4279,7 @@ "bare-events": ["bare-events@2.8.0", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-AOhh6Bg5QmFIXdViHbMc2tLDsBIRxdkIaIddPslJF9Z5De3APBScuqGP2uThXnIpqFrgoxMNC6km7uXNIMLHXA=="], - "bare-fs": ["bare-fs@4.4.11", "", { "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", "bare-stream": "^2.6.4", "bare-url": "^2.2.2", "fast-fifo": "^1.3.2" }, "peerDependencies": { "bare-buffer": "*" }, "optionalPeers": ["bare-buffer"] }, "sha512-Bejmm9zRMvMTRoHS+2adgmXw1ANZnCNx+B5dgZpGwlP1E3x6Yuxea8RToddHUbWtVV0iUMWqsgZr8+jcgUI2SA=="], + "bare-fs": ["bare-fs@4.4.10", "", { "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", "bare-stream": "^2.6.4", "bare-url": "^2.2.2", "fast-fifo": "^1.3.2" }, "peerDependencies": { "bare-buffer": "*" }, "optionalPeers": ["bare-buffer"] }, "sha512-arqVF+xX/rJHwrONZaSPhlzleT2gXwVs9rsAe1p1mIVwWZI2A76/raio+KwwxfWMO8oV9Wo90EaUkS2QwVmy4w=="], "bare-os": ["bare-os@3.6.2", "", {}, "sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A=="], @@ -4307,7 +4295,7 @@ "base64id": ["base64id@2.0.0", "", {}, "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="], - "baseline-browser-mapping": ["baseline-browser-mapping@2.8.17", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-j5zJcx6golJYTG6c05LUZ3Z8Gi+M62zRT/ycz4Xq4iCOdpcxwg7ngEYD4KA0eWZC7U17qh/Smq8bYbACJ0ipBA=="], + "baseline-browser-mapping": ["baseline-browser-mapping@2.8.16", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-OMu3BGQ4E7P1ErFsIPpbJh0qvDudM/UuJeHgkAvfWe+0HFJCXh+t/l8L6fVLR55RI/UbKrVLnAXZSVwd9ysWYw=="], "basic-auth": ["basic-auth@2.0.1", "", { "dependencies": { "safe-buffer": "5.1.2" } }, "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg=="], @@ -4323,6 +4311,8 @@ "better-opn": ["better-opn@3.0.2", "", { "dependencies": { "open": "^8.0.4" } }, "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ=="], + "better-path-resolve": ["better-path-resolve@1.0.0", "", { "dependencies": { "is-windows": "^1.0.0" } }, "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g=="], + "bfj": ["bfj@7.1.0", "", { "dependencies": { "bluebird": "^3.7.2", "check-types": "^11.2.3", "hoopy": "^0.1.4", "jsonpath": "^1.1.1", "tryer": "^1.0.1" } }, "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw=="], "big-integer": ["big-integer@1.6.52", "", {}, "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg=="], @@ -4387,8 +4377,6 @@ "builtin-modules": ["builtin-modules@3.3.0", "", {}, "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw=="], - "bun": ["bun@1.3.0", "", { "optionalDependencies": { "@oven/bun-darwin-aarch64": "1.3.0", "@oven/bun-darwin-x64": "1.3.0", "@oven/bun-darwin-x64-baseline": "1.3.0", "@oven/bun-linux-aarch64": "1.3.0", "@oven/bun-linux-aarch64-musl": "1.3.0", "@oven/bun-linux-x64": "1.3.0", "@oven/bun-linux-x64-baseline": "1.3.0", "@oven/bun-linux-x64-musl": "1.3.0", "@oven/bun-linux-x64-musl-baseline": "1.3.0", "@oven/bun-windows-x64": "1.3.0", "@oven/bun-windows-x64-baseline": "1.3.0" }, "os": [ "linux", "win32", "darwin", ], "cpu": [ "x64", "arm64", ], "bin": { "bun": "bin/bun.exe", "bunx": "bin/bunx.exe" } }, "sha512-YI7mFs7iWc/VsGsh2aw6eAPD2cjzn1j+LKdYVk09x1CrdTWKYIHyd+dG5iQoN9//3hCDoZj8U6vKpZzEf5UARA=="], - "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="], "busboy": ["busboy@1.6.0", "", { "dependencies": { "streamsearch": "^1.1.0" } }, "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA=="], @@ -4425,7 +4413,7 @@ "caniuse-api": ["caniuse-api@3.0.0", "", { "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", "lodash.memoize": "^4.1.2", "lodash.uniq": "^4.5.0" } }, "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw=="], - "caniuse-lite": ["caniuse-lite@1.0.30001751", "", {}, "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw=="], + "caniuse-lite": ["caniuse-lite@1.0.30001750", "", {}, "sha512-cuom0g5sdX6rw00qOoLNSFCJ9/mYIsuSOA+yzpDw8eopiFqcVwQvZHqov0vmEighRxX++cfC0Vg1G+1Iy/mSpQ=="], "canvas-confetti": ["canvas-confetti@1.9.3", "", {}, "sha512-rFfTURMvmVEX1gyXFgn5QMn81bYk70qa0HLzcIOSVEyl57n6o9ItHeBtUSWdvKAPY0xlvBHno4/v3QPrT83q9g=="], @@ -4471,7 +4459,7 @@ "chromium-edge-launcher": ["chromium-edge-launcher@0.2.0", "", { "dependencies": { "@types/node": "*", "escape-string-regexp": "^4.0.0", "is-wsl": "^2.2.0", "lighthouse-logger": "^1.0.0", "mkdirp": "^1.0.4", "rimraf": "^3.0.2" } }, "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg=="], - "ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], "citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="], @@ -4527,7 +4515,7 @@ "collapse-white-space": ["collapse-white-space@2.1.0", "", {}, "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw=="], - "collect-v8-coverage": ["collect-v8-coverage@1.0.3", "", {}, "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw=="], + "collect-v8-coverage": ["collect-v8-coverage@1.0.2", "", {}, "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q=="], "color": ["color@5.0.2", "", { "dependencies": { "color-convert": "^3.0.1", "color-string": "^2.0.0" } }, "sha512-e2hz5BzbUPcYlIRHo8ieAhYgoajrJr+hWoceg6E345TPsATMUKqDgzt8fSXZJJbxfpiPzkWyphz8yn8At7q3fA=="], @@ -4601,7 +4589,7 @@ "conventional-commits-parser": ["conventional-commits-parser@5.0.0", "", { "dependencies": { "JSONStream": "^1.3.5", "is-text-path": "^2.0.0", "meow": "^12.0.1", "split2": "^4.0.0" }, "bin": { "conventional-commits-parser": "cli.mjs" } }, "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA=="], - "convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], @@ -4707,6 +4695,8 @@ "data-view-byte-offset": ["data-view-byte-offset@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" } }, "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ=="], + "dataloader": ["dataloader@1.4.0", "", {}, "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw=="], + "date-fns": ["date-fns@4.1.0", "", {}, "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg=="], "date-format": ["date-format@4.0.14", "", {}, "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg=="], @@ -4773,11 +4763,11 @@ "destroy": ["destroy@1.2.0", "", {}, "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="], - "detect-indent": ["detect-indent@7.0.2", "", {}, "sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A=="], + "detect-indent": ["detect-indent@6.1.0", "", {}, "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA=="], "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - "detect-newline": ["detect-newline@4.0.1", "", {}, "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog=="], + "detect-newline": ["detect-newline@3.1.0", "", {}, "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA=="], "detect-node": ["detect-node@2.1.0", "", {}, "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="], @@ -4787,7 +4777,7 @@ "deterministic-object-hash": ["deterministic-object-hash@2.0.2", "", { "dependencies": { "base-64": "^1.0.0" } }, "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ=="], - "devalue": ["devalue@5.4.1", "", {}, "sha512-YtoaOfsqjbZQKGIMRYDWKjUmSB4VJ/RElB+bXZawQAQYAo4xu08GKTMVlsZDTF6R2MbAgjcAQRPI5eIyRAT2OQ=="], + "devalue": ["devalue@5.3.2", "", {}, "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw=="], "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], @@ -4861,7 +4851,7 @@ "emittery": ["emittery@0.13.1", "", {}, "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ=="], - "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], "emojis-list": ["emojis-list@3.0.0", "", {}, "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="], @@ -4953,10 +4943,14 @@ "eslint": ["eslint@8.57.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", "@eslint/js": "8.57.1", "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", "eslint-scope": "^7.2.2", "eslint-visitor-keys": "^3.4.3", "espree": "^9.6.1", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" } }, "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA=="], + "eslint-config-next": ["eslint-config-next@15.5.6", "", { "dependencies": { "@next/eslint-plugin-next": "15.5.6", "@rushstack/eslint-patch": "^1.10.3", "@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.31.0", "eslint-plugin-jsx-a11y": "^6.10.0", "eslint-plugin-react": "^7.37.0", "eslint-plugin-react-hooks": "^5.0.0" }, "peerDependencies": { "eslint": "^7.23.0 || ^8.0.0 || ^9.0.0", "typescript": ">=3.3.1" }, "optionalPeers": ["typescript"] }, "sha512-cGr3VQlPsZBEv8rtYp4BpG1KNXDqGvPo9VC1iaCgIA11OfziC/vczng+TnAS3WpRIR3Q5ye/6yl+CRUuZ1fPGg=="], + "eslint-config-react-app": ["eslint-config-react-app@7.0.1", "", { "dependencies": { "@babel/core": "^7.16.0", "@babel/eslint-parser": "^7.16.3", "@rushstack/eslint-patch": "^1.1.0", "@typescript-eslint/eslint-plugin": "^5.5.0", "@typescript-eslint/parser": "^5.5.0", "babel-preset-react-app": "^10.0.1", "confusing-browser-globals": "^1.0.11", "eslint-plugin-flowtype": "^8.0.3", "eslint-plugin-import": "^2.25.3", "eslint-plugin-jest": "^25.3.0", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-react": "^7.27.1", "eslint-plugin-react-hooks": "^4.3.0", "eslint-plugin-testing-library": "^5.0.1" }, "peerDependencies": { "eslint": "^8.0.0" } }, "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA=="], "eslint-import-resolver-node": ["eslint-import-resolver-node@0.3.9", "", { "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", "resolve": "^1.22.4" } }, "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g=="], + "eslint-import-resolver-typescript": ["eslint-import-resolver-typescript@3.10.1", "", { "dependencies": { "@nolyfill/is-core-module": "1.0.39", "debug": "^4.4.0", "get-tsconfig": "^4.10.0", "is-bun-module": "^2.0.0", "stable-hash": "^0.0.5", "tinyglobby": "^0.2.13", "unrs-resolver": "^1.6.2" }, "peerDependencies": { "eslint": "*", "eslint-plugin-import": "*", "eslint-plugin-import-x": "*" }, "optionalPeers": ["eslint-plugin-import", "eslint-plugin-import-x"] }, "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ=="], + "eslint-module-utils": ["eslint-module-utils@2.12.1", "", { "dependencies": { "debug": "^3.2.7" } }, "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw=="], "eslint-plugin-flowtype": ["eslint-plugin-flowtype@8.0.3", "", { "dependencies": { "lodash": "^4.17.21", "string-natural-compare": "^3.0.1" }, "peerDependencies": { "@babel/plugin-syntax-flow": "^7.14.5", "@babel/plugin-transform-react-jsx": "^7.14.9", "eslint": "^8.1.0" } }, "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ=="], @@ -4969,7 +4963,7 @@ "eslint-plugin-react": ["eslint-plugin-react@7.37.5", "", { "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.3", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", "es-iterator-helpers": "^1.2.1", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.9", "object.fromentries": "^2.0.8", "object.values": "^1.2.1", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", "string.prototype.matchall": "^4.0.12", "string.prototype.repeat": "^1.0.0" }, "peerDependencies": { "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA=="], - "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@4.6.2", "", { "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ=="], + "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@5.2.0", "", { "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg=="], "eslint-plugin-testing-library": ["eslint-plugin-testing-library@5.11.1", "", { "dependencies": { "@typescript-eslint/utils": "^5.58.0" }, "peerDependencies": { "eslint": "^7.5.0 || ^8.0.0" } }, "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw=="], @@ -4991,7 +4985,7 @@ "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], - "estraverse": ["estraverse@4.3.0", "", {}, "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="], + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], "estree-util-attach-comments": ["estree-util-attach-comments@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw=="], @@ -5077,6 +5071,8 @@ "extend-shallow": ["extend-shallow@2.0.1", "", { "dependencies": { "is-extendable": "^0.1.0" } }, "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug=="], + "extendable-error": ["extendable-error@0.1.7", "", {}, "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg=="], + "externality": ["externality@1.0.2", "", { "dependencies": { "enhanced-resolve": "^5.14.1", "mlly": "^1.3.0", "pathe": "^1.1.1", "ufo": "^1.1.2" } }, "sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw=="], "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="], @@ -5183,13 +5179,13 @@ "fraction.js": ["fraction.js@4.3.7", "", {}, "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew=="], - "framer-motion": ["framer-motion@12.23.24", "", { "dependencies": { "motion-dom": "^12.23.23", "motion-utils": "^12.23.6", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-HMi5HRoRCTou+3fb3h9oTLyJGBxHfW+HnNE25tAXOvVx/IvwMHK0cx7IR4a2ZU6sh3IX1Z+4ts32PcYBOqka8w=="], + "framer-motion": ["framer-motion@12.23.21", "", { "dependencies": { "motion-dom": "^12.23.21", "motion-utils": "^12.23.6", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-UWDtzzPdRA3UpSNGril5HjUtPF1Uo/BCt5VKG/YQ8tVpSkAZ22+q8o+hYO0C1uDAZuotQjcfzsTsDtQxD46E/Q=="], "freeport-async": ["freeport-async@2.0.0", "", {}, "sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ=="], "fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="], - "fs-extra": ["fs-extra@10.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ=="], + "fs-extra": ["fs-extra@7.0.1", "", { "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw=="], "fs-minipass": ["fs-minipass@3.0.3", "", { "dependencies": { "minipass": "^7.0.3" } }, "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw=="], @@ -5241,8 +5237,6 @@ "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], - "git-hooks-list": ["git-hooks-list@4.1.1", "", {}, "sha512-cmP497iLq54AZnv4YRAEMnEyQ1eIn4tGKbmswqwmFV4GBnAqE8NLtWxxdXa++AalfgL5EBH4IxTPyquEuGY/jA=="], - "git-raw-commits": ["git-raw-commits@4.0.0", "", { "dependencies": { "dargs": "^8.0.0", "meow": "^12.0.1", "split2": "^4.0.0" }, "bin": { "git-raw-commits": "cli.mjs" } }, "sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ=="], "git-up": ["git-up@8.1.1", "", { "dependencies": { "is-ssh": "^1.4.0", "parse-url": "^9.2.0" } }, "sha512-FDenSF3fVqBYSaJoYy1KSc2wosx0gCvKP+c+PRBht7cAaiCeQlBtfBDX9vgnNOHmdePlSFITVcn4pFfcgNvx3g=="], @@ -5389,13 +5383,15 @@ "httpxy": ["httpxy@0.1.7", "", {}, "sha512-pXNx8gnANKAndgga5ahefxc++tJvNL87CXoRwxn1cJE2ZkWEojF3tNfQIEhZX/vfpt+wzeAzpUI4qkediX1MLQ=="], + "human-id": ["human-id@4.1.2", "", { "bin": { "human-id": "dist/cli.js" } }, "sha512-v/J+4Z/1eIJovEBdlV5TYj1IR+ZiohcYGRY+qN/oC9dAfKzVT023N/Bgw37hrKCoVRBvk3bqyzpr2PP5YeTMSg=="], + "human-signals": ["human-signals@8.0.1", "", {}, "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ=="], "husky": ["husky@9.1.7", "", { "bin": { "husky": "bin.js" } }, "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA=="], "hyperdyperid": ["hyperdyperid@1.2.0", "", {}, "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A=="], - "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + "iconv-lite": ["iconv-lite@0.7.0", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ=="], "icss-utils": ["icss-utils@5.1.0", "", { "peerDependencies": { "postcss": "^8.1.0" } }, "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA=="], @@ -5481,6 +5477,8 @@ "is-buffer": ["is-buffer@1.1.6", "", {}, "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="], + "is-bun-module": ["is-bun-module@2.0.0", "", { "dependencies": { "semver": "^7.7.1" } }, "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ=="], + "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="], "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], @@ -5539,7 +5537,7 @@ "is-path-inside": ["is-path-inside@3.0.3", "", {}, "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ=="], - "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + "is-plain-obj": ["is-plain-obj@3.0.0", "", {}, "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA=="], "is-plain-object": ["is-plain-object@5.0.0", "", {}, "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="], @@ -5565,6 +5563,8 @@ "is-string": ["is-string@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA=="], + "is-subdir": ["is-subdir@1.2.0", "", { "dependencies": { "better-path-resolve": "1.0.0" } }, "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw=="], + "is-symbol": ["is-symbol@1.1.1", "", { "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", "safe-regex-test": "^1.1.0" } }, "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w=="], "is-text-path": ["is-text-path@2.0.0", "", { "dependencies": { "text-extensions": "^2.0.0" } }, "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw=="], @@ -5587,6 +5587,8 @@ "is-whitespace": ["is-whitespace@0.3.0", "", {}, "sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg=="], + "is-windows": ["is-windows@1.0.2", "", {}, "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="], + "is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], "is64bit": ["is64bit@2.0.0", "", { "dependencies": { "system-architecture": "^0.1.0" } }, "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw=="], @@ -5819,7 +5821,7 @@ "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], - "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], + "lines-and-columns": ["lines-and-columns@2.0.4", "", {}, "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A=="], "linkify-it": ["linkify-it@5.0.0", "", { "dependencies": { "uc.micro": "^2.0.0" } }, "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ=="], @@ -5901,7 +5903,7 @@ "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], - "lucide-react": ["lucide-react@0.546.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Z94u6fKT43lKeYHiVyvyR8fT7pwCzDu7RyMPpTvh054+xahSgj4HFQ+NmflvzdXsoAjYGdCguGaFKYuvq0ThCQ=="], + "lucide-react": ["lucide-react@0.545.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-7r1/yUuflQDSt4f1bpn5ZAocyIxcTyVyBBChSVtBKn5M+392cPmI5YJMWOJKk/HUWGm5wg83chlAZtCcGbEZtw=="], "lynx-intlayer": ["lynx-intlayer@workspace:packages/lynx-intlayer"], @@ -6259,7 +6261,7 @@ "node-mock-http": ["node-mock-http@1.0.3", "", {}, "sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog=="], - "node-releases": ["node-releases@2.0.25", "", {}, "sha512-4auku8B/vw5psvTiiN9j1dAOsXvMoGqJuKJcR+dTdqiXEK20mMTk1UEo3HS16LeGQsVG6+qKTPM9u/qQ2LqATA=="], + "node-releases": ["node-releases@2.0.23", "", {}, "sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg=="], "nopt": ["nopt@7.2.1", "", { "dependencies": { "abbrev": "^2.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w=="], @@ -6361,17 +6363,21 @@ "ordered-binary": ["ordered-binary@1.6.0", "", {}, "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ=="], + "outdent": ["outdent@0.5.0", "", {}, "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q=="], + "own-keys": ["own-keys@1.0.1", "", { "dependencies": { "get-intrinsic": "^1.2.6", "object-keys": "^1.1.1", "safe-push-apply": "^1.0.0" } }, "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg=="], "oxc-parser": ["oxc-parser@0.76.0", "", { "dependencies": { "@oxc-project/types": "^0.76.0" }, "optionalDependencies": { "@oxc-parser/binding-android-arm64": "0.76.0", "@oxc-parser/binding-darwin-arm64": "0.76.0", "@oxc-parser/binding-darwin-x64": "0.76.0", "@oxc-parser/binding-freebsd-x64": "0.76.0", "@oxc-parser/binding-linux-arm-gnueabihf": "0.76.0", "@oxc-parser/binding-linux-arm-musleabihf": "0.76.0", "@oxc-parser/binding-linux-arm64-gnu": "0.76.0", "@oxc-parser/binding-linux-arm64-musl": "0.76.0", "@oxc-parser/binding-linux-riscv64-gnu": "0.76.0", "@oxc-parser/binding-linux-s390x-gnu": "0.76.0", "@oxc-parser/binding-linux-x64-gnu": "0.76.0", "@oxc-parser/binding-linux-x64-musl": "0.76.0", "@oxc-parser/binding-wasm32-wasi": "0.76.0", "@oxc-parser/binding-win32-arm64-msvc": "0.76.0", "@oxc-parser/binding-win32-x64-msvc": "0.76.0" } }, "sha512-l98B2e9evuhES7zN99rb1QGhbzx25829TJFaKi2j0ib3/K/G5z1FdGYz6HZkrU3U8jdH7v2FC8mX1j2l9JrOUg=="], "p-cancelable": ["p-cancelable@3.0.0", "", {}, "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw=="], - "p-limit": ["p-limit@6.2.0", "", { "dependencies": { "yocto-queue": "^1.1.1" } }, "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA=="], + "p-filter": ["p-filter@2.1.0", "", { "dependencies": { "p-map": "^2.0.0" } }, "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw=="], + + "p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], - "p-map": ["p-map@7.0.3", "", {}, "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA=="], + "p-map": ["p-map@2.1.0", "", {}, "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="], "p-queue": ["p-queue@8.1.1", "", { "dependencies": { "eventemitter3": "^5.0.1", "p-timeout": "^6.1.2" } }, "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ=="], @@ -6387,7 +6393,7 @@ "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], - "package-manager-detector": ["package-manager-detector@1.4.1", "", {}, "sha512-dSMiVLBEA4XaNJ0PRb4N5cV/SEP4BWrWZKBmfF+OUm2pQTiZ6DDkKeWaltwu3JRhLoy59ayIkJ00cx9K9CaYTg=="], + "package-manager-detector": ["package-manager-detector@0.2.11", "", { "dependencies": { "quansync": "^0.2.7" } }, "sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ=="], "pacote": ["pacote@20.0.0", "", { "dependencies": { "@npmcli/git": "^6.0.0", "@npmcli/installed-package-contents": "^3.0.0", "@npmcli/package-json": "^6.0.0", "@npmcli/promise-spawn": "^8.0.0", "@npmcli/run-script": "^9.0.0", "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", "npm-package-arg": "^12.0.0", "npm-packlist": "^9.0.0", "npm-pick-manifest": "^10.0.0", "npm-registry-fetch": "^18.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "sigstore": "^3.0.0", "ssri": "^12.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "bin/index.js" } }, "sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A=="], @@ -6651,8 +6657,6 @@ "prettier": ["prettier@3.6.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ=="], - "prettier-plugin-packagejson": ["prettier-plugin-packagejson@2.5.19", "", { "dependencies": { "sort-package-json": "3.4.0", "synckit": "0.11.11" }, "peerDependencies": { "prettier": ">= 1.16.0" }, "optionalPeers": ["prettier"] }, "sha512-Qsqp4+jsZbKMpEGZB1UP1pxeAT8sCzne2IwnKkr+QhUe665EXUo3BAvTf1kAPCqyMv9kg3ZmO0+7eOni/C6Uag=="], - "pretty": ["pretty@2.0.0", "", { "dependencies": { "condense-newlines": "^0.2.1", "extend-shallow": "^2.0.1", "js-beautify": "^1.6.12" } }, "sha512-G9xUchgTEiNpormdYBl+Pha50gOUovT18IvAe7EYMZ1/f9W/WWMPRn+xI68yXNMUk3QXHDwo/1wV/4NejVNe1w=="], "pretty-bytes": ["pretty-bytes@5.6.0", "", {}, "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg=="], @@ -6773,7 +6777,7 @@ "react-error-overlay": ["react-error-overlay@6.1.0", "", {}, "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ=="], - "react-hook-form": ["react-hook-form@7.65.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-xtOzDz063WcXvGWaHgLNrNzlsdFgtUWcb32E6WFaGTd7kPZG3EeDusjdZfUsPwKCKVXy1ZlntifaHZ4l8pAsmw=="], + "react-hook-form": ["react-hook-form@7.63.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17 || ^18 || ^19" } }, "sha512-ZwueDMvUeucovM2VjkCf7zIHcs1aAlDimZu2Hvel5C5907gUzMpm4xCrQXtRzCvsBqFjonB4m3x4LzCFI1ZKWA=="], "react-intlayer": ["react-intlayer@workspace:packages/react-intlayer"], @@ -6797,7 +6801,7 @@ "react-router": ["react-router@7.9.3", "", { "dependencies": { "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-4o2iWCFIwhI/eYAIL43+cjORXYn/aRQPgtFRRZb3VzoyQ5Uej0Bmqj7437L97N9NJW4wnicSwLOLS+yCXfAPgg=="], - "react-router-dom": ["react-router-dom@7.4.0", "", { "dependencies": { "react-router": "7.4.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-VlksBPf3n2bijPvnA7nkTsXxMAKOj+bWp4R9c3i+bnwlSOFAGOkJkKhzy/OsRkWaBMICqcAl1JDzh9ZSOze9CA=="], + "react-router-dom": ["react-router-dom@7.7.1", "", { "dependencies": { "react-router": "7.7.1" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-bavdk2BA5r3MYalGKZ01u8PGuDBloQmzpBZVhDLrOOv1N943Wq6dcM9GhB3x8b7AbqPMEezauv4PeGkAJfy7FQ=="], "react-router-intlayer": ["react-router-intlayer@workspace:examples/react-router-app"], @@ -6817,6 +6821,8 @@ "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="], + "read-yaml-file": ["read-yaml-file@1.1.0", "", { "dependencies": { "graceful-fs": "^4.1.5", "js-yaml": "^3.6.1", "pify": "^4.0.1", "strip-bom": "^3.0.0" } }, "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA=="], + "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], "readdir-glob": ["readdir-glob@1.1.3", "", { "dependencies": { "minimatch": "^5.1.0" } }, "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA=="], @@ -7057,7 +7063,7 @@ "shell-quote": ["shell-quote@1.8.3", "", {}, "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw=="], - "shiki": ["shiki@3.13.0", "", { "dependencies": { "@shikijs/core": "3.13.0", "@shikijs/engine-javascript": "3.13.0", "@shikijs/engine-oniguruma": "3.13.0", "@shikijs/langs": "3.13.0", "@shikijs/themes": "3.13.0", "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g=="], + "shiki": ["shiki@3.2.1", "", { "dependencies": { "@shikijs/core": "3.2.1", "@shikijs/engine-javascript": "3.2.1", "@shikijs/engine-oniguruma": "3.2.1", "@shikijs/langs": "3.2.1", "@shikijs/themes": "3.2.1", "@shikijs/types": "3.2.1", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-VML/2o1/KGYkEf/stJJ+s9Ypn7jUKQPomGLGYso4JJFMFxVDyPNsjsI3MB3KLjlMOeH44gyaPdXC6rik2WXvUQ=="], "shimmer": ["shimmer@1.2.1", "", {}, "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw=="], @@ -7121,10 +7127,6 @@ "sort-keys-length": ["sort-keys-length@1.0.1", "", { "dependencies": { "sort-keys": "^1.0.0" } }, "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw=="], - "sort-object-keys": ["sort-object-keys@1.1.3", "", {}, "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg=="], - - "sort-package-json": ["sort-package-json@3.4.0", "", { "dependencies": { "detect-indent": "^7.0.1", "detect-newline": "^4.0.1", "git-hooks-list": "^4.0.0", "is-plain-obj": "^4.1.0", "semver": "^7.7.1", "sort-object-keys": "^1.1.3", "tinyglobby": "^0.2.12" }, "bin": { "sort-package-json": "cli.js" } }, "sha512-97oFRRMM2/Js4oEA9LJhjyMlde+2ewpZQf53pgue27UkbEXfHJnDzHlUxQ/DWUkzqmp7DFwJp8D+wi/TYeQhpA=="], - "source-list-map": ["source-list-map@2.0.1", "", {}, "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="], "source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], @@ -7143,6 +7145,8 @@ "spawn-rx": ["spawn-rx@5.1.2", "", { "dependencies": { "debug": "^4.3.7", "rxjs": "^7.8.1" } }, "sha512-/y7tJKALVZ1lPzeZZB9jYnmtrL7d0N2zkorii5a7r7dhHkWIuLTzZpZzMJLK1dmYRgX/NCc4iarTO3F7BS2c/A=="], + "spawndamnit": ["spawndamnit@3.0.1", "", { "dependencies": { "cross-spawn": "^7.0.5", "signal-exit": "^4.0.1" } }, "sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg=="], + "spdx-correct": ["spdx-correct@3.2.0", "", { "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA=="], "spdx-exceptions": ["spdx-exceptions@2.5.0", "", {}, "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="], @@ -7167,6 +7171,8 @@ "stable": ["stable@0.1.8", "", {}, "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="], + "stable-hash": ["stable-hash@0.0.5", "", {}, "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA=="], + "stack-chain": ["stack-chain@1.3.7", "", {}, "sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug=="], "stack-trace": ["stack-trace@0.0.10", "", {}, "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg=="], @@ -7321,6 +7327,8 @@ "tempy": ["tempy@0.6.0", "", { "dependencies": { "is-stream": "^2.0.0", "temp-dir": "^2.0.0", "type-fest": "^0.16.0", "unique-string": "^2.0.0" } }, "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw=="], + "term-size": ["term-size@2.2.1", "", {}, "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg=="], + "terminal-link": ["terminal-link@2.1.1", "", { "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" } }, "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ=="], "terser": ["terser@5.39.0", "", { "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, "bin": { "terser": "bin/terser" } }, "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw=="], @@ -7537,7 +7545,7 @@ "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="], - "unist-util-is": ["unist-util-is@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g=="], + "unist-util-is": ["unist-util-is@6.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw=="], "unist-util-modify-children": ["unist-util-modify-children@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "array-iterate": "^2.0.0" } }, "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw=="], @@ -7553,9 +7561,9 @@ "unist-util-visit-children": ["unist-util-visit-children@3.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA=="], - "unist-util-visit-parents": ["unist-util-visit-parents@6.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ=="], + "unist-util-visit-parents": ["unist-util-visit-parents@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw=="], - "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + "universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], @@ -7689,8 +7697,6 @@ "vue-router": ["vue-router@4.5.1", "", { "dependencies": { "@vue/devtools-api": "^6.6.4" }, "peerDependencies": { "vue": "^3.2.0" } }, "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw=="], - "vue-tsc": ["vue-tsc@3.1.1", "", { "dependencies": { "@volar/typescript": "2.4.23", "@vue/language-core": "3.1.1" }, "peerDependencies": { "typescript": ">=5.0.0" }, "bin": { "vue-tsc": "./bin/vue-tsc.js" } }, "sha512-fyixKxFniOVgn+L/4+g8zCG6dflLLt01Agz9jl3TO45Bgk87NZJRmJVPsiK+ouq3LB91jJCbOV+pDkzYTxbI7A=="], - "w3c-hr-time": ["w3c-hr-time@1.0.2", "", { "dependencies": { "browser-process-hrtime": "^1.0.0" } }, "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ=="], "w3c-xmlserializer": ["w3c-xmlserializer@5.0.0", "", { "dependencies": { "xml-name-validator": "^5.0.0" } }, "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA=="], @@ -7987,6 +7993,8 @@ "@angular/compiler-cli/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + "@angular/compiler-cli/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "@angular/compiler-cli/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], "@angular/compiler-cli/typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], @@ -8007,10 +8015,14 @@ "@asamuzakjp/css-color/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + "@astrojs/markdown-remark/shiki": ["shiki@3.13.0", "", { "dependencies": { "@shikijs/core": "3.13.0", "@shikijs/engine-javascript": "3.13.0", "@shikijs/engine-oniguruma": "3.13.0", "@shikijs/langs": "3.13.0", "@shikijs/themes": "3.13.0", "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g=="], + "@astrojs/react/@vitejs/plugin-react": ["@vitejs/plugin-react@4.7.0", "", { "dependencies": { "@babel/core": "^7.28.0", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-beta.27", "@types/babel__core": "^7.20.5", "react-refresh": "^0.17.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA=="], "@astrojs/react/vite": ["vite@6.4.0", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-oLnWs9Hak/LOlKjeSpOwD6JMks8BeICEdYMJBf6P4Lac/pO9tKiv/XhXnAM7nNfSkZahjlCZu9sS50zL8fSnsw=="], + "@astrojs/telemetry/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "@astrojs/telemetry/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], "@astrojs/telemetry/is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], @@ -8019,64 +8031,28 @@ "@astrojs/vue/vite": ["vite@6.4.0", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-oLnWs9Hak/LOlKjeSpOwD6JMks8BeICEdYMJBf6P4Lac/pO9tKiv/XhXnAM7nNfSkZahjlCZu9sS50zL8fSnsw=="], - "@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@babel/eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@2.1.0", "", {}, "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="], "@babel/eslint-parser/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@babel/helper-create-class-features-plugin/@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="], - "@babel/helper-create-class-features-plugin/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@babel/helper-create-regexp-features-plugin/@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="], "@babel/helper-create-regexp-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "@babel/helper-member-expression-to-functions/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/helper-module-imports/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/helper-module-transforms/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "@babel/helper-remap-async-to-generator/@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="], - "@babel/helper-remap-async-to-generator/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/helper-replace-supers/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/helper-skip-transparent-expression-wrappers/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/helper-wrap-function/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "@babel/highlight/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], - "@babel/plugin-bugfix-firefox-class-in-computed-class-key/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/plugin-transform-async-generator-functions/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "@babel/plugin-transform-classes/@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="], - "@babel/plugin-transform-classes/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/plugin-transform-destructuring/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/plugin-transform-function-name/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/plugin-transform-modules-systemjs/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@babel/plugin-transform-object-rest-spread/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "@babel/plugin-transform-private-property-in-object/@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="], "@babel/plugin-transform-react-jsx/@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="], @@ -8089,15 +8065,15 @@ "@babel/preset-env/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "@babel/template/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@changesets/apply-release-plan/prettier": ["prettier@2.8.8", "", { "bin": { "prettier": "bin-prettier.js" } }, "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="], - "@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@changesets/changelog-github/dotenv": ["dotenv@8.6.0", "", {}, "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g=="], - "@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@changesets/get-github-info/node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], - "@babel/traverse--for-generate-function-map/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@changesets/parse/js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="], - "@babel/traverse--for-generate-function-map/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@changesets/write/prettier": ["prettier@2.8.8", "", { "bin": { "prettier": "bin-prettier.js" } }, "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="], "@chromatic-com/storybook/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], @@ -8115,6 +8091,8 @@ "@craco/types/@jest/types": ["@jest/types@27.5.1", "", { "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", "@types/yargs": "^16.0.0", "chalk": "^4.0.0" } }, "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw=="], + "@craco/types/webpack": ["webpack@5.100.2", "", { "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.15.0", "acorn-import-phases": "^1.0.3", "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.2", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.2", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" } }, "sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw=="], + "@cspotcode/source-map-support/@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.9", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ=="], "@emnapi/core/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], @@ -8137,8 +8115,6 @@ "@expo/cli/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "@expo/cli/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "@expo/cli/glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], "@expo/cli/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], @@ -8149,7 +8125,7 @@ "@expo/cli/picomatch": ["picomatch@3.0.1", "", {}, "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag=="], - "@expo/cli/send": ["send@0.19.0", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "2.4.1", "range-parser": "~1.2.1", "statuses": "2.0.1" } }, "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw=="], + "@expo/cli/send": ["send@0.19.1", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "2.4.1", "range-parser": "~1.2.1", "statuses": "2.0.1" } }, "sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg=="], "@expo/cli/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], @@ -8193,10 +8169,6 @@ "@expo/metro/metro-resolver": ["metro-resolver@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-t8j46kiILAqqFS5RNa+xpQyVjULxRxlvMidqUswPEk5nQVNdlJslqizDm/Et3v/JKwOtQGkYAQCHxP1zGStR/g=="], - "@expo/metro-config/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "@expo/metro-config/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - "@expo/metro-config/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], "@expo/metro-config/dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], @@ -8249,23 +8221,21 @@ "@inquirer/expand/@inquirer/type": ["@inquirer/type@3.0.9", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w=="], - "@inquirer/external-editor/iconv-lite": ["iconv-lite@0.7.0", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ=="], - "@inquirer/input/@inquirer/type": ["@inquirer/type@3.0.9", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w=="], "@inquirer/number/@inquirer/type": ["@inquirer/type@3.0.9", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w=="], "@inquirer/password/@inquirer/type": ["@inquirer/type@3.0.9", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w=="], - "@inquirer/prompts/@inquirer/confirm": ["@inquirer/confirm@5.1.19", "", { "dependencies": { "@inquirer/core": "^10.3.0", "@inquirer/type": "^3.0.9" }, "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-wQNz9cfcxrtEnUyG5PndC8g3gZ7lGDBzmWiXZkX8ot3vfZ+/BLjR8EvyGX4YzQLeVqtAlY/YScZpW7CW8qMoDQ=="], - "@inquirer/rawlist/@inquirer/type": ["@inquirer/type@3.0.9", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w=="], "@inquirer/search/@inquirer/type": ["@inquirer/type@3.0.9", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w=="], "@inquirer/select/@inquirer/type": ["@inquirer/type@3.0.9", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w=="], - "@intlayer/editor-react/@types/react-dom": ["@types/react-dom@19.2.2", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw=="], + "@intlayer/design-system/better-auth": ["better-auth@1.3.16", "", { "dependencies": { "@better-auth/utils": "0.3.0", "@better-fetch/fetch": "^1.1.18", "@noble/ciphers": "^2.0.0", "@noble/hashes": "^2.0.0", "@simplewebauthn/browser": "^13.1.2", "@simplewebauthn/server": "^13.1.2", "better-call": "1.0.19", "defu": "^6.1.4", "jose": "^6.1.0", "kysely": "^0.28.5", "nanostores": "^1.0.1", "zod": "^4.1.5" }, "peerDependencies": { "@lynx-js/react": "*", "@sveltejs/kit": "^2.0.0", "next": "^14.0.0 || ^15.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", "solid-js": "^1.0.0", "svelte": "^4.0.0 || ^5.0.0", "vue": "^3.0.0" }, "optionalPeers": ["@lynx-js/react", "@sveltejs/kit", "next", "react", "react-dom", "solid-js", "svelte", "vue"] }, "sha512-WHU3QTtkBdwMlzM4AbOSoti0aPVTw1IfdomNCcP9Mo0J03ENn7z2a6/Vz9fimHmjpVWMqRvW72cYcc30LLFFOw=="], + + "@intlayer/design-system/concurrently": ["concurrently@9.2.0", "", { "dependencies": { "chalk": "^4.1.2", "lodash": "^4.17.21", "rxjs": "^7.8.1", "shell-quote": "^1.8.1", "supports-color": "^8.1.1", "tree-kill": "^1.2.2", "yargs": "^17.7.2" }, "bin": { "conc": "dist/bin/concurrently.js", "concurrently": "dist/bin/concurrently.js" } }, "sha512-IsB/fiXTupmagMW4MNp2lx2cdSN2FfZq78vF90LBB+zZHArbIQZjQtzXCiXnvTxCZSvXanTqFLWBjw2UkLx1SQ=="], "@intlayer/mcp/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], @@ -8289,6 +8259,8 @@ "@jest/core/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "@jest/core/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "@jest/core/jest-message-util": ["jest-message-util@30.1.0", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@jest/types": "30.0.5", "@types/stack-utils": "^2.0.3", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", "micromatch": "^4.0.8", "pretty-format": "30.0.5", "slash": "^3.0.0", "stack-utils": "^2.0.6" } }, "sha512-HizKDGG98cYkWmaLUHChq4iN+oCENohQLb7Z5guBPumYs+/etonmNFlg1Ps6yN9LTPyZn+M+b/9BbnHx3WTMDg=="], "@jest/core/jest-resolve": ["jest-resolve@30.1.3", "", { "dependencies": { "chalk": "^4.1.2", "graceful-fs": "^4.2.11", "jest-haste-map": "30.1.0", "jest-pnp-resolver": "^1.2.3", "jest-util": "30.0.5", "jest-validate": "30.1.0", "slash": "^3.0.0", "unrs-resolver": "^1.7.11" } }, "sha512-DI4PtTqzw9GwELFS41sdMK32Ajp3XZQ8iygeDMWkxlRhm7uUTOFSZFVZABFuxr0jvspn8MAYy54NxZCsuCTSOw=="], @@ -8329,12 +8301,8 @@ "@jest/snapshot-utils/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "@jest/transform/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "@jest/transform/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "@jest/transform/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "@jest/transform/jest-util": ["jest-util@30.0.5", "", { "dependencies": { "@jest/types": "30.0.5", "@types/node": "*", "chalk": "^4.1.2", "ci-info": "^4.2.0", "graceful-fs": "^4.2.11", "picomatch": "^4.0.2" } }, "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g=="], "@jest/types/@jest/schemas": ["@jest/schemas@30.0.5", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA=="], @@ -8349,6 +8317,16 @@ "@lynx-js/rspeedy/@rsbuild/core": ["@rsbuild/core@1.5.13", "", { "dependencies": { "@rspack/core": "1.5.8", "@rspack/lite-tapable": "~1.0.1", "@swc/helpers": "^0.5.17", "core-js": "~3.45.1", "jiti": "^2.6.0" }, "bin": { "rsbuild": "bin/rsbuild.js" } }, "sha512-P+TCvZCVpBYZ3GDdnzR/tZKicE41khJIqIRlJYnEc9dwUfX1/eqRf8lA8yrsbB5iZbSfj1iOoH1N25cCQ3hhuA=="], + "@manypkg/find-root/@types/node": ["@types/node@12.20.55", "", {}, "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ=="], + + "@manypkg/find-root/find-up": ["find-up@4.1.0", "", { "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="], + + "@manypkg/find-root/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], + + "@manypkg/get-packages/@changesets/types": ["@changesets/types@4.1.0", "", {}, "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw=="], + + "@manypkg/get-packages/fs-extra": ["fs-extra@8.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="], + "@mapbox/node-pre-gyp/node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], "@mapbox/node-pre-gyp/nopt": ["nopt@8.1.0", "", { "dependencies": { "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A=="], @@ -8365,19 +8343,17 @@ "@microsoft/tsdoc-config/ajv": ["ajv@8.12.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA=="], - "@modelcontextprotocol/inspector/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.20.1", "", { "dependencies": { "ajv": "^6.12.6", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-j/P+yuxXfgxb+mW7OEoRCM3G47zCTDqUPivJo/VzpjbG8I9csTXtOprCf5FfOfHK4whOJny0aHuBEON+kS7CCA=="], + "@modelcontextprotocol/inspector/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.20.0", "", { "dependencies": { "ajv": "^6.12.6", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-kOQ4+fHuT4KbR2iq2IjeV32HiihueuOf1vJkq18z08CLZ1UQrTc8BXJpVfxZkq45+inLLD+D4xx4nBjUelJa4Q=="], "@modelcontextprotocol/inspector/open": ["open@10.2.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "wsl-utils": "^0.1.0" } }, "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA=="], "@modelcontextprotocol/inspector/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "@modelcontextprotocol/inspector-cli/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.20.1", "", { "dependencies": { "ajv": "^6.12.6", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-j/P+yuxXfgxb+mW7OEoRCM3G47zCTDqUPivJo/VzpjbG8I9csTXtOprCf5FfOfHK4whOJny0aHuBEON+kS7CCA=="], + "@modelcontextprotocol/inspector-cli/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.20.0", "", { "dependencies": { "ajv": "^6.12.6", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-kOQ4+fHuT4KbR2iq2IjeV32HiihueuOf1vJkq18z08CLZ1UQrTc8BXJpVfxZkq45+inLLD+D4xx4nBjUelJa4Q=="], "@modelcontextprotocol/inspector-cli/commander": ["commander@13.1.0", "", {}, "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw=="], - "@modelcontextprotocol/inspector-client/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.20.1", "", { "dependencies": { "ajv": "^6.12.6", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-j/P+yuxXfgxb+mW7OEoRCM3G47zCTDqUPivJo/VzpjbG8I9csTXtOprCf5FfOfHK4whOJny0aHuBEON+kS7CCA=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select": ["@radix-ui/react-select@2.1.4", "", { "dependencies": { "@radix-ui/number": "1.1.0", "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-dismissable-layer": "1.1.3", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.1", "@radix-ui/react-id": "1.1.0", "@radix-ui/react-popper": "1.2.1", "@radix-ui/react-portal": "1.1.3", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-slot": "1.1.1", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", "@radix-ui/react-visually-hidden": "1.1.1", "aria-hidden": "^1.1.1", "react-remove-scroll": "^2.6.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-pOkb2u8KgO47j/h7AylCj7dJsm69BXcjkrvTqMptFqsE2i0p8lHkfgneXKjAgPzBMivnoMyt8o4KiV4wYzDdyQ=="], + "@modelcontextprotocol/inspector-client/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.20.0", "", { "dependencies": { "ajv": "^6.12.6", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-kOQ4+fHuT4KbR2iq2IjeV32HiihueuOf1vJkq18z08CLZ1UQrTc8BXJpVfxZkq45+inLLD+D4xx4nBjUelJa4Q=="], "@modelcontextprotocol/inspector-client/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], @@ -8389,7 +8365,7 @@ "@modelcontextprotocol/inspector-client/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "@modelcontextprotocol/inspector-server/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.20.1", "", { "dependencies": { "ajv": "^6.12.6", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-j/P+yuxXfgxb+mW7OEoRCM3G47zCTDqUPivJo/VzpjbG8I9csTXtOprCf5FfOfHK4whOJny0aHuBEON+kS7CCA=="], + "@modelcontextprotocol/inspector-server/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.20.0", "", { "dependencies": { "ajv": "^6.12.6", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.0.1", "express-rate-limit": "^7.5.0", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.23.8", "zod-to-json-schema": "^3.24.1" } }, "sha512-kOQ4+fHuT4KbR2iq2IjeV32HiihueuOf1vJkq18z08CLZ1UQrTc8BXJpVfxZkq45+inLLD+D4xx4nBjUelJa4Q=="], "@modelcontextprotocol/inspector-server/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], @@ -8429,6 +8405,8 @@ "@nestjs/testing/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@next/eslint-plugin-next/fast-glob": ["fast-glob@3.3.1", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" } }, "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg=="], + "@ngtools/webpack/typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], "@npmcli/agent/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], @@ -8477,6 +8455,8 @@ "@nuxt/telemetry/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + "@nuxt/telemetry/package-manager-detector": ["package-manager-detector@1.4.1", "", {}, "sha512-dSMiVLBEA4XaNJ0PRb4N5cV/SEP4BWrWZKBmfF+OUm2pQTiZ6DDkKeWaltwu3JRhLoy59ayIkJ00cx9K9CaYTg=="], + "@nuxt/vite-builder/@nuxt/kit": ["@nuxt/kit@3.17.7", "", { "dependencies": { "c12": "^3.0.4", "consola": "^3.4.2", "defu": "^6.1.4", "destr": "^2.0.5", "errx": "^0.1.0", "exsolve": "^1.0.7", "ignore": "^7.0.5", "jiti": "^2.4.2", "klona": "^2.0.6", "knitwork": "^1.2.0", "mlly": "^1.7.4", "ohash": "^2.0.11", "pathe": "^2.0.3", "pkg-types": "^2.2.0", "scule": "^1.3.0", "semver": "^7.7.2", "std-env": "^3.9.0", "tinyglobby": "^0.2.14", "ufo": "^1.6.1", "unctx": "^2.4.1", "unimport": "^5.1.0", "untyped": "^2.0.0" } }, "sha512-JLno3ur7Pix2o/StxIMlEHRkMawA6h7uzjZBDgxdeKXRWTYY8ID9YekSkN4PBlEFGXBfCBOcPd5+YqcyBUAMkw=="], "@nuxt/vite-builder/@vitejs/plugin-vue": ["@vitejs/plugin-vue@5.2.4", "", { "peerDependencies": { "vite": "^5.0.0 || ^6.0.0", "vue": "^3.2.25" } }, "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA=="], @@ -8531,21 +8511,99 @@ "@preact/preset-vite/vite": ["vite@6.4.0", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-oLnWs9Hak/LOlKjeSpOwD6JMks8BeICEdYMJBf6P4Lac/pO9tKiv/XhXnAM7nNfSkZahjlCZu9sS50zL8fSnsw=="], - "@prefresh/vite/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "@prefresh/vite/@rollup/pluginutils": ["@rollup/pluginutils@4.2.1", "", { "dependencies": { "estree-walker": "^2.0.1", "picomatch": "^2.2.2" } }, "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ=="], - "@react-native/babel-plugin-codegen/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "@radix-ui/react-arrow/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.0.1", "", { "dependencies": { "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg=="], - "@react-native/babel-plugin-codegen/@react-native/codegen": ["@react-native/codegen@0.81.4", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/parser": "^7.25.3", "glob": "^7.1.1", "hermes-parser": "0.29.1", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "yargs": "^17.6.2" } }, "sha512-LWTGUTzFu+qOQnvkzBP52B90Ym3stZT8IFCzzUrppz8Iwglg83FCtDZAR4yLHI29VY/x/+pkcWAMCl3739XHdw=="], + "@radix-ui/react-checkbox/@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ=="], - "@react-native/babel-preset/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], + "@radix-ui/react-checkbox/@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], - "@react-native/babel-preset/react-refresh": ["react-refresh@0.14.2", "", {}, "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA=="], + "@radix-ui/react-collection/@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw=="], + + "@radix-ui/react-collection/@radix-ui/react-context": ["@radix-ui/react-context@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q=="], + + "@radix-ui/react-collection/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.0.1", "", { "dependencies": { "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg=="], + + "@radix-ui/react-collection/@radix-ui/react-slot": ["@radix-ui/react-slot@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g=="], + + "@radix-ui/react-dismissable-layer/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + + "@radix-ui/react-focus-scope/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + + "@radix-ui/react-id/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@radix-ui/react-popover/@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.8", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", "@radix-ui/react-use-size": "1.1.1", "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw=="], + + "@radix-ui/react-popper/@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw=="], + + "@radix-ui/react-popper/@radix-ui/react-context": ["@radix-ui/react-context@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q=="], + + "@radix-ui/react-popper/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.0.1", "", { "dependencies": { "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg=="], + + "@radix-ui/react-portal/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@radix-ui/react-presence/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@radix-ui/react-roving-focus/@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw=="], + + "@radix-ui/react-roving-focus/@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw=="], + + "@radix-ui/react-roving-focus/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + + "@radix-ui/react-select/@radix-ui/primitive": ["@radix-ui/primitive@1.1.1", "", {}, "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA=="], + + "@radix-ui/react-select/@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw=="], + + "@radix-ui/react-select/@radix-ui/react-context": ["@radix-ui/react-context@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q=="], + + "@radix-ui/react-select/@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-escape-keydown": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg=="], + + "@radix-ui/react-select/@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg=="], + + "@radix-ui/react-select/@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA=="], + + "@radix-ui/react-select/@radix-ui/react-id": ["@radix-ui/react-id@1.1.0", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA=="], + + "@radix-ui/react-select/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.3", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw=="], + + "@radix-ui/react-select/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.0.1", "", { "dependencies": { "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg=="], + + "@radix-ui/react-select/@radix-ui/react-slot": ["@radix-ui/react-slot@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g=="], + + "@radix-ui/react-select/@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.1.0", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw=="], - "@react-native/codegen/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], + "@radix-ui/react-switch/@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ=="], - "@react-native/codegen/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@radix-ui/react-switch/@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], + + "@radix-ui/react-tabs/@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw=="], + + "@radix-ui/react-toast/@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw=="], + + "@radix-ui/react-toast/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + + "@radix-ui/react-toast/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@radix-ui/react-toast/@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.2.3", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug=="], + + "@radix-ui/react-tooltip/@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.8", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", "@radix-ui/react-use-size": "1.1.1", "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw=="], + + "@radix-ui/react-tooltip/@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.2.3", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug=="], + + "@radix-ui/react-use-controllable-state/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@radix-ui/react-use-effect-event/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@radix-ui/react-use-escape-keydown/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + + "@radix-ui/react-visually-hidden/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.0.1", "", { "dependencies": { "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg=="], + + "@react-native/babel-plugin-codegen/@react-native/codegen": ["@react-native/codegen@0.81.4", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/parser": "^7.25.3", "glob": "^7.1.1", "hermes-parser": "0.29.1", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "yargs": "^17.6.2" } }, "sha512-LWTGUTzFu+qOQnvkzBP52B90Ym3stZT8IFCzzUrppz8Iwglg83FCtDZAR4yLHI29VY/x/+pkcWAMCl3739XHdw=="], + + "@react-native/babel-preset/babel-plugin-syntax-hermes-parser": ["babel-plugin-syntax-hermes-parser@0.29.1", "", { "dependencies": { "hermes-parser": "0.29.1" } }, "sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA=="], + + "@react-native/babel-preset/react-refresh": ["react-refresh@0.14.2", "", {}, "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA=="], "@react-native/codegen/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], @@ -8561,14 +8619,6 @@ "@react-native/dev-middleware/ws": ["ws@6.2.3", "", { "dependencies": { "async-limiter": "~1.0.0" } }, "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA=="], - "@react-router/dev/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "@react-router/dev/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@react-router/dev/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@react-router/dev/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "@react-router/dev/arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], "@react-router/dev/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], @@ -8639,8 +8689,6 @@ "@rsdoctor/utils/fs-extra": ["fs-extra@11.3.2", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A=="], - "@rsdoctor/utils/lines-and-columns": ["lines-and-columns@2.0.4", "", {}, "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A=="], - "@rushstack/node-core-library/ajv": ["ajv@8.13.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.4.1" } }, "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA=="], "@rushstack/node-core-library/ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], @@ -8653,6 +8701,14 @@ "@schematics/angular/@angular-devkit/core": ["@angular-devkit/core@19.2.15", "", { "dependencies": { "ajv": "8.17.1", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", "picomatch": "4.0.2", "rxjs": "7.8.1", "source-map": "0.7.4" }, "peerDependencies": { "chokidar": "^4.0.0" }, "optionalPeers": ["chokidar"] }, "sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA=="], + "@shikijs/engine-javascript/@shikijs/types": ["@shikijs/types@3.2.1", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA=="], + + "@shikijs/engine-oniguruma/@shikijs/types": ["@shikijs/types@3.2.1", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA=="], + + "@shikijs/langs/@shikijs/types": ["@shikijs/types@3.2.1", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA=="], + + "@shikijs/themes/@shikijs/types": ["@shikijs/types@3.2.1", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA=="], + "@storybook/addon-actions/@types/uuid": ["@types/uuid@9.0.8", "", {}, "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA=="], "@storybook/addon-actions/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], @@ -8677,10 +8733,6 @@ "@surma/rollup-plugin-off-main-thread/magic-string": ["magic-string@0.25.9", "", { "dependencies": { "sourcemap-codec": "^1.4.8" } }, "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ=="], - "@svgr/plugin-jsx/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "@svgr/webpack/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "@svgr/webpack/loader-utils": ["loader-utils@2.0.4", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" } }, "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw=="], "@swc/cli/commander": ["commander@8.3.0", "", {}, "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="], @@ -8719,16 +8771,8 @@ "@tailwindcss/vite/tailwindcss": ["tailwindcss@4.1.13", "", {}, "sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w=="], - "@tanstack/directive-functions-plugin/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "@tanstack/directive-functions-plugin/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "@tanstack/directive-functions-plugin/@tanstack/router-utils": ["@tanstack/router-utils@1.131.2", "", { "dependencies": { "@babel/core": "^7.27.4", "@babel/generator": "^7.27.5", "@babel/parser": "^7.27.5", "@babel/preset-typescript": "^7.27.1", "ansis": "^4.1.0", "diff": "^8.0.2" } }, "sha512-sr3x0d2sx9YIJoVth0QnfEcAcl+39sQYaNQxThtHmRpyeFYNyM2TTH+Ud3TNEnI3bbzmLYEUD+7YqB987GzhDA=="], - "@tanstack/query-persist-client-core/@tanstack/query-core": ["@tanstack/query-core@5.90.2", "", {}, "sha512-k/TcR3YalnzibscALLwxeiLUub6jN5EDLwKDiO7q5f4ICEoptJ+n9+7vcEFy5/x/i6Q+Lb/tXrsKCggf5uQJXQ=="], - - "@tanstack/query-sync-storage-persister/@tanstack/query-core": ["@tanstack/query-core@5.90.2", "", {}, "sha512-k/TcR3YalnzibscALLwxeiLUub6jN5EDLwKDiO7q5f4ICEoptJ+n9+7vcEFy5/x/i6Q+Lb/tXrsKCggf5uQJXQ=="], - "@tanstack/react-router-devtools/@tanstack/react-router": ["@tanstack/react-router@1.131.7", "", { "dependencies": { "@tanstack/history": "1.131.2", "@tanstack/react-store": "^0.7.0", "@tanstack/router-core": "1.131.7", "isbot": "^5.1.22", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-V6ASdkXrNJKyTXjLnLgzc2jdh9ymx5bWczO5b3OXAvhzpcwzN5yX+jPdE6vFrnTPJqrrRkjxCEWwVJVAtIZJWg=="], "@tanstack/react-start-client/@tanstack/react-router": ["@tanstack/react-router@1.131.7", "", { "dependencies": { "@tanstack/history": "1.131.2", "@tanstack/react-store": "^0.7.0", "@tanstack/router-core": "1.131.7", "isbot": "^5.1.22", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, "peerDependencies": { "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" } }, "sha512-V6ASdkXrNJKyTXjLnLgzc2jdh9ymx5bWczO5b3OXAvhzpcwzN5yX+jPdE6vFrnTPJqrrRkjxCEWwVJVAtIZJWg=="], @@ -8749,27 +8793,13 @@ "@tanstack/router-core/cookie-es": ["cookie-es@1.2.2", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="], - "@tanstack/router-devtools-core/@tanstack/router-core": ["@tanstack/router-core@1.133.3", "", { "dependencies": { "@tanstack/history": "1.133.3", "@tanstack/store": "^0.7.0", "cookie-es": "^2.0.0", "seroval": "^1.3.2", "seroval-plugins": "^1.3.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" } }, "sha512-S9vigHZ+eOz197cHd5tRNHk2OUieBJJB7TKFGHf8bWcAYEV5XU/dsC2CD9HbToLgjP9xWkh3ogAfvEW1rEA9hw=="], + "@tanstack/router-devtools-core/@tanstack/router-core": ["@tanstack/router-core@1.132.47", "", { "dependencies": { "@tanstack/history": "1.132.31", "@tanstack/store": "^0.7.0", "cookie-es": "^2.0.0", "seroval": "^1.3.2", "seroval-plugins": "^1.3.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" } }, "sha512-8YKFHmG6VUqXaWAJzEqjyW6w31dARS2USd2mtI5ZeZcihqMbskK28N4iotBXNn+sSKJnPRjc7A4jTnnEf8Mn8Q=="], - "@tanstack/router-generator/@tanstack/router-core": ["@tanstack/router-core@1.133.3", "", { "dependencies": { "@tanstack/history": "1.133.3", "@tanstack/store": "^0.7.0", "cookie-es": "^2.0.0", "seroval": "^1.3.2", "seroval-plugins": "^1.3.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" } }, "sha512-S9vigHZ+eOz197cHd5tRNHk2OUieBJJB7TKFGHf8bWcAYEV5XU/dsC2CD9HbToLgjP9xWkh3ogAfvEW1rEA9hw=="], + "@tanstack/router-generator/@tanstack/router-core": ["@tanstack/router-core@1.132.47", "", { "dependencies": { "@tanstack/history": "1.132.31", "@tanstack/store": "^0.7.0", "cookie-es": "^2.0.0", "seroval": "^1.3.2", "seroval-plugins": "^1.3.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" } }, "sha512-8YKFHmG6VUqXaWAJzEqjyW6w31dARS2USd2mtI5ZeZcihqMbskK28N4iotBXNn+sSKJnPRjc7A4jTnnEf8Mn8Q=="], "@tanstack/router-generator/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "@tanstack/router-plugin/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "@tanstack/router-plugin/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@tanstack/router-plugin/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - - "@tanstack/router-utils/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "@tanstack/router-utils/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/router-utils/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@tanstack/server-functions-plugin/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "@tanstack/server-functions-plugin/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "@tanstack/router-plugin/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], "@tanstack/start-client-core/@tanstack/router-core": ["@tanstack/router-core@1.131.7", "", { "dependencies": { "@tanstack/history": "1.131.2", "@tanstack/store": "^0.7.0", "cookie-es": "^1.2.2", "seroval": "^1.3.2", "seroval-plugins": "^1.3.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" } }, "sha512-NpFfAG1muv4abrCij6sEtRrVzlU+xYpY30NAgquHNhMMMNIiN7djzsaGV+vCJdR4u5mi13+f0c3f+f9MdekY5A=="], @@ -8777,8 +8807,6 @@ "@tanstack/start-plugin-core/@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="], - "@tanstack/start-plugin-core/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "@tanstack/start-plugin-core/@tanstack/router-core": ["@tanstack/router-core@1.131.7", "", { "dependencies": { "@tanstack/history": "1.131.2", "@tanstack/store": "^0.7.0", "cookie-es": "^1.2.2", "seroval": "^1.3.2", "seroval-plugins": "^1.3.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" } }, "sha512-NpFfAG1muv4abrCij6sEtRrVzlU+xYpY30NAgquHNhMMMNIiN7djzsaGV+vCJdR4u5mi13+f0c3f+f9MdekY5A=="], "@tanstack/start-plugin-core/@tanstack/router-generator": ["@tanstack/router-generator@1.131.7", "", { "dependencies": { "@tanstack/router-core": "1.131.7", "@tanstack/router-utils": "1.131.2", "@tanstack/virtual-file-routes": "1.131.2", "prettier": "^3.5.0", "recast": "^0.23.11", "source-map": "^0.7.4", "tsx": "^4.19.2", "zod": "^3.24.2" } }, "sha512-djwY5O1LdJo300EOZiYog5RsjB1DYzFtgX6a3uOkAmii7LHX9k9mhFXx2KrI4dLHLQsnlKexV9QvU6cSTFmsag=="], @@ -8819,16 +8847,10 @@ "@tybys/wasm-util/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "@types/babel__core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@types/babel__template/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "@types/jest/pretty-format": ["pretty-format@30.2.0", "", { "dependencies": { "@jest/schemas": "30.0.5", "ansi-styles": "^5.2.0", "react-is": "^18.3.1" } }, "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA=="], "@types/minimatch/minimatch": ["minimatch@10.0.3", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw=="], - "@types/next-pwa/@types/react-dom": ["@types/react-dom@19.2.2", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw=="], - "@types/next-pwa/next": ["next@13.5.11", "", { "dependencies": { "@next/env": "13.5.11", "@swc/helpers": "0.5.2", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001406", "postcss": "8.4.31", "styled-jsx": "5.1.1", "watchpack": "2.4.0" }, "optionalDependencies": { "@next/swc-darwin-arm64": "13.5.9", "@next/swc-darwin-x64": "13.5.9", "@next/swc-linux-arm64-gnu": "13.5.9", "@next/swc-linux-arm64-musl": "13.5.9", "@next/swc-linux-x64-gnu": "13.5.9", "@next/swc-linux-x64-musl": "13.5.9", "@next/swc-win32-arm64-msvc": "13.5.9", "@next/swc-win32-ia32-msvc": "13.5.9", "@next/swc-win32-x64-msvc": "13.5.9" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-WUPJ6WbAX9tdC86kGTu92qkrRdgRqVrY++nwM+shmWQwmyxt4zhZfR59moXSI4N8GDYCBY3lIAqhzjDd4rTC8Q=="], "@typescript-eslint/eslint-plugin/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], @@ -8837,34 +8859,24 @@ "@unrs/resolver-binding-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@0.2.12", "", { "dependencies": { "@emnapi/core": "^1.4.3", "@emnapi/runtime": "^1.4.3", "@tybys/wasm-util": "^0.10.0" } }, "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ=="], + "@utils/tsdown-config/esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], + "@vercel/nft/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], "@vercel/nft/glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], "@vitejs/plugin-basic-ssl/vite": ["vite@6.4.0", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-oLnWs9Hak/LOlKjeSpOwD6JMks8BeICEdYMJBf6P4Lac/pO9tKiv/XhXnAM7nNfSkZahjlCZu9sS50zL8fSnsw=="], - "@vitejs/plugin-react/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "@vitejs/plugin-react-swc/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.35", "", {}, "sha512-slYrCpoxJUqzFDDNlvrOYRazQUNRvWPjXA17dAOISY3rDMxX6k8K4cj2H+hEYMHF81HO3uNd5rHVigAWRM5dSg=="], "@vitejs/plugin-vue/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.29", "", {}, "sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q=="], - "@vitejs/plugin-vue-jsx/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "@vitejs/plugin-vue-jsx/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.43", "", {}, "sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ=="], "@vitejs/plugin-vue-jsx/vite": ["vite@6.4.0", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-oLnWs9Hak/LOlKjeSpOwD6JMks8BeICEdYMJBf6P4Lac/pO9tKiv/XhXnAM7nNfSkZahjlCZu9sS50zL8fSnsw=="], - "@vue/babel-plugin-jsx/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@vue/babel-plugin-resolve-type/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@vue/compiler-core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "@vue/compiler-core/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], - "@vue/compiler-sfc/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "@vue/compiler-sfc/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], "@vue/compiler-sfc/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], @@ -8923,17 +8935,21 @@ "asn1js/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "ast-kit/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "ast-types/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "ast-walker-scope/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "astro/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], "astro/cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], "astro/diff": ["diff@5.2.0", "", {}, "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A=="], - "astro/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], + "astro/esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], + + "astro/p-limit": ["p-limit@6.2.0", "", { "dependencies": { "yocto-queue": "^1.1.1" } }, "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA=="], + + "astro/package-manager-detector": ["package-manager-detector@1.4.1", "", {}, "sha512-dSMiVLBEA4XaNJ0PRb4N5cV/SEP4BWrWZKBmfF+OUm2pQTiZ6DDkKeWaltwu3JRhLoy59ayIkJ00cx9K9CaYTg=="], + + "astro/shiki": ["shiki@3.13.0", "", { "dependencies": { "@shikijs/core": "3.13.0", "@shikijs/engine-javascript": "3.13.0", "@shikijs/engine-oniguruma": "3.13.0", "@shikijs/langs": "3.13.0", "@shikijs/themes": "3.13.0", "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g=="], "astro/tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], @@ -8941,11 +8957,7 @@ "astro/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - "babel-dead-code-elimination/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "babel-dead-code-elimination/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "babel-dead-code-elimination/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "astro-react-app/@types/react-dom": ["@types/react-dom@19.2.0", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-brtBs0MnE9SMx7px208g39lRmC5uHZs96caOJfTjFcYSLHNamvaSMfJNagChVNkup2SdtOxKX1FDBkRSJe1ZAg=="], "babel-jest/@jest/transform": ["@jest/transform@27.5.1", "", { "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^27.5.1", "jest-regex-util": "^27.5.1", "jest-util": "^27.5.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" } }, "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw=="], @@ -8955,15 +8967,15 @@ "babel-jest/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "babel-plugin-jsx-dom-expressions/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "babel-plugin-jsx-dom-expressions/@babel/helper-module-imports": ["@babel/helper-module-imports@7.18.6", "", { "dependencies": { "@babel/types": "^7.18.6" } }, "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="], "babel-plugin-jsx-dom-expressions/html-entities": ["html-entities@2.3.3", "", {}, "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA=="], "babel-plugin-polyfill-corejs2/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "babel-preset-react-app/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], + "babel-plugin-syntax-hermes-parser/hermes-parser": ["hermes-parser@0.32.0", "", { "dependencies": { "hermes-estree": "0.32.0" } }, "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw=="], + + "babel-preset-expo/babel-plugin-syntax-hermes-parser": ["babel-plugin-syntax-hermes-parser@0.29.1", "", { "dependencies": { "hermes-parser": "0.29.1" } }, "sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA=="], "babel-preset-react-app/@babel/plugin-proposal-private-property-in-object": ["@babel/plugin-proposal-private-property-in-object@7.21.11", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-create-class-features-plugin": "^7.21.0", "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw=="], @@ -8973,6 +8985,8 @@ "bin-version/execa": ["execa@5.1.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="], + "body-parser/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + "boxen/camelcase": ["camelcase@8.0.0", "", {}, "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA=="], "boxen/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], @@ -8989,6 +9003,8 @@ "cacache/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + "cacache/p-map": ["p-map@7.0.3", "", {}, "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA=="], + "cacheable-request/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], "caller-callsite/callsites": ["callsites@2.0.0", "", {}, "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ=="], @@ -9083,8 +9099,6 @@ "del/globby": ["globby@6.1.0", "", { "dependencies": { "array-union": "^1.0.1", "glob": "^7.0.3", "object-assign": "^4.0.1", "pify": "^2.0.0", "pinkie-promise": "^2.0.0" } }, "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw=="], - "del/p-map": ["p-map@2.1.0", "", {}, "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="], - "del/rimraf": ["rimraf@2.7.1", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "./bin.js" } }, "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="], "detect-port-alt/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], @@ -9099,6 +9113,10 @@ "editorconfig/minimatch": ["minimatch@9.0.1", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w=="], + "encoding/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + + "encoding-sniffer/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + "engine.io/accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], "engine.io/debug": ["debug@4.3.7", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ=="], @@ -9107,8 +9125,6 @@ "ent/punycode": ["punycode@1.4.1", "", {}, "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="], - "escodegen/estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - "escodegen/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "eslint/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], @@ -9127,7 +9143,7 @@ "eslint/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], - "eslint-config-react-app/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], + "eslint-config-react-app/eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@4.6.2", "", { "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ=="], "eslint-import-resolver-node/debug": ["debug@3.2.7", "", { "dependencies": { "ms": "^2.1.1" } }, "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="], @@ -9143,28 +9159,24 @@ "eslint-plugin-import/tsconfig-paths": ["tsconfig-paths@3.15.0", "", { "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } }, "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg=="], - "eslint-plugin-jsx-a11y/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], - "eslint-plugin-react/doctrine": ["doctrine@2.1.0", "", { "dependencies": { "esutils": "^2.0.2" } }, "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw=="], - "eslint-plugin-react/estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - "eslint-plugin-react/resolve": ["resolve@2.0.0-next.5", "", { "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA=="], "eslint-plugin-react/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "eslint-scope/estraverse": ["estraverse@4.3.0", "", {}, "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="], + "eslint-webpack-plugin/jest-worker": ["jest-worker@28.1.3", "", { "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g=="], "espree/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], - "esquery/estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - - "esrecurse/estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - "example-pages-router/@types/node": ["@types/node@20.14.5", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA=="], "execa/@sindresorhus/merge-streams": ["@sindresorhus/merge-streams@4.0.0", "", {}, "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ=="], + "execa/is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + "execa/is-stream": ["is-stream@4.0.1", "", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="], "expect/jest-matcher-utils": ["jest-matcher-utils@30.2.0", "", { "dependencies": { "@jest/get-type": "30.1.0", "chalk": "^4.1.2", "jest-diff": "30.2.0", "pretty-format": "30.2.0" } }, "sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg=="], @@ -9207,6 +9219,8 @@ "fork-ts-checker-webpack-plugin/cosmiconfig": ["cosmiconfig@8.3.6", "", { "dependencies": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "peerDependencies": { "typescript": ">=4.9.5" }, "optionalPeers": ["typescript"] }, "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA=="], + "fork-ts-checker-webpack-plugin/fs-extra": ["fs-extra@10.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ=="], + "fork-ts-checker-webpack-plugin/memfs": ["memfs@3.6.0", "", { "dependencies": { "fs-monkey": "^1.0.4" } }, "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ=="], "fork-ts-checker-webpack-plugin/schema-utils": ["schema-utils@3.3.0", "", { "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg=="], @@ -9215,6 +9229,8 @@ "framer-motion/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], + "get-stream/is-stream": ["is-stream@4.0.1", "", {}, "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A=="], "get-uri/data-uri-to-buffer": ["data-uri-to-buffer@6.0.2", "", {}, "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw=="], @@ -9257,8 +9273,6 @@ "http-proxy-middleware/@types/express": ["@types/express@4.17.23", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "*" } }, "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ=="], - "http-proxy-middleware/is-plain-obj": ["is-plain-obj@3.0.0", "", {}, "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA=="], - "ignore-walk/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], "import-fresh/resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], @@ -9267,8 +9281,12 @@ "intlayer-cli/webpack": ["webpack@5.98.0", "", { "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.14.0", "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { "webpack": "bin/webpack.js" } }, "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA=="], + "intlayer-editor/@types/react-dom": ["@types/react-dom@19.2.0", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-brtBs0MnE9SMx7px208g39lRmC5uHZs96caOJfTjFcYSLHNamvaSMfJNagChVNkup2SdtOxKX1FDBkRSJe1ZAg=="], + "intlayer-editor/@vitejs/plugin-react": ["@vitejs/plugin-react@5.0.3", "", { "dependencies": { "@babel/core": "^7.28.4", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-beta.35", "@types/babel__core": "^7.20.5", "react-refresh": "^0.17.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-PFVHhosKkofGH0Yzrw1BipSedTH68BFF8ZWy1kfUpCtJcouXXY0+racG8sExw7hw0HoX36813ga5o3LTWZ4FUg=="], + "intlayer-editor/react-router-dom": ["react-router-dom@7.4.0", "", { "dependencies": { "react-router": "7.4.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-VlksBPf3n2bijPvnA7nkTsXxMAKOj+bWp4R9c3i+bnwlSOFAGOkJkKhzy/OsRkWaBMICqcAl1JDzh9ZSOze9CA=="], + "intlayer-editor/vite": ["vite@7.1.9", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg=="], "is-inside-container/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], @@ -9277,10 +9295,6 @@ "is-path-in-cwd/is-path-inside": ["is-path-inside@2.1.0", "", { "dependencies": { "path-is-inside": "^1.0.2" } }, "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg=="], - "istanbul-lib-instrument/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "istanbul-lib-report/make-dir": ["make-dir@4.0.0", "", { "dependencies": { "semver": "^7.5.3" } }, "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw=="], "istanbul-lib-report/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], @@ -9315,12 +9329,12 @@ "jest-cli/jest-util": ["jest-util@30.0.5", "", { "dependencies": { "@jest/types": "30.0.5", "@types/node": "*", "chalk": "^4.1.2", "ci-info": "^4.2.0", "graceful-fs": "^4.2.11", "picomatch": "^4.0.2" } }, "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g=="], - "jest-config/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "jest-config/babel-jest": ["babel-jest@30.1.2", "", { "dependencies": { "@jest/transform": "30.1.2", "@types/babel__core": "^7.20.5", "babel-plugin-istanbul": "^7.0.0", "babel-preset-jest": "30.0.1", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", "slash": "^3.0.0" }, "peerDependencies": { "@babel/core": "^7.11.0" } }, "sha512-IQCus1rt9kaSh7PQxLYRY5NmkNrNlU2TpabzwV7T2jljnpdHOcmnYYv8QmE04Li4S3a2Lj8/yXyET5pBarPr6g=="], "jest-config/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "jest-config/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "jest-config/glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], "jest-config/jest-environment-node": ["jest-environment-node@30.1.2", "", { "dependencies": { "@jest/environment": "30.1.2", "@jest/fake-timers": "30.1.2", "@jest/types": "30.0.5", "@types/node": "*", "jest-mock": "30.0.5", "jest-util": "30.0.5", "jest-validate": "30.1.0" } }, "sha512-w8qBiXtqGWJ9xpJIA98M0EIoq079GOQRQUyse5qg1plShUCQ0Ek1VTTcczqKrn3f24TFAgFtT+4q3aOXvjbsuA=="], @@ -9335,8 +9349,6 @@ "jest-diff/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], - "jest-docblock/detect-newline": ["detect-newline@3.1.0", "", {}, "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA=="], - "jest-each/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], "jest-each/jest-util": ["jest-util@30.0.5", "", { "dependencies": { "@jest/types": "30.0.5", "@types/node": "*", "chalk": "^4.1.2", "ci-info": "^4.2.0", "graceful-fs": "^4.2.11", "picomatch": "^4.0.2" } }, "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g=="], @@ -9447,10 +9459,6 @@ "jest-runtime/strip-bom": ["strip-bom@4.0.0", "", {}, "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="], - "jest-snapshot/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "jest-snapshot/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - "jest-snapshot/@jest/expect-utils": ["@jest/expect-utils@30.1.2", "", { "dependencies": { "@jest/get-type": "30.1.0" } }, "sha512-HXy1qT/bfdjCv7iC336ExbqqYtZvljrV8odNdso7dWK9bSeHtLlvwWWC3YSybSPL03Gg5rug6WLCZAZFH72m0A=="], "jest-snapshot/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], @@ -9471,8 +9479,6 @@ "jest-util/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "jest-validate/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], @@ -9499,6 +9505,8 @@ "js-beautify/glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], + "jsonfile/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + "jsonpath/esprima": ["esprima@1.2.2", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A=="], "karma/@colors/colors": ["@colors/colors@1.5.0", "", {}, "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="], @@ -9543,8 +9551,6 @@ "lower-case/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "magicast/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "make-dir/semver": ["semver@5.7.2", "", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], "make-fetch-happen/negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], @@ -9553,14 +9559,6 @@ "memfs/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "metro/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "metro/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "metro/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "metro/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "metro/accepts": ["accepts@1.3.8", "", { "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" } }, "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw=="], "metro/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], @@ -9579,8 +9577,6 @@ "metro/ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - "metro-babel-transformer/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "metro-config/cosmiconfig": ["cosmiconfig@5.2.1", "", { "dependencies": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.13.1", "parse-json": "^4.0.0" } }, "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA=="], "metro-config/jest-validate": ["jest-validate@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.6.3", "leven": "^3.1.0", "pretty-format": "^29.7.0" } }, "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw=="], @@ -9589,24 +9585,10 @@ "metro-file-map/jest-worker": ["jest-worker@29.7.0", "", { "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw=="], - "metro-source-map/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "metro-source-map/source-map": ["source-map@0.5.7", "", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], "metro-symbolicate/source-map": ["source-map@0.5.7", "", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], - "metro-transform-plugins/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "metro-transform-plugins/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "metro-transform-plugins/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "metro-transform-worker/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "metro-transform-worker/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "metro-transform-worker/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "minipass-flush/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], @@ -9623,6 +9605,8 @@ "multer/type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], + "needle/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + "nest-app/@types/express": ["@types/express@5.0.0", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^5.0.0", "@types/qs": "*", "@types/serve-static": "*" } }, "sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ=="], "nest-app/globals": ["globals@16.0.0", "", {}, "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A=="], @@ -9631,8 +9615,6 @@ "next-intl/negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], - "next-intlayer/@types/react-dom": ["@types/react-dom@19.2.2", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw=="], - "next-pwa/babel-loader": ["babel-loader@8.4.1", "", { "dependencies": { "find-cache-dir": "^3.3.1", "loader-utils": "^2.0.4", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, "peerDependencies": { "@babel/core": "^7.0.0", "webpack": ">=2" } }, "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA=="], "nextjs-15-app/@types/react-dom": ["@types/react-dom@19.1.9", "", { "peerDependencies": { "@types/react": "^19.0.0" } }, "sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ=="], @@ -9707,6 +9689,8 @@ "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], + "parse-json/lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], + "parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], "pascal-case/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], @@ -9745,8 +9729,6 @@ "pwa-asset-generator/slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="], - "raw-body/iconv-lite": ["iconv-lite@0.7.0", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ=="], - "raw-loader/loader-utils": ["loader-utils@2.0.4", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" } }, "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw=="], "raw-loader/schema-utils": ["schema-utils@3.3.0", "", { "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } }, "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg=="], @@ -9767,6 +9749,8 @@ "react-app-example/@types/react-dom": ["@types/react-dom@19.1.9", "", { "peerDependencies": { "@types/react": "^19.0.0" } }, "sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ=="], + "react-app-example/react-router-dom": ["react-router-dom@7.4.0", "", { "dependencies": { "react-router": "7.4.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-VlksBPf3n2bijPvnA7nkTsXxMAKOj+bWp4R9c3i+bnwlSOFAGOkJkKhzy/OsRkWaBMICqcAl1JDzh9ZSOze9CA=="], + "react-app-example/tailwindcss": ["tailwindcss@4.0.8", "", {}, "sha512-Me7N5CKR+D2A1xdWA5t5+kjjT7bwnxZOE6/yDI/ixJdJokszsn2n++mdU5yJwrsTpqFX2B9ZNMBJDwcqk9C9lw=="], "react-app-polyfill/regenerator-runtime": ["regenerator-runtime@0.13.11", "", {}, "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="], @@ -9781,24 +9765,16 @@ "react-devtools-core/ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - "react-docgen/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "react-docgen/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "react-email/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-email/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], "react-email/commander": ["commander@13.1.0", "", {}, "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw=="], - "react-intlayer/@types/react-dom": ["@types/react-dom@19.2.2", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw=="], + "react-email/esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], "react-konva/scheduler": ["scheduler@0.26.0", "", {}, "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="], "react-native/babel-jest": ["babel-jest@29.7.0", "", { "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.6.3", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" } }, "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg=="], - "react-native/babel-plugin-syntax-hermes-parser": ["babel-plugin-syntax-hermes-parser@0.32.0", "", { "dependencies": { "hermes-parser": "0.32.0" } }, "sha512-m5HthL++AbyeEA2FcdwOLfVFvWYECOBObLHNqdR8ceY4TsEdn4LdX2oTvbB2QJSSElE2AWA/b2MXZ/PF/CqLZg=="], - "react-native/commander": ["commander@12.1.0", "", {}, "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA=="], "react-native/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], @@ -9821,27 +9797,25 @@ "react-router/cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], - "react-router-dom/react-router": ["react-router@7.4.0", "", { "dependencies": { "@types/cookie": "^0.6.0", "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0", "turbo-stream": "2.4.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-Y2g5ObjkvX3VFeVt+0CIPuYd9PpgqCslG7ASSIdN73LwA1nNWzcMLaoMRJfP3prZFI92svxFwbn7XkLJ+UPQ6A=="], + "react-router-dom/react-router": ["react-router@7.7.1", "", { "dependencies": { "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-jVKHXoWRIsD/qS6lvGveckwb862EekvapdHJN/cGmzw40KnJH5gg53ujOJ4qX6EKIK9LSBfFed/xiQ5yeXNrUA=="], "react-router-intlayer/@tailwindcss/vite": ["@tailwindcss/vite@4.1.4", "", { "dependencies": { "@tailwindcss/node": "4.1.4", "@tailwindcss/oxide": "4.1.4", "tailwindcss": "4.1.4" }, "peerDependencies": { "vite": "^5.2.0 || ^6" } }, "sha512-4UQeMrONbvrsXKXXp/uxmdEN5JIJ9RkH7YVzs6AMxC/KC1+Np7WZBaNIco7TEjlkthqxZbt8pU/ipD+hKjm80A=="], "react-router-intlayer/@types/node": ["@types/node@20.14.5", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA=="], - "react-router-intlayer/react-router-dom": ["react-router-dom@7.7.1", "", { "dependencies": { "react-router": "7.7.1" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-bavdk2BA5r3MYalGKZ01u8PGuDBloQmzpBZVhDLrOOv1N943Wq6dcM9GhB3x8b7AbqPMEezauv4PeGkAJfy7FQ=="], + "react-router-intlayer/@types/react-dom": ["@types/react-dom@19.2.0", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-brtBs0MnE9SMx7px208g39lRmC5uHZs96caOJfTjFcYSLHNamvaSMfJNagChVNkup2SdtOxKX1FDBkRSJe1ZAg=="], "react-router-intlayer/tailwindcss": ["tailwindcss@4.1.4", "", {}, "sha512-1ZIUqtPITFbv/DxRmDr5/agPqJwF69d24m9qmM1939TJehgY539CtzeZRjbLt5G6fSy/7YqqYsfvoTEw9xUI2A=="], - "react-scripts/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "react-scripts/babel-loader": ["babel-loader@8.4.1", "", { "dependencies": { "find-cache-dir": "^3.3.1", "loader-utils": "^2.0.4", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, "peerDependencies": { "@babel/core": "^7.0.0", "webpack": ">=2" } }, "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA=="], "react-scripts/css-loader": ["css-loader@6.11.0", "", { "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", "postcss-modules-extract-imports": "^3.1.0", "postcss-modules-local-by-default": "^4.0.5", "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "webpack": "^5.0.0" }, "optionalPeers": ["@rspack/core", "webpack"] }, "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g=="], "react-scripts/dotenv": ["dotenv@10.0.0", "", {}, "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q=="], - "react-scripts/jest": ["jest@27.5.1", "", { "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", "jest-cli": "^27.5.1" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"], "bin": { "jest": "bin/jest.js" } }, "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ=="], + "react-scripts/fs-extra": ["fs-extra@10.1.0", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ=="], - "react-scripts/mini-css-extract-plugin": ["mini-css-extract-plugin@2.9.4", "", { "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" }, "peerDependencies": { "webpack": "^5.0.0" } }, "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ=="], + "react-scripts/jest": ["jest@27.5.1", "", { "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", "jest-cli": "^27.5.1" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"], "bin": { "jest": "bin/jest.js" } }, "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ=="], "react-scripts/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], @@ -9859,6 +9833,8 @@ "react-scripts/tailwindcss": ["tailwindcss@3.4.18", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.7", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ=="], + "react-scripts/webpack": ["webpack@5.100.2", "", { "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.15.0", "acorn-import-phases": "^1.0.3", "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.2", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.2", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.3.3" }, "bin": { "webpack": "bin/webpack.js" } }, "sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw=="], + "react-scripts/webpack-dev-server": ["webpack-dev-server@4.15.2", "", { "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", "@types/express": "^4.17.13", "@types/serve-index": "^1.9.1", "@types/serve-static": "^1.13.10", "@types/sockjs": "^0.3.33", "@types/ws": "^8.5.5", "ansi-html-community": "^0.0.8", "bonjour-service": "^1.0.11", "chokidar": "^3.5.3", "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", "default-gateway": "^6.0.3", "express": "^4.17.3", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", "http-proxy-middleware": "^2.0.3", "ipaddr.js": "^2.0.1", "launch-editor": "^2.6.0", "open": "^8.0.9", "p-retry": "^4.5.0", "rimraf": "^3.0.2", "schema-utils": "^4.0.0", "selfsigned": "^2.1.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" }, "peerDependencies": { "webpack": "^4.37.0 || ^5.0.0" }, "optionalPeers": ["webpack"], "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" } }, "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g=="], "react-scripts-intlayer/webpack": ["webpack@5.98.0", "", { "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", "acorn": "^8.14.0", "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^4.3.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { "webpack": "bin/webpack.js" } }, "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA=="], @@ -9867,6 +9843,8 @@ "read-cache/pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], + "read-yaml-file/js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="], + "readdir-glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], "readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], @@ -9885,6 +9863,8 @@ "requireg/resolve": ["resolve@1.7.1", "", { "dependencies": { "path-parse": "^1.0.5" } }, "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw=="], + "resolve-url-loader/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "resolve-url-loader/loader-utils": ["loader-utils@2.0.4", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" } }, "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw=="], "resolve-url-loader/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], @@ -9895,10 +9875,6 @@ "rolldown/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.43", "", {}, "sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ=="], - "rolldown-plugin-dts/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "rolldown-plugin-dts/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "rollup-plugin-terser/jest-worker": ["jest-worker@26.6.2", "", { "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" } }, "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ=="], "rollup-plugin-terser/rollup": ["rollup@2.79.2", "", { "optionalDependencies": { "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ=="], @@ -9929,6 +9905,10 @@ "serve-index/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + "shiki/@shikijs/core": ["@shikijs/core@3.2.1", "", { "dependencies": { "@shikijs/types": "3.2.1", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-FhsdxMWYu/C11sFisEp7FMGBtX/OSSbnXZDMBhGuUDBNTdsoZlMSgQv5f90rwvzWAdWIW6VobD+G3IrazxA6dQ=="], + + "shiki/@shikijs/types": ["@shikijs/types@3.2.1", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA=="], + "simple-plist/bplist-parser": ["bplist-parser@0.3.1", "", { "dependencies": { "big-integer": "1.6.x" } }, "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA=="], "slice-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], @@ -9947,10 +9927,10 @@ "sockjs/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], - "solid-refresh/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - "sort-keys/is-plain-obj": ["is-plain-obj@1.1.0", "", {}, "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg=="], + "source-map-loader/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + "source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "stack-utils/escape-string-regexp": ["escape-string-regexp@2.0.0", "", {}, "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="], @@ -9963,6 +9943,10 @@ "string-length/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + "string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + "strip-dirs/is-plain-obj": ["is-plain-obj@1.1.0", "", {}, "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg=="], "strip-literal/js-tokens": ["js-tokens@9.0.1", "", {}, "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ=="], @@ -9971,6 +9955,8 @@ "sucrase/glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], + "sucrase/lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], + "superagent/mime": ["mime@2.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="], "superjson/copy-anything": ["copy-anything@3.0.5", "", { "dependencies": { "is-what": "^4.1.8" } }, "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w=="], @@ -9989,6 +9975,8 @@ "svgo/sax": ["sax@1.2.4", "", {}, "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="], + "tanstack-start-intlayer/@types/react-dom": ["@types/react-dom@19.2.0", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-brtBs0MnE9SMx7px208g39lRmC5uHZs96caOJfTjFcYSLHNamvaSMfJNagChVNkup2SdtOxKX1FDBkRSJe1ZAg=="], + "tanstack-start-intlayer/@vitejs/plugin-react": ["@vitejs/plugin-react@4.3.4", "", { "dependencies": { "@babel/core": "^7.26.0", "@babel/plugin-transform-react-jsx-self": "^7.25.9", "@babel/plugin-transform-react-jsx-source": "^7.25.9", "@types/babel__core": "^7.20.5", "react-refresh": "^0.14.2" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" } }, "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug=="], "tanstack-start-intlayer/jsdom": ["jsdom@26.0.0", "", { "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", "decimal.js": "^10.4.3", "form-data": "^4.0.1", "html-encoding-sniffer": "^4.0.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.16", "parse5": "^7.2.1", "rrweb-cssom": "^0.8.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^5.0.0", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.1.0", "ws": "^8.18.0", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^3.0.0" }, "optionalPeers": ["canvas"] }, "sha512-BZYDGVAIriBWTpIxYzrXjv3E/4u8+/pSG5bQdIYCbNCGOvsPkDQfTVLAIXAf9ETdCpduCVTkDe2NNZ8NIwUVzw=="], @@ -10023,6 +10011,8 @@ "unconfig/jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + "unified/is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + "unimport/unplugin-utils": ["unplugin-utils@0.3.1", "", { "dependencies": { "pathe": "^2.0.3", "picomatch": "^4.0.3" } }, "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog=="], "unplugin-vue-router/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], @@ -10039,12 +10029,10 @@ "use-sidecar/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "v8-to-istanbul/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], "vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - "vite-intlayer/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "vite-plugin-checker/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], "vite-plugin-checker/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], @@ -10057,24 +10045,22 @@ "vite-plugin-inspect/vite": ["vite@6.4.0", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-oLnWs9Hak/LOlKjeSpOwD6JMks8BeICEdYMJBf6P4Lac/pO9tKiv/XhXnAM7nNfSkZahjlCZu9sS50zL8fSnsw=="], - "vite-plugin-solid/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "vite-plugin-solid/solid-refresh": ["solid-refresh@0.6.3", "", { "dependencies": { "@babel/generator": "^7.23.6", "@babel/helper-module-imports": "^7.22.15", "@babel/types": "^7.23.6" }, "peerDependencies": { "solid-js": "^1.3" } }, "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA=="], "vite-plugin-solid/vite": ["vite@6.4.0", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-oLnWs9Hak/LOlKjeSpOwD6JMks8BeICEdYMJBf6P4Lac/pO9tKiv/XhXnAM7nNfSkZahjlCZu9sS50zL8fSnsw=="], - "vite-plugin-vue-inspector/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "vite-prerender-plugin/stack-trace": ["stack-trace@1.0.0-pre2", "", {}, "sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A=="], + "vite-react-app-example/@types/react-dom": ["@types/react-dom@19.2.0", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-brtBs0MnE9SMx7px208g39lRmC5uHZs96caOJfTjFcYSLHNamvaSMfJNagChVNkup2SdtOxKX1FDBkRSJe1ZAg=="], + + "vite-react-app-example/react-router-dom": ["react-router-dom@7.4.0", "", { "dependencies": { "react-router": "7.4.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" } }, "sha512-VlksBPf3n2bijPvnA7nkTsXxMAKOj+bWp4R9c3i+bnwlSOFAGOkJkKhzy/OsRkWaBMICqcAl1JDzh9ZSOze9CA=="], + "vite-solid-app-example/vite-plugin-solid": ["vite-plugin-solid@2.11.8", "", { "dependencies": { "@babel/core": "^7.23.3", "@types/babel__core": "^7.20.4", "babel-preset-solid": "^1.8.4", "merge-anything": "^5.1.7", "solid-refresh": "^0.6.3", "vitefu": "^1.0.4" }, "peerDependencies": { "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*", "solid-js": "^1.7.2", "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" }, "optionalPeers": ["@testing-library/jest-dom"] }, "sha512-hFrCxBfv3B1BmFqnJF4JOCYpjrmi/zwyeKjcomQ0khh8HFyQ8SbuBWQ7zGojfrz6HUOBFrJBNySDi/JgAHytWg=="], "vite-svelte-app-example/@sveltejs/vite-plugin-svelte": ["@sveltejs/vite-plugin-svelte@6.2.1", "", { "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", "debug": "^4.4.1", "deepmerge": "^4.3.1", "magic-string": "^0.30.17", "vitefu": "^1.1.1" }, "peerDependencies": { "svelte": "^5.0.0", "vite": "^6.3.0 || ^7.0.0" } }, "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ=="], "vitest/tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], - "vue-tsc/@vue/language-core": ["@vue/language-core@3.1.1", "", { "dependencies": { "@volar/language-core": "2.4.23", "@vue/compiler-dom": "^3.5.0", "@vue/shared": "^3.5.0", "alien-signals": "^3.0.0", "muggle-string": "^0.4.1", "path-browserify": "^1.0.1", "picomatch": "^4.0.2" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-qjMY3Q+hUCjdH+jLrQapqgpsJ0rd/2mAY02lZoHG3VFJZZZKLjAlV+Oo9QmWIT4jh8+Rx8RUGUi++d7T9Wb6Mw=="], - "webpack/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], "webpack-bundle-analyzer/@discoveryjs/json-ext": ["@discoveryjs/json-ext@0.5.7", "", {}, "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw=="], @@ -10101,18 +10087,14 @@ "website/@tailwindcss/postcss": ["@tailwindcss/postcss@4.1.8", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.1.8", "@tailwindcss/oxide": "4.1.8", "postcss": "^8.4.41", "tailwindcss": "4.1.8" } }, "sha512-vB/vlf7rIky+w94aWMw34bWW1ka6g6C3xIOdICKX2GC0VcLtL6fhlLiafF0DVIwa9V6EHz8kbWMkS2s2QvvNlw=="], - "website/@tanstack/react-query": ["@tanstack/react-query@5.90.2", "", { "dependencies": { "@tanstack/query-core": "5.90.2" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-CLABiR+h5PYfOWr/z+vWFt5VsOA2ekQeRQBFSKlcoW6Ndx/f8rfyVmq4LbgOM4GG2qtxAxjLYLOpCNTYm4uKzw=="], + "website/@types/react-dom": ["@types/react-dom@19.2.0", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-brtBs0MnE9SMx7px208g39lRmC5uHZs96caOJfTjFcYSLHNamvaSMfJNagChVNkup2SdtOxKX1FDBkRSJe1ZAg=="], - "website/framer-motion": ["framer-motion@12.23.21", "", { "dependencies": { "motion-dom": "^12.23.21", "motion-utils": "^12.23.6", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-UWDtzzPdRA3UpSNGril5HjUtPF1Uo/BCt5VKG/YQ8tVpSkAZ22+q8o+hYO0C1uDAZuotQjcfzsTsDtQxD46E/Q=="], - - "website/lucide-react": ["lucide-react@0.545.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-7r1/yUuflQDSt4f1bpn5ZAocyIxcTyVyBBChSVtBKn5M+392cPmI5YJMWOJKk/HUWGm5wg83chlAZtCcGbEZtw=="], + "whatwg-encoding/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], "whatwg-url-without-unicode/webidl-conversions": ["webidl-conversions@5.0.0", "", {}, "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA=="], "widest-line/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - "workbox-build/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "workbox-build/@rollup/plugin-node-resolve": ["@rollup/plugin-node-resolve@11.2.1", "", { "dependencies": { "@rollup/pluginutils": "^3.1.0", "@types/resolve": "1.17.1", "builtin-modules": "^3.1.0", "deepmerge": "^4.2.2", "is-module": "^1.0.0", "resolve": "^1.19.0" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0" } }, "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg=="], "workbox-build/@rollup/plugin-replace": ["@rollup/plugin-replace@2.4.2", "", { "dependencies": { "@rollup/pluginutils": "^3.1.0", "magic-string": "^0.25.7" }, "peerDependencies": { "rollup": "^1.20.0 || ^2.0.0" } }, "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg=="], @@ -10161,16 +10143,8 @@ "@angular-devkit/build-angular/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - "@angular-devkit/build-angular/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@angular-devkit/build-angular/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@angular-devkit/build-angular/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "@angular-devkit/build-angular/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "@angular-devkit/build-angular/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "@angular-devkit/build-angular/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.4", "", { "os": "aix", "cpu": "ppc64" }, "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q=="], "@angular-devkit/build-angular/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.4", "", { "os": "android", "cpu": "arm" }, "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ=="], @@ -10287,14 +10261,6 @@ "@angular/build/@angular-devkit/architect/rxjs": ["rxjs@7.8.1", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg=="], - "@angular/build/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@angular/build/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@angular/build/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@angular/build/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "@angular/build/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@angular/build/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.4", "", { "os": "aix", "cpu": "ppc64" }, "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q=="], @@ -10403,57 +10369,29 @@ "@angular/cli/listr2/cli-truncate": ["cli-truncate@4.0.0", "", { "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^7.0.0" } }, "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA=="], - "@angular/compiler-cli/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@angular/compiler-cli/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@angular/compiler-cli/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "@angular/compiler-cli/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], "@angular/compiler-cli/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@angular/compiler-cli/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - "@astrojs/react/@vitejs/plugin-react/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "@astrojs/react/@vitejs/plugin-react/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.27", "", {}, "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA=="], - - "@astrojs/react/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - - "@astrojs/vue/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - - "@babel/helper-create-class-features-plugin/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/helper-create-class-features-plugin/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@babel/helper-member-expression-to-functions/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@astrojs/markdown-remark/shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.3" } }, "sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg=="], - "@babel/helper-member-expression-to-functions/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@astrojs/markdown-remark/shiki/@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg=="], - "@babel/helper-module-imports/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@astrojs/markdown-remark/shiki/@shikijs/langs": ["@shikijs/langs@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0" } }, "sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ=="], - "@babel/helper-module-imports/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@astrojs/markdown-remark/shiki/@shikijs/themes": ["@shikijs/themes@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0" } }, "sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg=="], - "@babel/helper-module-transforms/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/helper-module-transforms/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@babel/helper-remap-async-to-generator/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/helper-remap-async-to-generator/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@babel/helper-replace-supers/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/helper-replace-supers/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@astrojs/react/@vitejs/plugin-react/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.27", "", {}, "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA=="], - "@babel/helper-skip-transparent-expression-wrappers/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@astrojs/react/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], - "@babel/helper-skip-transparent-expression-wrappers/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@astrojs/react/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - "@babel/helper-wrap-function/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@astrojs/vue/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], - "@babel/helper-wrap-function/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@astrojs/vue/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], "@babel/highlight/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], @@ -10461,37 +10399,9 @@ "@babel/highlight/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], - "@babel/plugin-bugfix-firefox-class-in-computed-class-key/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@changesets/get-github-info/node-fetch/whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="], - "@babel/plugin-bugfix-firefox-class-in-computed-class-key/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@babel/plugin-transform-async-generator-functions/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/plugin-transform-async-generator-functions/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@babel/plugin-transform-classes/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/plugin-transform-classes/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@babel/plugin-transform-destructuring/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/plugin-transform-destructuring/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@babel/plugin-transform-function-name/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/plugin-transform-function-name/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@babel/plugin-transform-modules-systemjs/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/plugin-transform-modules-systemjs/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@babel/plugin-transform-object-rest-spread/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@babel/plugin-transform-object-rest-spread/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@changesets/parse/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], "@chromatic-com/storybook/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], @@ -10507,6 +10417,8 @@ "@craco/types/@jest/types/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "@craco/types/webpack/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + "@eslint/eslintrc/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], "@eslint/eslintrc/globals/type-fest": ["type-fest@0.20.2", "", {}, "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="], @@ -10539,8 +10451,6 @@ "@expo/cli/send/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "@expo/cli/send/encodeurl": ["encodeurl@1.0.2", "", {}, "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="], - "@expo/cli/send/fresh": ["fresh@0.5.2", "", {}, "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="], "@expo/cli/send/mime": ["mime@1.6.0", "", { "bin": { "mime": "cli.js" } }, "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="], @@ -10585,16 +10495,6 @@ "@expo/image-utils/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "@expo/metro-config/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@expo/metro-config/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@expo/metro-config/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "@expo/metro-config/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@expo/metro-config/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "@expo/metro-config/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], "@expo/metro-config/dotenv-expand/dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], @@ -10643,9 +10543,9 @@ "@expo/xcpretty/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "@inquirer/prompts/@inquirer/confirm/@inquirer/type": ["@inquirer/type@3.0.9", "", { "peerDependencies": { "@types/node": ">=18" }, "optionalPeers": ["@types/node"] }, "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w=="], + "@intlayer/design-system/concurrently/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + "@intlayer/design-system/concurrently/lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], @@ -10659,6 +10559,8 @@ "@jest/console/jest-message-util/pretty-format": ["pretty-format@30.0.5", "", { "dependencies": { "@jest/schemas": "30.0.5", "ansi-styles": "^5.2.0", "react-is": "^18.3.1" } }, "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw=="], + "@jest/console/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "@jest/core/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], "@jest/core/pretty-format/@jest/schemas": ["@jest/schemas@30.0.5", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA=="], @@ -10691,8 +10593,6 @@ "@jest/fake-timers/jest-util/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "@jest/fake-timers/jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "@jest/fake-timers/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "@jest/globals/@jest/environment/@jest/fake-timers": ["@jest/fake-timers@30.1.2", "", { "dependencies": { "@jest/types": "30.0.5", "@sinonjs/fake-timers": "^13.0.0", "@types/node": "*", "jest-message-util": "30.1.0", "jest-mock": "30.0.5", "jest-util": "30.0.5" } }, "sha512-Beljfv9AYkr9K+ETX9tvV61rJTY706BhBUtiaepQHeEGfe0DbpvUA5Z3fomwc5Xkhns6NWrcFDZn+72fLieUnA=="], @@ -10709,20 +10609,16 @@ "@jest/reporters/jest-message-util/pretty-format": ["pretty-format@30.0.5", "", { "dependencies": { "@jest/schemas": "30.0.5", "ansi-styles": "^5.2.0", "react-is": "^18.3.1" } }, "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw=="], + "@jest/reporters/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "@jest/reporters/string-length/char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="], "@jest/snapshot-utils/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "@jest/transform/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@jest/transform/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@jest/transform/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@jest/transform/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "@jest/transform/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + "@jest/transform/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "@jest/types/@jest/schemas/@sinclair/typebox": ["@sinclair/typebox@0.34.41", "", {}, "sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g=="], "@jest/types/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], @@ -10733,6 +10629,8 @@ "@joshwooding/vite-plugin-react-docgen-typescript/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], + "@joshwooding/vite-plugin-react-docgen-typescript/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], "@lynx-js/rspeedy/@rsbuild/core/@rspack/core": ["@rspack/core@1.5.8", "", { "dependencies": { "@module-federation/runtime-tools": "0.18.0", "@rspack/binding": "1.5.8", "@rspack/lite-tapable": "1.0.1" }, "peerDependencies": { "@swc/helpers": ">=0.5.1" }, "optionalPeers": ["@swc/helpers"] }, "sha512-sUd2LfiDhqYVfvknuoz0+/c+wSpn693xotnG5g1CSWKZArbtwiYzBIVnNlcHGmuoBRsnj/TkSq8dTQ7gwfBroQ=="], @@ -10743,6 +10641,12 @@ "@lynx-js/rspeedy/@rsbuild/core/jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + "@manypkg/find-root/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], + + "@manypkg/find-root/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], + + "@manypkg/get-packages/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], + "@mapbox/node-pre-gyp/node-fetch/whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="], "@mapbox/node-pre-gyp/nopt/abbrev": ["abbrev@3.0.1", "", {}, "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg=="], @@ -10759,44 +10663,6 @@ "@modelcontextprotocol/inspector-client/@modelcontextprotocol/sdk/pkce-challenge": ["pkce-challenge@5.0.0", "", {}, "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ=="], - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/number": ["@radix-ui/number@1.1.0", "", {}, "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/primitive": ["@radix-ui/primitive@1.1.1", "", {}, "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-context": ["@radix-ui/react-context@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.3", "", { "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-escape-keydown": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-id": ["@radix-ui/react-id@1.1.0", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.1", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-rect": "1.1.0", "@radix-ui/react-use-size": "1.1.0", "@radix-ui/rect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.3", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.0.1", "", { "dependencies": { "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-slot": ["@radix-ui/react-slot@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.1.0", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.0", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.1.1", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg=="], - "@modelcontextprotocol/inspector-client/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], "@modelcontextprotocol/inspector-server/@modelcontextprotocol/sdk/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], @@ -10957,55 +10823,55 @@ "@nuxt/vite-builder/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], - "@nuxt/vite-builder/vite/esbuild": ["esbuild@0.25.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.2", "@esbuild/android-arm": "0.25.2", "@esbuild/android-arm64": "0.25.2", "@esbuild/android-x64": "0.25.2", "@esbuild/darwin-arm64": "0.25.2", "@esbuild/darwin-x64": "0.25.2", "@esbuild/freebsd-arm64": "0.25.2", "@esbuild/freebsd-x64": "0.25.2", "@esbuild/linux-arm": "0.25.2", "@esbuild/linux-arm64": "0.25.2", "@esbuild/linux-ia32": "0.25.2", "@esbuild/linux-loong64": "0.25.2", "@esbuild/linux-mips64el": "0.25.2", "@esbuild/linux-ppc64": "0.25.2", "@esbuild/linux-riscv64": "0.25.2", "@esbuild/linux-s390x": "0.25.2", "@esbuild/linux-x64": "0.25.2", "@esbuild/netbsd-arm64": "0.25.2", "@esbuild/netbsd-x64": "0.25.2", "@esbuild/openbsd-arm64": "0.25.2", "@esbuild/openbsd-x64": "0.25.2", "@esbuild/sunos-x64": "0.25.2", "@esbuild/win32-arm64": "0.25.2", "@esbuild/win32-ia32": "0.25.2", "@esbuild/win32-x64": "0.25.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ=="], - "@preact/preset-vite/@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], "@preact/preset-vite/@rollup/pluginutils/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "@preact/preset-vite/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], + "@preact/preset-vite/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - "@prefresh/vite/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@prefresh/vite/@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], - "@prefresh/vite/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@prefresh/vite/@rollup/pluginutils/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - "@prefresh/vite/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "@radix-ui/react-arrow/@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g=="], - "@prefresh/vite/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "@radix-ui/react-checkbox/@radix-ui/react-use-size/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], - "@prefresh/vite/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@radix-ui/react-popover/@radix-ui/react-popper/@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w=="], - "@prefresh/vite/@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "@radix-ui/react-popover/@radix-ui/react-popper/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], - "@prefresh/vite/@rollup/pluginutils/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "@radix-ui/react-popover/@radix-ui/react-popper/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], - "@react-native/babel-plugin-codegen/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@radix-ui/react-popover/@radix-ui/react-popper/@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.1", "", { "dependencies": { "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w=="], - "@react-native/babel-plugin-codegen/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@radix-ui/react-popover/@radix-ui/react-popper/@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], - "@react-native/babel-plugin-codegen/@react-native/codegen/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], + "@radix-ui/react-popover/@radix-ui/react-popper/@radix-ui/rect": ["@radix-ui/rect@1.1.1", "", {}, "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="], - "@react-native/babel-plugin-codegen/@react-native/codegen/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@radix-ui/react-popper/@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g=="], - "@react-native/babel-plugin-codegen/@react-native/codegen/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], + "@radix-ui/react-select/@radix-ui/react-dismissable-layer/@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.0", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw=="], - "@react-native/babel-preset/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@radix-ui/react-switch/@radix-ui/react-use-size/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], - "@react-native/babel-preset/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@radix-ui/react-tooltip/@radix-ui/react-popper/@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w=="], - "@react-native/babel-preset/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "@radix-ui/react-tooltip/@radix-ui/react-popper/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], - "@react-native/babel-preset/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "@radix-ui/react-tooltip/@radix-ui/react-popper/@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], - "@react-native/babel-preset/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@radix-ui/react-tooltip/@radix-ui/react-popper/@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.1", "", { "dependencies": { "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w=="], - "@react-native/codegen/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@radix-ui/react-tooltip/@radix-ui/react-popper/@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], - "@react-native/codegen/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "@radix-ui/react-tooltip/@radix-ui/react-popper/@radix-ui/rect": ["@radix-ui/rect@1.1.1", "", {}, "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="], - "@react-native/codegen/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "@radix-ui/react-visually-hidden/@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g=="], - "@react-native/codegen/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@react-native/babel-plugin-codegen/@react-native/codegen/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], "@react-native/codegen/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], @@ -11025,12 +10891,6 @@ "@react-native/dev-middleware/serve-static/send": ["send@0.19.0", "", { "dependencies": { "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", "on-finished": "2.4.1", "range-parser": "~1.2.1", "statuses": "2.0.1" } }, "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw=="], - "@react-router/dev/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "@react-router/dev/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@react-router/dev/@babel/generator/jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], - "@react-router/dev/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], "@react-router/express/react-router/cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], @@ -11079,6 +10939,8 @@ "@rsbuild/plugin-css-minimizer/css-minimizer-webpack-plugin/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + "@rsdoctor/core/fs-extra/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + "@rsdoctor/sdk/body-parser/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], "@rsdoctor/sdk/body-parser/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], @@ -11089,8 +10951,14 @@ "@rsdoctor/sdk/body-parser/type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], + "@rsdoctor/sdk/fs-extra/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + + "@rsdoctor/utils/fs-extra/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + "@rushstack/node-core-library/ajv-formats/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], + "@rushstack/node-core-library/fs-extra/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + "@rushstack/node-core-library/semver/lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="], "@schematics/angular/@angular-devkit/core/ajv-formats": ["ajv-formats@3.0.1", "", { "dependencies": { "ajv": "^8.0.0" } }, "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ=="], @@ -11101,6 +10969,8 @@ "@schematics/angular/@angular-devkit/core/source-map": ["source-map@0.7.4", "", {}, "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="], + "@storybook/builder-vite/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], + "@storybook/builder-vite/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], "@storybook/core/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], @@ -11157,6 +11027,8 @@ "@storybook/instrumenter/@vitest/utils/tinyrainbow": ["tinyrainbow@1.2.0", "", {}, "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ=="], + "@storybook/react-vite/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], + "@storybook/react-vite/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], "@storybook/test/@testing-library/jest-dom/chalk": ["chalk@3.0.0", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg=="], @@ -11169,26 +11041,6 @@ "@storybook/test/@vitest/spy/tinyspy": ["tinyspy@3.0.2", "", {}, "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q=="], - "@svgr/plugin-jsx/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@svgr/plugin-jsx/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@svgr/plugin-jsx/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@svgr/plugin-jsx/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "@svgr/plugin-jsx/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@svgr/webpack/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@svgr/webpack/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@svgr/webpack/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@svgr/webpack/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "@svgr/webpack/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "@swc/cli/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], "@tailwindcss/postcss/@tailwindcss/node/jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], @@ -11243,22 +11095,6 @@ "@tailwindcss/vite/@tailwindcss/oxide/@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.13", "", { "os": "win32", "cpu": "x64" }, "sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw=="], - "@tanstack/directive-functions-plugin/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/directive-functions-plugin/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@tanstack/directive-functions-plugin/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "@tanstack/directive-functions-plugin/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@tanstack/directive-functions-plugin/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/directive-functions-plugin/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@tanstack/directive-functions-plugin/@tanstack/router-utils/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/directive-functions-plugin/@tanstack/router-utils/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "@tanstack/react-router-devtools/@tanstack/react-router/@tanstack/history": ["@tanstack/history@1.131.2", "", {}, "sha512-cs1WKawpXIe+vSTeiZUuSBy8JFjEuDgdMKZFRLKwQysKo8y2q6Q1HvS74Yw+m5IhOW1nTZooa6rlgdfXcgFAaw=="], "@tanstack/react-router-devtools/@tanstack/react-router/@tanstack/router-core": ["@tanstack/router-core@1.131.7", "", { "dependencies": { "@tanstack/history": "1.131.2", "@tanstack/store": "^0.7.0", "cookie-es": "^1.2.2", "seroval": "^1.3.2", "seroval-plugins": "^1.3.2", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" } }, "sha512-NpFfAG1muv4abrCij6sEtRrVzlU+xYpY30NAgquHNhMMMNIiN7djzsaGV+vCJdR4u5mi13+f0c3f+f9MdekY5A=="], @@ -11275,68 +11111,20 @@ "@tanstack/react-start-server/h3/unenv": ["unenv@1.10.0", "", { "dependencies": { "consola": "^3.2.3", "defu": "^6.1.4", "mime": "^3.0.0", "node-fetch-native": "^1.6.4", "pathe": "^1.1.2" } }, "sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ=="], - "@tanstack/router-devtools-core/@tanstack/router-core/@tanstack/history": ["@tanstack/history@1.133.3", "", {}, "sha512-zFQnGdX0S4g5xRuS+95iiEXM+qlGvYG7ksmOKx7LaMv60lDWa0imR8/24WwXXvBWJT1KnwVdZcjvhCwz9IiJCw=="], - - "@tanstack/router-generator/@tanstack/router-core/@tanstack/history": ["@tanstack/history@1.133.3", "", {}, "sha512-zFQnGdX0S4g5xRuS+95iiEXM+qlGvYG7ksmOKx7LaMv60lDWa0imR8/24WwXXvBWJT1KnwVdZcjvhCwz9IiJCw=="], - - "@tanstack/router-plugin/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/router-plugin/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@tanstack/router-plugin/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "@tanstack/router-plugin/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@tanstack/router-plugin/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/router-plugin/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@tanstack/router-utils/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@tanstack/router-utils/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "@tanstack/router-devtools-core/@tanstack/router-core/@tanstack/history": ["@tanstack/history@1.132.31", "", {}, "sha512-UCHM2uS0t/uSszqPEo+SBSSoQVeQ+LlOWAVBl5SA7+AedeAbKafIPjFn8huZCXNLAYb0WKV2+wETr7lDK9uz7g=="], - "@tanstack/router-utils/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@tanstack/server-functions-plugin/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/server-functions-plugin/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@tanstack/server-functions-plugin/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "@tanstack/server-functions-plugin/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "@tanstack/server-functions-plugin/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/server-functions-plugin/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@tanstack/router-generator/@tanstack/router-core/@tanstack/history": ["@tanstack/history@1.132.31", "", {}, "sha512-UCHM2uS0t/uSszqPEo+SBSSoQVeQ+LlOWAVBl5SA7+AedeAbKafIPjFn8huZCXNLAYb0WKV2+wETr7lDK9uz7g=="], "@tanstack/start-client-core/@tanstack/router-core/@tanstack/history": ["@tanstack/history@1.131.2", "", {}, "sha512-cs1WKawpXIe+vSTeiZUuSBy8JFjEuDgdMKZFRLKwQysKo8y2q6Q1HvS74Yw+m5IhOW1nTZooa6rlgdfXcgFAaw=="], - "@tanstack/start-plugin-core/@babel/core/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], - - "@tanstack/start-plugin-core/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/start-plugin-core/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "@tanstack/start-plugin-core/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "@tanstack/start-plugin-core/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "@tanstack/start-plugin-core/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "@tanstack/start-plugin-core/@tanstack/router-core/@tanstack/history": ["@tanstack/history@1.131.2", "", {}, "sha512-cs1WKawpXIe+vSTeiZUuSBy8JFjEuDgdMKZFRLKwQysKo8y2q6Q1HvS74Yw+m5IhOW1nTZooa6rlgdfXcgFAaw=="], "@tanstack/start-plugin-core/@tanstack/router-core/cookie-es": ["cookie-es@1.2.2", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="], "@tanstack/start-plugin-core/@tanstack/router-generator/@tanstack/virtual-file-routes": ["@tanstack/virtual-file-routes@1.131.2", "", {}, "sha512-VEEOxc4mvyu67O+Bl0APtYjwcNRcL9it9B4HKbNgcBTIOEalhk+ufBl4kiqc8WP1sx1+NAaiS+3CcJBhrqaSRg=="], - "@tanstack/start-plugin-core/@tanstack/router-plugin/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "@tanstack/start-plugin-core/@tanstack/router-plugin/@tanstack/virtual-file-routes": ["@tanstack/virtual-file-routes@1.131.2", "", {}, "sha512-VEEOxc4mvyu67O+Bl0APtYjwcNRcL9it9B4HKbNgcBTIOEalhk+ufBl4kiqc8WP1sx1+NAaiS+3CcJBhrqaSRg=="], - "@tanstack/start-plugin-core/@tanstack/router-utils/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/start-plugin-core/@tanstack/router-utils/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "@tanstack/start-plugin-core/h3/cookie-es": ["cookie-es@1.2.2", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="], "@tanstack/start-plugin-core/h3/ohash": ["ohash@1.1.6", "", {}, "sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg=="], @@ -11401,59 +11189,89 @@ "@types/next-pwa/next/watchpack": ["watchpack@2.4.0", "", { "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" } }, "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg=="], - "@vercel/nft/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], + "@utils/tsdown-config/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], - "@vercel/nft/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@utils/tsdown-config/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], - "@vercel/nft/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + "@utils/tsdown-config/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], - "@vitejs/plugin-basic-ssl/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + "@utils/tsdown-config/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], - "@vitejs/plugin-react/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@utils/tsdown-config/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], - "@vitejs/plugin-react/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@utils/tsdown-config/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], - "@vitejs/plugin-react/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "@utils/tsdown-config/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], - "@vitejs/plugin-react/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "@utils/tsdown-config/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], - "@vitejs/plugin-react/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@utils/tsdown-config/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], - "@vitejs/plugin-vue-jsx/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@utils/tsdown-config/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], - "@vitejs/plugin-vue-jsx/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@utils/tsdown-config/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], - "@vitejs/plugin-vue-jsx/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "@utils/tsdown-config/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], - "@vitejs/plugin-vue-jsx/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "@utils/tsdown-config/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], - "@vitejs/plugin-vue-jsx/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@utils/tsdown-config/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], - "@vitejs/plugin-vue-jsx/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + "@utils/tsdown-config/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], - "@vue/babel-plugin-jsx/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@utils/tsdown-config/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], - "@vue/babel-plugin-jsx/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@utils/tsdown-config/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], - "@vue/language-core/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + "@utils/tsdown-config/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], - "@xhmikosr/bin-check/execa/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], + "@utils/tsdown-config/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], - "@xhmikosr/bin-check/execa/human-signals": ["human-signals@2.1.0", "", {}, "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="], + "@utils/tsdown-config/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], - "@xhmikosr/bin-check/execa/npm-run-path": ["npm-run-path@4.0.1", "", { "dependencies": { "path-key": "^3.0.0" } }, "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="], + "@utils/tsdown-config/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], - "@xhmikosr/bin-check/execa/onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], + "@utils/tsdown-config/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], - "@xhmikosr/bin-check/execa/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], + "@utils/tsdown-config/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], - "@xhmikosr/bin-check/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], + "@utils/tsdown-config/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], - "@xhmikosr/decompress-unzip/yauzl/buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], + "@utils/tsdown-config/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], - "archiver-utils/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], + "@vercel/nft/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], - "archiver-utils/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + "@vercel/nft/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "@vercel/nft/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], + + "@vitejs/plugin-basic-ssl/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], + + "@vitejs/plugin-vue-jsx/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "@vue/language-core/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + + "@xhmikosr/bin-check/execa/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], + + "@xhmikosr/bin-check/execa/human-signals": ["human-signals@2.1.0", "", {}, "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="], + + "@xhmikosr/bin-check/execa/npm-run-path": ["npm-run-path@4.0.1", "", { "dependencies": { "path-key": "^3.0.0" } }, "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="], + + "@xhmikosr/bin-check/execa/onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], + + "@xhmikosr/bin-check/execa/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], + + "@xhmikosr/bin-check/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], + + "@xhmikosr/decompress-unzip/yauzl/buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="], + + "archiver-utils/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], + + "archiver-utils/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], "archiver-utils/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], @@ -11461,69 +11279,69 @@ "archiver/readable-stream/buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], - "astro/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + "astro/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], - "astro/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + "astro/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], - "astro/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + "astro/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], - "astro/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + "astro/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], - "astro/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + "astro/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], - "astro/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + "astro/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], - "astro/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + "astro/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], - "astro/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + "astro/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], - "astro/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + "astro/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], - "astro/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + "astro/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], - "astro/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + "astro/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], - "astro/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + "astro/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], - "astro/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + "astro/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], - "astro/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + "astro/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], - "astro/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + "astro/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], - "astro/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + "astro/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], - "astro/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + "astro/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], - "astro/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + "astro/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], - "astro/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + "astro/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], - "astro/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + "astro/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], - "astro/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + "astro/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], - "astro/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + "astro/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], - "astro/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + "astro/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], - "astro/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + "astro/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], - "astro/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + "astro/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], - "astro/vite/esbuild": ["esbuild@0.25.2", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.2", "@esbuild/android-arm": "0.25.2", "@esbuild/android-arm64": "0.25.2", "@esbuild/android-x64": "0.25.2", "@esbuild/darwin-arm64": "0.25.2", "@esbuild/darwin-x64": "0.25.2", "@esbuild/freebsd-arm64": "0.25.2", "@esbuild/freebsd-x64": "0.25.2", "@esbuild/linux-arm": "0.25.2", "@esbuild/linux-arm64": "0.25.2", "@esbuild/linux-ia32": "0.25.2", "@esbuild/linux-loong64": "0.25.2", "@esbuild/linux-mips64el": "0.25.2", "@esbuild/linux-ppc64": "0.25.2", "@esbuild/linux-riscv64": "0.25.2", "@esbuild/linux-s390x": "0.25.2", "@esbuild/linux-x64": "0.25.2", "@esbuild/netbsd-arm64": "0.25.2", "@esbuild/netbsd-x64": "0.25.2", "@esbuild/openbsd-arm64": "0.25.2", "@esbuild/openbsd-x64": "0.25.2", "@esbuild/sunos-x64": "0.25.2", "@esbuild/win32-arm64": "0.25.2", "@esbuild/win32-ia32": "0.25.2", "@esbuild/win32-x64": "0.25.2" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ=="], + "astro/shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.3" } }, "sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg=="], - "astro/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + "astro/shiki/@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg=="], - "babel-dead-code-elimination/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "astro/shiki/@shikijs/langs": ["@shikijs/langs@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0" } }, "sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ=="], - "babel-dead-code-elimination/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "astro/shiki/@shikijs/themes": ["@shikijs/themes@3.13.0", "", { "dependencies": { "@shikijs/types": "3.13.0" } }, "sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg=="], - "babel-dead-code-elimination/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "astro/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], - "babel-dead-code-elimination/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "astro/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - "babel-jest/@jest/transform/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], + "babel-jest/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], "babel-jest/@jest/transform/jest-haste-map": ["jest-haste-map@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^27.5.1", "jest-serializer": "^27.5.1", "jest-util": "^27.5.1", "jest-worker": "^27.5.1", "micromatch": "^4.0.4", "walker": "^1.0.7" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng=="], @@ -11541,25 +11359,7 @@ "babel-jest/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "babel-plugin-jsx-dom-expressions/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "babel-plugin-jsx-dom-expressions/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "babel-plugin-jsx-dom-expressions/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "babel-plugin-jsx-dom-expressions/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "babel-plugin-jsx-dom-expressions/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "babel-preset-react-app/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "babel-preset-react-app/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "babel-preset-react-app/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "babel-preset-react-app/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "babel-preset-react-app/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "babel-plugin-syntax-hermes-parser/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], "babel-preset-react-app/@babel/plugin-proposal-private-property-in-object/@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="], @@ -11665,24 +11465,12 @@ "engine.io/accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], - "eslint-config-react-app/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "eslint-config-react-app/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "eslint-config-react-app/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "eslint-config-react-app/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "eslint-config-react-app/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "eslint-plugin-import/tsconfig-paths/json5": ["json5@1.0.2", "", { "dependencies": { "minimist": "^1.2.0" }, "bin": { "json5": "lib/cli.js" } }, "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA=="], "eslint/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], "eslint/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "eslint/eslint-scope/estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], - "eslint/globals/type-fest": ["type-fest@0.20.2", "", {}, "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="], "example-pages-router/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="], @@ -11699,6 +11487,8 @@ "expect/jest-util/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "expect/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "expo-modules-autolinking/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], "expo-modules-autolinking/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], @@ -11723,6 +11513,8 @@ "fork-ts-checker-webpack-plugin/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + "fork-ts-checker-webpack-plugin/fs-extra/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + "fork-ts-checker-webpack-plugin/schema-utils/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], "fork-ts-checker-webpack-plugin/schema-utils/ajv-keywords": ["ajv-keywords@3.5.2", "", { "peerDependencies": { "ajv": "^6.9.1" } }, "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="], @@ -11741,19 +11533,13 @@ "intlayer-cli/webpack/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - "intlayer-editor/@vitejs/plugin-react/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "intlayer-editor/@vitejs/plugin-react/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.35", "", {}, "sha512-slYrCpoxJUqzFDDNlvrOYRazQUNRvWPjXA17dAOISY3rDMxX6k8K4cj2H+hEYMHF81HO3uNd5rHVigAWRM5dSg=="], - "intlayer-editor/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - - "istanbul-lib-instrument/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "intlayer-editor/react-router-dom/react-router": ["react-router@7.4.0", "", { "dependencies": { "@types/cookie": "^0.6.0", "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0", "turbo-stream": "2.4.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-Y2g5ObjkvX3VFeVt+0CIPuYd9PpgqCslG7ASSIdN73LwA1nNWzcMLaoMRJfP3prZFI92svxFwbn7XkLJ+UPQ6A=="], - "istanbul-lib-instrument/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "intlayer-editor/vite/esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], - "istanbul-lib-instrument/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "istanbul-lib-instrument/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "intlayer-editor/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], "jest-changed-files/execa/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], @@ -11769,6 +11555,8 @@ "jest-changed-files/jest-util/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "jest-changed-files/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "jest-changed-files/p-limit/yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], "jest-circus/@jest/environment/@jest/fake-timers": ["@jest/fake-timers@30.1.2", "", { "dependencies": { "@jest/types": "30.0.5", "@sinonjs/fake-timers": "^13.0.0", "@types/node": "*", "jest-message-util": "30.1.0", "jest-mock": "30.0.5", "jest-util": "30.0.5" } }, "sha512-Beljfv9AYkr9K+ETX9tvV61rJTY706BhBUtiaepQHeEGfe0DbpvUA5Z3fomwc5Xkhns6NWrcFDZn+72fLieUnA=="], @@ -11779,6 +11567,8 @@ "jest-circus/jest-matcher-utils/jest-diff": ["jest-diff@30.1.2", "", { "dependencies": { "@jest/diff-sequences": "30.0.1", "@jest/get-type": "30.1.0", "chalk": "^4.1.2", "pretty-format": "30.0.5" } }, "sha512-4+prq+9J61mOVXCa4Qp8ZjavdxzrWQXrI80GNxP8f4tkI2syPuPrJgdRPZRrfUTRvIoUwcmNLbqEJy9W800+NQ=="], + "jest-circus/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "jest-circus/p-limit/yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], "jest-circus/pretty-format/@jest/schemas": ["@jest/schemas@30.0.5", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA=="], @@ -11787,15 +11577,7 @@ "jest-cli/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "jest-config/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-config/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-config/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "jest-config/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "jest-config/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "jest-cli/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], "jest-config/babel-jest/babel-preset-jest": ["babel-preset-jest@30.0.1", "", { "dependencies": { "babel-plugin-jest-hoist": "30.0.1", "babel-preset-current-node-syntax": "^1.1.0" }, "peerDependencies": { "@babel/core": "^7.11.0" } }, "sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw=="], @@ -11825,6 +11607,8 @@ "jest-each/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + "jest-each/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "jest-each/pretty-format/@jest/schemas": ["@jest/schemas@30.0.5", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA=="], "jest-each/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], @@ -11835,8 +11619,6 @@ "jest-environment-jsdom/jest-util/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "jest-environment-jsdom/jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "jest-environment-jsdom/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "jest-environment-jsdom/jsdom/cssstyle": ["cssstyle@2.3.0", "", { "dependencies": { "cssom": "~0.3.6" } }, "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A=="], @@ -11879,6 +11661,8 @@ "jest-haste-map/jest-util/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "jest-haste-map/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "jest-jasmine2/@jest/source-map/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "jest-jasmine2/@jest/test-result/@jest/console": ["@jest/console@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", "jest-message-util": "^27.5.1", "jest-util": "^27.5.1", "slash": "^3.0.0" } }, "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg=="], @@ -11903,18 +11687,10 @@ "jest-jasmine2/jest-runtime/strip-bom": ["strip-bom@4.0.0", "", {}, "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="], - "jest-jasmine2/jest-snapshot/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "jest-jasmine2/jest-snapshot/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-jasmine2/jest-snapshot/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "jest-jasmine2/jest-snapshot/@jest/transform": ["@jest/transform@27.5.1", "", { "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^27.5.1", "jest-regex-util": "^27.5.1", "jest-util": "^27.5.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" } }, "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw=="], "jest-jasmine2/jest-snapshot/jest-haste-map": ["jest-haste-map@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^27.5.1", "jest-serializer": "^27.5.1", "jest-util": "^27.5.1", "jest-worker": "^27.5.1", "micromatch": "^4.0.4", "walker": "^1.0.7" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng=="], - "jest-jasmine2/jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "jest-jasmine2/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "jest-jasmine2/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], @@ -11949,8 +11725,6 @@ "jest-resolve/jest-haste-map/jest-regex-util": ["jest-regex-util@27.5.1", "", {}, "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg=="], - "jest-resolve/jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "jest-resolve/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "jest-resolve/jest-validate/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], @@ -11967,6 +11741,8 @@ "jest-runner/jest-message-util/pretty-format": ["pretty-format@30.0.5", "", { "dependencies": { "@jest/schemas": "30.0.5", "ansi-styles": "^5.2.0", "react-is": "^18.3.1" } }, "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw=="], + "jest-runner/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "jest-runner/p-limit/yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], "jest-runner/source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], @@ -11983,20 +11759,14 @@ "jest-runtime/jest-message-util/pretty-format": ["pretty-format@30.0.5", "", { "dependencies": { "@jest/schemas": "30.0.5", "ansi-styles": "^5.2.0", "react-is": "^18.3.1" } }, "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw=="], - "jest-snapshot/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-snapshot/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "jest-snapshot/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "jest-snapshot/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "jest-snapshot/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "jest-runtime/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], "jest-snapshot/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], "jest-snapshot/expect/jest-mock": ["jest-mock@30.0.5", "", { "dependencies": { "@jest/types": "30.0.5", "@types/node": "*", "jest-util": "30.0.5" } }, "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ=="], + "jest-snapshot/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "jest-snapshot/pretty-format/@jest/schemas": ["@jest/schemas@30.0.5", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA=="], "jest-snapshot/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], @@ -12029,6 +11799,8 @@ "jest-watcher/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + "jest-watcher/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "jest-watcher/string-length/char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="], "js-beautify/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], @@ -12037,10 +11809,6 @@ "js-beautify/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], - "karma-coverage/istanbul-lib-instrument/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "karma-coverage/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "karma-coverage/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "karma/body-parser/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], @@ -12069,16 +11837,6 @@ "log-update/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], - "metro-babel-transformer/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "metro-babel-transformer/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "metro-babel-transformer/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "metro-babel-transformer/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "metro-babel-transformer/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "metro-config/cosmiconfig/import-fresh": ["import-fresh@2.0.0", "", { "dependencies": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" } }, "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg=="], "metro-config/cosmiconfig/js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="], @@ -12091,30 +11849,6 @@ "metro-config/jest-validate/jest-get-type": ["jest-get-type@29.6.3", "", {}, "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw=="], - "metro-source-map/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "metro-source-map/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "metro-transform-plugins/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "metro-transform-plugins/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "metro-transform-plugins/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "metro-transform-plugins/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "metro-transform-plugins/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "metro-transform-worker/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "metro-transform-worker/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "metro-transform-worker/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "metro/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "metro/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "metro/accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], "metro/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], @@ -12357,6 +12091,8 @@ "react-app-example/@types/jest/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], + "react-app-example/react-router-dom/react-router": ["react-router@7.4.0", "", { "dependencies": { "@types/cookie": "^0.6.0", "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0", "turbo-stream": "2.4.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-Y2g5ObjkvX3VFeVt+0CIPuYd9PpgqCslG7ASSIdN73LwA1nNWzcMLaoMRJfP3prZFI92svxFwbn7XkLJ+UPQ6A=="], + "react-dev-utils/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], "react-dev-utils/fork-ts-checker-webpack-plugin/cosmiconfig": ["cosmiconfig@6.0.0", "", { "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.1.0", "parse-json": "^5.0.0", "path-type": "^4.0.0", "yaml": "^1.7.2" } }, "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg=="], @@ -12371,19 +12107,57 @@ "react-dev-utils/fork-ts-checker-webpack-plugin/tapable": ["tapable@1.1.3", "", {}, "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="], - "react-docgen/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "react-email/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - "react-docgen/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "react-email/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], - "react-docgen/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "react-email/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], - "react-docgen/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "react-email/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], - "react-docgen/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "react-email/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], - "react-docgen/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "react-email/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], - "react-email/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + "react-email/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], + + "react-email/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], + + "react-email/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], + + "react-email/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], + + "react-email/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], + + "react-email/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], + + "react-email/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], + + "react-email/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], + + "react-email/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], + + "react-email/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], + + "react-email/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], + + "react-email/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], + + "react-email/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], + + "react-email/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], + + "react-email/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], + + "react-email/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], + + "react-email/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], + + "react-email/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], + + "react-email/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], + + "react-email/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], "react-native/babel-jest/@jest/transform": ["@jest/transform@29.7.0", "", { "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", "@jridgewell/trace-mapping": "^0.3.18", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^29.7.0", "jest-regex-util": "^29.6.3", "jest-util": "^29.7.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.2" } }, "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw=="], @@ -12393,8 +12167,6 @@ "react-native/babel-jest/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "react-native/babel-plugin-syntax-hermes-parser/hermes-parser": ["hermes-parser@0.32.0", "", { "dependencies": { "hermes-estree": "0.32.0" } }, "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw=="], - "react-router-dom/react-router/cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], "react-router-intlayer/@tailwindcss/vite/@tailwindcss/node": ["@tailwindcss/node@4.1.4", "", { "dependencies": { "enhanced-resolve": "^5.18.1", "jiti": "^2.4.2", "lightningcss": "1.29.2", "tailwindcss": "4.1.4" } }, "sha512-MT5118zaiO6x6hNA04OWInuAiP1YISXql8Z+/Y8iisV5nuhM8VXlyhRuqc2PEviPszcXI66W44bCIk500Oolhw=="], @@ -12405,20 +12177,8 @@ "react-router-intlayer/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="], - "react-router-intlayer/react-router-dom/react-router": ["react-router@7.7.1", "", { "dependencies": { "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-jVKHXoWRIsD/qS6lvGveckwb862EekvapdHJN/cGmzw40KnJH5gg53ujOJ4qX6EKIK9LSBfFed/xiQ5yeXNrUA=="], - "react-scripts-intlayer/webpack/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - "react-scripts/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "react-scripts/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "react-scripts/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "react-scripts/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "react-scripts/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "react-scripts/babel-loader/find-cache-dir": ["find-cache-dir@3.3.2", "", { "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" } }, "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig=="], "react-scripts/babel-loader/loader-utils": ["loader-utils@2.0.4", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" } }, "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw=="], @@ -12427,6 +12187,8 @@ "react-scripts/babel-loader/schema-utils": ["schema-utils@2.7.1", "", { "dependencies": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", "ajv-keywords": "^3.5.2" } }, "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg=="], + "react-scripts/fs-extra/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + "react-scripts/jest/@jest/core": ["@jest/core@27.5.1", "", { "dependencies": { "@jest/console": "^27.5.1", "@jest/reporters": "^27.5.1", "@jest/test-result": "^27.5.1", "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.8.1", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^27.5.1", "jest-config": "^27.5.1", "jest-haste-map": "^27.5.1", "jest-message-util": "^27.5.1", "jest-regex-util": "^27.5.1", "jest-resolve": "^27.5.1", "jest-resolve-dependencies": "^27.5.1", "jest-runner": "^27.5.1", "jest-runtime": "^27.5.1", "jest-snapshot": "^27.5.1", "jest-util": "^27.5.1", "jest-validate": "^27.5.1", "jest-watcher": "^27.5.1", "micromatch": "^4.0.4", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"] }, "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ=="], "react-scripts/jest/jest-cli": ["jest-cli@27.5.1", "", { "dependencies": { "@jest/core": "^27.5.1", "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", "jest-config": "^27.5.1", "jest-util": "^27.5.1", "jest-validate": "^27.5.1", "prompts": "^2.0.1", "yargs": "^16.2.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "optionalPeers": ["node-notifier"], "bin": { "jest": "bin/jest.js" } }, "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw=="], @@ -12509,12 +12271,16 @@ "react-scripts/postcss-preset-env/postcss-selector-not": ["postcss-selector-not@6.0.1", "", { "dependencies": { "postcss-selector-parser": "^6.0.10" }, "peerDependencies": { "postcss": "^8.2" } }, "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ=="], + "react-scripts/resolve-url-loader/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "react-scripts/resolve-url-loader/loader-utils": ["loader-utils@2.0.4", "", { "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" } }, "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw=="], "react-scripts/resolve-url-loader/postcss": ["postcss@7.0.39", "", { "dependencies": { "picocolors": "^0.2.1", "source-map": "^0.6.1" } }, "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA=="], "react-scripts/resolve-url-loader/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + "react-scripts/source-map-loader/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + "react-scripts/tailwindcss/arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], "react-scripts/tailwindcss/glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], @@ -12523,6 +12289,8 @@ "react-scripts/tailwindcss/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], + "react-scripts/webpack/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + "react-scripts/webpack-dev-server/@types/express": ["@types/express@4.17.23", "", { "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "*" } }, "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ=="], "react-scripts/webpack-dev-server/express": ["express@4.21.2", "", { "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.19.0", "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" } }, "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA=="], @@ -12533,6 +12301,8 @@ "react-scripts/webpack-dev-server/webpack-dev-middleware": ["webpack-dev-middleware@5.3.4", "", { "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "peerDependencies": { "webpack": "^4.0.0 || ^5.0.0" } }, "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q=="], + "read-yaml-file/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + "readdir-glob/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], "renderkid/css-select/domhandler": ["domhandler@4.3.1", "", { "dependencies": { "domelementtype": "^2.2.0" } }, "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ=="], @@ -12569,7 +12339,7 @@ "socket.io/accepts/negotiator": ["negotiator@0.6.3", "", {}, "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="], - "solid-refresh/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "static-eval/escodegen/estraverse": ["estraverse@4.3.0", "", {}, "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="], "static-eval/escodegen/optionator": ["optionator@0.8.3", "", { "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "word-wrap": "~1.2.3" } }, "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA=="], @@ -12577,8 +12347,6 @@ "streamroller/fs-extra/jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], - "streamroller/fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], - "string-length/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], "sucrase/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], @@ -12607,8 +12375,6 @@ "svgo/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], - "tanstack-start-intlayer/@vitejs/plugin-react/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "tanstack-start-intlayer/@vitejs/plugin-react/react-refresh": ["react-refresh@0.14.2", "", {}, "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA=="], "tanstack-start-intlayer/@vitejs/plugin-react/vite": ["vite@6.4.0", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-oLnWs9Hak/LOlKjeSpOwD6JMks8BeICEdYMJBf6P4Lac/pO9tKiv/XhXnAM7nNfSkZahjlCZu9sS50zL8fSnsw=="], @@ -12691,53 +12457,75 @@ "unstorage/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - "vite-intlayer/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "vite-plugin-checker/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - "vite-intlayer/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "vite-plugin-checker/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], - "vite-intlayer/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "vite-plugin-inspect/fs-extra/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], - "vite-intlayer/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "vite-plugin-inspect/open/define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], - "vite-intlayer/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "vite-plugin-inspect/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], - "vite-plugin-checker/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + "vite-plugin-inspect/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - "vite-plugin-checker/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + "vite-plugin-solid/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], - "vite-plugin-inspect/open/define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], + "vite-plugin-solid/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - "vite-plugin-inspect/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + "vite-react-app-example/react-router-dom/react-router": ["react-router@7.4.0", "", { "dependencies": { "@types/cookie": "^0.6.0", "cookie": "^1.0.1", "set-cookie-parser": "^2.6.0", "turbo-stream": "2.4.0" }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" }, "optionalPeers": ["react-dom"] }, "sha512-Y2g5ObjkvX3VFeVt+0CIPuYd9PpgqCslG7ASSIdN73LwA1nNWzcMLaoMRJfP3prZFI92svxFwbn7XkLJ+UPQ6A=="], - "vite-plugin-solid/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "vite-solid-app-example/vite-plugin-solid/solid-refresh": ["solid-refresh@0.6.3", "", { "dependencies": { "@babel/generator": "^7.23.6", "@babel/helper-module-imports": "^7.22.15", "@babel/types": "^7.23.6" }, "peerDependencies": { "solid-js": "^1.3" } }, "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA=="], - "vite-plugin-solid/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], - "vite-plugin-solid/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], - "vite-plugin-solid/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], - "vite-plugin-solid/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], - "vite-plugin-solid/solid-refresh/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], - "vite-plugin-solid/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + "vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], - "vite-plugin-vue-inspector/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], - "vite-plugin-vue-inspector/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], - "vite-plugin-vue-inspector/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], - "vite-plugin-vue-inspector/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], - "vite-plugin-vue-inspector/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], - "vite-solid-app-example/vite-plugin-solid/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], + "vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], - "vite-solid-app-example/vite-plugin-solid/solid-refresh": ["solid-refresh@0.6.3", "", { "dependencies": { "@babel/generator": "^7.23.6", "@babel/helper-module-imports": "^7.22.15", "@babel/types": "^7.23.6" }, "peerDependencies": { "solid-js": "^1.3" } }, "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA=="], + "vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], - "vue-tsc/@vue/language-core/alien-signals": ["alien-signals@3.0.1", "", {}, "sha512-ec02Wv5iOg7yG979PH9ykv5KN/KHznOxMlKy/Jr8lnBo3T94d4MUGo7FVdM8B2fM0e94twzEcWCyWzfIyeV19g=="], + "vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], "webpack-dev-server/@types/express/@types/express-serve-static-core": ["@types/express-serve-static-core@4.19.7", "", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg=="], @@ -12783,24 +12571,10 @@ "website/@tailwindcss/postcss/tailwindcss": ["tailwindcss@4.1.8", "", {}, "sha512-kjeW8gjdxasbmFKpVGrGd5T4i40mV5J2Rasw48QARfYeQ8YS9x02ON9SFWax3Qf616rt4Cp3nVNIj6Hd1mP3og=="], - "website/@tanstack/react-query/@tanstack/query-core": ["@tanstack/query-core@5.90.2", "", {}, "sha512-k/TcR3YalnzibscALLwxeiLUub6jN5EDLwKDiO7q5f4ICEoptJ+n9+7vcEFy5/x/i6Q+Lb/tXrsKCggf5uQJXQ=="], - - "website/framer-motion/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "widest-line/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], "widest-line/string-width/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], - "workbox-build/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "workbox-build/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "workbox-build/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "workbox-build/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "workbox-build/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "workbox-build/@rollup/plugin-node-resolve/@rollup/pluginutils": ["@rollup/pluginutils@3.1.0", "", { "dependencies": { "@types/estree": "0.0.39", "estree-walker": "^1.0.1", "picomatch": "^2.2.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0" } }, "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg=="], "workbox-build/@rollup/plugin-node-resolve/@types/resolve": ["@types/resolve@1.17.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw=="], @@ -12809,6 +12583,8 @@ "workbox-build/@rollup/plugin-replace/magic-string": ["magic-string@0.25.9", "", { "dependencies": { "sourcemap-codec": "^1.4.8" } }, "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ=="], + "workbox-build/fs-extra/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + "workbox-build/source-map/whatwg-url": ["whatwg-url@7.1.0", "", { "dependencies": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", "webidl-conversions": "^4.0.2" } }, "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg=="], "workbox-webpack-plugin/webpack-sources/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], @@ -12855,8 +12631,6 @@ "@angular-devkit/build-angular/webpack-dev-server/express/type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], - "@angular-devkit/build-angular/webpack-dev-server/http-proxy-middleware/is-plain-obj": ["is-plain-obj@3.0.0", "", {}, "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA=="], - "@angular-devkit/build-angular/webpack-dev-server/open/define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], "@angular-devkit/build-angular/webpack/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], @@ -12941,24 +12715,120 @@ "@angular/cli/listr2/cli-truncate/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - "@astrojs/react/@vitejs/plugin-react/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@astrojs/react/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "@astrojs/react/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "@astrojs/react/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "@astrojs/react/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "@astrojs/react/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "@astrojs/react/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "@astrojs/react/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "@astrojs/react/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "@astrojs/react/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "@astrojs/react/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "@astrojs/react/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "@astrojs/react/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "@astrojs/react/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "@astrojs/react/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "@astrojs/react/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "@astrojs/react/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "@astrojs/react/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "@astrojs/react/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "@astrojs/react/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "@astrojs/react/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "@astrojs/react/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "@astrojs/react/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "@astrojs/react/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "@astrojs/react/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "@astrojs/react/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + + "@astrojs/vue/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], - "@astrojs/react/@vitejs/plugin-react/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "@astrojs/vue/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], - "@astrojs/react/@vitejs/plugin-react/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "@astrojs/vue/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], - "@astrojs/react/@vitejs/plugin-react/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "@astrojs/vue/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], - "@astrojs/react/@vitejs/plugin-react/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@astrojs/vue/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "@astrojs/vue/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "@astrojs/vue/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "@astrojs/vue/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "@astrojs/vue/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "@astrojs/vue/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "@astrojs/vue/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "@astrojs/vue/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "@astrojs/vue/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "@astrojs/vue/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "@astrojs/vue/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "@astrojs/vue/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "@astrojs/vue/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "@astrojs/vue/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "@astrojs/vue/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "@astrojs/vue/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "@astrojs/vue/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "@astrojs/vue/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "@astrojs/vue/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "@astrojs/vue/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "@astrojs/vue/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], "@babel/highlight/chalk/ansi-styles/color-convert": ["color-convert@1.9.3", "", { "dependencies": { "color-name": "1.1.3" } }, "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="], "@babel/highlight/chalk/supports-color/has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="], + "@changesets/get-github-info/node-fetch/whatwg-url/tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], + + "@changesets/get-github-info/node-fetch/whatwg-url/webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], + "@commitlint/top-level/find-up/locate-path/p-locate": ["p-locate@6.0.0", "", { "dependencies": { "p-limit": "^4.0.0" } }, "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw=="], "@craco/types/@jest/types/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + "@craco/types/webpack/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + "@expo/cli/accepts/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], "@expo/cli/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], @@ -13005,6 +12875,8 @@ "@expo/package-manager/ora/strip-ansi/ansi-regex": ["ansi-regex@4.1.1", "", {}, "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g=="], + "@intlayer/design-system/concurrently/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + "@istanbuljs/load-nyc-config/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], "@jest/console/jest-message-util/pretty-format/@jest/schemas": ["@jest/schemas@30.0.5", "", { "dependencies": { "@sinclair/typebox": "^0.34.0" } }, "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA=="], @@ -13029,6 +12901,8 @@ "@jest/expect/expect/jest-util/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "@jest/expect/expect/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "@jest/fake-timers/@jest/types/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], "@jest/fake-timers/jest-message-util/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], @@ -13047,6 +12921,8 @@ "@jest/globals/jest-mock/jest-util/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "@jest/globals/jest-mock/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "@jest/reporters/glob/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], "@jest/reporters/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], @@ -13059,12 +12935,64 @@ "@joshwooding/vite-plugin-react-docgen-typescript/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "@joshwooding/vite-plugin-react-docgen-typescript/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + "@lynx-js/rspeedy/@rsbuild/core/@rspack/core/@module-federation/runtime-tools": ["@module-federation/runtime-tools@0.18.0", "", { "dependencies": { "@module-federation/runtime": "0.18.0", "@module-federation/webpack-bundler-runtime": "0.18.0" } }, "sha512-fSga9o4t1UfXNV/Kh6qFvRyZpPp3EHSPRISNeyT8ZoTpzDNiYzhtw0BPUSSD8m6C6XQh2s/11rI4g80UY+d+hA=="], "@lynx-js/rspeedy/@rsbuild/core/@rspack/core/@rspack/binding": ["@rspack/binding@1.5.8", "", { "optionalDependencies": { "@rspack/binding-darwin-arm64": "1.5.8", "@rspack/binding-darwin-x64": "1.5.8", "@rspack/binding-linux-arm64-gnu": "1.5.8", "@rspack/binding-linux-arm64-musl": "1.5.8", "@rspack/binding-linux-x64-gnu": "1.5.8", "@rspack/binding-linux-x64-musl": "1.5.8", "@rspack/binding-wasm32-wasi": "1.5.8", "@rspack/binding-win32-arm64-msvc": "1.5.8", "@rspack/binding-win32-ia32-msvc": "1.5.8", "@rspack/binding-win32-x64-msvc": "1.5.8" } }, "sha512-/91CzhRl9r5BIQCgGsS7jA6MDbw1I2BQpbfcUUdkdKl2P79K3Zo/Mw/TvKzS86catwLaUQEgkGRmYawOfPg7ow=="], "@lynx-js/rspeedy/@rsbuild/core/@swc/helpers/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@manypkg/find-root/find-up/locate-path/p-locate": ["p-locate@4.1.0", "", { "dependencies": { "p-limit": "^2.2.0" } }, "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="], + "@mapbox/node-pre-gyp/node-fetch/whatwg-url/tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], "@mapbox/node-pre-gyp/node-fetch/whatwg-url/webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], @@ -13073,16 +13001,6 @@ "@modelcontextprotocol/inspector-cli/@modelcontextprotocol/sdk/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-dismissable-layer/@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.0", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-popper/@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.1", "", { "dependencies": { "@radix-ui/react-primitive": "2.0.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-popper/@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.0", "", { "dependencies": { "@radix-ui/rect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-popper/@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.0", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw=="], - - "@modelcontextprotocol/inspector-client/@radix-ui/react-select/@radix-ui/react-popper/@radix-ui/rect": ["@radix-ui/rect@1.1.0", "", {}, "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg=="], - "@modelcontextprotocol/inspector-server/@modelcontextprotocol/sdk/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], "@modelcontextprotocol/inspector/@modelcontextprotocol/sdk/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], @@ -13123,11 +13041,59 @@ "@nuxt/devtools/vite-plugin-inspect/open/define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], - "@react-native/babel-plugin-codegen/@react-native/codegen/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "@preact/preset-vite/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "@preact/preset-vite/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], - "@react-native/babel-plugin-codegen/@react-native/codegen/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "@preact/preset-vite/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], - "@react-native/babel-plugin-codegen/@react-native/codegen/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@preact/preset-vite/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + + "@radix-ui/react-arrow/@radix-ui/react-primitive/@radix-ui/react-slot/@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw=="], + + "@radix-ui/react-visually-hidden/@radix-ui/react-primitive/@radix-ui/react-slot/@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw=="], "@react-native/community-cli-plugin/@react-native/dev-middleware/chrome-launcher/escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], @@ -13177,6 +13143,106 @@ "@schematics/angular/@angular-devkit/core/rxjs/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@storybook/builder-vite/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "@storybook/builder-vite/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "@storybook/react-vite/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + "@storybook/test/@testing-library/jest-dom/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], "@storybook/test/@vitest/expect/@vitest/utils/@vitest/pretty-format": ["@vitest/pretty-format@2.0.5", "", { "dependencies": { "tinyrainbow": "^1.2.0" } }, "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ=="], @@ -13227,12 +13293,6 @@ "@tanstack/react-start-server/h3/unenv/pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], - "@tanstack/start-plugin-core/@tanstack/router-plugin/@babel/traverse/@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], - - "@tanstack/start-plugin-core/@tanstack/router-plugin/@babel/traverse/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "@tanstack/start-plugin-core/@tanstack/router-plugin/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "@tanstack/start-plugin-core/h3/unenv/mime": ["mime@3.0.0", "", { "bin": { "mime": "cli.js" } }, "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="], "@tanstack/start-plugin-core/h3/unenv/pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="], @@ -13249,31 +13309,165 @@ "@vercel/nft/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "@vitejs/plugin-basic-ssl/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "@vitejs/plugin-vue-jsx/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + "@xhmikosr/bin-check/execa/onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], "archiver-utils/glob/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], "archiver-utils/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - "babel-jest/@jest/transform/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "astro/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], - "babel-jest/@jest/transform/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "astro/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], - "babel-jest/@jest/transform/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "astro/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], - "babel-jest/@jest/transform/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "astro/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], - "babel-jest/@jest/transform/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "astro/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], - "babel-jest/@jest/transform/jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], + "astro/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], - "babel-jest/@jest/transform/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "astro/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], - "babel-jest/@jest/transform/write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], + "astro/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "astro/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "astro/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "astro/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "astro/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "astro/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "astro/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "astro/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "astro/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "astro/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "astro/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "astro/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], - "babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], + "astro/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], - "babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "astro/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "astro/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "astro/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "astro/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "astro/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + + "babel-jest/@jest/transform/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "babel-jest/@jest/transform/write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], "babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], @@ -13385,15 +13579,57 @@ "intlayer-cli/webpack/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - "intlayer-editor/@vitejs/plugin-react/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "intlayer-editor/react-router-dom/react-router/cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], + + "intlayer-editor/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], + + "intlayer-editor/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], + + "intlayer-editor/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], + + "intlayer-editor/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], + + "intlayer-editor/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], - "intlayer-editor/@vitejs/plugin-react/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "intlayer-editor/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], - "intlayer-editor/@vitejs/plugin-react/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "intlayer-editor/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], - "intlayer-editor/@vitejs/plugin-react/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "intlayer-editor/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], - "intlayer-editor/@vitejs/plugin-react/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "intlayer-editor/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], + + "intlayer-editor/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], + + "intlayer-editor/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], + + "intlayer-editor/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], + + "intlayer-editor/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], + + "intlayer-editor/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], + + "intlayer-editor/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], + + "intlayer-editor/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], + + "intlayer-editor/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], + + "intlayer-editor/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], + + "intlayer-editor/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], + + "intlayer-editor/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], + + "intlayer-editor/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], + + "intlayer-editor/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], + + "intlayer-editor/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], + + "intlayer-editor/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], + + "intlayer-editor/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], "jest-changed-files/execa/onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], @@ -13445,10 +13681,10 @@ "jest-haste-map/jest-util/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "jest-jasmine2/jest-runtime/@jest/transform/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "jest-jasmine2/jest-runtime/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "jest-jasmine2/jest-runtime/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "jest-jasmine2/jest-runtime/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "jest-jasmine2/jest-runtime/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], @@ -13459,24 +13695,16 @@ "jest-jasmine2/jest-runtime/execa/npm-run-path": ["npm-run-path@4.0.1", "", { "dependencies": { "path-key": "^3.0.0" } }, "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="], - "jest-jasmine2/jest-runtime/execa/onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], - - "jest-jasmine2/jest-runtime/execa/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - - "jest-jasmine2/jest-runtime/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - - "jest-jasmine2/jest-snapshot/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-jasmine2/jest-snapshot/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "jest-jasmine2/jest-snapshot/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "jest-jasmine2/jest-runtime/execa/onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], - "jest-jasmine2/jest-snapshot/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "jest-jasmine2/jest-runtime/execa/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - "jest-jasmine2/jest-snapshot/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "jest-jasmine2/jest-runtime/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], "jest-jasmine2/jest-snapshot/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "jest-jasmine2/jest-snapshot/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "jest-jasmine2/jest-snapshot/@jest/transform/jest-regex-util": ["jest-regex-util@27.5.1", "", {}, "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg=="], "jest-jasmine2/jest-snapshot/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], @@ -13523,8 +13751,6 @@ "jest-watch-typeahead/jest-watcher/@jest/types/@jest/schemas": ["@jest/schemas@28.1.3", "", { "dependencies": { "@sinclair/typebox": "^0.24.1" } }, "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg=="], - "jest-watch-typeahead/jest-watcher/jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "jest-watch-typeahead/jest-watcher/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "jest-watch-typeahead/jest-watcher/string-length/char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="], @@ -13589,12 +13815,6 @@ "js-beautify/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - "karma-coverage/istanbul-lib-instrument/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "karma-coverage/istanbul-lib-instrument/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "karma-coverage/istanbul-lib-instrument/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "karma/body-parser/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], "karma/body-parser/type-is/media-typer": ["media-typer@0.3.0", "", {}, "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="], @@ -13721,18 +13941,18 @@ "react-app-example/@types/jest/pretty-format/react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], + "react-app-example/react-router-dom/react-router/cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], + "react-dev-utils/fork-ts-checker-webpack-plugin/cosmiconfig/yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="], + "react-dev-utils/fork-ts-checker-webpack-plugin/fs-extra/universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], + "react-dev-utils/fork-ts-checker-webpack-plugin/schema-utils/ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], "react-dev-utils/fork-ts-checker-webpack-plugin/schema-utils/ajv-keywords": ["ajv-keywords@3.5.2", "", { "peerDependencies": { "ajv": "^6.9.1" } }, "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="], - "react-native/babel-jest/@jest/transform/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "react-native/babel-jest/@jest/transform/@jest/types": ["@jest/types@29.6.3", "", { "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", "@types/yargs": "^17.0.8", "chalk": "^4.0.0" } }, "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw=="], - "react-native/babel-jest/@jest/transform/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "react-native/babel-jest/@jest/transform/jest-haste-map": ["jest-haste-map@29.7.0", "", { "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.6.3", "jest-util": "^29.7.0", "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "walker": "^1.0.8" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA=="], "react-native/babel-jest/@jest/transform/jest-regex-util": ["jest-regex-util@29.6.3", "", {}, "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg=="], @@ -13745,8 +13965,6 @@ "react-native/babel-jest/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "react-native/babel-plugin-syntax-hermes-parser/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], - "react-router-intlayer/@tailwindcss/vite/@tailwindcss/node/jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], "react-router-intlayer/@tailwindcss/vite/@tailwindcss/oxide/@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.4", "", { "os": "android", "cpu": "arm64" }, "sha512-xMMAe/SaCN/vHfQYui3fqaBDEXMu22BVwQ33veLc8ep+DNy7CWN52L+TTG9y1K397w9nkzv+Mw+mZWISiqhmlA=="], @@ -13773,9 +13991,9 @@ "react-router-intlayer/@tailwindcss/vite/@tailwindcss/oxide/@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.4", "", { "os": "win32", "cpu": "x64" }, "sha512-+7S63t5zhYjslUGb8NcgLpFXD+Kq1F/zt5Xv5qTv7HaFTG/DHyHD9GA6ieNAxhgyA4IcKa/zy7Xx4Oad2/wuhw=="], - "react-router-intlayer/@tailwindcss/vite/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + "react-router-intlayer/@tailwindcss/vite/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], - "react-router-intlayer/react-router-dom/react-router/cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], + "react-router-intlayer/@tailwindcss/vite/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], "react-scripts-intlayer/webpack/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], @@ -13909,6 +14127,8 @@ "react-scripts/webpack-dev-server/webpack-dev-middleware/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + "react-scripts/webpack/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + "renderkid/css-select/domutils/dom-serializer": ["dom-serializer@1.4.1", "", { "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" } }, "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag=="], "renderkid/htmlparser2/domutils/dom-serializer": ["dom-serializer@1.4.1", "", { "dependencies": { "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" } }, "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag=="], @@ -13933,15 +14153,7 @@ "svgo/css-select/domutils/domelementtype": ["domelementtype@1.3.1", "", {}, "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="], - "tanstack-start-intlayer/@vitejs/plugin-react/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "tanstack-start-intlayer/@vitejs/plugin-react/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "tanstack-start-intlayer/@vitejs/plugin-react/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "tanstack-start-intlayer/@vitejs/plugin-react/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "tanstack-start-intlayer/@vitejs/plugin-react/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], "tanstack-start-intlayer/@vitejs/plugin-react/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], @@ -13951,21 +14163,111 @@ "tanstack-start-intlayer/vitest/@vitest/utils/@vitest/pretty-format": ["@vitest/pretty-format@3.0.5", "", { "dependencies": { "tinyrainbow": "^2.0.0" } }, "sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA=="], + "tanstack-start-intlayer/vitest/vite/esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], + "tanstack-start-intlayer/vitest/vite/postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - "vite-plugin-solid/solid-refresh/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "vite-plugin-inspect/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "vite-plugin-inspect/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "vite-plugin-solid/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], - "vite-solid-app-example/vite-plugin-solid/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "vite-plugin-solid/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], - "vite-solid-app-example/vite-plugin-solid/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "vite-plugin-solid/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], - "vite-solid-app-example/vite-plugin-solid/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], + "vite-plugin-solid/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], - "vite-solid-app-example/vite-plugin-solid/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "vite-plugin-solid/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], - "vite-solid-app-example/vite-plugin-solid/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "vite-plugin-solid/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], - "vite-solid-app-example/vite-plugin-solid/solid-refresh/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], + "vite-plugin-solid/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + + "vite-react-app-example/react-router-dom/react-router/cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], "webpack-dev-server/express/accepts/mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], @@ -14093,8 +14395,6 @@ "@expo/package-manager/ora/cli-cursor/restore-cursor/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - "@istanbuljs/load-nyc-config/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - "@jest/console/jest-message-util/pretty-format/@jest/schemas/@sinclair/typebox": ["@sinclair/typebox@0.34.41", "", {}, "sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g=="], "@jest/expect/expect/jest-matcher-utils/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], @@ -14119,6 +14419,8 @@ "@jest/globals/@jest/environment/@jest/fake-timers/jest-util/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "@jest/globals/@jest/environment/@jest/fake-timers/jest-util/ci-info": ["ci-info@4.3.1", "", {}, "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA=="], + "@jest/globals/jest-mock/jest-util/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], "@jest/reporters/jest-message-util/pretty-format/@jest/schemas/@sinclair/typebox": ["@sinclair/typebox@0.34.41", "", {}, "sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g=="], @@ -14233,12 +14535,6 @@ "@rsdoctor/sdk/body-parser/type-is/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - "babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "coa/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], "css-minimizer-webpack-plugin/cssnano/cssnano-preset-default/postcss-calc/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], @@ -14273,16 +14569,6 @@ "jest-environment-node/@jest/fake-timers/jest-message-util/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - "jest-jasmine2/jest-runtime/@jest/transform/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-jasmine2/jest-runtime/@jest/transform/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-jasmine2/jest-runtime/@jest/transform/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "jest-jasmine2/jest-runtime/@jest/transform/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "jest-jasmine2/jest-runtime/@jest/transform/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "jest-jasmine2/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="], "jest-jasmine2/jest-runtime/@jest/transform/write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], @@ -14317,10 +14603,10 @@ "jest-watch-typeahead/jest/@jest/core/@jest/reporters/v8-to-istanbul": ["v8-to-istanbul@8.1.1", "", { "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", "source-map": "^0.7.3" } }, "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w=="], - "jest-watch-typeahead/jest/@jest/core/@jest/transform/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "jest-watch-typeahead/jest/@jest/core/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "jest-watch-typeahead/jest/@jest/core/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "jest-watch-typeahead/jest/@jest/core/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "jest-watch-typeahead/jest/@jest/core/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], @@ -14331,12 +14617,8 @@ "jest-watch-typeahead/jest/@jest/core/jest-changed-files/throat": ["throat@6.0.2", "", {}, "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ=="], - "jest-watch-typeahead/jest/@jest/core/jest-config/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "jest-watch-typeahead/jest/@jest/core/jest-config/@jest/test-sequencer": ["@jest/test-sequencer@27.5.1", "", { "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", "jest-haste-map": "^27.5.1", "jest-runtime": "^27.5.1" } }, "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ=="], - "jest-watch-typeahead/jest/@jest/core/jest-config/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "jest-watch-typeahead/jest/@jest/core/jest-config/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], "jest-watch-typeahead/jest/@jest/core/jest-config/jest-circus": ["jest-circus@27.5.1", "", { "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "expect": "^27.5.1", "is-generator-fn": "^2.0.0", "jest-each": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1", "jest-runtime": "^27.5.1", "jest-snapshot": "^27.5.1", "jest-util": "^27.5.1", "pretty-format": "^27.5.1", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" } }, "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw=="], @@ -14367,18 +14649,10 @@ "jest-watch-typeahead/jest/@jest/core/jest-runtime/strip-bom": ["strip-bom@4.0.0", "", {}, "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="], - "jest-watch-typeahead/jest/@jest/core/jest-snapshot/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "jest-watch-typeahead/jest/@jest/core/jest-snapshot/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-watch-typeahead/jest/@jest/core/jest-snapshot/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "jest-watch-typeahead/jest/@jest/core/jest-snapshot/expect": ["expect@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1" } }, "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw=="], "jest-watch-typeahead/jest/@jest/core/jest-snapshot/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], - "jest-watch-typeahead/jest/@jest/core/jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "jest-watch-typeahead/jest/@jest/core/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "jest-watch-typeahead/jest/@jest/core/jest-validate/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], @@ -14391,12 +14665,8 @@ "jest-watch-typeahead/jest/jest-cli/@jest/types/@types/yargs": ["@types/yargs@16.0.9", "", { "dependencies": { "@types/yargs-parser": "*" } }, "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer": ["@jest/test-sequencer@27.5.1", "", { "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", "jest-haste-map": "^27.5.1", "jest-runtime": "^27.5.1" } }, "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus": ["jest-circus@27.5.1", "", { "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "expect": "^27.5.1", "is-generator-fn": "^2.0.0", "jest-each": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1", "jest-runtime": "^27.5.1", "jest-snapshot": "^27.5.1", "jest-util": "^27.5.1", "pretty-format": "^27.5.1", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" } }, "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw=="], @@ -14411,8 +14681,6 @@ "jest-watch-typeahead/jest/jest-cli/jest-config/slash": ["slash@3.0.0", "", {}, "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="], - "jest-watch-typeahead/jest/jest-cli/jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "jest-watch-typeahead/jest/jest-cli/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "jest-watch-typeahead/jest/jest-cli/jest-validate/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], @@ -14463,10 +14731,6 @@ "pacote/@npmcli/package-json/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - "pkg-dir/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - - "pkg-up/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - "postcss-svgo/svgo/csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="], "react-app-example/@tailwindcss/postcss/@tailwindcss/node/lightningcss/lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ=="], @@ -14509,22 +14773,10 @@ "react-dev-utils/fork-ts-checker-webpack-plugin/schema-utils/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], - "react-native/babel-jest/@jest/transform/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "react-native/babel-jest/@jest/transform/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "react-native/babel-jest/@jest/transform/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "react-native/babel-jest/@jest/transform/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "react-native/babel-jest/@jest/transform/jest-haste-map/jest-worker": ["jest-worker@29.7.0", "", { "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } }, "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw=="], "react-native/babel-jest/@jest/transform/write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - "react-native/babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "react-native/babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-native/babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "react-router-intlayer/@tailwindcss/vite/@tailwindcss/oxide/@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.5.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg=="], @@ -14539,6 +14791,56 @@ "react-router-intlayer/@tailwindcss/vite/@tailwindcss/oxide/@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "react-router-intlayer/@tailwindcss/vite/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + "react-scripts/babel-loader/schema-utils/ajv/json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], "react-scripts/jest/@jest/core/@jest/reporters/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], @@ -14553,6 +14855,8 @@ "react-scripts/jest/@jest/core/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "react-scripts/jest/@jest/core/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "react-scripts/jest/@jest/core/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "react-scripts/jest/@jest/core/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], @@ -14567,8 +14871,6 @@ "react-scripts/jest/@jest/core/jest-config/@jest/test-sequencer": ["@jest/test-sequencer@27.5.1", "", { "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", "jest-haste-map": "^27.5.1", "jest-runtime": "^27.5.1" } }, "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ=="], - "react-scripts/jest/@jest/core/jest-config/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "react-scripts/jest/@jest/core/jest-config/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], "react-scripts/jest/@jest/core/jest-config/jest-circus": ["jest-circus@27.5.1", "", { "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "expect": "^27.5.1", "is-generator-fn": "^2.0.0", "jest-each": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1", "jest-runtime": "^27.5.1", "jest-snapshot": "^27.5.1", "jest-util": "^27.5.1", "pretty-format": "^27.5.1", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" } }, "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw=="], @@ -14599,16 +14901,10 @@ "react-scripts/jest/@jest/core/jest-runtime/strip-bom": ["strip-bom@4.0.0", "", {}, "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="], - "react-scripts/jest/@jest/core/jest-snapshot/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "react-scripts/jest/@jest/core/jest-snapshot/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "react-scripts/jest/@jest/core/jest-snapshot/expect": ["expect@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1" } }, "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw=="], "react-scripts/jest/@jest/core/jest-snapshot/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], - "react-scripts/jest/@jest/core/jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "react-scripts/jest/@jest/core/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "react-scripts/jest/@jest/core/jest-validate/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], @@ -14625,8 +14921,6 @@ "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer": ["@jest/test-sequencer@27.5.1", "", { "dependencies": { "@jest/test-result": "^27.5.1", "graceful-fs": "^4.2.9", "jest-haste-map": "^27.5.1", "jest-runtime": "^27.5.1" } }, "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ=="], - "react-scripts/jest/jest-cli/jest-config/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "react-scripts/jest/jest-cli/jest-config/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], "react-scripts/jest/jest-cli/jest-config/jest-circus": ["jest-circus@27.5.1", "", { "dependencies": { "@jest/environment": "^27.5.1", "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "expect": "^27.5.1", "is-generator-fn": "^2.0.0", "jest-each": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1", "jest-runtime": "^27.5.1", "jest-snapshot": "^27.5.1", "jest-util": "^27.5.1", "pretty-format": "^27.5.1", "slash": "^3.0.0", "stack-utils": "^2.0.3", "throat": "^6.0.1" } }, "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw=="], @@ -14639,8 +14933,6 @@ "react-scripts/jest/jest-cli/jest-config/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], - "react-scripts/jest/jest-cli/jest-util/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "react-scripts/jest/jest-cli/jest-util/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], "react-scripts/jest/jest-cli/jest-validate/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], @@ -14677,7 +14969,105 @@ "svgo/css-select/domutils/dom-serializer/entities": ["entities@2.2.0", "", {}, "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="], - "vite-solid-app-example/vite-plugin-solid/solid-refresh/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "tanstack-start-intlayer/@vitejs/plugin-react/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "tanstack-start-intlayer/vitest/vite/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], "webpack-dev-server/express/accepts/mime-types/mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], @@ -14781,35 +15171,19 @@ "find-cache-dir/pkg-dir/find-up/locate-path/p-locate/p-limit": ["p-limit@4.0.0", "", { "dependencies": { "yocto-queue": "^1.0.0" } }, "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ=="], - "jest-jasmine2/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-jasmine2/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "jest-jasmine2/jest-snapshot/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-jasmine2/jest-snapshot/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "jest-watch-typeahead/jest-watcher/@jest/test-result/@jest/console/jest-message-util/pretty-format": ["pretty-format@28.1.3", "", { "dependencies": { "@jest/schemas": "^28.1.3", "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" } }, "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q=="], - "jest-watch-typeahead/jest/@jest/core/@jest/reporters/istanbul-lib-instrument/@babel/core": ["@babel/core@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.4", "@babel/types": "^7.28.4", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA=="], - - "jest-watch-typeahead/jest/@jest/core/@jest/reporters/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-watch-typeahead/jest/@jest/core/@jest/reporters/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "jest-watch-typeahead/jest/@jest/core/@jest/reporters/string-length/char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="], - "jest-watch-typeahead/jest/@jest/core/@jest/reporters/v8-to-istanbul/source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], - - "jest-watch-typeahead/jest/@jest/core/@jest/transform/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-watch-typeahead/jest/@jest/core/@jest/transform/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-watch-typeahead/jest/@jest/core/@jest/transform/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "jest-watch-typeahead/jest/@jest/core/@jest/transform/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], + "jest-watch-typeahead/jest/@jest/core/@jest/reporters/v8-to-istanbul/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], - "jest-watch-typeahead/jest/@jest/core/@jest/transform/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "jest-watch-typeahead/jest/@jest/core/@jest/reporters/v8-to-istanbul/source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], "jest-watch-typeahead/jest/@jest/core/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="], @@ -14827,16 +15201,6 @@ "jest-watch-typeahead/jest/@jest/core/jest-changed-files/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - "jest-watch-typeahead/jest/@jest/core/jest-config/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-watch-typeahead/jest/@jest/core/jest-config/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-watch-typeahead/jest/@jest/core/jest-config/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "jest-watch-typeahead/jest/@jest/core/jest-config/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "jest-watch-typeahead/jest/@jest/core/jest-config/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "jest-watch-typeahead/jest/@jest/core/jest-config/jest-circus/dedent": ["dedent@0.7.0", "", {}, "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA=="], "jest-watch-typeahead/jest/@jest/core/jest-config/jest-circus/expect": ["expect@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1" } }, "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw=="], @@ -14853,8 +15217,6 @@ "jest-watch-typeahead/jest/@jest/core/jest-message-util/pretty-format/react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], - "jest-watch-typeahead/jest/@jest/core/jest-runner/jest-docblock/detect-newline": ["detect-newline@3.1.0", "", {}, "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA=="], - "jest-watch-typeahead/jest/@jest/core/jest-runner/jest-leak-detector/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], "jest-watch-typeahead/jest/@jest/core/jest-runtime/@jest/globals/expect": ["expect@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1" } }, "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw=="], @@ -14873,16 +15235,6 @@ "jest-watch-typeahead/jest/@jest/core/jest-runtime/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - "jest-watch-typeahead/jest/@jest/core/jest-snapshot/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-watch-typeahead/jest/@jest/core/jest-snapshot/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "jest-watch-typeahead/jest/@jest/core/jest-snapshot/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "jest-watch-typeahead/jest/@jest/core/jest-snapshot/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-watch-typeahead/jest/@jest/core/jest-snapshot/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-watch-typeahead/jest/@jest/core/jest-snapshot/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], "jest-watch-typeahead/jest/@jest/core/jest-snapshot/pretty-format/react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], @@ -14897,16 +15249,6 @@ "jest-watch-typeahead/jest/jest-cli/@jest/test-result/@jest/console/slash": ["slash@3.0.0", "", {}, "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/@babel/core/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-haste-map": ["jest-haste-map@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^27.5.1", "jest-serializer": "^27.5.1", "jest-util": "^27.5.1", "jest-worker": "^27.5.1", "micromatch": "^4.0.4", "walker": "^1.0.7" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng=="], "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime": ["jest-runtime@27.5.1", "", { "dependencies": { "@jest/environment": "^27.5.1", "@jest/fake-timers": "^27.5.1", "@jest/globals": "^27.5.1", "@jest/source-map": "^27.5.1", "@jest/test-result": "^27.5.1", "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "execa": "^5.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", "jest-haste-map": "^27.5.1", "jest-message-util": "^27.5.1", "jest-mock": "^27.5.1", "jest-regex-util": "^27.5.1", "jest-resolve": "^27.5.1", "jest-snapshot": "^27.5.1", "jest-util": "^27.5.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" } }, "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A=="], @@ -14959,20 +15301,14 @@ "react-app-example/@tailwindcss/postcss/@tailwindcss/oxide/@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], - "react-native/babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "react-native/babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "react-native/babel-jest/babel-plugin-istanbul/istanbul-lib-instrument/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "react-router-intlayer/@tailwindcss/vite/@tailwindcss/oxide/@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], - "react-scripts/jest/@jest/core/@jest/reporters/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-scripts/jest/@jest/core/@jest/reporters/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "react-scripts/jest/@jest/core/@jest/reporters/string-length/char-regex": ["char-regex@1.0.2", "", {}, "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="], + "react-scripts/jest/@jest/core/@jest/reporters/v8-to-istanbul/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "react-scripts/jest/@jest/core/@jest/reporters/v8-to-istanbul/source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], "react-scripts/jest/@jest/core/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="], @@ -15007,8 +15343,6 @@ "react-scripts/jest/@jest/core/jest-message-util/pretty-format/react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], - "react-scripts/jest/@jest/core/jest-runner/jest-docblock/detect-newline": ["detect-newline@3.1.0", "", {}, "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA=="], - "react-scripts/jest/@jest/core/jest-runner/jest-leak-detector/pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], "react-scripts/jest/@jest/core/jest-runtime/@jest/globals/expect": ["expect@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1" } }, "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw=="], @@ -15027,10 +15361,6 @@ "react-scripts/jest/@jest/core/jest-runtime/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - "react-scripts/jest/@jest/core/jest-snapshot/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "react-scripts/jest/@jest/core/jest-snapshot/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-scripts/jest/@jest/core/jest-snapshot/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], "react-scripts/jest/@jest/core/jest-snapshot/pretty-format/react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], @@ -15115,14 +15445,6 @@ "jest-watch-typeahead/jest-watcher/@jest/test-result/@jest/console/jest-message-util/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], - "jest-watch-typeahead/jest/@jest/core/@jest/reporters/istanbul-lib-instrument/@babel/core/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-watch-typeahead/jest/@jest/core/@jest/reporters/istanbul-lib-instrument/@babel/core/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - - "jest-watch-typeahead/jest/@jest/core/@jest/reporters/istanbul-lib-instrument/@babel/core/convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - - "jest-watch-typeahead/jest/@jest/core/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-watch-typeahead/jest/@jest/core/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "jest-watch-typeahead/jest/@jest/core/jest-changed-files/execa/onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], @@ -15165,22 +15487,18 @@ "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/strip-bom": ["strip-bom@4.0.0", "", {}, "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform": ["@jest/transform@27.5.1", "", { "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^27.5.1", "jest-regex-util": "^27.5.1", "jest-util": "^27.5.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" } }, "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/jest-haste-map": ["jest-haste-map@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^27.5.1", "jest-serializer": "^27.5.1", "jest-util": "^27.5.1", "jest-worker": "^27.5.1", "micromatch": "^4.0.4", "walker": "^1.0.7" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-docblock/detect-newline": ["detect-newline@3.1.0", "", {}, "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-runtime/@jest/globals": ["@jest/globals@27.5.1", "", { "dependencies": { "@jest/environment": "^27.5.1", "@jest/types": "^27.5.1", "expect": "^27.5.1" } }, "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-runtime/@jest/source-map": ["@jest/source-map@27.5.1", "", { "dependencies": { "callsites": "^3.0.0", "graceful-fs": "^4.2.9", "source-map": "^0.6.0" } }, "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg=="], @@ -15193,8 +15511,6 @@ "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-runtime/strip-bom": ["strip-bom@4.0.0", "", {}, "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="], - "react-scripts/jest/@jest/core/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-scripts/jest/@jest/core/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "react-scripts/jest/@jest/core/jest-changed-files/execa/onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], @@ -15237,22 +15553,18 @@ "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/strip-bom": ["strip-bom@4.0.0", "", {}, "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="], - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform": ["@jest/transform@27.5.1", "", { "dependencies": { "@babel/core": "^7.1.0", "@jest/types": "^27.5.1", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.9", "jest-haste-map": "^27.5.1", "jest-regex-util": "^27.5.1", "jest-util": "^27.5.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" } }, "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw=="], "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/jest-haste-map": ["jest-haste-map@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^27.5.1", "jest-serializer": "^27.5.1", "jest-util": "^27.5.1", "jest-worker": "^27.5.1", "micromatch": "^4.0.4", "walker": "^1.0.7" }, "optionalDependencies": { "fsevents": "^2.3.2" } }, "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng=="], "react-scripts/jest/jest-cli/jest-config/jest-runner/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "react-scripts/jest/jest-cli/jest-config/jest-runner/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "react-scripts/jest/jest-cli/jest-config/jest-runner/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "react-scripts/jest/jest-cli/jest-config/jest-runner/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], - "react-scripts/jest/jest-cli/jest-config/jest-runner/jest-docblock/detect-newline": ["detect-newline@3.1.0", "", {}, "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA=="], - "react-scripts/jest/jest-cli/jest-config/jest-runner/jest-runtime/@jest/globals": ["@jest/globals@27.5.1", "", { "dependencies": { "@jest/environment": "^27.5.1", "@jest/types": "^27.5.1", "expect": "^27.5.1" } }, "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q=="], "react-scripts/jest/jest-cli/jest-config/jest-runner/jest-runtime/@jest/source-map": ["@jest/source-map@27.5.1", "", { "dependencies": { "callsites": "^3.0.0", "graceful-fs": "^4.2.9", "source-map": "^0.6.0" } }, "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg=="], @@ -15283,6 +15595,8 @@ "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], @@ -15299,16 +15613,14 @@ "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/jest-snapshot/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/jest-snapshot/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/jest-snapshot/expect": ["expect@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1" } }, "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/source-map/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], @@ -15325,12 +15637,10 @@ "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], @@ -15355,10 +15665,6 @@ "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-runtime/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-runtime/jest-snapshot/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-runtime/jest-snapshot/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-runtime/jest-snapshot/expect": ["expect@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1" } }, "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw=="], "react-scripts/jest/jest-cli/@jest/test-result/@jest/console/jest-message-util/pretty-format/ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], @@ -15371,6 +15677,8 @@ "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], @@ -15387,16 +15695,14 @@ "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/jest-snapshot/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/jest-snapshot/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/jest-snapshot/expect": ["expect@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1" } }, "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw=="], "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/source-map/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], @@ -15413,12 +15719,10 @@ "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/babel-plugin-istanbul": ["babel-plugin-istanbul@6.1.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^5.0.4", "test-exclude": "^6.0.0" } }, "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA=="], + "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/write-file-atomic": ["write-file-atomic@3.0.3", "", { "dependencies": { "imurmurhash": "^0.1.4", "is-typedarray": "^1.0.0", "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } }, "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="], @@ -15443,10 +15747,6 @@ "react-scripts/jest/jest-cli/jest-config/jest-runner/jest-runtime/execa/strip-final-newline": ["strip-final-newline@2.0.0", "", {}, "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="], - "react-scripts/jest/jest-cli/jest-config/jest-runner/jest-runtime/jest-snapshot/@babel/generator": ["@babel/generator@7.28.3", "", { "dependencies": { "@babel/parser": "^7.28.3", "@babel/types": "^7.28.2", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw=="], - - "react-scripts/jest/jest-cli/jest-config/jest-runner/jest-runtime/jest-snapshot/@babel/traverse": ["@babel/traverse@7.28.4", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", "@babel/types": "^7.28.4", "debug": "^4.3.1" } }, "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ=="], - "react-scripts/jest/jest-cli/jest-config/jest-runner/jest-runtime/jest-snapshot/expect": ["expect@27.5.1", "", { "dependencies": { "@jest/types": "^27.5.1", "jest-get-type": "^27.5.1", "jest-matcher-utils": "^27.5.1", "jest-message-util": "^27.5.1" } }, "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw=="], "@rsbuild/plugin-css-minimizer/css-minimizer-webpack-plugin/cssnano/cssnano-preset-default/postcss-svgo/svgo/csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="], @@ -15459,10 +15759,6 @@ "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/execa/onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/jest-snapshot/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/jest-snapshot/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], @@ -15473,26 +15769,16 @@ "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-runtime/execa/onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-runtime/jest-snapshot/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-runner/jest-runtime/jest-snapshot/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="], "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/execa/onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], - "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/jest-snapshot/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/jest-snapshot/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="], "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], @@ -15503,38 +15789,20 @@ "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - "react-scripts/jest/jest-cli/jest-config/jest-runner/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-scripts/jest/jest-cli/jest-config/jest-runner/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "react-scripts/jest/jest-cli/jest-config/jest-runner/jest-runtime/execa/onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], - "react-scripts/jest/jest-cli/jest-config/jest-runner/jest-runtime/jest-snapshot/@babel/generator/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "react-scripts/jest/jest-cli/jest-config/jest-runner/jest-runtime/jest-snapshot/@babel/traverse/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - - "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "jest-watch-typeahead/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-scripts/jest/jest-cli/jest-config/@jest/test-sequencer/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-runtime/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/@babel/parser": ["@babel/parser@7.28.4", "", { "dependencies": { "@babel/types": "^7.28.4" }, "bin": "./bin/babel-parser.js" }, "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg=="], - "react-scripts/jest/jest-cli/jest-config/jest-circus/jest-snapshot/@jest/transform/babel-plugin-istanbul/istanbul-lib-instrument/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], } } diff --git a/docs/intlayer.config.ts b/docs/intlayer.config.ts index 8d6301853..ff749916f 100644 --- a/docs/intlayer.config.ts +++ b/docs/intlayer.config.ts @@ -1,4 +1,4 @@ -import { type CustomIntlayerConfig, Locales } from '@intlayer/types'; +import { type CustomIntlayerConfig, Locales } from '@intlayer/config'; export const locales = [ Locales.ENGLISH, diff --git a/docs/package.json b/docs/package.json index 5b32d2bb1..c4e529186 100644 --- a/docs/package.json +++ b/docs/package.json @@ -48,10 +48,10 @@ "legal" ], "scripts": { - "prebuild": "tsx tools/generateEntry.ts", + "prebuild": "bun tools/generateEntry.ts", "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -61,16 +61,15 @@ "review": "bun tools/review.ts", "serve": "webpack serve --config ./webpack.config.ts", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:markdown": "tsx tools/markdownFormatting.ts", + "test:markdown": "bun tools/markdownFormatting.ts", "test:watch": "vitest", - "translate": "tsx tools/translate.ts", + "translate": "bun tools/translate.ts", "transpile": "webpack --config ./webpack.config.ts", + "typecheck": "tsdown --project ./tsconfig.json --noEmit", "watch": "webpack --config ./webpack.config.ts --watch" }, "dependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*" }, "devDependencies": { @@ -80,7 +79,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "fast-glob": "3.3.3", "rimraf": "6.0.1", "typescript": "5.9.3", @@ -90,7 +89,6 @@ "@intlayer/api": "workspace:*", "@intlayer/cli": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*" }, "engines": { diff --git a/docs/src/blog.ts b/docs/src/blog.ts index 12512872f..d626a68a1 100644 --- a/docs/src/blog.ts +++ b/docs/src/blog.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config'; import { defaultLocale, type FileMetadata, diff --git a/docs/src/common.ts b/docs/src/common.ts index d462a13e1..da56dcd85 100644 --- a/docs/src/common.ts +++ b/docs/src/common.ts @@ -1,6 +1,6 @@ import { join } from 'node:path'; +import { Locales, type LocalesValues } from '@intlayer/config'; import { getLocalizedUrl, getMarkdownMetadata } from '@intlayer/core'; -import { Locales, type LocalesValues } from '@intlayer/types'; export const defaultLocale = Locales.ENGLISH; diff --git a/docs/src/doc.ts b/docs/src/doc.ts index 95e5837b4..7d511f120 100644 --- a/docs/src/doc.ts +++ b/docs/src/doc.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config'; import { defaultLocale, type FileMetadata, diff --git a/docs/src/frequentQuestions.ts b/docs/src/frequentQuestions.ts index 4190a0bcb..016538e33 100644 --- a/docs/src/frequentQuestions.ts +++ b/docs/src/frequentQuestions.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config'; import { defaultLocale, type FileMetadata, @@ -23,42 +23,38 @@ export const getFrequentQuestionsKeys = (): (keyof typeof frequentQuestionsEntry)[] => getKeys(frequentQuestionsEntry); -export const getFrequentQuestions = async ( +export const getFrequentQuestions = async ( locale: L = defaultLocale as L ): Promise> => getFiles(frequentQuestionsEntry, locale); -export const getFrequentQuestion = async ( +export const getFrequentQuestion = async ( docName: FrequentQuestionKey, locale: L = defaultLocale as L ): Promise => getFile(frequentQuestionsEntry, docName, locale); -export const getFrequentQuestionMetadataRecord = async < - L extends LocalesValues, ->( +export const getFrequentQuestionMetadataRecord = async ( locale: L = defaultLocale as L ): Promise> => getFileMetadataRecord(frequentQuestionsEntry, locale); export const getFrequentQuestionMetadata = async < D extends FrequentQuestionKey, - L extends LocalesValues, + L extends Locales, >( docName: D, locale: L = defaultLocale as L ): Promise => getFileMetadata(frequentQuestionsEntry, docName, locale); -export const getFrequentQuestionMetadataBySlug = async < - L extends LocalesValues, ->( +export const getFrequentQuestionMetadataBySlug = async ( slugs: string | string[], locale: L = defaultLocale as L, strict = false ): Promise => await getFileMetadataBySlug(frequentQuestionsEntry, slugs, locale, strict); -export const getFrequentQuestionBySlug = async ( +export const getFrequentQuestionBySlug = async ( slugs: string | string[], locale: L = defaultLocale as L, strict = false diff --git a/docs/src/generated/blog.entry.ts b/docs/src/generated/blog.entry.ts index 7f57944db..455b94864 100644 --- a/docs/src/generated/blog.entry.ts +++ b/docs/src/generated/blog.entry.ts @@ -4,7 +4,7 @@ import { existsSync } from 'node:fs'; import { readFile } from 'node:fs/promises'; import { dirname, join } from 'node:path'; import { fileURLToPath } from 'node:url'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config'; const isESModule = typeof import.meta.url === 'string'; const dir = isESModule ? dirname(fileURLToPath(import.meta.url)) : __dirname; diff --git a/docs/src/generated/docs.entry.ts b/docs/src/generated/docs.entry.ts index bd9350668..a37ad3f1e 100644 --- a/docs/src/generated/docs.entry.ts +++ b/docs/src/generated/docs.entry.ts @@ -4,7 +4,7 @@ import { existsSync } from 'node:fs'; import { readFile } from 'node:fs/promises'; import { dirname, join } from 'node:path'; import { fileURLToPath } from 'node:url'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config'; const isESModule = typeof import.meta.url === 'string'; const dir = isESModule ? dirname(fileURLToPath(import.meta.url)) : __dirname; diff --git a/docs/src/generated/frequentQuestions.entry.ts b/docs/src/generated/frequentQuestions.entry.ts index 39aa85e2b..dedff0da7 100644 --- a/docs/src/generated/frequentQuestions.entry.ts +++ b/docs/src/generated/frequentQuestions.entry.ts @@ -4,7 +4,7 @@ import { existsSync } from 'node:fs'; import { readFile } from 'node:fs/promises'; import { dirname, join } from 'node:path'; import { fileURLToPath } from 'node:url'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config'; const isESModule = typeof import.meta.url === 'string'; const dir = isESModule ? dirname(fileURLToPath(import.meta.url)) : __dirname; diff --git a/docs/src/generated/legal.entry.ts b/docs/src/generated/legal.entry.ts index 78de7d97e..77718cee6 100644 --- a/docs/src/generated/legal.entry.ts +++ b/docs/src/generated/legal.entry.ts @@ -4,7 +4,7 @@ import { existsSync } from 'node:fs'; import { readFile } from 'node:fs/promises'; import { dirname, join } from 'node:path'; import { fileURLToPath } from 'node:url'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config'; const isESModule = typeof import.meta.url === 'string'; const dir = isESModule ? dirname(fileURLToPath(import.meta.url)) : __dirname; diff --git a/docs/src/legal.ts b/docs/src/legal.ts index ac0544e2e..b3bb85b81 100644 --- a/docs/src/legal.ts +++ b/docs/src/legal.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config'; import { defaultLocale, type FileMetadata, diff --git a/docs/tools/generateEntry.ts b/docs/tools/generateEntry.ts index ed956f0c0..68a55e3bb 100644 --- a/docs/tools/generateEntry.ts +++ b/docs/tools/generateEntry.ts @@ -138,7 +138,7 @@ const buildEntryContent = ( `import { readFile } from 'node:fs/promises';`, `import { dirname, join } from 'node:path';`, `import { fileURLToPath } from 'node:url';`, - `import type { LocalesValues } from '@intlayer/types';`, + `import type { LocalesValues } from '@intlayer/config';`, ``, `const isESModule = typeof import.meta.url === 'string';`, `const dir = isESModule ? dirname(fileURLToPath(import.meta.url)) : __dirname;`, diff --git a/docs/tools/review.ts b/docs/tools/review.ts index 687ed2b65..b7524f5c5 100644 --- a/docs/tools/review.ts +++ b/docs/tools/review.ts @@ -2,8 +2,7 @@ import { readFileSync } from 'node:fs'; import { join } from 'node:path'; import type { AIOptions } from '@intlayer/api'; import { type ListGitFilesOptions, reviewDoc } from '@intlayer/cli'; -import { getConfiguration } from '@intlayer/config'; -import { Locales } from '@intlayer/types'; +import { getConfiguration, Locales } from '@intlayer/config'; import { defaultLocale, locales } from '../intlayer.config'; // Fill the list of files to audit if you want to audit only a subset of the files diff --git a/docs/tools/slugConsistancy.ts b/docs/tools/slugConsistancy.ts index 54cf46ffd..3ad3e1242 100644 --- a/docs/tools/slugConsistancy.ts +++ b/docs/tools/slugConsistancy.ts @@ -75,9 +75,7 @@ export const runSlugConsistencyTest = (): SlugConsistencyResult => { // Debug: Show first few files found if (englishFiles.length > 0) { console.info('First few files found:'); - englishFiles.slice(0, 5).forEach((file) => { - console.info(' -', file); - }); + englishFiles.slice(0, 5).forEach((file) => console.info(' -', file)); } else { console.info('No files found - debugging...'); // Try without ignore patterns @@ -92,9 +90,9 @@ export const runSlugConsistencyTest = (): SlugConsistencyResult => { ); if (filesWithoutIgnore.length > 0) { console.info('First few files without ignore:'); - filesWithoutIgnore.slice(0, 5).forEach((file) => { - console.info(' -', file); - }); + filesWithoutIgnore + .slice(0, 5) + .forEach((file) => console.info(' -', file)); } } diff --git a/docs/tools/translate.ts b/docs/tools/translate.ts index 66767d416..c05590e1b 100644 --- a/docs/tools/translate.ts +++ b/docs/tools/translate.ts @@ -2,8 +2,7 @@ import { readFileSync } from 'node:fs'; import { join } from 'node:path'; import type { AIOptions } from '@intlayer/api'; import { type ListGitFilesOptions, translateDoc } from '@intlayer/cli'; -import { getConfiguration } from '@intlayer/config'; -import { Locales } from '@intlayer/types'; +import { getConfiguration, Locales } from '@intlayer/config'; import { defaultLocale, locales } from '../intlayer.config'; // Fill the list of files to audit if you want to audit only a subset of the files diff --git a/docs/tsconfig.types.json b/docs/tsconfig.types.json index b405b7cac..922b10e4c 100644 --- a/docs/tsconfig.types.json +++ b/docs/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/examples/express-app/package.json b/examples/express-app/package.json index 4f9941548..72cb05bc9 100644 --- a/examples/express-app/package.json +++ b/examples/express-app/package.json @@ -42,7 +42,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "typescript": "5.9.3" } } diff --git a/examples/express-app/tsconfig.types.json b/examples/express-app/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/examples/express-app/tsconfig.types.json +++ b/examples/express-app/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/examples/tanstack-start-app/package.json b/examples/tanstack-start-app/package.json index 92ae20684..d473b9afb 100644 --- a/examples/tanstack-start-app/package.json +++ b/examples/tanstack-start-app/package.json @@ -8,7 +8,6 @@ "build": "vite build", "serve": "vite preview", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", "start:editor": "npx intlayer-editor start -e development", "intlayer:build": "intlayer build" }, diff --git a/intlayer.config.ts b/intlayer.config.ts index ab1ba475f..129a9800a 100644 --- a/intlayer.config.ts +++ b/intlayer.config.ts @@ -1,3 +1,5 @@ +import { type IntlayerConfig, Locales } from 'intlayer'; + const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], diff --git a/package.json b/package.json index 89d64faac..e8738b1f1 100644 --- a/package.json +++ b/package.json @@ -34,50 +34,48 @@ "check:fix": "biome check --write .", "clean": "turbo clean --filter=./packages/** --filter=./docs --filter=./apps/backend", "clean:node_modules": "rimraf node_modules ./**/node_modules", - "clean:packages:node_modules": "rimraf ./**/node_modules", "dev": "bun ./scripts/script-dev-package-command.mjs --command build", - "dev:pick": "bun ./scripts/script-pick.mjs --command dev", + "dev:pick": "bun ./scripts/script-pick.mjs --command dev", "docker:backend:build": "docker build -t intlayer-backend -f ./apps/backend/Dockerfile --progress=plain .", "docker:backend:start": "docker run --rm -p 3100:3100 --name intlayer-backend-app intlayer-backend", "docker:mcp:build": "docker build -t intlayer-mcp -f ./packages/@intlayer/mcp/Dockerfile --progress=plain .", "docker:mcp:start": "docker run --rm -p 3000:3000 --name intlayer-mcp-app intlayer-mcp", "docker:website:build": "./scripts/docker-build-website.sh", "docker:website:start": "docker run --rm -p 3000:3000 --name intlayer-website-app intlayer-website", - "docker:design-system:build": "docker build -t intlayer-design-system -f ./packages/@intlayer/design-system/Dockerfile --progress=plain .", + "docker:design-system:build": "docker build -t intlayer-design-system -f ./packages/@intlayer/design-system/Dockerfile --progress=plain .", "docker:design-system:start": "docker run --rm -p 3000:3000 --name intlayer-design-system-app intlayer-design-system", "format": "biome format . --check", "format:fix": "biome format --write .", - "format:package": "prettier --write '**/package.json'", "install:packages": "bun install --filter '!./examples/**' --filter '!./apps/website/**'", "lint": "biome lint .", "lint-staged": "lint-staged --allow-empty", "lint:fix": "biome lint --write .", "prepare": "husky", "prepublish": "turbo prepublish --filter=./packages/** --filter=./docs --filter=./apps/backend", - "test": "turbo test --filter=./packages/** --filter=./docs --filter=./apps/backend --concurrency=2", + "test": "turbo test --parallel --filter=./packages/** --filter=./docs --filter=./apps/backend", "test:pick": "bun ./scripts/script-pick.mjs --command test", - "typecheck": "turbo typecheck --filter=./packages/** --filter=./docs --filter=./apps/backend --concurrency=1" + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "devDependencies": { "@biomejs/biome": "2.2.4", + "@changesets/changelog-github": "0.5.1", + "@changesets/cli": "2.29.7", "@commitlint/cli": "20.1.0", "@commitlint/config-conventional": "20.0.0", "@commitlint/types": "20.0.0", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "bun": "1.3.0", "chokidar": "3.6.0", "enquirer": "2.4.1", + "eslint-config-next": "^15.5.6", "fast-glob": "3.3.3", "husky": "9.1.7", "lint-staged": "16.2.4", "minimist": "1.2.8", "prettier": "3.6.2", - "prettier-plugin-packagejson": "^2.5.19", "rimraf": "6.0.1", "rollup-plugin-visualizer": "6.0.4", - "tsdown": "0.15.7", "turbo": "2.5.8", "vite-tsconfig-paths": "5.1.4", "vitest": "3.2.4" diff --git a/packages/@intlayer/api/package.json b/packages/@intlayer/api/package.json index 7bbef69e9..42a876724 100644 --- a/packages/@intlayer/api/package.json +++ b/packages/@intlayer/api/package.json @@ -57,7 +57,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -65,26 +65,28 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/config": "workspace:*" }, "devDependencies": { + "@changesets/changelog-github": "0.5.1", + "@changesets/cli": "2.29.7", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/backend": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "intlayer-editor": "workspace:*" }, "peerDependenciesMeta": { diff --git a/packages/@intlayer/api/src/distantDictionary/fetchDistantDictionaries.ts b/packages/@intlayer/api/src/distantDictionary/fetchDistantDictionaries.ts index 3c3987363..f9c992d55 100644 --- a/packages/@intlayer/api/src/distantDictionary/fetchDistantDictionaries.ts +++ b/packages/@intlayer/api/src/distantDictionary/fetchDistantDictionaries.ts @@ -1,4 +1,4 @@ -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { getIntlayerAPIProxy } from '../proxy'; import type { DictionaryAPI } from '../types'; diff --git a/packages/@intlayer/api/src/distantDictionary/fetchDistantDictionary.ts b/packages/@intlayer/api/src/distantDictionary/fetchDistantDictionary.ts index adce20af6..765081318 100644 --- a/packages/@intlayer/api/src/distantDictionary/fetchDistantDictionary.ts +++ b/packages/@intlayer/api/src/distantDictionary/fetchDistantDictionary.ts @@ -1,4 +1,4 @@ -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { getIntlayerAPIProxy } from '../proxy'; import type { DictionaryAPI } from '../types'; diff --git a/packages/@intlayer/api/src/getIntlayerAPI/ai.ts b/packages/@intlayer/api/src/getIntlayerAPI/ai.ts index b71a3f8cd..5622936df 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/ai.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/ai.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { AskDocQuestionResult, @@ -36,7 +36,7 @@ export const getAiAPI = ( intlayerConfig?: IntlayerConfig ) => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; if (!backendURL) { throw new Error( diff --git a/packages/@intlayer/api/src/getIntlayerAPI/dictionary.ts b/packages/@intlayer/api/src/getIntlayerAPI/dictionary.ts index 61c12888b..a676006ee 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/dictionary.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/dictionary.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { AddDictionaryBody, @@ -24,7 +24,7 @@ export const getDictionaryAPI = ( intlayerConfig?: IntlayerConfig ) => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; if (!backendURL) { throw new Error( diff --git a/packages/@intlayer/api/src/getIntlayerAPI/editor.ts b/packages/@intlayer/api/src/getIntlayerAPI/editor.ts index 2faa5323e..08cc36abd 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/editor.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/editor.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { GetConfigurationResult, @@ -13,7 +13,7 @@ export const getEditorAPI = ( intlayerConfig?: IntlayerConfig ) => { const editorURL = - intlayerConfig?.editor?.editorURL ?? configuration?.editor?.editorURL; + intlayerConfig?.editor?.editorURL ?? configuration.editor?.editorURL; if (!editorURL) { throw new Error('Editor URL is not defined in the Intlayer configuration.'); diff --git a/packages/@intlayer/api/src/getIntlayerAPI/index.ts b/packages/@intlayer/api/src/getIntlayerAPI/index.ts index bfb7d811d..13c3eff1a 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/index.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/index.ts @@ -1,4 +1,4 @@ -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import type { FetcherOptions } from '../fetcher'; import { getAiAPI } from './ai'; import { getDictionaryAPI } from './dictionary'; diff --git a/packages/@intlayer/api/src/getIntlayerAPI/newsletter.ts b/packages/@intlayer/api/src/getIntlayerAPI/newsletter.ts index 1dda0f2fc..764fd6151 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/newsletter.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/newsletter.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { NewsletterSubscriptionBody, @@ -12,7 +12,7 @@ export const getNewsletterAPI = ( intlayerConfig?: IntlayerConfig ) => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; if (!backendURL) { throw new Error( diff --git a/packages/@intlayer/api/src/getIntlayerAPI/oAuth.ts b/packages/@intlayer/api/src/getIntlayerAPI/oAuth.ts index 62589cf1b..dbf4c2fbd 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/oAuth.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/oAuth.ts @@ -1,11 +1,11 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { GetOAuth2TokenBody, GetOAuth2TokenResult } from '../types'; export const getOAuthAPI = (intlayerConfig?: IntlayerConfig) => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; const { clientId, clientSecret } = intlayerConfig?.editor ?? {}; if (!backendURL) { diff --git a/packages/@intlayer/api/src/getIntlayerAPI/organization.ts b/packages/@intlayer/api/src/getIntlayerAPI/organization.ts index 8856839ae..d3fb9e1fe 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/organization.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/organization.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { AddOrganizationBody, @@ -25,7 +25,7 @@ export const getOrganizationAPI = ( intlayerConfig?: IntlayerConfig ) => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; if (!backendURL) { throw new Error( diff --git a/packages/@intlayer/api/src/getIntlayerAPI/project.ts b/packages/@intlayer/api/src/getIntlayerAPI/project.ts index 1280db8a8..a21481b5c 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/project.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/project.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { AddNewAccessKeyBody, @@ -29,7 +29,7 @@ export const getProjectAPI = ( intlayerConfig?: IntlayerConfig ) => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; if (!backendURL) { throw new Error( diff --git a/packages/@intlayer/api/src/getIntlayerAPI/search.ts b/packages/@intlayer/api/src/getIntlayerAPI/search.ts index ad90c5d93..87d085564 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/search.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/search.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { SearchDocUtilParams, SearchDocUtilResult } from '../types'; @@ -8,7 +8,7 @@ export const getSearchAPI = ( intlayerConfig?: IntlayerConfig ) => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; if (!backendURL) { throw new Error( diff --git a/packages/@intlayer/api/src/getIntlayerAPI/stripe.ts b/packages/@intlayer/api/src/getIntlayerAPI/stripe.ts index 1a002e392..3dd77242e 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/stripe.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/stripe.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { GetCheckoutSessionBody, @@ -13,7 +13,7 @@ export const getStripeAPI = ( intlayerConfig?: IntlayerConfig ) => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; if (!backendURL) { throw new Error( diff --git a/packages/@intlayer/api/src/getIntlayerAPI/tag.ts b/packages/@intlayer/api/src/getIntlayerAPI/tag.ts index d0c083af6..3d0c654fe 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/tag.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/tag.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { AddTagBody, @@ -18,7 +18,7 @@ export const getTagAPI = ( intlayerConfig?: IntlayerConfig ) => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; if (!backendURL) { throw new Error( diff --git a/packages/@intlayer/api/src/getIntlayerAPI/user.ts b/packages/@intlayer/api/src/getIntlayerAPI/user.ts index 88666508f..abf760be7 100644 --- a/packages/@intlayer/api/src/getIntlayerAPI/user.ts +++ b/packages/@intlayer/api/src/getIntlayerAPI/user.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { type FetcherOptions, fetcher } from '../fetcher'; import type { CreateUserBody, @@ -22,7 +22,7 @@ export const getUserAPI = ( intlayerConfig?: IntlayerConfig ) => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; if (!backendURL) { throw new Error( diff --git a/packages/@intlayer/api/src/proxy.ts b/packages/@intlayer/api/src/proxy.ts index 969bfb474..05249651f 100644 --- a/packages/@intlayer/api/src/proxy.ts +++ b/packages/@intlayer/api/src/proxy.ts @@ -1,4 +1,4 @@ -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import type { FetcherOptions } from './fetcher'; import { getIntlayerAPI } from './getIntlayerAPI'; import type { IntlayerAPI } from './getIntlayerAPI/index'; diff --git a/packages/@intlayer/api/tsconfig.types.json b/packages/@intlayer/api/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/@intlayer/api/tsconfig.types.json +++ b/packages/@intlayer/api/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/@intlayer/api/types/tsdown.d.ts b/packages/@intlayer/api/types/tsdown.d.ts deleted file mode 100644 index d449e963d..000000000 --- a/packages/@intlayer/api/types/tsdown.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Utility for tsdown to optimize the build process of assets and avoid them to be duplicated accross CJS and MJS output - */ declare module 'utils:asset' { - export function readAsset( - relFromSrc: string, - encoding?: BufferEncoding - ): string; -} diff --git a/packages/@intlayer/babel/package.json b/packages/@intlayer/babel/package.json index 6be3b02dc..1572096c8 100644 --- a/packages/@intlayer/babel/package.json +++ b/packages/@intlayer/babel/package.json @@ -60,7 +60,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --configLoader runner --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -68,30 +68,30 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", "test:watch": "vitest" }, "dependencies": { - "@babel/core": "7.20.5", - "@babel/generator": "7.27.0", - "@babel/parser": "7.1.5", - "@babel/traverse": "7.28.0", + "@babel/core": "7.28.4", + "@babel/generator": "7.28.3", + "@babel/parser": "7.28.4", + "@babel/traverse": "7.28.4", "@babel/types": "7.28.4", "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@types/babel__core": "7.20.5", "@types/babel__generator": "7.27.0", "@types/babel__traverse": "7.28.0" }, "devDependencies": { + "@changesets/cli": "2.29.7", "@types/crypto-js": "4.2.2", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, diff --git a/packages/@intlayer/babel/src/babel-plugin-intlayer.ts b/packages/@intlayer/babel/src/babel-plugin-intlayer.ts index 18c53fb25..9cadafa1d 100644 --- a/packages/@intlayer/babel/src/babel-plugin-intlayer.ts +++ b/packages/@intlayer/babel/src/babel-plugin-intlayer.ts @@ -1,6 +1,22 @@ import { dirname, join, relative } from 'node:path'; import type { NodePath, PluginObj, PluginPass } from '@babel/core'; -import type * as BabelTypes from '@babel/types'; +import { + exportDefaultDeclaration, + type Identifier, + type ImportDeclaration, + identifier, + importAttribute, + importDeclaration, + importDefaultSpecifier, + isExpressionStatement, + isIdentifier, + isImportSpecifier, + isStringLiteral, + objectExpression, + type Statement, + type StringLiteral, + stringLiteral, +} from '@babel/types'; import { getFileHash } from '@intlayer/chokidar'; import { normalizePath } from '@intlayer/config'; @@ -97,17 +113,15 @@ type State = PluginPass & { filesList: string[]; }; /** map key → generated ident (per-file) for static imports */ - _newStaticImports?: Map; + _newStaticImports?: Map; /** map key → generated ident (per-file) for dynamic imports */ - _newDynamicImports?: Map; + _newDynamicImports?: Map; /** whether the current file imported *any* intlayer package */ _hasValidImport?: boolean; /** whether the current file *is* the dictionaries entry file */ _isDictEntry?: boolean; /** whether dynamic helpers are active for this file */ _useDynamicHelpers?: boolean; - /** whether the current file is included in the filesList */ - _isIncluded?: boolean; }; /* ────────────────────────────────────────── helpers ─────────────────────── */ @@ -117,9 +131,9 @@ type State = PluginPass & { * and prefixes an underscore so the generated identifiers never collide * with user-defined ones. */ -const makeIdent = (key: string, t: typeof BabelTypes): BabelTypes.Identifier => { +const makeIdent = (key: string): Identifier => { const hash = getFileHash(key); - return t.identifier(`_${hash}`); + return identifier(`_${hash}`); }; const computeImport = ( @@ -237,11 +251,7 @@ const computeImport = ( * const content2 = getIntlayer(_dicHash); * ``` */ -export const intlayerBabelPlugin = ( - babel: { types: typeof BabelTypes } -): PluginObj => { - const { types: t } = babel; - +export const intlayerBabelPlugin = (): PluginObj => { return { name: 'babel-plugin-intlayer-transform', @@ -278,7 +288,7 @@ export const intlayerBabelPlugin = ( state._isDictEntry = true; // Replace all existing statements with: export default {} programPath.node.body = [ - t.exportDefaultDeclaration(t.objectExpression([])), + exportDefaultDeclaration(objectExpression([])), ]; // Stop further traversal for this plugin – nothing else to transform programPath.stop(); @@ -295,7 +305,7 @@ export const intlayerBabelPlugin = ( const dictionariesDir = state.opts.dictionariesDir; const dynamicDictionariesDir = state.opts.dynamicDictionariesDir; const fetchDictionariesDir = state.opts.fetchDictionariesDir; - const imports: BabelTypes.ImportDeclaration[] = []; + const imports: ImportDeclaration[] = []; // Generate static JSON imports (getIntlayer always uses JSON dictionaries) for (const [key, ident] of state._newStaticImports!) { @@ -308,14 +318,14 @@ export const intlayerBabelPlugin = ( 'static' ); - const importDeclarationNode = t.importDeclaration( - [t.importDefaultSpecifier(t.identifier(ident.name))], - t.stringLiteral(rel) + const importDeclarationNode = importDeclaration( + [importDefaultSpecifier(identifier(ident.name))], + stringLiteral(rel) ); // Add 'type: json' attribute for JSON files importDeclarationNode.attributes = [ - t.importAttribute(t.identifier('type'), t.stringLiteral('json')), + importAttribute(identifier('type'), stringLiteral('json')), ]; imports.push(importDeclarationNode); @@ -338,9 +348,9 @@ export const intlayerBabelPlugin = ( modeForThisIdent ); imports.push( - t.importDeclaration( - [t.importDefaultSpecifier(t.identifier(ident.name))], - t.stringLiteral(rel) + importDeclaration( + [importDefaultSpecifier(identifier(ident.name))], + stringLiteral(rel) ) ); } @@ -348,13 +358,13 @@ export const intlayerBabelPlugin = ( if (!imports.length) return; /* Keep "use client" / "use server" directives at the very top. */ - const bodyPaths = programPath.get('body') as NodePath[]; + const bodyPaths = programPath.get('body') as NodePath[]; let insertPos = 0; for (const stmtPath of bodyPaths) { const stmt = stmtPath.node; if ( - t.isExpressionStatement(stmt) && - t.isStringLiteral(stmt.expression) && + isExpressionStatement(stmt) && + isStringLiteral(stmt.expression) && !stmt.expression.value.startsWith('import') && !stmt.expression.value.startsWith('require') ) { @@ -380,12 +390,12 @@ export const intlayerBabelPlugin = ( state._hasValidImport = true; for (const spec of path.node.specifiers) { - if (!t.isImportSpecifier(spec)) continue; + if (!isImportSpecifier(spec)) continue; // ⚠️ We now key off *imported* name, *not* local name. - const importedName = t.isIdentifier(spec.imported) + const importedName = isIdentifier(spec.imported) ? spec.imported.name - : (spec.imported as BabelTypes.StringLiteral).value; + : (spec.imported as StringLiteral).value; const importMode = state.opts.importMode; // Determine whether this import should use the dynamic helpers. @@ -419,7 +429,7 @@ export const intlayerBabelPlugin = ( // Keep the local alias intact (so calls remain `useIntlayer` / // `getIntlayer`), but rewrite the imported identifier so it // points to our helper implementation. - spec.imported = t.identifier(newIdentifier); + spec.imported = identifier(newIdentifier); } } }, @@ -429,7 +439,7 @@ export const intlayerBabelPlugin = ( if (state._isDictEntry) return; // skip if entry file – already handled const callee = path.node.callee; - if (!t.isIdentifier(callee)) return; + if (!isIdentifier(callee)) return; if (!CALLER_LIST.includes(callee.name as any)) return; // Ensure we ultimately emit helper imports for files that *invoke* @@ -438,7 +448,7 @@ export const intlayerBabelPlugin = ( state._hasValidImport = true; const arg = path.node.arguments[0]; - if (!arg || !t.isStringLiteral(arg)) return; // must be literal + if (!arg || !isStringLiteral(arg)) return; // must be literal const key = arg.value; const importMode = state.opts.importMode; @@ -456,21 +466,21 @@ export const intlayerBabelPlugin = ( } } - let ident: BabelTypes.Identifier; + let ident: Identifier; if (perCallMode === 'live') { // Use fetch dictionaries entry (live mode for selected keys) let dynamicIdent = state._newDynamicImports?.get(key); if (!dynamicIdent) { const hash = getFileHash(key); - dynamicIdent = t.identifier(`_${hash}_fetch`); + dynamicIdent = identifier(`_${hash}_fetch`); state._newDynamicImports?.set(key, dynamicIdent); } ident = dynamicIdent; // Helper: first argument is the dictionary entry, second is the key path.node.arguments = [ - t.identifier(ident.name), + identifier(ident.name), ...path.node.arguments, ]; } else if (perCallMode === 'dynamic') { @@ -479,27 +489,27 @@ export const intlayerBabelPlugin = ( if (!dynamicIdent) { // Create a unique identifier for dynamic imports by appending a suffix const hash = getFileHash(key); - dynamicIdent = t.identifier(`_${hash}_dyn`); + dynamicIdent = identifier(`_${hash}_dyn`); state._newDynamicImports?.set(key, dynamicIdent); } ident = dynamicIdent; // Dynamic helper: first argument is the dictionary, second is the key. path.node.arguments = [ - t.identifier(ident.name), + identifier(ident.name), ...path.node.arguments, ]; } else { // Use static imports for getIntlayer or useIntlayer when not using dynamic helpers let staticIdent = state._newStaticImports?.get(key); if (!staticIdent) { - staticIdent = makeIdent(key, t); + staticIdent = makeIdent(key); state._newStaticImports?.set(key, staticIdent); } ident = staticIdent; // Static helper (useDictionary / getDictionary): replace key with iden - path.node.arguments[0] = t.identifier(ident.name); + path.node.arguments[0] = identifier(ident.name); } }, }, diff --git a/packages/@intlayer/babel/tsconfig.types.json b/packages/@intlayer/babel/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/@intlayer/babel/tsconfig.types.json +++ b/packages/@intlayer/babel/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/@intlayer/babel/tsdown.config.ts b/packages/@intlayer/babel/tsdown.config.ts index 7276d1b1a..3167540ca 100644 --- a/packages/@intlayer/babel/tsdown.config.ts +++ b/packages/@intlayer/babel/tsdown.config.ts @@ -1,4 +1,6 @@ -import { options } from '@utils/tsdown-config'; -import { defineConfig } from 'tsdown'; +import { getOptions } from '@utils/tsdown-config'; +import { defineConfig, type Options } from 'tsdown'; + +const options: Options[] = getOptions({}); export default defineConfig(options); diff --git a/packages/@intlayer/babel/types/tsdown.d.ts b/packages/@intlayer/babel/types/tsdown.d.ts deleted file mode 100644 index d449e963d..000000000 --- a/packages/@intlayer/babel/types/tsdown.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Utility for tsdown to optimize the build process of assets and avoid them to be duplicated accross CJS and MJS output - */ declare module 'utils:asset' { - export function readAsset( - relFromSrc: string, - encoding?: BufferEncoding - ): string; -} diff --git a/packages/@intlayer/chokidar/package.json b/packages/@intlayer/chokidar/package.json index fd5459dd9..a76c99438 100644 --- a/packages/@intlayer/chokidar/package.json +++ b/packages/@intlayer/chokidar/package.json @@ -59,7 +59,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -67,7 +67,6 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", "test:watch": "vitest" }, "dependencies": { @@ -76,7 +75,6 @@ "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/remote-dictionaries-entry": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", "chokidar": "3.6.0", "concurrently": "9.2.1", @@ -88,21 +86,21 @@ "ts-morph": "27.0.0" }, "devDependencies": { + "@changesets/cli": "2.29.7", "@types/crypto-js": "4.2.2", "@types/deep-equal": "1.0.4", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/remote-dictionaries-entry": "workspace:*", diff --git a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/buildIntlayerDictionary.ts b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/buildIntlayerDictionary.ts index 511ba368c..da0d4b97b 100644 --- a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/buildIntlayerDictionary.ts +++ b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/buildIntlayerDictionary.ts @@ -1,5 +1,5 @@ import { getConfiguration } from '@intlayer/config'; -import type { Dictionary } from '@intlayer/types'; +import type { Dictionary } from '@intlayer/core'; import { getUnmergedDictionaries } from '@intlayer/unmerged-dictionaries-entry'; import { type LocalizedDictionaryOutput, diff --git a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/processContentDeclaration.ts b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/processContentDeclaration.ts index 128d85a69..e040ad082 100644 --- a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/processContentDeclaration.ts +++ b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/processContentDeclaration.ts @@ -1,5 +1,5 @@ import { logger } from '@intlayer/config/client'; -import type { Dictionary } from '@intlayer/types'; +import type { Dictionary } from '@intlayer/core'; import { resolveObjectPromises } from '../utils/resolveObjectPromises'; /** diff --git a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeDynamicDictionary.ts b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeDynamicDictionary.ts index 465f695e7..b95dca954 100644 --- a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeDynamicDictionary.ts +++ b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeDynamicDictionary.ts @@ -3,10 +3,10 @@ import { relative, resolve } from 'node:path'; import { colorizePath, getConfiguration, + type Locales, normalizePath, } from '@intlayer/config'; -import { getPerLocaleDictionary } from '@intlayer/core'; -import type { Dictionary, Locales } from '@intlayer/types'; +import { type Dictionary, getPerLocaleDictionary } from '@intlayer/core'; import { parallelize } from '../utils/parallelize'; import { writeFileIfChanged } from '../writeFileIfChanged'; import { writeJsonIfChanged } from '../writeJsonIfChanged'; @@ -30,7 +30,7 @@ export type LocalizedDictionaryOutput = Record< * This function generates the content of the dictionary list file */ export const generateDictionaryEntryPoint = ( - localizedDictionariesPathsRecord: LocalizedDictionaryResult, + localedDictionariesPathsRecord: LocalizedDictionaryResult, format: 'cjs' | 'esm' = 'esm', configuration = getConfiguration() ): string => { @@ -40,7 +40,7 @@ export const generateDictionaryEntryPoint = ( // Format Dictionary Map - map locales to functions const formattedDictionaryMap: string = Object.entries( - localizedDictionariesPathsRecord + localedDictionariesPathsRecord ) // The following filter/sort preserve determinism of the generated map // when files are built in parallel or across different Node versions. @@ -107,7 +107,6 @@ export const writeDynamicDictionary = async ( const localizedDictionariesPathsRecord: LocalizedDictionaryResult = {}; await parallelize(locales, async (locale) => { - // @ts-expect-error Type instantiation is excessively deep and possibly infinite.ts const localizedDictionary = getPerLocaleDictionary( dictionaryEntry.dictionary, locale, @@ -124,6 +123,7 @@ export const writeDynamicDictionary = async ( } ); + // @ts-ignore Type instantiation is excessively deep and possibly infinite localizedDictionariesPathsRecord[locale] = { dictionaryPath: resultFilePath, dictionary: localizedDictionary, diff --git a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeMergedDictionary.ts b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeMergedDictionary.ts index 9a8816807..e481413bd 100644 --- a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeMergedDictionary.ts +++ b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeMergedDictionary.ts @@ -1,8 +1,11 @@ import { mkdir } from 'node:fs/promises'; import { resolve } from 'node:path'; import { colorizePath, getConfiguration } from '@intlayer/config'; -import { mergeDictionaries, normalizeDictionaries } from '@intlayer/core'; -import type { Dictionary } from '@intlayer/types'; +import { + type Dictionary, + mergeDictionaries, + normalizeDictionaries, +} from '@intlayer/core'; import { parallelize } from '../utils/parallelize'; import { writeJsonIfChanged } from '../writeJsonIfChanged'; import type { UnmergedDictionaryOutput } from './writeUnmergedDictionary'; diff --git a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeRemoteDictionary.ts b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeRemoteDictionary.ts index 8159482c1..8ca51db0a 100644 --- a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeRemoteDictionary.ts +++ b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeRemoteDictionary.ts @@ -1,7 +1,7 @@ import { mkdir } from 'node:fs/promises'; import { resolve } from 'node:path'; import { colorizePath, getConfiguration } from '@intlayer/config'; -import type { Dictionary } from '@intlayer/types'; +import type { Dictionary } from '@intlayer/core'; import { filterInvalidDictionaries } from '../filterInvalidDictionaries'; import { formatDistantDictionaries } from '../loadDictionaries'; import { parallelize } from '../utils/parallelize'; diff --git a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeUnmergedDictionary.ts b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeUnmergedDictionary.ts index 6ec628cff..c9a729dff 100644 --- a/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeUnmergedDictionary.ts +++ b/packages/@intlayer/chokidar/src/buildIntlayerDictionary/writeUnmergedDictionary.ts @@ -1,8 +1,7 @@ import { mkdir } from 'node:fs/promises'; import { resolve } from 'node:path'; import { colorizePath, getConfiguration, x } from '@intlayer/config'; -import { orderDictionaries } from '@intlayer/core'; -import type { Dictionary } from '@intlayer/types'; +import { type Dictionary, orderDictionaries } from '@intlayer/core'; import { filterInvalidDictionaries } from '../filterInvalidDictionaries'; import { parallelize } from '../utils/parallelize'; import { writeJsonIfChanged } from '../writeJsonIfChanged'; diff --git a/packages/@intlayer/chokidar/src/cleanOutputDir.ts b/packages/@intlayer/chokidar/src/cleanOutputDir.ts index cd6fd0659..59c759b75 100644 --- a/packages/@intlayer/chokidar/src/cleanOutputDir.ts +++ b/packages/@intlayer/chokidar/src/cleanOutputDir.ts @@ -1,8 +1,7 @@ import { existsSync, rmSync } from 'node:fs'; -import { getAppLogger } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getAppLogger, getConfiguration } from '@intlayer/config'; -export const cleanOutputDir = (configuration: IntlayerConfig) => { +export const cleanOutputDir = (configuration = getConfiguration()) => { const { dictionariesDir, unmergedDictionariesDir, diff --git a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/createDictionaryEntryPoint.ts b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/createDictionaryEntryPoint.ts index 1c8a144fa..20e042cf0 100644 --- a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/createDictionaryEntryPoint.ts +++ b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/createDictionaryEntryPoint.ts @@ -11,14 +11,14 @@ import { getBuiltRemoteDictionariesPath } from './getBuiltRemoteDictionariesPath import { getBuiltUnmergedDictionariesPath } from './getBuiltUnmergedDictionariesPath'; const writeDictionaryFiles = async ( - paths: Promise, + paths: string[], fileName: string, functionName: string, format: 'cjs' | 'esm', configuration = getConfiguration() ) => { const content = generateDictionaryListContent( - await paths, + paths, functionName, format, configuration diff --git a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltDictionariesPath.ts b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltDictionariesPath.ts index 27330194c..600fc6962 100644 --- a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltDictionariesPath.ts +++ b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltDictionariesPath.ts @@ -1,13 +1,12 @@ import { existsSync, mkdirSync } from 'node:fs'; -import { normalizePath } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getConfiguration, normalizePath } from '@intlayer/config'; import fg from 'fast-glob'; /** * This function generates a list of dictionaries in the main directory */ -export const getBuiltDictionariesPath = async ( - configuration: IntlayerConfig +export const getBuiltDictionariesPath = ( + configuration = getConfiguration() ) => { const { dictionariesDir, mainDir } = configuration.content; @@ -16,7 +15,7 @@ export const getBuiltDictionariesPath = async ( mkdirSync(mainDir, { recursive: true }); } - const dictionariesPath: string[] = await fg( + const dictionariesPath: string[] = fg.sync( `${normalizePath(dictionariesDir)}/**/*.json` ); diff --git a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltDynamicDictionariesPath.ts b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltDynamicDictionariesPath.ts index 338ad9773..1f346ef37 100644 --- a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltDynamicDictionariesPath.ts +++ b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltDynamicDictionariesPath.ts @@ -1,13 +1,12 @@ import { existsSync, mkdirSync } from 'node:fs'; -import { normalizePath } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getConfiguration, normalizePath } from '@intlayer/config'; import fg from 'fast-glob'; /** * This function generates a list of dictionaries in the main directory */ -export const getBuiltDynamicDictionariesPath = async ( - configuration: IntlayerConfig, +export const getBuiltDynamicDictionariesPath = ( + configuration = getConfiguration(), format: 'cjs' | 'esm' = 'esm' ) => { const { dynamicDictionariesDir, mainDir } = configuration.content; @@ -19,7 +18,7 @@ export const getBuiltDynamicDictionariesPath = async ( const extension = format === 'cjs' ? 'cjs' : 'mjs'; - const dictionariesPath: string[] = await fg( + const dictionariesPath: string[] = fg.sync( `${normalizePath(dynamicDictionariesDir)}/**/*.${extension}` ); diff --git a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltFetchDictionariesPath.ts b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltFetchDictionariesPath.ts index bccaba6e2..1147e861e 100644 --- a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltFetchDictionariesPath.ts +++ b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltFetchDictionariesPath.ts @@ -1,13 +1,12 @@ import { existsSync, mkdirSync } from 'node:fs'; -import { normalizePath } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getConfiguration, normalizePath } from '@intlayer/config'; import fg from 'fast-glob'; /** * This function generates a list of dictionaries in the main directory */ -export const getBuiltFetchDictionariesPath = async ( - configuration: IntlayerConfig, +export const getBuiltFetchDictionariesPath = ( + configuration = getConfiguration(), format: 'cjs' | 'esm' = 'esm' ) => { const { fetchDictionariesDir, mainDir } = configuration.content; @@ -19,7 +18,7 @@ export const getBuiltFetchDictionariesPath = async ( const extension = format === 'cjs' ? 'cjs' : 'mjs'; - const dictionariesPath: string[] = await fg( + const dictionariesPath: string[] = fg.sync( `${normalizePath(fetchDictionariesDir)}/**/*.${extension}` ); diff --git a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltRemoteDictionariesPath.ts b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltRemoteDictionariesPath.ts index 12610a442..3a8981fcf 100644 --- a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltRemoteDictionariesPath.ts +++ b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltRemoteDictionariesPath.ts @@ -1,13 +1,12 @@ import { existsSync, mkdirSync } from 'node:fs'; -import { normalizePath } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getConfiguration, normalizePath } from '@intlayer/config'; import fg from 'fast-glob'; /** * This function generates a list of dictionaries in the main directory */ -export const getBuiltRemoteDictionariesPath = async ( - configuration: IntlayerConfig +export const getBuiltRemoteDictionariesPath = ( + configuration = getConfiguration() ) => { const { remoteDictionariesDir, mainDir } = configuration.content; diff --git a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltUnmergedDictionariesPath.ts b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltUnmergedDictionariesPath.ts index 558988b30..1a7a3161f 100644 --- a/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltUnmergedDictionariesPath.ts +++ b/packages/@intlayer/chokidar/src/createDictionaryEntryPoint/getBuiltUnmergedDictionariesPath.ts @@ -1,13 +1,12 @@ import { existsSync, mkdirSync } from 'node:fs'; -import { normalizePath } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getConfiguration, normalizePath } from '@intlayer/config'; import fg from 'fast-glob'; /** * This function generates a list of dictionaries in the main directory */ -export const getBuiltUnmergedDictionariesPath = async ( - configuration: IntlayerConfig +export const getBuiltUnmergedDictionariesPath = ( + configuration = getConfiguration() ) => { const { unmergedDictionariesDir, mainDir } = configuration.content; @@ -16,7 +15,7 @@ export const getBuiltUnmergedDictionariesPath = async ( mkdirSync(mainDir, { recursive: true }); } - const dictionariesPath: string[] = await fg( + const dictionariesPath: string[] = fg.sync( `${normalizePath(unmergedDictionariesDir)}/**/*.json` ); diff --git a/packages/@intlayer/chokidar/src/createType/createModuleAugmentation.ts b/packages/@intlayer/chokidar/src/createType/createModuleAugmentation.ts index e9582078d..14f74898e 100644 --- a/packages/@intlayer/chokidar/src/createType/createModuleAugmentation.ts +++ b/packages/@intlayer/chokidar/src/createType/createModuleAugmentation.ts @@ -1,7 +1,6 @@ import { mkdir } from 'node:fs/promises'; import { basename, extname, join, relative } from 'node:path'; -import { normalizePath } from '@intlayer/config'; -import { type IntlayerConfig, Locales } from '@intlayer/types'; +import { type IntlayerConfig, Locales, normalizePath } from '@intlayer/config'; import fg from 'fast-glob'; import { getFileHash } from '../utils/getFileHash'; import { kebabCaseToCamelCase } from '../utils/kebabCaseToCamelCase'; @@ -10,19 +9,17 @@ import { writeFileIfChanged } from '../writeFileIfChanged'; export const getTypeName = (key: string): string => `${kebabCaseToCamelCase(key)}Content`; -/** Returns FRENCH, ENGLISH, ENGLISH_UNITED_KINGDOM, etc. */ -const getLocaleKey = (locale: Locales) => - Object.keys(Locales).find((key) => (Locales as any)[key] === locale); +const validLocales = Object.values(Locales); -/** Returns lines like: [Locales.FRENCH]: 1; */ -const formatLocales = (locales: Locales[]) => +const formatLocales = (locales: Locales[]): string => locales - .map((locale) => getLocaleKey(locale)) - .filter((k): k is string => Boolean(k)) - .map((key) => ` [Locales.${key}]: 1;`) - .join('\n'); + .filter((locale) => validLocales.includes(locale)) + .map((locale) => `Locales.${locale}`) + .join(' | '); -/** Generate the content of the module augmentation file */ +/** + * This function generates the content of the module augmentation file + */ const generateTypeIndexContent = ( typeFiles: string[], configuration: IntlayerConfig @@ -31,80 +28,101 @@ const generateTypeIndexContent = ( const { moduleAugmentationDir } = content; const { locales, requiredLocales, strictMode } = internationalization; - let fileContent = "import { Locales } from '@intlayer/types';\n"; + let fileContent = + "/* eslint-disable */\nimport { Locales } from 'intlayer';\n"; - // Build dictionary refs const dictionariesRef = typeFiles.map((dictionaryPath) => ({ relativePath: `./${relative(moduleAugmentationDir, dictionaryPath)}`, - id: basename(dictionaryPath, extname(dictionaryPath)), - hash: `_${getFileHash(dictionaryPath)}`, + id: basename(dictionaryPath, extname(dictionaryPath)), // Get the base name as the dictionary id (without the extension) + hash: `_${getFileHash(dictionaryPath)}`, // Get the hash of the dictionary to avoid conflicts })); // Import all dictionaries - for (const dictionary of dictionariesRef) { + dictionariesRef.forEach((dictionary) => { fileContent += `import ${dictionary.hash} from '${dictionary.relativePath}';\n`; - } + }); + fileContent += '\n'; - // Dictionary map entries (id: typeof ) + // Format Dictionary Map const formattedDictionaryMap: string = dictionariesRef .map((dictionary) => ` "${dictionary.id}": typeof ${dictionary.hash};`) .join('\n'); - // Ensure required ⊆ declared; if empty, default required = declared - const declared = locales; - const requiredSanitized = requiredLocales?.length - ? requiredLocales.filter((requiredLocales) => - declared.includes(requiredLocales) - ) - : declared; + const requiredLocalesValues = + requiredLocales.length > 0 + ? requiredLocales.filter((locale) => + locales.map((locale) => String(locale)).includes(String(locale)) + ) + : locales; - const formattedDeclaredLocales = formatLocales(declared); - const formattedRequiredLocales = formatLocales(requiredSanitized); + const formattedLocales = formatLocales(locales); + const formattedRequiredLocales = formatLocales(requiredLocalesValues); - // Choose strict mode registry key - const strictKey = + const strictModeRecord = strictMode === 'strict' - ? 'strict' + ? `interface IConfigLocales extends Record {}` : strictMode === 'inclusive' - ? 'inclusive' - : 'loose'; + ? `interface IConfigLocales extends Record, Partial> {}` + : `interface IConfigLocales extends Partial> {}`; /** - * Module augmentation that ONLY adds keys to registries. - * No types/aliases redefined here—avoids merge conflicts. + * Write the module augmentation to extend the intlayer module with the dictionaries types + * Will suggest the type resulting of the dictionaries + * + * declare module 'intlayer' { + * interface IntlayerDictionaryTypesConnector = { + * dictionaries: { + * id: DictionaryType; + * } + * } + * + * type ConfigLocales = Locales.ENGLISH | Locales.FRENCH | Locales.SPANISH; + * type ExtractedLocales = Extract; + * + * interface IConfigLocales extends Record, Partial> {} + * + * + * } + * See https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation */ - fileContent += `declare module '@intlayer/types' {\n`; - // Dictionaries registry - fileContent += ` interface __DictionaryRegistry {\n${formattedDictionaryMap}\n }\n\n`; - // Locales registries - fileContent += ` interface __DeclaredLocalesRegistry {\n${formattedDeclaredLocales}\n }\n\n`; - fileContent += ` interface __RequiredLocalesRegistry {\n${formattedRequiredLocales}\n }\n\n`; - // Strict mode registry (exactly one key) - fileContent += ` interface __StrictModeRegistry { ${strictKey}: true }\n`; - fileContent += `}\n`; + fileContent += `declare module 'intlayer' {\n`; + fileContent += ` interface IntlayerDictionaryTypesConnector {\n${formattedDictionaryMap}\n }\n\n`; + fileContent += ` type DeclaredLocales = ${formattedLocales};\n`; + fileContent += ` type RequiredLocales = ${formattedRequiredLocales};\n`; + fileContent += ` type ExtractedLocales = Extract;\n`; + fileContent += ` type ExcludedLocales = Exclude;\n`; + fileContent += ` ${strictModeRecord}\n`; + fileContent += `}`; return fileContent; }; -/** Generate the index file merging all the types */ +/** + * This function generates a index file merging all the types + */ export const createModuleAugmentation = async ( configuration: IntlayerConfig ) => { const { moduleAugmentationDir, typesDir } = configuration.content; + // Create main directory if it doesn't exist await mkdir(moduleAugmentationDir, { recursive: true }); - const dictionariesTypesDefinitions: string[] = await fg( + const dictionariesTypesDefinitions: string[] = fg.sync( normalizePath(`${typesDir}/*.ts`), - { ignore: ['**/*.d.ts'] } + { + ignore: ['**/*.d.ts'], + } ); + // Create the dictionary list file const tsContent = generateTypeIndexContent( dictionariesTypesDefinitions, configuration ); const tsFilePath = join(moduleAugmentationDir, 'intlayer.d.ts'); + await writeFileIfChanged(tsFilePath, tsContent); }; diff --git a/packages/@intlayer/chokidar/src/createType/createType.ts b/packages/@intlayer/chokidar/src/createType/createType.ts index 53e9bc9e7..9facde951 100644 --- a/packages/@intlayer/chokidar/src/createType/createType.ts +++ b/packages/@intlayer/chokidar/src/createType/createType.ts @@ -1,7 +1,7 @@ import { mkdir, writeFile } from 'node:fs/promises'; import { resolve } from 'node:path'; -import { getConfiguration } from '@intlayer/config'; -import type { Dictionary, IntlayerConfig } from '@intlayer/types'; +import { getConfiguration, type IntlayerConfig } from '@intlayer/config'; +import type { Dictionary } from '@intlayer/core'; import { parallelize } from '../utils/parallelize'; export const generateTypeScriptType = (dictionary: Dictionary) => { diff --git a/packages/@intlayer/chokidar/src/filterInvalidDictionaries.ts b/packages/@intlayer/chokidar/src/filterInvalidDictionaries.ts index 2ddfcc794..0247a0b36 100644 --- a/packages/@intlayer/chokidar/src/filterInvalidDictionaries.ts +++ b/packages/@intlayer/chokidar/src/filterInvalidDictionaries.ts @@ -1,9 +1,10 @@ +import type { IntlayerConfig } from '@intlayer/config'; import { colorizeKey, colorizePath, getAppLogger, } from '@intlayer/config/client'; -import type { Dictionary, IntlayerConfig } from '@intlayer/types'; +import type { Dictionary } from '@intlayer/core'; import { formatPath } from './utils/formatter'; export const isInvalidDictionary = ( diff --git a/packages/@intlayer/chokidar/src/handleAdditionalContentDeclarationFile.ts b/packages/@intlayer/chokidar/src/handleAdditionalContentDeclarationFile.ts index 3322b4b87..f6cd48268 100644 --- a/packages/@intlayer/chokidar/src/handleAdditionalContentDeclarationFile.ts +++ b/packages/@intlayer/chokidar/src/handleAdditionalContentDeclarationFile.ts @@ -1,5 +1,4 @@ -import { getAppLogger } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getAppLogger, type IntlayerConfig } from '@intlayer/config'; import { buildDictionary } from './buildIntlayerDictionary/buildIntlayerDictionary'; import { createDictionaryEntryPoint } from './createDictionaryEntryPoint/createDictionaryEntryPoint'; import { createModuleAugmentation, createTypes } from './createType/index'; diff --git a/packages/@intlayer/chokidar/src/handleContentDeclarationFileChange.ts b/packages/@intlayer/chokidar/src/handleContentDeclarationFileChange.ts index b315ae1a5..26221ff06 100644 --- a/packages/@intlayer/chokidar/src/handleContentDeclarationFileChange.ts +++ b/packages/@intlayer/chokidar/src/handleContentDeclarationFileChange.ts @@ -1,5 +1,4 @@ -import { getAppLogger } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getAppLogger, type IntlayerConfig } from '@intlayer/config'; import { buildDictionary } from './buildIntlayerDictionary/buildIntlayerDictionary'; import { createDictionaryEntryPoint } from './createDictionaryEntryPoint/createDictionaryEntryPoint'; import { getBuiltDictionariesPath } from './createDictionaryEntryPoint/getBuiltDictionariesPath'; @@ -25,7 +24,7 @@ export const handleContentDeclarationFileChange = async ( dictionariesOutput?.mergedDictionaries ?? {} ).map((dictionary) => dictionary.dictionaryPath); - const allDictionariesPaths: string[] = await getBuiltDictionariesPath(config); + const allDictionariesPaths: string[] = getBuiltDictionariesPath(config); createTypes(updatedDictionariesPaths); appLogger('TypeScript types built', { diff --git a/packages/@intlayer/chokidar/src/handleUnlinkedContentDeclarationFile.ts b/packages/@intlayer/chokidar/src/handleUnlinkedContentDeclarationFile.ts index 2c8512493..ee1b4922a 100644 --- a/packages/@intlayer/chokidar/src/handleUnlinkedContentDeclarationFile.ts +++ b/packages/@intlayer/chokidar/src/handleUnlinkedContentDeclarationFile.ts @@ -1,5 +1,4 @@ -import { getAppLogger } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getAppLogger, type IntlayerConfig } from '@intlayer/config'; import { buildDictionary } from './buildIntlayerDictionary/buildIntlayerDictionary'; import { createDictionaryEntryPoint } from './createDictionaryEntryPoint/createDictionaryEntryPoint'; import { createTypes } from './createType'; @@ -19,7 +18,7 @@ export const handleUnlinkedContentDeclarationFile = async ( isVerbose: true, }); - const files: string[] = await listDictionaries(config); + const files: string[] = listDictionaries(config); const localeDictionaries = await loadLocalDictionaries(files, config); diff --git a/packages/@intlayer/chokidar/src/listDictionariesPath.ts b/packages/@intlayer/chokidar/src/listDictionariesPath.ts index 9fe29bc87..507e41e19 100644 --- a/packages/@intlayer/chokidar/src/listDictionariesPath.ts +++ b/packages/@intlayer/chokidar/src/listDictionariesPath.ts @@ -1,5 +1,4 @@ -import { getConfiguration } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getConfiguration, type IntlayerConfig } from '@intlayer/config'; import fg from 'fast-glob'; /** @@ -7,10 +6,10 @@ import fg from 'fast-glob'; * @param configuration - The configuration object * @returns An array of dictionary paths */ -export const listDictionaries = async ( +export const listDictionaries = ( configuration: IntlayerConfig = getConfiguration() -): Promise => { - const files: string[] = await fg( +): string[] => { + const files: string[] = fg.sync( configuration.content.watchedFilesPatternWithPath, { ignore: [ diff --git a/packages/@intlayer/chokidar/src/loadDictionaries/loadContentDeclaration.ts b/packages/@intlayer/chokidar/src/loadDictionaries/loadContentDeclaration.ts index 4592dbd81..7e3a1b49d 100644 --- a/packages/@intlayer/chokidar/src/loadDictionaries/loadContentDeclaration.ts +++ b/packages/@intlayer/chokidar/src/loadDictionaries/loadContentDeclaration.ts @@ -1,6 +1,10 @@ import { relative } from 'node:path'; -import { loadExternalFile } from '@intlayer/config'; -import type { Dictionary, IntlayerConfig } from '@intlayer/types'; +import { + getConfiguration, + type IntlayerConfig, + loadExternalFile, +} from '@intlayer/config'; +import type { Dictionary } from '@intlayer/core'; import { processContentDeclaration } from '../buildIntlayerDictionary/processContentDeclaration'; import { filterInvalidDictionaries, @@ -11,7 +15,7 @@ import type { DictionariesStatus } from './loadDictionaries'; export const formatLocalDictionaries = ( dictionariesRecord: Record, - configuration: IntlayerConfig + configuration?: IntlayerConfig ): Dictionary[] => Object.entries(dictionariesRecord) .filter(([_relativePath, dict]) => isInvalidDictionary(dict, configuration)) @@ -24,7 +28,7 @@ export const formatLocalDictionaries = ( export const loadContentDeclarations = async ( contentDeclarationFilePath: string[], - configuration: IntlayerConfig, + configuration: IntlayerConfig = getConfiguration(), onStatusUpdate?: (status: DictionariesStatus[]) => void ): Promise => { const { build } = configuration; @@ -32,8 +36,10 @@ export const loadContentDeclarations = async ( const dictionariesRecord = contentDeclarationFilePath.reduce( (acc, path) => { const relativePath = relative(configuration.content.baseDir, path); - acc[relativePath] = loadExternalFile(path, build.require); - return acc; + return { + ...acc, + [relativePath]: loadExternalFile(path, build.require), + }; }, {} as Record ); diff --git a/packages/@intlayer/chokidar/src/loadDictionaries/loadDictionaries.ts b/packages/@intlayer/chokidar/src/loadDictionaries/loadDictionaries.ts index 5bf73ff9d..3285206d8 100644 --- a/packages/@intlayer/chokidar/src/loadDictionaries/loadDictionaries.ts +++ b/packages/@intlayer/chokidar/src/loadDictionaries/loadDictionaries.ts @@ -5,8 +5,10 @@ import { colorize, colorizeKey, getAppLogger, + getConfiguration, + type IntlayerConfig, } from '@intlayer/config'; -import type { Dictionary, IntlayerConfig } from '@intlayer/types'; +import type { Dictionary } from '@intlayer/core'; import { filterInvalidDictionaries } from '../filterInvalidDictionaries'; import { loadContentDeclarations } from './loadContentDeclaration'; import { loadRemoteDictionaries } from './loadRemoteDictionaries'; @@ -82,7 +84,7 @@ const colorFor = (status: DictionariesStatus['status']) => { } }; -const printSummary = (configuration: IntlayerConfig) => { +const printSummary = (configuration: IntlayerConfig = getConfiguration()) => { if (configuration.log.mode !== 'verbose') return; const appLogger = getAppLogger(configuration); @@ -155,7 +157,7 @@ const printSummary = (configuration: IntlayerConfig) => { export const loadDictionaries = async ( contentDeclarationsPaths: string[] | string, - configuration: IntlayerConfig + configuration: IntlayerConfig = getConfiguration() ): Promise<{ localDictionaries: Dictionary[]; remoteDictionaries: Dictionary[]; diff --git a/packages/@intlayer/chokidar/src/loadDictionaries/loadLocalDictionaries.ts b/packages/@intlayer/chokidar/src/loadDictionaries/loadLocalDictionaries.ts index c0ccc14c4..0c9d7d20e 100644 --- a/packages/@intlayer/chokidar/src/loadDictionaries/loadLocalDictionaries.ts +++ b/packages/@intlayer/chokidar/src/loadDictionaries/loadLocalDictionaries.ts @@ -1,11 +1,12 @@ import { mkdir } from 'node:fs/promises'; import { relative, resolve } from 'node:path'; -import type { Dictionary, IntlayerConfig } from '@intlayer/types'; +import { getConfiguration, type IntlayerConfig } from '@intlayer/config'; +import type { Dictionary } from '@intlayer/core'; import { loadContentDeclarations } from './loadContentDeclaration'; export const loadLocalDictionaries = async ( contentDeclarationsPaths: string[] | string, - configuration: IntlayerConfig + configuration: IntlayerConfig = getConfiguration() ): Promise => { const { content } = configuration; const { dictionariesDir, baseDir } = content; diff --git a/packages/@intlayer/chokidar/src/loadDictionaries/loadRemoteDictionaries.ts b/packages/@intlayer/chokidar/src/loadDictionaries/loadRemoteDictionaries.ts index 8feb76d13..602ba1ebb 100644 --- a/packages/@intlayer/chokidar/src/loadDictionaries/loadRemoteDictionaries.ts +++ b/packages/@intlayer/chokidar/src/loadDictionaries/loadRemoteDictionaries.ts @@ -2,8 +2,8 @@ import { getIntlayerAPIProxy } from '@intlayer/api'; // @ts-ignore @intlayer/backend is not build yet import type { DictionaryAPI } from '@intlayer/backend'; import { getConfiguration } from '@intlayer/config'; +import type { Dictionary } from '@intlayer/core'; import { getRemoteDictionaries } from '@intlayer/remote-dictionaries-entry'; -import type { Dictionary } from '@intlayer/types'; import { fetchDistantDictionaries } from '../fetchDistantDictionaries'; import type { DictionariesStatus } from '../loadDictionaries/loadDictionaries'; import { sortAlphabetically } from '../utils/sortAlphabetically'; diff --git a/packages/@intlayer/chokidar/src/prepareIntlayer.ts b/packages/@intlayer/chokidar/src/prepareIntlayer.ts index 0cd862945..c12894692 100644 --- a/packages/@intlayer/chokidar/src/prepareIntlayer.ts +++ b/packages/@intlayer/chokidar/src/prepareIntlayer.ts @@ -2,11 +2,12 @@ import { join } from 'node:path'; import { ANSIColors, colorize, + ESMxCJSRequire, getAppLogger, getConfiguration, + type IntlayerConfig, } from '@intlayer/config'; import packageJson from '@intlayer/config/package.json' with { type: 'json' }; -import type { IntlayerConfig } from '@intlayer/types'; import { buildDictionary } from './buildIntlayerDictionary/buildIntlayerDictionary'; import { writeRemoteDictionary } from './buildIntlayerDictionary/writeRemoteDictionary'; import { cleanOutputDir } from './cleanOutputDir'; @@ -79,7 +80,7 @@ export const prepareIntlayer = async ( } ); - const files: string[] = await listDictionaries(configuration); + const files: string[] = listDictionaries(configuration); const dictionaries = await loadDictionaries(files, configuration); diff --git a/packages/@intlayer/chokidar/src/reduceDictionaryContent/applyMask.ts b/packages/@intlayer/chokidar/src/reduceDictionaryContent/applyMask.ts index a6b01a4d9..5512f4c14 100644 --- a/packages/@intlayer/chokidar/src/reduceDictionaryContent/applyMask.ts +++ b/packages/@intlayer/chokidar/src/reduceDictionaryContent/applyMask.ts @@ -1,4 +1,4 @@ -import type { Dictionary } from '@intlayer/types'; +import type { Dictionary } from '@intlayer/core'; export const applyMask = (full: Dictionary, mask: any): Dictionary => { // the mask "true" → we don't filter diff --git a/packages/@intlayer/chokidar/src/reduceDictionaryContent/reduceDictionaryContent.ts b/packages/@intlayer/chokidar/src/reduceDictionaryContent/reduceDictionaryContent.ts index 7ea98cc08..6d78ebd39 100644 --- a/packages/@intlayer/chokidar/src/reduceDictionaryContent/reduceDictionaryContent.ts +++ b/packages/@intlayer/chokidar/src/reduceDictionaryContent/reduceDictionaryContent.ts @@ -1,5 +1,4 @@ -import { getMaskContent } from '@intlayer/core'; -import type { Dictionary } from '@intlayer/types'; +import { type Dictionary, getMaskContent } from '@intlayer/core'; import { applyMask } from './applyMask'; export const reduceDictionaryContent = ( diff --git a/packages/@intlayer/chokidar/src/utils/formatter.ts b/packages/@intlayer/chokidar/src/utils/formatter.ts index 70878f662..f3b6ae548 100644 --- a/packages/@intlayer/chokidar/src/utils/formatter.ts +++ b/packages/@intlayer/chokidar/src/utils/formatter.ts @@ -1,8 +1,7 @@ import { relative } from 'node:path'; -import { ANSIColors, colorize, colorizePath } from '@intlayer/config'; +import { ANSIColors, colorize, colorizePath, Locales } from '@intlayer/config'; import configuration from '@intlayer/config/built'; import { getLocaleName } from '@intlayer/core'; -import { Locales, type LocalesValues } from '@intlayer/types'; export const formatPath = ( path: string | string[], @@ -21,7 +20,7 @@ export const formatPath = ( .join(`, `); export const formatLocale = ( - locale: LocalesValues | LocalesValues[], + locale: Locales | Locales[], color: ANSIColors | false = ANSIColors.GREEN ) => [locale] diff --git a/packages/@intlayer/chokidar/src/utils/runParallel.ts b/packages/@intlayer/chokidar/src/utils/runParallel.ts index 67a7f2be7..c195cb000 100644 --- a/packages/@intlayer/chokidar/src/utils/runParallel.ts +++ b/packages/@intlayer/chokidar/src/utils/runParallel.ts @@ -1,3 +1,5 @@ +import concurrently from 'concurrently'; + export type ParallelHandle = { kill: () => void; result: Promise; @@ -8,16 +10,13 @@ export type ParallelHandle = { * Start a cross-platform parallel process using `concurrently`. * Accepts either a single string (e.g., 'next start') or an array of tokens (e.g., ['next', 'start']). */ -export const runParallel = async ( +export const runParallel = ( proc?: string | string[] -): Promise => { +): ParallelHandle | null => { if (!proc || (Array.isArray(proc) && proc.length === 0)) return null; const commandText = Array.isArray(proc) ? proc.join(' ') : proc; - // Dynamic import to avoid loading concurrently at module initialization - const { concurrently } = await import('concurrently'); - const { result, commands } = concurrently( [ { @@ -51,7 +50,6 @@ export const runParallel = async ( // Ensure cleanup on exit const cleanup = () => kill(); - process.on('SIGINT', cleanup); process.on('SIGTERM', cleanup); process.on('exit', cleanup); diff --git a/packages/@intlayer/chokidar/src/watcher.ts b/packages/@intlayer/chokidar/src/watcher.ts index e23688122..ae9c19b6e 100644 --- a/packages/@intlayer/chokidar/src/watcher.ts +++ b/packages/@intlayer/chokidar/src/watcher.ts @@ -3,8 +3,8 @@ import { type GetConfigurationOptions, getAppLogger, getConfiguration, + type IntlayerConfig, } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; /** @ts-ignore remove error Module '"chokidar"' has no exported member 'ChokidarOptions'. */ import { type ChokidarOptions, watch as chokidarWatch } from 'chokidar'; import { handleAdditionalContentDeclarationFile } from './handleAdditionalContentDeclarationFile'; diff --git a/packages/@intlayer/chokidar/src/writeConfiguration/index.ts b/packages/@intlayer/chokidar/src/writeConfiguration/index.ts index 7ed3294e5..d6db584ed 100644 --- a/packages/@intlayer/chokidar/src/writeConfiguration/index.ts +++ b/packages/@intlayer/chokidar/src/writeConfiguration/index.ts @@ -1,6 +1,6 @@ import { mkdir } from 'node:fs/promises'; import { join } from 'node:path'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config'; import { writeJsonIfChanged } from '../writeJsonIfChanged'; export const writeConfiguration = async (configuration: IntlayerConfig) => { diff --git a/packages/@intlayer/chokidar/src/writeContentDeclaration/_test.content.ts b/packages/@intlayer/chokidar/src/writeContentDeclaration/_test.content.ts index 306a8e68e..25f2a7194 100644 --- a/packages/@intlayer/chokidar/src/writeContentDeclaration/_test.content.ts +++ b/packages/@intlayer/chokidar/src/writeContentDeclaration/_test.content.ts @@ -1,6 +1,14 @@ -import { cond, enu, gender, insert, md, nest, t } from '@intlayer/core'; +import { + cond, + type Dictionary, + enu, + gender, + insert, + md, + nest, + t, +} from '@intlayer/core'; import { fileContent as file } from '@intlayer/core/file'; -import type { Dictionary } from '@intlayer/types'; const content: Dictionary = { key: 'test', diff --git a/packages/@intlayer/chokidar/src/writeContentDeclaration/processContentDeclarationContent.ts b/packages/@intlayer/chokidar/src/writeContentDeclaration/processContentDeclarationContent.ts index 520db95d4..383b1c214 100644 --- a/packages/@intlayer/chokidar/src/writeContentDeclaration/processContentDeclarationContent.ts +++ b/packages/@intlayer/chokidar/src/writeContentDeclaration/processContentDeclarationContent.ts @@ -2,6 +2,7 @@ import { existsSync, mkdirSync, writeFileSync } from 'node:fs'; import { join } from 'node:path'; import { colorizePath, x } from '@intlayer/config'; import { + type Dictionary, deepTransformNode, type FileContent, type FileContentConstructor, @@ -9,9 +10,9 @@ import { type InsertionContentConstructor, type MarkdownContent, type MarkdownContentConstructor, + NodeType, type Plugins, } from '@intlayer/core'; -import { type Dictionary, NodeType } from '@intlayer/types'; /** * Write file plugin diff --git a/packages/@intlayer/chokidar/src/writeContentDeclaration/transformJSFile.test.ts b/packages/@intlayer/chokidar/src/writeContentDeclaration/transformJSFile.test.ts index b3813d47a..cde76d533 100644 --- a/packages/@intlayer/chokidar/src/writeContentDeclaration/transformJSFile.test.ts +++ b/packages/@intlayer/chokidar/src/writeContentDeclaration/transformJSFile.test.ts @@ -1,12 +1,17 @@ import { readFile } from 'node:fs/promises'; import { resolve } from 'node:path'; -import { cond, enu, gender, insert, md, nest, t } from '@intlayer/core'; -import { fileContent as file } from '@intlayer/core/file'; +import { type CustomIntlayerConfig, Locales } from '@intlayer/config'; import { - type CustomIntlayerConfig, + cond, type Dictionary, - Locales, -} from '@intlayer/types'; + enu, + gender, + insert, + md, + nest, + t, +} from '@intlayer/core'; +import { fileContent as file } from '@intlayer/core/file'; import deepmerge from 'deepmerge'; import { describe, expect, it, vi } from 'vitest'; import { transformJSFile } from './transformJSFile'; diff --git a/packages/@intlayer/chokidar/src/writeContentDeclaration/transformJSFile.ts b/packages/@intlayer/chokidar/src/writeContentDeclaration/transformJSFile.ts index a8a01495c..e6182b528 100644 --- a/packages/@intlayer/chokidar/src/writeContentDeclaration/transformJSFile.ts +++ b/packages/@intlayer/chokidar/src/writeContentDeclaration/transformJSFile.ts @@ -1,20 +1,18 @@ -import type { - ConditionContent, - EnumerationContent, - GenderContent, - InsertionContent, - MarkdownContent, - NestedContent, - TranslationContent, -} from '@intlayer/core'; -import { getNodeType } from '@intlayer/core'; -import type { FileContent } from '@intlayer/core/file'; +import type { Locales } from '@intlayer/config/client'; import { + type ConditionContent, type ContentNode, type Dictionary, - type Locales, + type EnumerationContent, + type FileContent, + type GenderContent, + getNodeType, + type InsertionContent, + type MarkdownContent, + type NestedContent, NodeType, -} from '@intlayer/types'; + type TranslationContent, +} from '@intlayer/core'; import { Node, type ObjectLiteralExpression, diff --git a/packages/@intlayer/chokidar/src/writeContentDeclaration/writeContentDeclaration.ts b/packages/@intlayer/chokidar/src/writeContentDeclaration/writeContentDeclaration.ts index 004a9fd1e..5ed9b2727 100644 --- a/packages/@intlayer/chokidar/src/writeContentDeclaration/writeContentDeclaration.ts +++ b/packages/@intlayer/chokidar/src/writeContentDeclaration/writeContentDeclaration.ts @@ -1,14 +1,18 @@ +import { execSync } from 'node:child_process'; import { mkdir, rm, writeFile } from 'node:fs/promises'; import { dirname, extname, join } from 'node:path'; import { getConfiguration } from '@intlayer/config'; -import { getFilteredLocalesContent, getLocalizedContent } from '@intlayer/core'; import type { - ContentNode, - Dictionary, IntlayerConfig, Locales, LocalesValues, -} from '@intlayer/types'; +} from '@intlayer/config/client'; +import { + type ContentNode, + type Dictionary, + getFilteredLocalesContent, + getLocalizedContent, +} from '@intlayer/core'; import { getUnmergedDictionaries } from '@intlayer/unmerged-dictionaries-entry'; import deepEqual from 'deep-equal'; import { @@ -22,7 +26,8 @@ import { writeJSFile } from './writeJSFile'; const formatContentDeclaration = async ( dictionary: Dictionary, configuration: IntlayerConfig, - localeList?: LocalesValues[] + localeList?: LocalesValues[], + fallbackLocale?: Locales ) => { /** * Clean Markdown, Insertion, File, etc. node metadata diff --git a/packages/@intlayer/chokidar/src/writeContentDeclaration/writeJSFile.ts b/packages/@intlayer/chokidar/src/writeContentDeclaration/writeJSFile.ts index 69b5fc50a..de4593d55 100644 --- a/packages/@intlayer/chokidar/src/writeContentDeclaration/writeJSFile.ts +++ b/packages/@intlayer/chokidar/src/writeContentDeclaration/writeJSFile.ts @@ -2,8 +2,13 @@ import { execSync } from 'node:child_process'; import { existsSync } from 'node:fs'; import { readFile, writeFile } from 'node:fs/promises'; import { extname } from 'node:path'; -import { getAppLogger, logger } from '@intlayer/config'; -import type { Dictionary, IntlayerConfig, Locales } from '@intlayer/types'; +import { + getAppLogger, + type IntlayerConfig, + type Locales, + logger, +} from '@intlayer/config'; +import type { Dictionary } from '@intlayer/core'; import { getContentDeclarationFileTemplate } from '../getContentDeclarationFileTemplate/getContentDeclarationFileTemplate'; import { type Extension, diff --git a/packages/@intlayer/chokidar/tsconfig.types.json b/packages/@intlayer/chokidar/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/@intlayer/chokidar/tsconfig.types.json +++ b/packages/@intlayer/chokidar/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/@intlayer/chokidar/types/tsdown.d.ts b/packages/@intlayer/chokidar/types/tsdown.d.ts index 8334f6dd8..4ab1c4b02 100644 --- a/packages/@intlayer/chokidar/types/tsdown.d.ts +++ b/packages/@intlayer/chokidar/types/tsdown.d.ts @@ -1,6 +1,4 @@ -/** - * Utility for tsdown to optimize the build process of assets and avoid them to be duplicated accross CJS and MJS output - */ +// src/types/utils-asset.d.ts declare module 'utils:asset' { export function readAsset( relFromSrc: string, diff --git a/packages/@intlayer/cli/package.json b/packages/@intlayer/cli/package.json index 2b8c7bea2..2271a2989 100644 --- a/packages/@intlayer/cli/package.json +++ b/packages/@intlayer/cli/package.json @@ -51,7 +51,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -59,14 +59,12 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", "test:watch": "vitest" }, "dependencies": { "@intlayer/api": "workspace:*", "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/remote-dictionaries-entry": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", @@ -80,8 +78,9 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, @@ -89,7 +88,6 @@ "@intlayer/api": "workspace:*", "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/remote-dictionaries-entry": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*" diff --git a/packages/@intlayer/cli/src/IntlayerEventListener.ts b/packages/@intlayer/cli/src/IntlayerEventListener.ts index 6da8e21dd..c5e4a687f 100644 --- a/packages/@intlayer/cli/src/IntlayerEventListener.ts +++ b/packages/@intlayer/cli/src/IntlayerEventListener.ts @@ -2,8 +2,7 @@ import { getIntlayerAPIProxy } from '@intlayer/api'; // @ts-ignore: @intlayer/backend is not built yet import type { DictionaryAPI, MessageEventData } from '@intlayer/backend'; import configuration from '@intlayer/config/built'; -import { getAppLogger } from '@intlayer/config/client'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getAppLogger, type IntlayerConfig } from '@intlayer/config/client'; import { EventSource } from 'eventsource'; export type IntlayerMessageEvent = MessageEvent; diff --git a/packages/@intlayer/cli/src/build.ts b/packages/@intlayer/cli/src/build.ts index a8ba06c73..b05c78b22 100644 --- a/packages/@intlayer/cli/src/build.ts +++ b/packages/@intlayer/cli/src/build.ts @@ -24,7 +24,7 @@ export const build = async (options?: BuildOptions) => { let parallelProcess: ParallelHandle | null = null; if (options?.with) { - parallelProcess = await runParallel(options.with); + parallelProcess = runParallel(options.with); } await buildAndWatchIntlayer({ diff --git a/packages/@intlayer/cli/src/fill/fill.ts b/packages/@intlayer/cli/src/fill/fill.ts index b65fd90d3..5cd0d08ec 100644 --- a/packages/@intlayer/cli/src/fill/fill.ts +++ b/packages/@intlayer/cli/src/fill/fill.ts @@ -15,10 +15,15 @@ import { colorizeKey, getAppLogger, getConfiguration, + type Locales, } from '@intlayer/config'; -import { getLocalizedContent, mergeDictionaries } from '@intlayer/core'; +import { + type ContentNode, + type Dictionary, + getLocalizedContent, + mergeDictionaries, +} from '@intlayer/core'; import { getDictionaries } from '@intlayer/dictionaries-entry'; -import type { ContentNode, Dictionary, Locales } from '@intlayer/types'; import { ensureArray, type GetTargetDictionaryOptions, @@ -174,14 +179,14 @@ export const fill = async (options?: FillOptions): Promise => { */ if (formattedDict.locale) { const presetOutputContent = getLocalizedContent( - mainDictionaryToProcess.content as unknown as ContentNode, + mainDictionaryToProcess as unknown as ContentNode, formattedDict.locale, { dictionaryKey, keyPath: [] } ); formattedDict = { ...formattedDict, - content: presetOutputContent, + content: presetOutputContent.content, }; } @@ -213,7 +218,7 @@ export const fill = async (options?: FillOptions): Promise => { await writeAutoFill( mergedResults, targetUnmergedDictionary, - formattedDict.autoFill ?? (configuration.content.autoFill as AutoFill), + formattedDict.autoFill ?? configuration.content.autoFill, localeList, [sourceLocale], configuration diff --git a/packages/@intlayer/cli/src/fill/formatAutoFillData.ts b/packages/@intlayer/cli/src/fill/formatAutoFillData.ts index 5c4fe3106..e1e36ab83 100644 --- a/packages/@intlayer/cli/src/fill/formatAutoFillData.ts +++ b/packages/@intlayer/cli/src/fill/formatAutoFillData.ts @@ -1,16 +1,17 @@ import { extname } from 'node:path'; -import type { AutoFill, IntlayerConfig, LocalesValues } from '@intlayer/types'; +import type { IntlayerConfig, Locales } from '@intlayer/config'; +import type { AutoFill } from '@intlayer/core'; import { formatAutoFilledFilePath } from './formatAutoFilledFilePath'; export type AutoFillData = { - localeList: LocalesValues[]; + localeList: Locales[]; filePath: string; isPerLocale: boolean; }; export const formatAutoFillData = ( autoFillField: AutoFill, - localeList: LocalesValues[], + localeList: Locales[], filePath: string, dictionaryKey: string, configuration: IntlayerConfig @@ -77,17 +78,14 @@ export const formatAutoFillData = ( if (typeof autoFillField === 'object') { const localeList = Object.keys(autoFillField).filter( - (locale) => - typeof autoFillField[locale as keyof typeof autoFillField] === 'string' - ) as LocalesValues[]; + (locale) => typeof autoFillField[locale] === 'string' + ) as Locales[]; const output: AutoFillData[] = localeList - .filter((locale) => - Boolean(autoFillField[locale as keyof typeof autoFillField]) - ) + .filter((locale) => Boolean(autoFillField[locale])) .map((locale) => { const formattedFilePath = formatAutoFilledFilePath( - autoFillField[locale as keyof typeof autoFillField] as string, + autoFillField[locale], dictionaryKey, filePath, baseDir, diff --git a/packages/@intlayer/cli/src/fill/formatAutoFilledFilePath.ts b/packages/@intlayer/cli/src/fill/formatAutoFilledFilePath.ts index 32b20d640..cdbcf33fb 100644 --- a/packages/@intlayer/cli/src/fill/formatAutoFilledFilePath.ts +++ b/packages/@intlayer/cli/src/fill/formatAutoFilledFilePath.ts @@ -6,7 +6,7 @@ import { relative, resolve, } from 'node:path'; -import type { LocalesValues } from '@intlayer/types'; +import type { Locales } from '@intlayer/config'; /** * This function normalizes the URI related to multiple cases: @@ -67,7 +67,7 @@ export const formatAutoFilledFilePath = ( dictionaryKey: string, dictionaryFilePath: string, baseDir: string, - locale?: LocalesValues + locale?: Locales ): string => { // Validate inputs if (!autoFillField || typeof autoFillField !== 'string') { diff --git a/packages/@intlayer/cli/src/fill/listTranslationsTasks.ts b/packages/@intlayer/cli/src/fill/listTranslationsTasks.ts index e5e8d7908..f7d3aba6c 100644 --- a/packages/@intlayer/cli/src/fill/listTranslationsTasks.ts +++ b/packages/@intlayer/cli/src/fill/listTranslationsTasks.ts @@ -1,4 +1,3 @@ -import { relative } from 'node:path'; import { formatLocale } from '@intlayer/chokidar'; import type { Logger } from '@intlayer/config'; import { @@ -7,32 +6,30 @@ import { colorize, colorizeKey, colorizePath, + type Locales, } from '@intlayer/config'; import configuration from '@intlayer/config/built'; import { + type ContentNode, + type Dictionary, getFilterTranslationsOnlyContent, getMissingLocalesContent, } from '@intlayer/core'; -import type { - ContentNode, - Dictionary, - Locales, - LocalesValues, -} from '@intlayer/types'; +import { relative } from 'path'; export type TranslationTask = { dictionaryKey: string; - sourceLocale: LocalesValues; - targetLocale: LocalesValues; + sourceLocale: Locales; + targetLocale: Locales; dictionaryPreset: string; }; export const listTranslationsTasks = ( targetUnmergedDictionaries: Dictionary[], dictionariesRecord: Record, - outputLocales: LocalesValues[], + outputLocales: Locales[], mode: 'complete' | 'review', - baseLocale: LocalesValues, + baseLocale: Locales, maxKeyLength: number, appLogger: Logger ) => { @@ -52,8 +49,8 @@ export const listTranslationsTasks = ( const mainDictionaryToProcess: Dictionary = dictionariesRecord[dictionaryKey]; - const sourceLocale: LocalesValues = - targetUnmergedDictionary.locale ?? baseLocale; + const sourceLocale: Locales = + (targetUnmergedDictionary.locale as Locales) ?? baseLocale; if (!mainDictionaryToProcess) { appLogger( @@ -73,7 +70,7 @@ export const listTranslationsTasks = ( } const relativePath = relative( - configuration?.content?.baseDir ?? process.cwd(), + configuration.content.baseDir, targetUnmergedDictionary.filePath ); @@ -90,9 +87,7 @@ export const listTranslationsTasks = ( { dictionaryKey, keyPath: [] } ); - if ( - Object.keys(sourceLocaleContent as Record).length === 0 - ) { + if (Object.keys(sourceLocaleContent).length === 0) { appLogger( `${dictionaryPreset} No content found for dictionary in source locale ${formatLocale(sourceLocale)}. Skipping translation for this dictionary.`, { @@ -107,7 +102,7 @@ export const listTranslationsTasks = ( * * Skip the dictionary if there are no missing locales to translate */ - let outputLocalesList: LocalesValues[] = outputLocales; + let outputLocalesList: Locales[] = outputLocales; if (mode === 'complete') { const missingLocales = getMissingLocalesContent( diff --git a/packages/@intlayer/cli/src/fill/translateDictionary.ts b/packages/@intlayer/cli/src/fill/translateDictionary.ts index b2f14e734..8818eb0ce 100644 --- a/packages/@intlayer/cli/src/fill/translateDictionary.ts +++ b/packages/@intlayer/cli/src/fill/translateDictionary.ts @@ -6,13 +6,20 @@ import { formatLocale, type JsonChunk, } from '@intlayer/chokidar'; -import { ANSIColors, colon, colorize, getAppLogger } from '@intlayer/config'; import { + ANSIColors, + colon, + colorize, + getAppLogger, + type IntlayerConfig, +} from '@intlayer/config'; +import { + type ContentNode, + type Dictionary, getFilterMissingTranslationsContent, getFilterTranslationsOnlyContent, getLocalizedContent, } from '@intlayer/core'; -import type { ContentNode, Dictionary, IntlayerConfig } from '@intlayer/types'; import type { TranslationTask } from './listTranslationsTasks'; export const translateDictionary = async ( @@ -67,14 +74,14 @@ export const translateDictionary = async ( /** * Extract the content of the target locale as preset */ - const presetOutputContent: Dictionary['content'] = getLocalizedContent( - dictionaryToProcess.content as unknown as ContentNode, + const presetOutputContent = getLocalizedContent( + dictionaryToProcess as unknown as ContentNode, task.targetLocale, { dictionaryKey: task.dictionaryKey, keyPath: [] } ); const chunkedJsonContent: JsonChunk[] = chunkJSON( - sourceLocaleContent as any, + sourceLocaleContent.content, 1000 ); diff --git a/packages/@intlayer/cli/src/fill/writeAutoFill.ts b/packages/@intlayer/cli/src/fill/writeAutoFill.ts index 36851dfbe..60ba6cd10 100644 --- a/packages/@intlayer/cli/src/fill/writeAutoFill.ts +++ b/packages/@intlayer/cli/src/fill/writeAutoFill.ts @@ -4,13 +4,13 @@ import { reduceDictionaryContent, writeContentDeclaration, } from '@intlayer/chokidar'; -import { colorizeKey, getAppLogger } from '@intlayer/config'; -import type { - AutoFill, - Dictionary, - IntlayerConfig, - Locales, -} from '@intlayer/types'; +import { + colorizeKey, + getAppLogger, + type IntlayerConfig, + type Locales, +} from '@intlayer/config'; +import type { AutoFill, Dictionary } from '@intlayer/core'; import { type AutoFillData, formatAutoFillData } from './formatAutoFillData'; export const writeAutoFill = async ( diff --git a/packages/@intlayer/cli/src/getTargetDictionary.ts b/packages/@intlayer/cli/src/getTargetDictionary.ts index c5b7b924b..ef6d0112b 100644 --- a/packages/@intlayer/cli/src/getTargetDictionary.ts +++ b/packages/@intlayer/cli/src/getTargetDictionary.ts @@ -4,7 +4,7 @@ import { type GetConfigurationOptions, getConfiguration, } from '@intlayer/config'; -import type { Dictionary } from '@intlayer/types'; +import type { Dictionary } from '@intlayer/core'; import { getUnmergedDictionaries } from '@intlayer/unmerged-dictionaries-entry'; export const ensureArray = (value: T | T[]): T[] => [value].flat() as T[]; diff --git a/packages/@intlayer/cli/src/liveSync.ts b/packages/@intlayer/cli/src/liveSync.ts index 0d366c0f3..145b38330 100644 --- a/packages/@intlayer/cli/src/liveSync.ts +++ b/packages/@intlayer/cli/src/liveSync.ts @@ -6,12 +6,11 @@ import { type ParallelHandle, runParallel, } from '@intlayer/chokidar'; -import type { GetConfigurationOptions } from '@intlayer/config'; +import type { GetConfigurationOptions, IntlayerConfig } from '@intlayer/config'; import { getAppLogger, getConfiguration } from '@intlayer/config'; import packageJson from '@intlayer/config/package.json'; import { getLocalizedContent } from '@intlayer/core'; import { getDictionaries } from '@intlayer/dictionaries-entry'; -import type { IntlayerConfig } from '@intlayer/types'; import { getUnmergedDictionaries } from '@intlayer/unmerged-dictionaries-entry'; import { IntlayerEventListener } from './IntlayerEventListener'; @@ -42,7 +41,7 @@ export const liveSync = async (options?: LiveSyncOptions) => { // Start the parallel process if provided if (options?.with) { - parallelProcess = await runParallel(options.with); + parallelProcess = runParallel(options.with); } // Initialize the event listener for hot reload if configured @@ -156,15 +155,10 @@ export const liveSync = async (options?: LiveSyncOptions) => { const dictionary = dictionaries[key] ?? null; if (locale) { - // @ts-ignore Type instantiation is excessively deep and possibly infinite - const sourceLocaleContent = getLocalizedContent( - dictionary.content, - locale, - { - dictionaryKey: key, - keyPath: [], - } - ); + const sourceLocaleContent = getLocalizedContent(dictionary, locale, { + dictionaryKey: key, + keyPath: [], + }); res.end(JSON.stringify(sourceLocaleContent)); return; diff --git a/packages/@intlayer/cli/src/pull.ts b/packages/@intlayer/cli/src/pull.ts index 97ee2de11..e120a80f4 100644 --- a/packages/@intlayer/cli/src/pull.ts +++ b/packages/@intlayer/cli/src/pull.ts @@ -13,7 +13,7 @@ import { getAppLogger, getConfiguration, } from '@intlayer/config'; -import type { Dictionary } from '@intlayer/types'; +import type { Dictionary } from '@intlayer/core'; import { PullLogger, type PullStatus } from './push/pullLog'; import { checkCMSAuth } from './utils/checkAccess'; diff --git a/packages/@intlayer/cli/src/push/push.ts b/packages/@intlayer/cli/src/push/push.ts index 59cae0c21..c0faaf1e0 100644 --- a/packages/@intlayer/cli/src/push/push.ts +++ b/packages/@intlayer/cli/src/push/push.ts @@ -15,8 +15,8 @@ import { getAppLogger, getConfiguration, } from '@intlayer/config'; +import type { Dictionary } from '@intlayer/core'; import { getDictionaries } from '@intlayer/dictionaries-entry'; -import type { Dictionary } from '@intlayer/types'; import { PushLogger, type PushStatus } from '../pushLog'; import { checkCMSAuth } from '../utils/checkAccess'; diff --git a/packages/@intlayer/cli/src/reviewDoc.ts b/packages/@intlayer/cli/src/reviewDoc.ts index 141f0cbce..b48dc5210 100644 --- a/packages/@intlayer/cli/src/reviewDoc.ts +++ b/packages/@intlayer/cli/src/reviewDoc.ts @@ -20,10 +20,10 @@ import { type GetConfigurationOptions, getAppLogger, getConfiguration, + Locales, retryManager, } from '@intlayer/config'; import { getLocaleName } from '@intlayer/core'; -import { Locales } from '@intlayer/types'; import fg from 'fast-glob'; import { chunkText } from './utils/calculateChunks'; import { checkAIAccess } from './utils/checkAccess'; @@ -297,7 +297,7 @@ export const reviewDoc = async ({ nbSimultaneousFileProcessed = 10; // Limit the number of simultaneous file processed to 10 } - let docList: string[] = await fg(docPattern, { + let docList: string[] = fg.sync(docPattern, { ignore: excludedGlobPattern, }); diff --git a/packages/@intlayer/cli/src/test/listMissingTranslations.ts b/packages/@intlayer/cli/src/test/listMissingTranslations.ts index 99eaf26aa..3075f8693 100644 --- a/packages/@intlayer/cli/src/test/listMissingTranslations.ts +++ b/packages/@intlayer/cli/src/test/listMissingTranslations.ts @@ -1,9 +1,13 @@ import { type GetConfigurationOptions, getConfiguration, + type Locales, } from '@intlayer/config'; -import { getMissingLocalesContent } from '@intlayer/core'; -import type { ContentNode, Dictionary, Locales } from '@intlayer/types'; +import { + type ContentNode, + type Dictionary, + getMissingLocalesContent, +} from '@intlayer/core'; import { getUnmergedDictionaries } from '@intlayer/unmerged-dictionaries-entry'; export const listMissingTranslations = ( diff --git a/packages/@intlayer/cli/src/translateDoc.ts b/packages/@intlayer/cli/src/translateDoc.ts index dfb9bba62..7b547a20b 100644 --- a/packages/@intlayer/cli/src/translateDoc.ts +++ b/packages/@intlayer/cli/src/translateDoc.ts @@ -19,9 +19,10 @@ import { type GetConfigurationOptions, getAppLogger, getConfiguration, + type IntlayerConfig, + type Locales, retryManager, } from '@intlayer/config'; -import type { IntlayerConfig, Locales } from '@intlayer/types'; import fg from 'fast-glob'; import { chunkText } from './utils/calculateChunks'; import { checkAIAccess } from './utils/checkAccess'; @@ -204,7 +205,7 @@ export const translateDoc = async ({ nbSimultaneousFileProcessed = 10; // Limit the number of simultaneous file processed to 10 } - let docList: string[] = await fg(docPattern, { + let docList: string[] = fg.sync(docPattern, { ignore: excludedGlobPattern, }); diff --git a/packages/@intlayer/cli/src/utils/checkAccess.ts b/packages/@intlayer/cli/src/utils/checkAccess.ts index 5a7b8790b..3940cf303 100644 --- a/packages/@intlayer/cli/src/utils/checkAccess.ts +++ b/packages/@intlayer/cli/src/utils/checkAccess.ts @@ -1,8 +1,7 @@ import type { AIOptions } from '@intlayer/api'; import { getIntlayerAPIProxy } from '@intlayer/api'; import { extractErrorMessage } from '@intlayer/chokidar'; -import { getAppLogger } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getAppLogger, type IntlayerConfig } from '@intlayer/config'; export const checkCMSAuth = async ( configuration: IntlayerConfig diff --git a/packages/@intlayer/cli/src/utils/chunkInference.ts b/packages/@intlayer/cli/src/utils/chunkInference.ts index ee77d9590..d60ea633a 100644 --- a/packages/@intlayer/cli/src/utils/chunkInference.ts +++ b/packages/@intlayer/cli/src/utils/chunkInference.ts @@ -3,8 +3,7 @@ import { getIntlayerAPIProxy, type Messages, } from '@intlayer/api'; -import { retryManager } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { type IntlayerConfig, retryManager } from '@intlayer/config'; type ChunkInferenceResult = { fileContent: string; diff --git a/packages/@intlayer/cli/src/utils/getOutputFilePath.test.ts b/packages/@intlayer/cli/src/utils/getOutputFilePath.test.ts index aa567a0cc..7da44d49a 100644 --- a/packages/@intlayer/cli/src/utils/getOutputFilePath.test.ts +++ b/packages/@intlayer/cli/src/utils/getOutputFilePath.test.ts @@ -1,4 +1,4 @@ -import { Locales } from '@intlayer/types'; +import { Locales } from '@intlayer/config'; import { describe, expect, it } from 'vitest'; import { getOutputFilePath } from './getOutputFilePath'; diff --git a/packages/@intlayer/cli/src/utils/getOutputFilePath.ts b/packages/@intlayer/cli/src/utils/getOutputFilePath.ts index dbc0b8c66..7d9d64107 100644 --- a/packages/@intlayer/cli/src/utils/getOutputFilePath.ts +++ b/packages/@intlayer/cli/src/utils/getOutputFilePath.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config'; /** * Get the output file path by replacing the base locale with the target locale diff --git a/packages/@intlayer/cli/src/watch.ts b/packages/@intlayer/cli/src/watch.ts index 55bb93343..da0501602 100644 --- a/packages/@intlayer/cli/src/watch.ts +++ b/packages/@intlayer/cli/src/watch.ts @@ -20,7 +20,7 @@ export const watchContentDeclaration = async (options?: WatchOptions) => { const appLogger = getAppLogger(config); if (options?.with) { - await runParallel(options.with); + runParallel(options.with); } appLogger('Watching Intlayer content declarations'); diff --git a/packages/@intlayer/cli/tsconfig.types.json b/packages/@intlayer/cli/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/@intlayer/cli/tsconfig.types.json +++ b/packages/@intlayer/cli/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/@intlayer/cli/types/tsdown.d.ts b/packages/@intlayer/cli/types/tsdown.d.ts index d449e963d..4ab1c4b02 100644 --- a/packages/@intlayer/cli/types/tsdown.d.ts +++ b/packages/@intlayer/cli/types/tsdown.d.ts @@ -1,6 +1,5 @@ -/** - * Utility for tsdown to optimize the build process of assets and avoid them to be duplicated accross CJS and MJS output - */ declare module 'utils:asset' { +// src/types/utils-asset.d.ts +declare module 'utils:asset' { export function readAsset( relFromSrc: string, encoding?: BufferEncoding diff --git a/packages/@intlayer/config/package.json b/packages/@intlayer/config/package.json index dc88ec541..5b23a4ff0 100644 --- a/packages/@intlayer/config/package.json +++ b/packages/@intlayer/config/package.json @@ -81,7 +81,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -89,11 +89,10 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { - "@intlayer/types": "workspace:*", "deepmerge": "4.3.1", "dotenv": "16.6.1", "esbuild": "0.25.2" @@ -103,21 +102,18 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { - "react": ">=16.0.0", - "intlayer": "workspace:*" + "react": ">=16.0.0" }, "peerDependenciesMeta": { "react": { "optional": true - }, - "intlayer": { - "optional": true } }, "engines": { diff --git a/packages/@intlayer/config/src/alias.ts b/packages/@intlayer/config/src/alias.ts index c56377740..1a0b0095b 100644 --- a/packages/@intlayer/config/src/alias.ts +++ b/packages/@intlayer/config/src/alias.ts @@ -1,19 +1,20 @@ import { join, relative } from 'node:path'; -import type { IntlayerConfig } from '@intlayer/types'; +import { getConfiguration } from './configFile/getConfiguration'; +import type { IntlayerConfig } from './types/config'; import { getExtension } from './utils/getExtension'; import { normalizePath } from './utils/normalizePath'; export type GetAliasOptions = { - configuration: IntlayerConfig; + configuration?: IntlayerConfig; format?: 'esm' | 'cjs'; formatter?: (value: string) => string; }; export const getAlias = ({ - configuration, + configuration = getConfiguration(), format = 'esm', formatter = (value: string) => value, -}: GetAliasOptions) => { +}: GetAliasOptions = {}) => { const extension = getExtension(configuration, format); const { mainDir, configDir, baseDir } = configuration.content; diff --git a/packages/@intlayer/config/src/built.ts b/packages/@intlayer/config/src/built.ts index a8c047462..09d66507b 100644 --- a/packages/@intlayer/config/src/built.ts +++ b/packages/@intlayer/config/src/built.ts @@ -3,9 +3,8 @@ * Using an external package allow to alias it in the bundle configuration (such as webpack). */ -import type { IntlayerConfig } from '@intlayer/types'; import { getConfiguration } from './configFile/getConfiguration'; -const configuration: IntlayerConfig | undefined = getConfiguration(); +const configuration = getConfiguration(); export default configuration; diff --git a/packages/@intlayer/config/src/client.ts b/packages/@intlayer/config/src/client.ts index 13a56525d..625d9283d 100644 --- a/packages/@intlayer/config/src/client.ts +++ b/packages/@intlayer/config/src/client.ts @@ -12,3 +12,10 @@ export { v, x, } from './logger'; +export type { + CustomIntlayerConfig, + IntlayerConfig, + PatternsContentConfig, +} from './types/config'; +export type { LocalesValues } from './types/locales'; +export { Locales } from './types/locales'; diff --git a/packages/@intlayer/config/src/configFile/buildConfigurationFields.ts b/packages/@intlayer/config/src/configFile/buildConfigurationFields.ts index 439c7f2c9..b8c9c135e 100644 --- a/packages/@intlayer/config/src/configFile/buildConfigurationFields.ts +++ b/packages/@intlayer/config/src/configFile/buildConfigurationFields.ts @@ -1,19 +1,4 @@ import { join } from 'node:path'; -import type { - AiConfig, - BaseContentConfig, - BaseDerivedConfig, - BuildConfig, - ContentConfig, - CustomIntlayerConfig, - EditorConfig, - InternationalizationConfig, - IntlayerConfig, - LogConfig, - LogFunctions, - MiddlewareConfig, - PatternsContentConfig, -} from '@intlayer/types'; import { IMPORT_MODE, OPTIMIZE, @@ -64,6 +49,21 @@ import { PREFIX_DEFAULT, SERVER_SET_COOKIE, } from '../defaultValues/middleware'; +import type { + AiConfig, + BaseContentConfig, + BaseDerivedConfig, + BuildConfig, + ContentConfig, + CustomIntlayerConfig, + EditorConfig, + InternationalizationConfig, + IntlayerConfig, + LogConfig, + LogFunctions, + MiddlewareConfig, + PatternsContentConfig, +} from '../types/config'; import { normalizePath } from '../utils/normalizePath'; let storedConfiguration: IntlayerConfig; diff --git a/packages/@intlayer/config/src/configFile/getConfiguration.ts b/packages/@intlayer/config/src/configFile/getConfiguration.ts index f50106f44..24cf49bce 100644 --- a/packages/@intlayer/config/src/configFile/getConfiguration.ts +++ b/packages/@intlayer/config/src/configFile/getConfiguration.ts @@ -1,11 +1,11 @@ import { relative } from 'node:path'; +import merge from 'deepmerge'; +import { logger } from '../logger'; import type { CustomIntlayerConfig, IntlayerConfig, LogFunctions, -} from '@intlayer/types'; -import merge from 'deepmerge'; -import { logger } from '../logger'; +} from '../types/config'; import { buildConfigurationFields } from './buildConfigurationFields'; import { loadConfigurationFile } from './loadConfigurationFile'; import { searchConfigurationFile } from './searchConfigurationFile'; diff --git a/packages/@intlayer/config/src/configFile/loadConfigurationFile.ts b/packages/@intlayer/config/src/configFile/loadConfigurationFile.ts index 6b49dae0b..6aecf6c32 100644 --- a/packages/@intlayer/config/src/configFile/loadConfigurationFile.ts +++ b/packages/@intlayer/config/src/configFile/loadConfigurationFile.ts @@ -1,6 +1,6 @@ -import type { CustomIntlayerConfig } from '@intlayer/types'; import type { LoadEnvFileOptions } from '../loadEnvFile'; import { loadExternalFile } from '../loadExternalFile'; +import type { CustomIntlayerConfig } from '../types/config'; import { ESMxCJSRequire } from '../utils/ESMxCJSHelpers'; const filterValidConfiguration = ( diff --git a/packages/@intlayer/config/src/defaultValues/internationalization.ts b/packages/@intlayer/config/src/defaultValues/internationalization.ts index a0d6fb87c..6e24b36e3 100644 --- a/packages/@intlayer/config/src/defaultValues/internationalization.ts +++ b/packages/@intlayer/config/src/defaultValues/internationalization.ts @@ -1,4 +1,5 @@ -import { Locales, type StrictMode } from '@intlayer/types'; +import type { StrictMode } from '../types/config'; +import { Locales } from '../types/locales'; export const LOCALES: Locales[] = [Locales.ENGLISH]; diff --git a/packages/@intlayer/config/src/getSandboxContext.ts b/packages/@intlayer/config/src/getSandboxContext.ts index b4c748913..ae930a9a5 100644 --- a/packages/@intlayer/config/src/getSandboxContext.ts +++ b/packages/@intlayer/config/src/getSandboxContext.ts @@ -1,39 +1,18 @@ import type { Context } from 'node:vm'; -import * as intlayerTypes from '@intlayer/types'; import { type LoadEnvFileOptions, loadEnvFile } from './loadEnvFile'; import { ESMxCJSRequire } from './utils/ESMxCJSHelpers'; export const getSandBoxContext = ( envVarOptions?: LoadEnvFileOptions, - projectRequire?: NodeJS.Require, + projectRequire = ESMxCJSRequire, additionalEnvVars?: Record ): Context => { let additionalGlobalVar = {}; - const safeRequire = - typeof projectRequire === 'function' ? projectRequire : ESMxCJSRequire; - - // Wrap require to intercept @intlayer/types - const wrappedRequire = ((moduleName: string) => { - switch (moduleName) { - case '@intlayer/types': - return intlayerTypes; - - default: - return safeRequire(moduleName); - } - }) as NodeJS.Require; - - // Copy require properties - wrappedRequire.resolve = safeRequire.resolve; - wrappedRequire.cache = safeRequire.cache; - wrappedRequire.extensions = safeRequire.extensions; - wrappedRequire.main = safeRequire.main; - try { // Dynamically try to require React if it's installed in the project additionalGlobalVar = { - React: safeRequire('react'), + React: projectRequire('react'), }; } catch (_err) { // React is not installed, so we don't inject it @@ -55,7 +34,7 @@ export const getSandBoxContext = ( }, }, console, - require: wrappedRequire, + require: projectRequire, ...additionalGlobalVar, }; diff --git a/packages/@intlayer/config/src/index.ts b/packages/@intlayer/config/src/index.ts index c27cb5ce6..4c9425290 100644 --- a/packages/@intlayer/config/src/index.ts +++ b/packages/@intlayer/config/src/index.ts @@ -33,6 +33,20 @@ export { x, } from './logger'; export { retryManager } from './retryManager'; +export type { + CustomIntlayerConfig, + InternationalizationConfig, + IntlayerConfig, + LogConfig, + LogFunctions, + MiddlewareConfig, + PatternsContentConfig, + ServerSetCookieRule, + StrictMode, +} from './types/config'; +export type { LocalesValues } from './types/locales'; +export { Locales } from './types/locales'; +export type { Plugin } from './types/plugin'; export { clearModuleCache } from './utils/clearModuleCache'; export { ESMxCJSRequire, isESModule } from './utils/ESMxCJSHelpers'; export { getExtension } from './utils/getExtension'; diff --git a/packages/@intlayer/config/src/logger.ts b/packages/@intlayer/config/src/logger.ts index a087c00ce..f0fff3bf1 100644 --- a/packages/@intlayer/config/src/logger.ts +++ b/packages/@intlayer/config/src/logger.ts @@ -1,4 +1,5 @@ -import type { CustomIntlayerConfig, Locales } from '@intlayer/types'; +import type { CustomIntlayerConfig } from './types/config'; +import type { Locales } from './types/locales'; export type Details = { isVerbose?: boolean; diff --git a/packages/@intlayer/types/src/config.ts b/packages/@intlayer/config/src/types/config.ts similarity index 100% rename from packages/@intlayer/types/src/config.ts rename to packages/@intlayer/config/src/types/config.ts diff --git a/packages/@intlayer/types/src/locales.ts b/packages/@intlayer/config/src/types/locales.ts similarity index 99% rename from packages/@intlayer/types/src/locales.ts rename to packages/@intlayer/config/src/types/locales.ts index 57474d290..7153ed55d 100644 --- a/packages/@intlayer/types/src/locales.ts +++ b/packages/@intlayer/config/src/types/locales.ts @@ -560,3 +560,6 @@ export enum Locales { /** Arabic language as used in Comoros */ ARABIC_COMOROS = 'ar-KM', } + +/** Define MyType using the ValueOf utility type on Locales */ +export type LocalesValues = (Locales | `${Locales}`) | (string & {}); diff --git a/packages/@intlayer/types/src/plugin.ts b/packages/@intlayer/config/src/types/plugin.ts similarity index 97% rename from packages/@intlayer/types/src/plugin.ts rename to packages/@intlayer/config/src/types/plugin.ts index e8cfb7b43..35596b7fe 100644 --- a/packages/@intlayer/types/src/plugin.ts +++ b/packages/@intlayer/config/src/types/plugin.ts @@ -1,5 +1,5 @@ import type { IntlayerConfig } from './config'; -import type { LocalesValues } from './module_augmentation'; +import type { LocalesValues } from './locales'; /** * This is a temporary type to avoid cross-package type coupling. diff --git a/packages/@intlayer/config/src/utils/getExtension.ts b/packages/@intlayer/config/src/utils/getExtension.ts index 6b2d4dac9..8ed345b9b 100644 --- a/packages/@intlayer/config/src/utils/getExtension.ts +++ b/packages/@intlayer/config/src/utils/getExtension.ts @@ -1,4 +1,4 @@ -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config'; export const getExtension = ( configuration: IntlayerConfig, diff --git a/packages/@intlayer/config/tsconfig.types.json b/packages/@intlayer/config/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/@intlayer/config/tsconfig.types.json +++ b/packages/@intlayer/config/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/@intlayer/config/types/tsdown.d.ts b/packages/@intlayer/config/types/tsdown.d.ts deleted file mode 100644 index d449e963d..000000000 --- a/packages/@intlayer/config/types/tsdown.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Utility for tsdown to optimize the build process of assets and avoid them to be duplicated accross CJS and MJS output - */ declare module 'utils:asset' { - export function readAsset( - relFromSrc: string, - encoding?: BufferEncoding - ): string; -} diff --git a/packages/@intlayer/core/package.json b/packages/@intlayer/core/package.json index d482aee3a..7e460414f 100644 --- a/packages/@intlayer/core/package.json +++ b/packages/@intlayer/core/package.json @@ -85,7 +85,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -94,14 +94,13 @@ "process-files": "ts-node src/transpiler/processFilesCLI.ts --dir $npm_config_dir --extension $npm_config_extension --no-node-snapshot", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/api": "workspace:*", "deepmerge": "4.3.1", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*" }, @@ -110,17 +109,23 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", - "@intlayer/unmerged-dictionaries-entry": "workspace:*" + "@intlayer/unmerged-dictionaries-entry": "workspace:*", + "intlayer": "workspace:*" + }, + "peerDependenciesMeta": { + "intlayer": { + "optional": true + } }, "engines": { "node": ">=14.18" diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getFilterMissingTranslationsContent.test.ts b/packages/@intlayer/core/src/deepTransformPlugins/getFilterMissingTranslationsContent.test.ts index 7d671f7a6..90827333a 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getFilterMissingTranslationsContent.test.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getFilterMissingTranslationsContent.test.ts @@ -1,10 +1,7 @@ -import { - type ContentNode, - type CustomIntlayerConfig, - Locales, -} from '@intlayer/types'; +import { type CustomIntlayerConfig, Locales } from '@intlayer/config/client'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import { t } from '../transpiler'; +import type { ContentNode } from '../types'; import { getFilterMissingTranslationsContent } from './getFilterMissingTranslationsContent'; // Mock dependencies diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getFilterMissingTranslationsContent.ts b/packages/@intlayer/core/src/deepTransformPlugins/getFilterMissingTranslationsContent.ts index 59f54ef86..5834f557c 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getFilterMissingTranslationsContent.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getFilterMissingTranslationsContent.ts @@ -1,14 +1,14 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; -import { - type DeepTransformContent, - getTranslation, - type NodeProps, - type Plugins, -} from '../interpreter'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; +import { getTranslation } from '../interpreter'; import { deepTransformNode } from '../interpreter/getContent/deepTransform'; +import type { + DeepTransformContent, + NodeProps, + Plugins, +} from '../interpreter/getContent/plugins'; import type { TranslationContent } from '../transpiler'; +import { type ContentNode, type KeyPath, NodeType } from '../types'; /** * Helper function to check if a node or its children contain translation nodes @@ -76,7 +76,7 @@ export const filterMissingTranslationsOnlyPlugin = ( // Return the base locale content using getTranslation // If base locale is missing, use any available locale as fallback - const baseLocale = configuration?.internationalization?.defaultLocale; + const baseLocale = configuration.internationalization.defaultLocale; const availableLocales = Object.keys(result); if (availableLocales.length === 0) { @@ -191,7 +191,7 @@ export const filterMissingTranslationsOnlyPlugin = ( */ export const getFilterMissingTranslationsContent = < T extends ContentNode, - L extends LocalesValues, + L extends LocalesValues = Locales, >( node: T, localeToCheck: L, diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getFilterTranslationsOnlyContent.test.ts b/packages/@intlayer/core/src/deepTransformPlugins/getFilterTranslationsOnlyContent.test.ts index 0c8da51dd..818ac0b18 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getFilterTranslationsOnlyContent.test.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getFilterTranslationsOnlyContent.test.ts @@ -1,5 +1,6 @@ -import { type ContentNode, Locales, NodeType } from '@intlayer/types'; +import { Locales } from '@intlayer/config/client'; import { describe, expect, it } from 'vitest'; +import { type ContentNode, NodeType } from '../types'; import { getFilterTranslationsOnlyContent } from './getFilterTranslationsOnlyContent'; describe('getFilterTranslationsOnlyContent', () => { diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getFilterTranslationsOnlyContent.ts b/packages/@intlayer/core/src/deepTransformPlugins/getFilterTranslationsOnlyContent.ts index 7e0efeaaf..d71a69c47 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getFilterTranslationsOnlyContent.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getFilterTranslationsOnlyContent.ts @@ -1,14 +1,14 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; -import { - type DeepTransformContent, - getTranslation, - type NodeProps, - type Plugins, -} from '../interpreter'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; +import { getTranslation } from '../interpreter'; import { deepTransformNode } from '../interpreter/getContent/deepTransform'; +import type { + DeepTransformContent, + NodeProps, + Plugins, +} from '../interpreter/getContent/plugins'; import type { TranslationContent } from '../transpiler'; +import { type ContentNode, type KeyPath, NodeType } from '../types'; /** * Helper function to check if a node or its children contain translation nodes @@ -76,19 +76,16 @@ export const filterTranslationsOnlyPlugin = ( // For regular objects, filter out properties that don't contain translations const result: Record = {}; for (const key in node as any) { - if (hasTranslationNodes(node[key as unknown as keyof typeof node])) { + if (hasTranslationNodes(node[key])) { const childProps = { ...props, - children: node[key as unknown as keyof typeof node], + children: node[key], keyPath: [ ...props.keyPath, { type: NodeType.Object, key } as KeyPath, ], }; - result[key] = deepTransformNode( - node[key as unknown as keyof typeof node], - childProps - ); + result[key] = deepTransformNode(node[key], childProps); } } return result; @@ -119,10 +116,10 @@ export const filterTranslationsOnlyPlugin = ( */ export const getFilterTranslationsOnlyContent = < T extends ContentNode, - L extends LocalesValues, + L extends LocalesValues = Locales, >( node: T, - locale: L = configuration?.internationalization?.defaultLocale as L, + locale: L = configuration?.internationalization.defaultLocale as L, nodeProps: NodeProps, fallback?: LocalesValues ) => { diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getFilteredLocalesContent.ts b/packages/@intlayer/core/src/deepTransformPlugins/getFilteredLocalesContent.ts index 57bae9c6a..7c7e55b72 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getFilteredLocalesContent.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getFilteredLocalesContent.ts @@ -1,26 +1,23 @@ -import { - type ContentNode, - type LocalesValues, - NodeType, -} from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { deepTransformNode, type NodeProps, type Plugins, } from '../interpreter'; +import { type ContentNode, NodeType } from '../types'; -const filterTranslationsPlugin = ( +const filterTranlationsPlugin = ( locales: LocalesValues[] | LocalesValues ): Plugins => ({ id: 'filter-translations-plugin', canHandle: (node) => typeof node === 'object' && node?.nodeType === NodeType.Translation, transform: (node, props, deepTransformNode) => { - const translationMap = node.translation as Record; + const translationMap = node.translation as Record; const filteredTranslationMap = Object.fromEntries( Object.entries(translationMap).filter(([key]) => - locales.includes(key as LocalesValues) + locales.includes(key as Locales) ) ); @@ -43,7 +40,7 @@ export const getFilteredLocalesContent = ( nodeProps: NodeProps ) => { const plugins: Plugins[] = [ - filterTranslationsPlugin(locale), + filterTranlationsPlugin(locale), ...(nodeProps.plugins ?? []), ]; diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getLocalizedContent.test.ts b/packages/@intlayer/core/src/deepTransformPlugins/getLocalizedContent.test.ts index 6b31a5d94..48850853e 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getLocalizedContent.test.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getLocalizedContent.test.ts @@ -1,6 +1,6 @@ -import type { Dictionary } from '@intlayer/types'; import { describe, expect, it } from 'vitest'; -import { t } from '../transpiler'; +import { t } from '../transpiler/translation/translation'; +import type { Dictionary } from '../types'; import { getPerLocaleDictionary } from './getLocalizedContent'; describe('getPerLocaleDictionary', () => { diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getLocalizedContent.ts b/packages/@intlayer/core/src/deepTransformPlugins/getLocalizedContent.ts index b867be355..286d2c631 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getLocalizedContent.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getLocalizedContent.ts @@ -1,11 +1,12 @@ -import type { ContentNode, Dictionary, LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; +import { deepTransformNode } from '../interpreter/getContent/deepTransform'; import { type DeepTransformContent, type NodeProps, type Plugins, translationPlugin, -} from '../interpreter'; -import { deepTransformNode } from '../interpreter/getContent/deepTransform'; +} from '../interpreter/getContent/plugins'; +import type { ContentNode, Dictionary } from '../types'; /** * Transforms a node in a single pass, applying each plugin as needed. @@ -17,7 +18,7 @@ import { deepTransformNode } from '../interpreter/getContent/deepTransform'; */ export const getLocalizedContent = < T extends ContentNode, - L extends LocalesValues, + L extends LocalesValues = Locales, >( node: T, locale: L, @@ -37,25 +38,23 @@ export const getLocalizedContent = < export const getPerLocaleDictionary = < T extends Dictionary, - L extends LocalesValues, + L extends LocalesValues = Locales, >( dictionary: T, locale: L, fallback?: LocalesValues -): DeepTransformContent => { +) => ({ + ...dictionary, + locale, // @ts-ignore Type instantiation is excessively deep and possibly infinite - return { - ...dictionary, + content: getLocalizedContent( + dictionary.content, locale, - content: getLocalizedContent( - dictionary.content, - locale, - { - dictionaryKey: dictionary.key, - keyPath: [], - plugins: [], - }, - fallback - ), - }; -}; + { + dictionaryKey: dictionary.key, + keyPath: [], + plugins: [], + }, + fallback + ) as any as DeepTransformContent, +}); diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getMaskContent.ts b/packages/@intlayer/core/src/deepTransformPlugins/getMaskContent.ts index 60832c076..8b88b4b3b 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getMaskContent.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getMaskContent.ts @@ -1,5 +1,5 @@ -import type { Dictionary } from '@intlayer/types'; import { deepTransformNode, type Plugins } from '../interpreter'; +import type { Dictionary } from '../types'; const passTypedNodePlugin: Plugins = { id: 'pass-typed-node-plugin', diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getMissingLocalesContent.test.ts b/packages/@intlayer/core/src/deepTransformPlugins/getMissingLocalesContent.test.ts index 8fffb09ac..1a83718cf 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getMissingLocalesContent.test.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getMissingLocalesContent.test.ts @@ -1,5 +1,6 @@ -import { type ContentNode, Locales, NodeType } from '@intlayer/types'; +import { Locales } from '@intlayer/config/client'; import { describe, expect, it } from 'vitest'; +import { type ContentNode, NodeType } from '../types'; import { getMissingLocalesContent } from './getMissingLocalesContent'; describe('getMissingLocalesContent', () => { diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getMissingLocalesContent.ts b/packages/@intlayer/core/src/deepTransformPlugins/getMissingLocalesContent.ts index 9c5541861..6f985a5d8 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getMissingLocalesContent.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getMissingLocalesContent.ts @@ -1,13 +1,13 @@ import configuration from '@intlayer/config/built'; -import { - type ContentNode, - type Locales, - type LocalesValues, - NodeType, -} from '@intlayer/types'; -import type { DeepTransformContent, NodeProps, Plugins } from '../interpreter'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { deepTransformNode } from '../interpreter/getContent/deepTransform'; +import type { + DeepTransformContent, + NodeProps, + Plugins, +} from '../interpreter/getContent/plugins'; import type { TranslationContent } from '../transpiler'; +import { type ContentNode, NodeType } from '../types'; /** Translation plugin. Replaces node with a locale string if nodeType = Translation. */ export const checkMissingLocalesPlugin = ( @@ -51,7 +51,7 @@ export const checkMissingLocalesPlugin = ( */ export const getMissingLocalesContent = ( node: T, - locales: LocalesValues[] = configuration?.internationalization?.locales, + locales: LocalesValues[] = configuration?.internationalization.locales, nodeProps: NodeProps ): Locales[] => { const missingLocales = new Set(); diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getReplacedValuesContent.test.ts b/packages/@intlayer/core/src/deepTransformPlugins/getReplacedValuesContent.test.ts index bd9684b0c..f9c40218c 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getReplacedValuesContent.test.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getReplacedValuesContent.test.ts @@ -1,5 +1,5 @@ -import { type ContentNode, NodeType } from '@intlayer/types'; import { describe, expect, it } from 'vitest'; +import { type ContentNode, NodeType } from '../types'; import { getReplacedValuesContent } from './getReplacedValuesContent'; describe('getReplacedValuesContent', () => { diff --git a/packages/@intlayer/core/src/deepTransformPlugins/getReplacedValuesContent.ts b/packages/@intlayer/core/src/deepTransformPlugins/getReplacedValuesContent.ts index bc3e5a772..6b5c4c6dd 100644 --- a/packages/@intlayer/core/src/deepTransformPlugins/getReplacedValuesContent.ts +++ b/packages/@intlayer/core/src/deepTransformPlugins/getReplacedValuesContent.ts @@ -1,14 +1,9 @@ -import type { - ContentNode, - KeyPath, - NodeType, - TypedNode, -} from '@intlayer/types'; import { deepTransformNode, type NodeProps, type Plugins, } from '../interpreter'; +import type { ContentNode, KeyPath, NodeType, TypedNode } from '../types'; const replaceValuesPlugin = (value: string | number | boolean): Plugins => ({ id: 'replace-values-plugin', diff --git a/packages/@intlayer/core/src/dictionaryManipulator/editDictionaryByKeyPath.ts b/packages/@intlayer/core/src/dictionaryManipulator/editDictionaryByKeyPath.ts index 662a7364f..fde85bcb6 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/editDictionaryByKeyPath.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/editDictionaryByKeyPath.ts @@ -1,4 +1,6 @@ -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; +import type { ContentNode } from '../types/dictionary'; +import type { KeyPath } from '../types/keyPath'; +import { NodeType } from '../types/nodeType'; type LastKeyType = string | number; diff --git a/packages/@intlayer/core/src/dictionaryManipulator/getContentNodeByKeyPath.ts b/packages/@intlayer/core/src/dictionaryManipulator/getContentNodeByKeyPath.ts index dadb5efb1..87ae8494c 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/getContentNodeByKeyPath.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/getContentNodeByKeyPath.ts @@ -1,4 +1,5 @@ -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; +import { type KeyPath, NodeType } from '../types'; +import type { ContentNode } from '../types/dictionary'; export const getContentNodeByKeyPath = ( dictionaryContent: ContentNode, diff --git a/packages/@intlayer/core/src/dictionaryManipulator/getDefaultNode.ts b/packages/@intlayer/core/src/dictionaryManipulator/getDefaultNode.ts index 5ed4a24e1..9914e3252 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/getDefaultNode.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/getDefaultNode.ts @@ -1,8 +1,5 @@ -import { - type ContentNode, - type LocalesValues, - NodeType, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import { type ContentNode, NodeType } from '../types'; export const getDefaultNode = ( nodeType: NodeType, diff --git a/packages/@intlayer/core/src/dictionaryManipulator/getEmptyNode.ts b/packages/@intlayer/core/src/dictionaryManipulator/getEmptyNode.ts index 8daae6317..6e3ab547b 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/getEmptyNode.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/getEmptyNode.ts @@ -1,4 +1,4 @@ -import { type ContentNode, NodeType, type TypedNode } from '@intlayer/types'; +import { type ContentNode, NodeType, type TypedNode } from '../types'; export const getEmptyNode = (section: ContentNode): ContentNode => { if (typeof section === 'string') { @@ -12,8 +12,7 @@ export const getEmptyNode = (section: ContentNode): ContentNode => { } if (typeof (section as TypedNode)?.nodeType === 'string') { const typedNode = section as TypedNode; - const content = - typedNode[typedNode.nodeType as unknown as keyof typeof typedNode]; + const content = typedNode[typedNode.nodeType as keyof TypedNode]; if ( typedNode.nodeType === NodeType.Translation || diff --git a/packages/@intlayer/core/src/dictionaryManipulator/getNodeChildren.ts b/packages/@intlayer/core/src/dictionaryManipulator/getNodeChildren.ts index 0b90985c9..153d6c814 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/getNodeChildren.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/getNodeChildren.ts @@ -1,4 +1,4 @@ -import { type ContentNode, NodeType, type TypedNode } from '@intlayer/types'; +import { type ContentNode, NodeType, type TypedNode } from '../types'; export const getNodeChildren = (section: ContentNode): ContentNode => { if (typeof section === 'string') { @@ -12,8 +12,7 @@ export const getNodeChildren = (section: ContentNode): ContentNode => { } if (typeof (section as TypedNode)?.nodeType === 'string') { const typedNode = section as TypedNode; - const content = - typedNode[typedNode.nodeType as unknown as keyof typeof typedNode]; + const content = typedNode[typedNode.nodeType as keyof TypedNode]; if ( typedNode.nodeType === NodeType.Translation || diff --git a/packages/@intlayer/core/src/dictionaryManipulator/getNodeType.ts b/packages/@intlayer/core/src/dictionaryManipulator/getNodeType.ts index 39ad6e348..7a6d45b68 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/getNodeType.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/getNodeType.ts @@ -1,4 +1,5 @@ -import { type ContentNode, NodeType, type TypedNode } from '@intlayer/types'; +import { NodeType, type TypedNode } from '../types'; +import type { ContentNode } from '../types/dictionary'; import { isValidElement } from '../utils/isValidReactElement'; /** diff --git a/packages/@intlayer/core/src/dictionaryManipulator/getUnmergedDictionaryByKeyPath.ts b/packages/@intlayer/core/src/dictionaryManipulator/getUnmergedDictionaryByKeyPath.ts index 5eaf63913..bddbefda3 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/getUnmergedDictionaryByKeyPath.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/getUnmergedDictionaryByKeyPath.ts @@ -1,16 +1,14 @@ +import type { IntlayerConfig } from '@intlayer/config'; import intlayerConfiguration from '@intlayer/config/built'; -import type { IntlayerConfig, KeyPath } from '@intlayer/types'; -import { - getUnmergedDictionaries, - type UnmergedDictionaries, -} from '@intlayer/unmerged-dictionaries-entry'; +import { getUnmergedDictionaries } from '@intlayer/unmerged-dictionaries-entry'; +import type { KeyPath } from '../types'; import { getContentNodeByKeyPath } from './getContentNodeByKeyPath'; import { normalizeDictionaries } from './normalizeDictionary'; export const getUnmergedDictionaryByKeyPath = ( dictionaryKey: string, keyPath: KeyPath[], - dictionariesRecord: UnmergedDictionaries, + dictionariesRecord, configuration: IntlayerConfig = intlayerConfiguration ) => { const unmergedEntries = (dictionariesRecord ?? diff --git a/packages/@intlayer/core/src/dictionaryManipulator/mergeDictionaries.test.ts b/packages/@intlayer/core/src/dictionaryManipulator/mergeDictionaries.test.ts index 62e0ec291..bd3a5397a 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/mergeDictionaries.test.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/mergeDictionaries.test.ts @@ -1,6 +1,6 @@ -import type { Dictionary } from '@intlayer/types'; import { describe, expect, it } from 'vitest'; -import { t } from '../transpiler'; +import { t } from '../transpiler/translation'; +import type { Dictionary } from '../types/dictionary'; import { mergeDictionaries } from './mergeDictionaries'; describe('mergeDictionaries', () => { diff --git a/packages/@intlayer/core/src/dictionaryManipulator/mergeDictionaries.ts b/packages/@intlayer/core/src/dictionaryManipulator/mergeDictionaries.ts index 051c057da..08f80d779 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/mergeDictionaries.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/mergeDictionaries.ts @@ -4,7 +4,7 @@ import type { ContentNode, Dictionary, LocalDictionaryId, -} from '@intlayer/types'; +} from '../types/dictionary'; import { getNodeType } from './getNodeType'; // Extended type that includes arrays for internal merge operations @@ -81,18 +81,18 @@ const customMerge = ( if (typeof destination === 'object' && typeof source === 'object') { const result: Record = {}; const allKeys = new Set([ - ...Object.keys(destination as unknown as Record), - ...Object.keys(source as unknown as Record), + ...Object.keys(destination as Record), + ...Object.keys(source as Record), ]); for (const key of allKeys) { result[key] = customMerge( - (destination as unknown as Record)[key], - (source as unknown as Record)[key] + (destination as Record)[key], + (source as Record)[key] ); } - return result as unknown as MergeableContent; + return result as MergeableContent; } // Fallback to destination diff --git a/packages/@intlayer/core/src/dictionaryManipulator/normalizeDictionary.ts b/packages/@intlayer/core/src/dictionaryManipulator/normalizeDictionary.ts index d2f287b2b..be7a7b722 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/normalizeDictionary.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/normalizeDictionary.ts @@ -1,6 +1,7 @@ -import type { Dictionary, IntlayerConfig, Locales } from '@intlayer/types'; +import type { IntlayerConfig, Locales } from '@intlayer/config'; import { getPerLocaleDictionary } from '../deepTransformPlugins'; import { t } from '../transpiler/translation'; +import type { Dictionary } from '../types/dictionary'; import { orderDictionaries } from './orderDictionaries'; export const normalizeDictionary = ( diff --git a/packages/@intlayer/core/src/dictionaryManipulator/orderDictionaries.test.ts b/packages/@intlayer/core/src/dictionaryManipulator/orderDictionaries.test.ts index d2ae399de..9d0a2c8d2 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/orderDictionaries.test.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/orderDictionaries.test.ts @@ -1,6 +1,9 @@ -import { buildConfigurationFields } from '@intlayer/config'; -import type { CustomIntlayerConfig, Dictionary } from '@intlayer/types'; +import { + buildConfigurationFields, + type CustomIntlayerConfig, +} from '@intlayer/config'; import { beforeEach, describe, expect, it, vi } from 'vitest'; +import type { Dictionary } from '../types/dictionary'; import { orderDictionaries } from './orderDictionaries'; // Mock the configuration diff --git a/packages/@intlayer/core/src/dictionaryManipulator/orderDictionaries.ts b/packages/@intlayer/core/src/dictionaryManipulator/orderDictionaries.ts index ee7dced38..89c562ddf 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/orderDictionaries.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/orderDictionaries.ts @@ -1,5 +1,5 @@ import intlayerConfig from '@intlayer/config/built'; -import type { Dictionary } from '@intlayer/types'; +import type { Dictionary } from '../types/dictionary'; /** * Orders dictionaries based on the dictionary priority strategy. diff --git a/packages/@intlayer/core/src/dictionaryManipulator/removeContentNodeByKeyPath.ts b/packages/@intlayer/core/src/dictionaryManipulator/removeContentNodeByKeyPath.ts index cb0a64847..2fab70367 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/removeContentNodeByKeyPath.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/removeContentNodeByKeyPath.ts @@ -1,4 +1,5 @@ -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; +import { type KeyPath, NodeType } from '../types'; +import type { ContentNode } from '../types/dictionary'; export const removeContentNodeByKeyPath = ( dictionaryContent: ContentNode, diff --git a/packages/@intlayer/core/src/dictionaryManipulator/renameContentNodeByKeyPath.ts b/packages/@intlayer/core/src/dictionaryManipulator/renameContentNodeByKeyPath.ts index 274ff3425..776ad47d4 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/renameContentNodeByKeyPath.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/renameContentNodeByKeyPath.ts @@ -1,4 +1,5 @@ -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; +import { type KeyPath, NodeType } from '../types'; +import type { ContentNode } from '../types/dictionary'; export const renameContentNodeByKeyPath = ( dictionaryContent: ContentNode, diff --git a/packages/@intlayer/core/src/dictionaryManipulator/updateNodeChildren.ts b/packages/@intlayer/core/src/dictionaryManipulator/updateNodeChildren.ts index 9fbd9c861..a8bad94a0 100644 --- a/packages/@intlayer/core/src/dictionaryManipulator/updateNodeChildren.ts +++ b/packages/@intlayer/core/src/dictionaryManipulator/updateNodeChildren.ts @@ -1,4 +1,4 @@ -import { type ContentNode, NodeType, type TypedNode } from '@intlayer/types'; +import { type ContentNode, NodeType, type TypedNode } from '../types'; export const updateNodeChildren = < T extends ContentNode, @@ -18,8 +18,7 @@ export const updateNodeChildren = < } if (typeof (section as TypedNode)?.nodeType === 'string') { const typedNode = section as TypedNode; - const content = - typedNode[typedNode.nodeType as unknown as keyof typeof typedNode]; + const content = typedNode[typedNode.nodeType as keyof TypedNode]; if ( typedNode.nodeType === NodeType.Translation || @@ -27,10 +26,10 @@ export const updateNodeChildren = < typedNode.nodeType === NodeType.Condition ) { const newContent = Object.entries(content).reduce( - (acc, [key]) => { - acc[key] = newChildren; - return acc; - }, + (acc, [key]) => ({ + ...acc, + [key]: newChildren, + }), {} as Record ); @@ -66,5 +65,5 @@ export const updateNodeChildren = < [key]: newChildren, }), {} as Record - ) as unknown as ContentNode; + ) as ContentNode; }; diff --git a/packages/@intlayer/core/src/formatters/compact.ts b/packages/@intlayer/core/src/formatters/compact.ts index 4bb793f57..53280d01a 100644 --- a/packages/@intlayer/core/src/formatters/compact.ts +++ b/packages/@intlayer/core/src/formatters/compact.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { Intl as CachedIntl } from '../utils/intl'; /** @@ -18,7 +18,7 @@ export const compact = ( options?: Intl.NumberFormatOptions & { locale?: LocalesValues } ): string => new CachedIntl.NumberFormat( - options?.locale ?? configuration?.internationalization?.defaultLocale, + options?.locale ?? configuration.internationalization.defaultLocale, { ...options, notation: 'compact', diff --git a/packages/@intlayer/core/src/formatters/currency.ts b/packages/@intlayer/core/src/formatters/currency.ts index 404c3beef..aed4550c5 100644 --- a/packages/@intlayer/core/src/formatters/currency.ts +++ b/packages/@intlayer/core/src/formatters/currency.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { Intl as CachedIntl } from '../utils/intl'; /** @@ -18,7 +18,7 @@ export const currency = ( options?: Intl.NumberFormatOptions & { locale?: LocalesValues } ): string => new CachedIntl.NumberFormat( - options?.locale ?? configuration?.internationalization?.defaultLocale, + options?.locale ?? configuration.internationalization.defaultLocale, { style: 'currency', currency: options?.currency ?? 'USD', diff --git a/packages/@intlayer/core/src/formatters/date.ts b/packages/@intlayer/core/src/formatters/date.ts index e72ac3bfc..5623f1c84 100644 --- a/packages/@intlayer/core/src/formatters/date.ts +++ b/packages/@intlayer/core/src/formatters/date.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { Intl as CachedIntl } from '../utils/intl'; type DateTimePreset = 'short' | 'long' | 'dateOnly' | 'timeOnly' | 'full'; @@ -60,7 +60,7 @@ export const date = ( typeof options === 'string' ? (presets[options] ?? {}) : options; const formatter = new CachedIntl.DateTimeFormat( - options?.locale ?? configuration?.internationalization?.defaultLocale, + options?.locale ?? configuration.internationalization.defaultLocale, resolvedOptions ); diff --git a/packages/@intlayer/core/src/formatters/list.ts b/packages/@intlayer/core/src/formatters/list.ts index 565ebbdcd..b984fd4e3 100644 --- a/packages/@intlayer/core/src/formatters/list.ts +++ b/packages/@intlayer/core/src/formatters/list.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { Intl as CachedIntl } from '../utils/intl'; /** @@ -22,7 +22,7 @@ export const list = ( options?: Intl.ListFormatOptions & { locale?: LocalesValues } ): string => new CachedIntl.ListFormat( - options?.locale ?? configuration?.internationalization?.defaultLocale, + options?.locale ?? configuration.internationalization.defaultLocale, { type: options?.type ?? 'conjunction', style: options?.style ?? 'long', diff --git a/packages/@intlayer/core/src/formatters/number.ts b/packages/@intlayer/core/src/formatters/number.ts index 8673eb90e..8a606bb38 100644 --- a/packages/@intlayer/core/src/formatters/number.ts +++ b/packages/@intlayer/core/src/formatters/number.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { Intl as CachedIntl } from '../utils/intl'; /** @@ -14,6 +14,6 @@ export const number = ( options?: Intl.NumberFormatOptions & { locale?: LocalesValues } ): string => new CachedIntl.NumberFormat( - options?.locale ?? configuration?.internationalization?.defaultLocale, + options?.locale ?? configuration.internationalization.defaultLocale, options ).format(Number(value)); diff --git a/packages/@intlayer/core/src/formatters/percentage.ts b/packages/@intlayer/core/src/formatters/percentage.ts index e203b6fc2..1f604ef4f 100644 --- a/packages/@intlayer/core/src/formatters/percentage.ts +++ b/packages/@intlayer/core/src/formatters/percentage.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { Intl as CachedIntl } from '../utils/intl'; /** @@ -21,7 +21,7 @@ export const percentage = ( } const formatter = new CachedIntl.NumberFormat( - options?.locale ?? configuration?.internationalization?.defaultLocale, + options?.locale ?? configuration.internationalization.defaultLocale, { style: 'percent', ...options, diff --git a/packages/@intlayer/core/src/formatters/relativeTime.ts b/packages/@intlayer/core/src/formatters/relativeTime.ts index 0b3c6bfc6..6ac1d8a79 100644 --- a/packages/@intlayer/core/src/formatters/relativeTime.ts +++ b/packages/@intlayer/core/src/formatters/relativeTime.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { Intl as CachedIntl } from '../utils/intl'; type RelativeTimeUnit = Intl.RelativeTimeFormatUnit; @@ -46,7 +46,7 @@ export const relativeTime = ( const value = diffInUnit(fromDate, toDate, unit); return new CachedIntl.RelativeTimeFormat( - options?.locale ?? configuration?.internationalization?.defaultLocale, + options?.locale ?? configuration.internationalization.defaultLocale, options ).format(Math.round(value), unit); }; diff --git a/packages/@intlayer/core/src/formatters/units.ts b/packages/@intlayer/core/src/formatters/units.ts index 1bf05231e..829e9d5ff 100644 --- a/packages/@intlayer/core/src/formatters/units.ts +++ b/packages/@intlayer/core/src/formatters/units.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { Intl as CachedIntl } from '../utils/intl'; /** @@ -14,7 +14,7 @@ export const units = ( options?: Intl.NumberFormatOptions & { locale?: LocalesValues } ): string => new CachedIntl.NumberFormat( - options?.locale ?? configuration?.internationalization?.defaultLocale, + options?.locale ?? configuration.internationalization.defaultLocale, { style: 'unit', unit: options?.unit ?? 'day', diff --git a/packages/@intlayer/core/src/index.ts b/packages/@intlayer/core/src/index.ts index 887a745f3..29374fdd1 100644 --- a/packages/@intlayer/core/src/index.ts +++ b/packages/@intlayer/core/src/index.ts @@ -4,6 +4,7 @@ export * from './formatters/index'; export * from './interpreter/index'; export * from './localization/index'; export * from './transpiler/index'; +export * from './types/index'; export * from './utils/checkIsURLAbsolute'; export * from './utils/intl'; export * from './utils/isSameKeyPath'; diff --git a/packages/@intlayer/core/src/interpreter/getCondition.ts b/packages/@intlayer/core/src/interpreter/getCondition.ts index 8f80ed197..1ffaebe85 100644 --- a/packages/@intlayer/core/src/interpreter/getCondition.ts +++ b/packages/@intlayer/core/src/interpreter/getCondition.ts @@ -1,4 +1,4 @@ -import type { ConditionContentStates } from '../transpiler'; +import type { ConditionContentStates } from '../transpiler/condition/condition'; /** * Allow to pick a content based on a condition. diff --git a/packages/@intlayer/core/src/interpreter/getContent/deepTransform.ts b/packages/@intlayer/core/src/interpreter/getContent/deepTransform.ts index 42ccab4da..85175f2dc 100644 --- a/packages/@intlayer/core/src/interpreter/getContent/deepTransform.ts +++ b/packages/@intlayer/core/src/interpreter/getContent/deepTransform.ts @@ -1,4 +1,4 @@ -import { type KeyPath, NodeType } from '@intlayer/types'; +import { type KeyPath, NodeType } from '../../types/index'; import type { NodeProps } from './plugins'; /** diff --git a/packages/@intlayer/core/src/interpreter/getContent/getContent.ts b/packages/@intlayer/core/src/interpreter/getContent/getContent.ts index 3e7d5cea6..c1cf92ac9 100644 --- a/packages/@intlayer/core/src/interpreter/getContent/getContent.ts +++ b/packages/@intlayer/core/src/interpreter/getContent/getContent.ts @@ -1,5 +1,6 @@ import configuration from '@intlayer/config/built'; -import type { ContentNode, LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; +import type { ContentNode } from '../../types'; import { deepTransformNode } from './deepTransform'; import { conditionPlugin, @@ -19,10 +20,13 @@ import { * @param node The node to transform. * @param locale The locale to use if your transformers need it (e.g. for translations). */ -export const getContent = ( +export const getContent = < + T extends ContentNode, + L extends LocalesValues = Locales, +>( node: T, nodeProps: NodeProps, - locale: L = configuration?.internationalization?.defaultLocale as L + locale: L = configuration?.internationalization.defaultLocale as L ) => { const plugins: Plugins[] = [ insertionPlugin, diff --git a/packages/@intlayer/core/src/interpreter/getContent/plugins.ts b/packages/@intlayer/core/src/interpreter/getContent/plugins.ts index d24a5d04e..67d69c2f1 100644 --- a/packages/@intlayer/core/src/interpreter/getContent/plugins.ts +++ b/packages/@intlayer/core/src/interpreter/getContent/plugins.ts @@ -1,10 +1,4 @@ -import { - type DictionaryKeys, - type KeyPath, - type Locales, - type LocalesValues, - NodeType, -} from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; import type { ConditionContent, EnumerationContent, @@ -15,6 +9,7 @@ import type { NestedContent, TranslationContent, } from '../../transpiler'; +import { type DictionaryKeys, type KeyPath, NodeType } from '../../types/index'; import { getCondition } from '../getCondition'; import { getEnumeration } from '../getEnumeration'; import { getGender } from '../getGender'; diff --git a/packages/@intlayer/core/src/interpreter/getDictionary.ts b/packages/@intlayer/core/src/interpreter/getDictionary.ts index 883f7cf87..531cc7f56 100644 --- a/packages/@intlayer/core/src/interpreter/getDictionary.ts +++ b/packages/@intlayer/core/src/interpreter/getDictionary.ts @@ -1,4 +1,5 @@ -import type { Dictionary, LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; +import type { Dictionary } from '../types'; import type { DeepTransformContent, NodeProps, Plugins } from './getContent'; import { getContent } from './getContent/getContent'; @@ -10,11 +11,14 @@ import { getContent } from './getContent/getContent'; * @param additionalPlugins An array of NodeTransformer that define how to transform recognized nodes. * If omitted, we’ll use a default set of plugins. */ -export const getDictionary = ( +export const getDictionary = < + T extends Dictionary, + L extends LocalesValues = Locales, +>( dictionary: T, locale?: L, plugins?: Plugins[] -): DeepTransformContent => { +) => { const props: NodeProps = { dictionaryKey: dictionary.key, dictionaryPath: dictionary.filePath, @@ -23,5 +27,9 @@ export const getDictionary = ( }; // @ts-ignore Type instantiation is excessively deep and possibly infinite - return getContent(dictionary.content, props, locale); + return getContent( + dictionary.content, + props, + locale + ) as any as DeepTransformContent; }; diff --git a/packages/@intlayer/core/src/interpreter/getEnumeration.ts b/packages/@intlayer/core/src/interpreter/getEnumeration.ts index d233ff7fe..22ceecbf4 100644 --- a/packages/@intlayer/core/src/interpreter/getEnumeration.ts +++ b/packages/@intlayer/core/src/interpreter/getEnumeration.ts @@ -1,4 +1,7 @@ -import type { EnterFormat, EnumerationContentState } from '../transpiler'; +import type { + EnterFormat, + EnumerationContentState, +} from '../transpiler/enumeration/enumeration'; /** * Find the matching condition for a quantity. diff --git a/packages/@intlayer/core/src/interpreter/getGender.ts b/packages/@intlayer/core/src/interpreter/getGender.ts index 4a240e18e..e06bd49ea 100644 --- a/packages/@intlayer/core/src/interpreter/getGender.ts +++ b/packages/@intlayer/core/src/interpreter/getGender.ts @@ -1,8 +1,8 @@ -import type { Gender, GenderContentStates } from '../transpiler'; +import type { Gender, GenderContentStates } from '../transpiler/gender/gender'; -type GenderEntry = Gender | 'm' | 'f'; +type GederEntry = Gender | 'm' | 'f'; -const getGenderEntry = (gender: GenderEntry): Gender => { +const getGenderEntry = (gender: GederEntry): Gender => { if (gender === 'm' || gender === 'male') return 'male'; if (gender === 'f' || gender === 'female') return 'female'; return 'fallback'; @@ -32,7 +32,7 @@ const getGenderEntry = (gender: GenderEntry): Gender => { */ export const getGender = ( genderContent: GenderContentStates, - gender: GenderEntry + gender: GederEntry ): Content => { const stateList = Object.keys(genderContent); diff --git a/packages/@intlayer/core/src/interpreter/getIntlayer.ts b/packages/@intlayer/core/src/interpreter/getIntlayer.ts index c495bfb21..737e7f0fa 100644 --- a/packages/@intlayer/core/src/interpreter/getIntlayer.ts +++ b/packages/@intlayer/core/src/interpreter/getIntlayer.ts @@ -1,10 +1,13 @@ +import type { LocalesValues } from '@intlayer/config/client'; +/** + * @intlayer/dictionaries-entry is a package that only returns the dictionary entry path. + * Using an external package allow to alias it in the bundle configuration (such as webpack). + * The alias allow hot reload the app (such as nextjs) on any dictionary change. + */ import { getDictionaries } from '@intlayer/dictionaries-entry'; -import type { - DictionaryKeys, - DictionaryRegistryElement, - LocalesValues, -} from '@intlayer/types'; -import type { Plugins } from './getContent'; +import type { Dictionary, DictionaryKeys } from '../types'; +import type { IntlayerDictionaryTypesConnector } from '../types/intlayer'; +import type { DeepTransformContent, Plugins } from './getContent/plugins'; import { getDictionary } from './getDictionary'; export const getIntlayer = ( @@ -13,15 +16,17 @@ export const getIntlayer = ( plugins?: Plugins[] ) => { const dictionaries = getDictionaries(); - const dictionary = dictionaries[key as T] as DictionaryRegistryElement; + const dictionary = dictionaries[key as T]; if (!dictionary) { throw new Error(`Dictionary ${key as string} not found`, dictionaries); } - return getDictionary, L>( - dictionary, + return getDictionary( + dictionary as Dictionary, locale, plugins - ); + ) as any as DeepTransformContent< + IntlayerDictionaryTypesConnector[T]['content'] + >; }; diff --git a/packages/@intlayer/core/src/interpreter/getNesting.ts b/packages/@intlayer/core/src/interpreter/getNesting.ts index c015a0ffc..3bf4d0d93 100644 --- a/packages/@intlayer/core/src/interpreter/getNesting.ts +++ b/packages/@intlayer/core/src/interpreter/getNesting.ts @@ -1,9 +1,6 @@ -import type { - DictionaryKeys, - DictionaryRegistryContent, - GetSubPath, -} from '@intlayer/types'; import type { ValidDotPathsFor } from '../transpiler'; +import type { DictionaryKeys, GetSubPath } from '../types'; +import type { IntlayerDictionaryTypesConnector } from '../types/intlayer'; import type { DeepTransformContent, IInterpreterPluginState, @@ -15,7 +12,10 @@ export type GetNestingResult< K extends DictionaryKeys, P = undefined, S = IInterpreterPluginState, -> = GetSubPath, S>, P>; +> = GetSubPath< + DeepTransformContent, + P +>; /** * Allow to extract the content of another dictionary. diff --git a/packages/@intlayer/core/src/interpreter/getTranslation.ts b/packages/@intlayer/core/src/interpreter/getTranslation.ts index 206df97fe..2e06c640e 100644 --- a/packages/@intlayer/core/src/interpreter/getTranslation.ts +++ b/packages/@intlayer/core/src/interpreter/getTranslation.ts @@ -1,4 +1,5 @@ -import type { LanguageContent, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { LanguageContent } from '../types'; /** * diff --git a/packages/@intlayer/core/src/localization/getHTMLTextDir.ts b/packages/@intlayer/core/src/localization/getHTMLTextDir.ts index 96202cb8d..8f1b4ffd8 100644 --- a/packages/@intlayer/core/src/localization/getHTMLTextDir.ts +++ b/packages/@intlayer/core/src/localization/getHTMLTextDir.ts @@ -1,4 +1,4 @@ -import { Locales, type LocalesValues } from '@intlayer/types'; +import { Locales, type LocalesValues } from '@intlayer/config/client'; type Dir = 'ltr' | 'rtl' | 'auto'; @@ -17,6 +17,204 @@ type Dir = 'ltr' | 'rtl' | 'auto'; */ export const getHTMLTextDir = (locale?: LocalesValues): Dir => { switch (locale) { + case Locales.ENGLISH: + case Locales.FRENCH: + case Locales.SPANISH: + case Locales.PORTUGUESE: + case Locales.GERMAN: + case Locales.AFRIKAANS: + case Locales.AZERI_LATIN: + case Locales.BELARUSIAN: + case Locales.BULGARIAN: + case Locales.BOSNIAN: + case Locales.CATALAN: + case Locales.CZECH: + case Locales.WELSH: + case Locales.DANISH: + case Locales.ESPERANTO: + case Locales.ESTONIAN: + case Locales.BASQUE: + case Locales.FINNISH: + case Locales.FAROESE: + case Locales.GALICIAN: + case Locales.GREEK: + case Locales.CROATIAN: + case Locales.HUNGARIAN: + case Locales.ARMENIAN: + case Locales.INDONESIAN: + case Locales.ICELANDIC: + case Locales.ITALIAN: + case Locales.JAPANESE: + case Locales.GEORGIAN: + case Locales.KAZAKH: + case Locales.KANNADA: + case Locales.KOREAN: + case Locales.KONKANI: + case Locales.KYRGYZ: + case Locales.LITHUANIAN: + case Locales.LATVIAN: + case Locales.MAORI: + case Locales.FYRO_MACEDONIAN: + case Locales.MONGOLIAN: + case Locales.MARATHI: + case Locales.MALAY: + case Locales.MALTESE: + case Locales.NORWEGIAN_BOKMAL: + case Locales.DUTCH: + case Locales.NORTHERN_SOTHO: + case Locales.PUNJABI: + case Locales.POLISH: + case Locales.QUECHUA: + case Locales.ROMANIAN: + case Locales.RUSSIAN: + case Locales.SANSKRIT: + case Locales.SAMI_NORTHERN: + case Locales.SLOVAK: + case Locales.SLOVENIAN: + case Locales.ALBANIAN: + case Locales.SERBIAN_LATIN: + case Locales.SWEDISH: + case Locales.SWAHILI: + case Locales.TAMIL: + case Locales.TELUGU: + case Locales.THAI: + case Locales.TAGALOG: + case Locales.TSWANA: + case Locales.TURKISH: + case Locales.UKRAINIAN: + case Locales.UZBEK_LATIN: + case Locales.VIETNAMESE: + case Locales.XHOSA: + case Locales.CHINESE_SIMPLIFIED: + case Locales.CHINESE_TRADITIONAL: + case Locales.ZULU: + case Locales.AFRIKAANS_SOUTH_AFRICA: + case Locales.AZERI_LATIN_AZERBAIJAN: + case Locales.BELARUSIAN_BELARUS: + case Locales.BULGARIAN_BULGARIA: + case Locales.BOSNIAN_BOSNIA_AND_HERZEGOVINA: + case Locales.CATALAN_SPAIN: + case Locales.CZECH_CZECH_REPUBLIC: + case Locales.WELSH_UNITED_KINGDOM: + case Locales.DANISH_DENMARK: + case Locales.GERMAN_AUSTRIA: + case Locales.GERMAN_SWITZERLAND: + case Locales.GERMAN_GERMANY: + case Locales.GERMAN_LIECHTENSTEIN: + case Locales.GERMAN_LUXEMBOURG: + case Locales.GREEK_GREECE: + case Locales.ENGLISH_AUSTRALIA: + case Locales.ENGLISH_BELIZE: + case Locales.ENGLISH_CANADA: + case Locales.ENGLISH_CARIBBEAN: + case Locales.ENGLISH_UNITED_KINGDOM: + case Locales.ENGLISH_IRELAND: + case Locales.ENGLISH_JAMAICA: + case Locales.ENGLISH_NEW_ZEALAND: + case Locales.ENGLISH_PHILIPPINES: + case Locales.ENGLISH_TRINIDAD_AND_TOBAGO: + case Locales.ENGLISH_UNITED_STATES: + case Locales.ENGLISH_SOUTH_AFRICA: + case Locales.ENGLISH_ZIMBABWE: + case Locales.SPANISH_ARGENTINA: + case Locales.SPANISH_BOLIVIA: + case Locales.SPANISH_CHILE: + case Locales.SPANISH_COLOMBIA: + case Locales.SPANISH_COSTA_RICA: + case Locales.SPANISH_DOMINICAN_REPUBLIC: + case Locales.SPANISH_ECUADOR: + case Locales.SPANISH_SPAIN: + case Locales.SPANISH_GUATEMALA: + case Locales.SPANISH_HONDURAS: + case Locales.SPANISH_MEXICO: + case Locales.SPANISH_NICARAGUA: + case Locales.SPANISH_PANAMA: + case Locales.SPANISH_PERU: + case Locales.SPANISH_PUERTO_RICO: + case Locales.SPANISH_PARAGUAY: + case Locales.SPANISH_EL_SALVADOR: + case Locales.SPANISH_URUGUAY: + case Locales.SPANISH_VENEZUELA: + case Locales.ESTONIAN_ESTONIA: + case Locales.BASQUE_SPAIN: + case Locales.FINNISH_FINLAND: + case Locales.FAROESE_FAROE_ISLANDS: + case Locales.FRENCH_BELGIUM: + case Locales.FRENCH_CANADA: + case Locales.FRENCH_SWITZERLAND: + case Locales.FRENCH_FRANCE: + case Locales.FRENCH_LUXEMBOURG: + case Locales.FRENCH_PRINCIPALITY_OF_MONACO: + case Locales.GALICIAN_SPAIN: + case Locales.GUJARATI_INDIA: + case Locales.HEBREW_ISRAEL: + case Locales.HINDI_INDIA: + case Locales.CROATIAN_BOSNIA_AND_HERZEGOVINA: + case Locales.CROATIAN_CROATIA: + case Locales.HUNGARIAN_HUNGARY: + case Locales.ARMENIAN_ARMENIA: + case Locales.INDONESIAN_INDONESIA: + case Locales.ICELANDIC_ICELAND: + case Locales.ITALIAN_SWITZERLAND: + case Locales.ITALIAN_ITALY: + case Locales.JAPANESE_JAPAN: + case Locales.GEORGIAN_GEORGIA: + case Locales.KAZAKH_KAZAKHSTAN: + case Locales.KANNADA_INDIA: + case Locales.KOREAN_KOREA: + case Locales.KONKANI_INDIA: + case Locales.KYRGYZ_KYRGYZSTAN: + case Locales.LITHUANIAN_LITHUANIA: + case Locales.LATVIAN_LATVIA: + case Locales.MAORI_NEW_ZEALAND: + case Locales.FYRO_MACEDONIAN_MACEDONIA: + case Locales.MONGOLIAN_MONGOLIA: + case Locales.MARATHI_INDIA: + case Locales.MALAY_BRUNEI_DARUSSALAM: + case Locales.MALAY_MALAYSIA: + case Locales.MALTESE_MALTA: + case Locales.NORWEGIAN_BOKMAL_NORWAY: + case Locales.DUTCH_BELGIUM: + case Locales.DUTCH_NETHERLANDS: + case Locales.NORWEGIAN_NYNORSK_NORWAY: + case Locales.NORTHERN_SOTHO_SOUTH_AFRICA: + case Locales.PUNJABI_INDIA: + case Locales.POLISH_POLAND: + case Locales.PORTUGUESE_BRAZIL: + case Locales.PORTUGUESE_PORTUGAL: + case Locales.QUECHUA_BOLIVIA: + case Locales.QUECHUA_ECUADOR: + case Locales.QUECHUA_PERU: + case Locales.ROMANIAN_ROMANIA: + case Locales.RUSSIAN_RUSSIA: + case Locales.SANSKRIT_INDIA: + case Locales.SAMI_NORTHERN_FINLAND: + case Locales.SAMI_NORTHERN_NORWAY: + case Locales.SAMI_NORTHERN_SWEDEN: + case Locales.SLOVAK_SLOVAKIA: + case Locales.SLOVENIAN_SLOVENIA: + case Locales.ALBANIAN_ALBANIA: + case Locales.SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA: + case Locales.SERBIAN_LATIN_SERBIA_AND_MONTENEGRO: + case Locales.SWAHILI_KENYA: + case Locales.TAMIL_INDIA: + case Locales.TELUGU_INDIA: + case Locales.THAI_THAILAND: + case Locales.TAGALOG_PHILIPPINES: + case Locales.TSWANA_SOUTH_AFRICA: + case Locales.TURKISH_TURKEY: + case Locales.TATAR_RUSSIA: + case Locales.TSOGA: + case Locales.UKRAINIAN_UKRAINE: + case Locales.UZBEK_LATIN_UZBEKISTAN: + case Locales.VIETNAMESE_VIET_NAM: + case Locales.XHOSA_SOUTH_AFRICA: + case Locales.CHINESE_HONG_KONG: + case Locales.CHINESE_MACAU: + case Locales.CHINESE_SINGAPORE: + case Locales.ZULU_SOUTH_AFRICA: + return 'ltr'; + case Locales.ARABIC: case Locales.FARSI: case Locales.URDU: @@ -45,6 +243,6 @@ export const getHTMLTextDir = (locale?: LocalesValues): Dir => { return 'rtl'; default: - return 'ltr'; + return 'auto'; } }; diff --git a/packages/@intlayer/core/src/localization/getLocaleFromPath.ts b/packages/@intlayer/core/src/localization/getLocaleFromPath.ts index e1c28c335..c21eca5e1 100644 --- a/packages/@intlayer/core/src/localization/getLocaleFromPath.ts +++ b/packages/@intlayer/core/src/localization/getLocaleFromPath.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import { Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config/client'; import { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute'; /** @@ -23,11 +23,7 @@ import { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute'; */ export const getLocaleFromPath = (inputUrl: string): Locales => { // Define supported locales array - const { defaultLocale, locales } = configuration?.internationalization ?? {}; - - if (!defaultLocale || !locales) { - return Locales.ENGLISH; - } + const { defaultLocale, locales } = configuration.internationalization; // Determine if the original URL is absolute (includes protocol) const isAbsoluteUrl = checkIsURLAbsolute(inputUrl); diff --git a/packages/@intlayer/core/src/localization/getLocaleLang.ts b/packages/@intlayer/core/src/localization/getLocaleLang.ts index c1774d0b9..d2c25a4be 100644 --- a/packages/@intlayer/core/src/localization/getLocaleLang.ts +++ b/packages/@intlayer/core/src/localization/getLocaleLang.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; /** * Returns the language code of the given locale for locales including the country code. diff --git a/packages/@intlayer/core/src/localization/getLocaleName.ts b/packages/@intlayer/core/src/localization/getLocaleName.ts index 7de2dd368..b6b52c0cf 100644 --- a/packages/@intlayer/core/src/localization/getLocaleName.ts +++ b/packages/@intlayer/core/src/localization/getLocaleName.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { Intl } from '../utils/intl'; export const getLocaleName = ( diff --git a/packages/@intlayer/core/src/localization/getLocalizedUrl.ts b/packages/@intlayer/core/src/localization/getLocalizedUrl.ts index 0dbbf6e0c..3531ecda4 100644 --- a/packages/@intlayer/core/src/localization/getLocalizedUrl.ts +++ b/packages/@intlayer/core/src/localization/getLocalizedUrl.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { getMultilingualUrls } from './getMultilingualUrls'; @@ -33,11 +33,10 @@ import { getMultilingualUrls } from './getMultilingualUrls'; export const getLocalizedUrl = ( url: string, currentLocale: LocalesValues, - locales: LocalesValues[] | undefined = configuration?.internationalization - ?.locales, - defaultLocale: LocalesValues | undefined = configuration?.internationalization - ?.defaultLocale, - prefixDefault: boolean | undefined = configuration?.middleware?.prefixDefault + locales: LocalesValues[] = configuration.internationalization.locales, + defaultLocale: LocalesValues = configuration.internationalization + .defaultLocale, + prefixDefault: boolean = configuration.middleware.prefixDefault ): string => { // Remove any existing locale segment from the URL const urlWithoutLocale = getMultilingualUrls( diff --git a/packages/@intlayer/core/src/localization/getMultilingualUrls.ts b/packages/@intlayer/core/src/localization/getMultilingualUrls.ts index f88a02be3..a0d5d46c7 100644 --- a/packages/@intlayer/core/src/localization/getMultilingualUrls.ts +++ b/packages/@intlayer/core/src/localization/getMultilingualUrls.ts @@ -1,5 +1,6 @@ import configuration from '@intlayer/config/built'; -import type { LanguageContent, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { IConfigLocales } from '../types/intlayer'; import { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute'; import { getPathWithoutLocale } from './getPathWithoutLocale'; @@ -26,12 +27,11 @@ import { getPathWithoutLocale } from './getPathWithoutLocale'; */ export const getMultilingualUrls = ( url: string, - locales: LocalesValues[] | undefined = configuration?.internationalization - ?.locales, - defaultLocale: LocalesValues | undefined = configuration?.internationalization - ?.defaultLocale, - prefixDefault: boolean | undefined = configuration?.middleware?.prefixDefault -): LanguageContent => { + locales: LocalesValues[] = configuration.internationalization.locales, + defaultLocale: LocalesValues = configuration.internationalization + .defaultLocale, + prefixDefault: boolean = configuration.middleware.prefixDefault +): IConfigLocales => { // Remove any existing locale segment from the URL const urlWithoutLocale = getPathWithoutLocale(url, locales); @@ -58,10 +58,10 @@ export const getMultilingualUrls = ( : ''; // Generate multilingual URLs by iterating over each locale - const multilingualUrls = (locales ?? []).reduce>( + const multilingualUrls = locales.reduce>( (acc, locale) => { // Determine if the current locale is the default locale - const isDefaultLocale = locale?.toString() === defaultLocale?.toString(); + const isDefaultLocale = locale.toString() === defaultLocale.toString(); // Decide whether to prefix the default locale based on `prefixDefault` const shouldPrefix = prefixDefault || !isDefaultLocale; @@ -83,7 +83,7 @@ export const getMultilingualUrls = ( return acc; }, - {} as LanguageContent + {} as IConfigLocales // Initialize an empty object ); return multilingualUrls; diff --git a/packages/@intlayer/core/src/localization/getPathWithoutLocale.ts b/packages/@intlayer/core/src/localization/getPathWithoutLocale.ts index bf8e85883..457147d89 100644 --- a/packages/@intlayer/core/src/localization/getPathWithoutLocale.ts +++ b/packages/@intlayer/core/src/localization/getPathWithoutLocale.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute'; @@ -26,7 +26,8 @@ import { checkIsURLAbsolute } from '../utils/checkIsURLAbsolute'; */ export const getPathWithoutLocale = ( inputUrl: string, - locales: LocalesValues[] = configuration?.internationalization?.locales + locales: LocalesValues[] = configuration.internationalization + .locales as LocalesValues[] ): string => { // Determine if the original URL is absolute (includes protocol) const isAbsoluteUrl = checkIsURLAbsolute(inputUrl); @@ -56,7 +57,7 @@ export const getPathWithoutLocale = ( const firstSegment = pathSegments[1]; // The segment after the first '/' // Check if the first segment is a supported locale - if (locales?.includes(firstSegment as LocalesValues)) { + if (locales.includes(firstSegment as Locales)) { // Remove the locale segment from the pathname pathSegments.splice(1, 1); // Remove the first segment diff --git a/packages/@intlayer/core/src/localization/localeDetector.ts b/packages/@intlayer/core/src/localization/localeDetector.ts index df9995045..7a194c889 100644 --- a/packages/@intlayer/core/src/localization/localeDetector.ts +++ b/packages/@intlayer/core/src/localization/localeDetector.ts @@ -1,4 +1,4 @@ -import type { Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config/client'; import { localeResolver } from './localeResolver'; /** diff --git a/packages/@intlayer/core/src/localization/localeList.ts b/packages/@intlayer/core/src/localization/localeList.ts index 772bfc60f..52c2f11d3 100644 --- a/packages/@intlayer/core/src/localization/localeList.ts +++ b/packages/@intlayer/core/src/localization/localeList.ts @@ -1,4 +1,4 @@ -import { Locales } from '@intlayer/types'; +import { Locales } from '@intlayer/config/client'; export const localeList: Locales[] = [ Locales.AFRIKAANS, diff --git a/packages/@intlayer/core/src/localization/localeMapper.ts b/packages/@intlayer/core/src/localization/localeMapper.ts index 691318143..e7a261970 100644 --- a/packages/@intlayer/core/src/localization/localeMapper.ts +++ b/packages/@intlayer/core/src/localization/localeMapper.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; export type LocaleData = { locale: LocalesValues; @@ -37,10 +37,10 @@ export type LocaleData = { */ export const localeMap = ( mapper: (locale: LocaleData) => T, - locales: LocalesValues[] = configuration?.internationalization?.locales, - defaultLocale: LocalesValues = configuration?.internationalization - ?.defaultLocale, - prefixDefault: boolean = configuration?.middleware?.prefixDefault + locales: LocalesValues[] = configuration.internationalization.locales, + defaultLocale: LocalesValues = configuration.internationalization + .defaultLocale, + prefixDefault: boolean = configuration.middleware.prefixDefault ): T[] => locales.map((locale) => mapper({ @@ -48,7 +48,7 @@ export const localeMap = ( defaultLocale, locales, isDefault: locale === defaultLocale, - urlPrefix: locale === defaultLocale && !prefixDefault ? '' : `/$locale`, + urlPrefix: locale === defaultLocale && !prefixDefault ? '' : `/${locale}`, }) ); @@ -69,9 +69,9 @@ export const localeMap = ( * * // Result * [ - * path: '/', name: 'en', isDefault: true, locales: ['en'], defaultLocale: 'en', urlPrefix: '' , - * path: '/fr', name: 'fr', isDefault: false, locales: ['fr'], defaultLocale: 'en', urlPrefix: '/fr' , - * path: '/es', name: 'es', isDefault: false, locales: ['es'], defaultLocale: 'en', urlPrefix: '/es' , + * { path: '/', name: 'en', isDefault: true, locales: ['en'], defaultLocale: 'en', urlPrefix: '' }, + * { path: '/fr', name: 'fr', isDefault: false, locales: ['fr'], defaultLocale: 'en', urlPrefix: '/fr' }, + * { path: '/es', name: 'es', isDefault: false, locales: ['es'], defaultLocale: 'en', urlPrefix: '/es' }, * ] * ``` * @@ -80,10 +80,10 @@ export const localeMap = ( */ export const localeFlatMap = ( mapper: (locale: LocaleData) => T[], - locales: LocalesValues[] = configuration?.internationalization?.locales, - defaultLocale: LocalesValues = configuration?.internationalization - ?.defaultLocale, - prefixDefault: boolean = configuration?.middleware.prefixDefault + locales: LocalesValues[] = configuration.internationalization.locales, + defaultLocale: LocalesValues = configuration.internationalization + .defaultLocale, + prefixDefault: boolean = configuration.middleware.prefixDefault ): T[] => locales.flatMap((locale) => mapper({ @@ -91,7 +91,7 @@ export const localeFlatMap = ( defaultLocale, locales, isDefault: locale === defaultLocale, - urlPrefix: locale === defaultLocale && !prefixDefault ? '' : `/$locale`, + urlPrefix: locale === defaultLocale && !prefixDefault ? '' : `/${locale}`, }) ); @@ -105,11 +105,11 @@ export const localeFlatMap = ( * ); * * // Result - * - * en: ... , // Content of translations/en.json - * fr: ... , // Content of translations/fr.json - * es: ... - * + * { + * en: { ... }, // Content of translations/en.json + * fr: { ... }, // Content of translations/fr.json + * es: { ... } // Content of translations/es.json + * } * ``` * * @param mapper - Function that takes locale data and returns a value for that locale @@ -120,12 +120,11 @@ export const localeFlatMap = ( */ export const localeRecord = ( mapper: (locale: LocaleData) => T, - locales: LocalesValues[] = configuration?.internationalization?.locales, - defaultLocale: LocalesValues = configuration?.internationalization - ?.defaultLocale, - prefixDefault: boolean = configuration?.middleware?.prefixDefault -): Record => - (locales ?? []).reduce( + locales: Locales[] = configuration?.internationalization.locales, + defaultLocale: Locales = configuration?.internationalization.defaultLocale, + prefixDefault: boolean = configuration?.middleware.prefixDefault +): Record => + locales.reduce( (acc, locale) => { acc[locale] = mapper({ locale, @@ -137,5 +136,5 @@ export const localeRecord = ( }); return acc; }, - {} as Record + {} as Record ); diff --git a/packages/@intlayer/core/src/localization/localeResolver.ts b/packages/@intlayer/core/src/localization/localeResolver.ts index 7e47477d0..350708509 100644 --- a/packages/@intlayer/core/src/localization/localeResolver.ts +++ b/packages/@intlayer/core/src/localization/localeResolver.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { Locales, LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; /** * Resolves the most specific locale from a user-provided list, @@ -7,9 +7,9 @@ import type { Locales, LocalesValues } from '@intlayer/types'; */ export const localeResolver = ( selectedLocale: LocalesValues | LocalesValues[], - locales: LocalesValues[] = configuration?.internationalization?.locales, - defaultLocale: LocalesValues = configuration?.internationalization - ?.defaultLocale + locales: LocalesValues[] = configuration.internationalization.locales, + defaultLocale: LocalesValues = configuration.internationalization + .defaultLocale ): Locales => { // Ensure we can handle both a single locale or an array of locales uniformly const requestedLocales = [selectedLocale].flat(); diff --git a/packages/@intlayer/core/src/transpiler/condition/condition.ts b/packages/@intlayer/core/src/transpiler/condition/condition.ts index 7938e669f..a177792e5 100644 --- a/packages/@intlayer/core/src/transpiler/condition/condition.ts +++ b/packages/@intlayer/core/src/transpiler/condition/condition.ts @@ -1,4 +1,8 @@ -import { formatNodeType, NodeType, type TypedNodeModel } from '@intlayer/types'; +import { + formatNodeType, + NodeType, + type TypedNodeModel, +} from '../../types/index'; export type ConditionContentStates = Record<`${boolean}`, Content> & { fallback?: Content; diff --git a/packages/@intlayer/core/src/transpiler/enumeration/enumeration.ts b/packages/@intlayer/core/src/transpiler/enumeration/enumeration.ts index 6cf6c1545..ce50a6b2d 100644 --- a/packages/@intlayer/core/src/transpiler/enumeration/enumeration.ts +++ b/packages/@intlayer/core/src/transpiler/enumeration/enumeration.ts @@ -1,4 +1,8 @@ -import { formatNodeType, NodeType, type TypedNodeModel } from '@intlayer/types'; +import { + formatNodeType, + NodeType, + type TypedNodeModel, +} from '../../types/index'; type Positive = number | `${number}`; type Negative = `-${number}`; diff --git a/packages/@intlayer/core/src/transpiler/file/file.ts b/packages/@intlayer/core/src/transpiler/file/file.ts index af3487ca7..0721765a3 100644 --- a/packages/@intlayer/core/src/transpiler/file/file.ts +++ b/packages/@intlayer/core/src/transpiler/file/file.ts @@ -2,7 +2,11 @@ import { existsSync, readFileSync, statSync } from 'node:fs'; import { relative, resolve } from 'node:path'; import { colorizePath, getAppLogger } from '@intlayer/config'; import configuration from '@intlayer/config/built'; -import { formatNodeType, NodeType, type TypedNodeModel } from '@intlayer/types'; +import { + formatNodeType, + NodeType, + type TypedNodeModel, +} from '../../types/index'; export type FileContentConstructor = {}> = TypedNodeModel; @@ -19,14 +23,6 @@ export const fileContent = ( path: string, callerDir: string = process.cwd() ): FileContent => { - // Just a fix to avoid errors when the configuration is not loaded yet - if (!configuration?.content?.baseDir) { - return formatNodeType(NodeType.File, path, { - content: '', - fixedPath: relative(process.cwd(), ''), - }); - } - const isAbsolutePath = path.startsWith('/'); const isRelativePath = path.startsWith('./') || path.startsWith('../'); const appLogger = getAppLogger(configuration); diff --git a/packages/@intlayer/core/src/transpiler/file/fileBrowser.ts b/packages/@intlayer/core/src/transpiler/file/fileBrowser.ts index 06a7d12a9..5e192d200 100644 --- a/packages/@intlayer/core/src/transpiler/file/fileBrowser.ts +++ b/packages/@intlayer/core/src/transpiler/file/fileBrowser.ts @@ -1,4 +1,4 @@ -import { formatNodeType, NodeType } from '@intlayer/types'; +import { formatNodeType, NodeType } from '../../types'; import type { FileContent } from './file'; /** diff --git a/packages/@intlayer/core/src/transpiler/gender/gender.ts b/packages/@intlayer/core/src/transpiler/gender/gender.ts index 340e6a81d..d5a43dfe4 100644 --- a/packages/@intlayer/core/src/transpiler/gender/gender.ts +++ b/packages/@intlayer/core/src/transpiler/gender/gender.ts @@ -1,4 +1,8 @@ -import { formatNodeType, NodeType, type TypedNodeModel } from '@intlayer/types'; +import { + formatNodeType, + NodeType, + type TypedNodeModel, +} from '../../types/index'; export type Gender = 'male' | 'female' | 'fallback'; diff --git a/packages/@intlayer/core/src/transpiler/insertion/insertion.ts b/packages/@intlayer/core/src/transpiler/insertion/insertion.ts index 066dd009b..91a184e89 100644 --- a/packages/@intlayer/core/src/transpiler/insertion/insertion.ts +++ b/packages/@intlayer/core/src/transpiler/insertion/insertion.ts @@ -1,4 +1,8 @@ -import { formatNodeType, NodeType, type TypedNodeModel } from '@intlayer/types'; +import { + formatNodeType, + NodeType, + type TypedNodeModel, +} from '../../types/index'; import { getInsertionValues } from './getInsertionValues'; export type InsertionContentConstructor< diff --git a/packages/@intlayer/core/src/transpiler/markdown/getMarkdownMetadata.test.ts b/packages/@intlayer/core/src/transpiler/markdown/getMarkdownMetadata.test.ts index e818f174a..c48983a10 100644 --- a/packages/@intlayer/core/src/transpiler/markdown/getMarkdownMetadata.test.ts +++ b/packages/@intlayer/core/src/transpiler/markdown/getMarkdownMetadata.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { getMarkdownMetadata } from '../markdown'; +import { getMarkdownMetadata } from '..'; describe('getMarkdownMetadata', () => { const markdown = [ diff --git a/packages/@intlayer/core/src/transpiler/markdown/markdown.ts b/packages/@intlayer/core/src/transpiler/markdown/markdown.ts index dcb67c9b8..dca6e17ca 100644 --- a/packages/@intlayer/core/src/transpiler/markdown/markdown.ts +++ b/packages/@intlayer/core/src/transpiler/markdown/markdown.ts @@ -1,5 +1,9 @@ -import { formatNodeType, NodeType, type TypedNodeModel } from '@intlayer/types'; import { getContent } from '../../interpreter/getContent/getContent'; +import { + formatNodeType, + NodeType, + type TypedNodeModel, +} from '../../types/index'; import { getMarkdownMetadata } from './getMarkdownMetadata'; export type MarkdownContentConstructor< @@ -40,6 +44,7 @@ const markdown = (content: Content): MarkdownContent => { const metadata = async () => { const awaitedContent = await awaitContent(content); + // @ts-ignore Type instantiation is excessively deep and possibly infinite. const flatContent = getContent(awaitedContent, { dictionaryKey: '', keyPath: [], diff --git a/packages/@intlayer/core/src/transpiler/nesting/nesting.ts b/packages/@intlayer/core/src/transpiler/nesting/nesting.ts index b428a6794..6ce01e5e6 100644 --- a/packages/@intlayer/core/src/transpiler/nesting/nesting.ts +++ b/packages/@intlayer/core/src/transpiler/nesting/nesting.ts @@ -1,11 +1,11 @@ -import type { DictionaryRegistryContent } from '@intlayer/types'; +import type { DeepTransformContent } from '../../interpreter'; +import type { DictionaryKeys } from '../../types/dictionary'; import { - type DictionaryKeys, formatNodeType, NodeType, type TypedNodeModel, -} from '@intlayer/types'; -import type { DeepTransformContent } from '../../interpreter'; +} from '../../types/index'; +import type { IntlayerDictionaryTypesConnector } from '../../types/intlayer'; /** * Recursively builds dot-notation strings for all valid paths in T. @@ -31,7 +31,7 @@ type DeepReplace = T extends From /** Build all valid dot-notation strings for a dictionary entry. */ export type ValidDotPathsFor = DotPath< DeepReplace< - DeepTransformContent>, + DeepTransformContent, // Replace ReactElement type with string { type: any; @@ -46,7 +46,7 @@ export type NestedContentState = { dictionaryKey: K; /** - * Path must match existing keys in DictionaryRegistryContent. + * Path must match existing keys in IntlayerDictionaryTypesConnector[K]. * Can be either: * - "dot.dot.dot" format */ diff --git a/packages/@intlayer/core/src/transpiler/translation/translation.ts b/packages/@intlayer/core/src/transpiler/translation/translation.ts index 314bc3b4f..8466e10aa 100644 --- a/packages/@intlayer/core/src/transpiler/translation/translation.ts +++ b/packages/@intlayer/core/src/transpiler/translation/translation.ts @@ -3,7 +3,7 @@ import { type LanguageContent, NodeType, type TypedNodeModel, -} from '@intlayer/types'; +} from '../../types/index'; export type TranslationContent< Content = unknown, diff --git a/packages/@intlayer/types/src/dictionary.ts b/packages/@intlayer/core/src/types/dictionary.ts similarity index 84% rename from packages/@intlayer/types/src/dictionary.ts rename to packages/@intlayer/core/src/types/dictionary.ts index a5a4e6f8c..cce3169c4 100644 --- a/packages/@intlayer/types/src/dictionary.ts +++ b/packages/@intlayer/core/src/types/dictionary.ts @@ -1,13 +1,50 @@ -import type { IConfigLocales, LocalesValues } from './module_augmentation'; -import type { NodeType } from './nodeType'; +import type { ConditionContent } from '../transpiler/condition'; +import type { EnumerationContent } from '../transpiler/enumeration'; +import type { FileContent } from '../transpiler/file'; +import type { GenderContent } from '../transpiler/gender'; +import type { InsertionContent } from '../transpiler/insertion'; +import type { MarkdownContent } from '../transpiler/markdown'; +import type { NestedContent } from '../transpiler/nesting'; +import type { TranslationContent } from '../transpiler/translation'; +import type { + IntlayerDictionaryTypesConnector, + LanguageContent, + LocalesValues, +} from './intlayer'; -type BaseNode = number | string | boolean | null | undefined; +/** + * Provides a fallback to string type if the generic type T is undefined, + * otherwise returns T. This is useful for handling cases where no keys are found. + * Example: StringFallback -> string; StringFallback<'key'> -> 'key' + */ +export type StringFallback = T extends undefined ? string : T; // If no keys are found, return string to disable error, and accept any string as dictionary key -type TypedNodeBase = { - nodeType: NodeType; -}; +/** + * Represents the keys of the IntlayerDictionaryTypesConnector, + * ensuring they are valid dictionary keys or fallback to string if none exist. + * + * Example: + * ```ts + * DictionaryKeys -> 'key1' | 'key2' + * // or if IntlayerDictionaryTypesConnector is not defined, + * DictionaryKeys -> string + * ``` + */ +export type DictionaryKeys = StringFallback< + keyof IntlayerDictionaryTypesConnector +>; + +type BaseNode = number | string | boolean | null | undefined; -export interface TypedNode extends TypedNodeBase {} +export type TypedNode = + | TranslationContent + | EnumerationContent + | ConditionContent + | InsertionContent + | MarkdownContent + | NestedContent + | GenderContent + | FileContent; type FetchableContentNode = ( args?: any @@ -48,7 +85,7 @@ type ReplaceContentValue< | ReplaceContentValueObject : ContentNode; -export type AutoFill = true | string | Partial>; +export type AutoFill = true | string | Partial>; export type LocalDictionaryId = `${Dictionary['key']}::${Dictionary['location']}::${Dictionary['filePath'] | Dictionary['id']}`; diff --git a/packages/@intlayer/core/src/types/index.ts b/packages/@intlayer/core/src/types/index.ts new file mode 100644 index 000000000..c18f69159 --- /dev/null +++ b/packages/@intlayer/core/src/types/index.ts @@ -0,0 +1,4 @@ +export * from './dictionary'; +export * from './keyPath'; +export * from './nodeType'; +export * from './translation'; diff --git a/packages/@intlayer/core/src/types/intlayer.ts b/packages/@intlayer/core/src/types/intlayer.ts new file mode 100644 index 000000000..981e31883 --- /dev/null +++ b/packages/@intlayer/core/src/types/intlayer.ts @@ -0,0 +1,11 @@ +// @ts-nocheck +/** + * Reexport the intlayer module with the module augmentation because of typescript error + */ + +export type { + IConfigLocales, + IntlayerDictionaryTypesConnector, + LanguageContent, + LocalesValues, +} from 'intlayer'; diff --git a/packages/@intlayer/types/src/keyPath.ts b/packages/@intlayer/core/src/types/keyPath.ts similarity index 100% rename from packages/@intlayer/types/src/keyPath.ts rename to packages/@intlayer/core/src/types/keyPath.ts diff --git a/packages/@intlayer/types/src/nodeType.ts b/packages/@intlayer/core/src/types/nodeType.ts similarity index 100% rename from packages/@intlayer/types/src/nodeType.ts rename to packages/@intlayer/core/src/types/nodeType.ts diff --git a/packages/@intlayer/types/src/translation.ts b/packages/@intlayer/core/src/types/translation.ts similarity index 87% rename from packages/@intlayer/types/src/translation.ts rename to packages/@intlayer/core/src/types/translation.ts index 22c6ef555..53bbae01b 100644 --- a/packages/@intlayer/types/src/translation.ts +++ b/packages/@intlayer/core/src/types/translation.ts @@ -1,4 +1,5 @@ -import type { IConfigLocales, LocalesValues } from './module_augmentation'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { IConfigLocales } from './intlayer'; /** * If module augmented, it will return the configured locales such as Locales.ENGLISH | Locales.FRENCH | Locales.SPANISH | ... diff --git a/packages/@intlayer/core/src/utils/intl.ts b/packages/@intlayer/core/src/utils/intl.ts index ecdcccb2b..e21b84a81 100644 --- a/packages/@intlayer/core/src/utils/intl.ts +++ b/packages/@intlayer/core/src/utils/intl.ts @@ -22,7 +22,7 @@ // // --------------------------------------------------------------------- -import { Locales, type LocalesValues } from '@intlayer/types'; +import { Locales, type LocalesValues } from '@intlayer/config/client'; // Helper type that picks just the constructor members off `typeof Intl`. // The "capital‑letter" heuristic is 100 % accurate today and keeps the diff --git a/packages/@intlayer/core/src/utils/isSameKeyPath.ts b/packages/@intlayer/core/src/utils/isSameKeyPath.ts index 4ab773bbc..8c59e398d 100644 --- a/packages/@intlayer/core/src/utils/isSameKeyPath.ts +++ b/packages/@intlayer/core/src/utils/isSameKeyPath.ts @@ -1,4 +1,4 @@ -import type { KeyPath } from '@intlayer/types'; +import type { KeyPath } from '../types'; type KeyPathWithKey = KeyPath & { key: string }; diff --git a/packages/@intlayer/core/types/intlayer.d.ts b/packages/@intlayer/core/types/intlayer.d.ts new file mode 100644 index 000000000..61e502b00 --- /dev/null +++ b/packages/@intlayer/core/types/intlayer.d.ts @@ -0,0 +1,5 @@ +// /* eslint-disable */ + +declare module 'intlayer' { + interface IntlayerDictionaryTypesConnector {} +} diff --git a/packages/@intlayer/core/types/tsdown.d.ts b/packages/@intlayer/core/types/tsdown.d.ts deleted file mode 100644 index d449e963d..000000000 --- a/packages/@intlayer/core/types/tsdown.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Utility for tsdown to optimize the build process of assets and avoid them to be duplicated accross CJS and MJS output - */ declare module 'utils:asset' { - export function readAsset( - relFromSrc: string, - encoding?: BufferEncoding - ): string; -} diff --git a/packages/@intlayer/design-system/intlayer.config.ts b/packages/@intlayer/design-system/intlayer.config.ts index 7a51789d8..0135dec4b 100644 --- a/packages/@intlayer/design-system/intlayer.config.ts +++ b/packages/@intlayer/design-system/intlayer.config.ts @@ -1,4 +1,4 @@ -import { type CustomIntlayerConfig, Locales } from '@intlayer/types'; +import { type IntlayerConfig, Locales } from 'intlayer'; export const locales: Locales[] = [ Locales.ENGLISH, @@ -18,7 +18,7 @@ export const locales: Locales[] = [ ]; export const defaultLocale: Locales = Locales.ENGLISH; -const config: CustomIntlayerConfig = { +const config: IntlayerConfig = { internationalization: { locales, defaultLocale, diff --git a/packages/@intlayer/design-system/package.json b/packages/@intlayer/design-system/package.json index 423a89620..074bd3c79 100644 --- a/packages/@intlayer/design-system/package.json +++ b/packages/@intlayer/design-system/package.json @@ -96,12 +96,12 @@ "build:package": "vite build", "build:storybook": "storybook build", "check:storybook": "npx storybook doctor", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "vite build --watch", - "format": "biome format . --check", - "format:fix": "biome format --write .", "lint": "biome lint .", "lint:fix": "biome lint --write .", + "format": "biome format . --check", + "format:fix": "biome format --write .", "preview": "vite preview", "prepublish": "cp -f ../../../README.md ./README.md", "start": "bun storybook -p 6006 --no-open --host 0.0.0.0", @@ -110,7 +110,7 @@ "test": "vitest run", "test:coverage": "vitest run --coverage", "test:watch": "vitest --watch", - "typecheck": "tsc --noEmit --project tsconfig.json" + "typecheck": "tsc --noEmit" }, "dependencies": { "@hookform/resolvers": "5.0.1", @@ -119,26 +119,26 @@ "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", + "@intlayer/unmerged-dictionaries-entry": "workspace:*", "@monaco-editor/react": "4.7.0", "@radix-ui/react-dialog": "1.1.15", - "@radix-ui/react-select": "2.2.6", + "@radix-ui/react-select": "2.1.4", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-toast": "1.2.15", "@shikijs/transformers": "3.13.0", - "@tanstack/react-query": "5.90.5", + "@tanstack/react-query": "5.90.2", "@tanstack/react-query-devtools": "5.90.2", - "better-auth": "1.3.27", + "better-auth": "1.3.16", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "cmdk": "1.1.1", - "framer-motion": "12.23.24", + "framer-motion": "12.23.21", "fuse.js": "7.1.0", "intlayer": "workspace:*", - "react-hook-form": "7.65.0", + "react-hook-form": "7.63.0", "react-intlayer": "workspace:*", "rollup-preserve-directives": "1.1.3", - "shiki": "3.13.0", + "shiki": "3.2.1", "tailwind-merge": "3.3.1", "zod": "4.1.12", "zustand": "4.5.6" @@ -163,13 +163,15 @@ "@testing-library/user-event": "14.6.1", "@types/espree": "10.1.0", "@types/node": "24.7.2", - "@types/react": "19.2.0", - "@types/react-dom": "19.2.0", + "@types/react": ">=16.0.0", + "@types/react-dom": ">=16.0.0", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", - "@vitejs/plugin-react": "5.0.4", + "@utils/tsdown-config": "workspace:*", + "@vitejs/plugin-react": "5.0.0", + "concurrently": "9.2.0", "fast-glob": "3.3.3", - "lucide-react": "0.546.0", + "lucide-react": "0.545.0", "rimraf": "6.0.1", "storybook": "8.6.14", "tailwindcss": "4.1.14", @@ -180,18 +182,16 @@ "vitest": "3.2.4" }, "peerDependencies": { - "@better-fetch/fetch": "1.1.18", "@intlayer/api": "workspace:*", "@intlayer/backend": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", "@monaco-editor/react": "4.7.0", - "@tanstack/react-query": "5.90.5", + "@tanstack/react-query": "5.90.2", "clsx": "2.1.1", - "framer-motion": "12.23.24", + "framer-motion": "12.23.21", "fuse.js": "7.1.0", "intlayer": "workspace:*", "react": ">=16.0.0", diff --git a/packages/@intlayer/design-system/src/components/Breadcrumb/index.tsx b/packages/@intlayer/design-system/src/components/Breadcrumb/index.tsx index f788755e7..6941ee1e8 100644 --- a/packages/@intlayer/design-system/src/components/Breadcrumb/index.tsx +++ b/packages/@intlayer/design-system/src/components/Breadcrumb/index.tsx @@ -1,6 +1,6 @@ 'use client'; -import type { LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { cva, type VariantProps } from 'class-variance-authority'; import { ChevronRightIcon } from 'lucide-react'; import { type FC, Fragment, type HTMLAttributes, type ReactNode } from 'react'; @@ -20,7 +20,7 @@ type LinkLinkProps = { /** * Locale for internationalization */ - locale?: LocalesValues; + locale?: Locales; /** * URL to navigate to */ diff --git a/packages/@intlayer/design-system/src/components/DictionaryEditor/DictionaryEditor.tsx b/packages/@intlayer/design-system/src/components/DictionaryEditor/DictionaryEditor.tsx index de6030b42..75e66808a 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryEditor/DictionaryEditor.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryEditor/DictionaryEditor.tsx @@ -1,7 +1,8 @@ 'use client'; +import type { Locales } from '@intlayer/config/client'; +import type { Dictionary } from '@intlayer/core'; import { useEditedContent, useFocusDictionary } from '@intlayer/editor-react'; -import type { Dictionary, Locales } from '@intlayer/types'; import type { FC } from 'react'; import { SaveForm } from '../DictionaryFieldEditor/SaveForm/SaveForm'; import { NodeWrapper } from './NodeWrapper'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/ArrayWrapper.tsx b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/ArrayWrapper.tsx index 45f16a8b4..cb2a3bf78 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/ArrayWrapper.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/ArrayWrapper.tsx @@ -1,6 +1,9 @@ -import { isSameKeyPath } from '@intlayer/core'; -import type { ContentNode } from '@intlayer/types'; -import { type KeyPath, NodeType } from '@intlayer/types'; +import { + type ContentNode, + isSameKeyPath, + type KeyPath, + NodeType, +} from '@intlayer/core'; import type { FC } from 'react'; import { ItemLayout } from '../ItemLayout'; import { NodeWrapper, type NodeWrapperProps } from './index'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/ConditionWrapper.tsx b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/ConditionWrapper.tsx index b81b9151d..d710d225a 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/ConditionWrapper.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/ConditionWrapper.tsx @@ -1,5 +1,9 @@ -import type { ConditionContent } from '@intlayer/core'; -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; +import { + type ConditionContent, + type ContentNode, + type KeyPath, + NodeType, +} from '@intlayer/core'; import type { FC } from 'react'; import { NodeWrapper, type NodeWrapperProps, traceKeys } from './index'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.tsx b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.tsx index a8b2644ca..cff3b7ba9 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.tsx @@ -1,5 +1,9 @@ -import type { EnumerationContent } from '@intlayer/core'; -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; +import { + type ContentNode, + type EnumerationContent, + type KeyPath, + NodeType, +} from '@intlayer/core'; import type { FC } from 'react'; import { NodeWrapper, type NodeWrapperProps, traceKeys } from './index'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/FileWrapper.tsx b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/FileWrapper.tsx index bf9156989..39e5011b5 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/FileWrapper.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/FileWrapper.tsx @@ -1,10 +1,11 @@ -import { type FileContent, getContentNodeByKeyPath } from '@intlayer/core'; -import { useEditedContent } from '@intlayer/editor-react'; import { + type FileContent, + getContentNodeByKeyPath, type KeyPath, type LocalDictionaryId, NodeType, -} from '@intlayer/types'; +} from '@intlayer/core'; +import { useEditedContent } from '@intlayer/editor-react'; import type { FC } from 'react'; import { StringWrapper, type StringWrapperProps } from './StringWrapper'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/InsertionWrapper.tsx b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/InsertionWrapper.tsx index 34d6450e0..f8b270d93 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/InsertionWrapper.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/InsertionWrapper.tsx @@ -1,5 +1,9 @@ -import type { InsertionContent } from '@intlayer/core'; -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; +import { + type ContentNode, + type InsertionContent, + type KeyPath, + NodeType, +} from '@intlayer/core'; import type { FC } from 'react'; import { NodeWrapper, type NodeWrapperProps } from './index'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.tsx b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.tsx index ca9b4591f..e84f3e590 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.tsx @@ -1,5 +1,9 @@ -import type { MarkdownContent } from '@intlayer/core'; -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; +import { + type ContentNode, + type KeyPath, + type MarkdownContent, + NodeType, +} from '@intlayer/core'; import type { FC } from 'react'; import { NodeWrapper, type NodeWrapperProps } from './index'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.tsx b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.tsx index 901c36912..97dfeb087 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.tsx @@ -1,5 +1,9 @@ -import { isSameKeyPath } from '@intlayer/core'; -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; +import { + type ContentNode, + isSameKeyPath, + type KeyPath, + NodeType, +} from '@intlayer/core'; import type { FC } from 'react'; import { ItemLayout } from '../ItemLayout'; import { NodeWrapper, type NodeWrapperProps, traceKeys } from './index'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/TranslationWrapper.tsx b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/TranslationWrapper.tsx index db9b3c052..bd63d74a4 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/TranslationWrapper.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/TranslationWrapper.tsx @@ -1,5 +1,9 @@ -import type { TranslationContent } from '@intlayer/core'; -import { type ContentNode, type KeyPath, NodeType } from '@intlayer/types'; +import { + type ContentNode, + type KeyPath, + NodeType, + type TranslationContent, +} from '@intlayer/core'; import type { FC } from 'react'; import { NodeWrapper, type NodeWrapperProps } from './index'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/index.tsx b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/index.tsx index aa17f2165..fe7b0b5f4 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/index.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryEditor/NodeWrapper/index.tsx @@ -1,22 +1,20 @@ 'use client'; +import type { Locales } from '@intlayer/config/client'; import { type ConditionContent, + type ContentNode, + type Dictionary, type EnumerationContent, type FileContent, getContentNodeByKeyPath, getNodeType, type InsertionContent, + type KeyPath, type MarkdownContent, + NodeType, type TranslationContent, } from '@intlayer/core'; -import { - type ContentNode, - type Dictionary, - type KeyPath, - type Locales, - NodeType, -} from '@intlayer/types'; import type { FC, ReactNode } from 'react'; import { ArrayWrapper } from './ArrayWrapper'; import { ConditionWrapper } from './ConditionWrapper'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/ContentEditor.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/ContentEditor.tsx index 483d084af..09613d67f 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/ContentEditor.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/ContentEditor.tsx @@ -1,8 +1,11 @@ 'use client'; -import { getContentNodeByKeyPath } from '@intlayer/core'; +import { + type Dictionary, + getContentNodeByKeyPath, + type LocalDictionaryId, +} from '@intlayer/core'; import { useEditedContent, useFocusDictionary } from '@intlayer/editor-react'; -import type { Dictionary, LocalDictionaryId } from '@intlayer/types'; import { type FC, useEffect } from 'react'; import { Container } from '../Container'; import { LocaleSwitcherContent } from '../LocaleSwitcherContentDropDown'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx index 4b6b1c866..6a6095e2b 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/ContentEditorView/TextEditor.tsx @@ -1,7 +1,10 @@ 'use client'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { type ConditionContent, + type ContentNode, + type Dictionary, type EnumerationContent, type FileContent, type GenderContent, @@ -9,17 +12,12 @@ import { getLocaleName, getNodeType, type InsertionContent, + type KeyPath, type MarkdownContent, + NodeType, type TranslationContent, } from '@intlayer/core'; import { useConfiguration, useEditedContent } from '@intlayer/editor-react'; -import type { - ContentNode, - Dictionary, - KeyPath, - Locales, - LocalesValues, -} from '@intlayer/types'; import { Plus, Trash, WandSparkles } from 'lucide-react'; import { type FC, Fragment, type ReactNode, useState } from 'react'; import { useIntlayer, useLocale } from 'react-intlayer'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.tsx index 0d6fcfe51..fb2635e82 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.tsx @@ -1,7 +1,7 @@ 'use client'; +import type { Dictionary, LocalDictionaryId } from '@intlayer/core'; import { useEditedContent } from '@intlayer/editor-react'; -import type { Dictionary, LocalDictionaryId } from '@intlayer/types'; import { WandSparkles } from 'lucide-react'; import { type FC, useEffect } from 'react'; import { useIntlayer } from 'react-intlayer'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx index e359df9a8..3d89a2ca8 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/DictionaryFieldEditor.tsx @@ -1,11 +1,11 @@ 'use client'; +import type { Dictionary } from '@intlayer/core'; import { useConfiguration, useDictionariesRecordActions, useFocusDictionaryActions, } from '@intlayer/editor-react'; -import type { Dictionary } from '@intlayer/types'; import { ArrowLeft } from 'lucide-react'; import { type FC, useEffect, useState } from 'react'; import { useIntlayer } from 'react-intlayer'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/JSONEditor.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/JSONEditor.tsx index 0f53edb6f..35f4242a3 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/JSONEditor.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/JSONEditor.tsx @@ -1,5 +1,5 @@ +import type { Dictionary } from '@intlayer/core'; import { useEditedContent } from '@intlayer/editor-react'; -import type { Dictionary } from '@intlayer/types'; import { type FC, useMemo } from 'react'; import { Container } from '../Container'; import { MonacoCode } from '../IDE/MonacoCode'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/KeyPathBreadcrumb.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/KeyPathBreadcrumb.tsx index c0b768e0b..c1960580b 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/KeyPathBreadcrumb.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/KeyPathBreadcrumb.tsx @@ -1,4 +1,5 @@ -import type { KeyPath, Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config/client'; +import type { KeyPath } from '@intlayer/core'; import type { FC } from 'react'; import { Breadcrumb, type BreadcrumbLink } from '../Breadcrumb'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.tsx index a9605a412..8afe7049a 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.tsx @@ -1,20 +1,19 @@ import configuration from '@intlayer/config/built'; import { + type ContentNode, + type Dictionary, getContentNodeByKeyPath, getEmptyNode, getNodeType, isSameKeyPath, + type KeyPath, + type LocalDictionaryId, + NodeType, } from '@intlayer/core'; import { useEditedContentActions, useFocusDictionary, } from '@intlayer/editor-react'; -import { - type KeyPath, - type LocalDictionaryId, - NodeType, -} from '@intlayer/types'; -import type { ContentNode, Dictionary } from 'intlayer'; import { ChevronRight, Plus } from 'lucide-react'; import type { FC } from 'react'; import { useIntlayer } from 'react-intlayer'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/NodeTypeSelector.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/NodeTypeSelector.tsx index 8dd3b6fb4..94c97e797 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/NodeTypeSelector.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/NodeTypeSelector.tsx @@ -1,7 +1,6 @@ 'use client'; -import { getNodeType } from '@intlayer/core'; -import { type ContentNode, NodeType } from '@intlayer/types'; +import { type ContentNode, getNodeType, NodeType } from '@intlayer/core'; import { type FC, useState } from 'react'; import { useIntlayer } from 'react-intlayer'; import { Select } from '../Select'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx index 648efa247..aee3c898d 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/SaveForm/SaveForm.tsx @@ -1,11 +1,11 @@ 'use client'; import type { Dictionary as DistantDictionary } from '@intlayer/backend'; +import type { Dictionary } from '@intlayer/core'; import { useDictionariesRecordActions, useEditedContent, } from '@intlayer/editor-react'; -import type { Dictionary } from '@intlayer/types'; import { ArrowUpFromLine, Download, diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/StructureEditor.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/StructureEditor.tsx index 4cacc9f0a..7d3d7751f 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/StructureEditor.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/StructureEditor.tsx @@ -1,7 +1,7 @@ 'use client'; +import type { Dictionary } from '@intlayer/core'; import { useEditedContent } from '@intlayer/editor-react'; -import type { Dictionary } from '@intlayer/types'; import type { FC } from 'react'; import { NodeView } from './StructureView/StructureView'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/StructureView/StructureView.tsx b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/StructureView/StructureView.tsx index dc5ad6710..fc9459858 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/StructureView/StructureView.tsx +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/StructureView/StructureView.tsx @@ -1,10 +1,15 @@ 'use client'; import { + type ContentNode, getDefaultNode, getNodeChildren, getNodeType, isSameKeyPath, + type KeyPath, + type LocalDictionaryId, + NodeType, + type TypedNode, } from '@intlayer/core'; import { useConfiguration, @@ -12,13 +17,6 @@ import { useFocusDictionary, useFocusDictionaryActions, } from '@intlayer/editor-react'; -import { - type KeyPath, - type LocalDictionaryId, - NodeType, - type TypedNode, -} from '@intlayer/types'; -import type { ContentNode } from 'intlayer'; import { Plus, Trash } from 'lucide-react'; import type { FC } from 'react'; import { useIntlayer } from 'react-intlayer'; diff --git a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/getIsEditableSection.ts b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/getIsEditableSection.ts index cb75bf73e..61e587fa4 100644 --- a/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/getIsEditableSection.ts +++ b/packages/@intlayer/design-system/src/components/DictionaryFieldEditor/getIsEditableSection.ts @@ -1,5 +1,10 @@ -import { getNodeChildren, getNodeType } from '@intlayer/core'; -import { type ContentNode, NodeType, type TypedNode } from '@intlayer/types'; +import { + type ContentNode, + getNodeChildren, + getNodeType, + NodeType, + type TypedNode, +} from '@intlayer/core'; export const getIsEditableSection = (section: ContentNode): boolean => { const children = getNodeChildren(section); diff --git a/packages/@intlayer/design-system/src/components/Flags/Flag.tsx b/packages/@intlayer/design-system/src/components/Flags/Flag.tsx index 60e8afdac..7a32d0a7a 100644 --- a/packages/@intlayer/design-system/src/components/Flags/Flag.tsx +++ b/packages/@intlayer/design-system/src/components/Flags/Flag.tsx @@ -1,4 +1,4 @@ -import { Locales } from '@intlayer/types'; +import { Locales } from '@intlayer/config/client'; import type { FC, ImgHTMLAttributes, JSX } from 'react'; // import andorra from './ad.svg'; diff --git a/packages/@intlayer/design-system/src/components/HierarchicalDropdown/DictionarySelector.tsx b/packages/@intlayer/design-system/src/components/HierarchicalDropdown/DictionarySelector.tsx new file mode 100644 index 000000000..dcfedaaf5 --- /dev/null +++ b/packages/@intlayer/design-system/src/components/HierarchicalDropdown/DictionarySelector.tsx @@ -0,0 +1,165 @@ +'use client'; + +import type { Dictionary } from '@intlayer/core'; +import { getUnmergedDictionaries } from '@intlayer/unmerged-dictionaries-entry'; +import type { FC } from 'react'; +import { useEffect, useMemo, useState } from 'react'; +import { + HierarchicalDropdown, + type HierarchicalItem, +} from './HierarchicalDropdown'; + +/** + * Props for the DictionarySelector component + */ +export interface DictionarySelectorProps { + /** Callback when selection changes, receives selected dictionary keys and tags */ + onSelectionChange?: (selection: { + dictionaryKeys: string[]; + tags: string[]; + }) => void; + /** Initial selected dictionary keys */ + initialSelectedKeys?: string[]; + /** Additional CSS classes */ + className?: string; + /** Placeholder for search input */ + searchPlaceholder?: string; + /** Whether to show the search button */ + showSearchButton?: boolean; + /** Callback when search button is clicked */ + onSearch?: () => void; +} + +/** + * Transforms unmerged dictionaries into hierarchical items grouped by tags + */ +const transformDictionariesToHierarchicalItems = ( + dictionaries: Record +): HierarchicalItem[] => { + // Group dictionaries by tags + const tagGroups: Record = {}; + + Object.values(dictionaries).forEach((dictionaryArray) => { + dictionaryArray.forEach((dictionary) => { + if (dictionary.tags && dictionary.tags.length > 0) { + dictionary.tags.forEach((tag) => { + if (!tagGroups[tag]) { + tagGroups[tag] = []; + } + tagGroups[tag].push(dictionary); + }); + } else { + // Dictionaries without tags go to "Untagged" group + if (!tagGroups['untagged']) { + tagGroups['untagged'] = []; + } + tagGroups['untagged'].push(dictionary); + } + }); + }); + + // Transform to hierarchical items + return Object.entries(tagGroups).map(([tag, dicts]) => ({ + id: `tag-${tag}`, + label: `${tag.charAt(0).toUpperCase() + tag.slice(1)} tag`, + children: dicts.map((dict) => ({ + id: `dict-${dict.key}`, + label: dict.title || `${dict.key} (key ${dict.key})`, + data: dict, + })), + })); +}; + +/** + * DictionarySelector Component + * + * A specialized hierarchical dropdown that displays dictionaries grouped by tags. + * Uses `getUnmergedDictionaries` to fetch and organize dictionaries. + * + * Features: + * - Automatically groups dictionaries by their tags + * - Supports selecting entire tag groups or individual dictionaries + * - Search functionality across tags and dictionary names + * - Returns both selected dictionary keys and tags + * + * @example + * ```tsx + * { + * console.log('Selected dictionaries:', dictionaryKeys); + * console.log('Selected tags:', tags); + * }} + * searchPlaceholder="Search a tag or a dictionary" + * showSearchButton={true} + * /> + * ``` + */ +export const DictionarySelector: FC = ({ + onSelectionChange, + initialSelectedKeys = [], + className, + searchPlaceholder = 'Search a tag or a dictionary', + showSearchButton = false, + onSearch, +}) => { + const [items, setItems] = useState([]); + const [selectedIds, setSelectedIds] = useState([]); + + // Load dictionaries on mount + useEffect(() => { + try { + const dictionaries = getUnmergedDictionaries(); + const hierarchicalItems = + transformDictionariesToHierarchicalItems(dictionaries); + setItems(hierarchicalItems); + + // Set initial selection + if (initialSelectedKeys.length > 0) { + const initialIds = initialSelectedKeys.map((key) => `dict-${key}`); + setSelectedIds(initialIds); + } + } catch (error) { + console.error('Error loading dictionaries:', error); + setItems([]); + } + }, [initialSelectedKeys]); + + // Extract selected dictionary keys and tags from selected IDs + const selection = useMemo(() => { + const dictionaryKeys: string[] = []; + const tags: string[] = []; + + selectedIds.forEach((id) => { + if (id.startsWith('tag-')) { + // Extract tag name + const tag = id.replace('tag-', ''); + tags.push(tag); + } else if (id.startsWith('dict-')) { + // Extract dictionary key + const key = id.replace('dict-', ''); + dictionaryKeys.push(key); + } + }); + + return { dictionaryKeys, tags }; + }, [selectedIds]); + + // Notify parent of selection changes + useEffect(() => { + if (onSelectionChange) { + onSelectionChange(selection); + } + }, [selection, onSelectionChange]); + + return ( + + ); +}; diff --git a/packages/@intlayer/design-system/src/components/HierarchicalDropdown/HierarchicalDropdown.tsx b/packages/@intlayer/design-system/src/components/HierarchicalDropdown/HierarchicalDropdown.tsx new file mode 100644 index 000000000..86cbf1d88 --- /dev/null +++ b/packages/@intlayer/design-system/src/components/HierarchicalDropdown/HierarchicalDropdown.tsx @@ -0,0 +1,324 @@ +'use client'; + +import { Check, Search as SearchIcon } from 'lucide-react'; +import type { FC } from 'react'; +import { useMemo, useState } from 'react'; +import { cn } from '../../utils/cn'; +import { Button } from '../Button'; +import { Input } from '../Input'; + +/** + * Represents a hierarchical item with optional children + */ +export interface HierarchicalItem { + /** Unique identifier for the item */ + id: string; + /** Display label for the item */ + label: string; + /** Optional nested children */ + children?: HierarchicalItem[]; + /** Any additional data associated with the item */ + data?: any; +} + +/** + * Props for the HierarchicalDropdown component + */ +export interface HierarchicalDropdownProps { + /** Array of hierarchical items to display */ + items: HierarchicalItem[]; + /** Array of selected item IDs */ + selectedIds: string[]; + /** Callback when selection changes */ + onSelectionChange: (selectedIds: string[]) => void; + /** Placeholder text for the search input */ + searchPlaceholder?: string; + /** Additional CSS classes for the container */ + className?: string; + /** Whether to show the search button */ + showSearchButton?: boolean; + /** Callback when search button is clicked */ + onSearch?: () => void; +} + +/** + * Recursively gets all child IDs from an item + */ +const getAllChildIds = (item: HierarchicalItem): string[] => { + const ids: string[] = []; + + if (item.children) { + item.children.forEach((child) => { + ids.push(child.id); + ids.push(...getAllChildIds(child)); + }); + } + + return ids; +}; + +/** + * Checks if an item matches the search query + */ +const itemMatchesSearch = (item: HierarchicalItem, query: string): boolean => { + const lowerQuery = query.toLowerCase(); + const labelMatches = item.label.toLowerCase().includes(lowerQuery); + + if (labelMatches) return true; + + // Check if any children match + if (item.children) { + return item.children.some((child) => itemMatchesSearch(child, query)); + } + + return false; +}; + +/** + * Filters items based on search query + */ +const filterItems = ( + items: HierarchicalItem[], + query: string +): HierarchicalItem[] => { + if (!query.trim()) return items; + + return items + .map((item) => { + // If parent matches, include all children + if (item.label.toLowerCase().includes(query.toLowerCase())) { + return item; + } + + // If parent doesn't match, check children + if (item.children) { + const filteredChildren = filterItems(item.children, query); + if (filteredChildren.length > 0) { + return { ...item, children: filteredChildren }; + } + } + + return null; + }) + .filter((item): item is HierarchicalItem => item !== null); +}; + +/** + * Component to render a single hierarchical item + */ +interface HierarchicalItemComponentProps { + item: HierarchicalItem; + selectedIds: string[]; + onToggle: (itemId: string, isParent: boolean) => void; + level?: number; +} + +const HierarchicalItemComponent: FC = ({ + item, + selectedIds, + onToggle, + level = 0, +}) => { + const isSelected = selectedIds.includes(item.id); + const hasChildren = !!(item.children && item.children.length > 0); + + return ( +
+ {/* Parent Item */} + + + {/* Children Items */} + {hasChildren && ( +
+ {item.children!.map((child) => ( + + ))} +
+ )} +
+ ); +}; + +/** + * HierarchicalDropdown Component + * + * A dropdown component that supports hierarchical/nested items with: + * - Parent and child item selection + * - Automatic child selection when parent is selected + * - Search functionality across all levels + * - Visual checkmarks for selected items + * - Dark theme styling + * + * @example + * ```tsx + * const items = [ + * { + * id: 'parent1', + * label: 'Landing tag', + * children: [ + * { id: 'child1', label: 'Title dico (key dico)' }, + * { id: 'child2', label: 'Title dico (key dico)' }, + * ] + * } + * ]; + * + * + * ``` + */ +export const HierarchicalDropdown: FC = ({ + items, + selectedIds, + onSelectionChange, + searchPlaceholder = 'Search...', + className, + showSearchButton = false, + onSearch, +}) => { + const [searchQuery, setSearchQuery] = useState(''); + + // Filter items based on search query + const filteredItems = useMemo( + () => filterItems(items, searchQuery), + [items, searchQuery] + ); + + /** + * Handles toggling an item's selection + */ + const handleToggle = (itemId: string, isParent: boolean) => { + const isCurrentlySelected = selectedIds.includes(itemId); + + if (isParent) { + // Find the parent item + const findItem = (items: HierarchicalItem[]): HierarchicalItem | null => { + for (const item of items) { + if (item.id === itemId) return item; + if (item.children) { + const found = findItem(item.children); + if (found) return found; + } + } + return null; + }; + + const parentItem = findItem(items); + + if (parentItem) { + const childIds = getAllChildIds(parentItem); + + if (isCurrentlySelected) { + // Deselect parent and all children + const newSelectedIds = selectedIds.filter( + (id) => id !== itemId && !childIds.includes(id) + ); + onSelectionChange(newSelectedIds); + } else { + // Select parent and all children + const newSelectedIds = [ + ...selectedIds.filter( + (id) => id !== itemId && !childIds.includes(id) + ), + itemId, + ...childIds, + ]; + onSelectionChange(newSelectedIds); + } + } + } else { + // Toggle individual child item + if (isCurrentlySelected) { + onSelectionChange(selectedIds.filter((id) => id !== itemId)); + } else { + onSelectionChange([...selectedIds, itemId]); + } + } + }; + + return ( +
+ {/* Search Bar */} +
+
+ + setSearchQuery(e.target.value)} + className="w-full pr-4 pl-10" + /> +
+ + {showSearchButton && ( + + )} +
+ + {/* Items List */} +
+ {filteredItems.length > 0 ? ( + filteredItems.map((item) => ( + + )) + ) : ( +
+ No items found +
+ )} +
+
+ ); +}; diff --git a/packages/@intlayer/design-system/src/components/HierarchicalDropdown/hierarchicalDropdown.stories.tsx b/packages/@intlayer/design-system/src/components/HierarchicalDropdown/hierarchicalDropdown.stories.tsx new file mode 100644 index 000000000..a4524ab1b --- /dev/null +++ b/packages/@intlayer/design-system/src/components/HierarchicalDropdown/hierarchicalDropdown.stories.tsx @@ -0,0 +1,293 @@ +import type { Meta, StoryObj } from '@storybook/react'; +import { useState } from 'react'; +import { + HierarchicalDropdown, + type HierarchicalItem, +} from './HierarchicalDropdown'; + +/** + * HierarchicalDropdown Component Stories + * + * The HierarchicalDropdown component provides a dropdown with support for nested/hierarchical items. + * It includes search functionality, parent-child selection logic, and visual checkmarks. + * + * ## Key Features + * - **Hierarchical Structure**: Support for parent items with nested children + * - **Smart Selection**: Selecting a parent automatically selects all children + * - **Individual Selection**: Children can be selected independently + * - **Search Functionality**: Filter across both parent and child items + * - **Visual Feedback**: Checkmarks indicate selected items + * - **Dark Theme**: Consistent with the design system + * + * ## Use Cases + * - Tag selection with grouped items + * - Dictionary selection with categories + * - Multi-level category selection + * - Hierarchical filter interfaces + */ +const meta = { + title: 'Components/HierarchicalDropdown', + component: HierarchicalDropdown, + parameters: { + docs: { + description: { + component: ` +A dropdown component that supports hierarchical/nested items with intelligent selection logic. + +### Selection Behavior: +- **Parent Selection**: When a parent is selected, all its children are automatically selected +- **Child Selection**: Children can be selected individually without selecting the parent +- **Deselection**: Deselecting a parent deselects all its children + +### Search Functionality: +- Searches across both parent and child item labels +- Shows parents if any child matches the search query +- Real-time filtering as you type + +### Accessibility: +- Keyboard navigation support +- Proper button semantics +- Visual focus indicators + `, + }, + }, + }, + tags: ['autodocs'], + argTypes: { + items: { + description: 'Array of hierarchical items to display', + control: 'object', + }, + selectedIds: { + description: 'Array of selected item IDs', + control: 'object', + }, + onSelectionChange: { + description: 'Callback when selection changes', + action: 'selectionChanged', + }, + searchPlaceholder: { + description: 'Placeholder text for the search input', + control: 'text', + }, + showSearchButton: { + description: 'Whether to show the search button', + control: 'boolean', + }, + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +// Sample data matching the image +const sampleItems: HierarchicalItem[] = [ + { + id: 'landing-tag', + label: 'Landing tag', + children: [ + { id: 'landing-title-1', label: 'Title dico (key dico)' }, + { id: 'landing-title-2', label: 'Title dico (key dico)' }, + { id: 'landing-title-3', label: 'Title dico (key dico)' }, + ], + }, + { + id: 'dashboard-tag', + label: 'Dashboard tag', + children: [ + { id: 'dashboard-title-1', label: 'Title dico (key dico)' }, + { id: 'dashboard-title-2', label: 'Title dico (key dico)' }, + { id: 'dashboard-title-3', label: 'Title dico (key dico)' }, + ], + }, +]; + +/** + * Basic example with hierarchical items + */ +export const Default: Story = { + render: (args) => { + const [selectedIds, setSelectedIds] = useState([ + 'landing-tag', + 'landing-title-1', + 'landing-title-2', + 'landing-title-3', + ]); + + return ( +
+ +
+ ); + }, + args: { + searchPlaceholder: 'Search a tag or a dictionary', + showSearchButton: true, + }, +}; + +/** + * Example with no items selected initially + */ +export const NoSelection: Story = { + render: (args) => { + const [selectedIds, setSelectedIds] = useState([]); + + return ( +
+ +
+ ); + }, + args: { + searchPlaceholder: 'Search a tag or a dictionary', + showSearchButton: true, + }, +}; + +/** + * Example with partial child selection (no parent selected) + */ +export const PartialSelection: Story = { + render: (args) => { + const [selectedIds, setSelectedIds] = useState([ + 'landing-title-1', + 'dashboard-title-2', + ]); + + return ( +
+ +
+ ); + }, + args: { + searchPlaceholder: 'Search a tag or a dictionary', + showSearchButton: true, + }, +}; + +/** + * Example with deeply nested items + */ +export const DeeplyNested: Story = { + render: (args) => { + const [selectedIds, setSelectedIds] = useState([]); + + const deepItems: HierarchicalItem[] = [ + { + id: 'category-1', + label: 'Category 1', + children: [ + { + id: 'subcategory-1-1', + label: 'Subcategory 1.1', + children: [ + { id: 'item-1-1-1', label: 'Item 1.1.1' }, + { id: 'item-1-1-2', label: 'Item 1.1.2' }, + ], + }, + { id: 'subcategory-1-2', label: 'Subcategory 1.2' }, + ], + }, + { + id: 'category-2', + label: 'Category 2', + children: [ + { id: 'subcategory-2-1', label: 'Subcategory 2.1' }, + { id: 'subcategory-2-2', label: 'Subcategory 2.2' }, + ], + }, + ]; + + return ( +
+ +
+ ); + }, + args: { + searchPlaceholder: 'Search categories...', + showSearchButton: false, + }, +}; + +/** + * Example with many items + */ +export const ManyItems: Story = { + render: (args) => { + const [selectedIds, setSelectedIds] = useState([]); + + const manyItems: HierarchicalItem[] = Array.from( + { length: 10 }, + (_, i) => ({ + id: `parent-${i}`, + label: `Parent Item ${i + 1}`, + children: Array.from({ length: 5 }, (_, j) => ({ + id: `child-${i}-${j}`, + label: `Child Item ${i + 1}.${j + 1}`, + })), + }) + ); + + return ( +
+ +
+ ); + }, + args: { + searchPlaceholder: 'Search items...', + showSearchButton: false, + }, +}; + +/** + * Example without search button + */ +export const WithoutSearchButton: Story = { + render: (args) => { + const [selectedIds, setSelectedIds] = useState([]); + + return ( +
+ +
+ ); + }, + args: { + searchPlaceholder: 'Search a tag or a dictionary', + showSearchButton: false, + }, +}; diff --git a/packages/@intlayer/design-system/src/components/HierarchicalDropdown/index.ts b/packages/@intlayer/design-system/src/components/HierarchicalDropdown/index.ts new file mode 100644 index 000000000..ab3faf577 --- /dev/null +++ b/packages/@intlayer/design-system/src/components/HierarchicalDropdown/index.ts @@ -0,0 +1,7 @@ +export type { DictionarySelectorProps } from './DictionarySelector'; +export { DictionarySelector } from './DictionarySelector'; +export type { + HierarchicalDropdownProps, + HierarchicalItem, +} from './HierarchicalDropdown'; +export { HierarchicalDropdown } from './HierarchicalDropdown'; diff --git a/packages/@intlayer/design-system/src/components/Link/Link.tsx b/packages/@intlayer/design-system/src/components/Link/Link.tsx index efa76f3a5..1edb0c678 100644 --- a/packages/@intlayer/design-system/src/components/Link/Link.tsx +++ b/packages/@intlayer/design-system/src/components/Link/Link.tsx @@ -1,5 +1,5 @@ +import type { LocalesValues } from '@intlayer/config/client'; import { getLocalizedUrl } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { cva, type VariantProps } from 'class-variance-authority'; import { ExternalLink } from 'lucide-react'; import type { AnchorHTMLAttributes, DetailedHTMLProps, FC } from 'react'; diff --git a/packages/@intlayer/design-system/src/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.tsx b/packages/@intlayer/design-system/src/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.tsx index 0bc05a0d3..9164325ea 100644 --- a/packages/@intlayer/design-system/src/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.tsx +++ b/packages/@intlayer/design-system/src/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.tsx @@ -1,7 +1,7 @@ 'use client'; +import { Locales, type LocalesValues } from '@intlayer/config/client'; import { getHTMLTextDir, getLocaleName } from '@intlayer/core'; -import { Locales, type LocalesValues } from '@intlayer/types'; import Fuse, { type IFuseOptions } from 'fuse.js'; import { Check, Globe, MoveVertical } from 'lucide-react'; import { type FC, useCallback, useMemo, useRef, useState } from 'react'; diff --git a/packages/@intlayer/design-system/src/components/LocaleSwitcherDropDown/LocaleSwitcher.tsx b/packages/@intlayer/design-system/src/components/LocaleSwitcherDropDown/LocaleSwitcher.tsx index 2c4fdfc8c..13693e1df 100644 --- a/packages/@intlayer/design-system/src/components/LocaleSwitcherDropDown/LocaleSwitcher.tsx +++ b/packages/@intlayer/design-system/src/components/LocaleSwitcherDropDown/LocaleSwitcher.tsx @@ -1,7 +1,7 @@ 'use client'; +import { Locales } from '@intlayer/config/client'; import { getHTMLTextDir, getLocaleName } from '@intlayer/core'; -import { Locales } from '@intlayer/types'; import Fuse, { type IFuseOptions } from 'fuse.js'; import { MoveVertical } from 'lucide-react'; import { type FC, useCallback, useMemo, useRef, useState } from 'react'; @@ -38,7 +38,7 @@ export const LocaleSwitcher: FC = ({ panelProps, }) => { let localeName = 'Select a locale'; - const { switchTo, searchInput, languageListLabel } = + const { switchTo, searchInput, localeSwitcherLabel, languageListLabel } = useIntlayer('locale-switcher'); const inputRef = useRef(null); diff --git a/packages/@intlayer/design-system/src/components/MarkDownRender/MarkDownRender.tsx b/packages/@intlayer/design-system/src/components/MarkDownRender/MarkDownRender.tsx index 68b26f949..44f78eb2e 100644 --- a/packages/@intlayer/design-system/src/components/MarkDownRender/MarkDownRender.tsx +++ b/packages/@intlayer/design-system/src/components/MarkDownRender/MarkDownRender.tsx @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import type { ComponentProps, ComponentPropsWithoutRef, FC } from 'react'; import type { BundledLanguage } from 'shiki'; import { cn } from '../../utils/cn'; diff --git a/packages/@intlayer/design-system/src/components/index.ts b/packages/@intlayer/design-system/src/components/index.ts index 50485a229..daafd5fa1 100644 --- a/packages/@intlayer/design-system/src/components/index.ts +++ b/packages/@intlayer/design-system/src/components/index.ts @@ -21,6 +21,7 @@ export * from './Form'; export * from './Headers'; export * from './HeightResizer'; export * from './HideShow'; +export * from './HierarchicalDropdown'; export * from './IDE'; export * from './InformationTag'; export * from './Input'; diff --git a/packages/@intlayer/design-system/src/hooks/reactQuery.ts b/packages/@intlayer/design-system/src/hooks/reactQuery.ts index 01b5775e8..be3d45e6f 100644 --- a/packages/@intlayer/design-system/src/hooks/reactQuery.ts +++ b/packages/@intlayer/design-system/src/hooks/reactQuery.ts @@ -1,24 +1,8 @@ 'use client'; -import type {} from '@better-fetch/fetch'; // Import for type inference import type { - AddDictionaryBody, - AddNewAccessKeyBody, - AddOrganizationBody, - AddOrganizationMemberBody, - AddProjectBody, - AddTagBody, - AskDocQuestionBody, - AuditContentDeclarationBody, - AuditContentDeclarationFieldBody, - AuditContentDeclarationMetadataBody, - AuditTagBody, - AutocompleteBody, - CreateUserBody, - DeleteAccessKeyBody, - DeleteDictionaryParam, - DeleteTagParams, GetCheckoutSessionBody, + GetDictionariesKeysResult, GetDictionariesParams, GetDictionaryParams, GetDictionaryQuery, @@ -28,32 +12,19 @@ import type { GetProjectsParams, GetTagsParams, GetUsersParams, - NewsletterSubscriptionBody, - NewsletterUnsubscriptionBody, - PushDictionariesBody, - RefreshAccessKeyBody, SearchDocUtilParams, - SelectOrganizationParam, - SelectProjectParam, - TranslateJSONBody, - UpdateDictionaryBody, - UpdateOrganizationBody, - UpdateOrganizationMembersBody, - UpdateProjectBody, - UpdateProjectMembersBody, - UpdateUserBody, } from '@intlayer/backend'; import { useConfiguration } from '@intlayer/editor-react'; import { + // keepPreviousData, + type QueryKey, type UseQueryOptions, + type UseQueryResult, useMutation, useQuery, useQueryClient, } from '@tanstack/react-query'; -import type {} from 'better-auth'; // Import for type inference -// @ts-ignore -import type { WriteContentDeclarationBody } from 'intlayer-editor'; -import type { AuthAPI } from '../libs/auth'; +import type { getAuthAPI } from '../libs/auth'; import { useAuth } from './useAuth'; import { useIntlayerAuth, useIntlayerOAuth } from './useIntlayerAPI'; @@ -101,13 +72,18 @@ const useAuthEnable = ({ }; }; -export const useAppQuery = ( - options: UseQueryOptions & { +export const useAppQuery = < + TQueryFnData, + TError, + TData = TQueryFnData, + TQueryKey extends QueryKey = QueryKey, +>( + options: UseQueryOptions & { requireUser?: boolean; requireProject?: boolean; requireOrganization?: boolean; } -) => { +): UseQueryResult => { const { requireUser, requireProject, requireOrganization, ...rest } = options; const { enable } = useAuthEnable({ requireUser, @@ -116,11 +92,11 @@ export const useAppQuery = ( }); const result = useQuery({ - enabled: rest?.enabled === false ? false : enable, + enabled: (rest as any).enabled === false ? false : enable, ...rest, - }); + } as any); - return result; + return result as unknown as UseQueryResult; }; // Removed unused useEditorMutation @@ -135,8 +111,9 @@ export const useLogin = () => { return useMutation({ mutationKey: ['login'], - mutationFn: (args: Parameters) => - intlayerAuth.signInEmail(...args), + mutationFn: ( + ...args: Parameters['signInEmail']> + ) => intlayerAuth.signInEmail(...args), onSuccess: (data) => { const session = queryClient.getQueryData(['session']); @@ -155,8 +132,9 @@ export const useGetVerifyEmailStatus = () => { return useMutation({ mutationKey: ['getVerifyEmailStatus'], - mutationFn: (args: Parameters) => - intlayerAuth.verifyEmailSession(...args), + mutationFn: ( + args: Parameters['verifyEmailSession']> + ) => intlayerAuth.verifyEmailSession(...args), }); }; @@ -165,8 +143,9 @@ export const useRegister = () => { return useMutation({ mutationKey: ['register'], - mutationFn: (args: Parameters) => - intlayerAuth.signUpEmail(...args), + mutationFn: ( + ...args: Parameters['signUpEmail']> + ) => intlayerAuth.signUpEmail(...args), meta: { resetQueries: [['session']], }, @@ -178,7 +157,9 @@ export const useLogout = () => { return useMutation({ mutationKey: ['logout'], - mutationFn: () => intlayerAuth.signOut(), + mutationFn: ( + ...args: Parameters['signOut']> + ) => intlayerAuth.signOut(...args), meta: { resetQueries: [ ['session'], @@ -197,8 +178,11 @@ export const useChangePassword = () => { return useMutation({ mutationKey: ['changePassword'], - mutationFn: (args: Parameters) => - intlayerAuth.changePasswordSession(...args), + mutationFn: ( + ...args: Parameters< + ReturnType['changePasswordSession'] + > + ) => intlayerAuth.changePasswordSession(...args), }); }; @@ -207,8 +191,11 @@ export const useAskResetPassword = () => { return useMutation({ mutationKey: ['askResetPassword'], - mutationFn: (args: Parameters) => - intlayerAuth.requestPasswordResetSession(...args), + mutationFn: ( + ...args: Parameters< + ReturnType['requestPasswordResetSession'] + > + ) => intlayerAuth.requestPasswordResetSession(...args), }); }; @@ -217,8 +204,9 @@ export const useResetPassword = () => { return useMutation({ mutationKey: ['resetPassword'], - mutationFn: (args: Parameters) => - intlayerAuth.resetPassword(...args), + mutationFn: ( + ...args: Parameters['resetPassword']> + ) => intlayerAuth.resetPassword(...args), }); }; @@ -227,8 +215,9 @@ export const useVerifyEmail = () => { return useMutation({ mutationKey: ['verifyEmail'], - mutationFn: (args: Parameters) => - intlayerAuth.verifyEmailSession(...args), + mutationFn: ( + ...args: Parameters['verifyEmailSession']> + ) => intlayerAuth.verifyEmailSession(...args), }); }; @@ -237,8 +226,9 @@ export const useGetUserByAccount = () => { return useMutation({ mutationKey: ['user'], - mutationFn: (args: Parameters) => - intlayerAuth.accountInfo(...args), + mutationFn: ( + ...args: Parameters['accountInfo']> + ) => intlayerAuth.accountInfo(...args), }); }; @@ -276,7 +266,7 @@ export const useCreateUser = () => { return useMutation({ mutationKey: ['users'], - mutationFn: (args: CreateUserBody) => intlayerAuth.user.createUser(args), + mutationFn: intlayerAuth.user.updateUser, }); }; @@ -285,7 +275,7 @@ export const useUpdateUser = () => { return useMutation({ mutationKey: ['users'], - mutationFn: (args: UpdateUserBody) => intlayerOAuth.user.updateUser(args), + mutationFn: intlayerOAuth.user.updateUser, }); }; @@ -294,7 +284,7 @@ export const useDeleteUser = () => { return useMutation({ mutationKey: ['users'], - mutationFn: (args: string) => intlayerOAuth.user.deleteUser(args), + mutationFn: intlayerOAuth.user.deleteUser, meta: { invalidateQueries: [['users']], }, @@ -322,8 +312,7 @@ export const useAddOrganization = () => { return useMutation({ mutationKey: ['organizations'], - mutationFn: (args: AddOrganizationBody) => - intlayerOAuth.organization.addOrganization(args), + mutationFn: intlayerOAuth.organization.addOrganization, }); }; @@ -332,8 +321,7 @@ export const useUpdateOrganization = () => { return useMutation({ mutationKey: ['organizations'], - mutationFn: (args: UpdateOrganizationBody) => - intlayerOAuth.organization.updateOrganization(args), + mutationFn: intlayerOAuth.organization.updateOrganization, }); }; @@ -342,8 +330,7 @@ export const useUpdateOrganizationMembers = () => { return useMutation({ mutationKey: ['organizations'], - mutationFn: (args: UpdateOrganizationMembersBody) => - intlayerOAuth.organization.updateOrganizationMembers(args), + mutationFn: intlayerOAuth.organization.updateOrganizationMembers, meta: { invalidateQueries: [['organizations'], ['users']], }, @@ -378,8 +365,7 @@ export const useAddOrganizationMember = () => { return useMutation({ mutationKey: ['organizations'], - mutationFn: (args: AddOrganizationMemberBody) => - intlayerOAuth.organization.addOrganizationMember(args), + mutationFn: intlayerOAuth.organization.addOrganizationMember, meta: { invalidateQueries: [['organizations']], }, @@ -391,7 +377,7 @@ export const useDeleteOrganization = () => { return useMutation({ mutationKey: ['organizations'], - mutationFn: () => intlayerOAuth.organization.deleteOrganization(), + mutationFn: intlayerOAuth.organization.deleteOrganization, meta: { invalidateQueries: [['organizations']], }, @@ -404,8 +390,7 @@ export const useSelectOrganization = () => { return useMutation({ mutationKey: ['session-organizations'], - mutationFn: (args: SelectOrganizationParam) => - intlayerOAuth.organization.selectOrganization(args), + mutationFn: intlayerOAuth.organization.selectOrganization, meta: { invalidateQueries: [ ['organizations'], @@ -435,7 +420,7 @@ export const useUnselectOrganization = () => { return useMutation({ mutationKey: ['session-organizations'], - mutationFn: () => intlayerOAuth.organization.unselectOrganization(), + mutationFn: intlayerOAuth.organization.unselectOrganization, meta: { resetQueries: [ ['organizations'], @@ -486,8 +471,7 @@ export const useAddProject = () => { return useMutation({ mutationKey: ['projects'], - mutationFn: (args: AddProjectBody) => - intlayerOAuth.project.addProject(args), + mutationFn: intlayerOAuth.project.addProject, meta: { invalidateQueries: [['projects']], }, @@ -499,8 +483,7 @@ export const useUpdateProject = () => { return useMutation({ mutationKey: ['projects'], - mutationFn: (args: UpdateProjectBody) => - intlayerOAuth.project.updateProject(args), + mutationFn: intlayerOAuth.project.updateProject, meta: { invalidateQueries: [['projects']], }, @@ -512,8 +495,7 @@ export const useUpdateProjectMembers = () => { return useMutation({ mutationKey: ['projects'], - mutationFn: (args: UpdateProjectMembersBody) => - intlayerOAuth.project.updateProjectMembers(args), + mutationFn: intlayerOAuth.project.updateProjectMembers, meta: { invalidateQueries: [['projects']], }, @@ -525,7 +507,7 @@ export const useDeleteProject = () => { return useMutation({ mutationKey: ['projects'], - mutationFn: () => intlayerOAuth.project.deleteProject(), + mutationFn: intlayerOAuth.project.deleteProject, meta: { invalidateQueries: [['projects']], }, @@ -538,8 +520,7 @@ export const useSelectProject = () => { return useMutation({ mutationKey: ['session-projects'], - mutationFn: (args: SelectProjectParam) => - intlayerOAuth.project.selectProject(args), + mutationFn: intlayerOAuth.project.selectProject, meta: { invalidateQueries: [ ['projects'], @@ -568,7 +549,7 @@ export const useUnselectProject = () => { return useMutation({ mutationKey: ['session-projects'], - mutationFn: () => intlayerOAuth.project.unselectProject(), + mutationFn: intlayerOAuth.project.unselectProject, meta: { resetQueries: [ ['projects'], @@ -596,8 +577,7 @@ export const useAddNewAccessKey = () => { return useMutation({ mutationKey: ['projects'], - mutationFn: (args: AddNewAccessKeyBody) => - intlayerOAuth.project.addNewAccessKey(args), + mutationFn: intlayerOAuth.project.addNewAccessKey, meta: { invalidateQueries: [['projects']], }, @@ -609,8 +589,7 @@ export const useDeleteAccessKey = () => { return useMutation({ mutationKey: ['projects'], - mutationFn: (args: DeleteAccessKeyBody) => - intlayerOAuth.project.deleteAccessKey(args), + mutationFn: intlayerOAuth.project.deleteAccessKey, meta: { invalidateQueries: [['projects']], }, @@ -622,8 +601,7 @@ export const useRefreshAccessKey = () => { return useMutation({ mutationKey: ['projects'], - mutationFn: (args: RefreshAccessKeyBody) => - intlayerOAuth.project.refreshAccessKey(args), + mutationFn: intlayerOAuth.project.refreshAccessKey, meta: { invalidateQueries: [['projects']], }, @@ -652,12 +630,14 @@ export const useGetDictionaries = ( }); }; -export const useGetDictionariesKeys = (options?: Partial) => { +export const useGetDictionariesKeys = ( + options?: Partial> +) => { const intlayerOAuth = useIntlayerOAuth(); return useAppQuery({ - queryKey: ['dictionariesKeys'], - queryFn: () => intlayerOAuth.dictionary.getDictionariesKeys(), + queryKey: ['dictionariesKeys', options], + queryFn: intlayerOAuth.dictionary.getDictionariesKeys, requireUser: true, requireOrganization: true, requireProject: true, @@ -690,8 +670,7 @@ export const useAddDictionary = () => { return useMutation({ mutationKey: ['dictionaries'], - mutationFn: (args: AddDictionaryBody) => - intlayerOAuth.dictionary.addDictionary(args), + mutationFn: intlayerOAuth.dictionary.addDictionary, meta: { invalidateQueries: [['dictionaries'], ['dictionariesKeys']], }, @@ -703,8 +682,7 @@ export const usePushDictionaries = () => { return useMutation({ mutationKey: ['dictionaries'], - mutationFn: (args: PushDictionariesBody) => - intlayerOAuth.dictionary.pushDictionaries(args), + mutationFn: intlayerOAuth.dictionary.pushDictionaries, meta: { invalidateQueries: [['dictionaries'], ['dictionariesKeys']], }, @@ -716,8 +694,7 @@ export const useUpdateDictionary = () => { return useMutation({ mutationKey: ['dictionaries'], - mutationFn: (args: UpdateDictionaryBody) => - intlayerOAuth.dictionary.updateDictionary(args), + mutationFn: intlayerOAuth.dictionary.updateDictionary, meta: { invalidateQueries: [['dictionaries'], ['dictionariesKeys']], }, @@ -729,8 +706,7 @@ export const useDeleteDictionary = () => { return useMutation({ mutationKey: ['dictionaries'], - mutationFn: (args: DeleteDictionaryParam) => - intlayerOAuth.dictionary.deleteDictionary(args), + mutationFn: intlayerOAuth.dictionary.deleteDictionary, meta: { invalidateQueries: [['dictionaries'], ['dictionariesKeys']], }, @@ -763,7 +739,7 @@ export const useAddTag = () => { return useMutation({ mutationKey: ['tags'], - mutationFn: (args: AddTagBody) => intlayerOAuth.tag.addTag(args), + mutationFn: intlayerOAuth.tag.addTag, meta: { invalidateQueries: [['tags']], }, @@ -788,7 +764,7 @@ export const useDeleteTag = () => { return useMutation({ mutationKey: ['tags'], - mutationFn: (args: DeleteTagParams) => intlayerOAuth.tag.deleteTag(args), + mutationFn: intlayerOAuth.tag.deleteTag, meta: { invalidateQueries: [['tags']], }, @@ -833,7 +809,7 @@ export const useCancelSubscription = () => { return useMutation({ mutationKey: ['subscription'], - mutationFn: () => intlayerOAuth.stripe.cancelSubscription(), + mutationFn: intlayerOAuth.stripe.cancelSubscription, meta: { invalidateQueries: [['session'], ['subscription']], }, @@ -849,8 +825,7 @@ export const useTranslateJSONDeclaration = () => { return useMutation({ mutationKey: ['ai-translateJSON'], - mutationFn: (args: TranslateJSONBody) => - intlayerOAuth.ai.translateJSON(args), + mutationFn: intlayerOAuth.ai.translateJSON, }); }; @@ -859,8 +834,7 @@ export const useAuditContentDeclaration = () => { return useMutation({ mutationKey: ['ai-auditContentDeclaration'], - mutationFn: (args: AuditContentDeclarationBody) => - intlayerOAuth.ai.auditContentDeclaration(args), + mutationFn: intlayerOAuth.ai.auditContentDeclaration, }); }; @@ -869,8 +843,7 @@ export const useAuditContentDeclarationMetadata = () => { return useMutation({ mutationKey: ['ai-auditContentDeclarationMetadata'], - mutationFn: (args: AuditContentDeclarationMetadataBody) => - intlayerOAuth.ai.auditContentDeclarationMetadata(args), + mutationFn: intlayerOAuth.ai.auditContentDeclarationMetadata, }); }; @@ -879,8 +852,7 @@ export const useAuditContentDeclarationField = () => { return useMutation({ mutationKey: ['ai-auditContentDeclarationField'], - mutationFn: (args: AuditContentDeclarationFieldBody) => - intlayerOAuth.ai.auditContentDeclarationField(args), + mutationFn: intlayerOAuth.ai.auditContentDeclarationField, }); }; @@ -889,7 +861,7 @@ export const useAuditTag = () => { return useMutation({ mutationKey: ['ai-auditTag'], - mutationFn: (args: AuditTagBody) => intlayerOAuth.ai.auditTag(args), + mutationFn: intlayerOAuth.ai.auditTag, }); }; @@ -898,8 +870,7 @@ export const useAskDocQuestion = () => { return useMutation({ mutationKey: [], - mutationFn: (args?: AskDocQuestionBody) => - intlayerOAuth.ai.askDocQuestion(args), + mutationFn: intlayerOAuth.ai.askDocQuestion, }); }; @@ -908,8 +879,7 @@ export const useAutocomplete = () => { return useMutation({ mutationKey: ['ai-autocomplete'], - mutationFn: (args?: AutocompleteBody) => - intlayerOAuth.ai.autocomplete(args), + mutationFn: intlayerOAuth.ai.autocomplete, }); }; @@ -973,8 +943,7 @@ export const useSubscribeToNewsletter = () => { return useMutation({ mutationKey: ['newsletter'], - mutationFn: (args: NewsletterSubscriptionBody) => - intlayerOAuth.newsletter.subscribeToNewsletter(args), + mutationFn: intlayerOAuth.newsletter.subscribeToNewsletter, }); }; @@ -983,8 +952,7 @@ export const useUnsubscribeFromNewsletter = () => { return useMutation({ mutationKey: ['newsletter'], - mutationFn: (args: NewsletterUnsubscriptionBody) => - intlayerOAuth.newsletter.unsubscribeFromNewsletter(args), + mutationFn: intlayerOAuth.newsletter.unsubscribeFromNewsletter, }); }; @@ -993,7 +961,7 @@ export const useGetNewsletterStatus = () => { return useMutation({ mutationKey: ['newsletter'], - mutationFn: () => intlayerOAuth.newsletter.getNewsletterStatus(), + mutationFn: intlayerOAuth.newsletter.getNewsletterStatus, }); }; @@ -1006,7 +974,7 @@ export const useGetEditorDictionaries = () => { return useQuery({ queryKey: ['editor', 'dictionaries'], - queryFn: () => intlayerOAuth.editor.getDictionaries(), + queryFn: intlayerOAuth.editor.getDictionaries, }); }; @@ -1015,7 +983,6 @@ export const useWriteDictionary = () => { return useMutation({ mutationKey: ['editor', 'dictionaries'], - mutationFn: (args: WriteContentDeclarationBody) => - intlayerOAuth.editor.writeDictionary(args), + mutationFn: intlayerOAuth.editor.writeDictionary, }); }; diff --git a/packages/@intlayer/design-system/src/hooks/useAuth/useAuth.ts b/packages/@intlayer/design-system/src/hooks/useAuth/useAuth.ts index a576fd650..3ff289531 100644 --- a/packages/@intlayer/design-system/src/hooks/useAuth/useAuth.ts +++ b/packages/@intlayer/design-system/src/hooks/useAuth/useAuth.ts @@ -1,7 +1,7 @@ 'use client'; import type { OAuth2Token, SessionAPI } from '@intlayer/backend'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { useOAuth2 } from './useOAuth2'; import { useSession } from './useSession'; diff --git a/packages/@intlayer/design-system/src/hooks/useAuth/useOAuth2.ts b/packages/@intlayer/design-system/src/hooks/useAuth/useOAuth2.ts index f0ac1c55f..3d87ce036 100644 --- a/packages/@intlayer/design-system/src/hooks/useAuth/useOAuth2.ts +++ b/packages/@intlayer/design-system/src/hooks/useAuth/useOAuth2.ts @@ -2,8 +2,8 @@ import { getOAuthAPI } from '@intlayer/api'; import defaultConfiguration from '@intlayer/config/built'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { useConfiguration } from '@intlayer/editor-react'; -import type { IntlayerConfig } from '@intlayer/types'; import { useQuery } from '@tanstack/react-query'; export const useOAuth2 = (intlayerConfiguration?: IntlayerConfig) => { diff --git a/packages/@intlayer/design-system/src/hooks/useAuth/useSession.ts b/packages/@intlayer/design-system/src/hooks/useAuth/useSession.ts index de888776f..162ea35a4 100644 --- a/packages/@intlayer/design-system/src/hooks/useAuth/useSession.ts +++ b/packages/@intlayer/design-system/src/hooks/useAuth/useSession.ts @@ -2,8 +2,8 @@ import type { SessionAPI } from '@intlayer/backend'; import defaultConfiguration from '@intlayer/config/built'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { useConfiguration } from '@intlayer/editor-react'; -import type { IntlayerConfig } from '@intlayer/types'; import { useQuery } from '@tanstack/react-query'; import { getAuthAPI } from '../../libs/auth'; import { useQueryClient } from '../reactQuery'; diff --git a/packages/@intlayer/design-system/src/hooks/useIntlayerAPI.ts b/packages/@intlayer/design-system/src/hooks/useIntlayerAPI.ts index 97b7dc1ed..584a2dd6a 100644 --- a/packages/@intlayer/design-system/src/hooks/useIntlayerAPI.ts +++ b/packages/@intlayer/design-system/src/hooks/useIntlayerAPI.ts @@ -3,8 +3,8 @@ import { getIntlayerAPI, type IntlayerAPI, } from '@intlayer/api'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { useConfiguration } from '@intlayer/editor-react'; -import type { IntlayerConfig } from '@intlayer/types'; import { type AuthAPI, getAuthAPI } from '../libs/auth'; import { useAuth } from './useAuth'; diff --git a/packages/@intlayer/design-system/src/hooks/useUser/index.ts b/packages/@intlayer/design-system/src/hooks/useUser/index.ts index 7f4815b8d..6b709811f 100644 --- a/packages/@intlayer/design-system/src/hooks/useUser/index.ts +++ b/packages/@intlayer/design-system/src/hooks/useUser/index.ts @@ -16,7 +16,7 @@ export const useUser = () => { const logoutHandle = async () => { setSession(null); - logout(); + logout({}); }; return { diff --git a/packages/@intlayer/design-system/src/libs/auth.ts b/packages/@intlayer/design-system/src/libs/auth.ts index 02fb20655..fc32e9421 100644 --- a/packages/@intlayer/design-system/src/libs/auth.ts +++ b/packages/@intlayer/design-system/src/libs/auth.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { createAuthClient } from 'better-auth/client'; type AuthClient = ReturnType; @@ -34,7 +34,7 @@ export interface AuthAPI { export const getAuthAPI = (intlayerConfig?: IntlayerConfig): AuthAPI => { const backendURL = - intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL; + intlayerConfig?.editor?.backendURL ?? configuration.editor?.backendURL; if (!backendURL) { throw new Error( diff --git a/packages/@intlayer/design-system/tsconfig.json b/packages/@intlayer/design-system/tsconfig.json index da5f8970b..48611fb59 100644 --- a/packages/@intlayer/design-system/tsconfig.json +++ b/packages/@intlayer/design-system/tsconfig.json @@ -6,7 +6,7 @@ "useDefineForClassFields": true, "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", - "skipLibCheck": true, + "skipLibCheck": false, "baseUrl": ".", /* Bundler mode */ diff --git a/packages/@intlayer/dictionaries-entry/package.json b/packages/@intlayer/dictionaries-entry/package.json index fb4c2402e..e2978e0ba 100644 --- a/packages/@intlayer/dictionaries-entry/package.json +++ b/packages/@intlayer/dictionaries-entry/package.json @@ -60,7 +60,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -69,8 +69,8 @@ "process-files": "ts-node src/transpiler/processFilesCLI.ts --dir $npm_config_dir --extension $npm_config_extension --no-node-snapshot", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/config": "workspace:*" @@ -80,16 +80,21 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*" + "intlayer": "workspace:*" + }, + "peerDependenciesMeta": { + "intlayer": { + "optional": true + } }, - "engines": { "node": ">=14.18" }, diff --git a/packages/@intlayer/dictionaries-entry/src/index.ts b/packages/@intlayer/dictionaries-entry/src/index.ts index 22b26b3bd..588fe1969 100644 --- a/packages/@intlayer/dictionaries-entry/src/index.ts +++ b/packages/@intlayer/dictionaries-entry/src/index.ts @@ -6,10 +6,20 @@ import { existsSync } from 'node:fs'; import { join } from 'node:path'; -import { clearModuleCache, getConfiguration } from '@intlayer/config'; -import type { DictionaryRegistry, IntlayerConfig } from '@intlayer/types'; +import { + clearModuleCache, + getConfiguration, + type IntlayerConfig, +} from '@intlayer/config'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector } from 'intlayer'; -type GetDictionaries = (configuration?: IntlayerConfig) => DictionaryRegistry; +export type Dictionaries = Record< + IntlayerDictionaryTypesConnector['key'], + IntlayerDictionaryTypesConnector +>; + +type GetDictionaries = (configuration?: IntlayerConfig) => Dictionaries; export const getDictionaries: GetDictionaries = ( configuration = getConfiguration() @@ -27,5 +37,8 @@ export const getDictionaries: GetDictionaries = ( dictionaries = build.require(dictionariesPath); } - return (dictionaries ?? {}) as DictionaryRegistry; + return (dictionaries ?? {}) as Record< + IntlayerDictionaryTypesConnector['key'], + IntlayerDictionaryTypesConnector + >; }; diff --git a/packages/@intlayer/dictionaries-entry/tsconfig.types.json b/packages/@intlayer/dictionaries-entry/tsconfig.types.json index 058dc70b9..81044b650 100644 --- a/packages/@intlayer/dictionaries-entry/tsconfig.types.json +++ b/packages/@intlayer/dictionaries-entry/tsconfig.types.json @@ -1,10 +1,11 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", + "isolatedDeclarations": true, "outDir": "dist/types", "baseUrl": "src" } diff --git a/packages/@intlayer/dynamic-dictionaries-entry/package.json b/packages/@intlayer/dynamic-dictionaries-entry/package.json index 4b0a618a0..27a6c6219 100644 --- a/packages/@intlayer/dynamic-dictionaries-entry/package.json +++ b/packages/@intlayer/dynamic-dictionaries-entry/package.json @@ -60,7 +60,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -69,8 +69,8 @@ "process-files": "ts-node src/transpiler/processFilesCLI.ts --dir $npm_config_dir --extension $npm_config_extension --no-node-snapshot", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/config": "workspace:*" @@ -80,15 +80,20 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", - "@intlayer/core": "workspace:*" + "intlayer": "workspace:*" + }, + "peerDependenciesMeta": { + "intlayer": { + "optional": true + } }, "engines": { "node": ">=14.18" diff --git a/packages/@intlayer/dynamic-dictionaries-entry/src/index.ts b/packages/@intlayer/dynamic-dictionaries-entry/src/index.ts index bb162ab98..6f7f2c025 100644 --- a/packages/@intlayer/dynamic-dictionaries-entry/src/index.ts +++ b/packages/@intlayer/dynamic-dictionaries-entry/src/index.ts @@ -1,3 +1,5 @@ +// @ts-nocheck intlayer declared for module augmentation + /** * @intlayer/dynamic-dictionaries-entry is a package that only returns the dynamic dictionary entry file. * Using an external package allow to alias it in the bundle configuration (such as webpack). @@ -6,16 +8,19 @@ import { existsSync } from 'node:fs'; import { join } from 'node:path'; -import { clearModuleCache, getConfiguration } from '@intlayer/config'; +import { + clearModuleCache, + getConfiguration, + type IntlayerConfig, +} from '@intlayer/config'; import type { Dictionary, - DictionaryKeys, - IntlayerConfig, + IntlayerDictionaryTypesConnector, LanguageContent, -} from '@intlayer/types'; +} from 'intlayer'; export type DynamicDictionaries = Record< - DictionaryKeys, + IntlayerDictionaryTypesConnector['key'], LanguageContent >; @@ -31,7 +36,10 @@ export const getDynamicDictionaries: GetDynamicDictionaries = ( // Always use cjs for dictionaries entry as it uses require const dictionariesPath = join(content.mainDir, `dynamic_dictionaries.cjs`); - let dictionaries: Record> = {}; + let dictionaries: Record< + IntlayerDictionaryTypesConnector['key'], + LanguageContent + > = {}; if (existsSync(dictionariesPath)) { // Clear cache for dynamic_dictionaries.cjs and all its dependencies (JSON files) diff --git a/packages/@intlayer/dynamic-dictionaries-entry/tsconfig.types.json b/packages/@intlayer/dynamic-dictionaries-entry/tsconfig.types.json index 058dc70b9..81044b650 100644 --- a/packages/@intlayer/dynamic-dictionaries-entry/tsconfig.types.json +++ b/packages/@intlayer/dynamic-dictionaries-entry/tsconfig.types.json @@ -1,10 +1,11 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", + "isolatedDeclarations": true, "outDir": "dist/types", "baseUrl": "src" } diff --git a/packages/@intlayer/editor-react/package.json b/packages/@intlayer/editor-react/package.json index 6a260c398..32b67d90e 100644 --- a/packages/@intlayer/editor-react/package.json +++ b/packages/@intlayer/editor-react/package.json @@ -54,7 +54,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -63,12 +63,11 @@ "process-files": "ts-node src/transpiler/processFilesCLI.ts --dir $npm_config_dir --extension $npm_config_extension --no-node-snapshot", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", "uuid": "13.0.0" @@ -80,16 +79,16 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "react": ">=16.0.0", "react-dom": ">=16.0.0", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "react": ">=16.0.0", "react-dom": ">=16.0.0" diff --git a/packages/@intlayer/editor-react/src/CommunicatorContext.tsx b/packages/@intlayer/editor-react/src/CommunicatorContext.tsx index 62a15edba..0ae0caf58 100644 --- a/packages/@intlayer/editor-react/src/CommunicatorContext.tsx +++ b/packages/@intlayer/editor-react/src/CommunicatorContext.tsx @@ -1,6 +1,7 @@ 'use client'; import configuration from '@intlayer/config/built'; + import { createContext, type FC, diff --git a/packages/@intlayer/editor-react/src/ConfigurationContext.tsx b/packages/@intlayer/editor-react/src/ConfigurationContext.tsx index 310d0be68..a29d5a837 100644 --- a/packages/@intlayer/editor-react/src/ConfigurationContext.tsx +++ b/packages/@intlayer/editor-react/src/ConfigurationContext.tsx @@ -1,7 +1,7 @@ 'use client'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { MessageKey } from '@intlayer/editor'; -import type { IntlayerConfig } from '@intlayer/types'; import { createContext, type FC, diff --git a/packages/@intlayer/editor-react/src/DictionariesRecordContext.tsx b/packages/@intlayer/editor-react/src/DictionariesRecordContext.tsx index bb42f2126..98f18c505 100644 --- a/packages/@intlayer/editor-react/src/DictionariesRecordContext.tsx +++ b/packages/@intlayer/editor-react/src/DictionariesRecordContext.tsx @@ -1,7 +1,7 @@ 'use client'; +import type { Dictionary, LocalDictionaryId } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { Dictionary, LocalDictionaryId } from '@intlayer/types'; import { createContext, type Dispatch, diff --git a/packages/@intlayer/editor-react/src/EditedContentContext.tsx b/packages/@intlayer/editor-react/src/EditedContentContext.tsx index 9a710f2d5..e2f24f9cf 100644 --- a/packages/@intlayer/editor-react/src/EditedContentContext.tsx +++ b/packages/@intlayer/editor-react/src/EditedContentContext.tsx @@ -1,17 +1,15 @@ 'use client'; import { + type ContentNode, + type Dictionary, editDictionaryByKeyPath, getContentNodeByKeyPath, + type KeyPath, + type LocalDictionaryId, renameContentNodeByKeyPath, } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { - ContentNode, - Dictionary, - KeyPath, - LocalDictionaryId, -} from '@intlayer/types'; import { createContext, type Dispatch, diff --git a/packages/@intlayer/editor-react/src/FocusDictionaryContext.tsx b/packages/@intlayer/editor-react/src/FocusDictionaryContext.tsx index 4d95c3ec4..c892e03b6 100644 --- a/packages/@intlayer/editor-react/src/FocusDictionaryContext.tsx +++ b/packages/@intlayer/editor-react/src/FocusDictionaryContext.tsx @@ -1,7 +1,7 @@ 'use client'; +import type { KeyPath } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { KeyPath } from '@intlayer/types'; import { createContext, type Dispatch, diff --git a/packages/@intlayer/editor-react/tsconfig.types.json b/packages/@intlayer/editor-react/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/@intlayer/editor-react/tsconfig.types.json +++ b/packages/@intlayer/editor-react/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/@intlayer/editor/package.json b/packages/@intlayer/editor/package.json index ba42a4c24..22059a346 100644 --- a/packages/@intlayer/editor/package.json +++ b/packages/@intlayer/editor/package.json @@ -54,7 +54,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -63,16 +63,17 @@ "process-files": "ts-node src/transpiler/processFilesCLI.ts --dir $npm_config_dir --extension $npm_config_extension --no-node-snapshot", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "devDependencies": { "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "typescript": "5.9.3", "vitest": "3.2.4" }, diff --git a/packages/@intlayer/editor/tsconfig.types.json b/packages/@intlayer/editor/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/@intlayer/editor/tsconfig.types.json +++ b/packages/@intlayer/editor/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/@intlayer/fetch-dictionaries-entry/package.json b/packages/@intlayer/fetch-dictionaries-entry/package.json index 8fd72e9be..a2cd16bae 100644 --- a/packages/@intlayer/fetch-dictionaries-entry/package.json +++ b/packages/@intlayer/fetch-dictionaries-entry/package.json @@ -60,7 +60,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -69,8 +69,8 @@ "process-files": "ts-node src/transpiler/processFilesCLI.ts --dir $npm_config_dir --extension $npm_config_extension --no-node-snapshot", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/config": "workspace:*" @@ -80,15 +80,20 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", - "@intlayer/core": "workspace:*" + "intlayer": "workspace:*" + }, + "peerDependenciesMeta": { + "intlayer": { + "optional": true + } }, "engines": { "node": ">=14.18" diff --git a/packages/@intlayer/fetch-dictionaries-entry/src/index.ts b/packages/@intlayer/fetch-dictionaries-entry/src/index.ts index 53f1464b3..64aef74ca 100644 --- a/packages/@intlayer/fetch-dictionaries-entry/src/index.ts +++ b/packages/@intlayer/fetch-dictionaries-entry/src/index.ts @@ -1,3 +1,5 @@ +// @ts-nocheck intlayer declared for module augmentation + /** * @intlayer/fetch-dictionaries-entry is a package that only returns the fetch dictionary entry file. * Using an external package allow to alias it in the bundle configuration (such as webpack). @@ -6,16 +8,19 @@ import { existsSync } from 'node:fs'; import { join } from 'node:path'; -import { clearModuleCache, getConfiguration } from '@intlayer/config'; +import { + clearModuleCache, + getConfiguration, + type IntlayerConfig, +} from '@intlayer/config'; import type { Dictionary, - DictionaryKeys, - IntlayerConfig, + IntlayerDictionaryTypesConnector, LanguageContent, -} from '@intlayer/types'; +} from 'intlayer'; export type FetchDictionaries = Record< - DictionaryKeys, + IntlayerDictionaryTypesConnector['key'], LanguageContent >; @@ -30,7 +35,10 @@ export const getDynamicDictionaries: GetFetchDictionaries = ( // Always use cjs for dictionaries entry as it uses require const dictionariesPath = join(content.mainDir, `fetch_dictionaries.cjs`); - let dictionaries: Record> = {}; + let dictionaries: Record< + IntlayerDictionaryTypesConnector['key'], + LanguageContent + > = {}; if (existsSync(dictionariesPath)) { // Clear cache for dynamic_dictionaries.cjs and all its dependencies (JSON files) diff --git a/packages/@intlayer/fetch-dictionaries-entry/tsconfig.types.json b/packages/@intlayer/fetch-dictionaries-entry/tsconfig.types.json index 058dc70b9..81044b650 100644 --- a/packages/@intlayer/fetch-dictionaries-entry/tsconfig.types.json +++ b/packages/@intlayer/fetch-dictionaries-entry/tsconfig.types.json @@ -1,10 +1,11 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", + "isolatedDeclarations": true, "outDir": "dist/types", "baseUrl": "src" } diff --git a/packages/@intlayer/mcp/package.json b/packages/@intlayer/mcp/package.json index fe01cd634..29fca8f5a 100644 --- a/packages/@intlayer/mcp/package.json +++ b/packages/@intlayer/mcp/package.json @@ -69,7 +69,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -88,13 +88,12 @@ "start:sse": "npx node dist/cjs/server/sse.cjs", "start:stdio": "npx node dist/cjs/server/stdio.cjs", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/cli": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/docs": "workspace:*", "@modelcontextprotocol/sdk": "1.15.0", "dotenv": "16.6.1", @@ -108,15 +107,15 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/cli": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/docs": "workspace:*" }, "engines": { diff --git a/packages/@intlayer/mcp/src/tools/cli.ts b/packages/@intlayer/mcp/src/tools/cli.ts index 50cafaac8..3761747e9 100644 --- a/packages/@intlayer/mcp/src/tools/cli.ts +++ b/packages/@intlayer/mcp/src/tools/cli.ts @@ -6,7 +6,7 @@ import { pull, push, } from '@intlayer/cli'; -import { Locales, type LogConfig } from '@intlayer/types'; +import { Locales, type LogConfig } from '@intlayer/config'; import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import z from 'zod/v3'; diff --git a/packages/@intlayer/mcp/tsconfig.types.json b/packages/@intlayer/mcp/tsconfig.types.json index 058dc70b9..81044b650 100644 --- a/packages/@intlayer/mcp/tsconfig.types.json +++ b/packages/@intlayer/mcp/tsconfig.types.json @@ -1,10 +1,11 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", + "isolatedDeclarations": true, "outDir": "dist/types", "baseUrl": "src" } diff --git a/packages/@intlayer/remote-dictionaries-entry/package.json b/packages/@intlayer/remote-dictionaries-entry/package.json index dbf418198..059ff21ad 100644 --- a/packages/@intlayer/remote-dictionaries-entry/package.json +++ b/packages/@intlayer/remote-dictionaries-entry/package.json @@ -60,7 +60,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -69,8 +69,8 @@ "process-files": "ts-node src/transpiler/processFilesCLI.ts --dir $npm_config_dir --extension $npm_config_extension --no-node-snapshot", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/config": "workspace:*" @@ -80,15 +80,20 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", - "@intlayer/core": "workspace:*" + "intlayer": "workspace:*" + }, + "peerDependenciesMeta": { + "intlayer": { + "optional": true + } }, "engines": { "node": ">=14.18" diff --git a/packages/@intlayer/remote-dictionaries-entry/src/index.ts b/packages/@intlayer/remote-dictionaries-entry/src/index.ts index f4692a644..f8fa2574e 100644 --- a/packages/@intlayer/remote-dictionaries-entry/src/index.ts +++ b/packages/@intlayer/remote-dictionaries-entry/src/index.ts @@ -1,3 +1,5 @@ +// @ts-nocheck intlayer declared for module augmentation + /** * @intlayer/dynamic-dictionaries-entry is a package that only returns the dynamic dictionary entry file. * Using an external package allow to alias it in the bundle configuration (such as webpack). @@ -6,16 +8,19 @@ import { existsSync } from 'node:fs'; import { join } from 'node:path'; -import { clearModuleCache, getConfiguration } from '@intlayer/config'; +import { + clearModuleCache, + getConfiguration, + type IntlayerConfig, +} from '@intlayer/config'; import type { Dictionary, - DictionaryKeys, - IntlayerConfig, + IntlayerDictionaryTypesConnector, LanguageContent, -} from '@intlayer/types'; +} from 'intlayer'; export type RemoteDictionaries = Record< - DictionaryKeys, + IntlayerDictionaryTypesConnector['key'], LanguageContent >; @@ -30,7 +35,10 @@ export const getRemoteDictionaries: GetRemoteDictionaries = ( // Always use cjs for dictionaries entry as it uses require const dictionariesPath = join(content.mainDir, `remote_dictionaries.cjs`); - let dictionaries: Record> = {}; + let dictionaries: Record< + IntlayerDictionaryTypesConnector['key'], + LanguageContent + > = {}; if (existsSync(dictionariesPath)) { // Clear cache for dynamic_dictionaries.cjs and all its dependencies (JSON files) diff --git a/packages/@intlayer/remote-dictionaries-entry/tsconfig.types.json b/packages/@intlayer/remote-dictionaries-entry/tsconfig.types.json index 058dc70b9..81044b650 100644 --- a/packages/@intlayer/remote-dictionaries-entry/tsconfig.types.json +++ b/packages/@intlayer/remote-dictionaries-entry/tsconfig.types.json @@ -1,10 +1,11 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", + "isolatedDeclarations": true, "outDir": "dist/types", "baseUrl": "src" } diff --git a/packages/@intlayer/types/.npmignore b/packages/@intlayer/types/.npmignore deleted file mode 100644 index cadc1cde2..000000000 --- a/packages/@intlayer/types/.npmignore +++ /dev/null @@ -1,8 +0,0 @@ -/src - -.env - -.tsconfig.* -.tsup.config.ts - -*.test.* \ No newline at end of file diff --git a/packages/@intlayer/types/README.md b/packages/@intlayer/types/README.md deleted file mode 100644 index 14fab3bf7..000000000 --- a/packages/@intlayer/types/README.md +++ /dev/null @@ -1,276 +0,0 @@ -

- - Intlayer Logo - -

- -

- Intlayer : an Open-source, per-component i18n toolkit with AI-powered translation & CMS. -

- -
- -

- Docs • - Next.js • - React + Vite • - CMS • - Discord -

-

- npm version - GitHub Stars - monthly downloads - license - last commit - -

- -![Watch the video](https://github.com/aymericzip/intlayer/blob/main/docs/assets/demo_video.gif) - - - - - -## What is Intlayer? - -Most i18n libraries are either too complex, too rigid, or not built for modern frameworks. - -Intlayer is a **modern i18n solution** for web and mobile apps. -It’s framework-agnostic, **AI-powered**, and includes a free **CMS & visual editor**. - -With **per-locale content files**, **TypeScript autocompletion**, **tree-shakable dictionaries**, and **CI/CD integration**, Intlayer makes internationalization **faster, cleaner, and smarter**. - -## Keys benefits of Intlayer: - -| Feature | Description | -| --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Feature | **Cross-Frameworks Support**

Intlayer is compatible with all major frameworks and libraries, including Next.js, React, Vite, Vue.js, Nuxt, Preact, Express, and more. | -| Feature | **JavaScript-Powered Content Management**

Harness the flexibility of JavaScript to define and manage your content efficiently.

- [Content declaration](https://intlayer.org/doc/concept/content) | -| Feature | **Per-Locale Content Declaration File**

Speed up your development by declaring your content once, before auto generation.

- [Per-Locale Content Declaration File](https://intlayer.org/doc/concept/per-locale-file) | -| Feature | **Type-Safe Environment**

Leverage TypeScript to ensure your content definitions and code are error-free, while also benefiting from IDE autocompletion.

- [TypeScript configuration](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) | -| Feature | **Simplified Setup**

Get up and running quickly with minimal configuration. Adjust settings for internationalization, routing, AI, build, and content handling with ease.

- [Explore Next.js integration](https://intlayer.org/doc/environment/nextjs) | -| Feature | **Simplified Content Retrieval**

No need to call your `t` function for each piece of content. Retrieve all your content directly using a single hook.

- [React integration](https://intlayer.org/doc/environment/create-react-app) | -| Feature | **Consistent Server Component Implementation**

Perfectly suited for Next.js server components, use the same implementation for both client and server components, no need to pass your `t` function across each server component.

- [Server Components](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) | -| Feature | **Organized Codebase**

Keep your codebase more organized: 1 component = 1 dictionary in the same folder. Translations close to their respective components, enhance maintainability and clarity.

- [How Intlayer works](https://intlayer.org/doc/concept/how-works-intlayer) | -| Feature | **Enhanced Routing**

Full support of app routing, adapting seamlessly to complex application structures, for Next.js, React, Vite, Vue.js, etc.

- [Explore Next.js integration](https://intlayer.org/doc/environment/nextjs) | -| Feature | **Markdown Support**

Import and interpret, locale files and remote Markdown for multilingual content like privacy policies, documentation, etc. Interpret and make Markdown metadata accessible in your code.

- [Content files](https://intlayer.org/doc/concept/content/file) | -| Feature | **Free Visual Editor & CMS**

A free visual editor and CMS are available for content writers, removing the need for a localization platform. Keep your content synchronized using Git, or externalize it totally or partially with the CMS.

- [Intlayer Editor](https://intlayer.org/doc/concept/editor)
- [Intlayer CMS](https://intlayer.org/doc/concept/cms) | -| Feature | **Tree-shakable Content**

Tree-shakable content, reducing the size of the final bundle. Loads content per component, excluding any unused content from your bundle. Supports lazy loading to enhance app loading efficiency.

- [App build optimization](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) | -| Feature | **Static Rendering**

Doesn't block Static Rendering.

- [Next.js integration](https://intlayer.org/doc/environment/nextjs) | -| Feature | **AI-Powered Translation**

Transform your website into 231 languages with just one click using Intlayer's advanced AI-powered translation tools using your own AI provider / API key.

- [CI/CD integration](https://intlayer.org/doc/concept/ci-cd)
- [Intlayer CLI](https://intlayer.org/doc/concept/cli)
- [Auto fill](https://intlayer.org/doc/concept/auto-fill) | -| Feature | **MCP Server Integration**

Provides an MCP (Model Context Protocol) server for IDE automation, enabling seamless content management and i18n workflows directly within your development environment.

- [MCP Server](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/mcp_server.md) | -| Feature | **VSCode Extension**

Intlayer provides a VSCode extension to help you manage your content and translations, builting your dictionaries, translating your content, and more.

- [VSCode Extension](https://intlayer.org/doc/vs-code-extension) | -| Feature | **Interoperability**

Allow interoperability with react-i18next, next-i18next, next-intl, and react-intl.

- [Intlayer and react-intl](https://intlayer.org/blog/intlayer-with-react-intl)
- [Intlayer and next-intl](https://intlayer.org/blog/intlayer-with-next-intl)
- [Intlayer and next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) | - ---- - -## 📦 Installation - -Start your journey with Intlayer today and experience a smoother, more powerful approach to internationalization. - - - - - -```bash -npm install intlayer react-intlayer -``` - -⚡ Quick Start (Next.js) - -```ts -// intlayer.config.ts -import { Locales, type IntlayerConfig } from "intlayer"; - -const config: IntlayerConfig = { - internationalization: { - locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], - defaultLocale: Locales.ENGLISH, - }, -}; - -export default config; -``` - -```ts -// app/home.content.ts -import { t, type Dictionary } from "intlayer"; - -const content = { - key: "home", - content: { - title: t({ - en: "Home", - fr: "Accueil", - es: "Inicio", - }), - }, -} satisfies Dictionary; - -export default content; -``` - -```tsx -// app/page.tsx -import { useIntlayer } from "react-intlayer"; - -const HomePage = () => { - const { title } = useIntlayer("home"); - - return

{title}

; -}; -``` - - Get the full guide → - -## 🎥 Live tutorial on YouTube - -[![How to Internationalize your application using Intlayer](https://i.ytimg.com/vi/e_PPG7PTqGU/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDtyJ4uYotEjl12nZ_gZKZ_kjEgOQ)](https://youtu.be/e_PPG7PTqGU?si=GyU_KpVhr61razRw) - - - - - -## Table of Contents - -Explore our comprehensive documentation to get started with Intlayer and learn how to integrate it into your projects. - -
-📘 Get Started - -
- -
-⚙️ Concept - -
- -
-🌐 Environment - -
- -
-📰 Blog - -
- -## 🌐 Readme in other languages - -

- English • - 简体中文 • - Русский • - 日本語 • - Français • - 한국어 • - Español • - Deutsch • - العربية • - Italiano • - English (UK) • - Português • - हिन्दी • - Türkçe -

- -## 🤝 Community - -Intlayer is built with and for the community and we’d love your input! - -- Have a suggestion? [Open an issue](https://github.com/aymericzip/intlayer/issues) -- Found a bug or improvement? [Submit a PR](https://github.com/aymericzip/intlayer/pulls) -- Need help or want to connect? [Join our Discord](https://discord.gg/7uxamYVeCk) - -You can also follow us on : - -
-
-

- Intlayer Discord - Intlayer LinkedIn - Intlayer Facebook - Intlayer Instagram - Intlayer X - Intlayer YouTube - Intlayer TikTok -
-

-
- -### Contribution - -For more detailed guidelines on contributing to this project, please refer to the [`CONTRIBUTING.md`](https://github.com/aymericzip/intlayer/blob/main/CONTRIBUTING.md) file. It contains essential information on our development process, commit message conventions, and release procedures. Your contributions are valuable to us, and we appreciate your efforts in making this project better! - -### Thank You for the Support - -If you like Intlayer, give us a ⭐ on GitHub. It helps others discover the project! [See why GitHub Stars matter](https://github.com/aymericzip/intlayer/blob/main/CONTRIBUTING.md#why-github-stars-matter-). - -[![Star History Chart](https://api.star-history.com/svg?repos=aymericzip/intlayer&type=Date)](https://star-history.com/#aymericzip/intlayer&Date) diff --git a/packages/@intlayer/types/package.json b/packages/@intlayer/types/package.json deleted file mode 100644 index 67c11bf2f..000000000 --- a/packages/@intlayer/types/package.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "name": "@intlayer/types", - "version": "6.1.6", - "private": false, - "description": "Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.", - "keywords": [ - "intlayer", - "types", - "typescript" - ], - "homepage": "https://intlayer.org", - "bugs": { - "url": "https://github.com/aymericzip/intlayer/issues" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/aymericzip/intlayer.git" - }, - "license": "Apache-2.0", - "author": { - "name": "Aymeric PINEAU", - "url": "https://github.com/aymericzip" - }, - "contributors": [ - { - "name": "Aymeric Pineau", - "email": "ay.pineau@gmail.com", - "url": "https://github.com/aymericzip" - } - ], - "sideEffects": false, - "exports": { - ".": { - "types": "./dist/types/index.d.ts", - "require": "./dist/cjs/index.cjs", - "import": "./dist/esm/index.mjs" - }, - "./package.json": "./package.json" - }, - "main": "dist/cjs/index.cjs", - "module": "dist/esm/index.mjs", - "types": "dist/types/index.d.ts", - "typesVersions": { - "*": { - ".": [ - "./dist/types/index.d.ts" - ], - "client": [ - "./dist/types/client.d.ts" - ], - "built": [ - "./dist/types/built.d.ts" - ], - "package.json": [ - "./package.json" - ] - } - }, - "files": [ - "./dist", - "./package.json" - ], - "scripts": { - "build": "tsdown --config tsdown.config.ts", - "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", - "dev": "tsdown --config tsdown.config.ts --watch", - "lint": "biome lint .", - "lint:fix": "biome lint --write .", - "format": "biome format . --check", - "format:fix": "biome format --write .", - "prepublish": "cp -f ../../../README.md ./README.md", - "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" - }, - "devDependencies": { - "@types/node": "24.7.2", - "@utils/ts-config": "workspace:*", - "@utils/ts-config-types": "workspace:*", - "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", - "rimraf": "6.0.1", - "typescript": "5.9.3", - "vitest": "3.2.4" - }, - "engines": { - "node": ">=14.18" - }, - "bug": { - "url": "https://github.com/aymericzip/intlayer/issues" - } -} diff --git a/packages/@intlayer/types/src/index.ts b/packages/@intlayer/types/src/index.ts deleted file mode 100644 index e04f6b3f7..000000000 --- a/packages/@intlayer/types/src/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from './config'; -export * from './dictionary'; -export * from './keyPath'; -export * from './locales'; -export * from './module_augmentation'; -export * from './nodeType'; -export * from './plugin'; -export * from './translation'; diff --git a/packages/@intlayer/types/src/module_augmentation.ts b/packages/@intlayer/types/src/module_augmentation.ts deleted file mode 100644 index 865d2bbf3..000000000 --- a/packages/@intlayer/types/src/module_augmentation.ts +++ /dev/null @@ -1,69 +0,0 @@ -/** biome-ignore-all lint/suspicious/noEmptyInterface: Interface is used to augment the module */ -import type { StrictMode } from './config'; -import type { Dictionary } from './dictionary'; -import type { Locales } from './locales'; - -// --- Registries to be augmented by the generator --- -export interface __DictionaryRegistry {} // id -> typeof Dictionary -export interface __DeclaredLocalesRegistry {} // 'fr': 1, 'en': 1, ... -export interface __RequiredLocalesRegistry {} // 'en': 1, ... -export interface __StrictModeRegistry {} // one of: { strict: true } | { inclusive: true } | { loose: true } - -/** - * Provides a fallback to string type if the generic type T is undefined, - * otherwise returns T. This is useful for handling cases where no keys are found. - * Example: StringFallback -> string; StringFallback<'key'> -> 'key' - */ -export type StringFallback = T extends never ? string : T; // If no keys are found, return string to disable error, and accept any string as dictionary key - -export type DictionaryKeys = keyof __DictionaryRegistry extends never - ? string - : keyof __DictionaryRegistry; - -// --- Dictionaries --- -export type DictionaryRegistry = - __DictionaryRegistry[keyof __DictionaryRegistry] extends never - ? Record> - : __DictionaryRegistry; - -export type DictionaryRegistryElement = - T extends keyof __DictionaryRegistry - ? __DictionaryRegistry[T] - : Dictionary; - -export type DictionaryRegistryContent = - T extends keyof __DictionaryRegistry - ? __DictionaryRegistry[T] extends { content: infer C } - ? C - : any - : any; - -// --- Derived unions from registries --- -export type DeclaredLocales = keyof __DeclaredLocalesRegistry; // 'en' | 'fr' | ... -export type RequiredLocales = keyof __RequiredLocalesRegistry; - -/** Define MyType using the ValueOf utility type on Locales */ -export type LocalesValues = keyof __DeclaredLocalesRegistry extends never - ? (Locales | `${Locales}`) | (string & {}) - : (DeclaredLocales | `${DeclaredLocales}`) | (string & {}); - -// --- Helpers --- -export type ExtractedLocales = Extract; -export type ExcludedLocales = Exclude; - -// --- Strict mode selection from registry (default 'loose') --- -type __ModeFromRegistry = keyof __StrictModeRegistry; -type ResolvedStrictMode = [__ModeFromRegistry] extends [never] - ? 'loose' - : __ModeFromRegistry & StrictMode; - -// --- Config shape (type alias; interfaces can’t extend conditional types) --- -export type IConfigLocales< - Content, - Mode extends StrictMode = ResolvedStrictMode, -> = Mode extends 'strict' - ? Record - : Mode extends 'inclusive' - ? Record & - Partial> - : Partial>; diff --git a/packages/@intlayer/types/tsconfig.json b/packages/@intlayer/types/tsconfig.json deleted file mode 100644 index 06d109a49..000000000 --- a/packages/@intlayer/types/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@utils/ts-config", - "include": ["**/*"] -} diff --git a/packages/@intlayer/types/tsconfig.types.json b/packages/@intlayer/types/tsconfig.types.json deleted file mode 100644 index c75a268d3..000000000 --- a/packages/@intlayer/types/tsconfig.types.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], - "exclude": ["**/*.test.*"], - "compilerOptions": { - "rootDir": "./src", - "outDir": "dist/types", - "baseUrl": "src", - "allowJs": false, - "isolatedDeclarations": true - } -} diff --git a/packages/@intlayer/types/tsdown.config.ts b/packages/@intlayer/types/tsdown.config.ts deleted file mode 100644 index 7276d1b1a..000000000 --- a/packages/@intlayer/types/tsdown.config.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { options } from '@utils/tsdown-config'; -import { defineConfig } from 'tsdown'; - -export default defineConfig(options); diff --git a/packages/@intlayer/types/vitest.config.ts b/packages/@intlayer/types/vitest.config.ts deleted file mode 100644 index 2753b729f..000000000 --- a/packages/@intlayer/types/vitest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineConfig } from 'vitest/config'; - -export default defineConfig({ - test: { - environment: 'node', - globals: true, - clearMocks: true, - mockReset: true, - restoreMocks: true, - passWithNoTests: true, - include: ['src/**/*.test.{js,jsx,ts,tsx}'], - exclude: ['**/node_modules/**', '**/dist/**'], - }, -}); diff --git a/packages/@intlayer/unmerged-dictionaries-entry/package.json b/packages/@intlayer/unmerged-dictionaries-entry/package.json index 4b3444cc5..04cb84389 100644 --- a/packages/@intlayer/unmerged-dictionaries-entry/package.json +++ b/packages/@intlayer/unmerged-dictionaries-entry/package.json @@ -55,7 +55,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -64,8 +64,8 @@ "process-files": "ts-node src/transpiler/processFilesCLI.ts --dir $npm_config_dir --extension $npm_config_extension --no-node-snapshot", "prepublish": "cp -f ../../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/config": "workspace:*" @@ -75,14 +75,20 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*" + "intlayer": "workspace:*" + }, + "peerDependenciesMeta": { + "intlayer": { + "optional": true + } }, "engines": { "node": ">=14.18" diff --git a/packages/@intlayer/unmerged-dictionaries-entry/src/index.ts b/packages/@intlayer/unmerged-dictionaries-entry/src/index.ts index 68b25995a..a9f278388 100644 --- a/packages/@intlayer/unmerged-dictionaries-entry/src/index.ts +++ b/packages/@intlayer/unmerged-dictionaries-entry/src/index.ts @@ -6,14 +6,18 @@ import { existsSync } from 'node:fs'; import { join } from 'node:path'; -import { clearModuleCache, getConfiguration } from '@intlayer/config'; -import type { - Dictionary, - DictionaryKeys, - IntlayerConfig, -} from '@intlayer/types'; +import { + clearModuleCache, + getConfiguration, + type IntlayerConfig, +} from '@intlayer/config'; +// @ts-ignore intlayer declared for module augmentation +import type { Dictionary, IntlayerDictionaryTypesConnector } from 'intlayer'; -export type UnmergedDictionaries = Record; +export type UnmergedDictionaries = Record< + IntlayerDictionaryTypesConnector['key'], + Dictionary[] +>; type GetUnmergedDictionaries = ( configuration?: IntlayerConfig @@ -26,7 +30,10 @@ export const getUnmergedDictionaries: GetUnmergedDictionaries = ( // Always use cjs for dictionaries entry as it uses require const dictionariesPath = join(content.mainDir, `unmerged_dictionaries.cjs`); - let dictionaries: Record = {}; + let dictionaries: Record< + IntlayerDictionaryTypesConnector['key'], + Dictionary[] + > = {}; if (existsSync(dictionariesPath)) { // Clear cache for unmerged_dictionaries.cjs and all its dependencies (JSON files) diff --git a/packages/@intlayer/unmerged-dictionaries-entry/tsconfig.types.json b/packages/@intlayer/unmerged-dictionaries-entry/tsconfig.types.json index 058dc70b9..81044b650 100644 --- a/packages/@intlayer/unmerged-dictionaries-entry/tsconfig.types.json +++ b/packages/@intlayer/unmerged-dictionaries-entry/tsconfig.types.json @@ -1,10 +1,11 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", + "isolatedDeclarations": true, "outDir": "dist/types", "baseUrl": "src" } diff --git a/packages/@intlayer/webpack/package.json b/packages/@intlayer/webpack/package.json index 097839340..7b4e70b5b 100644 --- a/packages/@intlayer/webpack/package.json +++ b/packages/@intlayer/webpack/package.json @@ -59,7 +59,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -68,28 +68,29 @@ "prepublish": "cp -f ../../../README.md ./README.md", "serve": "webpack serve --config ./webpack.config.ts", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", "test:watch": "vitest", "transpile": "webpack --config ./webpack.config.ts", + "typecheck": "tsdown --project ./tsconfig.json --noEmit", "watch": "webpack --config ./webpack.config.ts --watch" }, "dependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "crypto-js": "4.2.0", "fast-glob": "3.3.3", "webpack": "5.99.9", "webpack-dev-server": "5.2.0" }, "devDependencies": { + "@changesets/cli": "2.29.7", "@types/crypto-js": "4.2.2", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, @@ -97,7 +98,6 @@ "@intlayer/api": "workspace:*", "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "webpack": "5.99.9" }, "engines": { diff --git a/packages/@intlayer/webpack/src/getEntries.ts b/packages/@intlayer/webpack/src/getEntries.ts index 97da31d3b..2d1ec8ba2 100644 --- a/packages/@intlayer/webpack/src/getEntries.ts +++ b/packages/@intlayer/webpack/src/getEntries.ts @@ -1,13 +1,13 @@ -import type { IntlayerConfig } from '@intlayer/types'; +import { getConfiguration } from '@intlayer/config'; import fg from 'fast-glob'; import type { EntryObject } from 'webpack'; import { getFileHash } from './utils'; -export const getEntries = (configuration: IntlayerConfig) => { - const { content } = configuration; - const { watchedFilesPatternWithPath } = content; +const { content } = getConfiguration(); +const { watchedFilesPatternWithPath } = content; - const entries = fg.sync(watchedFilesPatternWithPath).reduce((obj, el) => { +export const getEntries = (): EntryObject => + fg.sync(watchedFilesPatternWithPath).reduce((obj, el) => { const hash = getFileHash(el); obj[`intlayer-content/${hash}`] = { @@ -17,6 +17,3 @@ export const getEntries = (configuration: IntlayerConfig) => { return obj; }, {} as EntryObject); - - return entries; -}; diff --git a/packages/@intlayer/webpack/src/webpack-plugin.ts b/packages/@intlayer/webpack/src/webpack-plugin.ts index b656f3489..97daef0f4 100644 --- a/packages/@intlayer/webpack/src/webpack-plugin.ts +++ b/packages/@intlayer/webpack/src/webpack-plugin.ts @@ -1,6 +1,5 @@ import { prepareIntlayer, watch } from '@intlayer/chokidar'; -import { logger } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { type IntlayerConfig, logger } from '@intlayer/config'; import type { Compiler } from 'webpack'; // Watch mode or on time build diff --git a/packages/@intlayer/webpack/src/webpack.config.ts b/packages/@intlayer/webpack/src/webpack.config.ts index f363d3ced..78e257d6f 100644 --- a/packages/@intlayer/webpack/src/webpack.config.ts +++ b/packages/@intlayer/webpack/src/webpack.config.ts @@ -1,6 +1,5 @@ import { join } from 'node:path'; import { getConfiguration } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; // @ts-ignore - Export exists import type { Configuration as WebPackConfiguration } from 'webpack'; import type { Configuration as DevServerConfiguration } from 'webpack-dev-server'; @@ -37,9 +36,8 @@ export const devServerConfig: DevServerConfiguration = { static: {}, }; -export const getWebpackConfig = ( - configuration: IntlayerConfig = getConfiguration() -): WebPackConfiguration => { +export const getWebpackConfig = (): WebPackConfiguration => { + const configuration = getConfiguration(); const { fileExtensions } = configuration.content; /** @@ -47,15 +45,13 @@ export const getWebpackConfig = ( */ defineDirname(); - const entries = getEntries(configuration); - const webpackConfig: WebPackConfiguration = { // Define the environment mode (development or production) mode: 'production', // or 'production' // Entry point of the application target: 'node', // Specifies the target environment - entry: entries, + entry: getEntries, output: { clean: true, // Clean the output directory before emit library: 'IntlLayerContent', diff --git a/packages/@intlayer/webpack/tsconfig.types.json b/packages/@intlayer/webpack/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/@intlayer/webpack/tsconfig.types.json +++ b/packages/@intlayer/webpack/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/angular-intlayer/package.json b/packages/angular-intlayer/package.json index b3c3c2809..1396e7731 100644 --- a/packages/angular-intlayer/package.json +++ b/packages/angular-intlayer/package.json @@ -69,7 +69,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -77,13 +77,12 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor": "workspace:*", @@ -98,8 +97,9 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "typescript": "5.9.3", "vitest": "3.2.4" }, @@ -108,7 +108,6 @@ "@angular/core": "15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0", "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "rxjs": "6.0.0 || ^7.0.0" diff --git a/packages/angular-intlayer/src/client/installIntlayer.ts b/packages/angular-intlayer/src/client/installIntlayer.ts index 93ba14fdf..20f763428 100644 --- a/packages/angular-intlayer/src/client/installIntlayer.ts +++ b/packages/angular-intlayer/src/client/installIntlayer.ts @@ -1,6 +1,6 @@ import { Injectable, InjectionToken, type Signal, signal } from '@angular/core'; import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; export const INTLAYER_TOKEN = new InjectionToken('intlayer'); @@ -13,14 +13,14 @@ let instance: IntlayerProvider | null = null; providedIn: 'root', }) export class IntlayerProvider { - private _locale = signal( - configuration.internationalization?.defaultLocale as LocalesValues + private _locale = signal( + configuration.internationalization?.defaultLocale as Locales ); - readonly locale: Signal = this._locale.asReadonly(); + readonly locale: Signal = this._locale.asReadonly(); setLocale = (locale: LocalesValues) => { - this._locale.set(locale); + this._locale.set(locale as Locales); }; } diff --git a/packages/angular-intlayer/src/client/useDictionary.ts b/packages/angular-intlayer/src/client/useDictionary.ts index 27eff4053..6efd5f339 100644 --- a/packages/angular-intlayer/src/client/useDictionary.ts +++ b/packages/angular-intlayer/src/client/useDictionary.ts @@ -1,5 +1,6 @@ import { computed, inject } from '@angular/core'; -import type { Dictionary, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary } from '@intlayer/core'; import { getDictionary } from '../getDictionary'; import type { DeepTransformContent } from '../plugins'; import { INTLAYER_TOKEN, type IntlayerProvider } from './installIntlayer'; diff --git a/packages/angular-intlayer/src/client/useDictionaryAsync.ts b/packages/angular-intlayer/src/client/useDictionaryAsync.ts index ddb13ddf1..ae8b4ded0 100644 --- a/packages/angular-intlayer/src/client/useDictionaryAsync.ts +++ b/packages/angular-intlayer/src/client/useDictionaryAsync.ts @@ -2,11 +2,8 @@ import { computed, inject } from '@angular/core'; import configuration from '@intlayer/config/built'; -import type { - Dictionary, - LanguageContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary, LanguageContent } from '@intlayer/core'; import { INTLAYER_TOKEN, type IntlayerProvider } from './installIntlayer'; import { useDictionary } from './useDictionary'; diff --git a/packages/angular-intlayer/src/client/useDictionaryDynamic.ts b/packages/angular-intlayer/src/client/useDictionaryDynamic.ts index c9111aa5a..362730236 100644 --- a/packages/angular-intlayer/src/client/useDictionaryDynamic.ts +++ b/packages/angular-intlayer/src/client/useDictionaryDynamic.ts @@ -2,12 +2,12 @@ import { computed, inject } from '@angular/core'; import configuration from '@intlayer/config/built'; +import type { LocalesValues } from '@intlayer/config/client'; import type { Dictionary, DictionaryKeys, LanguageContent, - LocalesValues, -} from '@intlayer/types'; +} from '@intlayer/core'; import { INTLAYER_TOKEN, type IntlayerProvider } from './installIntlayer'; import { useDictionary } from './useDictionary'; import { useLoadDynamic } from './useLoadDynamic'; diff --git a/packages/angular-intlayer/src/client/useIntlayer.ts b/packages/angular-intlayer/src/client/useIntlayer.ts index bfed89209..f371a8688 100644 --- a/packages/angular-intlayer/src/client/useIntlayer.ts +++ b/packages/angular-intlayer/src/client/useIntlayer.ts @@ -1,9 +1,8 @@ import { computed, inject } from '@angular/core'; -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { DictionaryKeys } from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector } from 'intlayer'; import { getIntlayer } from '../getIntlayer'; import type { DeepTransformContent } from '../plugins'; import { INTLAYER_TOKEN, type IntlayerProvider } from './installIntlayer'; @@ -16,18 +15,19 @@ export const isUpdatableNode = ( typeof val === 'object' && typeof (val as any).__update === 'function'; -export const useIntlayer = ( +export const useIntlayer = ( key: T, locale?: LocalesValues -): DeepTransformContent> => { +): DeepTransformContent => { const intlayer = inject(INTLAYER_TOKEN)!; /** which locale should we use right now? */ const localeTarget = computed(() => locale ?? intlayer.locale()); /** a *stable* reactive dictionary object */ - // @ts-ignore Type instantiation is excessively deep and possibly infinite - const content = computed(() => getIntlayer(key, localeTarget() as L)); + const content = computed(() => getIntlayer(key, localeTarget())); - return content() as DeepTransformContent>; // all consumers keep full reactivity + return content() as DeepTransformContent< + IntlayerDictionaryTypesConnector[T]['content'] + >; // all consumers keep full reactivity }; diff --git a/packages/angular-intlayer/src/client/useLocale.ts b/packages/angular-intlayer/src/client/useLocale.ts index 9695e4248..77f16cca0 100644 --- a/packages/angular-intlayer/src/client/useLocale.ts +++ b/packages/angular-intlayer/src/client/useLocale.ts @@ -1,6 +1,6 @@ import { computed, inject } from '@angular/core'; import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { INTLAYER_TOKEN, type IntlayerProvider } from './installIntlayer'; import { useLocaleCookie } from './useLocaleCookie'; diff --git a/packages/angular-intlayer/src/client/useLocaleCookie.ts b/packages/angular-intlayer/src/client/useLocaleCookie.ts index 5ca2cc6b9..83a0e362a 100644 --- a/packages/angular-intlayer/src/client/useLocaleCookie.ts +++ b/packages/angular-intlayer/src/client/useLocaleCookie.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import Cookies from 'js-cookie'; diff --git a/packages/angular-intlayer/src/editor/EditedContentRenderer.component.ts b/packages/angular-intlayer/src/editor/EditedContentRenderer.component.ts index 890493654..28221fbe5 100644 --- a/packages/angular-intlayer/src/editor/EditedContentRenderer.component.ts +++ b/packages/angular-intlayer/src/editor/EditedContentRenderer.component.ts @@ -1,7 +1,7 @@ import { CommonModule } from '@angular/common'; import { Component, computed, Input, signal } from '@angular/core'; -import { getContent } from '@intlayer/core'; -import type { ContentNode, KeyPath, Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config/client'; +import { type ContentNode, getContent, type KeyPath } from '@intlayer/core'; import { useEditedContentRenderer } from './useEditedContentRenderer'; export interface EditedContentRendererProps { diff --git a/packages/angular-intlayer/src/editor/configuration.ts b/packages/angular-intlayer/src/editor/configuration.ts index befddd418..a388c3a75 100644 --- a/packages/angular-intlayer/src/editor/configuration.ts +++ b/packages/angular-intlayer/src/editor/configuration.ts @@ -1,7 +1,7 @@ import { DestroyRef, inject } from '@angular/core'; import configuration from '@intlayer/config/built'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { MessageKey } from '@intlayer/editor'; -import type { IntlayerConfig } from '@intlayer/types'; import { useCrossFrameState } from './useCrossFrameState'; export const useConfiguration = () => { diff --git a/packages/angular-intlayer/src/editor/dictionariesRecord.ts b/packages/angular-intlayer/src/editor/dictionariesRecord.ts index dda2580c1..761df3365 100644 --- a/packages/angular-intlayer/src/editor/dictionariesRecord.ts +++ b/packages/angular-intlayer/src/editor/dictionariesRecord.ts @@ -1,7 +1,7 @@ import { effect, type Injector, type Signal, signal } from '@angular/core'; +import type { Dictionary } from '@intlayer/core'; import { getDictionaries } from '@intlayer/dictionaries-entry'; import { MessageKey } from '@intlayer/editor'; -import type { Dictionary } from '@intlayer/types'; import { createSharedComposable } from './createSharedComposable'; import { useCrossFrameState } from './useCrossFrameState'; diff --git a/packages/angular-intlayer/src/editor/editedContent.ts b/packages/angular-intlayer/src/editor/editedContent.ts index 8010b151c..9623b782e 100644 --- a/packages/angular-intlayer/src/editor/editedContent.ts +++ b/packages/angular-intlayer/src/editor/editedContent.ts @@ -1,12 +1,12 @@ import { effect, type Injector, type Signal, signal } from '@angular/core'; -import { getContentNodeByKeyPath } from '@intlayer/core'; +import { + type ContentNode, + type Dictionary, + getContentNodeByKeyPath, + type KeyPath, + type LocalDictionaryId, +} from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { - ContentNode, - Dictionary, - KeyPath, - LocalDictionaryId, -} from '@intlayer/types'; import { createSharedComposable } from './createSharedComposable'; import { useCrossFrameState } from './useCrossFrameState'; diff --git a/packages/angular-intlayer/src/editor/editorLocale.ts b/packages/angular-intlayer/src/editor/editorLocale.ts index 308b9704e..0c05ae3a2 100644 --- a/packages/angular-intlayer/src/editor/editorLocale.ts +++ b/packages/angular-intlayer/src/editor/editorLocale.ts @@ -1,6 +1,6 @@ import { effect, inject } from '@angular/core'; +import type { Locales } from '@intlayer/config/client'; import { MessageKey } from '@intlayer/editor'; -import type { Locales, LocalesValues } from '@intlayer/types'; import { INTLAYER_TOKEN, type IntlayerProvider } from '../client'; import { createSharedComposable } from './createSharedComposable'; import { useCrossFrameState } from './useCrossFrameState'; @@ -12,14 +12,14 @@ export const useEditorLocale = createSharedComposable(() => { throw new Error('IntlayerEditor state not found'); } - const [_data, setData] = useCrossFrameState( + const [_data, setData] = useCrossFrameState( MessageKey.INTLAYER_CURRENT_LOCALE ); // Use Angular effects instead of Vue watchers effect(() => { const newValue = client.locale(); - setData(newValue as Locales); + setData(newValue); }); return client; diff --git a/packages/angular-intlayer/src/editor/focusDictionary.ts b/packages/angular-intlayer/src/editor/focusDictionary.ts index 92a16f0e4..838c71900 100644 --- a/packages/angular-intlayer/src/editor/focusDictionary.ts +++ b/packages/angular-intlayer/src/editor/focusDictionary.ts @@ -1,6 +1,6 @@ import { effect, type Injector, type Signal, signal } from '@angular/core'; +import type { KeyPath } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { KeyPath } from '@intlayer/types'; import { createSharedComposable } from './createSharedComposable'; import { useCrossFrameState } from './useCrossFrameState'; diff --git a/packages/angular-intlayer/src/editor/useEditedContentRenderer.ts b/packages/angular-intlayer/src/editor/useEditedContentRenderer.ts index 6cb8e4d06..0460fa738 100644 --- a/packages/angular-intlayer/src/editor/useEditedContentRenderer.ts +++ b/packages/angular-intlayer/src/editor/useEditedContentRenderer.ts @@ -5,7 +5,7 @@ import { inject, type Signal, } from '@angular/core'; -import type { KeyPath } from '@intlayer/types'; +import type { KeyPath } from '@intlayer/core'; export interface EditedContentActions { getEditedContentValue(dictionaryKey: string, keyPath: KeyPath[]): unknown; diff --git a/packages/angular-intlayer/src/getDictionary.ts b/packages/angular-intlayer/src/getDictionary.ts index acc5a54cc..b0d7dc230 100644 --- a/packages/angular-intlayer/src/getDictionary.ts +++ b/packages/angular-intlayer/src/getDictionary.ts @@ -1,11 +1,19 @@ +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { + type Dictionary, getDictionary as getDictionaryCore, type Plugins, } from '@intlayer/core'; -import type { Dictionary, LocalesValues } from '@intlayer/types'; -import { intlayerNodePlugins, markdownPlugin } from './plugins'; +import { + type DeepTransformContent, + intlayerNodePlugins, + markdownPlugin, +} from './plugins'; -export const getDictionary = ( +export const getDictionary = < + T extends Dictionary, + L extends LocalesValues = Locales, +>( dictionary: T, locale?: L, additionalPlugins?: Plugins[] @@ -16,5 +24,9 @@ export const getDictionary = ( ...(additionalPlugins ?? []), ]; - return getDictionaryCore(dictionary, locale, plugins); + return getDictionaryCore( + dictionary, + locale, + plugins + ) as any as DeepTransformContent; }; diff --git a/packages/angular-intlayer/src/getIntlayer.ts b/packages/angular-intlayer/src/getIntlayer.ts index 16e4df621..a19b7f3be 100644 --- a/packages/angular-intlayer/src/getIntlayer.ts +++ b/packages/angular-intlayer/src/getIntlayer.ts @@ -1,9 +1,10 @@ -import { getIntlayer as getIntlayerCore, type Plugins } from '@intlayer/core'; -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import { + type DictionaryKeys, + getIntlayer as getIntlayerCore, + type Plugins, +} from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector, LocalesValues } from 'intlayer'; import { type DeepTransformContent, intlayerNodePlugins, @@ -21,8 +22,7 @@ export const getIntlayer = ( ...(additionalPlugins ?? []), ]; - // @ts-ignore Type instantiation is excessively deep and possibly infinite - return getIntlayerCore(key, locale, plugins) as DeepTransformContent< - DictionaryRegistryContent + return getIntlayerCore(key, locale, plugins) as any as DeepTransformContent< + IntlayerDictionaryTypesConnector[T]['content'] >; }; diff --git a/packages/angular-intlayer/src/plugins.ts b/packages/angular-intlayer/src/plugins.ts index dc97eaee4..4defc8ba2 100644 --- a/packages/angular-intlayer/src/plugins.ts +++ b/packages/angular-intlayer/src/plugins.ts @@ -2,10 +2,11 @@ import { type DeepTransformContent as DeepTransformContentCore, getMarkdownMetadata, type IInterpreterPluginState as IInterpreterPluginStateCore, + type KeyPath, type MarkdownContent, + NodeType, type Plugins, } from '@intlayer/core'; -import { type KeyPath, NodeType } from '@intlayer/types'; import { ContentSelectorWrapperComponent } from './editor'; import { useMarkdown } from './markdown/installIntlayerMarkdown'; import { renderIntlayerNode } from './renderIntlayerNode'; diff --git a/packages/angular-intlayer/src/webpack/mergeConfig.ts b/packages/angular-intlayer/src/webpack/mergeConfig.ts index 5ade718f0..f4bd1403b 100644 --- a/packages/angular-intlayer/src/webpack/mergeConfig.ts +++ b/packages/angular-intlayer/src/webpack/mergeConfig.ts @@ -2,7 +2,6 @@ import { resolve } from 'node:path'; import { getAlias, getConfiguration } from '@intlayer/config'; import { IntlayerPlugin } from '@intlayer/webpack'; // adjust path if needed import merge from 'deepmerge'; -/** @ts-ignore Configuration type exist but raise error */ import type { Configuration as WebpackConfig } from 'webpack'; export const mergeConfig = (baseConfig: WebpackConfig): WebpackConfig => { diff --git a/packages/astro-intlayer/package.json b/packages/astro-intlayer/package.json index 6b6a7d119..2ae9a52bc 100644 --- a/packages/astro-intlayer/package.json +++ b/packages/astro-intlayer/package.json @@ -61,7 +61,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -69,14 +69,14 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", + "vite-intlayer": "workspace:*" }, "devDependencies": { @@ -84,7 +84,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "fast-glob": "3.3.3", "rimraf": "6.0.1", "typescript": "5.9.3", @@ -93,7 +93,6 @@ "peerDependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "astro": ">=4.0.0", "vite-intlayer": "workspace:*" diff --git a/packages/astro-intlayer/src/index.ts b/packages/astro-intlayer/src/index.ts index 9a92d29c4..974232261 100644 --- a/packages/astro-intlayer/src/index.ts +++ b/packages/astro-intlayer/src/index.ts @@ -1,5 +1,5 @@ -import { resolve } from 'node:path'; -import { prepareIntlayer, watch } from '@intlayer/chokidar'; +import { join, resolve } from 'node:path'; +import { prepareIntlayer, runOnce, watch } from '@intlayer/chokidar'; import { getAlias, getConfiguration } from '@intlayer/config'; import type { AstroIntegration } from 'astro'; import { diff --git a/packages/express-intlayer/package.json b/packages/express-intlayer/package.json index 60597f6a1..ad3a3f4b1 100644 --- a/packages/express-intlayer/package.json +++ b/packages/express-intlayer/package.json @@ -60,7 +60,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -68,35 +68,42 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "cls-hooked": "4.2.2", "intlayer": "workspace:*" }, "devDependencies": { + "@changesets/changelog-github": "0.5.1", + "@changesets/cli": "2.29.7", "@types/cls-hooked": "4.3.9", "@types/express": "5.0.3", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "express": "5.1.0", "rimraf": "6.0.1", + "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", - "@intlayer/core": "workspace:*" + "@intlayer/core": "workspace:*", + "intlayer": "workspace:*" + }, + "peerDependenciesMeta": { + "intlayer": { + "optional": true + } }, "engines": { "node": ">=14.18" diff --git a/packages/express-intlayer/src/index.ts b/packages/express-intlayer/src/index.ts index ccd11a7bb..6e054b3ef 100644 --- a/packages/express-intlayer/src/index.ts +++ b/packages/express-intlayer/src/index.ts @@ -1,12 +1,12 @@ import { prepareIntlayer } from '@intlayer/chokidar'; -import { getConfiguration } from '@intlayer/config'; +import { getConfiguration, type Locales } from '@intlayer/config'; import { getDictionary as getDictionaryFunction, getIntlayer as getIntlayerFunction, getTranslation, + type LanguageContent, localeDetector, } from '@intlayer/core'; -import type { LanguageContent, Locales } from '@intlayer/types'; import { createNamespace } from 'cls-hooked'; import type { NextFunction, Request, RequestHandler, Response } from 'express'; @@ -194,3 +194,5 @@ export const getDictionary: typeof getDictionaryFunction = (...args) => { return getDictionaryFunction(...args); } }; + +export type { LanguageContent }; diff --git a/packages/express-intlayer/tsconfig.types.json b/packages/express-intlayer/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/express-intlayer/tsconfig.types.json +++ b/packages/express-intlayer/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/express-intlayer/types/intlayer.d.ts b/packages/express-intlayer/types/intlayer.d.ts new file mode 100644 index 000000000..ca6e1e870 --- /dev/null +++ b/packages/express-intlayer/types/intlayer.d.ts @@ -0,0 +1,14 @@ +// /* eslint-disable */ +import 'intlayer'; + +declare module 'intlayer' { + interface IntlayerDictionaryTypesConnector {} + + enum ConfigLocales { + ENGLISH = 'en', + FRENCH = 'fr', + SPANISH = 'es', + } + + interface IConfigLocales extends Record {} +} diff --git a/packages/intlayer-cli/package.json b/packages/intlayer-cli/package.json index 3268f6ff9..5a08734d3 100644 --- a/packages/intlayer-cli/package.json +++ b/packages/intlayer-cli/package.json @@ -61,7 +61,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -70,9 +70,9 @@ "prepublish": "cp -f ../../README.md ./README.md", "serve": "webpack serve --config ./webpack.config.ts", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", "test:watch": "vitest", "transpile": "webpack --config ./webpack.config.ts", + "typecheck": "tsdown --project ./tsconfig.json --noEmit", "watch": "webpack --config ./webpack.config.ts --watch" }, "dependencies": { @@ -80,12 +80,15 @@ "webpack": "5.98.0" }, "devDependencies": { + "@changesets/changelog-github": "0.5.1", + "@changesets/cli": "2.29.7", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "typescript": "5.9.3", "vitest": "3.2.4" }, diff --git a/packages/intlayer-cli/tsconfig.types.json b/packages/intlayer-cli/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/intlayer-cli/tsconfig.types.json +++ b/packages/intlayer-cli/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/intlayer-editor/bin/intlayer-editor.mjs b/packages/intlayer-editor/bin/intlayer-editor.mjs index 0209258e2..db00ea510 100755 --- a/packages/intlayer-editor/bin/intlayer-editor.mjs +++ b/packages/intlayer-editor/bin/intlayer-editor.mjs @@ -1,11 +1,10 @@ #!/usr/bin/env node - // bin/intlayer-editor.mjs +import { runParallel } from '@intlayer/chokidar'; import { exec } from 'node:child_process'; import { dirname, join } from 'node:path'; import { fileURLToPath } from 'node:url'; -import { runParallel } from '@intlayer/chokidar'; // Get the current file's directory const __filename = fileURLToPath(import.meta.url); @@ -39,13 +38,13 @@ if (envFileIndex !== -1 && args[envFileIndex + 1]) { } // Check for --with flag -const withIndex = args.indexOf('--with'); +const withIndex = args.findIndex((arg) => arg === '--with'); if (withIndex !== -1 && args[withIndex + 1]) { withCommand = args[withIndex + 1]; } if (withCommand) { - parallelProcess = await runParallel(withCommand); + runParallel(withCommand); } if (args[0] === 'start') { diff --git a/packages/intlayer-editor/client/src/components/Editor/DictionaryEditionDrawer/DictionaryEditionDrawer.tsx b/packages/intlayer-editor/client/src/components/Editor/DictionaryEditionDrawer/DictionaryEditionDrawer.tsx index 3acf3a2e6..8a2bc844a 100644 --- a/packages/intlayer-editor/client/src/components/Editor/DictionaryEditionDrawer/DictionaryEditionDrawer.tsx +++ b/packages/intlayer-editor/client/src/components/Editor/DictionaryEditionDrawer/DictionaryEditionDrawer.tsx @@ -1,5 +1,6 @@ 'use client'; +import type { Locales } from '@intlayer/config/client'; import { getUnmergedDictionaryByKeyPath } from '@intlayer/core'; import { Button, @@ -11,7 +12,6 @@ import { } from '@intlayer/design-system'; import { useGetEditorDictionaries } from '@intlayer/design-system/hooks'; import { useFocusDictionary } from '@intlayer/editor-react'; -import type { Locales } from '@intlayer/types'; import { Pencil } from 'lucide-react'; import { type FC, useCallback, useState } from 'react'; import { useIntlayer } from 'react-intlayer'; diff --git a/packages/intlayer-editor/client/src/components/Editor/DictionaryListDrawer/DictionaryListDrawer.tsx b/packages/intlayer-editor/client/src/components/Editor/DictionaryListDrawer/DictionaryListDrawer.tsx index 819beeb52..e2505aa36 100644 --- a/packages/intlayer-editor/client/src/components/Editor/DictionaryListDrawer/DictionaryListDrawer.tsx +++ b/packages/intlayer-editor/client/src/components/Editor/DictionaryListDrawer/DictionaryListDrawer.tsx @@ -1,5 +1,6 @@ 'use client'; +import type { Dictionary } from '@intlayer/core'; import { Button, RightDrawer, @@ -10,7 +11,6 @@ import { useEditedContent, useFocusDictionary, } from '@intlayer/editor-react'; -import type { Dictionary } from '@intlayer/types'; import { ChevronRight } from 'lucide-react'; import type { FC } from 'react'; import { useIntlayer } from 'react-intlayer'; diff --git a/packages/intlayer-editor/client/src/components/Editor/EditorLayout.tsx b/packages/intlayer-editor/client/src/components/Editor/EditorLayout.tsx index b78fc566f..9d0c48255 100644 --- a/packages/intlayer-editor/client/src/components/Editor/EditorLayout.tsx +++ b/packages/intlayer-editor/client/src/components/Editor/EditorLayout.tsx @@ -1,5 +1,7 @@ 'use client'; +import type { Locales } from '@intlayer/config/client'; +import type { Dictionary } from '@intlayer/core'; import { useGetEditorDictionaries } from '@intlayer/design-system/hooks'; import { type FileContent, @@ -7,7 +9,6 @@ import { useCrossFrameState, useDictionariesRecordActions, } from '@intlayer/editor-react'; -import type { Dictionary, Locales } from '@intlayer/types'; import { type FC, type PropsWithChildren, useEffect } from 'react'; import { DictionaryEditionDrawerController } from './DictionaryEditionDrawer'; import { DictionaryListDrawer } from './DictionaryListDrawer'; diff --git a/packages/intlayer-editor/client/src/components/Editor/LongPressMessage/index.tsx b/packages/intlayer-editor/client/src/components/Editor/LongPressMessage/index.tsx index fd51270c6..9955a8b37 100644 --- a/packages/intlayer-editor/client/src/components/Editor/LongPressMessage/index.tsx +++ b/packages/intlayer-editor/client/src/components/Editor/LongPressMessage/index.tsx @@ -1,6 +1,6 @@ 'use client'; -import type { KeyPath } from '@intlayer/types'; +import type { KeyPath } from '@intlayer/core'; import type { FC } from 'react'; import { useIntlayer } from 'react-intlayer'; import { cn } from '../../../utils/cn'; diff --git a/packages/intlayer-editor/client/src/hooks/useIntlayerConfig.ts b/packages/intlayer-editor/client/src/hooks/useIntlayerConfig.ts index 7cedf5a7d..930da9b39 100644 --- a/packages/intlayer-editor/client/src/hooks/useIntlayerConfig.ts +++ b/packages/intlayer-editor/client/src/hooks/useIntlayerConfig.ts @@ -1,4 +1,4 @@ -import type { IntlayerConfig } from '@intlayer/types'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { useEffect, useState } from 'react'; export const useIntlayerConfig = () => { diff --git a/packages/intlayer-editor/client/types/intlayer.d.ts b/packages/intlayer-editor/client/types/intlayer.d.ts new file mode 100644 index 000000000..71edde144 --- /dev/null +++ b/packages/intlayer-editor/client/types/intlayer.d.ts @@ -0,0 +1,27 @@ +import type { Locales } from 'intlayer'; +import type { DictionaryEditionDrawerContent as _qBBua9xjcMgNI6rAYznh } from '../.intlayer/types/dictionary-edition-drawer.d.ts'; + +declare module 'intlayer' { + interface IntlayerDictionaryTypesConnector { + 'dictionary-edition-drawer': _qBBua9xjcMgNI6rAYznh; + } + + type ConfigLocales = + | Locales.ENGLISH + | Locales.ENGLISH_UNITED_KINGDOM + | Locales.FRENCH + | Locales.SPANISH + | Locales.GERMAN + | Locales.JAPANESE + | Locales.KOREAN + | Locales.CHINESE + | Locales.ITALIAN + | Locales.PORTUGUESE + | Locales.HINDI + | Locales.ARABIC + | Locales.RUSSIAN; + type ExtractedLocales = Extract; + type ExcludedLocales = Exclude; + + interface IConfigLocales extends Record {} +} diff --git a/packages/intlayer-editor/package.json b/packages/intlayer-editor/package.json index 7bc379d2a..ef6d0c792 100644 --- a/packages/intlayer-editor/package.json +++ b/packages/intlayer-editor/package.json @@ -63,16 +63,19 @@ "scripts": { "build": "bun build:client && bun build:server", "build:ci": "bun build:client:ci && bun build:server:ci", - "build:client": "bun build:client:ci", + "build:client": "bun clean:client && bun build:client:ci", "build:client:ci": "vite build --config ./client/vite.config.ts", - "build:server": "bun build:server:ci", + "build:server": "bun clean:server && bun build:server:ci", "build:server:ci": "tsdown \"server/src/**/*.ts\" --config ./server/tsdown.config.ts --tsconfig ./server/tsconfig.json", + "clean": "bun clean:client && bun clean:server", + "clean:client": "rimraf ./client/dist", + "clean:server": "rimraf ./server/dist", "dev:client": "vite dev --config ./client/vite.config.ts", "dev:server": "bun --watch --hot ./server/src/index.ts", - "format": "biome format . --check", - "format:fix": "biome format --write .", "lint": "biome lint .", "lint:fix": "biome lint --write .", + "format": "biome format . --check", + "format:fix": "biome format --write .", "preview": "vite preview --config ./client/vite.config.ts", "start": "bun server/dist/esm/index.mjs", "start:client": "vite preview --config ./client/vite.config.ts", @@ -87,38 +90,37 @@ "@intlayer/core": "workspace:*", "@intlayer/design-system": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", "@tanstack/query-persist-client-core": "5.90.2", "@tanstack/query-sync-storage-persister": "5.90.2", - "@tanstack/react-query": "5.90.5", + "@tanstack/react-query": "5.90.2", "@types/node": "24.7.2", "compression": "1.8.1", "cookie-parser": "1.4.7", "cors": "2.8.5", "express": "5.1.0", "express-intlayer": "workspace:*", - "framer-motion": "12.23.24", + "framer-motion": "12.23.21", "helmet": "8.1.0", - "intlayer": "workspace:*", - "lucide-react": "0.546.0", + "lucide-react": "0.545.0", "mime": "4.1.0", "react": "19.2.0", "react-dom": "19.2.0", "react-intlayer": "workspace:*", + "intlayer": "workspace:*", "react-router-dom": "7.4.0", "rimraf": "6.0.1", "vite-intlayer": "workspace:*" }, "devDependencies": { "@tailwindcss/vite": "4.1.13", + "@utils/ts-config": "workspace:*", "@types/compression": "1.8.1", "@types/cookie-parser": "1.4.9", "@types/cors": "2.8.19", "@types/express": "5.0.3", "@types/react": "19.2.0", "@types/react-dom": "19.2.0", - "@utils/ts-config": "workspace:*", "@vitejs/plugin-react": "5.0.3", "autoprefixer": "10.4.21", "globals": "16.4.0", @@ -135,10 +137,9 @@ "@intlayer/design-system": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor-react": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/unmerged-dictionaries-entry": "workspace:*", "clsx": "2.1.1", - "framer-motion": "12.23.24", + "framer-motion": "12.23.21", "intlayer": "workspace:*", "react": ">=16.0.0", "react-dom": ">=16.0.0", diff --git a/packages/intlayer-editor/server/src/controllers/configuration.controller.ts b/packages/intlayer-editor/server/src/controllers/configuration.controller.ts index 24b1085ef..d5296f417 100644 --- a/packages/intlayer-editor/server/src/controllers/configuration.controller.ts +++ b/packages/intlayer-editor/server/src/controllers/configuration.controller.ts @@ -1,5 +1,7 @@ -import { getConfiguration as getApplicationConfiguration } from '@intlayer/config'; -import type { IntlayerConfig } from '@intlayer/types'; +import { + getConfiguration as getApplicationConfiguration, + type IntlayerConfig, +} from '@intlayer/config'; import { formatResponse, type ResponseData } from '@utils/responseData'; import type { NextFunction, Request, Response } from 'express'; diff --git a/packages/intlayer-editor/server/src/controllers/dictionary.controller.ts b/packages/intlayer-editor/server/src/controllers/dictionary.controller.ts index 8491501a0..8ed1d251c 100644 --- a/packages/intlayer-editor/server/src/controllers/dictionary.controller.ts +++ b/packages/intlayer-editor/server/src/controllers/dictionary.controller.ts @@ -3,7 +3,7 @@ import { writeContentDeclaration as writeContentDeclarationEditor, } from '@intlayer/chokidar'; import { getConfiguration } from '@intlayer/config'; -import type { Dictionary } from '@intlayer/types'; +import type { Dictionary } from '@intlayer/core'; import { getUnmergedDictionaries, type UnmergedDictionaries, diff --git a/packages/intlayer-editor/server/tsconfig.types.json b/packages/intlayer-editor/server/tsconfig.types.json index 370ce6840..c6980c93b 100644 --- a/packages/intlayer-editor/server/tsconfig.types.json +++ b/packages/intlayer-editor/server/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "outDir": "dist", diff --git a/packages/intlayer/package.json b/packages/intlayer/package.json index 4eabad11e..84cc610e0 100644 --- a/packages/intlayer/package.json +++ b/packages/intlayer/package.json @@ -75,7 +75,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -83,29 +83,30 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/cli": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*" }, "devDependencies": { + "@changesets/changelog-github": "0.5.1", + "@changesets/cli": "2.29.7", "@types/node": "24.7.2", "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/cli": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*" }, "engines": { diff --git a/packages/intlayer/src/index.ts b/packages/intlayer/src/index.ts index 8a20febf4..cc7216a09 100644 --- a/packages/intlayer/src/index.ts +++ b/packages/intlayer/src/index.ts @@ -1,4 +1,5 @@ -import type { Dictionary as DictionaryCore } from '@intlayer/types'; +import type { CustomIntlayerConfig as IntlayerConfig } from '@intlayer/config/client'; +import type { Dictionary as DictionaryCore } from '@intlayer/core'; type Dictionary = DictionaryCore; /** @@ -6,13 +7,7 @@ type Dictionary = DictionaryCore; */ type DeclarationContent = Dictionary; -export { - type ContentNode, - type IntlayerConfig, - type LanguageContent, - Locales, - type LocalesValues, -} from '@intlayer/types'; +export { Locales, type LocalesValues } from '@intlayer/config/client'; export type { DeclarationContent, Dictionary }; /** @@ -27,9 +22,10 @@ const getConfiguration = () => configuration; // Reexport here for CJS compatibility // Fix ReferenceError: Cannot access 'xxx' before initialization -export { configuration, getConfiguration }; +export { configuration, getConfiguration, type IntlayerConfig }; export { + type ContentNode, compact, cond, currency, @@ -59,6 +55,7 @@ export { getTranslation as getTranslationContent, Intl, insert, + type LanguageContent, localeFlatMap, localeList, localeMap, diff --git a/packages/intlayer/tsconfig.types.json b/packages/intlayer/tsconfig.types.json index 058dc70b9..4c367f869 100644 --- a/packages/intlayer/tsconfig.types.json +++ b/packages/intlayer/tsconfig.types.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/tsconfig", "extends": "@utils/ts-config-types", - "include": ["src/**/*", "types/**/*"], + "include": ["src/**/*"], "exclude": ["**/*.test.*"], "compilerOptions": { "rootDir": "./src", diff --git a/packages/lynx-intlayer/package.json b/packages/lynx-intlayer/package.json index cfe8e823f..0ede9c79f 100644 --- a/packages/lynx-intlayer/package.json +++ b/packages/lynx-intlayer/package.json @@ -71,7 +71,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -79,13 +79,12 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*" }, "devDependencies": { @@ -94,6 +93,7 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", + "concurrently": "9.2.1", "expo": "54.0.12", "metro-resolver": "0.82.0", "rimraf": "6.0.1", @@ -104,7 +104,6 @@ "peerDependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@lynx-js/rspeedy": ">=0.5.0", "@rsbuild/core": ">=1.2.0" diff --git a/packages/next-intlayer/package.json b/packages/next-intlayer/package.json index 7dee18db6..26f703862 100644 --- a/packages/next-intlayer/package.json +++ b/packages/next-intlayer/package.json @@ -94,7 +94,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -102,13 +102,12 @@ "format:fix": "biome format --write .", "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", - "typecheck": "tsc --noEmit --project tsconfig.types.json", - "test:watch": "vitest" + "test:watch": "vitest", + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "fast-glob": "3.3.3", @@ -124,14 +123,14 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", + "concurrently": "9.2.1", "rimraf": "6.0.1", + "tsdown": "0.15.7", "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/webpack": "workspace:*", diff --git a/packages/next-intlayer/src/client/useLocale.ts b/packages/next-intlayer/src/client/useLocale.ts index e42df5720..c829781b1 100644 --- a/packages/next-intlayer/src/client/useLocale.ts +++ b/packages/next-intlayer/src/client/useLocale.ts @@ -1,7 +1,7 @@ 'use client'; +import type { LocalesValues } from '@intlayer/config/client'; import { getLocalizedUrl, getPathWithoutLocale } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { usePathname, useRouter } from 'next/navigation.js'; import { useCallback, useMemo } from 'react'; import { useLocale as useLocaleReact } from 'react-intlayer'; diff --git a/packages/next-intlayer/src/client/useLocalePageRouter.ts b/packages/next-intlayer/src/client/useLocalePageRouter.ts index 1916c666e..410456a23 100644 --- a/packages/next-intlayer/src/client/useLocalePageRouter.ts +++ b/packages/next-intlayer/src/client/useLocalePageRouter.ts @@ -1,7 +1,7 @@ 'use client'; +import type { LocalesValues } from '@intlayer/config/client'; import { getLocalizedUrl, getPathWithoutLocale } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { useRouter } from 'next/router.js'; import { useCallback, useMemo } from 'react'; import { useLocale as useLocaleReact } from 'react-intlayer'; diff --git a/packages/next-intlayer/src/middleware/intlayerMiddleware.ts b/packages/next-intlayer/src/middleware/intlayerMiddleware.ts index 175270afa..71422a081 100644 --- a/packages/next-intlayer/src/middleware/intlayerMiddleware.ts +++ b/packages/next-intlayer/src/middleware/intlayerMiddleware.ts @@ -1,5 +1,6 @@ import configuration from '@intlayer/config/built'; -import type { Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config/client'; + import { type NextFetchEvent, type NextRequest, diff --git a/packages/next-intlayer/src/middleware/localeDetector.ts b/packages/next-intlayer/src/middleware/localeDetector.ts index b0454fdcf..5bdfd2353 100644 --- a/packages/next-intlayer/src/middleware/localeDetector.ts +++ b/packages/next-intlayer/src/middleware/localeDetector.ts @@ -1,5 +1,5 @@ +import type { LocalesValues } from '@intlayer/config'; import { localeDetector as localeDetectorCore } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import type { NextRequest } from 'next/server.js'; /** diff --git a/packages/next-intlayer/src/server/getLocale.ts b/packages/next-intlayer/src/server/getLocale.ts index 20b34bd10..e4e3766f7 100644 --- a/packages/next-intlayer/src/server/getLocale.ts +++ b/packages/next-intlayer/src/server/getLocale.ts @@ -1,14 +1,12 @@ +import type { Locales } from '@intlayer/config'; import configuration from '@intlayer/config/built'; import { localeDetector } from '@intlayer/core'; -import { Locales } from '@intlayer/types'; import { cookies, headers } from 'next/headers.js'; // Helper function to extract locale from referer URL export const getLocale = async (): Promise => { - const { defaultLocale } = configuration?.internationalization ?? {}; - const { headerName, cookieName } = configuration?.middleware ?? {}; - - if (!headerName || !cookieName) return Locales.ENGLISH; + const { defaultLocale } = configuration.internationalization; + const { headerName, cookieName } = configuration.middleware; // 1 - Try to pick the locale selected using the headers const headersList = await headers(); diff --git a/packages/next-intlayer/src/server/withIntlayer.ts b/packages/next-intlayer/src/server/withIntlayer.ts index c4313a5e3..f7c1b1174 100644 --- a/packages/next-intlayer/src/server/withIntlayer.ts +++ b/packages/next-intlayer/src/server/withIntlayer.ts @@ -5,10 +5,10 @@ import { getAlias, getAppLogger, getConfiguration, + type IntlayerConfig, normalizePath, } from '@intlayer/config'; import { getDictionaries } from '@intlayer/dictionaries-entry'; -import type { IntlayerConfig } from '@intlayer/types'; import { IntlayerPlugin } from '@intlayer/webpack'; import merge from 'deepmerge'; import fg from 'fast-glob'; diff --git a/packages/next-intlayer/src/types/NextPage.ts b/packages/next-intlayer/src/types/NextPage.ts index 28e8246f5..d9fd23cfb 100644 --- a/packages/next-intlayer/src/types/NextPage.ts +++ b/packages/next-intlayer/src/types/NextPage.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config'; import type { NextPage } from 'next'; import type { PropsWithChildren, ReactNode } from 'react'; diff --git a/packages/nuxt-intlayer/package.json b/packages/nuxt-intlayer/package.json index acb700f22..904c10aeb 100644 --- a/packages/nuxt-intlayer/package.json +++ b/packages/nuxt-intlayer/package.json @@ -61,7 +61,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -70,12 +70,11 @@ "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", "test:watch": "vitest", - "typecheck": "tsc --noEmit --project tsconfig.types.json" -}, + "typecheck": "tsdown --project ./tsconfig.json --noEmit" + }, "dependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "vite-intlayer": "workspace:*" }, @@ -84,7 +83,6 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", "concurrently": "9.2.1", "fast-glob": "3.3.3", "rimraf": "6.0.1", @@ -94,7 +92,6 @@ "peerDependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "vite-intlayer": "workspace:*", "@nuxt/kit": ">=3.0.0", diff --git a/packages/nuxt-intlayer/tsdown.config.ts b/packages/nuxt-intlayer/tsdown.config.ts index 4bb3f1793..a3f90b895 100644 --- a/packages/nuxt-intlayer/tsdown.config.ts +++ b/packages/nuxt-intlayer/tsdown.config.ts @@ -1,3 +1,4 @@ +import { builtinModules } from 'node:module'; import { getOptions, isExternal } from '@utils/tsdown-config'; import { defineConfig } from 'tsdown'; diff --git a/packages/preact-intlayer/package.json b/packages/preact-intlayer/package.json index d382da98b..5ef852e86 100644 --- a/packages/preact-intlayer/package.json +++ b/packages/preact-intlayer/package.json @@ -69,7 +69,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -78,15 +78,14 @@ "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", "test:watch": "vitest", - "typecheck": "tsc --noEmit --project tsconfig.types.json" -}, + "typecheck": "tsdown --project ./tsconfig.json --noEmit" + }, "dependencies": { "@intlayer/api": "workspace:*", "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "js-cookie": "3.0.5", "uuid": "13.0.0" }, @@ -96,9 +95,9 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", "concurrently": "9.2.1", "rimraf": "6.0.1", + "typescript": "5.9.3", "vitest": "3.2.4" }, @@ -108,7 +107,6 @@ "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", - "@intlayer/types": "workspace:*", "preact": "10.26.4" }, "engines": { diff --git a/packages/preact-intlayer/src/client/IntlayerProvider.tsx b/packages/preact-intlayer/src/client/IntlayerProvider.tsx index e96f5ae52..3d9e97524 100644 --- a/packages/preact-intlayer/src/client/IntlayerProvider.tsx +++ b/packages/preact-intlayer/src/client/IntlayerProvider.tsx @@ -1,9 +1,9 @@ 'use client'; import configuration from '@intlayer/config/built'; +import type { LocalesValues } from '@intlayer/config/client'; import { localeResolver } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { LocalesValues } from '@intlayer/types'; import { type ComponentChild, createContext, diff --git a/packages/preact-intlayer/src/client/getBrowserLocale.tsx b/packages/preact-intlayer/src/client/getBrowserLocale.tsx index eab214007..d55fbf4a4 100644 --- a/packages/preact-intlayer/src/client/getBrowserLocale.tsx +++ b/packages/preact-intlayer/src/client/getBrowserLocale.tsx @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import { Locales } from '@intlayer/types'; +import { Locales } from '@intlayer/config/client'; export enum LanguageDetector { Querystring = 'querystring', diff --git a/packages/preact-intlayer/src/client/t.ts b/packages/preact-intlayer/src/client/t.ts index d56bff7a0..2cbfb1d42 100644 --- a/packages/preact-intlayer/src/client/t.ts +++ b/packages/preact-intlayer/src/client/t.ts @@ -1,7 +1,7 @@ 'use client'; -import { getTranslation } from '@intlayer/core'; -import type { LanguageContent, Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config/client'; +import { getTranslation, type LanguageContent } from '@intlayer/core'; import { useContext } from 'preact/hooks'; import { IntlayerClientContext } from './IntlayerProvider'; diff --git a/packages/preact-intlayer/src/client/useContent.ts b/packages/preact-intlayer/src/client/useContent.ts index 67126b147..5810475c8 100644 --- a/packages/preact-intlayer/src/client/useContent.ts +++ b/packages/preact-intlayer/src/client/useContent.ts @@ -1,4 +1,4 @@ -import type { LanguageContent } from '@intlayer/types'; +import type { LanguageContent } from '@intlayer/core'; import { useLocaleBase } from './useLocaleBase'; import { useTranslation } from './useTraduction'; diff --git a/packages/preact-intlayer/src/client/useDictionary.ts b/packages/preact-intlayer/src/client/useDictionary.ts index da8b72395..56385d25c 100644 --- a/packages/preact-intlayer/src/client/useDictionary.ts +++ b/packages/preact-intlayer/src/client/useDictionary.ts @@ -1,6 +1,7 @@ 'use client'; -import type { Dictionary, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary } from '@intlayer/core'; import { useContext, useMemo } from 'preact/hooks'; import { getDictionary } from '../getDictionary'; import { IntlayerClientContext } from './IntlayerProvider'; diff --git a/packages/preact-intlayer/src/client/useDictionaryAsync.ts b/packages/preact-intlayer/src/client/useDictionaryAsync.ts index f42b5a7c6..2681589f0 100644 --- a/packages/preact-intlayer/src/client/useDictionaryAsync.ts +++ b/packages/preact-intlayer/src/client/useDictionaryAsync.ts @@ -1,11 +1,8 @@ 'use client'; import configuration from '@intlayer/config/built'; -import type { - Dictionary, - LanguageContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary, LanguageContent } from '@intlayer/core'; import { useContext, useMemo } from 'preact/hooks'; import { IntlayerClientContext } from './IntlayerProvider'; import { useDictionary } from './useDictionary'; diff --git a/packages/preact-intlayer/src/client/useDictionaryDynamic.ts b/packages/preact-intlayer/src/client/useDictionaryDynamic.ts index e8b2fed57..6d74c63a1 100644 --- a/packages/preact-intlayer/src/client/useDictionaryDynamic.ts +++ b/packages/preact-intlayer/src/client/useDictionaryDynamic.ts @@ -1,11 +1,11 @@ 'use client'; +import type { LocalesValues } from '@intlayer/config/client'; import type { Dictionary, DictionaryKeys, LanguageContent, - LocalesValues, -} from '@intlayer/types'; +} from '@intlayer/core'; import { useContext, useMemo } from 'preact/hooks'; import { IntlayerClientContext } from './IntlayerProvider'; import { useDictionary } from './useDictionary'; diff --git a/packages/preact-intlayer/src/client/useIntlayer.ts b/packages/preact-intlayer/src/client/useIntlayer.ts index d9ae11364..ef1ed072b 100644 --- a/packages/preact-intlayer/src/client/useIntlayer.ts +++ b/packages/preact-intlayer/src/client/useIntlayer.ts @@ -1,10 +1,9 @@ 'use client'; -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { DictionaryKeys } from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector } from 'intlayer'; import { useContext, useMemo } from 'preact/hooks'; import { getIntlayer } from '../getIntlayer'; import type { DeepTransformContent } from '../plugins'; @@ -15,18 +14,15 @@ import { IntlayerClientContext } from './IntlayerProvider'; * * If the locale is not provided, it will use the locale from the client context */ -export const useIntlayer = ( +export const useIntlayer = ( key: T, locale?: LocalesValues -): DeepTransformContent> => { +): DeepTransformContent => { const { locale: currentLocale } = useContext(IntlayerClientContext); return useMemo(() => { const localeTarget = locale ?? currentLocale; - // @ts-ignore Type instantiation is excessively deep and possibly infinite - return getIntlayer(key, localeTarget as L) as DeepTransformContent< - DictionaryRegistryContent - >; + return getIntlayer(key, localeTarget) as any; }, [key, currentLocale, locale]); }; diff --git a/packages/preact-intlayer/src/client/useLocale.ts b/packages/preact-intlayer/src/client/useLocale.ts index 0927ff1fd..cb9d71b2c 100644 --- a/packages/preact-intlayer/src/client/useLocale.ts +++ b/packages/preact-intlayer/src/client/useLocale.ts @@ -1,7 +1,7 @@ 'use client'; import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { useContext } from 'preact/hooks'; import { IntlayerClientContext } from './IntlayerProvider'; import { useLocaleCookie } from './useLocaleCookie'; diff --git a/packages/preact-intlayer/src/client/useLocaleCookie.ts b/packages/preact-intlayer/src/client/useLocaleCookie.ts index 5ca2cc6b9..83a0e362a 100644 --- a/packages/preact-intlayer/src/client/useLocaleCookie.ts +++ b/packages/preact-intlayer/src/client/useLocaleCookie.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import Cookies from 'js-cookie'; diff --git a/packages/preact-intlayer/src/client/useTraduction.ts b/packages/preact-intlayer/src/client/useTraduction.ts index d00c39e99..f6732be1a 100644 --- a/packages/preact-intlayer/src/client/useTraduction.ts +++ b/packages/preact-intlayer/src/client/useTraduction.ts @@ -1,5 +1,4 @@ -import { getTranslation } from '@intlayer/core'; -import type { LanguageContent } from '@intlayer/types'; +import { getTranslation, type LanguageContent } from '@intlayer/core'; import { useContext, useMemo } from 'preact/hooks'; import { IntlayerClientContext } from './IntlayerProvider'; diff --git a/packages/preact-intlayer/src/editor/ConfigurationContext.tsx b/packages/preact-intlayer/src/editor/ConfigurationContext.tsx index 4740365f0..d4a25f957 100644 --- a/packages/preact-intlayer/src/editor/ConfigurationContext.tsx +++ b/packages/preact-intlayer/src/editor/ConfigurationContext.tsx @@ -1,7 +1,7 @@ 'use client'; +import type { IntlayerConfig } from '@intlayer/config/client'; import { MessageKey } from '@intlayer/editor'; -import type { IntlayerConfig } from '@intlayer/types'; import { createContext, type FC, diff --git a/packages/preact-intlayer/src/editor/DictionariesRecordContext.tsx b/packages/preact-intlayer/src/editor/DictionariesRecordContext.tsx index 6aa9a2aff..e205f7738 100644 --- a/packages/preact-intlayer/src/editor/DictionariesRecordContext.tsx +++ b/packages/preact-intlayer/src/editor/DictionariesRecordContext.tsx @@ -1,7 +1,7 @@ 'use client'; +import type { Dictionary } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { Dictionary } from '@intlayer/types'; import { createContext, type Dispatch, @@ -52,7 +52,7 @@ export const DictionariesRecordProvider: FC = ({ setLocaleDictionary: (dictionary: Dictionary) => { setLocaleDictionaries((dictionaries) => ({ ...dictionaries, - [String(dictionary.localId)]: dictionary, + [dictionary.localId]: dictionary, })); }, }), diff --git a/packages/preact-intlayer/src/editor/EditedContentContext.tsx b/packages/preact-intlayer/src/editor/EditedContentContext.tsx index 8bb21c828..83b9064a2 100644 --- a/packages/preact-intlayer/src/editor/EditedContentContext.tsx +++ b/packages/preact-intlayer/src/editor/EditedContentContext.tsx @@ -1,17 +1,15 @@ 'use client'; import { + type ContentNode, + type Dictionary, editDictionaryByKeyPath, getContentNodeByKeyPath, + type KeyPath, + type LocalDictionaryId, renameContentNodeByKeyPath, } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { - ContentNode, - Dictionary, - KeyPath, - LocalDictionaryId, -} from '@intlayer/types'; import { createContext, type Dispatch, diff --git a/packages/preact-intlayer/src/editor/FocusDictionaryContext.tsx b/packages/preact-intlayer/src/editor/FocusDictionaryContext.tsx index 8f5a0523a..13e386829 100644 --- a/packages/preact-intlayer/src/editor/FocusDictionaryContext.tsx +++ b/packages/preact-intlayer/src/editor/FocusDictionaryContext.tsx @@ -1,7 +1,7 @@ 'use client'; +import type { KeyPath } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { KeyPath } from '@intlayer/types'; import { createContext, type Dispatch, diff --git a/packages/preact-intlayer/src/editor/useEditedContentRenderer.tsx b/packages/preact-intlayer/src/editor/useEditedContentRenderer.tsx index 6ce8cfdf1..65c5e5d1c 100644 --- a/packages/preact-intlayer/src/editor/useEditedContentRenderer.tsx +++ b/packages/preact-intlayer/src/editor/useEditedContentRenderer.tsx @@ -1,7 +1,7 @@ 'use client'; -import { getContent } from '@intlayer/core'; -import type { Dictionary, KeyPath, Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config/client'; +import { type Dictionary, getContent, type KeyPath } from '@intlayer/core'; import type { FC } from 'preact/compat'; import { useEditedContentActions } from './EditedContentContext'; diff --git a/packages/preact-intlayer/src/getDictionary.ts b/packages/preact-intlayer/src/getDictionary.ts index 44c01de77..1ac8e219a 100644 --- a/packages/preact-intlayer/src/getDictionary.ts +++ b/packages/preact-intlayer/src/getDictionary.ts @@ -1,8 +1,9 @@ +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { + type Dictionary, getDictionary as getDictionaryCore, type Plugins, } from '@intlayer/core'; -import type { Dictionary, Locales, LocalesValues } from '@intlayer/types'; import { type DeepTransformContent, intlayerNodePlugins, @@ -17,7 +18,7 @@ export const getDictionary = < dictionary: T, locale?: L, additionalPlugins?: Plugins[] -): DeepTransformContent => { +) => { const plugins: Plugins[] = [ intlayerNodePlugins, preactNodePlugins, @@ -25,6 +26,9 @@ export const getDictionary = < ...(additionalPlugins ?? []), ]; - // @ts-ignore Type instantiation is excessively deep and possibly infinite - return getDictionaryCore(dictionary, locale as L, plugins); + return getDictionaryCore( + dictionary, + locale, + plugins + ) as any as DeepTransformContent; }; diff --git a/packages/preact-intlayer/src/getIntlayer.ts b/packages/preact-intlayer/src/getIntlayer.ts index 41692aa7a..3b4a37c0c 100644 --- a/packages/preact-intlayer/src/getIntlayer.ts +++ b/packages/preact-intlayer/src/getIntlayer.ts @@ -1,9 +1,10 @@ -import { getIntlayer as getIntlayerCore, type Plugins } from '@intlayer/core'; -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import { + type DictionaryKeys, + getIntlayer as getIntlayerCore, + type Plugins, +} from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector, LocalesValues } from 'intlayer'; import { type DeepTransformContent, intlayerNodePlugins, @@ -23,8 +24,7 @@ export const getIntlayer = ( ...(additionalPlugins ?? []), ]; - // @ts-ignore Type instantiation is excessively deep and possibly infinite - return getIntlayerCore(key, locale, plugins) as DeepTransformContent< - DictionaryRegistryContent + return getIntlayerCore(key, locale, plugins) as any as DeepTransformContent< + IntlayerDictionaryTypesConnector[T]['content'] >; }; diff --git a/packages/preact-intlayer/src/markdown/MarkdownRenderer.tsx b/packages/preact-intlayer/src/markdown/MarkdownRenderer.tsx index 439db68a5..3fad5f1f7 100644 --- a/packages/preact-intlayer/src/markdown/MarkdownRenderer.tsx +++ b/packages/preact-intlayer/src/markdown/MarkdownRenderer.tsx @@ -1,11 +1,13 @@ 'use client'; +import type { LocalesValues } from '@intlayer/config/client'; import { + type ContentNode, getContent, getContentNodeByKeyPath, getMarkdownMetadata, + type KeyPath, } from '@intlayer/core'; -import type { ContentNode, KeyPath, LocalesValues } from '@intlayer/types'; import type { FC, ReactNode } from 'preact/compat'; import { useEditedContentRenderer } from '../editor/useEditedContentRenderer'; import { useMarkdownContext } from './MarkdownProvider'; diff --git a/packages/preact-intlayer/src/plugins.tsx b/packages/preact-intlayer/src/plugins.tsx index b0a95c780..a905f8c54 100644 --- a/packages/preact-intlayer/src/plugins.tsx +++ b/packages/preact-intlayer/src/plugins.tsx @@ -2,11 +2,11 @@ import { type DeepTransformContent as DeepTransformContentCore, getMarkdownMetadata, type IInterpreterPluginState as IInterpreterPluginStateCore, + type KeyPath, type MarkdownContent, + NodeType, type Plugins, } from '@intlayer/core'; -import type { KeyPath } from '@intlayer/types'; -import { NodeType } from '@intlayer/types'; import type { ComponentChildren } from 'preact'; import { ContentSelectorRenderer } from './editor'; import { EditedContentRenderer } from './editor/useEditedContentRenderer'; diff --git a/packages/preact-intlayer/types/intlayer.d.ts b/packages/preact-intlayer/types/intlayer.d.ts new file mode 100644 index 000000000..37ddcdaa5 --- /dev/null +++ b/packages/preact-intlayer/types/intlayer.d.ts @@ -0,0 +1,20 @@ +import type { Locales } from 'intlayer'; + +declare module 'intlayer' { + interface IntlayerDictionaryTypesConnector { + eee: { + key: 'eee'; + content: { + title: string; + }; + }; + } + + type ConfigLocales = Locales.ENGLISH; + type ExtractedLocales = Extract; + type ExcludedLocales = Exclude; + + interface IConfigLocales + extends Record, + Partial> {} +} diff --git a/packages/react-intlayer/package.json b/packages/react-intlayer/package.json index 20537f0c1..a215e6adc 100644 --- a/packages/react-intlayer/package.json +++ b/packages/react-intlayer/package.json @@ -92,7 +92,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -101,12 +101,11 @@ "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", "test:watch": "vitest", - "typecheck": "tsc --noEmit --project tsconfig.types.json" -}, + "typecheck": "tsdown --project ./tsconfig.json --noEmit" + }, "dependencies": { "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor-react": "workspace:*", @@ -122,7 +121,6 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", "concurrently": "9.2.1", "rimraf": "6.0.1", @@ -133,7 +131,6 @@ "peerDependencies": { "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor-react": "workspace:*", diff --git a/packages/react-intlayer/src/client/IntlayerProvider.tsx b/packages/react-intlayer/src/client/IntlayerProvider.tsx index 40bb97d5b..eae817b89 100644 --- a/packages/react-intlayer/src/client/IntlayerProvider.tsx +++ b/packages/react-intlayer/src/client/IntlayerProvider.tsx @@ -1,9 +1,10 @@ 'use client'; import configuration from '@intlayer/config/built'; +import type { LocalesValues } from '@intlayer/config/client'; + import { localeResolver } from '@intlayer/core'; import { MessageKey, useCrossFrameState } from '@intlayer/editor-react'; -import type { LocalesValues } from '@intlayer/types'; import { createContext, type FC, diff --git a/packages/react-intlayer/src/client/getBrowserLocale.tsx b/packages/react-intlayer/src/client/getBrowserLocale.tsx index eab214007..d55fbf4a4 100644 --- a/packages/react-intlayer/src/client/getBrowserLocale.tsx +++ b/packages/react-intlayer/src/client/getBrowserLocale.tsx @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import { Locales } from '@intlayer/types'; +import { Locales } from '@intlayer/config/client'; export enum LanguageDetector { Querystring = 'querystring', diff --git a/packages/react-intlayer/src/client/t.ts b/packages/react-intlayer/src/client/t.ts index 6b58ba1a3..237351d5b 100644 --- a/packages/react-intlayer/src/client/t.ts +++ b/packages/react-intlayer/src/client/t.ts @@ -1,7 +1,7 @@ 'use client'; -import { getTranslation } from '@intlayer/core'; -import type { LanguageContent, Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config/client'; +import { getTranslation, type LanguageContent } from '@intlayer/core'; import { useContext } from 'react'; import { IntlayerClientContext } from './IntlayerProvider'; diff --git a/packages/react-intlayer/src/client/useDictionary.ts b/packages/react-intlayer/src/client/useDictionary.ts index c834a0509..5b79c5688 100644 --- a/packages/react-intlayer/src/client/useDictionary.ts +++ b/packages/react-intlayer/src/client/useDictionary.ts @@ -1,6 +1,7 @@ 'use client'; -import type { Dictionary, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary } from '@intlayer/core'; import { useContext, useMemo } from 'react'; import { getDictionary } from '../getDictionary'; import { IntlayerClientContext } from './IntlayerProvider'; diff --git a/packages/react-intlayer/src/client/useDictionaryAsync.ts b/packages/react-intlayer/src/client/useDictionaryAsync.ts index 04d524a8d..99271c165 100644 --- a/packages/react-intlayer/src/client/useDictionaryAsync.ts +++ b/packages/react-intlayer/src/client/useDictionaryAsync.ts @@ -1,11 +1,8 @@ 'use client'; import configuration from '@intlayer/config/built'; -import type { - Dictionary, - LanguageContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary, LanguageContent } from '@intlayer/core'; import { useContext, useMemo } from 'react'; import { IntlayerClientContext } from './IntlayerProvider'; import { useDictionary } from './useDictionary'; diff --git a/packages/react-intlayer/src/client/useDictionaryDynamic.ts b/packages/react-intlayer/src/client/useDictionaryDynamic.ts index 1ba0fcf93..32ca6e564 100644 --- a/packages/react-intlayer/src/client/useDictionaryDynamic.ts +++ b/packages/react-intlayer/src/client/useDictionaryDynamic.ts @@ -1,12 +1,12 @@ 'use client'; import configuration from '@intlayer/config/built'; +import type { LocalesValues } from '@intlayer/config/client'; import type { Dictionary, DictionaryKeys, LanguageContent, - LocalesValues, -} from '@intlayer/types'; +} from '@intlayer/core'; import { useContext, useMemo } from 'react'; import { IntlayerClientContext } from './IntlayerProvider'; import { useDictionary } from './useDictionary'; diff --git a/packages/react-intlayer/src/client/useI18n.ts b/packages/react-intlayer/src/client/useI18n.ts index b137eded8..27aaa28ac 100644 --- a/packages/react-intlayer/src/client/useI18n.ts +++ b/packages/react-intlayer/src/client/useI18n.ts @@ -1,12 +1,13 @@ 'use client'; -import { getIntlayer, type ValidDotPathsFor } from '@intlayer/core'; +import type { LocalesValues } from '@intlayer/config/client'; import type { DictionaryKeys, - DictionaryRegistryContent, GetSubPath, - LocalesValues, -} from '@intlayer/types'; + ValidDotPathsFor, +} from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import { getIntlayer, type IntlayerDictionaryTypesConnector } from 'intlayer'; import { useContext, useMemo } from 'react'; import type { DeepTransformContent } from '../plugins'; import { IntlayerClientContext } from './IntlayerProvider'; @@ -28,9 +29,9 @@ import { IntlayerClientContext } from './IntlayerProvider'; * const ariaLabel = t('button.ariaLabel').value; // 'Close modal' * ``` */ -export const useI18n = ( +export const useI18n = ( namespace: T, - locale?: L + locale?: LocalesValues ) => { const { locale: currentLocale } = useContext(IntlayerClientContext); const localeTarget = useMemo( @@ -39,21 +40,23 @@ export const useI18n = ( ); // Get the dictionary content for the namespace - // @ts-ignore Type instantiation is excessively deep and possibly infinite - const dictionaryContent: DeepTransformContent> = - useMemo( - () => getIntlayer(namespace, localeTarget as L), - [namespace, localeTarget] - ); + const dictionaryContent: DeepTransformContent< + // @ts-ignore Type 'T' cannot be used to index type 'IntlayerDictionaryTypesConnector' + IntlayerDictionaryTypesConnector[T]['content'] + > = useMemo( + () => getIntlayer(namespace, localeTarget), + [namespace, localeTarget] + ); // Return the translation function - // @ts-ignore Type instantiation is excessively deep and possibly infinite const t =

>( path: P - // @ts-ignore Type instantiation is excessively deep and possibly infinite - ): GetSubPath>, P> => { + ): GetSubPath< + // @ts-ignore Type 'T' cannot be used to index type 'IntlayerDictionaryTypesConnector' + DeepTransformContent, + P + > => { if (!path) { - // @ts-ignore Type instantiation is excessively deep and possibly infinite return dictionaryContent as any; } diff --git a/packages/react-intlayer/src/client/useIntlayer.ts b/packages/react-intlayer/src/client/useIntlayer.ts index 922a815f4..60d0248a9 100644 --- a/packages/react-intlayer/src/client/useIntlayer.ts +++ b/packages/react-intlayer/src/client/useIntlayer.ts @@ -1,10 +1,9 @@ 'use client'; -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { DictionaryKeys } from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector } from 'intlayer'; import { useContext, useMemo } from 'react'; import { getIntlayer } from '../getIntlayer'; import type { DeepTransformContent } from '../plugins'; @@ -20,7 +19,8 @@ import { IntlayerClientContext } from './IntlayerProvider'; export const useIntlayer = ( key: T, locale?: LocalesValues -): DeepTransformContent> => { + // @ts-ignore Type 'T' cannot be used to index type 'IntlayerDictionaryTypesConnector' +): DeepTransformContent => { const { locale: currentLocale } = useContext(IntlayerClientContext); return useMemo(() => { diff --git a/packages/react-intlayer/src/client/useLocale.ts b/packages/react-intlayer/src/client/useLocale.ts index 112b6b8fd..97264a18f 100644 --- a/packages/react-intlayer/src/client/useLocale.ts +++ b/packages/react-intlayer/src/client/useLocale.ts @@ -1,7 +1,7 @@ 'use client'; import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { useCallback, useContext } from 'react'; import { IntlayerClientContext } from './IntlayerProvider'; import { useLocaleCookie } from './useLocaleCookie'; diff --git a/packages/react-intlayer/src/client/useLocaleCookie.ts b/packages/react-intlayer/src/client/useLocaleCookie.ts index 5ca2cc6b9..83a0e362a 100644 --- a/packages/react-intlayer/src/client/useLocaleCookie.ts +++ b/packages/react-intlayer/src/client/useLocaleCookie.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import Cookies from 'js-cookie'; diff --git a/packages/react-intlayer/src/client/useTraduction.ts b/packages/react-intlayer/src/client/useTraduction.ts index 67521cd14..5f641dd9f 100644 --- a/packages/react-intlayer/src/client/useTraduction.ts +++ b/packages/react-intlayer/src/client/useTraduction.ts @@ -1,5 +1,4 @@ -import { getTranslation } from '@intlayer/core'; -import type { LanguageContent } from '@intlayer/types'; +import { getTranslation, type LanguageContent } from '@intlayer/core'; import { useContext, useMemo } from 'react'; import { IntlayerClientContext } from './IntlayerProvider'; diff --git a/packages/react-intlayer/src/editor/useEditedContentRenderer.tsx b/packages/react-intlayer/src/editor/useEditedContentRenderer.tsx index fcecee8e8..c8b5eb913 100644 --- a/packages/react-intlayer/src/editor/useEditedContentRenderer.tsx +++ b/packages/react-intlayer/src/editor/useEditedContentRenderer.tsx @@ -1,8 +1,8 @@ 'use client'; -import { getContent } from '@intlayer/core'; +import type { Locales } from '@intlayer/config/client'; +import { getContent, type KeyPath } from '@intlayer/core'; import { useEditedContentActions } from '@intlayer/editor-react'; -import type { KeyPath, Locales } from '@intlayer/types'; import type { FC } from 'react'; import { ContentSelectorRenderer } from './ContentSelectorWrapper'; diff --git a/packages/react-intlayer/src/getDictionary.ts b/packages/react-intlayer/src/getDictionary.ts index c719ac8c0..ec5c2481b 100644 --- a/packages/react-intlayer/src/getDictionary.ts +++ b/packages/react-intlayer/src/getDictionary.ts @@ -1,8 +1,9 @@ +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { + type Dictionary, getDictionary as getDictionaryCore, type Plugins, } from '@intlayer/core'; -import type { Dictionary, Locales, LocalesValues } from '@intlayer/types'; import { type DeepTransformContent, intlayerNodePlugins, diff --git a/packages/react-intlayer/src/getIntlayer.ts b/packages/react-intlayer/src/getIntlayer.ts index cbeaa8ff9..e526371cd 100644 --- a/packages/react-intlayer/src/getIntlayer.ts +++ b/packages/react-intlayer/src/getIntlayer.ts @@ -1,9 +1,9 @@ -import { getIntlayer as getIntlayerCore, type Plugins } from '@intlayer/core'; -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import { + type DictionaryKeys, + getIntlayer as getIntlayerCore, + type Plugins, +} from '@intlayer/core'; +import type { IntlayerDictionaryTypesConnector, LocalesValues } from 'intlayer'; import { type DeepTransformContent, intlayerNodePlugins, @@ -24,6 +24,7 @@ export const getIntlayer = ( ]; return getIntlayerCore(key, locale, plugins) as any as DeepTransformContent< - DictionaryRegistryContent + // @ts-ignore Type 'T' cannot be used to index type 'IntlayerDictionaryTypesConnector' + IntlayerDictionaryTypesConnector[T]['content'] >; }; diff --git a/packages/react-intlayer/src/markdown/MarkdownRenderer.tsx b/packages/react-intlayer/src/markdown/MarkdownRenderer.tsx index 8b3ce7105..f5f176e52 100644 --- a/packages/react-intlayer/src/markdown/MarkdownRenderer.tsx +++ b/packages/react-intlayer/src/markdown/MarkdownRenderer.tsx @@ -1,11 +1,13 @@ 'use client'; +import type { LocalesValues } from '@intlayer/config/client'; import { + type ContentNode, getContent, getContentNodeByKeyPath, getMarkdownMetadata, + type KeyPath, } from '@intlayer/core'; -import type { ContentNode, KeyPath, LocalesValues } from '@intlayer/types'; import type { FC, ReactNode } from 'react'; import { useEditedContentRenderer } from '../editor/useEditedContentRenderer'; import { useMarkdownContext } from './MarkdownProvider'; diff --git a/packages/react-intlayer/src/plugins.tsx b/packages/react-intlayer/src/plugins.tsx index bc5afd03a..edf4faf78 100644 --- a/packages/react-intlayer/src/plugins.tsx +++ b/packages/react-intlayer/src/plugins.tsx @@ -2,11 +2,11 @@ import { type DeepTransformContent as DeepTransformContentCore, getMarkdownMetadata, type IInterpreterPluginState as IInterpreterPluginStateCore, + type KeyPath, type MarkdownContent, + NodeType, type Plugins, } from '@intlayer/core'; -import type { KeyPath } from '@intlayer/types'; -import { NodeType } from '@intlayer/types'; import type { ReactNode } from 'react'; import { ContentSelectorRenderer } from './editor'; import { EditedContentRenderer } from './editor/useEditedContentRenderer'; diff --git a/packages/react-intlayer/src/server/IntlayerServerProvider.tsx b/packages/react-intlayer/src/server/IntlayerServerProvider.tsx index 5a823b078..5a09956f0 100644 --- a/packages/react-intlayer/src/server/IntlayerServerProvider.tsx +++ b/packages/react-intlayer/src/server/IntlayerServerProvider.tsx @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import type { FC, PropsWithChildren } from 'react'; import { createServerContext, getServerContext } from './serverContext'; diff --git a/packages/react-intlayer/src/server/format/useCompact.ts b/packages/react-intlayer/src/server/format/useCompact.ts index a069f7526..20da8892f 100644 --- a/packages/react-intlayer/src/server/format/useCompact.ts +++ b/packages/react-intlayer/src/server/format/useCompact.ts @@ -1,5 +1,5 @@ +import type { LocalesValues } from '@intlayer/config/client'; import { compact } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { IntlayerServerContext } from '../IntlayerServerProvider'; import { getServerContext } from '../serverContext'; diff --git a/packages/react-intlayer/src/server/format/useCurrency.ts b/packages/react-intlayer/src/server/format/useCurrency.ts index 053f8fbc3..ab4b00542 100644 --- a/packages/react-intlayer/src/server/format/useCurrency.ts +++ b/packages/react-intlayer/src/server/format/useCurrency.ts @@ -1,5 +1,5 @@ +import type { LocalesValues } from '@intlayer/config/client'; import { currency } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { IntlayerServerContext } from '../IntlayerServerProvider'; import { getServerContext } from '../serverContext'; diff --git a/packages/react-intlayer/src/server/format/useDate.ts b/packages/react-intlayer/src/server/format/useDate.ts index 92e4b543d..8bb0beaff 100644 --- a/packages/react-intlayer/src/server/format/useDate.ts +++ b/packages/react-intlayer/src/server/format/useDate.ts @@ -1,5 +1,5 @@ +import type { LocalesValues } from '@intlayer/config/client'; import { date } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { IntlayerServerContext } from '../IntlayerServerProvider'; import { getServerContext } from '../serverContext'; diff --git a/packages/react-intlayer/src/server/format/useList.ts b/packages/react-intlayer/src/server/format/useList.ts index 0f64e412f..d975466de 100644 --- a/packages/react-intlayer/src/server/format/useList.ts +++ b/packages/react-intlayer/src/server/format/useList.ts @@ -1,5 +1,5 @@ +import type { LocalesValues } from '@intlayer/config/client'; import { list } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { IntlayerServerContext } from '../IntlayerServerProvider'; import { getServerContext } from '../serverContext'; diff --git a/packages/react-intlayer/src/server/format/useNumber.ts b/packages/react-intlayer/src/server/format/useNumber.ts index d814b5261..d378b8b81 100644 --- a/packages/react-intlayer/src/server/format/useNumber.ts +++ b/packages/react-intlayer/src/server/format/useNumber.ts @@ -1,5 +1,5 @@ +import type { LocalesValues } from '@intlayer/config/client'; import { number } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { IntlayerServerContext } from '../IntlayerServerProvider'; import { getServerContext } from '../serverContext'; diff --git a/packages/react-intlayer/src/server/format/usePercentage.ts b/packages/react-intlayer/src/server/format/usePercentage.ts index 4e3c0e43a..806145a42 100644 --- a/packages/react-intlayer/src/server/format/usePercentage.ts +++ b/packages/react-intlayer/src/server/format/usePercentage.ts @@ -1,5 +1,5 @@ +import type { LocalesValues } from '@intlayer/config/client'; import { percentage } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { IntlayerServerContext } from '../IntlayerServerProvider'; import { getServerContext } from '../serverContext'; diff --git a/packages/react-intlayer/src/server/format/useRelativeTime.ts b/packages/react-intlayer/src/server/format/useRelativeTime.ts index cdb79c144..bdc0b202f 100644 --- a/packages/react-intlayer/src/server/format/useRelativeTime.ts +++ b/packages/react-intlayer/src/server/format/useRelativeTime.ts @@ -1,5 +1,5 @@ +import type { LocalesValues } from '@intlayer/config/client'; import { relativeTime } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { IntlayerServerContext } from '../IntlayerServerProvider'; import { getServerContext } from '../serverContext'; diff --git a/packages/react-intlayer/src/server/format/useUnit.ts b/packages/react-intlayer/src/server/format/useUnit.ts index 2a41b575f..0769c8ac3 100644 --- a/packages/react-intlayer/src/server/format/useUnit.ts +++ b/packages/react-intlayer/src/server/format/useUnit.ts @@ -1,5 +1,5 @@ +import type { LocalesValues } from '@intlayer/config/client'; import { units } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { IntlayerServerContext } from '../IntlayerServerProvider'; import { getServerContext } from '../serverContext'; diff --git a/packages/react-intlayer/src/server/t.ts b/packages/react-intlayer/src/server/t.ts index d0b794231..8c0355fd0 100644 --- a/packages/react-intlayer/src/server/t.ts +++ b/packages/react-intlayer/src/server/t.ts @@ -1,5 +1,5 @@ -import { getTranslation } from '@intlayer/core'; -import type { LanguageContent, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import { getTranslation, type LanguageContent } from '@intlayer/core'; import { IntlayerServerContext } from './IntlayerServerProvider'; import { getServerContext } from './serverContext'; diff --git a/packages/react-intlayer/src/server/useDictionary.ts b/packages/react-intlayer/src/server/useDictionary.ts index 174dab2d4..12f6b508f 100644 --- a/packages/react-intlayer/src/server/useDictionary.ts +++ b/packages/react-intlayer/src/server/useDictionary.ts @@ -1,4 +1,5 @@ -import type { Dictionary, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary } from '@intlayer/core'; import { getDictionary } from '../getDictionary'; import { IntlayerServerContext } from './IntlayerServerProvider'; import { getServerContext } from './serverContext'; diff --git a/packages/react-intlayer/src/server/useDictionaryAsync.ts b/packages/react-intlayer/src/server/useDictionaryAsync.ts index a6fcbff06..811f48a13 100644 --- a/packages/react-intlayer/src/server/useDictionaryAsync.ts +++ b/packages/react-intlayer/src/server/useDictionaryAsync.ts @@ -1,9 +1,6 @@ import configuration from '@intlayer/config/built'; -import type { - Dictionary, - LanguageContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary, LanguageContent } from '@intlayer/core'; import { IntlayerServerContext } from './IntlayerServerProvider'; import { getServerContext } from './serverContext'; import { useDictionary } from './useDictionary'; diff --git a/packages/react-intlayer/src/server/useDictionaryDynamic.ts b/packages/react-intlayer/src/server/useDictionaryDynamic.ts index edf19282e..476732f41 100644 --- a/packages/react-intlayer/src/server/useDictionaryDynamic.ts +++ b/packages/react-intlayer/src/server/useDictionaryDynamic.ts @@ -1,9 +1,6 @@ import configuration from '@intlayer/config/built'; -import type { - Dictionary, - LanguageContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary, LanguageContent } from '@intlayer/core'; import { IntlayerServerContext } from './IntlayerServerProvider'; import { getServerContext } from './serverContext'; import { useDictionary } from './useDictionary'; diff --git a/packages/react-intlayer/src/server/useI18n.ts b/packages/react-intlayer/src/server/useI18n.ts index d7819f544..dc0a6aa73 100644 --- a/packages/react-intlayer/src/server/useI18n.ts +++ b/packages/react-intlayer/src/server/useI18n.ts @@ -1,10 +1,11 @@ -import type { ValidDotPathsFor } from '@intlayer/core'; +import type { LocalesValues } from '@intlayer/config/client'; import type { DictionaryKeys, - DictionaryRegistryContent, GetSubPath, - LocalesValues, -} from '@intlayer/types'; + ValidDotPathsFor, +} from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector } from 'intlayer'; import { getIntlayer } from '../getIntlayer'; import type { DeepTransformContent } from '../plugins'; import { IntlayerServerContext } from './IntlayerServerProvider'; @@ -36,10 +37,13 @@ export const useI18n = ( const dictionaryContent = getIntlayer(namespace, localeTarget); // Return the translation function - // @ts-ignore Type instantiation is excessively deep and possibly infinite const t =

>( path: P - ): GetSubPath>, P> => { + ): GetSubPath< + // @ts-ignore Type 'T' cannot be used to index type 'IntlayerDictionaryTypesConnector' + DeepTransformContent, + P + > => { if (!path) { return dictionaryContent as any; } diff --git a/packages/react-intlayer/src/server/useIntlayer.ts b/packages/react-intlayer/src/server/useIntlayer.ts index 889ef23c2..52c3294b4 100644 --- a/packages/react-intlayer/src/server/useIntlayer.ts +++ b/packages/react-intlayer/src/server/useIntlayer.ts @@ -1,4 +1,5 @@ -import type { DictionaryKeys, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { DictionaryKeys } from '@intlayer/core'; import { getIntlayer } from '../getIntlayer'; import { IntlayerServerContext } from './IntlayerServerProvider'; import { getServerContext } from './serverContext'; diff --git a/packages/react-intlayer/src/server/useLocale.ts b/packages/react-intlayer/src/server/useLocale.ts index a1cbd2586..ed2aff901 100644 --- a/packages/react-intlayer/src/server/useLocale.ts +++ b/packages/react-intlayer/src/server/useLocale.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { Locales, LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { IntlayerServerContext } from './IntlayerServerProvider'; import { getServerContext } from './serverContext'; diff --git a/packages/react-intlayer/types/intlayer.d.ts b/packages/react-intlayer/types/intlayer.d.ts new file mode 100644 index 000000000..37ddcdaa5 --- /dev/null +++ b/packages/react-intlayer/types/intlayer.d.ts @@ -0,0 +1,20 @@ +import type { Locales } from 'intlayer'; + +declare module 'intlayer' { + interface IntlayerDictionaryTypesConnector { + eee: { + key: 'eee'; + content: { + title: string; + }; + }; + } + + type ConfigLocales = Locales.ENGLISH; + type ExtractedLocales = Extract; + type ExcludedLocales = Exclude; + + interface IConfigLocales + extends Record, + Partial> {} +} diff --git a/packages/react-native-intlayer/package.json b/packages/react-native-intlayer/package.json index d1ce6dbda..aef08fc2c 100644 --- a/packages/react-native-intlayer/package.json +++ b/packages/react-native-intlayer/package.json @@ -71,7 +71,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -80,12 +80,11 @@ "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", "test:watch": "vitest", - "typecheck": "tsc --noEmit --project tsconfig.types.json" -}, + "typecheck": "tsdown --project ./tsconfig.json --noEmit" + }, "dependencies": { "@intlayer/chokidar": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "react-intlayer": "workspace:*" }, @@ -106,7 +105,6 @@ }, "peerDependencies": { "@intlayer/chokidar": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "expo": ">=52", diff --git a/packages/react-scripts-intlayer/package.json b/packages/react-scripts-intlayer/package.json index 789bf51df..98c161d18 100644 --- a/packages/react-scripts-intlayer/package.json +++ b/packages/react-scripts-intlayer/package.json @@ -63,21 +63,20 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", - "format": "biome format . --check", - "format:fix": "biome format --write .", "lint": "biome lint .", "lint:fix": "biome lint --write .", + "format": "biome format . --check", + "format:fix": "biome format --write .", "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", "test:watch": "vitest", - "typecheck": "tsc --noEmit --project tsconfig.types.json" -}, + "typecheck": "tsdown --project ./tsconfig.json --noEmit" + }, "dependencies": { "@craco/craco": "7.1.0", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/webpack": "workspace:*", "node-loader": "2.1.0", "process": "0.11.10", @@ -93,13 +92,12 @@ "@utils/tsdown-config": "workspace:*", "concurrently": "9.2.1", "rimraf": "6.0.1", - "tsdown": "0.15.7", + "typescript": "5.9.3", "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/webpack": "workspace:*", "webpack": ">=5.0.0" }, diff --git a/packages/solid-intlayer/package.json b/packages/solid-intlayer/package.json index 9df439dd1..19754f953 100644 --- a/packages/solid-intlayer/package.json +++ b/packages/solid-intlayer/package.json @@ -58,7 +58,7 @@ "scripts": { "build": "vite build", "build:ci": "vite build", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "vite build --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -67,13 +67,12 @@ "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", "test:watch": "vitest", - "typecheck": "tsc --noEmit --project tsconfig.types.json" -}, + "typecheck": "tsdown --project ./tsconfig.json --noEmit" + }, "dependencies": { "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/editor": "workspace:*", "js-cookie": "3.0.5" }, @@ -86,7 +85,6 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", "concurrently": "9.2.1", "jsdom": "26.1.0", "rimraf": "6.0.1", @@ -98,7 +96,6 @@ }, "peerDependencies": { "@intlayer/api": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", diff --git a/packages/solid-intlayer/src/client/IntlayerProvider.tsx b/packages/solid-intlayer/src/client/IntlayerProvider.tsx index 5b5075f51..aacbff3e1 100644 --- a/packages/solid-intlayer/src/client/IntlayerProvider.tsx +++ b/packages/solid-intlayer/src/client/IntlayerProvider.tsx @@ -1,6 +1,7 @@ import configuration from '@intlayer/config/built'; +import type { LocalesValues } from '@intlayer/config/client'; + import { localeResolver } from '@intlayer/core'; -import type { LocalesValues } from '@intlayer/types'; import { type Component, createContext, diff --git a/packages/solid-intlayer/src/client/getBrowserLocale.tsx b/packages/solid-intlayer/src/client/getBrowserLocale.tsx index eab214007..d55fbf4a4 100644 --- a/packages/solid-intlayer/src/client/getBrowserLocale.tsx +++ b/packages/solid-intlayer/src/client/getBrowserLocale.tsx @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import { Locales } from '@intlayer/types'; +import { Locales } from '@intlayer/config/client'; export enum LanguageDetector { Querystring = 'querystring', diff --git a/packages/solid-intlayer/src/client/t.ts b/packages/solid-intlayer/src/client/t.ts index 1b087c4a1..2c0a88760 100644 --- a/packages/solid-intlayer/src/client/t.ts +++ b/packages/solid-intlayer/src/client/t.ts @@ -1,5 +1,5 @@ -import { getTranslation } from '@intlayer/core'; -import type { LanguageContent, Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config/client'; +import { getTranslation, type LanguageContent } from '@intlayer/core'; import { useContext } from 'solid-js'; import { IntlayerClientContext } from './IntlayerProvider'; diff --git a/packages/solid-intlayer/src/client/useContent.ts b/packages/solid-intlayer/src/client/useContent.ts index 67126b147..5810475c8 100644 --- a/packages/solid-intlayer/src/client/useContent.ts +++ b/packages/solid-intlayer/src/client/useContent.ts @@ -1,4 +1,4 @@ -import type { LanguageContent } from '@intlayer/types'; +import type { LanguageContent } from '@intlayer/core'; import { useLocaleBase } from './useLocaleBase'; import { useTranslation } from './useTraduction'; diff --git a/packages/solid-intlayer/src/client/useDictionary.ts b/packages/solid-intlayer/src/client/useDictionary.ts index 6bd108551..25e07df79 100644 --- a/packages/solid-intlayer/src/client/useDictionary.ts +++ b/packages/solid-intlayer/src/client/useDictionary.ts @@ -1,4 +1,5 @@ -import type { Dictionary, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary } from '@intlayer/core'; import { createMemo, useContext } from 'solid-js'; import { getDictionary } from '../getDictionary'; import { IntlayerClientContext } from './IntlayerProvider'; diff --git a/packages/solid-intlayer/src/client/useDictionaryAsync.ts b/packages/solid-intlayer/src/client/useDictionaryAsync.ts index f68a22e93..dbc876369 100644 --- a/packages/solid-intlayer/src/client/useDictionaryAsync.ts +++ b/packages/solid-intlayer/src/client/useDictionaryAsync.ts @@ -1,9 +1,6 @@ import configuration from '@intlayer/config/built'; -import type { - Dictionary, - LanguageContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary, LanguageContent } from '@intlayer/core'; import { useContext } from 'solid-js'; import { IntlayerClientContext } from './IntlayerProvider'; import { useDictionary } from './useDictionary'; diff --git a/packages/solid-intlayer/src/client/useDictionaryDynamic.ts b/packages/solid-intlayer/src/client/useDictionaryDynamic.ts index 006422c41..7618ff057 100644 --- a/packages/solid-intlayer/src/client/useDictionaryDynamic.ts +++ b/packages/solid-intlayer/src/client/useDictionaryDynamic.ts @@ -1,10 +1,10 @@ import configuration from '@intlayer/config/built'; +import type { LocalesValues } from '@intlayer/config/client'; import type { Dictionary, DictionaryKeys, LanguageContent, - LocalesValues, -} from '@intlayer/types'; +} from '@intlayer/core'; import { useContext } from 'solid-js'; import { IntlayerClientContext } from './IntlayerProvider'; import { useDictionary } from './useDictionary'; @@ -23,15 +23,13 @@ export const useDictionaryDynamic = < key: K, locale?: LocalesValues ) => { - const { locale: currentLocale } = useContext(IntlayerClientContext) ?? {}; + const { locale: currentLocale } = useContext(IntlayerClientContext); const defaultLocale = configuration?.internationalization.defaultLocale; - const localeTarget = locale ?? currentLocale?.() ?? defaultLocale; + const localeTarget = locale ?? currentLocale() ?? defaultLocale; const dictionary = useLoadDynamic( `${String(key)}.${localeTarget}`, - (dictionaryPromise as any)[ - localeTarget as keyof typeof dictionaryPromise - ]?.() + (dictionaryPromise as any)[localeTarget]?.() ) as T; return useDictionary(dictionary, localeTarget); diff --git a/packages/solid-intlayer/src/client/useIntlayer.ts b/packages/solid-intlayer/src/client/useIntlayer.ts index 8331dc49c..51a2afedc 100644 --- a/packages/solid-intlayer/src/client/useIntlayer.ts +++ b/packages/solid-intlayer/src/client/useIntlayer.ts @@ -1,8 +1,7 @@ -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { DictionaryKeys } from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector } from 'intlayer'; import { createMemo, useContext } from 'solid-js'; import { getIntlayer } from '../getIntlayer'; import type { DeepTransformContent } from '../plugins'; @@ -13,17 +12,18 @@ import { IntlayerClientContext } from './IntlayerProvider'; * * If the locale is not provided, it will use the locale from the client context */ -export const useIntlayer = ( +export const useIntlayer = ( key: T, - locale?: L -): (() => DeepTransformContent>) => { + locale?: LocalesValues +): (() => DeepTransformContent< + IntlayerDictionaryTypesConnector[T]['content'] +>) => { const context = useContext(IntlayerClientContext); - // @ts-ignore Type instantiation is excessively deep and possibly infinite return createMemo(() => { const currentLocale = context?.locale(); const localeTarget = locale ?? currentLocale; - return getIntlayer(key, localeTarget as L); + return getIntlayer(key, localeTarget); }); }; diff --git a/packages/solid-intlayer/src/client/useLocale.ts b/packages/solid-intlayer/src/client/useLocale.ts index a0dcace9e..6419e4145 100644 --- a/packages/solid-intlayer/src/client/useLocale.ts +++ b/packages/solid-intlayer/src/client/useLocale.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { createEffect, useContext } from 'solid-js'; import { IntlayerClientContext } from './IntlayerProvider'; import { useLocaleCookie } from './useLocaleCookie'; diff --git a/packages/solid-intlayer/src/client/useLocaleCookie.ts b/packages/solid-intlayer/src/client/useLocaleCookie.ts index 5ca2cc6b9..83a0e362a 100644 --- a/packages/solid-intlayer/src/client/useLocaleCookie.ts +++ b/packages/solid-intlayer/src/client/useLocaleCookie.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import Cookies from 'js-cookie'; diff --git a/packages/solid-intlayer/src/client/useTraduction.ts b/packages/solid-intlayer/src/client/useTraduction.ts index 6f86bc5c0..786f9d2d4 100644 --- a/packages/solid-intlayer/src/client/useTraduction.ts +++ b/packages/solid-intlayer/src/client/useTraduction.ts @@ -1,6 +1,4 @@ -import configuration from '@intlayer/config/built'; -import { getTranslation } from '@intlayer/core'; -import type { LanguageContent } from '@intlayer/types'; +import { getTranslation, type LanguageContent } from '@intlayer/core'; import { useContext } from 'solid-js'; import { IntlayerClientContext } from './IntlayerProvider'; @@ -28,10 +26,7 @@ import { IntlayerClientContext } from './IntlayerProvider'; export const useTranslation = ( languageContent: LanguageContent ): Content => { - const { locale } = useContext(IntlayerClientContext) ?? {}; + const { locale } = useContext(IntlayerClientContext); - return getTranslation( - languageContent, - locale?.() ?? configuration?.internationalization.defaultLocale - ); + return getTranslation(languageContent, locale()); }; diff --git a/packages/solid-intlayer/src/editor/contexts/ConfigurationContext.tsx b/packages/solid-intlayer/src/editor/contexts/ConfigurationContext.tsx index 7977fbb9e..115ee543d 100644 --- a/packages/solid-intlayer/src/editor/contexts/ConfigurationContext.tsx +++ b/packages/solid-intlayer/src/editor/contexts/ConfigurationContext.tsx @@ -1,5 +1,5 @@ +import type { IntlayerConfig } from '@intlayer/config/client'; import { MessageKey } from '@intlayer/editor'; -import type { IntlayerConfig } from '@intlayer/types'; import { type Component, createContext, diff --git a/packages/solid-intlayer/src/editor/contexts/DictionariesRecordContext.tsx b/packages/solid-intlayer/src/editor/contexts/DictionariesRecordContext.tsx index 776892b6f..574178e95 100644 --- a/packages/solid-intlayer/src/editor/contexts/DictionariesRecordContext.tsx +++ b/packages/solid-intlayer/src/editor/contexts/DictionariesRecordContext.tsx @@ -1,5 +1,5 @@ +import type { Dictionary } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { Dictionary } from '@intlayer/types'; import { type Component, createContext, diff --git a/packages/solid-intlayer/src/editor/contexts/EditedContentContext.tsx b/packages/solid-intlayer/src/editor/contexts/EditedContentContext.tsx index 43cd98751..c5e7cbee8 100644 --- a/packages/solid-intlayer/src/editor/contexts/EditedContentContext.tsx +++ b/packages/solid-intlayer/src/editor/contexts/EditedContentContext.tsx @@ -1,15 +1,13 @@ import { + type ContentNode, + type Dictionary, editDictionaryByKeyPath, getContentNodeByKeyPath, + type KeyPath, + type LocalDictionaryId, renameContentNodeByKeyPath, } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { - ContentNode, - Dictionary, - KeyPath, - LocalDictionaryId, -} from '@intlayer/types'; import { type Component, createContext, diff --git a/packages/solid-intlayer/src/editor/contexts/FocusDictionaryContext.tsx b/packages/solid-intlayer/src/editor/contexts/FocusDictionaryContext.tsx index b152e9c34..1a3c25362 100644 --- a/packages/solid-intlayer/src/editor/contexts/FocusDictionaryContext.tsx +++ b/packages/solid-intlayer/src/editor/contexts/FocusDictionaryContext.tsx @@ -1,5 +1,5 @@ +import type { KeyPath } from '@intlayer/core'; import { MessageKey } from '@intlayer/editor'; -import type { KeyPath } from '@intlayer/types'; import { type Component, createContext, diff --git a/packages/solid-intlayer/src/editor/useEditedContentRenderer.tsx b/packages/solid-intlayer/src/editor/useEditedContentRenderer.tsx index 20ae18855..d6a64e149 100644 --- a/packages/solid-intlayer/src/editor/useEditedContentRenderer.tsx +++ b/packages/solid-intlayer/src/editor/useEditedContentRenderer.tsx @@ -1,5 +1,5 @@ -import { getContent } from '@intlayer/core'; -import type { KeyPath, Locales } from '@intlayer/types'; +import type { Locales } from '@intlayer/config/client'; +import { getContent, type KeyPath } from '@intlayer/core'; import type { Component } from 'solid-js'; import { useEditedContentActions } from './contexts'; diff --git a/packages/solid-intlayer/src/getDictionary.ts b/packages/solid-intlayer/src/getDictionary.ts index b311d79a3..d4fd45ead 100644 --- a/packages/solid-intlayer/src/getDictionary.ts +++ b/packages/solid-intlayer/src/getDictionary.ts @@ -1,8 +1,9 @@ +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { + type Dictionary, getDictionary as getDictionaryCore, type Plugins, } from '@intlayer/core'; -import type { Dictionary, LocalesValues } from '@intlayer/types'; import { type DeepTransformContent, intlayerNodePlugins, @@ -12,7 +13,7 @@ import { export const getDictionary = < T extends Dictionary, - L extends LocalesValues = LocalesValues, + L extends LocalesValues = Locales, >( dictionary: T, locale?: L, @@ -25,10 +26,9 @@ export const getDictionary = < ...(additionalPlugins ?? []), ]; - // @ts-ignore Type instantiation is excessively deep and possibly infinite - return getDictionaryCore( + return getDictionaryCore( dictionary, - locale as L, + locale, plugins ) as any as DeepTransformContent; }; diff --git a/packages/solid-intlayer/src/getIntlayer.ts b/packages/solid-intlayer/src/getIntlayer.ts index b6256397b..83b559df0 100644 --- a/packages/solid-intlayer/src/getIntlayer.ts +++ b/packages/solid-intlayer/src/getIntlayer.ts @@ -1,9 +1,9 @@ -import { getIntlayer as getIntlayerCore, type Plugins } from '@intlayer/core'; -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import { + type DictionaryKeys, + getIntlayer as getIntlayerCore, + type Plugins, +} from '@intlayer/core'; +import type { IntlayerDictionaryTypesConnector, LocalesValues } from 'intlayer'; import { type DeepTransformContent, intlayerNodePlugins, @@ -15,7 +15,7 @@ export const getIntlayer = ( key: T, locale?: L, additionalPlugins?: Plugins[] -): DeepTransformContent> => { +) => { const plugins: Plugins[] = [ intlayerNodePlugins, solidNodePlugins, @@ -23,6 +23,7 @@ export const getIntlayer = ( ...(additionalPlugins ?? []), ]; - // @ts-ignore Type instantiation is excessively deep and possibly infinite - return getIntlayerCore(key, locale, plugins); + return getIntlayerCore(key, locale, plugins) as any as DeepTransformContent< + IntlayerDictionaryTypesConnector[T]['content'] + >; }; diff --git a/packages/solid-intlayer/src/markdown/MarkdownRenderer.tsx b/packages/solid-intlayer/src/markdown/MarkdownRenderer.tsx index 190b51c39..fda43c781 100644 --- a/packages/solid-intlayer/src/markdown/MarkdownRenderer.tsx +++ b/packages/solid-intlayer/src/markdown/MarkdownRenderer.tsx @@ -1,9 +1,11 @@ +import type { LocalesValues } from '@intlayer/config/client'; import { + type ContentNode, getContent, getContentNodeByKeyPath, getMarkdownMetadata, + type KeyPath, } from '@intlayer/core'; -import type { ContentNode, KeyPath, LocalesValues } from '@intlayer/types'; import type { Component, JSX } from 'solid-js'; import { useEditedContentRenderer } from '../editor/useEditedContentRenderer'; import { useMarkdown } from './MarkdownProvider'; diff --git a/packages/solid-intlayer/src/plugins.tsx b/packages/solid-intlayer/src/plugins.tsx index 30aee579e..1c8467df5 100644 --- a/packages/solid-intlayer/src/plugins.tsx +++ b/packages/solid-intlayer/src/plugins.tsx @@ -2,10 +2,11 @@ import { type DeepTransformContent as DeepTransformContentCore, getMarkdownMetadata, type IInterpreterPluginState as IInterpreterPluginStateCore, + type KeyPath, type MarkdownContent, + NodeType, type Plugins, } from '@intlayer/core'; -import { type KeyPath, NodeType } from '@intlayer/types'; import type { JSX } from 'solid-js'; import { ContentSelectorRenderer } from './editor'; import { EditedContentRenderer } from './editor/useEditedContentRenderer'; diff --git a/packages/solid-intlayer/types/intlayer.d.ts b/packages/solid-intlayer/types/intlayer.d.ts new file mode 100644 index 000000000..37ddcdaa5 --- /dev/null +++ b/packages/solid-intlayer/types/intlayer.d.ts @@ -0,0 +1,20 @@ +import type { Locales } from 'intlayer'; + +declare module 'intlayer' { + interface IntlayerDictionaryTypesConnector { + eee: { + key: 'eee'; + content: { + title: string; + }; + }; + } + + type ConfigLocales = Locales.ENGLISH; + type ExtractedLocales = Extract; + type ExcludedLocales = Exclude; + + interface IConfigLocales + extends Record, + Partial> {} +} diff --git a/packages/svelte-intlayer/package.json b/packages/svelte-intlayer/package.json index 50f066ceb..b2431cebc 100644 --- a/packages/svelte-intlayer/package.json +++ b/packages/svelte-intlayer/package.json @@ -59,7 +59,7 @@ "scripts": { "build": "vite build", "build:ci": "vite build", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "vite build --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -68,12 +68,11 @@ "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", "test:watch": "vitest", - "typecheck": "tsc --noEmit --project tsconfig.types.json" -}, + "typecheck": "tsdown --project ./tsconfig.json --noEmit" + }, "dependencies": { "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", "js-cookie": "3.0.5" @@ -85,7 +84,6 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", "concurrently": "9.2.1", "rimraf": "6.0.1", "typescript": "5.9.3", @@ -96,7 +94,6 @@ "peerDependencies": { "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/editor": "workspace:*", "svelte": ">=5.0.0" diff --git a/packages/svelte-intlayer/src/client/getBrowserLocale.ts b/packages/svelte-intlayer/src/client/getBrowserLocale.ts index 899778581..cbe5f8db2 100644 --- a/packages/svelte-intlayer/src/client/getBrowserLocale.ts +++ b/packages/svelte-intlayer/src/client/getBrowserLocale.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; /** * Gets the user's preferred locale from browser settings diff --git a/packages/svelte-intlayer/src/client/intlayerContext.ts b/packages/svelte-intlayer/src/client/intlayerContext.ts index d19a04331..f6285c9d1 100644 --- a/packages/svelte-intlayer/src/client/intlayerContext.ts +++ b/packages/svelte-intlayer/src/client/intlayerContext.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { getContext, setContext } from 'svelte'; export interface IntlayerContextType { diff --git a/packages/svelte-intlayer/src/client/intlayerStore.ts b/packages/svelte-intlayer/src/client/intlayerStore.ts index 84ab1739a..e9eb207c0 100644 --- a/packages/svelte-intlayer/src/client/intlayerStore.ts +++ b/packages/svelte-intlayer/src/client/intlayerStore.ts @@ -1,4 +1,4 @@ -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { derived, type Readable, type Writable, writable } from 'svelte/store'; export interface IntlayerStoreType { diff --git a/packages/svelte-intlayer/src/client/useDictionary.ts b/packages/svelte-intlayer/src/client/useDictionary.ts index 82f8c8e03..cf3fe2d11 100644 --- a/packages/svelte-intlayer/src/client/useDictionary.ts +++ b/packages/svelte-intlayer/src/client/useDictionary.ts @@ -1,4 +1,5 @@ -import type { Dictionary, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary } from '@intlayer/core'; import { derived, type Readable } from 'svelte/store'; import { getDictionary } from '../getDictionary'; import type { DeepTransformContent } from '../plugins'; diff --git a/packages/svelte-intlayer/src/client/useDictionaryAsync.ts b/packages/svelte-intlayer/src/client/useDictionaryAsync.ts index 33f2a6cd6..26b698bec 100644 --- a/packages/svelte-intlayer/src/client/useDictionaryAsync.ts +++ b/packages/svelte-intlayer/src/client/useDictionaryAsync.ts @@ -1,8 +1,5 @@ -import type { - Dictionary, - LanguageContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary, LanguageContent } from '@intlayer/core'; import { derived, type Readable, writable } from 'svelte/store'; import { getIntlayerContext } from './intlayerContext'; import { intlayerStore } from './intlayerStore'; diff --git a/packages/svelte-intlayer/src/client/useDictionaryDynamic.ts b/packages/svelte-intlayer/src/client/useDictionaryDynamic.ts index 123612337..d28d1eb02 100644 --- a/packages/svelte-intlayer/src/client/useDictionaryDynamic.ts +++ b/packages/svelte-intlayer/src/client/useDictionaryDynamic.ts @@ -1,9 +1,9 @@ +import type { LocalesValues } from '@intlayer/config/client'; import type { Dictionary, DictionaryKeys, LanguageContent, - LocalesValues, -} from '@intlayer/types'; +} from '@intlayer/core'; import { derived, type Readable, writable } from 'svelte/store'; import { getIntlayerContext } from './intlayerContext'; import { intlayerStore } from './intlayerStore'; diff --git a/packages/svelte-intlayer/src/client/useIntlayer.ts b/packages/svelte-intlayer/src/client/useIntlayer.ts index 1400ece7c..2f188a2f0 100644 --- a/packages/svelte-intlayer/src/client/useIntlayer.ts +++ b/packages/svelte-intlayer/src/client/useIntlayer.ts @@ -1,8 +1,7 @@ -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { DictionaryKeys } from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector } from 'intlayer'; import { derived, type Readable } from 'svelte/store'; import { getIntlayer } from '../getIntlayer'; import type { DeepTransformContent } from '../plugins'; @@ -18,7 +17,9 @@ import { intlayerStore } from './intlayerStore'; export const useIntlayer = ( key: T, locale?: LocalesValues -): Readable>> => { +): Readable< + DeepTransformContent +> => { const context = getIntlayerContext(); // Create a derived store that reactively updates when locale changes diff --git a/packages/svelte-intlayer/src/getDictionary.ts b/packages/svelte-intlayer/src/getDictionary.ts index 4ff821c5b..16b02b9d8 100644 --- a/packages/svelte-intlayer/src/getDictionary.ts +++ b/packages/svelte-intlayer/src/getDictionary.ts @@ -1,8 +1,9 @@ +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { + type Dictionary, getDictionary as getDictionaryCore, type Plugins, } from '@intlayer/core'; -import type { Dictionary, Locales, LocalesValues } from '@intlayer/types'; import { type DeepTransformContent, intlayerNodePlugins, diff --git a/packages/svelte-intlayer/src/getIntlayer.ts b/packages/svelte-intlayer/src/getIntlayer.ts index ac09d3776..87560609a 100644 --- a/packages/svelte-intlayer/src/getIntlayer.ts +++ b/packages/svelte-intlayer/src/getIntlayer.ts @@ -1,9 +1,10 @@ -import { getIntlayer as getIntlayerCore, type Plugins } from '@intlayer/core'; -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import { + type DictionaryKeys, + getIntlayer as getIntlayerCore, + type Plugins, +} from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector, LocalesValues } from 'intlayer'; import { type DeepTransformContent, intlayerNodePlugins, @@ -31,6 +32,6 @@ export const getIntlayer = ( ]; return getIntlayerCore(key, locale, plugins) as any as DeepTransformContent< - DictionaryRegistryContent + IntlayerDictionaryTypesConnector[T]['content'] >; }; diff --git a/packages/svelte-intlayer/types/intlayer.d.ts b/packages/svelte-intlayer/types/intlayer.d.ts new file mode 100644 index 000000000..37ddcdaa5 --- /dev/null +++ b/packages/svelte-intlayer/types/intlayer.d.ts @@ -0,0 +1,20 @@ +import type { Locales } from 'intlayer'; + +declare module 'intlayer' { + interface IntlayerDictionaryTypesConnector { + eee: { + key: 'eee'; + content: { + title: string; + }; + }; + } + + type ConfigLocales = Locales.ENGLISH; + type ExtractedLocales = Extract; + type ExcludedLocales = Exclude; + + interface IConfigLocales + extends Record, + Partial> {} +} diff --git a/packages/vite-intlayer/package.json b/packages/vite-intlayer/package.json index 99eb4ed62..58f61fd1f 100644 --- a/packages/vite-intlayer/package.json +++ b/packages/vite-intlayer/package.json @@ -60,7 +60,7 @@ "scripts": { "build": "tsdown --config tsdown.config.ts", "build:ci": "tsdown --config tsdown.config.ts", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "tsdown --config tsdown.config.ts --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -69,13 +69,12 @@ "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", "test:watch": "vitest", - "typecheck": "tsc --noEmit --project tsconfig.types.json" -}, + "typecheck": "tsdown --project ./tsconfig.json --noEmit" + }, "dependencies": { "@babel/core": "7.28.4", "@intlayer/babel": "workspace:*", "@intlayer/chokidar": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", @@ -86,7 +85,6 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", "concurrently": "9.2.1", "rimraf": "6.0.1", "typescript": "5.9.3", @@ -94,7 +92,6 @@ }, "peerDependencies": { "@intlayer/chokidar": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/config": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", diff --git a/packages/vite-intlayer/src/intlayerMiddlewarePlugin.ts b/packages/vite-intlayer/src/intlayerMiddlewarePlugin.ts index 9b3424fb5..49d950ac0 100644 --- a/packages/vite-intlayer/src/intlayerMiddlewarePlugin.ts +++ b/packages/vite-intlayer/src/intlayerMiddlewarePlugin.ts @@ -1,8 +1,7 @@ import type { IncomingMessage, ServerResponse } from 'node:http'; import { parse } from 'node:url'; -import { getConfiguration } from '@intlayer/config'; +import { getConfiguration, type Locales } from '@intlayer/config'; import { localeDetector } from '@intlayer/core'; -import type { Locales } from '@intlayer/types'; /* @ts-ignore - Vite types error */ import type { Connect, Plugin } from 'vite'; diff --git a/packages/vite-intlayer/src/intlayerPrunePlugin.ts b/packages/vite-intlayer/src/intlayerPrunePlugin.ts index 411f8122a..3d4a9690e 100644 --- a/packages/vite-intlayer/src/intlayerPrunePlugin.ts +++ b/packages/vite-intlayer/src/intlayerPrunePlugin.ts @@ -2,9 +2,8 @@ import { join } from 'node:path'; import { intlayerBabelPlugin } from '@intlayer/babel'; -import { ESMxCJSRequire } from '@intlayer/config'; +import { ESMxCJSRequire, type IntlayerConfig } from '@intlayer/config'; import { getDictionaries } from '@intlayer/dictionaries-entry'; -import type { IntlayerConfig } from '@intlayer/types'; import fg from 'fast-glob'; import type { PluginOption } from 'vite'; diff --git a/packages/vue-intlayer/package.json b/packages/vue-intlayer/package.json index 88b93b450..ce41ead28 100644 --- a/packages/vue-intlayer/package.json +++ b/packages/vue-intlayer/package.json @@ -71,7 +71,7 @@ "scripts": { "build": "vite build", "build:ci": "vite build", - "clean": "rimraf ./dist .turbo", + "clean": "rimraf ./dist", "dev": "vite build --watch", "lint": "biome lint .", "lint:fix": "biome lint --write .", @@ -80,12 +80,11 @@ "prepublish": "cp -f ../../README.md ./README.md", "test": "vitest run", "test:watch": "vitest", - "typecheck": "vue-tsc --noEmit --project tsconfig.types.json" + "typecheck": "tsdown --project ./tsconfig.json --noEmit" }, "dependencies": { "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor": "workspace:*", @@ -98,7 +97,6 @@ "@utils/ts-config": "workspace:*", "@utils/ts-config-types": "workspace:*", "@utils/tsdown-config": "workspace:*", - "tsdown": "0.15.7", "@vitejs/plugin-vue": "6.0.1", "ajv": "^8.17.1", "concurrently": "9.2.1", @@ -107,13 +105,11 @@ "typescript": "5.9.3", "vite": "7.1.10", "vite-plugin-dts": "4.5.4", - "vitest": "3.2.4", - "vue-tsc": "3.1.1" + "vitest": "3.2.4" }, "peerDependencies": { "@intlayer/api": "workspace:*", "@intlayer/config": "workspace:*", - "@intlayer/types": "workspace:*", "@intlayer/core": "workspace:*", "@intlayer/dictionaries-entry": "workspace:*", "@intlayer/editor": "workspace:*", diff --git a/packages/vue-intlayer/src/client/installIntlayer.ts b/packages/vue-intlayer/src/client/installIntlayer.ts index 014c978c2..c9fa6c044 100644 --- a/packages/vue-intlayer/src/client/installIntlayer.ts +++ b/packages/vue-intlayer/src/client/installIntlayer.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { Locales, LocalesValues } from '@intlayer/types'; +import type { Locales, LocalesValues } from '@intlayer/config/client'; import { type App, type Ref, readonly, ref } from 'vue'; import { installIntlayerEditor } from '../editor'; diff --git a/packages/vue-intlayer/src/client/useDictionary.ts b/packages/vue-intlayer/src/client/useDictionary.ts index ed70951a0..fc7e2155f 100644 --- a/packages/vue-intlayer/src/client/useDictionary.ts +++ b/packages/vue-intlayer/src/client/useDictionary.ts @@ -1,4 +1,5 @@ -import type { Dictionary, LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary } from '@intlayer/core'; import { type ComputedRef, computed, diff --git a/packages/vue-intlayer/src/client/useDictionaryAsync.ts b/packages/vue-intlayer/src/client/useDictionaryAsync.ts index bb88cff6d..e26ea1f3b 100644 --- a/packages/vue-intlayer/src/client/useDictionaryAsync.ts +++ b/packages/vue-intlayer/src/client/useDictionaryAsync.ts @@ -1,9 +1,6 @@ import configuration from '@intlayer/config/built'; -import type { - Dictionary, - LanguageContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { Dictionary, LanguageContent } from '@intlayer/core'; import { computed, inject } from 'vue'; import { INTLAYER_SYMBOL, type IntlayerProvider } from './installIntlayer'; import { useDictionary } from './useDictionary'; diff --git a/packages/vue-intlayer/src/client/useDictionaryDynamic.ts b/packages/vue-intlayer/src/client/useDictionaryDynamic.ts index 59d2f8ff3..5b40b0724 100644 --- a/packages/vue-intlayer/src/client/useDictionaryDynamic.ts +++ b/packages/vue-intlayer/src/client/useDictionaryDynamic.ts @@ -1,10 +1,10 @@ import configuration from '@intlayer/config/built'; +import type { LocalesValues } from '@intlayer/config/client'; import type { Dictionary, DictionaryKeys, LanguageContent, - LocalesValues, -} from '@intlayer/types'; +} from '@intlayer/core'; import { computed, inject } from 'vue'; import { INTLAYER_SYMBOL, type IntlayerProvider } from './installIntlayer'; import { useDictionary } from './useDictionary'; diff --git a/packages/vue-intlayer/src/client/useIntlayer copy.ts b/packages/vue-intlayer/src/client/useIntlayer copy.ts new file mode 100644 index 000000000..7badf31f6 --- /dev/null +++ b/packages/vue-intlayer/src/client/useIntlayer copy.ts @@ -0,0 +1,129 @@ +import type { LocalesValues } from '@intlayer/config/client'; +import type { DictionaryKeys } from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector } from 'intlayer'; +import { + computed, + inject, + isRef, + type MaybeRefOrGetter, + ref, + toValue, + watch, +} from 'vue'; +import { getIntlayer } from '../getIntlayer'; +import type { DeepTransformContent } from '../plugins'; +import { INTLAYER_SYMBOL, type IntlayerProvider } from './installIntlayer'; + +export const useIntlayer = ( + key: MaybeRefOrGetter, + locale?: MaybeRefOrGetter +): DeepTransformContent => { + const intlayer = inject(INTLAYER_SYMBOL); + if (!intlayer) + throw new Error('useIntlayer must be used under '); + + // Normalize the provider locale so it's a Ref either way + const providerLocale = isRef(intlayer.locale) + ? intlayer.locale + : ref(intlayer.locale as any); + + // Decide which locale to use, and make it reactive + const localeTarget = computed(() => { + const explicit = locale !== undefined ? toValue(locale) : undefined; + return (explicit ?? providerLocale.value)!; + }); + + // Store content in a ref to track changes + const sourceContent = ref>({}); + + // Watch for locale/key changes and update content + watch( + [() => toValue(key) as T, () => localeTarget.value], + ([key, locale]) => { + const next = getIntlayer(key, locale); + sourceContent.value = next; + }, + { immediate: true, flush: 'sync' } + ); + + // Create a proxy that returns computed refs for each property + // These computeds track sourceContent.value[prop] and update automatically + const computedCache = new Map(); + + const content = new Proxy( + {}, + { + get(_target, prop: string | symbol) { + // Skip Vue internal properties + if ( + typeof prop === 'symbol' || + (typeof prop === 'string' && prop.startsWith('__')) + ) { + return undefined; + } + + const propKey = prop as string; + + // Create or retrieve cached computed ref + if (!computedCache.has(propKey)) { + const computedRef = computed(() => sourceContent.value[propKey]); + + // Always create a proxy around the computed ref that can handle both + // simple values and IntlayerNode objects with render methods + const proxiedRef = new Proxy(computedRef, { + get(target, methodProp) { + // If accessing 'value', return the computed's value + if (methodProp === 'value') { + return target.value; + } + + // Get the current inner value (re-evaluated each time!) + const innerValue = target.value; + + // If the inner value has this property, return it + // This handles IntlayerNode methods like render(), toString(), etc. + if ( + innerValue && + typeof innerValue === 'object' && + methodProp in innerValue + ) { + const innerProp = innerValue[methodProp]; + return typeof innerProp === 'function' + ? innerProp.bind(innerValue) + : innerProp; + } + + // Otherwise return from the ref itself + return (target as any)[methodProp]; + }, + }); + + computedCache.set(propKey, proxiedRef); + } + + return computedCache.get(propKey); + }, + + has(_target, prop) { + return prop in sourceContent.value; + }, + + ownKeys(_target) { + return Object.keys(sourceContent.value); + }, + + getOwnPropertyDescriptor(_target, prop: string) { + if (prop in sourceContent.value) { + return { + enumerable: true, + configurable: true, + }; + } + return undefined; + }, + } + ); + + return content as any; +}; diff --git a/packages/vue-intlayer/src/client/useIntlayer.ts b/packages/vue-intlayer/src/client/useIntlayer.ts index b0bbe4572..f1e4a6755 100644 --- a/packages/vue-intlayer/src/client/useIntlayer.ts +++ b/packages/vue-intlayer/src/client/useIntlayer.ts @@ -1,8 +1,7 @@ -import type { - DictionaryKeys, - DictionaryRegistryContent, - LocalesValues, -} from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; +import type { DictionaryKeys } from '@intlayer/core'; +// @ts-ignore intlayer declared for module augmentation +import type { IntlayerDictionaryTypesConnector } from 'intlayer'; import { type ComputedRef, computed, @@ -49,7 +48,7 @@ export const toComponent = (getter: () => any) => export const useIntlayer = ( key: T, locale?: MaybeRefOrGetter -): DeepTransformContent> => { +): DeepTransformContent => { const intlayer = inject(INTLAYER_SYMBOL); if (!intlayer) throw new Error('useIntlayer must be used under '); @@ -127,5 +126,5 @@ export const useIntlayer = ( return new Proxy({}, handler); }; - return makeProxy([]) as any; + return makeProxy([]) as unknown; }; diff --git a/packages/vue-intlayer/src/client/useLocale.ts b/packages/vue-intlayer/src/client/useLocale.ts index 33806174a..a45724949 100644 --- a/packages/vue-intlayer/src/client/useLocale.ts +++ b/packages/vue-intlayer/src/client/useLocale.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import { computed, inject } from 'vue'; import { INTLAYER_SYMBOL, type IntlayerProvider } from './installIntlayer'; import { useLocaleCookie } from './useLocaleCookie'; diff --git a/packages/vue-intlayer/src/client/useLocaleCookie.ts b/packages/vue-intlayer/src/client/useLocaleCookie.ts index 5ca2cc6b9..83a0e362a 100644 --- a/packages/vue-intlayer/src/client/useLocaleCookie.ts +++ b/packages/vue-intlayer/src/client/useLocaleCookie.ts @@ -1,5 +1,5 @@ import configuration from '@intlayer/config/built'; -import type { LocalesValues } from '@intlayer/types'; +import type { LocalesValues } from '@intlayer/config/client'; import Cookies from 'js-cookie'; diff --git a/packages/vue-intlayer/src/editor/EditedContentRenderer.vue b/packages/vue-intlayer/src/editor/EditedContentRenderer.vue index 0cd477660..c8d99df73 100644 --- a/packages/vue-intlayer/src/editor/EditedContentRenderer.vue +++ b/packages/vue-intlayer/src/editor/EditedContentRenderer.vue @@ -4,9 +4,9 @@