diff --git a/.vscode/settings.json b/.vscode/settings.json index e539bbb3..1c108fed 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -93,7 +93,7 @@ // updated 2024-08-26 15:46 // https://github.com/antfu/vscode-file-nesting-config - "explorer.fileNesting.enabled": true, + "explorer.fileNesting.enabled": false, "explorer.fileNesting.expand": false, "explorer.fileNesting.patterns": { ".clang-tidy": ".clang-format, .clangd, compile_commands.json", diff --git a/apps/oneclient/frontend/.gitignore b/apps/oneclient/frontend/.gitignore index d195a4a0..0b0b1a38 100644 --- a/apps/oneclient/frontend/.gitignore +++ b/apps/oneclient/frontend/.gitignore @@ -4,4 +4,4 @@ dist dist-ssr *.local -*.gen.ts +**/*.gen.ts diff --git a/apps/oneclient/frontend/package.json b/apps/oneclient/frontend/package.json index 9dd8fcad..ce9ec9ea 100644 --- a/apps/oneclient/frontend/package.json +++ b/apps/oneclient/frontend/package.json @@ -39,7 +39,8 @@ "tailwindcss": "^4.0.6", "tailwindcss-animated": "^2.0.0", "tailwindcss-react-aria-components": "^2.0.0", - "taurpc": "^1.8.1" + "taurpc": "^1.8.1", + "zustand": "^5.0.5" }, "devDependencies": { "@tanstack/eslint-config": "^0.1.0", @@ -47,6 +48,7 @@ "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", "typescript": "^5.7.2", - "vite": "^6.1.0" + "vite": "^6.1.0", + "vite-plugin-svgr": "^4.3.0" } } diff --git a/apps/oneclient/frontend/src/assets/backgrounds/HypixelSkyblockHub.png b/apps/oneclient/frontend/src/assets/backgrounds/HypixelSkyblockHub.png new file mode 100644 index 00000000..46562616 Binary files /dev/null and b/apps/oneclient/frontend/src/assets/backgrounds/HypixelSkyblockHub.png differ diff --git a/apps/oneclient/frontend/src/assets/logos/oneclient.svg b/apps/oneclient/frontend/src/assets/logos/oneclient.svg new file mode 100644 index 00000000..3f305562 --- /dev/null +++ b/apps/oneclient/frontend/src/assets/logos/oneclient.svg @@ -0,0 +1,4 @@ + + + + diff --git a/apps/oneclient/frontend/src/components/GameBackground.tsx b/apps/oneclient/frontend/src/components/GameBackground.tsx new file mode 100644 index 00000000..aea2413d --- /dev/null +++ b/apps/oneclient/frontend/src/components/GameBackground.tsx @@ -0,0 +1,24 @@ +import { twMerge } from 'tailwind-merge'; +import HypixelSkyblockHub from '../assets/backgrounds/HypixelSkyblockHub.png'; + +const GameBackgrounds = { + HypixelSkyblockHub, +}; + +type GameBackgroundName = keyof typeof GameBackgrounds; + +interface GameBackgroundProps { + name: GameBackgroundName; + className?: string; +} + +export function GameBackground({ name, className = '' }: GameBackgroundProps) { + const BackgroundImage = GameBackgrounds[name]; + + return ( +
+ ); +} diff --git a/apps/oneclient/frontend/src/components/MyContext.tsx b/apps/oneclient/frontend/src/components/MyContext.tsx deleted file mode 100644 index b3b4269b..00000000 --- a/apps/oneclient/frontend/src/components/MyContext.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import type { Context } from 'react'; -import { createContext, useContext } from 'react'; - -const myContext = createContext(null) as Context< - { - text: string; - } | null ->; - -export function MyContextProvider({ children, value }: { - children: React.ReactNode; - value: { - text: string; - } | null; -}) { - // eslint-disable-next-line react/no-context-provider -- ok - return {children}; -} - -export default function useMyContext() { - const context = useContext(myContext); - - if (!context) - throw new Error('useMyContext must be used within a MyContextProvider'); - - return context; -} diff --git a/apps/oneclient/frontend/src/components/Navbar.tsx b/apps/oneclient/frontend/src/components/Navbar.tsx new file mode 100644 index 00000000..ee07e236 --- /dev/null +++ b/apps/oneclient/frontend/src/components/Navbar.tsx @@ -0,0 +1,98 @@ +import type { ButtonProps } from '@onelauncher/common/components'; +import type { LinkProps } from '@tanstack/react-router'; +import LauncherLogo from '@/assets/logos/oneclient.svg?react'; +import { Button } from '@onelauncher/common/components'; +import { Link } from '@tanstack/react-router'; +import { Window } from '@tauri-apps/api/window'; +import { MinusIcon, SquareIcon, XCloseIcon } from '@untitled-theme/icons-react'; +import { twMerge } from 'tailwind-merge'; + +export function Navbar() { + const onMinimize = () => Window.getCurrent().minimize(); + const onMaximize = () => Window.getCurrent().toggleMaximize(); + const onClose = () => Window.getCurrent().close(); + + return ( + + ); +} + +function NavbarLink({ + to, + children, +}: LinkProps) { + return ( +
+ + {children} + +
+ ); +} + +function NavbarButton({ + children, + color = 'ghost', + size = 'iconLarge', + onClick, + className = '', + ...rest +}: ButtonProps) { + return ( + + ); +} diff --git a/apps/oneclient/frontend/src/components/index.ts b/apps/oneclient/frontend/src/components/index.ts new file mode 100644 index 00000000..b50eb89f --- /dev/null +++ b/apps/oneclient/frontend/src/components/index.ts @@ -0,0 +1,2 @@ +export * from './GameBackground'; +export * from './Navbar'; diff --git a/apps/oneclient/frontend/src/routes/__root.tsx b/apps/oneclient/frontend/src/routes/__root.tsx index 27616b3d..87e628bd 100644 --- a/apps/oneclient/frontend/src/routes/__root.tsx +++ b/apps/oneclient/frontend/src/routes/__root.tsx @@ -1,20 +1,42 @@ import type { QueryClient } from '@tanstack/react-query'; -import { createRootRouteWithContext, Outlet } from '@tanstack/react-router'; +import type { NavigateOptions, ToOptions } from '@tanstack/react-router'; +import { Navbar } from '@/components'; +import { AnimatedOutletProvider } from '@onelauncher/common/components'; +import { createRootRouteWithContext, Outlet, useRouter } from '@tanstack/react-router'; import { TanStackRouterDevtools } from '@tanstack/react-router-devtools'; +import { RouterProvider } from 'react-aria-components'; interface MyRouterContext { queryClient: QueryClient; } +declare module 'react-aria-components' { + interface RouterConfig { + href: ToOptions['to']; + routerOptions: Omit; + } +} + export const Route = createRootRouteWithContext()({ - component: RootLayout, + component: RootRoute, }); -function RootLayout() { +function RootRoute() { + const router = useRouter(); return ( - <> - - - + + router.navigate({ to, ...options })} + useHref={to => router.buildLocation({ to }).href} + > +
+ + + + + +
+
+
); } diff --git a/apps/oneclient/frontend/src/routes/app/index.tsx b/apps/oneclient/frontend/src/routes/app/index.tsx new file mode 100644 index 00000000..b74e6a66 --- /dev/null +++ b/apps/oneclient/frontend/src/routes/app/index.tsx @@ -0,0 +1,21 @@ +import { createFileRoute } from '@tanstack/react-router'; + +export const Route = createFileRoute('/app/')({ + component: RouteComponent, +}); + +function RouteComponent() { + return ( +
+
+

1.8.9

+
+ +
+
+ +
+
+
+ ); +} diff --git a/apps/oneclient/frontend/src/routes/app/route.tsx b/apps/oneclient/frontend/src/routes/app/route.tsx new file mode 100644 index 00000000..1dfeeb3b --- /dev/null +++ b/apps/oneclient/frontend/src/routes/app/route.tsx @@ -0,0 +1,63 @@ +import { GameBackground } from '@/components/GameBackground'; +import { AnimatedOutlet } from '@onelauncher/common/components'; +import { createFileRoute } from '@tanstack/react-router'; + +export const Route = createFileRoute('/app')({ + component: RouteComponent, +}); + +function RouteComponent() { + return ( +
+ + +
+ +
+
+ ); +} + +function Background() { + return ( +
+ {/* Linear gradient: left -> right */} +
+
+ + {/* Radial Gradient */} +
+
+ + {/* Linear gradient: bottom -> 200 px up */} +
+
+ + +
+ ); +} diff --git a/apps/oneclient/frontend/src/routes/app/test.tsx b/apps/oneclient/frontend/src/routes/app/test.tsx new file mode 100644 index 00000000..9f1b1495 --- /dev/null +++ b/apps/oneclient/frontend/src/routes/app/test.tsx @@ -0,0 +1,9 @@ +import { createFileRoute } from '@tanstack/react-router'; + +export const Route = createFileRoute('/app/test')({ + component: RouteComponent, +}); + +function RouteComponent() { + return
Hello "/app/test"!
; +} diff --git a/apps/oneclient/frontend/src/routes/index.tsx b/apps/oneclient/frontend/src/routes/index.tsx index eb19c339..d7d99a9d 100644 --- a/apps/oneclient/frontend/src/routes/index.tsx +++ b/apps/oneclient/frontend/src/routes/index.tsx @@ -1,55 +1,9 @@ -import type { LauncherError } from '@/bindings.gen'; -import { bindings } from '@/main'; -import { Button } from '@onelauncher/common/components'; -import { createFileRoute } from '@tanstack/react-router'; +import { createFileRoute, Navigate } from '@tanstack/react-router'; export const Route = createFileRoute('/')({ - component: App, + component: RouteComponent, }); -function App() { - const onClick = async () => { - // const result = await bindings.core.createCluster({ - // name: 'Test 1.8.9 Forge', - // mc_loader: 'forge', - // mc_version: '1.8.9', - // icon: null, - // mc_loader_version: '11.15.1.2318', - // }); - - try { - // await bindings.core.launchCluster(9 as unknown as bigint, null); - await bindings.core.removeCluster(9 as unknown as bigint); - - const unlisten = await bindings.events.process.on((e) => { - if (e.type === 'Output') { console.log(e.output); } - else if (e.type === 'Stopped') { - console.log(e.exit_code); - unlisten(); - } - }); - } - catch (err: unknown) { - let error = err as LauncherError; - // console.log(error); - // if (error.type === 'DaoError') - // if (error.data.type === 'NotFound') - // console.log(error.data.data); - if (error.type === 'TauriError') - console.error(error.data); - else if (error.type === 'IOError') - console.error(error.data.data); - else if (error.type === 'DaoError') - console.error(error.data); - - console.log(error); - } - }; - - return ( -
-

test

- -
- ); +function RouteComponent() { + return ; } diff --git a/apps/oneclient/frontend/src/routes/test/app.tsx b/apps/oneclient/frontend/src/routes/test/app.tsx deleted file mode 100644 index 9b3e6e67..00000000 --- a/apps/oneclient/frontend/src/routes/test/app.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import useMyContext from '@/components/MyContext'; -import { createFileRoute } from '@tanstack/react-router'; - -export const Route = createFileRoute('/test/app')({ - component: RouteComponent, -}); - -function RouteComponent() { - const myContext = useMyContext(); - - return ( -
-
Hello "/test/app"!
-
- Value from MyContext: - {' '} - {myContext.text} -
-
- ); -} diff --git a/apps/oneclient/frontend/src/routes/test/route.tsx b/apps/oneclient/frontend/src/routes/test/route.tsx deleted file mode 100644 index 58647854..00000000 --- a/apps/oneclient/frontend/src/routes/test/route.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { MyContextProvider } from '@/components/MyContext'; -import { createFileRoute, Outlet } from '@tanstack/react-router'; - -export const Route = createFileRoute('/test')({ - component: RouteComponent, -}); - -function RouteComponent() { - return ( - -
Hello "/test"!
- -
- ); -} diff --git a/apps/oneclient/frontend/src/stores/appFrameStore.ts b/apps/oneclient/frontend/src/stores/appFrameStore.ts new file mode 100644 index 00000000..6bbcb87d --- /dev/null +++ b/apps/oneclient/frontend/src/stores/appFrameStore.ts @@ -0,0 +1,18 @@ +import type { ClusterModel } from '@/bindings.gen'; +import type { FileRoutesByFullPath } from '@/routeTree.gen'; +import { create } from 'zustand'; + +interface AppFrameStore { + previousPage: FileRoutesByFullPath | null; + activeCluster: ClusterModel | null; +} + +const useAppFrameStore = create()(set => ({ + activeCluster: null, + previousPage: null, + + setPreviousPage: (page: FileRoutesByFullPath) => set({ previousPage: page }), + setActiveCluster: (cluster: ClusterModel | null) => set({ activeCluster: cluster }), +})); + +export default useAppFrameStore; diff --git a/apps/oneclient/frontend/src/styles.css b/apps/oneclient/frontend/src/styles.css deleted file mode 100644 index 89be6093..00000000 --- a/apps/oneclient/frontend/src/styles.css +++ /dev/null @@ -1,15 +0,0 @@ -@import "tailwindcss"; - -body { - @apply m-0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", - "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", - monospace; -} diff --git a/apps/oneclient/frontend/src/styles/global.css b/apps/oneclient/frontend/src/styles/global.css index f0ebce68..113e4de1 100644 --- a/apps/oneclient/frontend/src/styles/global.css +++ b/apps/oneclient/frontend/src/styles/global.css @@ -1,108 +1,20 @@ @import "tailwindcss"; @plugin "tailwindcss-react-aria-components"; @plugin "tailwindcss-animated"; -@source "../../node_modules/@onelauncher/common"; +@import "../../node_modules/@onelauncher/common/dist/theme.css"; -@theme { - /* foreground colors */ - --color-fg-primary: #d5dbff; - --color-fg-primary-hover: #dae0ff; - --color-fg-primary-pressed: #e1e5ff; - --color-fg-primary-disabled: #cdd1eb; +@utility partial-underline-* { + position: relative; - --color-fg-secondary: #78818d; - --color-fg-secondary-hover: #5f6874; - --color-fg-secondary-pressed: #828d9b; - --color-fg-secondary-disabled: #646d79; - - --color-link: #61afef; - --color-link-hover: #5f87ff; - --color-link-pressed: #72afff; - --color-link-disabled: #7597b3; - - /* background colors */ - --color-brand: #2b4bff; - --color-brand-hover: #2843dd; - --color-brand-pressed: #3957ff; - --color-brand-disabled: #2543eb; - - --color-component-bg: #1a2228; - --color-component-bg-hover: #1d242b; - --color-component-bg-pressed: #222c35; - --color-component-bg-disabled: #10181f; - - --color-page: #11171c; - --color-page-elevated: #151c22; - --color-window-frame: #151b20; - - /* general colors */ - --color-danger: #ff4444; - --color-danger-hover: #d63434; - --color-danger-pressed: #ff5656; - --color-danger-disabled: #eb3030; - - --color-success: #239a60; - --color-success-hover: #1a8752; - --color-success-pressed: #2cac6e; - --color-success-disabled: #0f864c; - - --color-code-info: #61afef; - --color-code-warn: #e5c07b; - --color-code-error: #be5046; - --color-code-debug: #2b4bff; - --color-code-trace: #fdfdfd; - - /* border */ - --color-component-border: rgba(255, 255, 255, 0.05); - --color-component-border-hover: rgba(255, 255, 255, 0.10); - --color-component-border-pressed: rgba(255, 255, 255, 0.15); - - /* overlay */ - --color-ghost-overlay: rgba(255, 255, 255, 0.05); - --color-ghost-overlay-hover: rgba(255, 255, 255, 0.10); - - --color-scrollbar-bg: rgba(255, 255, 255, 0.05); - --color-scrollbar-bg-hover: rgba(255, 255, 255, 0.10); - --color-scrollbar-bg-pressed: rgba(255, 255, 255, 0.15); - - /* other */ - --font-sans: "Poppins", sans-serif; - --text-xs: 0.688rem; - --text-sm: 0.75rem; - --text-base: 0.875rem; - --text-lg: 1rem; - --text-2lg: 1.125rem; - --text-xl: 1.25rem; - --text-xxl: 1.5rem; - --text-2xl: 2rem; - --text-3xl: 2.5rem; - --text-4xl: 3rem; -} - -* { - user-select: none !important; - -webkit-user-select: none !important; -} - -body { - @apply bg-page text-fg-primary text-base; -} - -.os-scrollbar { - --os-size: 10px; - --os-track-border-radius: var(--border-radius-lg); - --os-handle-bg: var(--color-scrollbar-bg); - --os-handle-bg-hover: var(--color-scrollbar-bg-hover); - --os-handle-bg-active: var(--color-scrollbar-bg-pressed); - --os-handle-perpendicular-size-hover: 140%; - --os-handle-perpendicular-size-active: 140%; - --os-handle-interactive-area-offset: 4px; -} - -.os-scrollbar-offset-right { - --os-padding-axis: 10; -} - -.os-hide-horizontal-scrollbar > .os-scrollbar-horizontal { - display: none; + &::after { + content: ""; + background: none repeat scroll 0 0 currentColor; + bottom: 1px; + display: block; + height: 3px; + position: absolute; + width: --spacing(--value(integer)); + width: --value(percentage, [percentage]); + border-radius: 10px; + } } diff --git a/apps/oneclient/frontend/src/vite-env.d.ts b/apps/oneclient/frontend/src/vite-env.d.ts new file mode 100644 index 00000000..ee9857a6 --- /dev/null +++ b/apps/oneclient/frontend/src/vite-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/apps/oneclient/frontend/vite.config.js b/apps/oneclient/frontend/vite.config.js index 5fbb4ac3..00c299d6 100644 --- a/apps/oneclient/frontend/vite.config.js +++ b/apps/oneclient/frontend/vite.config.js @@ -1,14 +1,16 @@ import { resolve } from 'node:path'; + import process from 'node:process'; import tailwindcss from '@tailwindcss/vite'; import { TanStackRouterVite } from '@tanstack/router-plugin/vite'; import viteReact from '@vitejs/plugin-react'; - import { defineConfig } from 'vite'; +import svgr from 'vite-plugin-svgr'; export default defineConfig({ plugins: [ + svgr(), TanStackRouterVite({ autoCodeSplitting: true }), viteReact(), tailwindcss(), diff --git a/apps/onelauncher/frontend/.gitignore b/apps/onelauncher/frontend/.gitignore index d195a4a0..0b0b1a38 100644 --- a/apps/onelauncher/frontend/.gitignore +++ b/apps/onelauncher/frontend/.gitignore @@ -4,4 +4,4 @@ dist dist-ssr *.local -*.gen.ts +**/*.gen.ts diff --git a/apps/onelauncher/frontend/src/styles/global.css b/apps/onelauncher/frontend/src/styles/global.css index f0ebce68..4b3b8ec7 100644 --- a/apps/onelauncher/frontend/src/styles/global.css +++ b/apps/onelauncher/frontend/src/styles/global.css @@ -1,108 +1,4 @@ @import "tailwindcss"; @plugin "tailwindcss-react-aria-components"; @plugin "tailwindcss-animated"; -@source "../../node_modules/@onelauncher/common"; - -@theme { - /* foreground colors */ - --color-fg-primary: #d5dbff; - --color-fg-primary-hover: #dae0ff; - --color-fg-primary-pressed: #e1e5ff; - --color-fg-primary-disabled: #cdd1eb; - - --color-fg-secondary: #78818d; - --color-fg-secondary-hover: #5f6874; - --color-fg-secondary-pressed: #828d9b; - --color-fg-secondary-disabled: #646d79; - - --color-link: #61afef; - --color-link-hover: #5f87ff; - --color-link-pressed: #72afff; - --color-link-disabled: #7597b3; - - /* background colors */ - --color-brand: #2b4bff; - --color-brand-hover: #2843dd; - --color-brand-pressed: #3957ff; - --color-brand-disabled: #2543eb; - - --color-component-bg: #1a2228; - --color-component-bg-hover: #1d242b; - --color-component-bg-pressed: #222c35; - --color-component-bg-disabled: #10181f; - - --color-page: #11171c; - --color-page-elevated: #151c22; - --color-window-frame: #151b20; - - /* general colors */ - --color-danger: #ff4444; - --color-danger-hover: #d63434; - --color-danger-pressed: #ff5656; - --color-danger-disabled: #eb3030; - - --color-success: #239a60; - --color-success-hover: #1a8752; - --color-success-pressed: #2cac6e; - --color-success-disabled: #0f864c; - - --color-code-info: #61afef; - --color-code-warn: #e5c07b; - --color-code-error: #be5046; - --color-code-debug: #2b4bff; - --color-code-trace: #fdfdfd; - - /* border */ - --color-component-border: rgba(255, 255, 255, 0.05); - --color-component-border-hover: rgba(255, 255, 255, 0.10); - --color-component-border-pressed: rgba(255, 255, 255, 0.15); - - /* overlay */ - --color-ghost-overlay: rgba(255, 255, 255, 0.05); - --color-ghost-overlay-hover: rgba(255, 255, 255, 0.10); - - --color-scrollbar-bg: rgba(255, 255, 255, 0.05); - --color-scrollbar-bg-hover: rgba(255, 255, 255, 0.10); - --color-scrollbar-bg-pressed: rgba(255, 255, 255, 0.15); - - /* other */ - --font-sans: "Poppins", sans-serif; - --text-xs: 0.688rem; - --text-sm: 0.75rem; - --text-base: 0.875rem; - --text-lg: 1rem; - --text-2lg: 1.125rem; - --text-xl: 1.25rem; - --text-xxl: 1.5rem; - --text-2xl: 2rem; - --text-3xl: 2.5rem; - --text-4xl: 3rem; -} - -* { - user-select: none !important; - -webkit-user-select: none !important; -} - -body { - @apply bg-page text-fg-primary text-base; -} - -.os-scrollbar { - --os-size: 10px; - --os-track-border-radius: var(--border-radius-lg); - --os-handle-bg: var(--color-scrollbar-bg); - --os-handle-bg-hover: var(--color-scrollbar-bg-hover); - --os-handle-bg-active: var(--color-scrollbar-bg-pressed); - --os-handle-perpendicular-size-hover: 140%; - --os-handle-perpendicular-size-active: 140%; - --os-handle-interactive-area-offset: 4px; -} - -.os-scrollbar-offset-right { - --os-padding-axis: 10; -} - -.os-hide-horizontal-scrollbar > .os-scrollbar-horizontal { - display: none; -} +@import "../../node_modules/@onelauncher/common/dist/theme.css"; diff --git a/packages/entity/src/entities/cluster_groups.rs b/packages/entity/src/entities/cluster_groups.rs index d62b79f7..1d4544f0 100644 --- a/packages/entity/src/entities/cluster_groups.rs +++ b/packages/entity/src/entities/cluster_groups.rs @@ -5,6 +5,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)] #[sea_orm(table_name = "cluster_groups")] +#[serde(rename = "ClusterGroupModel")] #[onelauncher_macro::specta] pub struct Model { #[sea_orm(primary_key)] diff --git a/packages/entity/src/entities/cluster_packages.rs b/packages/entity/src/entities/cluster_packages.rs index 1a09e981..7d5c7d96 100644 --- a/packages/entity/src/entities/cluster_packages.rs +++ b/packages/entity/src/entities/cluster_packages.rs @@ -5,6 +5,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)] #[sea_orm(table_name = "cluster_packages")] +#[serde(rename = "ClusterPackageModel")] #[onelauncher_macro::specta] pub struct Model { #[sea_orm(primary_key, auto_increment = false)] diff --git a/packages/entity/src/entities/clusters.rs b/packages/entity/src/entities/clusters.rs index 50076337..d8c22a5d 100644 --- a/packages/entity/src/entities/clusters.rs +++ b/packages/entity/src/entities/clusters.rs @@ -5,6 +5,7 @@ use crate::{cluster_stage::ClusterStage, icon::Icon, loader::GameLoader}; #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)] #[sea_orm(table_name = "clusters")] +#[serde(rename = "ClusterModel")] #[onelauncher_macro::specta] pub struct Model { #[sea_orm(primary_key)] diff --git a/packages/entity/src/entities/java_versions.rs b/packages/entity/src/entities/java_versions.rs index b856bda9..65d3dec8 100644 --- a/packages/entity/src/entities/java_versions.rs +++ b/packages/entity/src/entities/java_versions.rs @@ -5,6 +5,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)] #[sea_orm(table_name = "java_versions")] +#[serde(rename = "JavaVersionModel")] #[onelauncher_macro::specta] pub struct Model { #[sea_orm(primary_key)] diff --git a/packages/entity/src/entities/packages.rs b/packages/entity/src/entities/packages.rs index c1cb6447..da3b5da7 100644 --- a/packages/entity/src/entities/packages.rs +++ b/packages/entity/src/entities/packages.rs @@ -7,6 +7,7 @@ use crate::{icon::Icon, loader::GameLoader, package::{PackageType, Provider}, ut #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)] #[sea_orm(table_name = "packages")] +#[serde(rename = "PackageModel")] #[onelauncher_macro::specta] pub struct Model { #[sea_orm(primary_key, auto_increment = false)] diff --git a/packages/web_common/package.json b/packages/web_common/package.json index 01c54673..52c8abd4 100644 --- a/packages/web_common/package.json +++ b/packages/web_common/package.json @@ -6,18 +6,20 @@ "authors": "Polyfrost", "exports": { ".": { - "types": "./lib/index.d.ts", - "import": "./lib/index.js" + "types": "./dist/index.d.ts", + "import": "./dist/index.js" }, "./components": { - "types": "./lib/components.d.ts", - "import": "./lib/components.js" + "types": "./dist/components.d.ts", + "import": "./dist/components.js" } }, - "main": "./lib/index.js", - "typings": "./lib/index.d.ts", + "main": "./dist/index.js", + "typings": "./dist/src/index.d.ts", + "style": "./dist/theme.css", "scripts": { - "build": "rollup -c" + "dev": "vite", + "build": "vite build" }, "peerDependencies": { "@tanstack/react-query": "^5.66.5", @@ -32,11 +34,12 @@ "tailwindcss-react-aria-components": "^2.0.0" }, "devDependencies": { + "@tailwindcss/vite": "^4.0.6", "@types/react": "^19.0.8", - "esbuild": "^0.25.5", - "rollup": "^4.41.1", - "rollup-plugin-dts": "^6.2.1", - "rollup-plugin-esbuild": "^6.2.1", - "typescript": "^5.8.3" + "@vitejs/plugin-react": "^4.3.4", + "typescript": "^5.8.3", + "vite": "^6.1.0", + "vite-plugin-dts": "^4.5.4", + "vite-plugin-static-copy": "^3.0.0" } } diff --git a/packages/web_common/rollup.config.mjs b/packages/web_common/rollup.config.mjs deleted file mode 100644 index ac27b05c..00000000 --- a/packages/web_common/rollup.config.mjs +++ /dev/null @@ -1,82 +0,0 @@ -import process from 'node:process'; -import dts from 'rollup-plugin-dts'; -import esbuild from 'rollup-plugin-esbuild'; - -/** - * @param {string} id - * @returns {boolean} true if the id is an external module - */ -const isExternal - = process.platform === 'win32' - ? (/** @type {string} */ id) => !/^(?:[a-z]:\\|[.\\])/i.test(id) - : (/** @type {string} */ id) => !/^[./]/.test(id); - -/** - * @param {string} input - * @param {import('rollup').RollupOptions} config - * @returns {import('rollup').RollupOptions} bundle options - */ -function bundle(input, config) { - return { - ...config, - input, - external: isExternal, - }; -} - -export default [ - // Output for NodeJS - bundle('./src/index.ts', { - plugins: [esbuild({ target: 'es2020' })], - output: { - file: `./lib/index.js`, - format: 'esm', - sourcemap: false, - compact: false, - }, - }), - - // Output for Typescript's .d.ts - bundle('./src/index.ts', { - plugins: [dts()], - output: { - file: `./lib/index.d.ts`, - format: 'esm', - }, - }), - - // Output for React components - bundle('./src/components/index.ts', { - plugins: [esbuild({ target: 'es2020' })], - output: { - file: `./lib/components.js`, - format: 'esm', - sourcemap: false, - compact: false, - }, - jsx: 'react-jsx', - }), - - // Output for React components .d.ts - bundle('./src/components/index.ts', { - plugins: [dts()], - output: { - file: `./lib/components.d.ts`, - format: 'esm', - }, - jsx: 'react-jsx', - }), - - // Output for browser - // bundle({ - // plugins: [esbuild({ target: 'es2020', minify: true })], - // output: { - // file: `./dist/${name}-v${version}.js`, - // format: 'esm', - // name: camelCaseName, - // sourcemap: true, - // compact: true, - // }, - // jsx: 'react-jsx', - // }), -]; diff --git a/packages/web_common/src/components/Button.tsx b/packages/web_common/src/components/Button.tsx index 394f843f..c6c72b1e 100644 --- a/packages/web_common/src/components/Button.tsx +++ b/packages/web_common/src/components/Button.tsx @@ -24,7 +24,7 @@ export const buttonVariants = tv({ 'bg-danger hover:bg-danger-hover pressed:bg-danger-pressed disabled:bg-danger-disabled', ], ghost: [ - 'hover:bg-component-bg-hover pressed:bg-component-bg-pressed checked:selected:bg-component-bg-hover', + 'hover:bg-ghost-overlay-hover pressed:bg-ghost-overlay-pressed checked:selected:bg-ghost-overlay-pressed', ], }, size: { diff --git a/packages/web_common/src/theme.css b/packages/web_common/src/theme.css new file mode 100644 index 00000000..c1631c37 --- /dev/null +++ b/packages/web_common/src/theme.css @@ -0,0 +1,110 @@ +@source "./**/*.{js,jsx,ts,tsx}"; +@plugin "tailwindcss-react-aria-components"; +@plugin "tailwindcss-animated"; + +@theme { + /* foreground colors */ + --color-fg-primary: #d5dbff; + --color-fg-primary-hover: #dae0ff; + --color-fg-primary-pressed: #e1e5ff; + --color-fg-primary-disabled: #cdd1eb; + + --color-fg-secondary: #78818d; + --color-fg-secondary-hover: #5f6874; + --color-fg-secondary-pressed: #828d9b; + --color-fg-secondary-disabled: #646d79; + + --color-link: #61afef; + --color-link-hover: #5f87ff; + --color-link-pressed: #72afff; + --color-link-disabled: #7597b3; + + /* background colors */ + --color-brand: #2b4bff; + --color-brand-hover: #2843dd; + --color-brand-pressed: #3957ff; + --color-brand-disabled: #2543eb; + + --color-component-bg: #1a2228; + --color-component-bg-hover: #1d242b; + --color-component-bg-pressed: #222c35; + --color-component-bg-disabled: #10181f; + + --color-page: #11171c; + --color-page-elevated: #151c22; + --color-page-overlay: #ffffff1a; + --color-window-frame: #151b20; + + /* general colors */ + --color-danger: #ff4444; + --color-danger-hover: #d63434; + --color-danger-pressed: #ff5656; + --color-danger-disabled: #eb3030; + + --color-success: #239a60; + --color-success-hover: #1a8752; + --color-success-pressed: #2cac6e; + --color-success-disabled: #0f864c; + + --color-code-info: #61afef; + --color-code-warn: #e5c07b; + --color-code-error: #be5046; + --color-code-debug: #2b4bff; + --color-code-trace: #fdfdfd; + + /* border */ + --color-component-border: rgba(255, 255, 255, 0.05); + --color-component-border-hover: rgba(255, 255, 255, 0.10); + --color-component-border-pressed: rgba(255, 255, 255, 0.15); + + /* overlay */ + --color-ghost-overlay: rgba(255, 255, 255, 0.05); + --color-ghost-overlay-hover: rgba(255, 255, 255, 0.10); + --color-ghost-overlay-pressed: rgba(255, 255, 255, 0.15); + + --color-scrollbar-bg: rgba(255, 255, 255, 0.05); + --color-scrollbar-bg-hover: rgba(255, 255, 255, 0.10); + --color-scrollbar-bg-pressed: rgba(255, 255, 255, 0.15); + + /* other */ + --font-sans: "Poppins", sans-serif; + --text-xs: 0.688rem; + --text-sm: 0.75rem; + --text-base: 0.875rem; + --text-lg: 1rem; + --text-2lg: 1.125rem; + --text-xl: 1.25rem; + --text-xxl: 1.5rem; + --text-2xl: 2rem; + --text-3xl: 2.5rem; + --text-4xl: 3rem; +} + +* { + user-select: none !important; + -webkit-user-select: none !important; + cursor: default !important; +} + +body { + @apply bg-page text-fg-primary text-base; +} + +.os-scrollbar { + --os-size: 10px; + --os-track-border-radius: var(--border-radius-lg); + --os-handle-bg: var(--color-scrollbar-bg); + --os-handle-bg-hover: var(--color-scrollbar-bg-hover); + --os-handle-bg-active: var(--color-scrollbar-bg-pressed); + --os-handle-perpendicular-size-hover: 140%; + --os-handle-perpendicular-size-active: 140%; + --os-handle-interactive-area-offset: 4px; +} + +.os-scrollbar-offset-right { + --os-padding-axis: 10; +} + +.os-hide-horizontal-scrollbar > .os-scrollbar-horizontal { + display: none; +} diff --git a/packages/web_common/tsconfig.json b/packages/web_common/tsconfig.json index 71c838a6..6ba1b311 100644 --- a/packages/web_common/tsconfig.json +++ b/packages/web_common/tsconfig.json @@ -11,5 +11,5 @@ "esModuleInterop": true, "forceConsistentCasingInFileNames": true }, - "include": ["src/**/*", "rollup.config.mjs"] + "include": ["src/**/*", "vite.config.ts"] } diff --git a/packages/web_common/vite.config.ts b/packages/web_common/vite.config.ts new file mode 100644 index 00000000..926b3f73 --- /dev/null +++ b/packages/web_common/vite.config.ts @@ -0,0 +1,60 @@ +import path from 'node:path'; +import tailwindcss from '@tailwindcss/vite'; +import react from '@vitejs/plugin-react'; +import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; +import { viteStaticCopy } from 'vite-plugin-static-copy'; + +export default defineConfig({ + plugins: [ + react(), + tailwindcss(), + viteStaticCopy({ + targets: [ + { + src: path.resolve(__dirname, 'src/theme.css'), + dest: './', + }, + ], + }), + dts({ + insertTypesEntry: true, + }), + ], + build: { + minify: false, + lib: { + entry: { + 'index': path.resolve(__dirname, 'src/index.ts'), + 'components': path.resolve(__dirname, 'src/components/index.ts'), + }, + formats: ['es'], + fileName: (_, entryName) => `${entryName}.js`, + }, + rollupOptions: { + external: [ + 'react', + 'react/jsx-runtime', + 'react-dom', + 'react-aria-components', + 'motion', + 'motion/react', + '@tanstack/react-query', + '@tanstack/react-router', + 'tailwindcss', + 'tailwind-merge', + 'tailwind-variants', + // 'tailwindcss-animated', + // 'tailwindcss-react-aria-components', + ], + output: { + globals: { + 'react': 'React', + 'react/jsx-runtime': 'react/jsx-runtime', + 'react-dom': 'ReactDOM', + 'tailwindcss': 'tailwindcss', + }, + }, + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f2a6a1e7..6745c3b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -52,7 +52,7 @@ importers: version: 5.8.3 vite: specifier: ^6.3.4 - version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) .github/actions/publish-artifacts: dependencies: @@ -96,7 +96,7 @@ importers: version: link:../../../packages/web_common '@tailwindcss/vite': specifier: ^4.0.6 - version: 4.1.5(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + version: 4.1.5(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) '@tanstack/match-sorter-utils': specifier: ^8.19.4 version: 8.19.4 @@ -117,7 +117,7 @@ importers: version: 8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/router-plugin': specifier: ^1.114.3 - version: 1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + version: 1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) '@tauri-apps/api': specifier: ^2.5.0 version: 2.5.0 @@ -169,6 +169,9 @@ importers: taurpc: specifier: ^1.8.1 version: 1.8.1 + zustand: + specifier: ^5.0.5 + version: 5.0.5(@types/react@19.1.2)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)) devDependencies: '@tanstack/eslint-config': specifier: ^0.1.0 @@ -181,13 +184,16 @@ importers: version: 19.1.3(@types/react@19.1.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + version: 4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) typescript: specifier: ^5.7.2 version: 5.8.3 vite: specifier: ^6.1.0 - version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite-plugin-svgr: + specifier: ^4.3.0 + version: 4.3.0(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) apps/onelauncher/desktop: dependencies: @@ -212,7 +218,7 @@ importers: version: link:../../../packages/web_common '@tailwindcss/vite': specifier: ^4.0.6 - version: 4.1.5(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + version: 4.1.5(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) '@tanstack/match-sorter-utils': specifier: ^8.19.4 version: 8.19.4 @@ -233,7 +239,7 @@ importers: version: 8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@tanstack/router-plugin': specifier: ^1.114.3 - version: 1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + version: 1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) '@tauri-apps/api': specifier: ^2.5.0 version: 2.5.0 @@ -297,13 +303,13 @@ importers: version: 19.1.3(@types/react@19.1.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + version: 4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) typescript: specifier: ^5.7.2 version: 5.8.3 vite: specifier: ^6.1.0 - version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) packages/core: {} @@ -378,24 +384,27 @@ importers: specifier: ^2.0.0 version: 2.0.0(tailwindcss@4.1.5) devDependencies: + '@tailwindcss/vite': + specifier: ^4.0.6 + version: 4.1.10(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) '@types/react': specifier: ^19.0.8 version: 19.1.2 - esbuild: - specifier: ^0.25.5 - version: 0.25.5 - rollup: - specifier: ^4.41.1 - version: 4.41.1 - rollup-plugin-dts: - specifier: ^6.2.1 - version: 6.2.1(rollup@4.41.1)(typescript@5.8.3) - rollup-plugin-esbuild: - specifier: ^6.2.1 - version: 6.2.1(esbuild@0.25.5)(rollup@4.41.1) + '@vitejs/plugin-react': + specifier: ^4.3.4 + version: 4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) typescript: specifier: ^5.8.3 version: 5.8.3 + vite: + specifier: ^6.1.0 + version: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite-plugin-dts: + specifier: ^4.5.4 + version: 4.5.4(@types/node@22.7.9)(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + vite-plugin-static-copy: + specifier: ^3.0.0 + version: 3.0.0(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) packages: @@ -541,6 +550,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.27.5': + resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-syntax-jsx@7.27.1': resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} engines: {node: '>=6.9.0'} @@ -577,6 +591,10 @@ packages: resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.27.6': + resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} + engines: {node: '>=6.9.0'} + '@clack/core@0.4.2': resolution: {integrity: sha512-NYQfcEy8MWIxrT5Fj8nIVchfRFA26yYKJcvBS7WlUIlw2OmQOY9DhGGXMovyI5J5PpxrCPGkgUi207EBrjpBvg==} @@ -1272,6 +1290,10 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} @@ -1290,6 +1312,19 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@microsoft/api-extractor-model@7.30.6': + resolution: {integrity: sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg==} + + '@microsoft/api-extractor@7.52.8': + resolution: {integrity: sha512-cszYIcjiNscDoMB1CIKZ3My61+JOhpERGlGr54i6bocvGLrcL/wo9o+RNXMBrb7XgLtKaizZWUpqRduQuHQLdg==} + hasBin: true + + '@microsoft/tsdoc-config@0.17.1': + resolution: {integrity: sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==} + + '@microsoft/tsdoc@0.15.1': + resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} + '@napi-rs/wasm-runtime@0.2.9': resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==} @@ -2067,6 +2102,15 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1 + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/rollup-android-arm-eabi@4.40.1': resolution: {integrity: sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==} cpu: [arm] @@ -2267,6 +2311,28 @@ packages: cpu: [x64] os: [win32] + '@rushstack/node-core-library@5.13.1': + resolution: {integrity: sha512-5yXhzPFGEkVc9Fu92wsNJ9jlvdwz4RNb2bMso+/+TH0nMm1jDDDsOIf4l8GAkPxGuwPw5DH24RliWVfSPhlW/Q==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/rig-package@0.5.3': + resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} + + '@rushstack/terminal@0.15.3': + resolution: {integrity: sha512-DGJ0B2Vm69468kZCJkPj3AH5nN+nR9SPmC0rFHtzsS4lBQ7/dgOwtwVxYP7W9JPDMuRBkJ4KHmWKr036eJsj9g==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + + '@rushstack/ts-command-line@5.0.1': + resolution: {integrity: sha512-bsbUucn41UXrQK7wgM8CNM/jagBytEyJqXw/umtI8d68vFm1Jwxh1OtLrlW7uGZgjCWiiPH6ooUNa1aVsuVr3Q==} + '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} @@ -2286,66 +2352,203 @@ packages: peerDependencies: eslint: '>=9.0.0' + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0': + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0': + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0': + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-plugin-transform-svg-component@8.0.0': + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/babel-preset@8.1.0': + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@svgr/core@8.1.0': + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + + '@svgr/hast-util-to-babel-ast@8.0.0': + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + + '@svgr/plugin-jsx@8.1.0': + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + '@swc/helpers@0.5.17': resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + '@tailwindcss/node@4.1.10': + resolution: {integrity: sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==} + '@tailwindcss/node@4.1.5': resolution: {integrity: sha512-CBhSWo0vLnWhXIvpD0qsPephiaUYfHUX3U9anwDaHZAeuGpTiB3XmsxPAN6qX7bFhipyGBqOa1QYQVVhkOUGxg==} + '@tailwindcss/oxide-android-arm64@4.1.10': + resolution: {integrity: sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + '@tailwindcss/oxide-android-arm64@4.1.5': resolution: {integrity: sha512-LVvM0GirXHED02j7hSECm8l9GGJ1RfgpWCW+DRn5TvSaxVsv28gRtoL4aWKGnXqwvI3zu1GABeDNDVZeDPOQrw==} engines: {node: '>= 10'} cpu: [arm64] os: [android] + '@tailwindcss/oxide-darwin-arm64@4.1.10': + resolution: {integrity: sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + '@tailwindcss/oxide-darwin-arm64@4.1.5': resolution: {integrity: sha512-//TfCA3pNrgnw4rRJOqavW7XUk8gsg9ddi8cwcsWXp99tzdBAZW0WXrD8wDyNbqjW316Pk2hiN/NJx/KWHl8oA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] + '@tailwindcss/oxide-darwin-x64@4.1.10': + resolution: {integrity: sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + '@tailwindcss/oxide-darwin-x64@4.1.5': resolution: {integrity: sha512-XQorp3Q6/WzRd9OalgHgaqgEbjP3qjHrlSUb5k1EuS1Z9NE9+BbzSORraO+ecW432cbCN7RVGGL/lSnHxcd+7Q==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] + '@tailwindcss/oxide-freebsd-x64@4.1.10': + resolution: {integrity: sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + '@tailwindcss/oxide-freebsd-x64@4.1.5': resolution: {integrity: sha512-bPrLWbxo8gAo97ZmrCbOdtlz/Dkuy8NK97aFbVpkJ2nJ2Jo/rsCbu0TlGx8joCuA3q6vMWTSn01JY46iwG+clg==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': + resolution: {integrity: sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.5': resolution: {integrity: sha512-1gtQJY9JzMAhgAfvd/ZaVOjh/Ju/nCoAsvOVJenWZfs05wb8zq+GOTnZALWGqKIYEtyNpCzvMk+ocGpxwdvaVg==} engines: {node: '>= 10'} cpu: [arm] os: [linux] + '@tailwindcss/oxide-linux-arm64-gnu@4.1.10': + resolution: {integrity: sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + '@tailwindcss/oxide-linux-arm64-gnu@4.1.5': resolution: {integrity: sha512-dtlaHU2v7MtdxBXoqhxwsWjav7oim7Whc6S9wq/i/uUMTWAzq/gijq1InSgn2yTnh43kR+SFvcSyEF0GCNu1PQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + '@tailwindcss/oxide-linux-arm64-musl@4.1.10': + resolution: {integrity: sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + '@tailwindcss/oxide-linux-arm64-musl@4.1.5': resolution: {integrity: sha512-fg0F6nAeYcJ3CriqDT1iVrqALMwD37+sLzXs8Rjy8Z1ZHshJoYceodfyUwGJEsQoTyWbliFNRs2wMQNXtT7MVA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + '@tailwindcss/oxide-linux-x64-gnu@4.1.10': + resolution: {integrity: sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + '@tailwindcss/oxide-linux-x64-gnu@4.1.5': resolution: {integrity: sha512-SO+F2YEIAHa1AITwc8oPwMOWhgorPzzcbhWEb+4oLi953h45FklDmM8dPSZ7hNHpIk9p/SCZKUYn35t5fjGtHA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + '@tailwindcss/oxide-linux-x64-musl@4.1.10': + resolution: {integrity: sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + '@tailwindcss/oxide-linux-x64-musl@4.1.5': resolution: {integrity: sha512-6UbBBplywkk/R+PqqioskUeXfKcBht3KU7juTi1UszJLx0KPXUo10v2Ok04iBJIaDPkIFkUOVboXms5Yxvaz+g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + '@tailwindcss/oxide-wasm32-wasi@4.1.10': + resolution: {integrity: sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + '@tailwindcss/oxide-wasm32-wasi@4.1.5': resolution: {integrity: sha512-hwALf2K9FHuiXTPqmo1KeOb83fTRNbe9r/Ixv9ZNQ/R24yw8Ge1HOWDDgTdtzntIaIUJG5dfXCf4g9AD4RiyhQ==} engines: {node: '>=14.0.0'} @@ -2358,22 +2561,43 @@ packages: - '@emnapi/wasi-threads' - tslib + '@tailwindcss/oxide-win32-arm64-msvc@4.1.10': + resolution: {integrity: sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + '@tailwindcss/oxide-win32-arm64-msvc@4.1.5': resolution: {integrity: sha512-oDKncffWzaovJbkuR7/OTNFRJQVdiw/n8HnzaCItrNQUeQgjy7oUiYpsm9HUBgpmvmDpSSbGaCa2Evzvk3eFmA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] + '@tailwindcss/oxide-win32-x64-msvc@4.1.10': + resolution: {integrity: sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + '@tailwindcss/oxide-win32-x64-msvc@4.1.5': resolution: {integrity: sha512-WiR4dtyrFdbb+ov0LK+7XsFOsG+0xs0PKZKkt41KDn9jYpO7baE3bXiudPVkTqUEwNfiglCygQHl2jklvSBi7Q==} engines: {node: '>= 10'} cpu: [x64] os: [win32] + '@tailwindcss/oxide@4.1.10': + resolution: {integrity: sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==} + engines: {node: '>= 10'} + '@tailwindcss/oxide@4.1.5': resolution: {integrity: sha512-1n4br1znquEvyW/QuqMKQZlBen+jxAbvyduU87RS8R3tUSvByAkcaMTkJepNIrTlYhD+U25K4iiCIxE6BGdRYA==} engines: {node: '>= 10'} + '@tailwindcss/vite@4.1.10': + resolution: {integrity: sha512-QWnD5HDY2IADv+vYR82lOhqOlS1jSCUUAmfem52cXAhRTKxpDh3ARX8TTXJTCCO7Rv7cD2Nlekabv02bwP3a2A==} + peerDependencies: + vite: ^5.2.0 || ^6 + '@tailwindcss/vite@4.1.5': resolution: {integrity: sha512-FE1stRoqdHSb7RxesMfCXE8icwI1W6zGE/512ae3ZDrpkQYTTYeSyUJPRCjZd8CwVAhpDUbi1YR8pcZioFJQ/w==} peerDependencies: @@ -2593,6 +2817,9 @@ packages: '@tybys/wasm-util@0.9.0': resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@types/argparse@1.0.38': + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -2860,6 +3087,35 @@ packages: '@vitest/utils@2.1.3': resolution: {integrity: sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==} + '@volar/language-core@2.4.14': + resolution: {integrity: sha512-X6beusV0DvuVseaOEy7GoagS4rYHgDHnTrdOj5jeUb49fW5ceQyP9Ej5rBhqgz2wJggl+2fDbbojq1XKaxDi6w==} + + '@volar/source-map@2.4.14': + resolution: {integrity: sha512-5TeKKMh7Sfxo8021cJfmBzcjfY1SsXsPMMjMvjY7ivesdnybqqS+GxGAoXHAOUawQTwtdUxgP65Im+dEmvWtYQ==} + + '@volar/typescript@2.4.14': + resolution: {integrity: sha512-p8Z6f/bZM3/HyCdRNFZOEEzts51uV8WHeN8Tnfnm2EBv6FDB2TQLzfVx7aJvnl8ofKAOnS64B2O8bImBFaauRw==} + + '@vue/compiler-core@3.5.16': + resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} + + '@vue/compiler-dom@3.5.16': + resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} + + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + + '@vue/language-core@2.2.0': + resolution: {integrity: sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/shared@3.5.16': + resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} + '@zod/core@0.10.0': resolution: {integrity: sha512-iMITRygme3v9jPsITJjvRMw60+MQq7MWnNpJleRkfjeSCjBm3c1/tiw3NUS4re/M2CBXVP5kAjI7sQrf22twXA==} @@ -2889,9 +3145,34 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} + ajv-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + + ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} + + alien-signals@0.4.14: + resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -2928,6 +3209,9 @@ packages: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -3023,6 +3307,10 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + caniuse-lite@1.0.30001716: resolution: {integrity: sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==} @@ -3055,6 +3343,10 @@ packages: resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} engines: {node: '>= 14.16.0'} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + ci-info@4.2.0: resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==} engines: {node: '>=8'} @@ -3118,6 +3410,15 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + crc-32@1.2.2: resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} engines: {node: '>=0.8'} @@ -3146,6 +3447,9 @@ packages: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -3215,6 +3519,9 @@ packages: resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} engines: {node: '>=0.3.1'} + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dot-object@2.1.5: resolution: {integrity: sha512-xHF8EP4XH/Ba9fvAF2LDd5O3IITVolerVV6xvkxoM8zlGEiCUrggpAnHyOoKJKCrhvPcGATFAUwIujj7bRG5UA==} hasBin: true @@ -3246,9 +3553,6 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -3529,6 +3833,9 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -3645,6 +3952,10 @@ packages: react-dom: optional: true + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -3723,6 +4034,10 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -3767,6 +4082,10 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} + import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -3876,6 +4195,9 @@ packages: resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} hasBin: true + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -3914,6 +4236,9 @@ packages: json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -3926,6 +4251,9 @@ packages: resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jwt-decode@3.1.2: resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==} @@ -3938,6 +4266,9 @@ packages: known-css-properties@0.30.0: resolution: {integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + lazystream@1.0.1: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} @@ -3952,64 +4283,128 @@ packages: cpu: [arm64] os: [darwin] + lightningcss-darwin-arm64@1.30.1: + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + lightningcss-darwin-x64@1.29.2: resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] + lightningcss-darwin-x64@1.30.1: + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + lightningcss-freebsd-x64@1.29.2: resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] + lightningcss-freebsd-x64@1.30.1: + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + lightningcss-linux-arm-gnueabihf@1.29.2: resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] + lightningcss-linux-arm-gnueabihf@1.30.1: + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + lightningcss-linux-arm64-gnu@1.29.2: resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + lightningcss-linux-arm64-gnu@1.30.1: + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + lightningcss-linux-arm64-musl@1.29.2: resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + lightningcss-linux-arm64-musl@1.30.1: + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + lightningcss-linux-x64-gnu@1.29.2: resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + lightningcss-linux-x64-gnu@1.30.1: + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + lightningcss-linux-x64-musl@1.29.2: resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + lightningcss-linux-x64-musl@1.30.1: + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + lightningcss-win32-arm64-msvc@1.29.2: resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] + lightningcss-win32-arm64-msvc@1.30.1: + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + lightningcss-win32-x64-msvc@1.29.2: resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] + lightningcss-win32-x64-msvc@1.30.1: + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + lightningcss@1.29.2: resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==} engines: {node: '>= 12.0.0'} + lightningcss@1.30.1: + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -4050,6 +4445,10 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} @@ -4207,6 +4606,9 @@ packages: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} + minimatch@3.0.8: + resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -4225,10 +4627,19 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + minizlib@3.0.2: + resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} + engines: {node: '>= 18'} + mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true + mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} @@ -4259,6 +4670,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true @@ -4344,6 +4758,10 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + p-map@7.0.3: + resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} + engines: {node: '>=18'} + p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -4378,6 +4796,9 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -4408,6 +4829,10 @@ packages: path-to-regexp@6.2.2: resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -4556,6 +4981,10 @@ packages: remove-accents@0.5.0: resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -4576,20 +5005,6 @@ packages: engines: {node: 20 || >=22} hasBin: true - rollup-plugin-dts@6.2.1: - resolution: {integrity: sha512-sR3CxYUl7i2CHa0O7bA45mCrgADyAQ0tVtGSqi3yvH28M+eg1+g5d7kQ9hLvEz5dorK3XVsH5L2jwHLQf72DzA==} - engines: {node: '>=16'} - peerDependencies: - rollup: ^3.29.4 || ^4 - typescript: ^4.5 || ^5.0 - - rollup-plugin-esbuild@6.2.1: - resolution: {integrity: sha512-jTNOMGoMRhs0JuueJrJqbW8tOwxumaWYq+V5i+PD+8ecSCVkuX27tGW7BXqDgoULQ55rO7IdNxPcnsWtshz3AA==} - engines: {node: '>=14.18.0'} - peerDependencies: - esbuild: '>=0.18.0' - rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - rollup@4.40.1: resolution: {integrity: sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -4639,6 +5054,11 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + semver@7.7.1: resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} engines: {node: '>=10'} @@ -4680,6 +5100,9 @@ packages: resolution: {integrity: sha512-tWpi2TsODPScmi48b/OQZGi2lgUmBCHy6SZrhi/FdnnHiU1GwebbCfuQuxsC3nHaLwtYeJGPrDZDIeodDOc4pA==} engines: {node: '>= 18'} + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + solid-js@1.9.6: resolution: {integrity: sha512-PoasAJvLk60hRtOTe9ulvALOdLjjqxuxcGZRolBQqxOnXrBXHGzqMT4ijNhGsDAYdOgEa8ZYaAE94PSldrFSkA==} @@ -4692,6 +5115,10 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} @@ -4707,6 +5134,9 @@ packages: spdx-license-ids@3.0.21: resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + stable-hash@0.0.5: resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} @@ -4719,6 +5149,10 @@ packages: streamx@2.19.0: resolution: {integrity: sha512-5z6CNR4gtkPbwlxyEqoDGDmWIzoNJqCBt4Eac1ICP9YaIT08ct712cFj0u1rx4F8luAuL+3Qc+RFIdI4OX00kg==} + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + string-ts@2.2.1: resolution: {integrity: sha512-Q2u0gko67PLLhbte5HmPfdOjNvUKbKQM+mCNQae6jE91DmoFHY6HH9GcdqCeNx87DZ2KKjiFxmA0R/42OneGWw==} @@ -4766,10 +5200,17 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -4803,6 +5244,9 @@ packages: peerDependencies: tailwindcss: ^4.0.0 + tailwindcss@4.1.10: + resolution: {integrity: sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==} + tailwindcss@4.1.5: resolution: {integrity: sha512-nYtSPfWGDiWgCkwQG/m+aX83XCwf62sBgg3bIlNiiOcggnS1x3uVRDAuyelBFL+vJdOPPCGElxv9DjHJjRHiVA==} @@ -4813,6 +5257,10 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + tar@7.4.3: + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + engines: {node: '>=18'} + taurpc@1.8.1: resolution: {integrity: sha512-qfR1ekhXApjbnWAqyE5qpDa/oMmKBwjNNDuqjYn7sO+ChI5qwQ4J/fS+00dVLE3I0lbZDizyY8ObSFBz3MRerQ==} @@ -4945,6 +5393,11 @@ packages: engines: {node: '>=4.2.0'} hasBin: true + typescript@5.8.2: + resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.8.3: resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} engines: {node: '>=14.17'} @@ -4982,9 +5435,9 @@ packages: universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} - unplugin-utils@0.2.4: - resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} - engines: {node: '>=18.12.0'} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} unplugin@2.3.2: resolution: {integrity: sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w==} @@ -5024,6 +5477,15 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-plugin-dts@4.5.4: + resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==} + peerDependencies: + typescript: '*' + vite: '*' + peerDependenciesMeta: + vite: + optional: true + vite-plugin-solid@2.11.6: resolution: {integrity: sha512-Sl5CTqJTGyEeOsmdH6BOgalIZlwH3t4/y0RQuFLMGnvWMBvxb4+lq7x3BSiAw6etf0QexfNJW7HSOO/Qf7pigg==} peerDependencies: @@ -5034,6 +5496,17 @@ packages: '@testing-library/jest-dom': optional: true + vite-plugin-static-copy@3.0.0: + resolution: {integrity: sha512-Uki9pPUQ4ZnoMEdIFabvoh9h6Bh9Q1m3iF7BrZvoiF30reREpJh2gZb4jOnW1/uYFzyRiLCmFSkM+8hwiq1vWQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + + vite-plugin-svgr@4.3.0: + resolution: {integrity: sha512-Jy9qLB2/PyWklpYy0xk0UU3TlU0t2UMpJXZvf+hWII1lAmRHrOUKi11Uw8N3rxoNk7atZNYO3pR3vI1f7oi+6w==} + peerDependencies: + vite: '>=2.6.0' + vite@5.4.10: resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -5138,6 +5611,9 @@ packages: jsdom: optional: true + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + vue-eslint-parser@9.4.3: resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} engines: {node: ^14.17.0 || >=16.0.0} @@ -5220,6 +5696,13 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + yaml-eslint-parser@1.3.0: resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==} engines: {node: ^14.17.0 || >=16.0.0} @@ -5248,6 +5731,24 @@ packages: zod@3.25.27: resolution: {integrity: sha512-xkYsE+ztNLzBeoAG8Ipd2ICr86gyMpovQlB+Vid1LT7V16/Dj0z+Up1u1qxNX58cmJ/AtG2mvGw/7+jK48xEYw==} + zustand@5.0.5: + resolution: {integrity: sha512-mILtRfKW9xM47hqxGIxCv12gXusoY/xTSHBYApXozR0HmQv299whhBeeAcRy+KrPPybzosvJBCOmVjq6x12fCg==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -5455,7 +5956,7 @@ snapshots: '@babel/helper-module-imports@7.18.6': dependencies: - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 optional: true '@babel/helper-module-imports@7.27.1': @@ -5491,6 +5992,10 @@ snapshots: dependencies: '@babel/types': 7.27.1 + '@babel/parser@7.27.5': + dependencies: + '@babel/types': 7.27.6 + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.27.1)': dependencies: '@babel/core': 7.27.1 @@ -5534,6 +6039,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.27.6': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@clack/core@0.4.2': dependencies: picocolors: 1.1.1 @@ -6089,6 +6599,10 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 @@ -6106,6 +6620,41 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@microsoft/api-extractor-model@7.30.6(@types/node@22.7.9)': + dependencies: + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.13.1(@types/node@22.7.9) + transitivePeerDependencies: + - '@types/node' + + '@microsoft/api-extractor@7.52.8(@types/node@22.7.9)': + dependencies: + '@microsoft/api-extractor-model': 7.30.6(@types/node@22.7.9) + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.13.1(@types/node@22.7.9) + '@rushstack/rig-package': 0.5.3 + '@rushstack/terminal': 0.15.3(@types/node@22.7.9) + '@rushstack/ts-command-line': 5.0.1(@types/node@22.7.9) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.8 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.8.2 + transitivePeerDependencies: + - '@types/node' + + '@microsoft/tsdoc-config@0.17.1': + dependencies: + '@microsoft/tsdoc': 0.15.1 + ajv: 8.12.0 + jju: 1.4.0 + resolve: 1.22.8 + + '@microsoft/tsdoc@0.15.1': {} + '@napi-rs/wasm-runtime@0.2.9': dependencies: '@emnapi/core': 1.4.3 @@ -7353,6 +7902,14 @@ snapshots: '@react-types/shared': 3.29.0(react@19.1.0) react: 19.1.0 + '@rollup/pluginutils@5.1.4(rollup@4.41.1)': + dependencies: + '@types/estree': 1.0.7 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.41.1 + '@rollup/rollup-android-arm-eabi@4.40.1': optional: true @@ -7473,6 +8030,40 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.41.1': optional: true + '@rushstack/node-core-library@5.13.1(@types/node@22.7.9)': + dependencies: + ajv: 8.13.0 + ajv-draft-04: 1.0.0(ajv@8.13.0) + ajv-formats: 3.0.1(ajv@8.13.0) + fs-extra: 11.3.0 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + optionalDependencies: + '@types/node': 22.7.9 + + '@rushstack/rig-package@0.5.3': + dependencies: + resolve: 1.22.8 + strip-json-comments: 3.1.1 + + '@rushstack/terminal@0.15.3(@types/node@22.7.9)': + dependencies: + '@rushstack/node-core-library': 5.13.1(@types/node@22.7.9) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 22.7.9 + + '@rushstack/ts-command-line@5.0.1(@types/node@22.7.9)': + dependencies: + '@rushstack/terminal': 0.15.3(@types/node@22.7.9) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + '@sec-ant/readable-stream@0.4.1': {} '@sindresorhus/merge-streams@4.0.0': {} @@ -7495,10 +8086,90 @@ snapshots: - supports-color - typescript + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + + '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + + '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + + '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + + '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + + '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + + '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + + '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + + '@svgr/babel-preset@8.1.0(@babel/core@7.27.1)': + dependencies: + '@babel/core': 7.27.1 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.27.1) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.27.1) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.27.1) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.27.1) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.27.1) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.27.1) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.27.1) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.27.1) + + '@svgr/core@8.1.0(typescript@5.8.3)': + dependencies: + '@babel/core': 7.27.1 + '@svgr/babel-preset': 8.1.0(@babel/core@7.27.1) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.8.3) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + + '@svgr/hast-util-to-babel-ast@8.0.0': + dependencies: + '@babel/types': 7.27.1 + entities: 4.5.0 + + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.8.3))': + dependencies: + '@babel/core': 7.27.1 + '@svgr/babel-preset': 8.1.0(@babel/core@7.27.1) + '@svgr/core': 8.1.0(typescript@5.8.3) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + '@swc/helpers@0.5.17': dependencies: tslib: 2.8.1 + '@tailwindcss/node@4.1.10': + dependencies: + '@ampproject/remapping': 2.3.0 + enhanced-resolve: 5.18.1 + jiti: 2.4.2 + lightningcss: 1.30.1 + magic-string: 0.30.17 + source-map-js: 1.2.1 + tailwindcss: 4.1.10 + '@tailwindcss/node@4.1.5': dependencies: enhanced-resolve: 5.18.1 @@ -7506,42 +8177,96 @@ snapshots: lightningcss: 1.29.2 tailwindcss: 4.1.5 + '@tailwindcss/oxide-android-arm64@4.1.10': + optional: true + '@tailwindcss/oxide-android-arm64@4.1.5': optional: true + '@tailwindcss/oxide-darwin-arm64@4.1.10': + optional: true + '@tailwindcss/oxide-darwin-arm64@4.1.5': optional: true + '@tailwindcss/oxide-darwin-x64@4.1.10': + optional: true + '@tailwindcss/oxide-darwin-x64@4.1.5': optional: true + '@tailwindcss/oxide-freebsd-x64@4.1.10': + optional: true + '@tailwindcss/oxide-freebsd-x64@4.1.5': optional: true + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': + optional: true + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.5': optional: true + '@tailwindcss/oxide-linux-arm64-gnu@4.1.10': + optional: true + '@tailwindcss/oxide-linux-arm64-gnu@4.1.5': optional: true + '@tailwindcss/oxide-linux-arm64-musl@4.1.10': + optional: true + '@tailwindcss/oxide-linux-arm64-musl@4.1.5': optional: true + '@tailwindcss/oxide-linux-x64-gnu@4.1.10': + optional: true + '@tailwindcss/oxide-linux-x64-gnu@4.1.5': optional: true + '@tailwindcss/oxide-linux-x64-musl@4.1.10': + optional: true + '@tailwindcss/oxide-linux-x64-musl@4.1.5': optional: true + '@tailwindcss/oxide-wasm32-wasi@4.1.10': + optional: true + '@tailwindcss/oxide-wasm32-wasi@4.1.5': optional: true + '@tailwindcss/oxide-win32-arm64-msvc@4.1.10': + optional: true + '@tailwindcss/oxide-win32-arm64-msvc@4.1.5': optional: true + '@tailwindcss/oxide-win32-x64-msvc@4.1.10': + optional: true + '@tailwindcss/oxide-win32-x64-msvc@4.1.5': optional: true + '@tailwindcss/oxide@4.1.10': + dependencies: + detect-libc: 2.0.4 + tar: 7.4.3 + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.10 + '@tailwindcss/oxide-darwin-arm64': 4.1.10 + '@tailwindcss/oxide-darwin-x64': 4.1.10 + '@tailwindcss/oxide-freebsd-x64': 4.1.10 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.10 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.10 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.10 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.10 + '@tailwindcss/oxide-linux-x64-musl': 4.1.10 + '@tailwindcss/oxide-wasm32-wasi': 4.1.10 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.10 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.10 + '@tailwindcss/oxide@4.1.5': optionalDependencies: '@tailwindcss/oxide-android-arm64': 4.1.5 @@ -7557,12 +8282,19 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.5 '@tailwindcss/oxide-win32-x64-msvc': 4.1.5 - '@tailwindcss/vite@4.1.5(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': + '@tailwindcss/vite@4.1.10(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': + dependencies: + '@tailwindcss/node': 4.1.10 + '@tailwindcss/oxide': 4.1.10 + tailwindcss: 4.1.10 + vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + + '@tailwindcss/vite@4.1.5(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': dependencies: '@tailwindcss/node': 4.1.5 '@tailwindcss/oxide': 4.1.5 tailwindcss: 4.1.5 - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) '@tanstack/eslint-config@0.1.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)': dependencies: @@ -7676,7 +8408,7 @@ snapshots: optionalDependencies: '@tanstack/react-router': 1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - '@tanstack/router-plugin@1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': + '@tanstack/router-plugin@1.119.0(@tanstack/react-router@1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)))(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': dependencies: '@babel/core': 7.27.1 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.1) @@ -7697,8 +8429,8 @@ snapshots: zod: 3.25.27 optionalDependencies: '@tanstack/react-router': 1.119.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) - vite-plugin-solid: 2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite-plugin-solid: 2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) transitivePeerDependencies: - supports-color @@ -7781,6 +8513,8 @@ snapshots: tslib: 2.8.1 optional: true + '@types/argparse@1.0.38': {} + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.27.1 @@ -8004,14 +8738,14 @@ snapshots: '@vercel/ncc@0.38.2': {} - '@vitejs/plugin-react@4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': + '@vitejs/plugin-react@4.4.1(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0))': dependencies: '@babel/core': 7.27.1 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.1) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.1) '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) transitivePeerDependencies: - supports-color @@ -8021,7 +8755,7 @@ snapshots: eslint: 9.25.1(jiti@2.4.2) optionalDependencies: typescript: 5.8.3 - vitest: 2.1.3(@types/node@22.7.9)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.29.2)(sass@1.80.3) + vitest: 2.1.3(@types/node@22.7.9)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.30.1)(sass@1.80.3) '@vitest/expect@2.1.3': dependencies: @@ -8031,13 +8765,13 @@ snapshots: tinyrainbow: 1.2.0 optional: true - '@vitest/mocker@2.1.3(@vitest/spy@2.1.3)(vite@5.4.10(@types/node@22.7.9)(lightningcss@1.29.2)(sass@1.80.3))': + '@vitest/mocker@2.1.3(@vitest/spy@2.1.3)(vite@5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3))': dependencies: '@vitest/spy': 2.1.3 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.10(@types/node@22.7.9)(lightningcss@1.29.2)(sass@1.80.3) + vite: 5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3) optional: true '@vitest/pretty-format@2.1.3': @@ -8072,7 +8806,7 @@ snapshots: sirv: 2.0.4 tinyglobby: 0.2.13 tinyrainbow: 1.2.0 - vitest: 2.1.3(@types/node@22.7.9)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.29.2)(sass@1.80.3) + vitest: 2.1.3(@types/node@22.7.9)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.30.1)(sass@1.80.3) optional: true '@vitest/utils@2.1.3': @@ -8082,6 +8816,51 @@ snapshots: tinyrainbow: 1.2.0 optional: true + '@volar/language-core@2.4.14': + dependencies: + '@volar/source-map': 2.4.14 + + '@volar/source-map@2.4.14': {} + + '@volar/typescript@2.4.14': + dependencies: + '@volar/language-core': 2.4.14 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + + '@vue/compiler-core@3.5.16': + dependencies: + '@babel/parser': 7.27.5 + '@vue/shared': 3.5.16 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.16': + dependencies: + '@vue/compiler-core': 3.5.16 + '@vue/shared': 3.5.16 + + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + '@vue/language-core@2.2.0(typescript@5.8.3)': + dependencies: + '@volar/language-core': 2.4.14 + '@vue/compiler-dom': 3.5.16 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.16 + alien-signals: 0.4.14 + minimatch: 9.0.5 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.8.3 + + '@vue/shared@3.5.16': {} + '@zod/core@0.10.0': {} '@zod/mini@4.0.0-beta.20250430T185432': @@ -8110,6 +8889,14 @@ snapshots: transitivePeerDependencies: - supports-color + ajv-draft-04@1.0.0(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 + + ajv-formats@3.0.1(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -8117,6 +8904,22 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.12.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 + + 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 + + alien-signals@0.4.14: {} + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} @@ -8156,6 +8959,10 @@ snapshots: are-docs-informative@0.0.2: {} + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + argparse@2.0.1: {} assertion-error@2.0.1: @@ -8182,7 +8989,7 @@ snapshots: '@babel/core': 7.27.1 '@babel/helper-module-imports': 7.18.6 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.27.1) - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 html-entities: 2.3.3 parse5: 7.1.2 validate-html-nesting: 1.2.2 @@ -8255,6 +9062,8 @@ snapshots: pascal-case: 3.1.2 tslib: 2.8.1 + camelcase@6.3.0: {} + caniuse-lite@1.0.30001716: {} ccount@2.0.1: {} @@ -8299,6 +9108,8 @@ snapshots: readdirp: 4.0.1 optional: true + chownr@3.0.0: {} + ci-info@4.2.0: {} clean-regexp@1.0.0: @@ -8350,6 +9161,15 @@ snapshots: core-util-is@1.0.3: {} + cosmiconfig@8.3.6(typescript@5.8.3): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.8.3 + crc-32@1.2.2: {} crc32-stream@6.0.0: @@ -8382,6 +9202,8 @@ snapshots: whatwg-url: 14.0.0 optional: true + de-indent@1.0.2: {} + debug@3.2.7: dependencies: ms: 2.1.3 @@ -8425,6 +9247,11 @@ snapshots: diff@7.0.0: {} + dot-case@3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.8.1 + dot-object@2.1.5: dependencies: commander: 6.2.1 @@ -8445,15 +9272,12 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 - entities@4.5.0: - optional: true + entities@4.5.0: {} error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - es-module-lexer@1.7.0: {} - esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -8954,6 +9778,8 @@ snapshots: estraverse@5.3.0: {} + estree-walker@2.0.2: {} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.7 @@ -9071,6 +9897,12 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -9146,6 +9978,8 @@ snapshots: dependencies: function-bind: 1.1.2 + he@1.2.0: {} + hosted-git-info@2.8.9: {} html-encoding-sniffer@4.0.0: @@ -9191,6 +10025,8 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 + import-lazy@4.0.0: {} + imurmurhash@0.1.4: {} indent-string@4.0.0: {} @@ -9285,6 +10121,8 @@ snapshots: jiti@2.4.2: {} + jju@1.4.0: {} + js-tokens@4.0.0: {} js-yaml@4.1.0: @@ -9332,6 +10170,8 @@ snapshots: json-schema-traverse@0.4.1: {} + json-schema-traverse@1.0.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} json5@2.2.3: {} @@ -9343,6 +10183,12 @@ snapshots: espree: 9.6.1 semver: 7.7.1 + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + jwt-decode@3.1.2: {} kebab-case@1.0.2: {} @@ -9353,6 +10199,8 @@ snapshots: known-css-properties@0.30.0: {} + kolorist@1.8.0: {} + lazystream@1.0.1: dependencies: readable-stream: 2.3.8 @@ -9365,33 +10213,63 @@ snapshots: lightningcss-darwin-arm64@1.29.2: optional: true + lightningcss-darwin-arm64@1.30.1: + optional: true + lightningcss-darwin-x64@1.29.2: optional: true + lightningcss-darwin-x64@1.30.1: + optional: true + lightningcss-freebsd-x64@1.29.2: optional: true + lightningcss-freebsd-x64@1.30.1: + optional: true + lightningcss-linux-arm-gnueabihf@1.29.2: optional: true + lightningcss-linux-arm-gnueabihf@1.30.1: + optional: true + lightningcss-linux-arm64-gnu@1.29.2: optional: true + lightningcss-linux-arm64-gnu@1.30.1: + optional: true + lightningcss-linux-arm64-musl@1.29.2: optional: true + lightningcss-linux-arm64-musl@1.30.1: + optional: true + lightningcss-linux-x64-gnu@1.29.2: optional: true + lightningcss-linux-x64-gnu@1.30.1: + optional: true + lightningcss-linux-x64-musl@1.29.2: optional: true + lightningcss-linux-x64-musl@1.30.1: + optional: true + lightningcss-win32-arm64-msvc@1.29.2: optional: true + lightningcss-win32-arm64-msvc@1.30.1: + optional: true + lightningcss-win32-x64-msvc@1.29.2: optional: true + lightningcss-win32-x64-msvc@1.30.1: + optional: true + lightningcss@1.29.2: dependencies: detect-libc: 2.0.4 @@ -9407,6 +10285,21 @@ snapshots: lightningcss-win32-arm64-msvc: 1.29.2 lightningcss-win32-x64-msvc: 1.29.2 + lightningcss@1.30.1: + dependencies: + detect-libc: 2.0.4 + optionalDependencies: + lightningcss-darwin-arm64: 1.30.1 + lightningcss-darwin-x64: 1.30.1 + lightningcss-freebsd-x64: 1.30.1 + lightningcss-linux-arm-gnueabihf: 1.30.1 + lightningcss-linux-arm64-gnu: 1.30.1 + lightningcss-linux-arm64-musl: 1.30.1 + lightningcss-linux-x64-gnu: 1.30.1 + lightningcss-linux-x64-musl: 1.30.1 + lightningcss-win32-arm64-msvc: 1.30.1 + lightningcss-win32-x64-msvc: 1.30.1 + lines-and-columns@1.2.4: {} local-pkg@1.1.1: @@ -9444,6 +10337,10 @@ snapshots: dependencies: yallist: 3.1.1 + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -9787,6 +10684,10 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@3.0.8: + dependencies: + brace-expansion: 1.1.11 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -9803,10 +10704,16 @@ snapshots: minipass@7.1.2: {} + minizlib@3.0.2: + dependencies: + minipass: 7.1.2 + mkdirp@0.5.6: dependencies: minimist: 1.2.8 + mkdirp@3.0.1: {} + mlly@1.7.4: dependencies: acorn: 8.14.1 @@ -9833,6 +10740,8 @@ snapshots: ms@2.1.3: {} + muggle-string@0.4.1: {} + mustache@4.2.0: {} nanoid@3.3.11: {} @@ -9910,6 +10819,8 @@ snapshots: dependencies: p-limit: 3.1.0 + p-map@7.0.3: {} + p-try@2.2.0: {} package-json-from-dist@1.0.1: {} @@ -9947,6 +10858,8 @@ snapshots: no-case: 3.0.4 tslib: 2.8.1 + path-browserify@1.0.1: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -9969,6 +10882,8 @@ snapshots: path-to-regexp@6.2.2: {} + path-type@4.0.0: {} + pathe@1.1.2: {} pathe@2.0.3: {} @@ -10202,6 +11117,8 @@ snapshots: remove-accents@0.5.0: {} + require-from-string@2.0.2: {} + resolve-from@4.0.0: {} resolve-pkg-maps@1.0.0: {} @@ -10219,25 +11136,6 @@ snapshots: glob: 11.0.0 package-json-from-dist: 1.0.1 - rollup-plugin-dts@6.2.1(rollup@4.41.1)(typescript@5.8.3): - dependencies: - magic-string: 0.30.17 - rollup: 4.41.1 - typescript: 5.8.3 - optionalDependencies: - '@babel/code-frame': 7.27.1 - - rollup-plugin-esbuild@6.2.1(esbuild@0.25.5)(rollup@4.41.1): - dependencies: - debug: 4.4.0 - es-module-lexer: 1.7.0 - esbuild: 0.25.5 - get-tsconfig: 4.10.0 - rollup: 4.41.1 - unplugin-utils: 0.2.4 - transitivePeerDependencies: - - supports-color - rollup@4.40.1: dependencies: '@types/estree': 1.0.7 @@ -10289,6 +11187,7 @@ snapshots: '@rollup/rollup-win32-ia32-msvc': 4.41.1 '@rollup/rollup-win32-x64-msvc': 4.41.1 fsevents: 2.3.3 + optional: true rrweb-cssom@0.7.1: optional: true @@ -10329,6 +11228,10 @@ snapshots: semver@6.3.1: {} + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 + semver@7.7.1: {} seroval-plugins@1.1.1(seroval@1.1.1): @@ -10359,6 +11262,11 @@ snapshots: smol-toml@1.3.0: {} + snake-case@3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.8.1 + solid-js@1.9.6: dependencies: csstype: 3.1.3 @@ -10369,7 +11277,7 @@ snapshots: dependencies: '@babel/generator': 7.27.1 '@babel/helper-module-imports': 7.27.1 - '@babel/types': 7.27.1 + '@babel/types': 7.27.6 solid-js: 1.9.6 transitivePeerDependencies: - supports-color @@ -10377,6 +11285,8 @@ snapshots: source-map-js@1.2.1: {} + source-map@0.6.1: {} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 @@ -10396,6 +11306,8 @@ snapshots: spdx-license-ids@3.0.21: {} + sprintf-js@1.0.3: {} + stable-hash@0.0.5: {} stackback@0.0.2: @@ -10412,6 +11324,8 @@ snapshots: optionalDependencies: bare-events: 2.4.2 + string-argv@0.3.2: {} + string-ts@2.2.1: {} string-width@4.2.3: @@ -10460,8 +11374,14 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} + svg-parser@2.0.4: {} + symbol-tree@3.2.4: optional: true @@ -10492,6 +11412,8 @@ snapshots: dependencies: tailwindcss: 4.1.5 + tailwindcss@4.1.10: {} + tailwindcss@4.1.5: {} tapable@2.2.1: {} @@ -10502,6 +11424,15 @@ snapshots: fast-fifo: 1.3.2 streamx: 2.19.0 + tar@7.4.3: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.0.2 + mkdirp: 3.0.1 + yallist: 5.0.0 + taurpc@1.8.1: dependencies: '@tauri-apps/api': 2.5.0 @@ -10624,6 +11555,8 @@ snapshots: typescript@3.9.10: {} + typescript@5.8.2: {} + typescript@5.8.3: {} ufo@1.5.4: {} @@ -10663,10 +11596,7 @@ snapshots: universal-user-agent@6.0.1: {} - unplugin-utils@0.2.4: - dependencies: - pathe: 2.0.3 - picomatch: 4.0.2 + universalify@2.0.1: {} unplugin@2.3.2: dependencies: @@ -10725,12 +11655,12 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-node@2.1.3(@types/node@22.7.9)(lightningcss@1.29.2)(sass@1.80.3): + vite-node@2.1.3(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3): dependencies: cac: 6.7.14 debug: 4.4.0 pathe: 1.1.2 - vite: 5.4.10(@types/node@22.7.9)(lightningcss@1.29.2)(sass@1.80.3) + vite: 5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3) transitivePeerDependencies: - '@types/node' - less @@ -10743,7 +11673,26 @@ snapshots: - terser optional: true - vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): + vite-plugin-dts@4.5.4(@types/node@22.7.9)(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): + dependencies: + '@microsoft/api-extractor': 7.52.8(@types/node@22.7.9) + '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@volar/typescript': 2.4.14 + '@vue/language-core': 2.2.0(typescript@5.8.3) + compare-versions: 6.1.1 + debug: 4.4.0 + kolorist: 1.8.0 + local-pkg: 1.1.1 + magic-string: 0.30.17 + typescript: 5.8.3 + optionalDependencies: + vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + + vite-plugin-solid@2.11.6(solid-js@1.9.6)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): dependencies: '@babel/core': 7.27.1 '@types/babel__core': 7.20.5 @@ -10751,13 +11700,33 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.6 solid-refresh: 0.6.3(solid-js@1.9.6) - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) - vitefu: 1.0.6(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) + vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vitefu: 1.0.6(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)) transitivePeerDependencies: - supports-color optional: true - vite@5.4.10(@types/node@22.7.9)(lightningcss@1.29.2)(sass@1.80.3): + vite-plugin-static-copy@3.0.0(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): + dependencies: + chokidar: 3.6.0 + fs-extra: 11.3.0 + p-map: 7.0.3 + picocolors: 1.1.1 + tinyglobby: 0.2.13 + vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + + vite-plugin-svgr@4.3.0(rollup@4.41.1)(typescript@5.8.3)(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.41.1) + '@svgr/core': 8.1.0(typescript@5.8.3) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.8.3)) + vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + transitivePeerDependencies: + - rollup + - supports-color + - typescript + + vite@5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3): dependencies: esbuild: 0.21.5 postcss: 8.5.3 @@ -10765,11 +11734,11 @@ snapshots: optionalDependencies: '@types/node': 22.7.9 fsevents: 2.3.3 - lightningcss: 1.29.2 + lightningcss: 1.30.1 sass: 1.80.3 optional: true - vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0): + vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0): dependencies: esbuild: 0.25.3 fdir: 6.4.4(picomatch@4.0.2) @@ -10781,20 +11750,20 @@ snapshots: '@types/node': 22.7.9 fsevents: 2.3.3 jiti: 2.4.2 - lightningcss: 1.29.2 + lightningcss: 1.30.1 sass: 1.80.3 tsx: 4.19.4 yaml: 2.6.0 - vitefu@1.0.6(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): + vitefu@1.0.6(vite@6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0)): optionalDependencies: - vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) + vite: 6.3.4(@types/node@22.7.9)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.80.3)(tsx@4.19.4)(yaml@2.6.0) optional: true - vitest@2.1.3(@types/node@22.7.9)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.29.2)(sass@1.80.3): + vitest@2.1.3(@types/node@22.7.9)(@vitest/ui@2.1.3)(jsdom@25.0.1)(lightningcss@1.30.1)(sass@1.80.3): dependencies: '@vitest/expect': 2.1.3 - '@vitest/mocker': 2.1.3(@vitest/spy@2.1.3)(vite@5.4.10(@types/node@22.7.9)(lightningcss@1.29.2)(sass@1.80.3)) + '@vitest/mocker': 2.1.3(@vitest/spy@2.1.3)(vite@5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3)) '@vitest/pretty-format': 2.1.3 '@vitest/runner': 2.1.3 '@vitest/snapshot': 2.1.3 @@ -10809,8 +11778,8 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.10(@types/node@22.7.9)(lightningcss@1.29.2)(sass@1.80.3) - vite-node: 2.1.3(@types/node@22.7.9)(lightningcss@1.29.2)(sass@1.80.3) + vite: 5.4.10(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3) + vite-node: 2.1.3(@types/node@22.7.9)(lightningcss@1.30.1)(sass@1.80.3) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.7.9 @@ -10828,6 +11797,8 @@ snapshots: - terser optional: true + vscode-uri@3.1.0: {} + vue-eslint-parser@9.4.3(eslint@9.25.1(jiti@2.4.2)): dependencies: debug: 4.4.0 @@ -10909,6 +11880,10 @@ snapshots: yallist@3.1.1: {} + yallist@4.0.0: {} + + yallist@5.0.0: {} + yaml-eslint-parser@1.3.0: dependencies: eslint-visitor-keys: 3.4.3 @@ -10930,4 +11905,10 @@ snapshots: zod@3.25.27: {} + zustand@5.0.5(@types/react@19.1.2)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)): + optionalDependencies: + '@types/react': 19.1.2 + react: 19.1.0 + use-sync-external-store: 1.5.0(react@19.1.0) + zwitch@2.0.4: {}