diff --git a/docs/content/docs/installation.mdx b/docs/content/docs/installation.mdx
index f80cd665..e197a4b3 100644
--- a/docs/content/docs/installation.mdx
+++ b/docs/content/docs/installation.mdx
@@ -644,16 +644,15 @@ In order to use BTST, your application must meet the following requirements:
### Set Up Layout Provider
- Wrap your BTST pages with the `StackProvider` to enable framework-specific overrides:
+ Wrap your BTST pages with the `StackProvider`. The framework router preset (`router` prop) wires `Link`, `Image`, `navigate`, and `refresh` for every plugin at once, and the `api` prop sets `apiBaseURL`/`apiBasePath` for all plugins. The `overrides` prop is then only needed for genuinely plugin-specific values:
```tsx title="app/pages/[[...all]]/layout.tsx"
+ "use client"
import { StackProvider } from "@btst/stack/context"
+ import { nextRouter } from "@btst/stack/next"
import type { ExamplePluginOverrides } from "@btst/stack/plugins/example/client"
- import Link from "next/link"
- import Image from "next/image"
- import { useRouter } from "next/navigation"
// Define the shape of all plugin overrides for type safety
type PluginOverrides = {
@@ -661,18 +660,20 @@ In order to use BTST, your application must meet the following requirements:
// Add other plugins here
}
+ const getBaseURL = () =>
+ typeof window !== "undefined"
+ ? window.location.origin
+ : process.env.BASE_URL || "http://localhost:3000"
+
export default function Layout({ children }) {
- const router = useRouter()
-
return (
basePath="/pages"
+ router={nextRouter()}
+ api={{ baseURL: getBaseURL(), basePath: "/api/data" }}
overrides={{
example: {
- Link: (props) => ,
- Image: (props) => ,
- navigate: (path) => router.push(path),
- // Add other plugin overrides here
+ // Only plugin-specific overrides needed here
}
// Add other plugins here
}}
@@ -686,8 +687,9 @@ In order to use BTST, your application must meet the following requirements:
```tsx title="app/routes/pages/_layout.tsx"
- import { Outlet, Link, useNavigate } from "react-router"
+ import { Outlet } from "react-router"
import { StackProvider } from "@btst/stack/context"
+ import { reactRouter } from "@btst/stack/react-router"
import type { ExamplePluginOverrides } from "@btst/stack/plugins/example/client"
// Define the shape of all plugin overrides
@@ -696,21 +698,20 @@ In order to use BTST, your application must meet the following requirements:
// Add other plugins here
}
+ const getBaseURL = () =>
+ typeof window !== "undefined"
+ ? window.location.origin
+ : process.env.BASE_URL || "http://localhost:3000"
+
export default function Layout() {
- const navigate = useNavigate()
-
return (
basePath="/pages"
+ router={reactRouter()}
+ api={{ baseURL: getBaseURL(), basePath: "/api/data" }}
overrides={{
example: {
- navigate: (href) => navigate(href),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- )
- // Add other plugin overrides here
+ // Only plugin-specific overrides needed here
}
// Add other plugins here
}}
@@ -725,9 +726,10 @@ In order to use BTST, your application must meet the following requirements:
```tsx title="src/routes/pages/route.tsx"
import { StackProvider } from "@btst/stack/context"
+ import { tanstackRouter } from "@btst/stack/tanstack"
import { QueryClientProvider } from "@tanstack/react-query"
import type { ExamplePluginOverrides } from "@btst/stack/plugins/example/client"
- import { Link, useRouter, Outlet, createFileRoute } from "@tanstack/react-router"
+ import { Outlet, createFileRoute } from "@tanstack/react-router"
// Define the shape of all plugin overrides
type PluginOverrides = {
@@ -735,27 +737,27 @@ In order to use BTST, your application must meet the following requirements:
// Add other plugins here
}
+ const getBaseURL = () =>
+ typeof window !== "undefined"
+ ? window.location.origin
+ : process.env.BASE_URL || "http://localhost:3000"
+
export const Route = createFileRoute('/pages')({
component: Layout
})
function Layout() {
- const router = useRouter()
const context = Route.useRouteContext()
return (
basePath="/pages"
+ router={tanstackRouter()}
+ api={{ baseURL: getBaseURL(), basePath: "/api/data" }}
overrides={{
example: {
- navigate: (href) => router.navigate({ href }),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- )
- // Add other plugin overrides here
+ // Only plugin-specific overrides needed here
}
// Add other plugins here
}}
@@ -771,7 +773,8 @@ In order to use BTST, your application must meet the following requirements:
**Understanding Overrides:**
- - **Purpose**: Injects framework-specific components via React Context. Plugin components access these overrides through `usePluginOverrides()` hook, allowing them to use your framework's `Link`, `Image`, and navigation without tight coupling and to avoid breaking the client/server boundary in frameworks like Next.js.
+ - **Purpose**: Injects framework-specific components via React Context. Plugin components access these overrides through `usePluginOverrides()` hook, allowing them to use your framework's `Link`, `Image`, and navigation without tight coupling and to avoid breaking the client/server boundary in frameworks like Next.js.
+ - **Resolution order**: per-plugin `overrides` → top-level `router`/`api` → plugin defaults. Per-plugin `Link`/`navigate`/`Image`/`apiBaseURL` values always take precedence over the router preset, so you can still override framework wiring for a single plugin as an escape hatch.
- **Type Safety**: Each plugin exports its override type (e.g., `ExamplePluginOverrides`)
diff --git a/packages/stack/build.config.ts b/packages/stack/build.config.ts
index e26eeda8..0a5bd1da 100644
--- a/packages/stack/build.config.ts
+++ b/packages/stack/build.config.ts
@@ -49,6 +49,13 @@ export default defineBuildConfig({
"@vercel/blob/client",
"@aws-sdk/client-s3",
"@aws-sdk/s3-request-presigner",
+ // optional peerDependencies (framework router presets)
+ "next",
+ "next/link",
+ "next/image",
+ "next/navigation",
+ "react-router",
+ "@tanstack/react-router",
// test/build-time deps kept external
"vitest",
"@vitest/runner",
@@ -66,6 +73,10 @@ export default defineBuildConfig({
"./src/client/index.ts",
"./src/context/index.ts",
"./src/client/components/index.tsx",
+ // framework router presets
+ "./src/next/index.tsx",
+ "./src/react-router/index.tsx",
+ "./src/tanstack/index.tsx",
// plugin development entries
"./src/plugins/api/index.ts",
"./src/plugins/client/index.ts",
diff --git a/packages/stack/knip.json b/packages/stack/knip.json
index c31759d8..77a1a371 100644
--- a/packages/stack/knip.json
+++ b/packages/stack/knip.json
@@ -6,6 +6,9 @@
"src/client/index.ts",
"src/context/index.ts",
"src/client/components/index.tsx",
+ "src/next/index.tsx",
+ "src/react-router/index.tsx",
+ "src/tanstack/index.tsx",
"src/plugins/api/index.ts",
"src/plugins/client/index.ts",
"src/plugins/blog/api/index.ts",
@@ -76,6 +79,9 @@
"@tailwindcss/typography",
"@aws-sdk/client-s3",
"@aws-sdk/s3-request-presigner",
- "@vercel/blob"
+ "@vercel/blob",
+ "next",
+ "react-router",
+ "@tanstack/react-router"
]
}
diff --git a/packages/stack/package.json b/packages/stack/package.json
index 531f0434..38a2e577 100644
--- a/packages/stack/package.json
+++ b/packages/stack/package.json
@@ -87,6 +87,36 @@
"default": "./dist/context/index.cjs"
}
},
+ "./next": {
+ "import": {
+ "types": "./dist/next/index.d.ts",
+ "default": "./dist/next/index.mjs"
+ },
+ "require": {
+ "types": "./dist/next/index.d.cts",
+ "default": "./dist/next/index.cjs"
+ }
+ },
+ "./react-router": {
+ "import": {
+ "types": "./dist/react-router/index.d.ts",
+ "default": "./dist/react-router/index.mjs"
+ },
+ "require": {
+ "types": "./dist/react-router/index.d.cts",
+ "default": "./dist/react-router/index.cjs"
+ }
+ },
+ "./tanstack": {
+ "import": {
+ "types": "./dist/tanstack/index.d.ts",
+ "default": "./dist/tanstack/index.mjs"
+ },
+ "require": {
+ "types": "./dist/tanstack/index.d.cts",
+ "default": "./dist/tanstack/index.cjs"
+ }
+ },
"./plugins/api": {
"import": {
"types": "./dist/plugins/api/index.d.ts",
@@ -605,6 +635,15 @@
"context": [
"./dist/context/index.d.ts"
],
+ "next": [
+ "./dist/next/index.d.ts"
+ ],
+ "react-router": [
+ "./dist/react-router/index.d.ts"
+ ],
+ "tanstack": [
+ "./dist/tanstack/index.d.ts"
+ ],
"plugins/api": [
"./dist/plugins/api/index.d.ts"
],
@@ -774,6 +813,7 @@
"@radix-ui/react-switch": ">=1.1.0",
"@tailwindcss/typography": ">=0.5.0",
"@tanstack/react-query": "^5.0.0",
+ "@tanstack/react-router": ">=1.0.0",
"@vercel/blob": ">=0.14.0",
"ai": ">=5.0.0",
"better-call": ">=1.3.5",
@@ -784,9 +824,11 @@
"highlight.js": ">=11.9.0",
"katex": ">=0.16.0",
"lucide-react": ">=0.469.0",
+ "next": ">=15.0.0",
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0",
"react-error-boundary": ">=4.0.0",
+ "react-router": ">=7.0.0",
"react-hook-form": ">=7.55.0",
"react-markdown": ">=9.1.0",
"rehype-highlight": ">=7.0.0",
@@ -808,6 +850,15 @@
},
"@aws-sdk/s3-request-presigner": {
"optional": true
+ },
+ "next": {
+ "optional": true
+ },
+ "react-router": {
+ "optional": true
+ },
+ "@tanstack/react-router": {
+ "optional": true
}
},
"devDependencies": {
@@ -816,16 +867,20 @@
"@aws-sdk/s3-request-presigner": "^3.1011.0",
"@btst/adapter-memory": "2.2.2",
"@btst/yar": "1.3.0",
+ "@tanstack/react-router": "1.168.10",
"@types/react": "^19.0.0",
+ "@types/react-dom": "^19.0.0",
"@types/slug": "^5.0.9",
"@vercel/blob": "^0.27.3",
"@workspace/ui": "workspace:*",
"ai": "^5.0.94",
"better-call": "catalog:",
"knip": "^5.61.2",
+ "next": "16.0.10",
"react": "^19.2.7",
"react-dom": "^19.2.7",
"react-error-boundary": "^4.1.2",
+ "react-router": "^7.13.1",
"rollup-plugin-preserve-directives": "0.4.0",
"rollup-plugin-visualizer": "^5.12.0",
"tsx": "catalog:",
diff --git a/packages/stack/src/__tests__/router-overrides.test.tsx b/packages/stack/src/__tests__/router-overrides.test.tsx
new file mode 100644
index 00000000..95d69963
--- /dev/null
+++ b/packages/stack/src/__tests__/router-overrides.test.tsx
@@ -0,0 +1,193 @@
+import { describe, expect, it } from "vitest";
+import { renderToString } from "react-dom/server";
+import type { ComponentType } from "react";
+import { StackProvider, usePluginOverrides } from "../context";
+import type { StackApiConfig, StackRouterConfig } from "../context";
+
+/**
+ * Renders StackProvider with a probe child that captures the resolved
+ * overrides for the given plugin, without needing a DOM.
+ */
+function resolveOverrides({
+ pluginName,
+ overrides,
+ router,
+ api,
+ defaultValues,
+}: {
+ pluginName: string;
+ overrides?: Record;
+ router?: StackRouterConfig;
+ api?: StackApiConfig;
+ defaultValues?: Record;
+}): any {
+ let captured: any;
+
+ function Probe() {
+ captured = usePluginOverrides(pluginName, defaultValues);
+ return null;
+ }
+
+ renderToString(
+
+
+ ,
+ );
+
+ return captured;
+}
+
+const RouterLink: ComponentType = () => null;
+const PluginLink: ComponentType = () => null;
+
+describe("top-level router/api override resolution", () => {
+ it("behaves exactly as before when no router/api is provided", () => {
+ const blogOverrides = { navigate: () => {}, apiBaseURL: "x" };
+ const resolved = resolveOverrides({
+ pluginName: "blog",
+ overrides: { blog: blogOverrides },
+ });
+
+ // Without router/api or defaults, the plugin overrides object is
+ // returned as-is (same reference), matching the previous behavior.
+ expect(resolved).toBe(blogOverrides);
+ });
+
+ it("returns undefined for unconfigured plugins when no router/api is provided", () => {
+ const resolved = resolveOverrides({
+ pluginName: "blog",
+ overrides: {},
+ });
+ expect(resolved).toBeUndefined();
+ });
+
+ it("applies top-level router fields to every plugin", () => {
+ const navigate = () => {};
+ const refresh = () => {};
+ const resolved = resolveOverrides({
+ pluginName: "blog",
+ overrides: { blog: {} },
+ router: { Link: RouterLink, navigate, refresh },
+ });
+
+ expect(resolved.Link).toBe(RouterLink);
+ expect(resolved.navigate).toBe(navigate);
+ expect(resolved.refresh).toBe(refresh);
+ });
+
+ it("applies router fields even to plugins with no overrides block", () => {
+ const resolved = resolveOverrides({
+ pluginName: "kanban",
+ overrides: {},
+ router: { Link: RouterLink },
+ });
+
+ expect(resolved.Link).toBe(RouterLink);
+ });
+
+ it("maps api config to apiBaseURL/apiBasePath", () => {
+ const resolved = resolveOverrides({
+ pluginName: "blog",
+ overrides: { blog: {} },
+ api: { baseURL: "https://example.com", basePath: "/api/data" },
+ });
+
+ expect(resolved.apiBaseURL).toBe("https://example.com");
+ expect(resolved.apiBasePath).toBe("/api/data");
+ });
+
+ it("per-plugin overrides beat the top-level router and api", () => {
+ const routerNavigate = () => {};
+ const pluginNavigate = () => {};
+ const resolved = resolveOverrides({
+ pluginName: "blog",
+ overrides: {
+ blog: {
+ Link: PluginLink,
+ navigate: pluginNavigate,
+ apiBaseURL: "https://plugin.example.com",
+ },
+ },
+ router: { Link: RouterLink, navigate: routerNavigate },
+ api: { baseURL: "https://example.com", basePath: "/api/data" },
+ });
+
+ expect(resolved.Link).toBe(PluginLink);
+ expect(resolved.navigate).toBe(pluginNavigate);
+ expect(resolved.apiBaseURL).toBe("https://plugin.example.com");
+ // Fields not overridden per plugin still come from the top level
+ expect(resolved.apiBasePath).toBe("/api/data");
+ });
+
+ it("top-level router/api beat hook defaultValues", () => {
+ const routerNavigate = () => {};
+ const defaultNavigate = () => {};
+ const resolved = resolveOverrides({
+ pluginName: "blog",
+ overrides: { blog: {} },
+ router: { navigate: routerNavigate },
+ api: { baseURL: "https://example.com", basePath: "/api/data" },
+ defaultValues: {
+ navigate: defaultNavigate,
+ apiBaseURL: "https://default.example.com",
+ localization: { TITLE: "Default" },
+ },
+ });
+
+ expect(resolved.navigate).toBe(routerNavigate);
+ expect(resolved.apiBaseURL).toBe("https://example.com");
+ // Defaults not managed by router/api survive
+ expect(resolved.localization).toEqual({ TITLE: "Default" });
+ });
+
+ it("undefined router fields do not clobber hook defaults", () => {
+ const defaultNavigate = () => {};
+ const resolved = resolveOverrides({
+ pluginName: "blog",
+ overrides: { blog: {} },
+ router: { Link: RouterLink, navigate: undefined },
+ defaultValues: { navigate: defaultNavigate },
+ });
+
+ expect(resolved.Link).toBe(RouterLink);
+ expect(resolved.navigate).toBe(defaultNavigate);
+ });
+
+ it("evaluates the preset useRouter hook and merges its result over static fields", () => {
+ const staticNavigate = () => {};
+ const hookNavigate = () => {};
+ const hookRefresh = () => {};
+ const resolved = resolveOverrides({
+ pluginName: "blog",
+ overrides: { blog: {} },
+ router: {
+ Link: RouterLink,
+ navigate: staticNavigate,
+ useRouter: () => ({ navigate: hookNavigate, refresh: hookRefresh }),
+ },
+ });
+
+ // Hook result wins over the static preset field
+ expect(resolved.navigate).toBe(hookNavigate);
+ expect(resolved.refresh).toBe(hookRefresh);
+ // Static fields not returned by the hook survive
+ expect(resolved.Link).toBe(RouterLink);
+ });
+
+ it("works without an overrides prop at all", () => {
+ const navigate = () => {};
+ const resolved = resolveOverrides({
+ pluginName: "blog",
+ router: { navigate },
+ api: { baseURL: "https://example.com", basePath: "/api/data" },
+ });
+
+ expect(resolved.navigate).toBe(navigate);
+ expect(resolved.apiBaseURL).toBe("https://example.com");
+ });
+});
diff --git a/packages/stack/src/context/index.ts b/packages/stack/src/context/index.ts
index 1a8f850f..1e4fdb3d 100644
--- a/packages/stack/src/context/index.ts
+++ b/packages/stack/src/context/index.ts
@@ -1 +1,2 @@
export * from "./provider";
+export * from "./router";
diff --git a/packages/stack/src/context/provider.tsx b/packages/stack/src/context/provider.tsx
index 4dcdb07e..1adfc421 100644
--- a/packages/stack/src/context/provider.tsx
+++ b/packages/stack/src/context/provider.tsx
@@ -1,5 +1,11 @@
"use client";
import { createContext, useContext, type ReactNode } from "react";
+import type {
+ StackApiConfig,
+ StackRouter,
+ StackRouterConfig,
+ WithOptionalRouterOverrides,
+} from "./router";
/**
* Context value that provides plugin-specific overrides
@@ -14,10 +20,81 @@ interface StackContextValue> {
* The base path where the client router is mounted.
*/
basePath: string;
+ /**
+ * Resolved top-level router (static preset fields merged with the
+ * preset's `useRouter` hook result).
+ */
+ router?: StackRouter;
+ /**
+ * Top-level API config applied to all plugins.
+ */
+ api?: StackApiConfig;
}
const StackContext = createContext | null>(null);
+/**
+ * The `overrides` prop shape for `StackProvider`: per plugin, the fields
+ * managed by the top-level `router` / `api` props become optional, and
+ * plugin blocks whose remaining fields are all optional can be omitted
+ * entirely.
+ */
+export type StackProviderOverrides<
+ TPluginOverrides extends Record,
+> = {
+ [K in keyof TPluginOverrides]?: WithOptionalRouterOverrides<
+ TPluginOverrides[K]
+ >;
+};
+
+/** Removes keys whose value is `undefined` so they don't clobber lower layers in spreads. */
+function stripUndefined>(obj: T): Partial {
+ const result: Record = {};
+ for (const key of Object.keys(obj)) {
+ if (obj[key] !== undefined) {
+ result[key] = obj[key];
+ }
+ }
+ return result as Partial;
+}
+
+function resolveStaticRouter(
+ router: StackRouterConfig | undefined,
+): StackRouter | undefined {
+ if (!router) return undefined;
+ const { useRouter: _useRouter, ...staticFields } = router;
+ return stripUndefined(staticFields);
+}
+
+/**
+ * Internal component that evaluates the router preset's `useRouter` hook.
+ * Rendered only when the hook exists, so the hook itself is always called
+ * unconditionally within this component.
+ */
+function RouterBridge({
+ useRouter,
+ staticRouter,
+ value,
+ children,
+}: {
+ useRouter: () => StackRouter;
+ staticRouter: StackRouter | undefined;
+ value: Omit, "router">;
+ children?: ReactNode;
+}) {
+ const hookRouter = useRouter();
+ const router: StackRouter = {
+ ...staticRouter,
+ ...stripUndefined(hookRouter),
+ };
+
+ return (
+
+ {children}
+
+ );
+}
+
/**
* Provider component for BTST context
* Provides type-safe access to plugin-specific overrides
@@ -46,6 +123,26 @@ const StackContext = createContext | null>(null);
* {children}
*
* ```
+ *
+ * With a framework router preset, the shared `Link`/`navigate`/`refresh`/
+ * `Image` wiring and API config move to the top level and per-plugin
+ * overrides only carry genuinely plugin-specific values:
+ *
+ * @example
+ * ```tsx
+ * import { nextRouter } from "@btst/stack/next";
+ *
+ *
+ * basePath="/pages"
+ * router={nextRouter()}
+ * api={{ baseURL, basePath: "/api/data" }}
+ * overrides={{
+ * blog: { uploadImage },
+ * }}
+ * >
+ * {children}
+ *
+ * ```
*/
export function StackProvider<
TPluginOverrides extends Record = Record,
@@ -53,18 +150,38 @@ export function StackProvider<
children,
overrides,
basePath,
+ router,
+ api,
}: {
children?: ReactNode;
- overrides: TPluginOverrides;
+ overrides?: StackProviderOverrides;
basePath: string;
+ router?: StackRouterConfig;
+ api?: StackApiConfig;
}) {
- const value: StackContextValue = {
- overrides,
+ const staticRouter = resolveStaticRouter(router);
+ const value: Omit, "router"> = {
+ overrides: overrides ?? {},
basePath,
+ api,
};
+ if (router?.useRouter) {
+ return (
+
+ {children}
+
+ );
+ }
+
return (
- {children}
+
+ {children}
+
);
}
@@ -138,11 +255,33 @@ export function usePluginOverrides<
const pluginOverrides = context.overrides[pluginName];
- // If defaults are provided, merge them with plugin overrides
- // This ensures default properties exist even if plugin is partially configured
- const overrides = defaultValues
- ? { ...defaultValues, ...pluginOverrides }
- : pluginOverrides;
+ // Resolution order (lowest to highest precedence):
+ // hook defaults -> top-level router/api -> per-plugin overrides
+ const { router, api } = context;
+ if (!router && !api) {
+ // No top-level router/api configured — behave exactly as before
+ const overrides = defaultValues
+ ? { ...defaultValues, ...pluginOverrides }
+ : pluginOverrides;
+ return overrides as OverridesResult;
+ }
+
+ const routerApiLayer = stripUndefined({
+ Link: router?.Link,
+ Image: router?.Image,
+ navigate: router?.navigate,
+ refresh: router?.refresh,
+ getSearchParams: router?.getSearchParams,
+ setSearchParams: router?.setSearchParams,
+ apiBaseURL: api?.baseURL,
+ apiBasePath: api?.basePath,
+ });
+
+ const overrides = {
+ ...defaultValues,
+ ...routerApiLayer,
+ ...pluginOverrides,
+ };
return overrides as OverridesResult;
}
diff --git a/packages/stack/src/context/router.tsx b/packages/stack/src/context/router.tsx
new file mode 100644
index 00000000..a18e0402
--- /dev/null
+++ b/packages/stack/src/context/router.tsx
@@ -0,0 +1,97 @@
+import type { ComponentType } from "react";
+
+/**
+ * Framework routing primitives shared by all plugins.
+ *
+ * These are the fields that every plugin override block used to re-wire
+ * individually (`Link`, `navigate`, `refresh`, `Image`). Providing them once
+ * via the top-level `router` prop on `StackProvider` applies them to every
+ * plugin; per-plugin overrides still take precedence.
+ */
+export interface StackRouter {
+ /**
+ * Link component for navigation
+ */
+ Link?: ComponentType & Record>;
+ /**
+ * Image component for displaying images
+ */
+ Image?: ComponentType<
+ React.ImgHTMLAttributes & Record
+ >;
+ /**
+ * Navigation function for programmatic navigation
+ */
+ navigate?: (path: string) => void | Promise;
+ /**
+ * Refresh function to invalidate server-side cache (e.g., Next.js router.refresh())
+ */
+ refresh?: () => void | Promise;
+ /**
+ * Read the current URL search params
+ */
+ getSearchParams?: () => URLSearchParams;
+ /**
+ * Replace the current URL search params
+ */
+ setSearchParams?: (
+ next: URLSearchParams,
+ opts?: { replace?: boolean },
+ ) => void;
+}
+
+/**
+ * Config accepted by the `router` prop on `StackProvider`.
+ *
+ * Framework presets (`nextRouter()`, `reactRouter()`, `tanstackRouter()`) are
+ * plain objects created anywhere — including module scope — so fields that
+ * need framework hooks are produced by the optional `useRouter` hook, which
+ * `StackProvider` evaluates internally. Hook results are merged over the
+ * static fields.
+ */
+export interface StackRouterConfig extends StackRouter {
+ /**
+ * Optional hook evaluated inside `StackProvider`. Use this for router
+ * fields that must be derived from framework hooks (e.g. `useNavigate`).
+ */
+ useRouter?: () => StackRouter;
+}
+
+/**
+ * Top-level API config applied to all plugins.
+ * Maps to the `apiBaseURL` / `apiBasePath` fields of each plugin's overrides.
+ */
+export interface StackApiConfig {
+ /**
+ * API base URL (e.g. `https://example.com`)
+ */
+ baseURL: string;
+ /**
+ * API base path (e.g. `/api/data`)
+ */
+ basePath: string;
+}
+
+/**
+ * Override keys that are managed by the top-level `router` / `api` props.
+ */
+export type RouterManagedOverrideKeys =
+ | "Link"
+ | "Image"
+ | "navigate"
+ | "refresh"
+ | "getSearchParams"
+ | "setSearchParams"
+ | "apiBaseURL"
+ | "apiBasePath";
+
+/**
+ * Makes the router/api-managed fields of a plugin overrides interface
+ * optional, so consumers wiring `router` / `api` at the top level can omit
+ * them per plugin without type errors.
+ */
+export type WithOptionalRouterOverrides = Omit<
+ T,
+ Extract
+> &
+ Partial>>;
diff --git a/packages/stack/src/next/index.tsx b/packages/stack/src/next/index.tsx
new file mode 100644
index 00000000..2d4af4c3
--- /dev/null
+++ b/packages/stack/src/next/index.tsx
@@ -0,0 +1,102 @@
+"use client";
+import NextImage from "next/image";
+import NextLink from "next/link";
+import { useRouter } from "next/navigation";
+import { useMemo } from "react";
+import type { StackRouter, StackRouterConfig } from "../context/router";
+
+function NextLinkWrapper({
+ href,
+ ...props
+}: React.ComponentProps<"a"> & Record) {
+ return ;
+}
+
+/**
+ * Next.js Image wrapper for plugins.
+ * Handles both cases: with explicit dimensions or using fill mode.
+ */
+function NextImageWrapper(props: React.ImgHTMLAttributes) {
+ const { alt = "", src = "", width, height, ...rest } = props;
+
+ // Use fill mode if width or height are not provided
+ if (!width || !height) {
+ return (
+
+
+
+ );
+ }
+
+ return (
+
+ );
+}
+
+// Reads window.location.search instead of Next's useSearchParams() hook to
+// avoid forcing a Suspense/CSR bailout during static generation. Returns
+// empty params on the server.
+function getSearchParams(): URLSearchParams {
+ return new URLSearchParams(
+ typeof window !== "undefined" ? window.location.search : "",
+ );
+}
+
+function useNextStackRouter(): StackRouter {
+ const router = useRouter();
+
+ return useMemo(
+ () => ({
+ navigate: (path: string) => {
+ router.push(path);
+ },
+ refresh: () => {
+ router.refresh();
+ },
+ setSearchParams: (
+ next: URLSearchParams,
+ opts?: { replace?: boolean },
+ ) => {
+ const query = next.toString();
+ const path = `${window.location.pathname}${query ? `?${query}` : ""}`;
+ if (opts?.replace) {
+ router.replace(path);
+ } else {
+ router.push(path);
+ }
+ },
+ }),
+ [router],
+ );
+}
+
+/**
+ * Router preset for Next.js (App Router).
+ *
+ * @example
+ * ```tsx
+ * import { nextRouter } from "@btst/stack/next";
+ *
+ *
+ * ```
+ */
+export function nextRouter(): StackRouterConfig {
+ return {
+ Link: NextLinkWrapper,
+ Image: NextImageWrapper,
+ getSearchParams,
+ useRouter: useNextStackRouter,
+ };
+}
diff --git a/packages/stack/src/react-router/index.tsx b/packages/stack/src/react-router/index.tsx
new file mode 100644
index 00000000..27b0b40f
--- /dev/null
+++ b/packages/stack/src/react-router/index.tsx
@@ -0,0 +1,63 @@
+"use client";
+import { useMemo } from "react";
+import {
+ Link as ReactRouterLink,
+ useNavigate,
+ useRevalidator,
+ useSearchParams,
+} from "react-router";
+import type { StackRouter, StackRouterConfig } from "../context/router";
+
+function ReactRouterLinkWrapper({
+ href,
+ children,
+ ...props
+}: React.ComponentProps<"a"> & Record) {
+ return (
+
+ {children}
+
+ );
+}
+
+function useReactRouterStackRouter(): StackRouter {
+ const navigate = useNavigate();
+ const { revalidate } = useRevalidator();
+ const [searchParams, setSearchParams] = useSearchParams();
+
+ return useMemo(
+ () => ({
+ navigate: (path: string) => {
+ void navigate(path);
+ },
+ refresh: () => {
+ void revalidate();
+ },
+ getSearchParams: () => new URLSearchParams(searchParams),
+ setSearchParams: (
+ next: URLSearchParams,
+ opts?: { replace?: boolean },
+ ) => {
+ setSearchParams(next, { replace: opts?.replace });
+ },
+ }),
+ [navigate, revalidate, searchParams, setSearchParams],
+ );
+}
+
+/**
+ * Router preset for React Router (v7).
+ *
+ * @example
+ * ```tsx
+ * import { reactRouter } from "@btst/stack/react-router";
+ *
+ *
+ * ```
+ */
+export function reactRouter(): StackRouterConfig {
+ return {
+ Link: ReactRouterLinkWrapper,
+ useRouter: useReactRouterStackRouter,
+ };
+}
diff --git a/packages/stack/src/tanstack/index.tsx b/packages/stack/src/tanstack/index.tsx
new file mode 100644
index 00000000..9451bf42
--- /dev/null
+++ b/packages/stack/src/tanstack/index.tsx
@@ -0,0 +1,61 @@
+"use client";
+import { Link as TanStackLink, useRouter } from "@tanstack/react-router";
+import { useMemo } from "react";
+import type { StackRouter, StackRouterConfig } from "../context/router";
+
+function TanStackLinkWrapper({
+ href,
+ children,
+ ...props
+}: React.ComponentProps<"a"> & Record) {
+ return (
+
+ {children}
+
+ );
+}
+
+function useTanStackStackRouter(): StackRouter {
+ const router = useRouter();
+
+ return useMemo(
+ () => ({
+ navigate: (path: string) => {
+ router.navigate({ href: path });
+ },
+ refresh: () => {
+ router.invalidate();
+ },
+ getSearchParams: () =>
+ new URLSearchParams(router.state.location.searchStr ?? ""),
+ setSearchParams: (
+ next: URLSearchParams,
+ opts?: { replace?: boolean },
+ ) => {
+ const query = next.toString();
+ router.navigate({
+ href: `${router.state.location.pathname}${query ? `?${query}` : ""}`,
+ replace: opts?.replace,
+ });
+ },
+ }),
+ [router],
+ );
+}
+
+/**
+ * Router preset for TanStack Router / TanStack Start.
+ *
+ * @example
+ * ```tsx
+ * import { tanstackRouter } from "@btst/stack/tanstack";
+ *
+ *
+ * ```
+ */
+export function tanstackRouter(): StackRouterConfig {
+ return {
+ Link: TanStackLinkWrapper,
+ useRouter: useTanStackStackRouter,
+ };
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index cebefa75..545c3974 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -67,7 +67,143 @@ importers:
version: 3.6.1(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
vitest:
specifier: 'catalog:'
- version: 3.2.4(@types/debug@4.1.12)(@types/node@24.12.0)(jiti@2.6.1)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.8.2)
+ version: 3.2.4(@types/debug@4.1.12)(@types/node@24.12.0)(jiti@2.7.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.8.2)
+
+ codegen-projects/tanstack:
+ dependencies:
+ '@ai-sdk/openai':
+ specifier: ^2.0.68
+ version: 2.0.110(zod@4.4.3)
+ '@btst/adapter-memory':
+ specifier: ^2.2.2
+ version: 2.2.2(e0348a04c834c515f6e6974fb4bbed6d)
+ '@btst/stack':
+ specifier: workspace:*
+ version: link:../../packages/stack
+ '@fontsource-variable/geist':
+ specifier: ^5.2.9
+ version: 5.2.9
+ '@tailwindcss/vite':
+ specifier: ^4.2.1
+ version: 4.3.2(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ '@tanstack/react-devtools':
+ specifier: latest
+ version: 0.10.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(csstype@3.2.3)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.12)
+ '@tanstack/react-query':
+ specifier: ^5.90.2
+ version: 5.90.10(react@19.2.7)
+ '@tanstack/react-query-devtools':
+ specifier: ^5.90.2
+ version: 5.101.2(@tanstack/react-query@5.90.10(react@19.2.7))(react@19.2.7)
+ '@tanstack/react-router':
+ specifier: 1.168.10
+ version: 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@tanstack/react-router-devtools':
+ specifier: latest
+ version: 1.167.0(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@tanstack/router-core@1.168.9)(csstype@3.2.3)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@tanstack/react-router-ssr-query':
+ specifier: 1.167.1
+ version: 1.167.1(@tanstack/query-core@5.90.10)(@tanstack/react-query@5.90.10(react@19.2.7))(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@tanstack/router-core@1.168.9)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@tanstack/react-start':
+ specifier: 1.167.16
+ version: 1.167.16(crossws@0.4.6(srvx@0.11.16))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ '@tanstack/router-plugin':
+ specifier: 1.167.12
+ version: 1.167.12(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ '@vitejs/plugin-react':
+ specifier: ^5.2.0
+ version: 5.2.0(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ ai:
+ specifier: ^5.0.94
+ version: 5.0.94(zod@4.4.3)
+ class-variance-authority:
+ specifier: ^0.7.1
+ version: 0.7.1
+ clsx:
+ specifier: ^2.1.1
+ version: 2.1.1
+ lucide-react:
+ specifier: ^0.545.0
+ version: 0.545.0(react@19.2.7)
+ next-themes:
+ specifier: ^0.4.6
+ version: 0.4.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ nitro:
+ specifier: 3.0.260603-beta
+ version: 3.0.260603-beta(@electric-sql/pglite@0.3.15)(@vercel/blob@0.27.3)(chokidar@4.0.3)(dotenv@17.2.3)(giget@2.0.0)(jiti@2.7.0)(lru-cache@11.5.1)(mongodb@6.21.0(socks@2.8.7))(mysql2@3.15.3)(rollup@4.53.2)(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ radix-ui:
+ specifier: ^1.6.1
+ version: 1.6.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react:
+ specifier: 19.2.7
+ version: 19.2.7
+ react-dom:
+ specifier: 19.2.7
+ version: 19.2.7(react@19.2.7)
+ shadcn:
+ specifier: ^4.13.0
+ version: 4.13.0(typescript@6.0.3)
+ sonner:
+ specifier: ^2.0.7
+ version: 2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ tailwind-merge:
+ specifier: ^3.6.0
+ version: 3.6.0
+ tailwindcss:
+ specifier: ^4
+ version: 4.2.2
+ tw-animate-css:
+ specifier: ^1.4.0
+ version: 1.4.0
+ vite:
+ specifier: 7.3.1
+ version: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ vite-tsconfig-paths:
+ specifier: ^5.1.4
+ version: 5.1.4(typescript@6.0.3)(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ zod:
+ specifier: 4.4.3
+ version: 4.4.3
+ devDependencies:
+ '@tanstack/devtools-vite':
+ specifier: latest
+ version: 0.8.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ '@tanstack/eslint-config':
+ specifier: latest
+ version: 0.4.0(@typescript-eslint/utils@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ '@testing-library/dom':
+ specifier: ^10.4.1
+ version: 10.4.1
+ '@testing-library/react':
+ specifier: ^16.3.2
+ version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@types/node':
+ specifier: ^22
+ version: 22.20.0
+ '@types/react':
+ specifier: ^19
+ version: 19.2.14
+ '@types/react-dom':
+ specifier: ^19
+ version: 19.2.3(@types/react@19.2.14)
+ eslint:
+ specifier: ^9
+ version: 9.39.4(jiti@2.7.0)
+ jsdom:
+ specifier: ^28
+ version: 28.1.0(@noble/hashes@2.0.1)
+ prettier:
+ specifier: ^3.8.3
+ version: 3.8.4
+ prettier-plugin-tailwindcss:
+ specifier: ^0.8.0
+ version: 0.8.0(prettier@3.8.4)
+ typescript:
+ specifier: ^6
+ version: 6.0.3
+ vitest:
+ specifier: ^4
+ version: 4.1.9(@opentelemetry/api@1.9.0)(@types/node@22.20.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(msw@2.12.10(@types/node@22.20.0)(typescript@6.0.3))(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
docs:
dependencies:
@@ -88,7 +224,7 @@ importers:
version: 3.0.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(fumadocs-core@16.0.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/react@19.2.14)(lucide-react@0.522.0(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7))
fumadocs-mdx:
specifier: 13.0.6
- version: 13.0.6(fumadocs-core@16.0.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/react@19.2.14)(lucide-react@0.522.0(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@24.0.3)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ version: 13.0.6(fumadocs-core@16.0.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/react@19.2.14)(lucide-react@0.522.0(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@24.0.3)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
fumadocs-typescript:
specifier: 4.0.13
version: 4.0.13(@types/react@19.2.14)(fumadocs-core@16.0.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/react@19.2.14)(lucide-react@0.522.0(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7))(fumadocs-ui@16.0.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(lucide-react@0.522.0(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)(tailwindcss@4.2.2))(typescript@5.9.3)
@@ -100,7 +236,7 @@ importers:
version: 0.522.0(react@19.2.7)
next:
specifier: 16.0.10
- version: 16.0.10(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ version: 16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react:
specifier: 19.2.7
version: 19.2.7
@@ -137,7 +273,7 @@ importers:
version: 8.57.1
eslint-config-next:
specifier: 15.3.4
- version: 15.3.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.61.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint@8.57.1)(typescript@5.9.3)
+ version: 15.3.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.62.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint@8.57.1)(typescript@5.9.3)
postcss:
specifier: ^8.5.6
version: 8.5.6
@@ -198,13 +334,13 @@ importers:
version: 3.6.1(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
vitest:
specifier: 'catalog:'
- version: 3.2.4(@types/debug@4.1.12)(@types/node@24.12.0)(jiti@2.6.1)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)
+ version: 3.2.4(@types/debug@4.1.12)(@types/node@24.12.0)(jiti@2.7.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)
packages/stack:
dependencies:
'@btst/db':
specifier: 2.2.2
- version: 2.2.2(7010515aebf7f15e3f6fd94d16578921)
+ version: 2.2.2(84c0473dacd82373aa0e1c019674ae07)
'@hookform/resolvers':
specifier: '>=5.0.0'
version: 5.2.2(react-hook-form@7.66.1(react@19.2.7))
@@ -304,13 +440,19 @@ importers:
version: 3.1011.0
'@btst/adapter-memory':
specifier: 2.2.2
- version: 2.2.2(3f1048c33dcc3a34f5463c3b01c66883)
+ version: 2.2.2(1cc8778580309809cf6cdfc6c185225b)
'@btst/yar':
specifier: 1.3.0
version: 1.3.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react@19.2.7)
+ '@tanstack/react-router':
+ specifier: 1.168.10
+ version: 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@types/react':
specifier: ^19.0.0
version: 19.2.14
+ '@types/react-dom':
+ specifier: ^19.0.0
+ version: 19.2.3(@types/react@19.2.14)
'@types/slug':
specifier: ^5.0.9
version: 5.0.9
@@ -329,6 +471,9 @@ importers:
knip:
specifier: ^5.61.2
version: 5.86.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@types/node@25.5.0)(typescript@5.9.3)
+ next:
+ specifier: 16.0.10
+ version: 16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react:
specifier: 19.2.7
version: 19.2.7
@@ -338,6 +483,9 @@ importers:
react-error-boundary:
specifier: ^4.1.2
version: 4.1.2(react@19.2.7)
+ react-router:
+ specifier: ^7.13.1
+ version: 7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
rollup-plugin-preserve-directives:
specifier: 0.4.0
version: 0.4.0(rollup@4.53.2)
@@ -355,7 +503,7 @@ importers:
version: 3.6.1(typescript@5.9.3)(vue@3.5.24(typescript@5.9.3))
vitest:
specifier: 'catalog:'
- version: 3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.6.1)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)
+ version: 3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.7.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)
zod:
specifier: 4.4.3
version: 4.4.3
@@ -614,7 +762,7 @@ importers:
version: 8.5.6
postcss-cli:
specifier: ^11.0.1
- version: 11.0.1(jiti@2.6.1)(postcss@8.5.6)(tsx@4.22.4)
+ version: 11.0.1(jiti@2.7.0)(postcss@8.5.6)(tsx@4.22.4)
tailwindcss:
specifier: ^4.1.11
version: 4.2.2
@@ -650,13 +798,13 @@ importers:
version: 1.7.0(react@19.2.7)
next:
specifier: 16.0.10
- version: 16.0.10(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ version: 16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
next-themes:
specifier: ^0.4.6
version: 0.4.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
nuqs:
specifier: ^2.8.9
- version: 2.8.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(next@16.0.10(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)
+ version: 2.8.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(next@16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)
react:
specifier: 19.2.7
version: 19.2.7
@@ -712,16 +860,32 @@ packages:
peerDependencies:
zod: 4.4.3
+ '@ai-sdk/openai@2.0.110':
+ resolution: {integrity: sha512-PVbq0vXo6LVBCKeIOiDsOfrUIL2IOkMUipWP53SJZppDo594kbu5BFs/NdwnJMAX4q6EM6sGPVv751RN9PrZ9A==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: 4.4.3
+
'@ai-sdk/provider-utils@3.0.17':
resolution: {integrity: sha512-TR3Gs4I3Tym4Ll+EPdzRdvo/rc8Js6c4nVhFLuvGLX/Y4V9ZcQMa/HTiYsHEgmYrf1zVi6Q145UEZUfleOwOjw==}
engines: {node: '>=18'}
peerDependencies:
zod: 4.4.3
+ '@ai-sdk/provider-utils@3.0.28':
+ resolution: {integrity: sha512-bXlX1WX7E50a2N+AJW+1a/x63m52aPhm+6xYe5THxWrx9vW9NR7E2Ay+1G1ndlCdMdYKo2Fnsd7kBhuyQPaphw==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ zod: 4.4.3
+
'@ai-sdk/provider@2.0.0':
resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==}
engines: {node: '>=18'}
+ '@ai-sdk/provider@2.0.3':
+ resolution: {integrity: sha512-h88OPkavHTiN9tMn2l5awAznGB0lXzjcLhgR1/rvjB2zlLprsNxbM2tt6OJsHUxduLC3klq0/eqaSf6fX5XVww==}
+ engines: {node: '>=18'}
+
'@ai-sdk/react@2.0.94':
resolution: {integrity: sha512-eVhV6O4uUn/aIckiRomSukovzMAqARsiLn3X0s92p/EpO+LGDixUcWsdw58hym6VQtM3r5f/qIYzhSFv6gnirQ==}
engines: {node: '>=18'}
@@ -1061,12 +1225,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-typescript@7.27.1':
- resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
'@babel/plugin-syntax-typescript@7.29.7':
resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==}
engines: {node: '>=6.9.0'}
@@ -1079,6 +1237,18 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@babel/plugin-transform-react-jsx-self@7.29.7':
+ resolution: {integrity: sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-source@7.29.7':
+ resolution: {integrity: sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/plugin-transform-typescript@7.28.5':
resolution: {integrity: sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==}
engines: {node: '>=6.9.0'}
@@ -1099,10 +1269,6 @@ packages:
resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.28.6':
- resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
- engines: {node: '>=6.9.0'}
-
'@babel/template@7.29.7':
resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==}
engines: {node: '>=6.9.0'}
@@ -1507,15 +1673,9 @@ packages:
'@emnapi/core@1.10.0':
resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
- '@emnapi/core@1.9.1':
- resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==}
-
'@emnapi/runtime@1.10.0':
resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
- '@emnapi/wasi-threads@1.2.0':
- resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==}
-
'@emnapi/wasi-threads@1.2.1':
resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
@@ -1997,14 +2157,51 @@ packages:
resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ '@eslint/config-array@0.21.2':
+ resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/config-helpers@0.4.2':
+ resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/core@0.17.0':
+ resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@eslint/eslintrc@2.1.4':
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@eslint/eslintrc@3.3.5':
+ resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/js@10.0.1':
+ resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+ peerDependencies:
+ eslint: ^10.0.0
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+
'@eslint/js@8.57.1':
resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@eslint/js@9.39.4':
+ resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/object-schema@2.1.7':
+ resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@eslint/plugin-kit@0.4.1':
+ resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@exodus/bytes@1.15.1':
resolution: {integrity: sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
@@ -2039,6 +2236,9 @@ packages:
'@floating-ui/utils@0.2.11':
resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
+ '@fontsource-variable/geist@5.2.9':
+ resolution: {integrity: sha512-TP+QSBG3wxKGPE33CbMy/L0Nu3qvJ6Fy81Yc4LnQ95xH+i+cfEp8fyU8/kfV14YwszxIFPhnoMTbjL71waVpyQ==}
+
'@formatjs/intl-localematcher@0.6.2':
resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==}
@@ -2053,6 +2253,18 @@ packages:
peerDependencies:
react-hook-form: ^7.55.0
+ '@humanfs/core@0.19.2':
+ resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanfs/node@0.16.8':
+ resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanfs/types@0.15.0':
+ resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==}
+ engines: {node: '>=18.18.0'}
+
'@humanwhocodes/config-array@0.13.0':
resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
engines: {node: '>=10.10.0'}
@@ -2066,6 +2278,10 @@ packages:
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
deprecated: Use @eslint/object-schema instead
+ '@humanwhocodes/retry@0.4.3':
+ resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
+ engines: {node: '>=18.18'}
+
'@img/colour@1.0.0':
resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==}
engines: {node: '>=18'}
@@ -2638,6 +2854,136 @@ packages:
resolution: {integrity: sha512-scSmQBD8eANlMUOglxHrN1JdSW8tDghsPuS83otqealBiIeMukCQMOf/wc0JJjDXomqwNdEQFLXLGHrU6PGxuA==}
engines: {node: '>= 20.0.0'}
+ '@oxc-parser/binding-android-arm-eabi@0.120.0':
+ resolution: {integrity: sha512-WU3qtINx802wOl8RxAF1v0VvmC2O4D9M8Sv486nLeQ7iPHVmncYZrtBhB4SYyX+XZxj2PNnCcN+PW21jHgiOxg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [android]
+
+ '@oxc-parser/binding-android-arm64@0.120.0':
+ resolution: {integrity: sha512-SEf80EHdhlbjZEgzeWm0ZA/br4GKMenDW3QB/gtyeTV1gStvvZeFi40ioHDZvds2m4Z9J1bUAUL8yn1/+A6iGg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxc-parser/binding-darwin-arm64@0.120.0':
+ resolution: {integrity: sha512-xVrrbCai8R8CUIBu3CjryutQnEYhZqs1maIqDvtUCFZb8vY33H7uh9mHpL3a0JBIKoBUKjPH8+rzyAeXnS2d6A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-parser/binding-darwin-x64@0.120.0':
+ resolution: {integrity: sha512-xyHBbnJ6mydnQUH7MAcafOkkrNzQC6T+LXgDH/3InEq2BWl/g424IMRiJVSpVqGjB+p2bd0h0WRR8iIwzjU7rw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-parser/binding-freebsd-x64@0.120.0':
+ resolution: {integrity: sha512-UMnVRllquXUYTeNfFKmxTTEdZ/ix1nLl0ducDzMSREoWYGVIHnOOxoKMWlCOvRr9Wk/HZqo2rh1jeumbPGPV9A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.120.0':
+ resolution: {integrity: sha512-tkvn2CQ7QdcsMnpfiX3fd3wA3EFsWKYlcQzq9cFw/xc89Al7W6Y4O0FgLVkVQpo0Tnq/qtE1XfkJOnRRA9S/NA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm-musleabihf@0.120.0':
+ resolution: {integrity: sha512-WN5y135Ic42gQDk9grbwY9++fDhqf8knN6fnP+0WALlAUh4odY/BDK1nfTJRSfpJD9P3r1BwU0m3pW2DU89whQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm64-gnu@0.120.0':
+ resolution: {integrity: sha512-1GgQBCcXvFMw99EPdMy+4NZ3aYyXsxjf9kbUUg8HuAy3ZBXzOry5KfFEzT9nqmgZI1cuetvApkiJBZLAPo8uaw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-parser/binding-linux-arm64-musl@0.120.0':
+ resolution: {integrity: sha512-gmMQ70gsPdDBgpcErvJEoWNBr7bJooSLlvOBVBSGfOzlP5NvJ3bFvnUeZZ9d+dPrqSngtonf7nyzWUTUj/U+lw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxc-parser/binding-linux-ppc64-gnu@0.120.0':
+ resolution: {integrity: sha512-T/kZuU0ajop0xhzVMwH5r3srC9Nqup5HaIo+3uFjIN5uPxa0LvSxC1ZqP4aQGJVW5G0z8/nCkjIfSMS91P/wzw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-parser/binding-linux-riscv64-gnu@0.120.0':
+ resolution: {integrity: sha512-vn21KXLAXzaI3N5CZWlBr1iWeXLl9QFIMor7S1hUjUGTeUuWCoE6JZB040/ZNDwf+JXPX8Ao9KbmJq9FMC2iGw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-parser/binding-linux-riscv64-musl@0.120.0':
+ resolution: {integrity: sha512-SUbUxlar007LTGmSLGIC5x/WJvwhdX+PwNzFJ9f/nOzZOrCFbOT4ikt7pJIRg1tXVsEfzk5mWpGO1NFiSs4PIw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxc-parser/binding-linux-s390x-gnu@0.120.0':
+ resolution: {integrity: sha512-hYiPJTxyfJY2+lMBFk3p2bo0R9GN+TtpPFlRqVchL1qvLG+pznstramHNvJlw9AjaoRUHwp9IKR7UZQnRPGjgQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-parser/binding-linux-x64-gnu@0.120.0':
+ resolution: {integrity: sha512-q+5jSVZkprJCIy3dzJpApat0InJaoxQLsJuD6DkX8hrUS61z2lHQ1Fe9L2+TYbKHXCLWbL0zXe7ovkIdopBGMQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@oxc-parser/binding-linux-x64-musl@0.120.0':
+ resolution: {integrity: sha512-D9QDDZNnH24e7X4ftSa6ar/2hCavETfW3uk0zgcMIrZNy459O5deTbWrjGzZiVrSWigGtlQwzs2McBP0QsfV1w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@oxc-parser/binding-openharmony-arm64@0.120.0':
+ resolution: {integrity: sha512-TBU8ZwOUWAOUWVfmI16CYWbvh4uQb9zHnGBHsw5Cp2JUVG044OIY1CSHODLifqzQIMTXvDvLzcL89GGdUIqNrA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@oxc-parser/binding-wasm32-wasi@0.120.0':
+ resolution: {integrity: sha512-WG/FOZgDJCpJnuF3ToG/K28rcOmSY7FmFmfBKYb2fmLyhDzPpUldFGV7/Fz4ru0Iz/v4KPmf8xVgO8N3lO4KHA==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@oxc-parser/binding-win32-arm64-msvc@0.120.0':
+ resolution: {integrity: sha512-1T0HKGcsz/BKo77t7+89L8Qvu4f9DoleKWHp3C5sJEcbCjDOLx3m9m722bWZTY+hANlUEs+yjlK+lBFsA+vrVQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-parser/binding-win32-ia32-msvc@0.120.0':
+ resolution: {integrity: sha512-L7vfLzbOXsjBXV0rv/6Y3Jd9BRjPeCivINZAqrSyAOZN3moCopDN+Psq9ZrGNZtJzP8946MtlRFZ0Als0wBCOw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@oxc-parser/binding-win32-x64-msvc@0.120.0':
+ resolution: {integrity: sha512-ys+upfqNtSu58huAhJMBKl3XCkGzyVFBlMlGPzHeFKgpFF/OdgNs1MMf8oaJIbgMH8ZxgGF7qfue39eJohmKIg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@oxc-project/types@0.120.0':
+ resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==}
+
'@oxc-project/types@0.134.0':
resolution: {integrity: sha512-T0xuRRKrQFmocH8y+jGfpmSkGcheaJExY9lEihmR1Gm2aH+75B8CzgU2rABRQSzzDxLjZ15Sc0bRVLj5lVeNXQ==}
@@ -2905,11 +3251,17 @@ packages:
'@radix-ui/number@1.1.1':
resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==}
+ '@radix-ui/number@1.1.2':
+ resolution: {integrity: sha512-ceTwaxc4I5IOi97DgCotl3pqiyRGvffcc0oOsE2dQYaJOFIDsDt4VWG6xEbg1QePv9QWausCEIppud/tJ1wNig==}
+
'@radix-ui/primitive@1.1.3':
resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==}
- '@radix-ui/react-accessible-icon@1.1.7':
- resolution: {integrity: sha512-XM+E4WXl0OqUJFovy6GjmxxFyx9opfCAIUku4dlKRd5YEPqt4kALOkQOp0Of6reHuUkJuiPBEc5k0o4z4lTC8A==}
+ '@radix-ui/primitive@1.1.4':
+ resolution: {integrity: sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ==}
+
+ '@radix-ui/react-accessible-icon@1.1.11':
+ resolution: {integrity: sha512-HQDOFTKwSnmUij6l54wYJJtxTAnxI71+YJLOrjm2ladFB8HAV5Jt7hwaZPhWTGBkYoW4+ZAOfNZrLDh/qvxSYA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -2921,8 +3273,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-accordion@1.2.12':
- resolution: {integrity: sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==}
+ '@radix-ui/react-accessible-icon@1.1.7':
+ resolution: {integrity: sha512-XM+E4WXl0OqUJFovy6GjmxxFyx9opfCAIUku4dlKRd5YEPqt4kALOkQOp0Of6reHuUkJuiPBEc5k0o4z4lTC8A==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -2934,8 +3286,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-alert-dialog@1.1.15':
- resolution: {integrity: sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==}
+ '@radix-ui/react-accordion@1.2.12':
+ resolution: {integrity: sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -2947,8 +3299,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-arrow@1.1.7':
- resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==}
+ '@radix-ui/react-accordion@1.2.15':
+ resolution: {integrity: sha512-24Zz/0SYx8F2bSVThBnQrdJs2VbKelyuJordcFRRdA0fRAhrq/wSegGCqaQz34VQoiWqSMGYCYXEhynLSlyQlg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -2960,8 +3312,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-aspect-ratio@1.1.7':
- resolution: {integrity: sha512-Yq6lvO9HQyPwev1onK1daHCHqXVLzPhSVjmsNjCa2Zcxy2f7uJD2itDtxknv6FzAKCwD1qQkeVDmX/cev13n/g==}
+ '@radix-ui/react-alert-dialog@1.1.15':
+ resolution: {integrity: sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -2973,8 +3325,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-avatar@1.1.10':
- resolution: {integrity: sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==}
+ '@radix-ui/react-alert-dialog@1.1.18':
+ resolution: {integrity: sha512-6c2cXpNlAgHDhKguK24XcWHHayMpK+lk7/WwBXBco+ZJ4Dv7xP++GBM280KgTD/HCRu3jSdfe8WQiZssonYaIA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -2986,8 +3338,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-avatar@1.1.11':
- resolution: {integrity: sha512-0Qk603AHGV28BOBO34p7IgD5m+V5Sg/YovfayABkoDDBM5d3NCx0Mp4gGrjzLGes1jV5eNOE1r3itqOR33VC6Q==}
+ '@radix-ui/react-arrow@1.1.11':
+ resolution: {integrity: sha512-Kdil9BB1rIFC/khmf4hC35bn8701AJcizTU7G7cUbEbk5XqqbjDuHW60uUfKqO5WojjZcbAW51Q7P0hRmMLw8A==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -2999,8 +3351,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-checkbox@1.3.3':
- resolution: {integrity: sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==}
+ '@radix-ui/react-arrow@1.1.7':
+ resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -3012,8 +3364,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-collapsible@1.1.12':
- resolution: {integrity: sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==}
+ '@radix-ui/react-aspect-ratio@1.1.11':
+ resolution: {integrity: sha512-IUAhIVpBUvP5NNICjlaB1OFmtRLGqQqTF3ZOSGPoq3XeLXRFtHiWTRxSVEULgOd9GQR2c7tsYqDnhUennapZnw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -3025,8 +3377,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-collection@1.1.7':
- resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==}
+ '@radix-ui/react-aspect-ratio@1.1.7':
+ resolution: {integrity: sha512-Yq6lvO9HQyPwev1onK1daHCHqXVLzPhSVjmsNjCa2Zcxy2f7uJD2itDtxknv6FzAKCwD1qQkeVDmX/cev13n/g==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -3038,17 +3390,21 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-compose-refs@1.1.2':
- resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==}
+ '@radix-ui/react-avatar@1.1.10':
+ resolution: {integrity: sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==}
peerDependencies:
'@types/react': '*'
+ '@types/react-dom': '*'
react: 19.2.7
+ react-dom: 19.2.7
peerDependenciesMeta:
'@types/react':
optional: true
+ '@types/react-dom':
+ optional: true
- '@radix-ui/react-context-menu@2.2.16':
- resolution: {integrity: sha512-O8morBEW+HsVG28gYDZPTrT9UUovQUlJue5YO836tiTJhuIWBm/zQHc7j388sHWtdH/xUZurK9olD2+pcqx5ww==}
+ '@radix-ui/react-avatar@1.1.11':
+ resolution: {integrity: sha512-0Qk603AHGV28BOBO34p7IgD5m+V5Sg/YovfayABkoDDBM5d3NCx0Mp4gGrjzLGes1jV5eNOE1r3itqOR33VC6Q==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -3060,8 +3416,143 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-context@1.1.2':
- resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==}
+ '@radix-ui/react-avatar@1.2.1':
+ resolution: {integrity: sha512-+8PWoLLZv3AVb5m0pvoiOca/bQGzc9vPVb+982HB2x3Un0DpYEPM3zLMl4oqRpBsocJuNqLkiv/HXTnTrlwr4g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-checkbox@1.3.3':
+ resolution: {integrity: sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-checkbox@1.3.6':
+ resolution: {integrity: sha512-eUEUoGMDpfkgHWSE97ZZaUJtzR1M7EKnNIpD1Q16+8JR9NWghcaqMulx9PuCQ720w0UclfYn6FEbCdd5Hx087g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collapsible@1.1.12':
+ resolution: {integrity: sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collapsible@1.1.15':
+ resolution: {integrity: sha512-8A1zibu5skAQ+UVbaeNH5hVMibiFCRJzgMuM14LTWGttnTZKQL9jwYnhAbHRuxrtCqPXa4JvvnVUq1pTNgyZYw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collection@1.1.11':
+ resolution: {integrity: sha512-djW9+zeg137KQdlPtmE8xnaD+K2rcXXMWFrSg0hsmYZ6HRbdTA7tDHFgpaW9+huWVEu0RCabL+985T4TA0BE7g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collection@1.1.7':
+ resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-compose-refs@1.1.2':
+ resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-compose-refs@1.1.3':
+ resolution: {integrity: sha512-rYOP8OMnuuPMQF1uhPVlGNcCDlkokKqGFE3JcxFViIkAXP7EvFWUliJAstrapypaBLJNHbZL6jGhbVDGTwmVhA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-context-menu@2.2.16':
+ resolution: {integrity: sha512-O8morBEW+HsVG28gYDZPTrT9UUovQUlJue5YO836tiTJhuIWBm/zQHc7j388sHWtdH/xUZurK9olD2+pcqx5ww==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-context-menu@2.3.2':
+ resolution: {integrity: sha512-qzsA/ZPhF6yMxBOTIk1nlCkoy2mswSbwYL+ErBa2iP0s4WWrlxmczArYqMcpVfEjmM7KJj/ADPXky0yZfbSxtQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-context@1.1.2':
+ resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==}
peerDependencies:
'@types/react': '*'
react: 19.2.7
@@ -3078,6 +3569,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-context@1.1.4':
+ resolution: {integrity: sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-dialog@1.1.15':
resolution: {integrity: sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==}
peerDependencies:
@@ -3091,6 +3591,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-dialog@1.1.18':
+ resolution: {integrity: sha512-apa28mldjMgORmE6g/w3sCcA0Y9UAVeeDVoozN4i7kOw12mLl9RBchfzK3Nn6qxOWjrZhK1Lfy7f07kyzxtnBw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-direction@1.1.1':
resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==}
peerDependencies:
@@ -3100,6 +3613,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-direction@1.1.2':
+ resolution: {integrity: sha512-C3vFhbyi4SW3PmbAi6Awpu4OzJtd0MxGurvSsYtr7p7nM8RNB3VAF3CUmnp2j50knpkrRcB7+ycVXzgLgF6yNA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-dismissable-layer@1.1.11':
resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==}
peerDependencies:
@@ -3113,6 +3635,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-dismissable-layer@1.1.14':
+ resolution: {integrity: sha512-4lUhWTWAjbDIqFrAPWJ3WqBOpO5YchVZ88X3nh6H9Lu5AFi5nCUeTPj3D8FSDmabmFeRe9ME0BDA4MwKTha5GQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-dropdown-menu@2.1.16':
resolution: {integrity: sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw==}
peerDependencies:
@@ -3126,6 +3661,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-dropdown-menu@2.1.19':
+ resolution: {integrity: sha512-HZccBkbK0LOi8nYKIp5jll/zIRW0cCOmG6WWyqsSpmXCU+ZlcBbTqIwlBvPCu886C5RVu6c/kHV7xSP8IgYNHw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-focus-guards@1.1.3':
resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==}
peerDependencies:
@@ -3135,6 +3683,28 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-focus-guards@1.1.4':
+ resolution: {integrity: sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-focus-scope@1.1.11':
+ resolution: {integrity: sha512-Mn88Vg2whaRocGJNOH+DKFqYm6ySFPQaiwHNxZPyjn99B52KAEJWWY9NP83+nWdk2HM3rdov+STu9AG471Rt9w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-focus-scope@1.1.7':
resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==}
peerDependencies:
@@ -3148,6 +3718,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-form@0.1.11':
+ resolution: {integrity: sha512-0mTMJHv1gQAuEQoq5VDpTD3MRgmfUFdXAVFhpqR7wBeUr+tyRsof0wv/4XdPHLwQrefhoH2FiGHCggrCJhalIw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-form@0.1.8':
resolution: {integrity: sha512-QM70k4Zwjttifr5a4sZFts9fn8FzHYvQ5PiB19O2HsYibaHSVt9fH9rzB0XZo/YcM+b7t/p7lYCT/F5eOeF5yQ==}
peerDependencies:
@@ -3174,6 +3757,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-hover-card@1.1.18':
+ resolution: {integrity: sha512-rt+Fx4HoCeEwFL2IdoV2QaPltqDLlzxN77i9nwB3Y70scFlfAHh1QCdE2TXKuFJtA1TNygb0oivnFBZifgtZOw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-icons@1.3.2':
resolution: {integrity: sha512-fyQIhGDhzfc9pK2kH6Pl9c4BDJGfMkPqkyIgYDthyNYoNg3wVhoJMMh19WS4Up/1KMPFVpNsT2q3WmXn2N1m6g==}
peerDependencies:
@@ -3188,6 +3784,28 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-id@1.1.2':
+ resolution: {integrity: sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-label@2.1.11':
+ resolution: {integrity: sha512-3PKvDDxOn62k0oV1n4QtNtD2vpu+zYjXR7ojLBPaO6SPvhy53yg0vAmgNeBQeJW5rV3dffoRG+HYfLBZuzw0CQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-label@2.1.7':
resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==}
peerDependencies:
@@ -3227,6 +3845,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-menu@2.1.19':
+ resolution: {integrity: sha512-Mht9BVd1AIsNFVQr4KG3bIK7XQn5IXF0TL/2ObsrzOdc1loaly/+kBDL5roSCYn8j8XZkvpOD0WYLz2FQtH1Eg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-menubar@1.1.16':
resolution: {integrity: sha512-EB1FktTz5xRRi2Er974AUQZWg2yVBb1yjip38/lgwtCVRd3a+maUoGHN/xs9Yv8SY8QwbSEb+YrxGadVWbEutA==}
peerDependencies:
@@ -3240,6 +3871,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-menubar@1.1.19':
+ resolution: {integrity: sha512-Glt6mebxcgQvLeVkH3HiqV5bgQubE+31ELxLs7q0GlYI5k0XYkOkeuPrhXoylxK8eufvIt9CJjzY1TfFMXK3qw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-navigation-menu@1.2.14':
resolution: {integrity: sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==}
peerDependencies:
@@ -3253,6 +3897,32 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-navigation-menu@1.2.17':
+ resolution: {integrity: sha512-fYeYQvbeNn5AQk2RBbpO7koLm2YbS00UYxC/IL2sgLlninEH5UNIv+X3E0KJ1Vy4WIo+dhN9w8GNqSHhbHWCIg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-one-time-password-field@0.1.11':
+ resolution: {integrity: sha512-Rsgab65u73E5kPVh8OS6PgPwJgPyf08GFfJDGAbMdF4DL7CgDhFOaDnXuk/DiMEVF6kgQwl0oJmFklvipmiOLg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-one-time-password-field@0.1.8':
resolution: {integrity: sha512-ycS4rbwURavDPVjCb5iS3aG4lURFDILi6sKI/WITUMZ13gMmn/xGjpLoqBAalhJaDk8I3UbCM5GzKHrnzwHbvg==}
peerDependencies:
@@ -3279,6 +3949,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-password-toggle-field@0.1.6':
+ resolution: {integrity: sha512-pQ3xGp/uemomASPH97Eb3shfXX8QlG11bBJyEvRBV+vwtO4HvQlS06Yj9f31Ao7XepvF98SFrRgVDQ7jv+2xjQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-popover@1.1.15':
resolution: {integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==}
peerDependencies:
@@ -3292,6 +3975,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-popover@1.1.18':
+ resolution: {integrity: sha512-qdXDes+eHlnMUGlBAAAe5EG7oOQvqsXuq4mq585diMudg80iB+jHbsSeG3+Q4eWNsogNyhqU2p/3i+Y0iEepqg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-popper@1.2.8':
resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==}
peerDependencies:
@@ -3305,6 +4001,32 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-popper@1.3.2':
+ resolution: {integrity: sha512-3QXNeMkdshed1MR3LNoiCirBywRFPkD8ETJa/HlPuLwSajaQixf2ro+isoDNJlGABg9ug41XuZpINZJIle4XWg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-portal@1.1.13':
+ resolution: {integrity: sha512-z3oXfmaHLJTF1wktbjgD6cn9jiEbq3WSondB10LIuIt2m2Ym4iJlrW04/euMwENDdWDdE7z+OuY7Qyp1YpRSwA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-portal@1.1.9':
resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==}
peerDependencies:
@@ -3331,6 +4053,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-presence@1.1.6':
+ resolution: {integrity: sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-primitive@2.1.3':
resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==}
peerDependencies:
@@ -3357,6 +4092,32 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-primitive@2.1.7':
+ resolution: {integrity: sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-progress@1.1.11':
+ resolution: {integrity: sha512-KqiGJcFaZDc+BvveAgU3ZhACg2MvSUDrCBx4lRR/ZVRNal0bvt8lBpvnSkep9heeOuF8Qfw3fszLDX4OpQ2NVw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-progress@1.1.7':
resolution: {integrity: sha512-vPdg/tF6YC/ynuBIJlk1mm7Le0VgW6ub6J2UWnTQ7/D23KXcPI1qy+0vBkgKgd38RCMJavBXpB83HPNFMTb0Fg==}
peerDependencies:
@@ -3383,6 +4144,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-radio-group@1.4.2':
+ resolution: {integrity: sha512-W8Uo9riHnlzLLWy+r2mVHUyuEWqD/+be4PZzbEvaGoFSBDHkm+GYWjtcE6u3AmPKNyfanWpnVfpZ2GqPCdzzsw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-roving-focus@1.1.11':
resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==}
peerDependencies:
@@ -3396,6 +4170,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-roving-focus@1.1.14':
+ resolution: {integrity: sha512-8Qcnx9447tx/aCBgw6Jenfqg4Skq+vqab9mCBmuGNipIS5YXvL275wbKEu7+ICYHIlAPgCduUMJH1XOYewKF6Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-scroll-area@1.2.10':
resolution: {integrity: sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==}
peerDependencies:
@@ -3409,6 +4196,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-scroll-area@1.2.13':
+ resolution: {integrity: sha512-7tncSubo2G0UY1e8rk+72qe3XRzrGnOLtZQ1PL1KoBfRUNX0NrJT5akb+0kfwSCc3gVR4wdHqyhAQBDpDNOwDw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-select@2.2.6':
resolution: {integrity: sha512-I30RydO+bnn2PQztvo25tswPH+wFBjehVGtmagkU78yMdwTwVf12wnAOF+AeP8S2N8xD+5UPbGhkUfPyvT+mwQ==}
peerDependencies:
@@ -3422,6 +4222,32 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-select@2.3.2':
+ resolution: {integrity: sha512-brXD6C/V0fVK0DDbscLVw6LsXrjQ+ay8jdOBaN+tLb4vsHsAMm6Gt6eT77wHX1Eq8GPtD5rJ+RxFtfDozsb4+Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-separator@1.1.11':
+ resolution: {integrity: sha512-jRhe86+8PF7VZ1u14eOWVOuh2BuAhALg/FT1VcMC4OHedMTRUazDnDlKTt+yxo5cRNKHMfmvZ4sSQtWDeMV4CQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-separator@1.1.7':
resolution: {integrity: sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==}
peerDependencies:
@@ -3461,6 +4287,19 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-slider@1.4.2':
+ resolution: {integrity: sha512-qt5C1ppJz66aUDrH1VccjPrq7aFchK0wBrn6xsxlCHNUyE57dRRQ7lp1QFpF7OscMexZF8MCGBTVBlENHPkNiA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/react-slot@1.2.3':
resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==}
peerDependencies:
@@ -3479,8 +4318,108 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-switch@1.2.6':
- resolution: {integrity: sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==}
+ '@radix-ui/react-slot@1.3.0':
+ resolution: {integrity: sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-switch@1.2.6':
+ resolution: {integrity: sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-switch@1.3.2':
+ resolution: {integrity: sha512-tgRBI3DdNwAJYE4BBZyZcz/HRRCvAsPkRvG1wvKc+41tBGMxPn/a87T/wikXAvyDypNQ9kaZwHbeZe+veHCGpA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-tabs@1.1.13':
+ resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-tabs@1.1.16':
+ resolution: {integrity: sha512-v3Ab2l7z6U7tRB4xA0IyKdq0OsqaO1o9ZjsIEoKKnSZ/l96mZz8aCTX0NCXw+YVHJXr8Km4d+Mn6/Q8YjXa+gw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-toast@1.2.15':
+ resolution: {integrity: sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-toast@1.2.18':
+ resolution: {integrity: sha512-YNEnTHV47hPep+U0QvVM02OJNka9uygREc+k4Nh5VSZBg4MmE+myI442x3hCGfRpX7N2WSSYSJKws4gE+Z8lgg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-toggle-group@1.1.11':
+ resolution: {integrity: sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-toggle-group@1.1.14':
+ resolution: {integrity: sha512-TK1vusNKb8IRhF23FTbRgUNZ9zfs5rGIyI7LfR3h26p9LrQ060i0uW9QWeD8baZMddaaP0DBGlIa6pbZG+mitg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -3492,8 +4431,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-tabs@1.1.13':
- resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==}
+ '@radix-ui/react-toggle@1.1.10':
+ resolution: {integrity: sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -3505,8 +4444,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-toast@1.2.15':
- resolution: {integrity: sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g==}
+ '@radix-ui/react-toggle@1.1.13':
+ resolution: {integrity: sha512-bI2ILJrzwgmAsH05TsJ9pVrzqQwAip7OM2/krqAdYn0R16bl86UPWbe5VPHsALat0EnqpV01cGtkleaUKPNdNg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -3518,8 +4457,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-toggle-group@1.1.11':
- resolution: {integrity: sha512-5umnS0T8JQzQT6HbPyO7Hh9dgd82NmS36DQr+X/YJ9ctFNCiiQd6IJAYYZ33LUwm8M+taCz5t2ui29fHZc4Y6Q==}
+ '@radix-ui/react-toolbar@1.1.11':
+ resolution: {integrity: sha512-4ol06/1bLoFu1nwUqzdD4Y5RZ9oDdKeiHIsntug54Hcr1pgaHiPqHFEaXI1IFP/EsOfROQZ8Mig9VTIRza6Tjg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -3531,8 +4470,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-toggle@1.1.10':
- resolution: {integrity: sha512-lS1odchhFTeZv3xwHH31YPObmJn8gOg7Lq12inrr0+BH/l3Tsq32VfjqH1oh80ARM3mlkfMic15n0kg4sD1poQ==}
+ '@radix-ui/react-toolbar@1.1.14':
+ resolution: {integrity: sha512-L/EkWVqlnj3lL2toHh4C7PwH2jxfa7OCq6lGfXSCii99ve2S4Ux5rc9HnOa7LN9exHa/Nl9kmCAmP9BuDPy5UA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -3544,8 +4483,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-toolbar@1.1.11':
- resolution: {integrity: sha512-4ol06/1bLoFu1nwUqzdD4Y5RZ9oDdKeiHIsntug54Hcr1pgaHiPqHFEaXI1IFP/EsOfROQZ8Mig9VTIRza6Tjg==}
+ '@radix-ui/react-tooltip@1.2.11':
+ resolution: {integrity: sha512-8XZ6Py3y3W2nEzAUGCN5cfVKaUi+CVApcz1d6lrNVVf2hvYEixMRkq8k9ggPKnQUpRRuOV5avt8uvxViH2jLwA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -3579,6 +4518,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-use-callback-ref@1.1.2':
+ resolution: {integrity: sha512-xCso9j1/u8sEgP1RNHjFrXJLApL8LiqOkI1R4ywuN00rxWdYg4oQXuwKLS3i0j5NWLromUD27/4nlxj2UFVvIw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-use-controllable-state@1.2.2':
resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==}
peerDependencies:
@@ -3588,6 +4536,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-use-controllable-state@1.2.3':
+ resolution: {integrity: sha512-PLzC90MS+ReootmjC597dvopoelpZ8Q61HJkDXZSExitIq7PL55vHNnesAHwguHK0aPfBnpdNzQtv1uliaqQrA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-use-effect-event@0.0.2':
resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==}
peerDependencies:
@@ -3597,6 +4554,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-use-effect-event@0.0.3':
+ resolution: {integrity: sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-use-escape-keydown@1.1.1':
resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==}
peerDependencies:
@@ -3606,6 +4572,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-use-escape-keydown@1.1.3':
+ resolution: {integrity: sha512-3wEkMiPHXha/2VadZ68rYBcmYnPINVGl4Y3gtcM7fKRjANk0OscK+cdqBgUWdozb7YJxsh0vefM7vgAMHXOjqg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-use-is-hydrated@0.1.0':
resolution: {integrity: sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==}
peerDependencies:
@@ -3615,6 +4590,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-use-is-hydrated@0.1.1':
+ resolution: {integrity: sha512-qwOiz4Tjo8CNnrOLAYUMXeZwDzXgXpvK4TKQPmWLECM9XoWvA6+0Z2/7Ag3A4ivjS4ovbLJPbskkxioFyBhr8A==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-use-layout-effect@1.1.1':
resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==}
peerDependencies:
@@ -3624,6 +4608,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-use-layout-effect@1.1.2':
+ resolution: {integrity: sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-use-previous@1.1.1':
resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==}
peerDependencies:
@@ -3633,6 +4626,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-use-previous@1.1.2':
+ resolution: {integrity: sha512-IGBQPtRFdhN6MQ8dbegVmBq1LVZluya3F1jWY+puIcQC3MHctRwTDSBWCkL/3ZcnMJLTMJ++Z+ktmvg0F89iCw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-use-rect@1.1.1':
resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==}
peerDependencies:
@@ -3642,6 +4644,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-use-rect@1.1.2':
+ resolution: {integrity: sha512-d8a+bBY/FxikNPlgJJoaBHZX+zKVbWHYJGTLnLvveQgFSTntkGdEKv3JDtHrMS0DNYpllz2nRsTLGLKYttbpmw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-use-size@1.1.1':
resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==}
peerDependencies:
@@ -3651,6 +4662,15 @@ packages:
'@types/react':
optional: true
+ '@radix-ui/react-use-size@1.1.2':
+ resolution: {integrity: sha512-giWQp+4mxjBPt4KZ0MmyuykFNWfbDxKt4x+fPkRYmgRFJSbCZFzUglvMb/Kjn38tm10YP4ufiQZDx3zna4LU6w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@radix-ui/react-visually-hidden@1.2.3':
resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==}
peerDependencies:
@@ -3664,9 +4684,25 @@ packages:
'@types/react-dom':
optional: true
+ '@radix-ui/react-visually-hidden@1.2.7':
+ resolution: {integrity: sha512-1wNZBggTDK3GRuuQ6nP4k2yi7a6l7I5qbMPbZcRsrGsGVead/f/d5FhEzUvqFs0bcrDLx7n1zKQ3JvLR6whaaw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@radix-ui/rect@1.1.1':
resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==}
+ '@radix-ui/rect@1.1.2':
+ resolution: {integrity: sha512-xnXE7wG13PI+cxieVssYXlQJuYVRhH9NBoxt3KNwzghDIA69GMm7d4wXRouHIYjE+KvS6U/MsMO73NdS2MH9ZA==}
+
'@remirror/core-constants@3.0.0':
resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==}
@@ -3768,6 +4804,9 @@ packages:
'@rolldown/pluginutils@1.0.0-beta.40':
resolution: {integrity: sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w==}
+ '@rolldown/pluginutils@1.0.0-rc.3':
+ resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==}
+
'@rolldown/pluginutils@1.0.1':
resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==}
@@ -4202,6 +5241,36 @@ packages:
resolution: {integrity: sha512-O/IEdcCUKkubz60tFbGA7ceITTAJsty+lBjNoorP4Z6XRqaFb/OjQjZODophEcuq68nKm6/0r+6/lLQ+XVpk8g==}
engines: {node: '>=18.0.0'}
+ '@solid-primitives/event-listener@2.4.5':
+ resolution: {integrity: sha512-nwRV558mIabl4yVAhZKY8cb6G+O1F0M6Z75ttTu5hk+SxdOnKSGj+eetDIu7Oax1P138ZdUU01qnBPR8rnxaEA==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@solid-primitives/keyboard@1.3.5':
+ resolution: {integrity: sha512-sav+l+PL+74z3yaftVs7qd8c2SXkqzuxPOVibUe5wYMt+U5Hxp3V3XCPgBPN2I6cANjvoFtz0NiU8uHVLdi9FQ==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@solid-primitives/resize-observer@2.1.5':
+ resolution: {integrity: sha512-AiyTknKcNBaKHbcSMuxtSNM8FjIuiSuFyFghdD0TcCMU9hKi9EmsC5pjfjDwxE+5EueB1a+T/34PLRI5vbBbKw==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@solid-primitives/rootless@1.5.3':
+ resolution: {integrity: sha512-N8cIDAHbWcLahNRLr0knAAQvXyEdEMoAZvIMZKmhNb1mlx9e2UOv9BRD5YNwQUJwbNoYVhhLwFOEOcVXFx0HqA==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@solid-primitives/static-store@0.1.3':
+ resolution: {integrity: sha512-uxez7SXnr5GiRnzqO2IEDjOJRIXaG+0LZLBizmUA1FwSi+hrpuMzVBwyk70m4prcl8X6FDDXUl9O8hSq8wHbBQ==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
+ '@solid-primitives/utils@6.4.0':
+ resolution: {integrity: sha512-AeGTBg8Wtkh/0s+evyLtP8piQoS4wyqqQaAFs2HJcFMMjYAtUgo+ZPduRXLjPlqKVc2ejeR544oeqpbn8Egn8A==}
+ peerDependencies:
+ solid-js: ^1.6.12
+
'@stackblitz/sdk@1.11.0':
resolution: {integrity: sha512-DFQGANNkEZRzFk1/rDP6TcFdM82ycHE+zfl9C/M/jXlH68jiqHWHFMQURLELoD8koxvu/eW5uhg94NSAZlYrUQ==}
@@ -4214,42 +5283,81 @@ packages:
'@standard-schema/utils@0.3.0':
resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==}
+ '@stylistic/eslint-plugin@5.10.0':
+ resolution: {integrity: sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^9.0.0 || ^10.0.0
+
'@swc/helpers@0.5.15':
resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
'@tailwindcss/node@4.2.2':
resolution: {integrity: sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==}
+ '@tailwindcss/node@4.3.2':
+ resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==}
+
'@tailwindcss/oxide-android-arm64@4.2.2':
resolution: {integrity: sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==}
engines: {node: '>= 20'}
cpu: [arm64]
os: [android]
+ '@tailwindcss/oxide-android-arm64@4.3.2':
+ resolution: {integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [android]
+
'@tailwindcss/oxide-darwin-arm64@4.2.2':
resolution: {integrity: sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==}
engines: {node: '>= 20'}
cpu: [arm64]
os: [darwin]
+ '@tailwindcss/oxide-darwin-arm64@4.3.2':
+ resolution: {integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [darwin]
+
'@tailwindcss/oxide-darwin-x64@4.2.2':
resolution: {integrity: sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==}
engines: {node: '>= 20'}
cpu: [x64]
os: [darwin]
+ '@tailwindcss/oxide-darwin-x64@4.3.2':
+ resolution: {integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [darwin]
+
'@tailwindcss/oxide-freebsd-x64@4.2.2':
resolution: {integrity: sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==}
engines: {node: '>= 20'}
cpu: [x64]
os: [freebsd]
+ '@tailwindcss/oxide-freebsd-x64@4.3.2':
+ resolution: {integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [freebsd]
+
'@tailwindcss/oxide-linux-arm-gnueabihf@4.2.2':
resolution: {integrity: sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==}
engines: {node: '>= 20'}
cpu: [arm]
os: [linux]
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2':
+ resolution: {integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==}
+ engines: {node: '>= 20'}
+ cpu: [arm]
+ os: [linux]
+
'@tailwindcss/oxide-linux-arm64-gnu@4.2.2':
resolution: {integrity: sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==}
engines: {node: '>= 20'}
@@ -4257,6 +5365,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@tailwindcss/oxide-linux-arm64-gnu@4.3.2':
+ resolution: {integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
'@tailwindcss/oxide-linux-arm64-musl@4.2.2':
resolution: {integrity: sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==}
engines: {node: '>= 20'}
@@ -4264,6 +5379,13 @@ packages:
os: [linux]
libc: [musl]
+ '@tailwindcss/oxide-linux-arm64-musl@4.3.2':
+ resolution: {integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
'@tailwindcss/oxide-linux-x64-gnu@4.2.2':
resolution: {integrity: sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==}
engines: {node: '>= 20'}
@@ -4271,6 +5393,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@tailwindcss/oxide-linux-x64-gnu@4.3.2':
+ resolution: {integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
'@tailwindcss/oxide-linux-x64-musl@4.2.2':
resolution: {integrity: sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==}
engines: {node: '>= 20'}
@@ -4278,6 +5407,13 @@ packages:
os: [linux]
libc: [musl]
+ '@tailwindcss/oxide-linux-x64-musl@4.3.2':
+ resolution: {integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
'@tailwindcss/oxide-wasm32-wasi@4.2.2':
resolution: {integrity: sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==}
engines: {node: '>=14.0.0'}
@@ -4290,22 +5426,50 @@ packages:
- '@emnapi/wasi-threads'
- tslib
+ '@tailwindcss/oxide-wasm32-wasi@4.3.2':
+ resolution: {integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==}
+ 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-win32-arm64-msvc@4.2.2':
resolution: {integrity: sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==}
engines: {node: '>= 20'}
cpu: [arm64]
os: [win32]
+ '@tailwindcss/oxide-win32-arm64-msvc@4.3.2':
+ resolution: {integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==}
+ engines: {node: '>= 20'}
+ cpu: [arm64]
+ os: [win32]
+
'@tailwindcss/oxide-win32-x64-msvc@4.2.2':
resolution: {integrity: sha512-1T/37VvI7WyH66b+vqHj/cLwnCxt7Qt3WFu5Q8hk65aOvlwAhs7rAp1VkulBJw/N4tMirXjVnylTR72uI0HGcA==}
engines: {node: '>= 20'}
cpu: [x64]
os: [win32]
+ '@tailwindcss/oxide-win32-x64-msvc@4.3.2':
+ resolution: {integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==}
+ engines: {node: '>= 20'}
+ cpu: [x64]
+ os: [win32]
+
'@tailwindcss/oxide@4.2.2':
resolution: {integrity: sha512-qEUA07+E5kehxYp9BVMpq9E8vnJuBHfJEC0vPC5e7iL/hw7HR61aDKoVoKzrG+QKp56vhNZe4qwkRmMC0zDLvg==}
engines: {node: '>= 20'}
+ '@tailwindcss/oxide@4.3.2':
+ resolution: {integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==}
+ engines: {node: '>= 20'}
+
'@tailwindcss/postcss@4.2.2':
resolution: {integrity: sha512-n4goKQbW8RVXIbNKRB/45LzyUqN451deQK0nzIeauVEqjlI49slUlgKYJM2QyUzap/PcpnS7kzSUmPb1sCRvYQ==}
@@ -4314,6 +5478,50 @@ packages:
peerDependencies:
tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1'
+ '@tailwindcss/vite@4.3.2':
+ resolution: {integrity: sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==}
+ peerDependencies:
+ vite: ^5.2.0 || ^6 || ^7 || ^8
+
+ '@tanstack/devtools-client@0.0.8':
+ resolution: {integrity: sha512-cG3iZkGWCwN330bLBKa8+9r4Of2AXNoz2zUqcsy/4XsD3105ghVBx78cGyvJj9fSclNomPxoqAnDGXXhg1WLvA==}
+ engines: {node: '>=18'}
+
+ '@tanstack/devtools-event-bus@0.4.2':
+ resolution: {integrity: sha512-2LHzhwBFlKHCcklsQrGe8TeyjHd4XAF8nuCO6wHmva5fePUkJUULbu6CsCNAlGlCi0KkEsMXZSvRdR4HgMq4yA==}
+ engines: {node: '>=18'}
+
+ '@tanstack/devtools-event-client@0.5.0':
+ resolution: {integrity: sha512-H+OH3zC6Vhu/K0NaVfQKknEKawc/+2PT+D3SB3Ox0V8SiMlTo0abbmH2rH0721R2aNYbjdMXA1oENOd8E2UVoA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ '@tanstack/devtools-ui@0.6.0':
+ resolution: {integrity: sha512-CVaM6rT6Nl5ijo83vJYFa2SjofvpuOl/uOvbYGhBrRgUhhelNHhx8zZX+hnZCHmIr0/lzM65hsocnZ72592Rvg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ solid-js: '>=1.9.7'
+
+ '@tanstack/devtools-vite@0.8.1':
+ resolution: {integrity: sha512-oQxOo0fI0bwhHtw/psFlIR0OS/bsKrirBxwnw2vuhCM4bjt3k4EZZsW/lvZ1+Vpouhts7LSyvngnxvGXbQ1sUQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ '@tanstack/devtools@0.12.5':
+ resolution: {integrity: sha512-JdxTSeVdjJheycgz4c7qbldNKDCEDWlWr1l9dZBhd9sOmRBT5Z70ka9Eb8mb+FUnalcOIB62IDSR/iSxAIUD8Q==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ solid-js: '>=1.9.7'
+
+ '@tanstack/eslint-config@0.4.0':
+ resolution: {integrity: sha512-V+Cd81W/f65dqKJKpytbwTGx9R+IwxKAHsG/uJ3nSLYEh36hlAr54lRpstUhggQB8nf/cP733cIw8DuD2dzQUg==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ eslint: ^9.0.0 || ^10.0.0
+
'@tanstack/history@1.161.6':
resolution: {integrity: sha512-NaOGLRrddszbQj9upGat6HG/4TKvXLvu+osAIgfxPYA+eIvYKv8GKDJOrY2D3/U9MRnKfMWD7bU4jeD4xmqyIg==}
engines: {node: '>=20.19'}
@@ -4321,11 +5529,51 @@ packages:
'@tanstack/query-core@5.90.10':
resolution: {integrity: sha512-EhZVFu9rl7GfRNuJLJ3Y7wtbTnENsvzp+YpcAV7kCYiXni1v8qZh++lpw4ch4rrwC0u/EZRnBHIehzCGzwXDSQ==}
+ '@tanstack/query-devtools@5.101.2':
+ resolution: {integrity: sha512-o+wHcqgN7Pp0s8v1i0UGq/ZrrEKrxdIiMQmKRdYb2w7NPtylYSJ4+wg/tIn71m9DLstwUwdEGAvROdly6HXP6w==}
+
+ '@tanstack/react-devtools@0.10.8':
+ resolution: {integrity: sha512-YJV6YttQf9lhhPbPBLULgy1eScEvJUMsCS26mjg9hfBKgAJQA5sF9zvzorDzW9Ob6o/asoXikO81JnRUVuFX0Q==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ '@types/react-dom': '>=16.8'
+ react: 19.2.7
+ react-dom: 19.2.7
+
+ '@tanstack/react-query-devtools@5.101.2':
+ resolution: {integrity: sha512-eU7HctdA9gDjqoERoEdzLbw9DiqnBDfh5+Hu0u26gjqoHJezOpQAuiesDL2VvkU+2cPV76zgv0tMZsOrI4LjnQ==}
+ peerDependencies:
+ '@tanstack/react-query': ^5.90.2
+ react: 19.2.7
+
'@tanstack/react-query@5.90.10':
resolution: {integrity: sha512-BKLss9Y8PQ9IUjPYQiv3/Zmlx92uxffUOX8ZZNoQlCIZBJPT5M+GOMQj7xislvVQ6l1BstBjcX0XB/aHfFYVNw==}
peerDependencies:
react: 19.2.7
+ '@tanstack/react-router-devtools@1.167.0':
+ resolution: {integrity: sha512-nGw095EG7IHx0h5NtlEmzf6vcCTaFNPWdTSuDKazajhN0ct/v/TkekJ9J6KYUCeV1a8/2ZmToc58M+0rrOyn7w==}
+ engines: {node: '>=20.19'}
+ peerDependencies:
+ '@tanstack/react-router': ^1.170.0
+ '@tanstack/router-core': ^1.170.0
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@tanstack/router-core':
+ optional: true
+
+ '@tanstack/react-router-ssr-query@1.167.1':
+ resolution: {integrity: sha512-W9j5JPnBikyafvuUfykFfHIWod58OAbAAa5leNkXBcoDoocghMmu6w9uZOmUZvAWT7CSvgj5tBUtF7CM2OoHXQ==}
+ engines: {node: '>=20.19'}
+ peerDependencies:
+ '@tanstack/query-core': '>=5.90.0'
+ '@tanstack/react-query': ^5.90.2
+ '@tanstack/react-router': '>=1.127.0'
+ react: 19.2.7
+ react-dom: 19.2.7
+
'@tanstack/react-router@1.168.10':
resolution: {integrity: sha512-/RmDlOwDkCug609KdPB3U+U1zmrtadJpvsmRg2zEn8TRCKRNri7dYZIjQZbNg8PgUiRL4T6njrZBV1ChzblNaA==}
engines: {node: '>=20.19'}
@@ -4367,6 +5615,16 @@ packages:
engines: {node: '>=20.19'}
hasBin: true
+ '@tanstack/router-devtools-core@1.168.0':
+ resolution: {integrity: sha512-wQoQhlBK7nlZgqzaqdYXKWNTpdHdsaREdaPhFZVH0/Ador+F+eM3/NF2i3f2LPeS0GgKraZUQXe1Q/1+KHyEYg==}
+ engines: {node: '>=20.19'}
+ peerDependencies:
+ '@tanstack/router-core': ^1.170.0
+ csstype: ^3.0.10
+ peerDependenciesMeta:
+ csstype:
+ optional: true
+
'@tanstack/router-generator@1.166.24':
resolution: {integrity: sha512-vdaGKwuH+r+DPe6R1mjk+TDDmDH6NTG7QqwxHqGEvOH4aGf9sPjhmRKNJZqQr8cPIbfp6u5lXyZ1TeDcSNMVEA==}
engines: {node: '>=20.19'}
@@ -4393,6 +5651,13 @@ packages:
webpack:
optional: true
+ '@tanstack/router-ssr-query-core@1.169.1':
+ resolution: {integrity: sha512-rngux8s/3mPQzcjLYDLkNU31coYVyCgrVTfpdwqUdY5jIEHqGTXrO73DTkPR1PppwYUeVhmNCgl8TctRcnupjg==}
+ engines: {node: '>=20.19'}
+ peerDependencies:
+ '@tanstack/query-core': '>=5.90.0'
+ '@tanstack/router-core': '>=1.127.0'
+
'@tanstack/router-utils@1.161.6':
resolution: {integrity: sha512-nRcYw+w2OEgK6VfjirYvGyPLOK+tZQz1jkYcmH5AjMamQ9PycnlxZF2aEZtPpNoUsaceX2bHptn6Ub5hGXqNvw==}
engines: {node: '>=20.19'}
@@ -4433,6 +5698,25 @@ packages:
engines: {node: '>=20.19'}
hasBin: true
+ '@testing-library/dom@10.4.1':
+ resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==}
+ engines: {node: '>=18'}
+
+ '@testing-library/react@16.3.2':
+ resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@testing-library/dom': ^10.0.0
+ '@types/react': ^18.0.0 || ^19.0.0
+ '@types/react-dom': ^18.0.0 || ^19.0.0
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
'@tiptap/core@3.20.0':
resolution: {integrity: sha512-aC9aROgia/SpJqhsXFiX9TsligL8d+oeoI8W3u00WI45s0VfsqjgeKQLDLF7Tu7hC+7F02teC84SAHuup003VQ==}
peerDependencies:
@@ -4658,6 +5942,21 @@ packages:
'@tybys/wasm-util@0.10.2':
resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==}
+ '@types/aria-query@5.0.4':
+ resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
+
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+ '@types/babel__generator@7.27.0':
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
+
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+ '@types/babel__traverse@7.28.0':
+ resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
+
'@types/bun@1.3.2':
resolution: {integrity: sha512-t15P7k5UIgHKkxwnMNkJbWlh/617rkDGEdSsDbu+qNHTaz9SKf7aC8fiIlUdD5RPpH6GEkP0cK7WlvmrEBRtWg==}
@@ -4674,6 +5973,9 @@ packages:
resolution: {integrity: sha512-o7jqJM04gfaYrdCecCVMbZhNdG6T1MHg/oQoRFdERLV+4d+V7FijhiEAbFu0Usww84Yijk9yH58U4Jk4HbtzZw==}
deprecated: This is a stub types definition. diff provides its own type definitions, so you do not need this installed.
+ '@types/esrecurse@4.3.1':
+ resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==}
+
'@types/estree-jsx@1.0.5':
resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
@@ -4689,6 +5991,9 @@ packages:
'@types/inquirer@6.5.0':
resolution: {integrity: sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==}
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
@@ -4726,6 +6031,9 @@ packages:
'@types/node@20.19.25':
resolution: {integrity: sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==}
+ '@types/node@22.20.0':
+ resolution: {integrity: sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g==}
+
'@types/node@24.0.3':
resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==}
@@ -4788,11 +6096,19 @@ packages:
'@types/whatwg-url@11.0.5':
resolution: {integrity: sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==}
- '@typescript-eslint/eslint-plugin@8.58.0':
- resolution: {integrity: sha512-RLkVSiNuUP1C2ROIWfqX+YcUfLaSnxGE/8M+Y57lopVwg9VTYYfhuz15Yf1IzCKgZj6/rIbYTmJCUSqr76r0Wg==}
+ '@typescript-eslint/eslint-plugin@8.58.0':
+ resolution: {integrity: sha512-RLkVSiNuUP1C2ROIWfqX+YcUfLaSnxGE/8M+Y57lopVwg9VTYYfhuz15Yf1IzCKgZj6/rIbYTmJCUSqr76r0Wg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^8.58.0
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
+ '@typescript-eslint/eslint-plugin@8.62.1':
+ resolution: {integrity: sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.58.0
+ '@typescript-eslint/parser': ^8.62.1
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
@@ -4803,14 +6119,21 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
+ '@typescript-eslint/parser@8.62.1':
+ resolution: {integrity: sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/project-service@8.58.0':
resolution: {integrity: sha512-8Q/wBPWLQP1j16NxoPNIKpDZFMaxl7yWIoqXWYeWO+Bbd2mjgvoF0dxP2jKZg5+x49rgKdf7Ck473M8PC3V9lg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/project-service@8.61.0':
- resolution: {integrity: sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==}
+ '@typescript-eslint/project-service@8.62.1':
+ resolution: {integrity: sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
@@ -4819,8 +6142,8 @@ packages:
resolution: {integrity: sha512-W1Lur1oF50FxSnNdGp3Vs6P+yBRSmZiw4IIjEeYxd8UQJwhUF0gDgDD/W/Tgmh73mxgEU3qX0Bzdl/NGuSPEpQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/scope-manager@8.61.0':
- resolution: {integrity: sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==}
+ '@typescript-eslint/scope-manager@8.62.1':
+ resolution: {integrity: sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/tsconfig-utils@8.58.0':
@@ -4829,8 +6152,8 @@ packages:
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/tsconfig-utils@8.61.0':
- resolution: {integrity: sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==}
+ '@typescript-eslint/tsconfig-utils@8.62.1':
+ resolution: {integrity: sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
@@ -4842,6 +6165,13 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
+ '@typescript-eslint/type-utils@8.62.1':
+ resolution: {integrity: sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
'@typescript-eslint/types@8.58.0':
resolution: {integrity: sha512-O9CjxypDT89fbHxRfETNoAnHj/i6IpRK0CvbVN3qibxlLdo5p5hcLmUuCCrHMpxiWSwKyI8mCP7qRNYuOJ0Uww==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4850,14 +6180,18 @@ packages:
resolution: {integrity: sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@typescript-eslint/types@8.62.1':
+ resolution: {integrity: sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@typescript-eslint/typescript-estree@8.58.0':
resolution: {integrity: sha512-7vv5UWbHqew/dvs+D3e1RvLv1v2eeZ9txRHPnEEBUgSNLx5ghdzjHa0sgLWYVKssH+lYmV0JaWdoubo0ncGYLA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/typescript-estree@8.61.0':
- resolution: {integrity: sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==}
+ '@typescript-eslint/typescript-estree@8.62.1':
+ resolution: {integrity: sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
@@ -4869,8 +6203,8 @@ packages:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/utils@8.61.0':
- resolution: {integrity: sha512-3bzFt7ImFMW/jVYwJamDoe/dMOdFLSC6pom6rRjdh4SZJEYupyMzem8e7vKZLclLfpHjlwSAXOUxtKxGXUiLqA==}
+ '@typescript-eslint/utils@8.62.1':
+ resolution: {integrity: sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
@@ -4880,8 +6214,8 @@ packages:
resolution: {integrity: sha512-XJ9UD9+bbDo4a4epraTwG3TsNPeiB9aShrUneAVXy8q4LuwowN+qu89/6ByLMINqvIMeI9H9hOHQtg/ijrYXzQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/visitor-keys@8.61.0':
- resolution: {integrity: sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==}
+ '@typescript-eslint/visitor-keys@8.62.1':
+ resolution: {integrity: sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.3.0':
@@ -5152,9 +6486,18 @@ packages:
resolution: {integrity: sha512-yNEQvPcVrK9sIe637+I0jD6leluPxzwJKx/Haw6F4H77CdDsszUn5V3o96LPziXkSNE2B83+Z3mjqGKBK/R6Gg==}
engines: {node: '>= 20'}
+ '@vitejs/plugin-react@5.2.0':
+ resolution: {integrity: sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
+
'@vitest/expect@3.2.4':
resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
+ '@vitest/expect@4.1.9':
+ resolution: {integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==}
+
'@vitest/mocker@3.2.4':
resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==}
peerDependencies:
@@ -5166,21 +6509,47 @@ packages:
vite:
optional: true
+ '@vitest/mocker@4.1.9':
+ resolution: {integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==}
+ peerDependencies:
+ msw: ^2.4.9
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
+ peerDependenciesMeta:
+ msw:
+ optional: true
+ vite:
+ optional: true
+
'@vitest/pretty-format@3.2.4':
resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
+ '@vitest/pretty-format@4.1.9':
+ resolution: {integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==}
+
'@vitest/runner@3.2.4':
resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==}
+ '@vitest/runner@4.1.9':
+ resolution: {integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==}
+
'@vitest/snapshot@3.2.4':
resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==}
+ '@vitest/snapshot@4.1.9':
+ resolution: {integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==}
+
'@vitest/spy@3.2.4':
resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
+ '@vitest/spy@4.1.9':
+ resolution: {integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==}
+
'@vitest/utils@3.2.4':
resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
+ '@vitest/utils@4.1.9':
+ resolution: {integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==}
+
'@vue/compiler-core@3.5.24':
resolution: {integrity: sha512-eDl5H57AOpNakGNAkFDH+y7kTqrQpJkZFXhWZQGyx/5Wh7B1uQYvcWkvZi11BDhscPgj8N7XV3oRwiPnx1Vrig==}
@@ -5281,6 +6650,10 @@ packages:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
+ ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+
ansis@4.2.0:
resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==}
engines: {node: '>=14'}
@@ -5306,6 +6679,9 @@ packages:
resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
engines: {node: '>=10'}
+ aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+
aria-query@5.3.2:
resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
engines: {node: '>= 0.4'}
@@ -5618,6 +6994,10 @@ packages:
resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==}
engines: {node: '>=18'}
+ chai@6.2.2:
+ resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
+ engines: {node: '>=18'}
+
chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@@ -5858,6 +7238,14 @@ packages:
srvx:
optional: true
+ crossws@0.4.9:
+ resolution: {integrity: sha512-iWx+1OMSG2aOHpjyf9AESOzkwsVdS49cXM9dVrI2PDhxU5l2RIWE/KG56gk4BbAnsMoycvniJ9OnOxO9LRzHVA==}
+ peerDependencies:
+ srvx: '>=0.11.5'
+ peerDependenciesMeta:
+ srvx:
+ optional: true
+
css-declaration-sorter@7.3.0:
resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==}
engines: {node: ^14 || ^16 || >=18}
@@ -5946,6 +7334,32 @@ packages:
date-fns@4.1.0:
resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
+ dayjs@1.11.21:
+ resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==}
+
+ db0@0.3.4:
+ resolution: {integrity: sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw==}
+ peerDependencies:
+ '@electric-sql/pglite': '*'
+ '@libsql/client': '*'
+ better-sqlite3: '*'
+ drizzle-orm: '*'
+ mysql2: '*'
+ sqlite3: '*'
+ peerDependenciesMeta:
+ '@electric-sql/pglite':
+ optional: true
+ '@libsql/client':
+ optional: true
+ better-sqlite3:
+ optional: true
+ drizzle-orm:
+ optional: true
+ mysql2:
+ optional: true
+ sqlite3:
+ optional: true
+
debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -6086,6 +7500,9 @@ packages:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'}
+ dom-accessibility-api@0.5.16:
+ resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
+
dom-serializer@2.0.0:
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
@@ -6170,6 +7587,10 @@ packages:
resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==}
engines: {node: '>=10.13.0'}
+ enhanced-resolve@5.21.6:
+ resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==}
+ engines: {node: '>=10.13.0'}
+
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
@@ -6190,6 +7611,24 @@ packages:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'}
+ env-runner@0.1.16:
+ resolution: {integrity: sha512-2LRJM4P2KLX6J83QZZrMqvgCDt/D5ea7wPcI3yYiy5cG/9rX5QwdwZFx0D7ktWnjdRyZxYjttGGorb5nFqb1CA==}
+ hasBin: true
+ peerDependencies:
+ '@netlify/runtime': ^4.1.23
+ '@vercel/queue': '>=0.2.0'
+ miniflare: ^4.20260515.0
+ wrangler: ^4.0.0
+ peerDependenciesMeta:
+ '@netlify/runtime':
+ optional: true
+ '@vercel/queue':
+ optional: true
+ miniflare:
+ optional: true
+ wrangler:
+ optional: true
+
error-ex@1.3.4:
resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==}
@@ -6212,6 +7651,9 @@ packages:
es-module-lexer@1.7.0:
resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+ es-module-lexer@2.3.0:
+ resolution: {integrity: sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==}
+
es-object-atoms@1.1.1:
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
@@ -6273,6 +7715,12 @@ packages:
engines: {node: '>=6.0'}
hasBin: true
+ eslint-compat-utils@0.5.1:
+ resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: '>=6.0.0'
+
eslint-config-next@15.3.4:
resolution: {integrity: sha512-WqeumCq57QcTP2lYlV6BRUySfGiBYEXlQ1L0mQ+u4N4X4ZhUVSSQ52WtjqHv60pJ6dD7jn+YZc0d1/ZSsxccvg==}
peerDependencies:
@@ -6328,6 +7776,12 @@ packages:
eslint-import-resolver-webpack:
optional: true
+ eslint-plugin-es-x@7.8.0:
+ resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '>=8'
+
eslint-plugin-import-x@4.16.2:
resolution: {integrity: sha512-rM9K8UBHcWKpzQzStn1YRN2T5NvdeIfSVoKu/lKF41znQXHAUcBbYXe5wd6GNjZjTrP7viQ49n1D83x/2gYgIw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -6357,6 +7811,12 @@ packages:
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9
+ eslint-plugin-n@17.24.0:
+ resolution: {integrity: sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: '>=8.23.0'
+
eslint-plugin-react-hooks@5.2.0:
resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
engines: {node: '>=10'}
@@ -6373,10 +7833,22 @@ packages:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-scope@8.4.0:
+ resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint-scope@9.1.2:
+ resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-visitor-keys@4.2.1:
+ resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
eslint-visitor-keys@5.0.1:
resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
@@ -6387,6 +7859,24 @@ packages:
deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
+ eslint@9.39.4:
+ resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+
+ espree@10.4.0:
+ resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ espree@11.2.0:
+ resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=24}
+
espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -6463,6 +7953,10 @@ packages:
resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==}
engines: {node: '>=12.0.0'}
+ expect-type@1.4.0:
+ resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==}
+ engines: {node: '>=12.0.0'}
+
express-rate-limit@8.3.2:
resolution: {integrity: sha512-77VmFeJkO0/rvimEDuUC5H30oqUC4EyOhyGccfqoLebB0oiEYfM7nwPrsDsBL1gsTpwfzX8SFy2MT3TDyRq+bg==}
engines: {node: '>= 16'}
@@ -6476,6 +7970,9 @@ packages:
exsolve@1.0.8:
resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==}
+ exsolve@1.1.0:
+ resolution: {integrity: sha512-D+42+T12DdIlJM3uepa55qGiL3sYdLBOxIl2ifQCzCHz4c7eiolaHsi3BIqEr7JxBzxv2pYZQX9kw16ziMcEmw==}
+
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -6552,6 +8049,10 @@ packages:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
+
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
@@ -6571,6 +8072,10 @@ packages:
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
engines: {node: ^10.12.0 || >=12.0.0}
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
+
flatted@3.3.3:
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
@@ -6828,6 +8333,18 @@ packages:
resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
engines: {node: '>=8'}
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
+
+ globals@15.15.0:
+ resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
+ engines: {node: '>=18'}
+
+ globals@17.7.0:
+ resolution: {integrity: sha512-Czmyns5dUsq4seFBR/Kdydhmo8y9kC79hiSkPn0YcGtNnYWnrgt0vjrSjx9tspoDGWm2CMarffRuLjM4xUz8xg==}
+ engines: {node: '>=18'}
+
globalthis@1.0.4:
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
engines: {node: '>= 0.4'}
@@ -6836,6 +8353,14 @@ packages:
resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==}
engines: {node: '>=8'}
+ globrex@0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+
+ goober@2.1.19:
+ resolution: {integrity: sha512-U7veizMqxyKlM58+Z5j2ngJBH/r9siDmxpvNxSw0PylF6WQvrASJEZrxh1hidRBJc2jqoBVSyOban5u8m+6Rxg==}
+ peerDependencies:
+ csstype: ^3.0.10
+
gopd@1.2.0:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
@@ -6870,6 +8395,16 @@ packages:
crossws:
optional: true
+ h3@2.0.1-rc.22:
+ resolution: {integrity: sha512-Esv0DMIuPkCTSWCA0vO73vcTqwzH1wjSrAO1TXNu/K3up1sZHa9EKMapbmxCDYBeymC3fVTk4qxp7ogQWQ+KgA==}
+ engines: {node: '>=20.11.1'}
+ hasBin: true
+ peerDependencies:
+ crossws: ^0.4.1
+ peerDependenciesMeta:
+ crossws:
+ optional: true
+
handlebars@4.7.8:
resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
engines: {node: '>=0.4.7'}
@@ -6983,6 +8518,9 @@ packages:
hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+ hookable@6.1.1:
+ resolution: {integrity: sha512-U9LYDy1CwhMCnprUfeAZWZGByVbhd54hwepegYTK7Pi5NvqEj63ifz5z+xukznehT7i6NIZRu89Ay1AZmRsLEQ==}
+
html-encoding-sniffer@6.0.0:
resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
@@ -7011,6 +8549,9 @@ packages:
resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
engines: {node: '>= 14'}
+ httpxy@0.5.4:
+ resolution: {integrity: sha512-URfeibL0kTH6VuIxxaJDXWQWEk8fKr+9L8MGv6CuAiNy0fGnoVhWbXBvJR1mkdsvCDUxvhX9cW60k2AhtH5s6w==}
+
human-signals@2.1.0:
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
engines: {node: '>=10.17.0'}
@@ -7354,6 +8895,10 @@ packages:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
+ jiti@2.7.0:
+ resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==}
+ hasBin: true
+
jose@6.2.0:
resolution: {integrity: sha512-xsfE1TcSCbUdo6U07tR0mvhg0flGxU8tPLbF03mirl2ukGQENhUg4ubGYQnhVH0b5stLlPM+WOqDkEl1R1y5sQ==}
@@ -7462,6 +9007,9 @@ packages:
resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
engines: {node: '>=0.10'}
+ launch-editor@2.14.1:
+ resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==}
+
levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
@@ -7646,11 +9194,20 @@ packages:
peerDependencies:
react: 19.2.7
+ lucide-react@0.545.0:
+ resolution: {integrity: sha512-7r1/yUuflQDSt4f1bpn5ZAocyIxcTyVyBBChSVtBKn5M+392cPmI5YJMWOJKk/HUWGm5wg83chlAZtCcGbEZtw==}
+ peerDependencies:
+ react: 19.2.7
+
lucide-react@1.7.0:
resolution: {integrity: sha512-yI7BeItCLZJTXikmK4KNUGCKoGzSvbKlfCvw44bU4fXAL6v3gYS4uHD1jzsLkfwODYwI6Drw5Tu9Z5ulDe0TSg==}
peerDependencies:
react: 19.2.7
+ lz-string@1.5.0:
+ resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
+ hasBin: true
+
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
@@ -8073,6 +9630,40 @@ packages:
sass:
optional: true
+ nf3@0.3.19:
+ resolution: {integrity: sha512-tfOXX/ivQBL+4km/fzxQ0HWMmp1Ewx/YpFLbya080gXVfm26bZy0n4a5K5PPnqTLyuAHu0FobVpXXUadIiIwIQ==}
+
+ nitro@3.0.260603-beta:
+ resolution: {integrity: sha512-ffaSHK00a7YDlDizoEHwcxPwpQpdBRRA8k42ymTsRnfl3ipGeKgv4gnPr6DgmCNTo4tYVPK3bHBEv1gNhWpo/A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ '@vercel/queue': ^0.2.0
+ dotenv: '*'
+ giget: '*'
+ jiti: ^2.7.0
+ rollup: ^4.60.4
+ vite: ^7 || ^8
+ xml2js: ^0.6.2
+ zephyr-agent: ^0.2.0
+ peerDependenciesMeta:
+ '@vercel/queue':
+ optional: true
+ dotenv:
+ optional: true
+ giget:
+ optional: true
+ jiti:
+ optional: true
+ rollup:
+ optional: true
+ vite:
+ optional: true
+ xml2js:
+ optional: true
+ zephyr-agent:
+ optional: true
+
no-case@2.3.2:
resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==}
@@ -8188,6 +9779,16 @@ packages:
resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
engines: {node: '>= 0.4'}
+ obug@2.1.3:
+ resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==}
+ engines: {node: '>=12.20.0'}
+
+ ocache@0.1.5:
+ resolution: {integrity: sha512-kNNnkkVQup/QDvmTz8Q84wc2ntiyoVHDxa6eHWKt5qdGAmFRBIxy83rxgCYEjW0x06UJ9E3P6VgM2yY4rOBH4w==}
+
+ ofetch@2.0.0-alpha.3:
+ resolution: {integrity: sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA==}
+
ohash@2.0.11:
resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==}
@@ -8250,6 +9851,10 @@ packages:
resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
engines: {node: '>= 0.4'}
+ oxc-parser@0.120.0:
+ resolution: {integrity: sha512-WyPWZlcIm+Fkte63FGfgFB8mAAk33aH9h5N9lphXVOHSXEBFFsmYdOBedVKly363aWABjZdaj/m9lBfEY4wt+w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
oxc-resolver@11.19.1:
resolution: {integrity: sha512-qE/CIg/spwrTBFt5aKmwe3ifeDdLfA2NESN30E42X/lII5ClF8V7Wt6WIJhcGZjp0/Q+nQ+9vgxGk//xZNX2hg==}
@@ -8645,6 +10250,61 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
+ prettier-plugin-tailwindcss@0.8.0:
+ resolution: {integrity: sha512-V8ITGH87yuBDF6JpEZTOVlUz/saAwqb8f3HRgUj8Lh+tGCcrmorhsLpYqzygwFwK0PE2Ib6Mv3M7T/uE2tZV1g==}
+ engines: {node: '>=20.19'}
+ peerDependencies:
+ '@ianvs/prettier-plugin-sort-imports': '*'
+ '@prettier/plugin-hermes': '*'
+ '@prettier/plugin-oxc': '*'
+ '@prettier/plugin-pug': '*'
+ '@shopify/prettier-plugin-liquid': '*'
+ '@trivago/prettier-plugin-sort-imports': '*'
+ '@zackad/prettier-plugin-twig': '*'
+ prettier: ^3.0
+ prettier-plugin-astro: '*'
+ prettier-plugin-css-order: '*'
+ prettier-plugin-jsdoc: '*'
+ prettier-plugin-marko: '*'
+ prettier-plugin-multiline-arrays: '*'
+ prettier-plugin-organize-attributes: '*'
+ prettier-plugin-organize-imports: '*'
+ prettier-plugin-sort-imports: '*'
+ prettier-plugin-svelte: '*'
+ peerDependenciesMeta:
+ '@ianvs/prettier-plugin-sort-imports':
+ optional: true
+ '@prettier/plugin-hermes':
+ optional: true
+ '@prettier/plugin-oxc':
+ optional: true
+ '@prettier/plugin-pug':
+ optional: true
+ '@shopify/prettier-plugin-liquid':
+ optional: true
+ '@trivago/prettier-plugin-sort-imports':
+ optional: true
+ '@zackad/prettier-plugin-twig':
+ optional: true
+ prettier-plugin-astro:
+ optional: true
+ prettier-plugin-css-order:
+ optional: true
+ prettier-plugin-jsdoc:
+ optional: true
+ prettier-plugin-marko:
+ optional: true
+ prettier-plugin-multiline-arrays:
+ optional: true
+ prettier-plugin-organize-attributes:
+ optional: true
+ prettier-plugin-organize-imports:
+ optional: true
+ prettier-plugin-sort-imports:
+ optional: true
+ prettier-plugin-svelte:
+ optional: true
+
prettier@3.8.4:
resolution: {integrity: sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==}
engines: {node: '>=14'}
@@ -8654,6 +10314,10 @@ packages:
resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==}
engines: {node: '>=20'}
+ pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
pretty-hrtime@1.0.3:
resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==}
engines: {node: '>= 0.8'}
@@ -8815,6 +10479,19 @@ packages:
'@types/react-dom':
optional: true
+ radix-ui@1.6.1:
+ resolution: {integrity: sha512-QXDXJtB6sK83mLASONYUZCauatcWb+knFviFpN1EhtdbbmlsRmzCLrbZSKztnNiem2KOHIBbiDbauVB7SORXMw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: 19.2.7
+ react-dom: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
@@ -8866,6 +10543,9 @@ packages:
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+
react-markdown@9.1.0:
resolution: {integrity: sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==}
peerDependencies:
@@ -8878,6 +10558,10 @@ packages:
react: 19.2.7
react-dom: 19.2.7
+ react-refresh@0.18.0:
+ resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==}
+ engines: {node: '>=0.10.0'}
+
react-remove-scroll-bar@2.3.8:
resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
engines: {node: '>=10'}
@@ -8898,6 +10582,16 @@ packages:
'@types/react':
optional: true
+ react-remove-scroll@2.7.2:
+ resolution: {integrity: sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: 19.2.7
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
react-resizable-panels@2.1.9:
resolution: {integrity: sha512-z77+X08YDIrgAes4jl8xhnUu1LNIRp4+E7cv4xHmLOxxUPO/ML7PSrE813b90vj7xvQ1lcf7g2uA9GeMZonjhQ==}
peerDependencies:
@@ -9274,6 +10968,11 @@ packages:
resolution: {integrity: sha512-qNQcCavkbYsgBj+X09tF2bTcwRd8abR880bsFkDU2kMqceMCLAm5c+cLg7kWDhfh1H9g08knpQ5ZEf6y/co16g==}
hasBin: true
+ shadcn@4.13.0:
+ resolution: {integrity: sha512-5fuJ4jI/GcPeA/iTL4cJivCZuYQGXz/N3bIzyd+Gd/FM6xUCy2MxGG+LaDQuw2cjNy9zGPSFPTEmI048UwPTZA==}
+ engines: {node: '>=20.18.1'}
+ hasBin: true
+
sharp@0.34.5:
resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
@@ -9286,6 +10985,10 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
+ shell-quote@1.9.0:
+ resolution: {integrity: sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==}
+ engines: {node: '>= 0.4'}
+
shiki@3.15.0:
resolution: {integrity: sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw==}
@@ -9385,6 +11088,11 @@ packages:
engines: {node: '>=20.16.0'}
hasBin: true
+ srvx@0.11.20:
+ resolution: {integrity: sha512-gdPvbwpJOJpMyBYcp39q78C4pmv/Aw5WwZKB3+/pfeUVxo3EvNXlOi1fxzoy2ECGvUeBhouXy9rBxstjQQOPog==}
+ engines: {node: '>=20.16.0'}
+ hasBin: true
+
stable-hash-x@0.2.0:
resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==}
engines: {node: '>=12.0.0'}
@@ -9402,6 +11110,9 @@ packages:
std-env@3.10.0:
resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==}
+ std-env@4.1.0:
+ resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==}
+
stdin-discarder@0.2.2:
resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
engines: {node: '>=18'}
@@ -9564,10 +11275,17 @@ packages:
tailwindcss@4.2.2:
resolution: {integrity: sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==}
+ tailwindcss@4.3.2:
+ resolution: {integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==}
+
tapable@2.3.0:
resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
engines: {node: '>=6'}
+ tapable@2.3.3:
+ resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
+ engines: {node: '>=6'}
+
text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
@@ -9616,6 +11334,10 @@ packages:
resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
engines: {node: '>=14.0.0'}
+ tinyrainbow@3.1.0:
+ resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==}
+ engines: {node: '>=14.0.0'}
+
tinyspy@4.0.4:
resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==}
engines: {node: '>=14.0.0'}
@@ -9666,6 +11388,11 @@ packages:
peerDependencies:
typescript: '>=4.8.4'
+ ts-declaration-location@1.0.7:
+ resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==}
+ peerDependencies:
+ typescript: '>=4.0.0'
+
ts-morph@26.0.0:
resolution: {integrity: sha512-ztMO++owQnz8c/gIENcM9XfCEzgoGphTv+nKpYNM1bgsdOVC/jRZuEBf6N+mLLDNg68Kl+GgUZfOySaRiG1/Ug==}
@@ -9686,6 +11413,17 @@ packages:
'@swc/wasm':
optional: true
+ tsconfck@3.1.6:
+ resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==}
+ engines: {node: ^18 || >=20}
+ deprecated: unmaintained
+ hasBin: true
+ peerDependencies:
+ typescript: ^5.0.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
tsconfig-paths@3.15.0:
resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
@@ -9782,11 +11520,23 @@ packages:
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
engines: {node: '>= 0.4'}
+ typescript-eslint@8.62.1:
+ resolution: {integrity: sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+ typescript: '>=4.8.4 <6.1.0'
+
typescript@5.9.3:
resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'}
hasBin: true
+ typescript@6.0.3:
+ resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
@@ -9838,6 +11588,9 @@ packages:
resolution: {integrity: sha512-uZsKNuzQxDMUY6M3pIMvy5tvlGmtq8XJ2oLAkfRKGNu+1VQAIvLy2xIVG5ATZl5wDXl/tddByAWCizRbOme+TA==}
engines: {node: '>=20.18.1'}
+ unenv@2.0.0-rc.24:
+ resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==}
+
unicorn-magic@0.3.0:
resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==}
engines: {node: '>=18'}
@@ -9887,6 +11640,80 @@ packages:
unrs-resolver@1.12.2:
resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==}
+ unstorage@2.0.0-alpha.7:
+ resolution: {integrity: sha512-ELPztchk2zgFJnakyodVY3vJWGW9jy//keJ32IOJVGUMyaPydwcA1FtVvWqT0TNRch9H+cMNEGllfVFfScImog==}
+ peerDependencies:
+ '@azure/app-configuration': ^1.11.0
+ '@azure/cosmos': ^4.9.1
+ '@azure/data-tables': ^13.3.2
+ '@azure/identity': ^4.13.0
+ '@azure/keyvault-secrets': ^4.10.0
+ '@azure/storage-blob': ^12.31.0
+ '@capacitor/preferences': ^6 || ^7 || ^8
+ '@deno/kv': '>=0.13.0'
+ '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0
+ '@planetscale/database': ^1.19.0
+ '@upstash/redis': ^1.36.2
+ '@vercel/blob': '>=0.27.3'
+ '@vercel/functions': ^2.2.12 || ^3.0.0
+ '@vercel/kv': ^1.0.1
+ aws4fetch: ^1.0.20
+ chokidar: ^4 || ^5
+ db0: '>=0.3.4'
+ idb-keyval: ^6.2.2
+ ioredis: ^5.9.3
+ lru-cache: ^11.2.6
+ mongodb: ^6 || ^7
+ ofetch: '*'
+ uploadthing: ^7.7.4
+ peerDependenciesMeta:
+ '@azure/app-configuration':
+ optional: true
+ '@azure/cosmos':
+ optional: true
+ '@azure/data-tables':
+ optional: true
+ '@azure/identity':
+ optional: true
+ '@azure/keyvault-secrets':
+ optional: true
+ '@azure/storage-blob':
+ optional: true
+ '@capacitor/preferences':
+ optional: true
+ '@deno/kv':
+ optional: true
+ '@netlify/blobs':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@upstash/redis':
+ optional: true
+ '@vercel/blob':
+ optional: true
+ '@vercel/functions':
+ optional: true
+ '@vercel/kv':
+ optional: true
+ aws4fetch:
+ optional: true
+ chokidar:
+ optional: true
+ db0:
+ optional: true
+ idb-keyval:
+ optional: true
+ ioredis:
+ optional: true
+ lru-cache:
+ optional: true
+ mongodb:
+ optional: true
+ ofetch:
+ optional: true
+ uploadthing:
+ optional: true
+
until-async@3.0.2:
resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==}
@@ -9994,6 +11821,14 @@ packages:
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
+ vite-tsconfig-paths@5.1.4:
+ resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==}
+ peerDependencies:
+ vite: '*'
+ peerDependenciesMeta:
+ vite:
+ optional: true
+
vite@7.3.1:
resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -10070,6 +11905,53 @@ packages:
jsdom:
optional: true
+ vitest@4.1.9:
+ resolution: {integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==}
+ engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@opentelemetry/api': ^1.9.0
+ '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
+ '@vitest/browser-playwright': 4.1.9
+ '@vitest/browser-preview': 4.1.9
+ '@vitest/browser-webdriverio': 4.1.9
+ '@vitest/coverage-istanbul': 4.1.9
+ '@vitest/coverage-v8': 4.1.9
+ '@vitest/ui': 4.1.9
+ happy-dom: '*'
+ jsdom: '*'
+ vite: ^6.0.0 || ^7.0.0 || ^8.0.0
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@opentelemetry/api':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser-playwright':
+ optional: true
+ '@vitest/browser-preview':
+ optional: true
+ '@vitest/browser-webdriverio':
+ optional: true
+ '@vitest/coverage-istanbul':
+ optional: true
+ '@vitest/coverage-v8':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+
+ vue-eslint-parser@10.4.1:
+ resolution: {integrity: sha512-Gk6gRDj0n/fkRa3C3l0bBheoBckUq/Rs0F/TvMWIS6nzzx67amAViMe9CkNgsP2tXyQONvGiHQESHwFtZ3aYDA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
+
vue@3.5.24:
resolution: {integrity: sha512-uTHDOpVQTMjcGgrqFPSb8iO2m1DUvo+WbGqoXQz8Y1CeBYQ0FXf2z1gLRaBtHjlRz7zZUBHxjVB5VTLzYkvftg==}
peerDependencies:
@@ -10180,6 +12062,18 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ ws@8.21.0:
+ resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
wsl-utils@0.3.1:
resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==}
engines: {node: '>=20'}
@@ -10270,8 +12164,7 @@ packages:
snapshots:
- '@acemir/cssom@0.9.31':
- optional: true
+ '@acemir/cssom@0.9.31': {}
'@ai-sdk/gateway@2.0.10(zod@4.4.3)':
dependencies:
@@ -10280,6 +12173,12 @@ snapshots:
'@vercel/oidc': 3.0.3
zod: 4.4.3
+ '@ai-sdk/openai@2.0.110(zod@4.4.3)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.3
+ '@ai-sdk/provider-utils': 3.0.28(zod@4.4.3)
+ zod: 4.4.3
+
'@ai-sdk/provider-utils@3.0.17(zod@4.4.3)':
dependencies:
'@ai-sdk/provider': 2.0.0
@@ -10287,10 +12186,21 @@ snapshots:
eventsource-parser: 3.0.6
zod: 4.4.3
+ '@ai-sdk/provider-utils@3.0.28(zod@4.4.3)':
+ dependencies:
+ '@ai-sdk/provider': 2.0.3
+ '@standard-schema/spec': 1.1.0
+ eventsource-parser: 3.0.6
+ zod: 4.4.3
+
'@ai-sdk/provider@2.0.0':
dependencies:
json-schema: 0.4.0
+ '@ai-sdk/provider@2.0.3':
+ dependencies:
+ json-schema: 0.4.0
+
'@ai-sdk/react@2.0.94(react@19.2.7)(zod@4.4.3)':
dependencies:
'@ai-sdk/provider-utils': 3.0.17(zod@4.4.3)
@@ -10310,7 +12220,6 @@ snapshots:
'@csstools/css-color-parser': 4.1.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
- optional: true
'@asamuzakjp/dom-selector@6.8.1':
dependencies:
@@ -10319,13 +12228,10 @@ snapshots:
css-tree: 3.2.1
is-potential-custom-element-name: 1.0.1
lru-cache: 11.5.1
- optional: true
- '@asamuzakjp/generational-cache@1.0.1':
- optional: true
+ '@asamuzakjp/generational-cache@1.0.1': {}
- '@asamuzakjp/nwsapi@2.3.9':
- optional: true
+ '@asamuzakjp/nwsapi@2.3.9': {}
'@aws-crypto/crc32@5.2.0':
dependencies:
@@ -10794,7 +12700,6 @@ snapshots:
'@babel/helper-validator-identifier': 7.29.7
js-tokens: 4.0.0
picocolors: 1.1.1
- optional: true
'@babel/code-frame@7.29.0':
dependencies:
@@ -10811,8 +12716,7 @@ snapshots:
'@babel/compat-data@7.29.0': {}
- '@babel/compat-data@7.29.7':
- optional: true
+ '@babel/compat-data@7.29.7': {}
'@babel/core@7.29.0':
dependencies:
@@ -10822,7 +12726,7 @@ snapshots:
'@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
'@babel/helpers': 7.29.2
'@babel/parser': 7.29.7
- '@babel/template': 7.28.6
+ '@babel/template': 7.29.7
'@babel/traverse': 7.29.7
'@babel/types': 7.29.7
'@jridgewell/remapping': 2.3.5
@@ -10853,7 +12757,6 @@ snapshots:
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- optional: true
'@babel/generator@7.29.7':
dependencies:
@@ -10882,7 +12785,6 @@ snapshots:
browserslist: 4.28.2
lru-cache: 5.1.1
semver: 6.3.1
- optional: true
'@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.29.0)':
dependencies:
@@ -10897,6 +12799,19 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-member-expression-to-functions': 7.28.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.29.7)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/traverse': 7.29.7
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helper-globals@7.29.7': {}
'@babel/helper-member-expression-to-functions@7.28.5':
@@ -10946,7 +12861,6 @@ snapshots:
'@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- optional: true
'@babel/helper-optimise-call-expression@7.27.1':
dependencies:
@@ -10965,6 +12879,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/helper-replace-supers@7.27.1(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-member-expression-to-functions': 7.28.5
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/traverse': 7.29.7
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/helper-skip-transparent-expression-wrappers@7.27.1':
dependencies:
'@babel/traverse': 7.29.7
@@ -10981,8 +12904,7 @@ snapshots:
'@babel/helper-validator-option@7.27.1': {}
- '@babel/helper-validator-option@7.29.7':
- optional: true
+ '@babel/helper-validator-option@7.29.7': {}
'@babel/helpers@7.29.2':
dependencies:
@@ -10993,7 +12915,6 @@ snapshots:
dependencies:
'@babel/template': 7.29.7
'@babel/types': 7.29.7
- optional: true
'@babel/parser@7.29.2':
dependencies:
@@ -11012,18 +12933,16 @@ snapshots:
dependencies:
'@babel/core': 7.29.7
'@babel/helper-plugin-utils': 7.29.7
- optional: true
- '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-plugin-utils': 7.29.7
'@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)':
dependencies:
'@babel/core': 7.29.7
'@babel/helper-plugin-utils': 7.29.7
- optional: true
'@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.29.0)':
dependencies:
@@ -11033,6 +12952,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-react-jsx-self@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-transform-react-jsx-source@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+
'@babel/plugin-transform-typescript@7.28.5(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
@@ -11040,7 +12977,18 @@ snapshots:
'@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.29.0)
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.29.0)
+ '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7)
transitivePeerDependencies:
- supports-color
@@ -11055,18 +13003,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@babel/preset-typescript@7.28.5(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.29.7)
+ '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.29.7)
+ transitivePeerDependencies:
+ - supports-color
+
'@babel/runtime-corejs3@7.28.4':
dependencies:
core-js-pure: 3.47.0
'@babel/runtime@7.29.2': {}
- '@babel/template@7.28.6':
- dependencies:
- '@babel/code-frame': 7.29.7
- '@babel/parser': 7.29.7
- '@babel/types': 7.29.7
-
'@babel/template@7.29.7':
dependencies:
'@babel/code-frame': 7.29.7
@@ -11160,6 +13113,14 @@ snapshots:
'@prisma/client': 6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(typescript@5.9.3)
prisma: 7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)
+ '@better-auth/prisma-adapter@1.6.16(@better-auth/core@1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1))(@better-auth/utils@0.4.1)(@prisma/client@6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(typescript@6.0.3))(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))':
+ dependencies:
+ '@better-auth/core': 1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1)
+ '@better-auth/utils': 0.4.1
+ optionalDependencies:
+ '@prisma/client': 6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(typescript@6.0.3)
+ prisma: 7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)
+
'@better-auth/telemetry@1.6.16(@better-auth/core@1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1))(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)':
dependencies:
'@better-auth/core': 1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1)
@@ -11216,13 +13177,79 @@ snapshots:
'@bramus/specificity@2.4.2':
dependencies:
css-tree: 3.2.1
- optional: true
- '@btst/adapter-memory@2.2.2(3f1048c33dcc3a34f5463c3b01c66883)':
+ '@btst/adapter-memory@2.2.2(1cc8778580309809cf6cdfc6c185225b)':
+ dependencies:
+ '@better-auth/core': 1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1)
+ '@btst/db': 2.2.2(84c0473dacd82373aa0e1c019674ae07)
+ better-auth: 1.6.16(@opentelemetry/api@1.9.0)(@prisma/client@6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.167.16(crossws@0.4.9(srvx@0.11.20))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)))(mongodb@6.21.0(socks@2.8.7))(mysql2@3.15.3)(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.12)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.7.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.24(typescript@5.9.3))
+ transitivePeerDependencies:
+ - '@better-auth/utils'
+ - '@better-fetch/fetch'
+ - '@cloudflare/workers-types'
+ - '@lynx-js/react'
+ - '@opentelemetry/api'
+ - '@prisma/client'
+ - '@sveltejs/kit'
+ - '@tanstack/react-start'
+ - '@tanstack/solid-start'
+ - better-call
+ - better-sqlite3
+ - drizzle-kit
+ - drizzle-orm
+ - jose
+ - kysely
+ - mongodb
+ - mysql2
+ - nanostores
+ - next
+ - pg
+ - prisma
+ - react
+ - react-dom
+ - solid-js
+ - svelte
+ - vitest
+ - vue
+
+ '@btst/adapter-memory@2.2.2(e0348a04c834c515f6e6974fb4bbed6d)':
+ dependencies:
+ '@better-auth/core': 1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1)
+ '@btst/db': 2.2.2(7aa0e8a71fdebdc1d52576bb8fea318f)
+ better-auth: 1.6.16(fb120b41aed529c3fb40587bdf11e900)
+ transitivePeerDependencies:
+ - '@better-auth/utils'
+ - '@better-fetch/fetch'
+ - '@cloudflare/workers-types'
+ - '@lynx-js/react'
+ - '@opentelemetry/api'
+ - '@prisma/client'
+ - '@sveltejs/kit'
+ - '@tanstack/react-start'
+ - '@tanstack/solid-start'
+ - better-call
+ - better-sqlite3
+ - drizzle-kit
+ - drizzle-orm
+ - jose
+ - kysely
+ - mongodb
+ - mysql2
+ - nanostores
+ - next
+ - pg
+ - prisma
+ - react
+ - react-dom
+ - solid-js
+ - svelte
+ - vitest
+ - vue
+
+ '@btst/db@2.2.2(7aa0e8a71fdebdc1d52576bb8fea318f)':
dependencies:
'@better-auth/core': 1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1)
- '@btst/db': 2.2.2(7010515aebf7f15e3f6fd94d16578921)
- better-auth: 1.6.16(@opentelemetry/api@1.9.0)(@prisma/client@6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.167.16(crossws@0.4.6(srvx@0.11.16))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)))(mongodb@6.21.0(socks@2.8.7))(mysql2@3.15.3)(next@16.1.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.12)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.6.1)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.24(typescript@5.9.3))
+ better-auth: 1.6.16(fb120b41aed529c3fb40587bdf11e900)
transitivePeerDependencies:
- '@better-auth/utils'
- '@better-fetch/fetch'
@@ -11252,10 +13279,10 @@ snapshots:
- vitest
- vue
- '@btst/db@2.2.2(7010515aebf7f15e3f6fd94d16578921)':
+ '@btst/db@2.2.2(84c0473dacd82373aa0e1c019674ae07)':
dependencies:
'@better-auth/core': 1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1)
- better-auth: 1.6.16(@opentelemetry/api@1.9.0)(@prisma/client@6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.167.16(crossws@0.4.6(srvx@0.11.16))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)))(mongodb@6.21.0(socks@2.8.7))(mysql2@3.15.3)(next@16.1.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.12)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.6.1)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.24(typescript@5.9.3))
+ better-auth: 1.6.16(@opentelemetry/api@1.9.0)(@prisma/client@6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.167.16(crossws@0.4.9(srvx@0.11.20))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)))(mongodb@6.21.0(socks@2.8.7))(mysql2@3.15.3)(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.12)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.7.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.24(typescript@5.9.3))
transitivePeerDependencies:
- '@better-auth/utils'
- '@better-fetch/fetch'
@@ -11581,14 +13608,12 @@ snapshots:
dependencies:
'@jridgewell/trace-mapping': 0.3.9
- '@csstools/color-helpers@6.0.2':
- optional: true
+ '@csstools/color-helpers@6.0.2': {}
'@csstools/css-calc@3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
- optional: true
'@csstools/css-color-parser@4.1.2(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
@@ -11596,20 +13621,16 @@ snapshots:
'@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
- optional: true
'@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)':
dependencies:
'@csstools/css-tokenizer': 4.0.0
- optional: true
'@csstools/css-syntax-patches-for-csstree@1.1.5(css-tree@3.2.1)':
optionalDependencies:
css-tree: 3.2.1
- optional: true
- '@csstools/css-tokenizer@4.0.0':
- optional: true
+ '@csstools/css-tokenizer@4.0.0': {}
'@date-fns/tz@1.4.1': {}
@@ -11680,22 +13701,11 @@ snapshots:
tslib: 2.8.1
optional: true
- '@emnapi/core@1.9.1':
- dependencies:
- '@emnapi/wasi-threads': 1.2.0
- tslib: 2.8.1
- optional: true
-
'@emnapi/runtime@1.10.0':
dependencies:
tslib: 2.8.1
optional: true
- '@emnapi/wasi-threads@1.2.0':
- dependencies:
- tslib: 2.8.1
- optional: true
-
'@emnapi/wasi-threads@1.2.1':
dependencies:
tslib: 2.8.1
@@ -11940,8 +13950,29 @@ snapshots:
eslint: 8.57.1
eslint-visitor-keys: 3.4.3
+ '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.7.0))':
+ dependencies:
+ eslint: 9.39.4(jiti@2.7.0)
+ eslint-visitor-keys: 3.4.3
+
'@eslint-community/regexpp@4.12.2': {}
+ '@eslint/config-array@0.21.2':
+ dependencies:
+ '@eslint/object-schema': 2.1.7
+ debug: 4.4.3
+ minimatch: 3.1.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/config-helpers@0.4.2':
+ dependencies:
+ '@eslint/core': 0.17.0
+
+ '@eslint/core@0.17.0':
+ dependencies:
+ '@types/json-schema': 7.0.15
+
'@eslint/eslintrc@2.1.4':
dependencies:
ajv: 6.14.0
@@ -11956,12 +13987,38 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@eslint/eslintrc@3.3.5':
+ dependencies:
+ ajv: 6.14.0
+ debug: 4.4.3
+ espree: 10.4.0
+ globals: 14.0.0
+ ignore: 5.3.2
+ import-fresh: 3.3.1
+ js-yaml: 4.2.0
+ minimatch: 3.1.5
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/js@10.0.1(eslint@9.39.4(jiti@2.7.0))':
+ optionalDependencies:
+ eslint: 9.39.4(jiti@2.7.0)
+
'@eslint/js@8.57.1': {}
+ '@eslint/js@9.39.4': {}
+
+ '@eslint/object-schema@2.1.7': {}
+
+ '@eslint/plugin-kit@0.4.1':
+ dependencies:
+ '@eslint/core': 0.17.0
+ levn: 0.4.1
+
'@exodus/bytes@1.15.1(@noble/hashes@2.0.1)':
optionalDependencies:
'@noble/hashes': 2.0.1
- optional: true
'@fastify/busboy@2.1.1': {}
@@ -11990,6 +14047,8 @@ snapshots:
'@floating-ui/utils@0.2.11': {}
+ '@fontsource-variable/geist@5.2.9': {}
+
'@formatjs/intl-localematcher@0.6.2':
dependencies:
tslib: 2.8.1
@@ -12003,6 +14062,18 @@ snapshots:
'@standard-schema/utils': 0.3.0
react-hook-form: 7.66.1(react@19.2.7)
+ '@humanfs/core@0.19.2':
+ dependencies:
+ '@humanfs/types': 0.15.0
+
+ '@humanfs/node@0.16.8':
+ dependencies:
+ '@humanfs/core': 0.19.2
+ '@humanfs/types': 0.15.0
+ '@humanwhocodes/retry': 0.4.3
+
+ '@humanfs/types@0.15.0': {}
+
'@humanwhocodes/config-array@0.13.0':
dependencies:
'@humanwhocodes/object-schema': 2.0.3
@@ -12015,6 +14086,8 @@ snapshots:
'@humanwhocodes/object-schema@2.0.3': {}
+ '@humanwhocodes/retry@0.4.3': {}
+
'@img/colour@1.0.0':
optional: true
@@ -12112,8 +14185,16 @@ snapshots:
'@img/sharp-win32-x64@0.34.5':
optional: true
- '@inquirer/ansi@1.0.2': {}
-
+ '@inquirer/ansi@1.0.2': {}
+
+ '@inquirer/confirm@5.1.21(@types/node@22.20.0)':
+ dependencies:
+ '@inquirer/core': 10.3.2(@types/node@22.20.0)
+ '@inquirer/type': 3.0.10(@types/node@22.20.0)
+ optionalDependencies:
+ '@types/node': 22.20.0
+ optional: true
+
'@inquirer/confirm@5.1.21(@types/node@24.12.0)':
dependencies:
'@inquirer/core': 10.3.2(@types/node@24.12.0)
@@ -12129,6 +14210,20 @@ snapshots:
'@types/node': 25.5.0
optional: true
+ '@inquirer/core@10.3.2(@types/node@22.20.0)':
+ dependencies:
+ '@inquirer/ansi': 1.0.2
+ '@inquirer/figures': 1.0.15
+ '@inquirer/type': 3.0.10(@types/node@22.20.0)
+ cli-width: 4.1.0
+ mute-stream: 2.0.0
+ signal-exit: 4.1.0
+ wrap-ansi: 6.2.0
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 22.20.0
+ optional: true
+
'@inquirer/core@10.3.2(@types/node@24.12.0)':
dependencies:
'@inquirer/ansi': 1.0.2
@@ -12165,6 +14260,11 @@ snapshots:
'@inquirer/figures@1.0.15': {}
+ '@inquirer/type@3.0.10(@types/node@22.20.0)':
+ optionalDependencies:
+ '@types/node': 22.20.0
+ optional: true
+
'@inquirer/type@3.0.10(@types/node@24.12.0)':
optionalDependencies:
'@types/node': 24.12.0
@@ -12630,7 +14730,7 @@ snapshots:
'@napi-rs/wasm-runtime@0.2.12':
dependencies:
- '@emnapi/core': 1.9.1
+ '@emnapi/core': 1.10.0
'@emnapi/runtime': 1.10.0
'@tybys/wasm-util': 0.10.1
optional: true
@@ -12739,21 +14839,17 @@ snapshots:
'@oozcitak/infra': 2.0.2
'@oozcitak/url': 3.0.0
'@oozcitak/util': 10.0.0
- optional: true
'@oozcitak/infra@2.0.2':
dependencies:
'@oozcitak/util': 10.0.0
- optional: true
'@oozcitak/url@3.0.0':
dependencies:
'@oozcitak/infra': 2.0.2
'@oozcitak/util': 10.0.0
- optional: true
- '@oozcitak/util@10.0.0':
- optional: true
+ '@oozcitak/util@10.0.0': {}
'@open-draft/deferred-promise@2.2.0': {}
@@ -12770,9 +14866,75 @@ snapshots:
'@orama/orama@3.1.16': {}
- '@oxc-project/types@0.134.0':
+ '@oxc-parser/binding-android-arm-eabi@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-android-arm64@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-darwin-arm64@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-darwin-x64@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-freebsd-x64@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm-musleabihf@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm64-gnu@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm64-musl@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-ppc64-gnu@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-riscv64-gnu@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-riscv64-musl@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-s390x-gnu@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-x64-gnu@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-x64-musl@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-openharmony-arm64@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-wasm32-wasi@0.120.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ optional: true
+
+ '@oxc-parser/binding-win32-arm64-msvc@0.120.0':
+ optional: true
+
+ '@oxc-parser/binding-win32-ia32-msvc@0.120.0':
optional: true
+ '@oxc-parser/binding-win32-x64-msvc@0.120.0':
+ optional: true
+
+ '@oxc-project/types@0.120.0': {}
+
+ '@oxc-project/types@0.134.0': {}
+
'@oxc-resolver/binding-android-arm-eabi@11.19.1':
optional: true
@@ -12888,8 +15050,7 @@ snapshots:
'@oxc-transform/binding-win32-x64-msvc@0.96.0':
optional: true
- '@package-json/types@0.0.12':
- optional: true
+ '@package-json/types@0.0.12': {}
'@playwright/test@1.56.1':
dependencies:
@@ -12901,6 +15062,12 @@ snapshots:
typescript: 5.9.3
optional: true
+ '@prisma/client@6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(typescript@6.0.3)':
+ optionalDependencies:
+ prisma: 7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)
+ typescript: 6.0.3
+ optional: true
+
'@prisma/config@7.5.0':
dependencies:
c12: 3.1.0
@@ -12940,6 +15107,29 @@ snapshots:
- typescript
optional: true
+ '@prisma/dev@0.20.0(typescript@6.0.3)':
+ dependencies:
+ '@electric-sql/pglite': 0.3.15
+ '@electric-sql/pglite-socket': 0.0.20(@electric-sql/pglite@0.3.15)
+ '@electric-sql/pglite-tools': 0.2.20(@electric-sql/pglite@0.3.15)
+ '@hono/node-server': 1.19.9(hono@4.11.4)
+ '@mrleebo/prisma-ast': 0.13.1
+ '@prisma/get-platform': 7.2.0
+ '@prisma/query-plan-executor': 7.2.0
+ foreground-child: 3.3.1
+ get-port-please: 3.2.0
+ hono: 4.11.4
+ http-status-codes: 2.3.0
+ pathe: 2.0.3
+ proper-lockfile: 4.1.2
+ remeda: 2.33.4
+ std-env: 3.10.0
+ valibot: 1.2.0(typescript@6.0.3)
+ zeptomatch: 2.1.0
+ transitivePeerDependencies:
+ - typescript
+ optional: true
+
'@prisma/engines-version@7.5.0-15.280c870be64f457428992c43c1f6d557fab6e29e':
optional: true
@@ -12980,8 +15170,21 @@ snapshots:
'@radix-ui/number@1.1.1': {}
+ '@radix-ui/number@1.1.2': {}
+
'@radix-ui/primitive@1.1.3': {}
+ '@radix-ui/primitive@1.1.4': {}
+
+ '@radix-ui/react-accessible-icon@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-accessible-icon@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -13008,6 +15211,23 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-accordion@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collapsible': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-alert-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13022,6 +15242,28 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-alert-dialog@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-arrow@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-arrow@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -13031,6 +15273,15 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-aspect-ratio@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-aspect-ratio@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -13066,6 +15317,19 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-avatar@1.2.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-is-hydrated': 0.1.1(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13082,6 +15346,22 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-checkbox@1.3.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-size': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13098,6 +15378,34 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-collapsible@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-collection@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-collection@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.7)
@@ -13116,6 +15424,12 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-compose-refs@1.1.3(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-context-menu@2.2.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13130,6 +15444,19 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-context-menu@2.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-menu': 2.1.19(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-context@1.1.2(@types/react@19.2.14)(react@19.2.7)':
dependencies:
react: 19.2.7
@@ -13142,6 +15469,12 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-context@1.1.4(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-dialog@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13164,12 +15497,40 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-dialog@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ aria-hidden: 1.2.6
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-direction@1.1.1(@types/react@19.2.14)(react@19.2.7)':
dependencies:
react: 19.2.7
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-direction@1.1.2(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13183,6 +15544,19 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-dismissable-layer@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13198,12 +15572,44 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-dropdown-menu@2.1.19(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-menu': 2.1.19(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.14)(react@19.2.7)':
dependencies:
react: 19.2.7
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-focus-guards@1.1.4(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
+ '@radix-ui/react-focus-scope@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.7)
@@ -13215,6 +15621,20 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-form@0.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-label': 2.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-form@0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13246,6 +15666,23 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-hover-card@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-icons@1.3.2(react@19.2.7)':
dependencies:
react: 19.2.7
@@ -13257,6 +15694,22 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-id@1.1.2(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
+ '@radix-ui/react-label@2.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-label@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -13301,6 +15754,32 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-menu@2.1.19(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ aria-hidden: 1.2.6
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-menubar@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13319,6 +15798,24 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-menubar@1.1.19(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-menu': 2.1.19(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13341,6 +15838,48 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-navigation-menu@1.2.17(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-one-time-password-field@0.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/number': 1.1.2
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-is-hydrated': 0.1.1(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-one-time-password-field@0.1.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/number': 1.1.1
@@ -13377,6 +15916,22 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-password-toggle-field@0.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-is-hydrated': 0.1.1(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-popover@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13400,6 +15955,29 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-popover@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ aria-hidden: 1.2.6
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@floating-ui/react-dom': 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -13418,6 +15996,34 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-popper@1.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-arrow': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-rect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-size': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/rect': 1.1.2
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-portal@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-portal@1.1.9(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -13438,6 +16044,15 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-presence@1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-primitive@2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-slot': 1.2.3(@types/react@19.2.14)(react@19.2.7)
@@ -13456,6 +16071,25 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-primitive@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-progress@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-progress@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-context': 1.1.2(@types/react@19.2.14)(react@19.2.7)
@@ -13484,6 +16118,24 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-radio-group@1.4.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-size': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13501,6 +16153,23 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-roving-focus@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/number': 1.1.1
@@ -13518,6 +16187,23 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-scroll-area@1.2.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/number': 1.1.2
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-select@2.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/number': 1.1.1
@@ -13547,6 +16233,45 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-select@2.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/number': 1.1.2
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ aria-hidden: 1.2.6
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ react-remove-scroll: 2.7.2(@types/react@19.2.14)(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-separator@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-separator@1.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -13584,6 +16309,25 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-slider@1.4.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/number': 1.1.2
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-size': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-slot@1.2.3(@types/react@19.2.14)(react@19.2.7)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.14)(react@19.2.7)
@@ -13598,6 +16342,13 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-slot@1.3.0(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-switch@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13613,6 +16364,21 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-switch@1.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-size': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-tabs@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13629,6 +16395,22 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-tabs@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-toast@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13649,6 +16431,26 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-toast@1.2.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-toggle-group@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13664,6 +16466,21 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-toggle-group@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toggle': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-toggle@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13675,6 +16492,17 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-toggle@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-toolbar@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13690,6 +16518,41 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-toolbar@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-separator': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toggle-group': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
+ '@radix-ui/react-tooltip@1.2.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-id': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.3
@@ -13716,6 +16579,12 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-use-callback-ref@1.1.2(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.14)(react@19.2.7)':
dependencies:
'@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.14)(react@19.2.7)
@@ -13724,6 +16593,14 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-use-controllable-state@1.2.3(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.14)(react@19.2.7)':
dependencies:
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.7)
@@ -13731,6 +16608,13 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-use-effect-event@0.0.3(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.14)(react@19.2.7)':
dependencies:
'@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.14)(react@19.2.7)
@@ -13738,6 +16622,13 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-use-escape-keydown@1.1.3(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-use-is-hydrated@0.1.0(@types/react@19.2.14)(react@19.2.7)':
dependencies:
react: 19.2.7
@@ -13745,18 +16636,36 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-use-is-hydrated@0.1.1(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.14)(react@19.2.7)':
dependencies:
react: 19.2.7
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-use-layout-effect@1.1.2(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-use-previous@1.1.1(@types/react@19.2.14)(react@19.2.7)':
dependencies:
react: 19.2.7
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-use-previous@1.1.2(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-use-rect@1.1.1(@types/react@19.2.14)(react@19.2.7)':
dependencies:
'@radix-ui/rect': 1.1.1
@@ -13764,6 +16673,13 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-use-rect@1.1.2(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ '@radix-ui/rect': 1.1.2
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-use-size@1.1.1(@types/react@19.2.14)(react@19.2.7)':
dependencies:
'@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.14)(react@19.2.7)
@@ -13771,6 +16687,13 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ '@radix-ui/react-use-size@1.1.2(@types/react@19.2.14)(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ react: 19.2.7
+ optionalDependencies:
+ '@types/react': 19.2.14
+
'@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -13780,8 +16703,19 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ '@radix-ui/react-visually-hidden@1.2.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
'@radix-ui/rect@1.1.1': {}
+ '@radix-ui/rect@1.1.2': {}
+
'@remirror/core-constants@3.0.0': {}
'@rolldown/binding-android-arm64@1.1.0':
@@ -13833,11 +16767,11 @@ snapshots:
'@rolldown/binding-win32-x64-msvc@1.1.0':
optional: true
- '@rolldown/pluginutils@1.0.0-beta.40':
- optional: true
+ '@rolldown/pluginutils@1.0.0-beta.40': {}
- '@rolldown/pluginutils@1.0.1':
- optional: true
+ '@rolldown/pluginutils@1.0.0-rc.3': {}
+
+ '@rolldown/pluginutils@1.0.1': {}
'@rollup/plugin-alias@5.1.1(rollup@4.53.2)':
optionalDependencies:
@@ -14346,6 +17280,40 @@ snapshots:
dependencies:
tslib: 2.8.1
+ '@solid-primitives/event-listener@2.4.5(solid-js@1.9.12)':
+ dependencies:
+ '@solid-primitives/utils': 6.4.0(solid-js@1.9.12)
+ solid-js: 1.9.12
+
+ '@solid-primitives/keyboard@1.3.5(solid-js@1.9.12)':
+ dependencies:
+ '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.12)
+ '@solid-primitives/rootless': 1.5.3(solid-js@1.9.12)
+ '@solid-primitives/utils': 6.4.0(solid-js@1.9.12)
+ solid-js: 1.9.12
+
+ '@solid-primitives/resize-observer@2.1.5(solid-js@1.9.12)':
+ dependencies:
+ '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.12)
+ '@solid-primitives/rootless': 1.5.3(solid-js@1.9.12)
+ '@solid-primitives/static-store': 0.1.3(solid-js@1.9.12)
+ '@solid-primitives/utils': 6.4.0(solid-js@1.9.12)
+ solid-js: 1.9.12
+
+ '@solid-primitives/rootless@1.5.3(solid-js@1.9.12)':
+ dependencies:
+ '@solid-primitives/utils': 6.4.0(solid-js@1.9.12)
+ solid-js: 1.9.12
+
+ '@solid-primitives/static-store@0.1.3(solid-js@1.9.12)':
+ dependencies:
+ '@solid-primitives/utils': 6.4.0(solid-js@1.9.12)
+ solid-js: 1.9.12
+
+ '@solid-primitives/utils@6.4.0(solid-js@1.9.12)':
+ dependencies:
+ solid-js: 1.9.12
+
'@stackblitz/sdk@1.11.0': {}
'@standard-schema/spec@1.0.0': {}
@@ -14354,6 +17322,16 @@ snapshots:
'@standard-schema/utils@0.3.0': {}
+ '@stylistic/eslint-plugin@5.10.0(eslint@9.39.4(jiti@2.7.0))':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
+ '@typescript-eslint/types': 8.61.0
+ eslint: 9.39.4(jiti@2.7.0)
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
+ estraverse: 5.3.0
+ picomatch: 4.0.4
+
'@swc/helpers@0.5.15':
dependencies:
tslib: 2.8.1
@@ -14368,42 +17346,88 @@ snapshots:
source-map-js: 1.2.1
tailwindcss: 4.2.2
+ '@tailwindcss/node@4.3.2':
+ dependencies:
+ '@jridgewell/remapping': 2.3.5
+ enhanced-resolve: 5.21.6
+ jiti: 2.7.0
+ lightningcss: 1.32.0
+ magic-string: 0.30.21
+ source-map-js: 1.2.1
+ tailwindcss: 4.3.2
+
'@tailwindcss/oxide-android-arm64@4.2.2':
optional: true
+ '@tailwindcss/oxide-android-arm64@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-darwin-arm64@4.2.2':
optional: true
+ '@tailwindcss/oxide-darwin-arm64@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-darwin-x64@4.2.2':
optional: true
+ '@tailwindcss/oxide-darwin-x64@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-freebsd-x64@4.2.2':
optional: true
+ '@tailwindcss/oxide-freebsd-x64@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-linux-arm-gnueabihf@4.2.2':
optional: true
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-linux-arm64-gnu@4.2.2':
optional: true
+ '@tailwindcss/oxide-linux-arm64-gnu@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-linux-arm64-musl@4.2.2':
optional: true
+ '@tailwindcss/oxide-linux-arm64-musl@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-linux-x64-gnu@4.2.2':
optional: true
+ '@tailwindcss/oxide-linux-x64-gnu@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-linux-x64-musl@4.2.2':
optional: true
+ '@tailwindcss/oxide-linux-x64-musl@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-wasm32-wasi@4.2.2':
optional: true
+ '@tailwindcss/oxide-wasm32-wasi@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-win32-arm64-msvc@4.2.2':
optional: true
+ '@tailwindcss/oxide-win32-arm64-msvc@4.3.2':
+ optional: true
+
'@tailwindcss/oxide-win32-x64-msvc@4.2.2':
optional: true
+ '@tailwindcss/oxide-win32-x64-msvc@4.3.2':
+ optional: true
+
'@tailwindcss/oxide@4.2.2':
optionalDependencies:
'@tailwindcss/oxide-android-arm64': 4.2.2
@@ -14419,6 +17443,21 @@ snapshots:
'@tailwindcss/oxide-win32-arm64-msvc': 4.2.2
'@tailwindcss/oxide-win32-x64-msvc': 4.2.2
+ '@tailwindcss/oxide@4.3.2':
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.3.2
+ '@tailwindcss/oxide-darwin-arm64': 4.3.2
+ '@tailwindcss/oxide-darwin-x64': 4.3.2
+ '@tailwindcss/oxide-freebsd-x64': 4.3.2
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.2
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.3.2
+ '@tailwindcss/oxide-linux-arm64-musl': 4.3.2
+ '@tailwindcss/oxide-linux-x64-gnu': 4.3.2
+ '@tailwindcss/oxide-linux-x64-musl': 4.3.2
+ '@tailwindcss/oxide-wasm32-wasi': 4.3.2
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.3.2
+ '@tailwindcss/oxide-win32-x64-msvc': 4.3.2
+
'@tailwindcss/postcss@4.2.2':
dependencies:
'@alloc/quick-lru': 5.2.0
@@ -14432,16 +17471,135 @@ snapshots:
postcss-selector-parser: 6.0.10
tailwindcss: 4.2.2
- '@tanstack/history@1.161.6':
- optional: true
+ '@tailwindcss/vite@4.3.2(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))':
+ dependencies:
+ '@tailwindcss/node': 4.3.2
+ '@tailwindcss/oxide': 4.3.2
+ tailwindcss: 4.3.2
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+
+ '@tanstack/devtools-client@0.0.8':
+ dependencies:
+ '@tanstack/devtools-event-client': 0.5.0
+
+ '@tanstack/devtools-event-bus@0.4.2':
+ dependencies:
+ ws: 8.21.0
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ '@tanstack/devtools-event-client@0.5.0': {}
+
+ '@tanstack/devtools-ui@0.6.0(csstype@3.2.3)(solid-js@1.9.12)':
+ dependencies:
+ clsx: 2.1.1
+ dayjs: 1.11.21
+ goober: 2.1.19(csstype@3.2.3)
+ solid-js: 1.9.12
+ transitivePeerDependencies:
+ - csstype
+
+ '@tanstack/devtools-vite@0.8.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))':
+ dependencies:
+ '@tanstack/devtools-client': 0.0.8
+ '@tanstack/devtools-event-bus': 0.4.2
+ chalk: 5.6.2
+ launch-editor: 2.14.1
+ magic-string: 0.30.21
+ oxc-parser: 0.120.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ picomatch: 4.0.4
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - bufferutil
+ - utf-8-validate
+
+ '@tanstack/devtools@0.12.5(csstype@3.2.3)(solid-js@1.9.12)':
+ dependencies:
+ '@solid-primitives/event-listener': 2.4.5(solid-js@1.9.12)
+ '@solid-primitives/keyboard': 1.3.5(solid-js@1.9.12)
+ '@solid-primitives/resize-observer': 2.1.5(solid-js@1.9.12)
+ '@tanstack/devtools-client': 0.0.8
+ '@tanstack/devtools-event-bus': 0.4.2
+ '@tanstack/devtools-ui': 0.6.0(csstype@3.2.3)(solid-js@1.9.12)
+ clsx: 2.1.1
+ goober: 2.1.19(csstype@3.2.3)
+ solid-js: 1.9.12
+ transitivePeerDependencies:
+ - bufferutil
+ - csstype
+ - utf-8-validate
+
+ '@tanstack/eslint-config@0.4.0(@typescript-eslint/utils@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)':
+ dependencies:
+ '@eslint/js': 10.0.1(eslint@9.39.4(jiti@2.7.0))
+ '@stylistic/eslint-plugin': 5.10.0(eslint@9.39.4(jiti@2.7.0))
+ eslint: 9.39.4(jiti@2.7.0)
+ eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.7.0))
+ eslint-plugin-n: 17.24.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ globals: 17.7.0
+ typescript-eslint: 8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ vue-eslint-parser: 10.4.1(eslint@9.39.4(jiti@2.7.0))
+ transitivePeerDependencies:
+ - '@typescript-eslint/utils'
+ - eslint-import-resolver-node
+ - supports-color
+ - typescript
+
+ '@tanstack/history@1.161.6': {}
'@tanstack/query-core@5.90.10': {}
+ '@tanstack/query-devtools@5.101.2': {}
+
+ '@tanstack/react-devtools@0.10.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(csstype@3.2.3)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.12)':
+ dependencies:
+ '@tanstack/devtools': 0.12.5(csstype@3.2.3)(solid-js@1.9.12)
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ transitivePeerDependencies:
+ - bufferutil
+ - csstype
+ - solid-js
+ - utf-8-validate
+
+ '@tanstack/react-query-devtools@5.101.2(@tanstack/react-query@5.90.10(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@tanstack/query-devtools': 5.101.2
+ '@tanstack/react-query': 5.90.10(react@19.2.7)
+ react: 19.2.7
+
'@tanstack/react-query@5.90.10(react@19.2.7)':
dependencies:
'@tanstack/query-core': 5.90.10
react: 19.2.7
+ '@tanstack/react-router-devtools@1.167.0(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@tanstack/router-core@1.168.9)(csstype@3.2.3)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@tanstack/react-router': 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@tanstack/router-devtools-core': 1.168.0(@tanstack/router-core@1.168.9)(csstype@3.2.3)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@tanstack/router-core': 1.168.9
+ transitivePeerDependencies:
+ - csstype
+
+ '@tanstack/react-router-ssr-query@1.167.1(@tanstack/query-core@5.90.10)(@tanstack/react-query@5.90.10(react@19.2.7))(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@tanstack/router-core@1.168.9)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@tanstack/query-core': 5.90.10
+ '@tanstack/react-query': 5.90.10(react@19.2.7)
+ '@tanstack/react-router': 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@tanstack/router-ssr-query-core': 1.169.1(@tanstack/query-core@5.90.10)(@tanstack/router-core@1.168.9)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ transitivePeerDependencies:
+ - '@tanstack/router-core'
+
'@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@tanstack/history': 1.161.6
@@ -14450,7 +17608,6 @@ snapshots:
isbot: 5.1.42
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
- optional: true
'@tanstack/react-start-client@1.166.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
@@ -14459,7 +17616,6 @@ snapshots:
'@tanstack/start-client-core': 1.167.9
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
- optional: true
'@tanstack/react-start-server@1.166.25(crossws@0.4.6(srvx@0.11.16))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
@@ -14472,21 +17628,53 @@ snapshots:
react-dom: 19.2.7(react@19.2.7)
transitivePeerDependencies:
- crossws
+
+ '@tanstack/react-start-server@1.166.25(crossws@0.4.9(srvx@0.11.20))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@tanstack/history': 1.161.6
+ '@tanstack/react-router': 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@tanstack/router-core': 1.168.9
+ '@tanstack/start-client-core': 1.167.9
+ '@tanstack/start-server-core': 1.167.9(crossws@0.4.9(srvx@0.11.20))
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ transitivePeerDependencies:
+ - crossws
optional: true
- '@tanstack/react-start@1.167.16(crossws@0.4.6(srvx@0.11.16))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
+ '@tanstack/react-start@1.167.16(crossws@0.4.6(srvx@0.11.16))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))':
dependencies:
'@tanstack/react-router': 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@tanstack/react-start-client': 1.166.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@tanstack/react-start-server': 1.166.25(crossws@0.4.6(srvx@0.11.16))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@tanstack/router-utils': 1.162.2
'@tanstack/start-client-core': 1.167.9
- '@tanstack/start-plugin-core': 1.167.17(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(crossws@0.4.6(srvx@0.11.16))(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
+ '@tanstack/start-plugin-core': 1.167.17(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(crossws@0.4.6(srvx@0.11.16))(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
'@tanstack/start-server-core': 1.167.9(crossws@0.4.6(srvx@0.11.16))
pathe: 2.0.3
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ transitivePeerDependencies:
+ - '@rsbuild/core'
+ - crossws
+ - supports-color
+ - vite-plugin-solid
+ - webpack
+
+ '@tanstack/react-start@1.167.16(crossws@0.4.9(srvx@0.11.20))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
+ dependencies:
+ '@tanstack/react-router': 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@tanstack/react-start-client': 1.166.25(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@tanstack/react-start-server': 1.166.25(crossws@0.4.9(srvx@0.11.20))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@tanstack/router-utils': 1.162.2
+ '@tanstack/start-client-core': 1.167.9
+ '@tanstack/start-plugin-core': 1.167.17(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(crossws@0.4.9(srvx@0.11.20))(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
+ '@tanstack/start-server-core': 1.167.9(crossws@0.4.9(srvx@0.11.20))
+ pathe: 2.0.3
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ vite: 7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- '@rsbuild/core'
- crossws
@@ -14501,7 +17689,6 @@ snapshots:
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
use-sync-external-store: 1.6.0(react@19.2.7)
- optional: true
'@tanstack/router-core@1.168.9':
dependencies:
@@ -14509,7 +17696,14 @@ snapshots:
cookie-es: 2.0.1
seroval: 1.5.4
seroval-plugins: 1.5.4(seroval@1.5.4)
- optional: true
+
+ '@tanstack/router-devtools-core@1.168.0(@tanstack/router-core@1.168.9)(csstype@3.2.3)':
+ dependencies:
+ '@tanstack/router-core': 1.168.9
+ clsx: 2.1.1
+ goober: 2.1.19(csstype@3.2.3)
+ optionalDependencies:
+ csstype: 3.2.3
'@tanstack/router-generator@1.166.24':
dependencies:
@@ -14523,9 +17717,29 @@ snapshots:
zod: 3.25.76
transitivePeerDependencies:
- supports-color
- optional: true
- '@tanstack/router-plugin@1.167.12(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
+ '@tanstack/router-plugin@1.167.12(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7)
+ '@babel/template': 7.29.7
+ '@babel/traverse': 7.29.7
+ '@babel/types': 7.29.7
+ '@tanstack/router-core': 1.168.9
+ '@tanstack/router-generator': 1.166.24
+ '@tanstack/router-utils': 1.161.6
+ '@tanstack/virtual-file-routes': 1.161.7
+ chokidar: 3.6.0
+ unplugin: 2.3.11
+ zod: 3.25.76
+ optionalDependencies:
+ '@tanstack/react-router': 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@tanstack/router-plugin@1.167.12(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
'@babel/core': 7.29.7
'@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7)
@@ -14542,11 +17756,16 @@ snapshots:
zod: 3.25.76
optionalDependencies:
'@tanstack/react-router': 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- supports-color
optional: true
+ '@tanstack/router-ssr-query-core@1.169.1(@tanstack/query-core@5.90.10)(@tanstack/router-core@1.168.9)':
+ dependencies:
+ '@tanstack/query-core': 5.90.10
+ '@tanstack/router-core': 1.168.9
+
'@tanstack/router-utils@1.161.6':
dependencies:
'@babel/core': 7.29.7
@@ -14560,7 +17779,6 @@ snapshots:
tinyglobby: 0.2.17
transitivePeerDependencies:
- supports-color
- optional: true
'@tanstack/router-utils@1.162.2':
dependencies:
@@ -14574,7 +17792,6 @@ snapshots:
tinyglobby: 0.2.17
transitivePeerDependencies:
- supports-color
- optional: true
'@tanstack/start-client-core@1.167.9':
dependencies:
@@ -14582,12 +17799,10 @@ snapshots:
'@tanstack/start-fn-stubs': 1.161.6
'@tanstack/start-storage-context': 1.166.23
seroval: 1.5.4
- optional: true
- '@tanstack/start-fn-stubs@1.161.6':
- optional: true
+ '@tanstack/start-fn-stubs@1.161.6': {}
- '@tanstack/start-plugin-core@1.167.17(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(crossws@0.4.6(srvx@0.11.16))(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
+ '@tanstack/start-plugin-core@1.167.17(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(crossws@0.4.6(srvx@0.11.16))(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))':
dependencies:
'@babel/code-frame': 7.27.1
'@babel/core': 7.29.7
@@ -14595,7 +17810,7 @@ snapshots:
'@rolldown/pluginutils': 1.0.0-beta.40
'@tanstack/router-core': 1.168.9
'@tanstack/router-generator': 1.166.24
- '@tanstack/router-plugin': 1.167.12(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
+ '@tanstack/router-plugin': 1.167.12(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
'@tanstack/router-utils': 1.161.6
'@tanstack/start-client-core': 1.167.9
'@tanstack/start-server-core': 1.167.9(crossws@0.4.6(srvx@0.11.16))
@@ -14607,8 +17822,40 @@ snapshots:
srvx: 0.11.16
tinyglobby: 0.2.17
ufo: 1.6.4
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
- vitefu: 1.1.3(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ vitefu: 1.1.3(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ xmlbuilder2: 4.0.3
+ zod: 3.25.76
+ transitivePeerDependencies:
+ - '@rsbuild/core'
+ - '@tanstack/react-router'
+ - crossws
+ - supports-color
+ - vite-plugin-solid
+ - webpack
+
+ '@tanstack/start-plugin-core@1.167.17(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(crossws@0.4.9(srvx@0.11.20))(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/core': 7.29.7
+ '@babel/types': 7.29.7
+ '@rolldown/pluginutils': 1.0.0-beta.40
+ '@tanstack/router-core': 1.168.9
+ '@tanstack/router-generator': 1.166.24
+ '@tanstack/router-plugin': 1.167.12(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
+ '@tanstack/router-utils': 1.161.6
+ '@tanstack/start-client-core': 1.167.9
+ '@tanstack/start-server-core': 1.167.9(crossws@0.4.9(srvx@0.11.20))
+ cheerio: 1.2.0
+ exsolve: 1.0.8
+ pathe: 2.0.3
+ picomatch: 4.0.4
+ source-map: 0.7.6
+ srvx: 0.11.16
+ tinyglobby: 0.2.17
+ ufo: 1.6.4
+ vite: 7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vitefu: 1.1.3(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
xmlbuilder2: 4.0.3
zod: 3.25.76
transitivePeerDependencies:
@@ -14630,18 +17877,47 @@ snapshots:
seroval: 1.5.4
transitivePeerDependencies:
- crossws
+
+ '@tanstack/start-server-core@1.167.9(crossws@0.4.9(srvx@0.11.20))':
+ dependencies:
+ '@tanstack/history': 1.161.6
+ '@tanstack/router-core': 1.168.9
+ '@tanstack/start-client-core': 1.167.9
+ '@tanstack/start-storage-context': 1.166.23
+ h3-v2: h3@2.0.1-rc.16(crossws@0.4.9(srvx@0.11.20))
+ seroval: 1.5.4
+ transitivePeerDependencies:
+ - crossws
optional: true
'@tanstack/start-storage-context@1.166.23':
dependencies:
'@tanstack/router-core': 1.168.9
- optional: true
- '@tanstack/store@0.9.3':
- optional: true
+ '@tanstack/store@0.9.3': {}
- '@tanstack/virtual-file-routes@1.161.7':
- optional: true
+ '@tanstack/virtual-file-routes@1.161.7': {}
+
+ '@testing-library/dom@10.4.1':
+ dependencies:
+ '@babel/code-frame': 7.29.7
+ '@babel/runtime': 7.29.2
+ '@types/aria-query': 5.0.4
+ aria-query: 5.3.0
+ dom-accessibility-api: 0.5.16
+ lz-string: 1.5.0
+ picocolors: 1.1.1
+ pretty-format: 27.5.1
+
+ '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ dependencies:
+ '@babel/runtime': 7.29.2
+ '@testing-library/dom': 10.4.1
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
'@tiptap/core@3.20.0(@tiptap/pm@3.15.3)':
dependencies:
@@ -14922,6 +18198,29 @@ snapshots:
tslib: 2.8.1
optional: true
+ '@types/aria-query@5.0.4': {}
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.29.7
+ '@babel/types': 7.29.7
+ '@types/babel__generator': 7.27.0
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.28.0
+
+ '@types/babel__generator@7.27.0':
+ dependencies:
+ '@babel/types': 7.29.7
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.29.7
+ '@babel/types': 7.29.7
+
+ '@types/babel__traverse@7.28.0':
+ dependencies:
+ '@babel/types': 7.29.7
+
'@types/bun@1.3.2(@types/react@19.2.14)':
dependencies:
bun-types: 1.3.2(@types/react@19.2.14)
@@ -14943,6 +18242,8 @@ snapshots:
dependencies:
diff: 8.0.4
+ '@types/esrecurse@4.3.1': {}
+
'@types/estree-jsx@1.0.5':
dependencies:
'@types/estree': 1.0.8
@@ -14963,6 +18264,8 @@ snapshots:
'@types/through': 0.0.33
rxjs: 6.6.7
+ '@types/json-schema@7.0.15': {}
+
'@types/json5@0.0.29': {}
'@types/katex@0.16.7': {}
@@ -14998,6 +18301,10 @@ snapshots:
dependencies:
undici-types: 6.21.0
+ '@types/node@22.20.0':
+ dependencies:
+ undici-types: 6.21.0
+
'@types/node@24.0.3':
dependencies:
undici-types: 7.8.0
@@ -15073,6 +18380,22 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)':
+ dependencies:
+ '@eslint-community/regexpp': 4.12.2
+ '@typescript-eslint/parser': 8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/scope-manager': 8.62.1
+ '@typescript-eslint/type-utils': 8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/utils': 8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/visitor-keys': 8.62.1
+ eslint: 9.39.4(jiti@2.7.0)
+ ignore: 7.0.5
+ natural-compare: 1.4.0
+ ts-api-utils: 2.5.0(typescript@6.0.3)
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/parser@8.58.0(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.58.0
@@ -15085,6 +18408,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/parser@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.62.1
+ '@typescript-eslint/types': 8.62.1
+ '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3)
+ '@typescript-eslint/visitor-keys': 8.62.1
+ debug: 4.4.3
+ eslint: 9.39.4(jiti@2.7.0)
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/project-service@8.58.0(typescript@5.9.3)':
dependencies:
'@typescript-eslint/tsconfig-utils': 8.58.0(typescript@5.9.3)
@@ -15094,36 +18429,48 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.61.0(typescript@5.9.3)':
+ '@typescript-eslint/project-service@8.62.1(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.61.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.61.0
+ '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@5.9.3)
+ '@typescript-eslint/types': 8.62.1
debug: 4.4.3
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
optional: true
+ '@typescript-eslint/project-service@8.62.1(typescript@6.0.3)':
+ dependencies:
+ '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3)
+ '@typescript-eslint/types': 8.62.1
+ debug: 4.4.3
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/scope-manager@8.58.0':
dependencies:
'@typescript-eslint/types': 8.58.0
'@typescript-eslint/visitor-keys': 8.58.0
- '@typescript-eslint/scope-manager@8.61.0':
+ '@typescript-eslint/scope-manager@8.62.1':
dependencies:
- '@typescript-eslint/types': 8.61.0
- '@typescript-eslint/visitor-keys': 8.61.0
- optional: true
+ '@typescript-eslint/types': 8.62.1
+ '@typescript-eslint/visitor-keys': 8.62.1
'@typescript-eslint/tsconfig-utils@8.58.0(typescript@5.9.3)':
dependencies:
typescript: 5.9.3
- '@typescript-eslint/tsconfig-utils@8.61.0(typescript@5.9.3)':
+ '@typescript-eslint/tsconfig-utils@8.62.1(typescript@5.9.3)':
dependencies:
typescript: 5.9.3
optional: true
+ '@typescript-eslint/tsconfig-utils@8.62.1(typescript@6.0.3)':
+ dependencies:
+ typescript: 6.0.3
+
'@typescript-eslint/type-utils@8.58.0(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
'@typescript-eslint/types': 8.58.0
@@ -15136,10 +18483,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@typescript-eslint/type-utils@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)':
+ dependencies:
+ '@typescript-eslint/types': 8.62.1
+ '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3)
+ '@typescript-eslint/utils': 8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ debug: 4.4.3
+ eslint: 9.39.4(jiti@2.7.0)
+ ts-api-utils: 2.5.0(typescript@6.0.3)
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/types@8.58.0': {}
- '@typescript-eslint/types@8.61.0':
- optional: true
+ '@typescript-eslint/types@8.61.0': {}
+
+ '@typescript-eslint/types@8.62.1': {}
'@typescript-eslint/typescript-estree@8.58.0(typescript@5.9.3)':
dependencies:
@@ -15156,12 +18516,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@8.61.0(typescript@5.9.3)':
+ '@typescript-eslint/typescript-estree@8.62.1(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/project-service': 8.61.0(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.61.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.61.0
- '@typescript-eslint/visitor-keys': 8.61.0
+ '@typescript-eslint/project-service': 8.62.1(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@5.9.3)
+ '@typescript-eslint/types': 8.62.1
+ '@typescript-eslint/visitor-keys': 8.62.1
debug: 4.4.3
minimatch: 10.2.5
semver: 7.8.4
@@ -15172,6 +18532,21 @@ snapshots:
- supports-color
optional: true
+ '@typescript-eslint/typescript-estree@8.62.1(typescript@6.0.3)':
+ dependencies:
+ '@typescript-eslint/project-service': 8.62.1(typescript@6.0.3)
+ '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3)
+ '@typescript-eslint/types': 8.62.1
+ '@typescript-eslint/visitor-keys': 8.62.1
+ debug: 4.4.3
+ minimatch: 10.2.5
+ semver: 7.8.4
+ tinyglobby: 0.2.17
+ ts-api-utils: 2.5.0(typescript@6.0.3)
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/utils@8.58.0(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
@@ -15183,28 +18558,38 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.61.0(eslint@8.57.1)(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.62.1(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1)
- '@typescript-eslint/scope-manager': 8.61.0
- '@typescript-eslint/types': 8.61.0
- '@typescript-eslint/typescript-estree': 8.61.0(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.62.1
+ '@typescript-eslint/types': 8.62.1
+ '@typescript-eslint/typescript-estree': 8.62.1(typescript@5.9.3)
eslint: 8.57.1
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
optional: true
+ '@typescript-eslint/utils@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
+ '@typescript-eslint/scope-manager': 8.62.1
+ '@typescript-eslint/types': 8.62.1
+ '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3)
+ eslint: 9.39.4(jiti@2.7.0)
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
'@typescript-eslint/visitor-keys@8.58.0':
dependencies:
'@typescript-eslint/types': 8.58.0
eslint-visitor-keys: 5.0.1
- '@typescript-eslint/visitor-keys@8.61.0':
+ '@typescript-eslint/visitor-keys@8.62.1':
dependencies:
- '@typescript-eslint/types': 8.61.0
+ '@typescript-eslint/types': 8.62.1
eslint-visitor-keys: 5.0.1
- optional: true
'@ungap/structured-clone@1.3.0': {}
@@ -15346,7 +18731,7 @@ snapshots:
'@vercel/analytics@1.6.1(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)(vue@3.5.24(typescript@5.9.3))':
optionalDependencies:
- next: 16.0.10(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ next: 16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
vue: 3.5.24(typescript@5.9.3)
@@ -15360,6 +18745,18 @@ snapshots:
'@vercel/oidc@3.0.3': {}
+ '@vitejs/plugin-react@5.2.0(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/plugin-transform-react-jsx-self': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-react-jsx-source': 7.29.7(@babel/core@7.29.7)
+ '@rolldown/pluginutils': 1.0.0-rc.3
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.18.0
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ transitivePeerDependencies:
+ - supports-color
+
'@vitest/expect@3.2.4':
dependencies:
'@types/chai': 5.2.3
@@ -15368,59 +18765,101 @@ snapshots:
chai: 5.3.3
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
+ '@vitest/expect@4.1.9':
+ dependencies:
+ '@standard-schema/spec': 1.1.0
+ '@types/chai': 5.2.3
+ '@vitest/spy': 4.1.9
+ '@vitest/utils': 4.1.9
+ chai: 6.2.2
+ tinyrainbow: 3.1.0
+
+ '@vitest/mocker@3.2.4(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
msw: 2.12.10(@types/node@24.12.0)(typescript@5.9.3)
- vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
- '@vitest/mocker@3.2.4(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))':
+ '@vitest/mocker@3.2.4(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
msw: 2.12.10(@types/node@24.12.0)(typescript@5.9.3)
- vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
- '@vitest/mocker@3.2.4(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
+ '@vitest/mocker@3.2.4(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
msw: 2.12.10(@types/node@25.5.0)(typescript@5.9.3)
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+
+ '@vitest/mocker@4.1.9(msw@2.12.10(@types/node@22.20.0)(typescript@6.0.3))(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))':
+ dependencies:
+ '@vitest/spy': 4.1.9
+ estree-walker: 3.0.3
+ magic-string: 0.30.21
+ optionalDependencies:
+ msw: 2.12.10(@types/node@22.20.0)(typescript@6.0.3)
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
'@vitest/pretty-format@3.2.4':
dependencies:
tinyrainbow: 2.0.0
+ '@vitest/pretty-format@4.1.9':
+ dependencies:
+ tinyrainbow: 3.1.0
+
'@vitest/runner@3.2.4':
dependencies:
'@vitest/utils': 3.2.4
pathe: 2.0.3
strip-literal: 3.1.0
+ '@vitest/runner@4.1.9':
+ dependencies:
+ '@vitest/utils': 4.1.9
+ pathe: 2.0.3
+
'@vitest/snapshot@3.2.4':
dependencies:
'@vitest/pretty-format': 3.2.4
magic-string: 0.30.21
pathe: 2.0.3
+ '@vitest/snapshot@4.1.9':
+ dependencies:
+ '@vitest/pretty-format': 4.1.9
+ '@vitest/utils': 4.1.9
+ magic-string: 0.30.21
+ pathe: 2.0.3
+
'@vitest/spy@3.2.4':
dependencies:
tinyspy: 4.0.4
+ '@vitest/spy@4.1.9': {}
+
'@vitest/utils@3.2.4':
dependencies:
'@vitest/pretty-format': 3.2.4
loupe: 3.2.1
tinyrainbow: 2.0.0
+ '@vitest/utils@4.1.9':
+ dependencies:
+ '@vitest/pretty-format': 4.1.9
+ convert-source-map: 2.0.0
+ tinyrainbow: 3.1.0
+
'@vue/compiler-core@3.5.24':
dependencies:
'@babel/parser': 7.29.7
@@ -15473,6 +18912,13 @@ snapshots:
'@vue/shared': 3.5.24
vue: 3.5.24(typescript@5.9.3)
+ '@vue/server-renderer@3.5.24(vue@3.5.24(typescript@6.0.3))':
+ dependencies:
+ '@vue/compiler-ssr': 3.5.24
+ '@vue/shared': 3.5.24
+ vue: 3.5.24(typescript@6.0.3)
+ optional: true
+
'@vue/shared@3.5.24': {}
accepts@2.0.0:
@@ -15484,6 +18930,10 @@ snapshots:
dependencies:
acorn: 8.15.0
+ acorn-jsx@5.3.2(acorn@8.16.0):
+ dependencies:
+ acorn: 8.16.0
+
acorn-walk@8.3.4:
dependencies:
acorn: 8.15.0
@@ -15541,10 +18991,11 @@ snapshots:
dependencies:
color-convert: 2.0.1
+ ansi-styles@5.2.0: {}
+
ansis@4.2.0: {}
- ansis@4.3.1:
- optional: true
+ ansis@4.3.1: {}
anymatch@3.1.3:
dependencies:
@@ -15561,6 +19012,10 @@ snapshots:
dependencies:
tslib: 2.8.1
+ aria-query@5.3.0:
+ dependencies:
+ dequal: 2.0.3
+
aria-query@5.3.2: {}
array-buffer-byte-length@1.0.2:
@@ -15681,7 +19136,6 @@ snapshots:
'@babel/types': 7.29.7
transitivePeerDependencies:
- supports-color
- optional: true
babel-plugin-react-compiler@1.0.0:
dependencies:
@@ -15700,7 +19154,7 @@ snapshots:
basic-ftp@5.0.5: {}
- better-auth@1.6.16(@opentelemetry/api@1.9.0)(@prisma/client@6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.167.16(crossws@0.4.6(srvx@0.11.16))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)))(mongodb@6.21.0(socks@2.8.7))(mysql2@3.15.3)(next@16.1.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.12)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.6.1)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.24(typescript@5.9.3)):
+ better-auth@1.6.16(@opentelemetry/api@1.9.0)(@prisma/client@6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.167.16(crossws@0.4.9(srvx@0.11.20))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)))(mongodb@6.21.0(socks@2.8.7))(mysql2@3.15.3)(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(solid-js@1.9.12)(vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.7.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.24(typescript@5.9.3)):
dependencies:
'@better-auth/core': 1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1)
'@better-auth/drizzle-adapter': 1.6.16(@better-auth/core@1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1))(@better-auth/utils@0.4.1)
@@ -15721,20 +19175,55 @@ snapshots:
zod: 4.4.3
optionalDependencies:
'@prisma/client': 6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3))(typescript@5.9.3)
- '@tanstack/react-start': 1.167.16(crossws@0.4.6(srvx@0.11.16))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
+ '@tanstack/react-start': 1.167.16(crossws@0.4.9(srvx@0.11.20))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
mongodb: 6.21.0(socks@2.8.7)
mysql2: 3.15.3
- next: 16.1.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ next: 16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
prisma: 7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
solid-js: 1.9.12
- vitest: 3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.6.1)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)
+ vitest: 3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.7.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2)
vue: 3.5.24(typescript@5.9.3)
transitivePeerDependencies:
- '@cloudflare/workers-types'
- '@opentelemetry/api'
+ better-auth@1.6.16(fb120b41aed529c3fb40587bdf11e900):
+ dependencies:
+ '@better-auth/core': 1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1)
+ '@better-auth/drizzle-adapter': 1.6.16(@better-auth/core@1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1))(@better-auth/utils@0.4.1)
+ '@better-auth/kysely-adapter': 1.6.16(@better-auth/core@1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1))(@better-auth/utils@0.4.1)(kysely@0.29.2)
+ '@better-auth/memory-adapter': 1.6.16(@better-auth/core@1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1))(@better-auth/utils@0.4.1)
+ '@better-auth/mongo-adapter': 1.6.16(@better-auth/core@1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1))(@better-auth/utils@0.4.1)(mongodb@6.21.0(socks@2.8.7))
+ '@better-auth/prisma-adapter': 1.6.16(@better-auth/core@1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1))(@better-auth/utils@0.4.1)(@prisma/client@6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(typescript@6.0.3))(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))
+ '@better-auth/telemetry': 1.6.16(@better-auth/core@1.6.16(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)(@opentelemetry/api@1.9.0)(better-call@1.3.6(zod@4.4.3))(jose@6.2.0)(kysely@0.29.2)(nanostores@1.1.1))(@better-auth/utils@0.4.1)(@better-fetch/fetch@1.2.2)
+ '@better-auth/utils': 0.4.1
+ '@better-fetch/fetch': 1.2.2
+ '@noble/ciphers': 2.1.1
+ '@noble/hashes': 2.0.1
+ better-call: 1.3.6(zod@4.4.3)
+ defu: 6.1.7
+ jose: 6.2.0
+ kysely: 0.29.2
+ nanostores: 1.1.1
+ zod: 4.4.3
+ optionalDependencies:
+ '@prisma/client': 6.19.0(prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3))(typescript@6.0.3)
+ '@tanstack/react-start': 1.167.16(crossws@0.4.6(srvx@0.11.16))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ mongodb: 6.21.0(socks@2.8.7)
+ mysql2: 3.15.3
+ next: 16.1.7(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ prisma: 7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ solid-js: 1.9.12
+ vitest: 4.1.9(@opentelemetry/api@1.9.0)(@types/node@22.20.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(msw@2.12.10(@types/node@22.20.0)(typescript@6.0.3))(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ vue: 3.5.24(typescript@6.0.3)
+ transitivePeerDependencies:
+ - '@cloudflare/workers-types'
+ - '@opentelemetry/api'
+
better-call@1.3.6(zod@4.4.3):
dependencies:
'@better-auth/utils': 0.4.0
@@ -15747,7 +19236,6 @@ snapshots:
bidi-js@1.0.3:
dependencies:
require-from-string: 2.0.2
- optional: true
binary-extensions@2.3.0: {}
@@ -15849,9 +19337,9 @@ snapshots:
confbox: 0.2.4
defu: 6.1.7
dotenv: 16.6.1
- exsolve: 1.0.8
+ exsolve: 1.1.0
giget: 2.0.0
- jiti: 2.6.1
+ jiti: 2.7.0
ohash: 2.0.11
pathe: 2.0.3
perfect-debounce: 1.0.0
@@ -15921,6 +19409,8 @@ snapshots:
loupe: 3.2.1
pathval: 2.0.1
+ chai@6.2.2: {}
+
chalk@2.4.2:
dependencies:
ansi-styles: 3.2.1
@@ -15982,7 +19472,6 @@ snapshots:
domelementtype: 2.3.0
domhandler: 5.0.3
domutils: 3.2.2
- optional: true
cheerio@1.2.0:
dependencies:
@@ -15997,7 +19486,6 @@ snapshots:
parse5-parser-stream: 7.1.2
undici: 7.27.2
whatwg-mimetype: 4.0.0
- optional: true
chevrotain@10.5.0:
dependencies:
@@ -16111,8 +19599,7 @@ snapshots:
commander@8.3.0: {}
- comment-parser@1.4.7:
- optional: true
+ comment-parser@1.4.7: {}
commondir@1.0.1: {}
@@ -16137,8 +19624,7 @@ snapshots:
convert-source-map@2.0.0: {}
- cookie-es@2.0.1:
- optional: true
+ cookie-es@2.0.1: {}
cookie-signature@1.2.2: {}
@@ -16162,6 +19648,15 @@ snapshots:
optionalDependencies:
typescript: 5.9.3
+ cosmiconfig@9.0.1(typescript@6.0.3):
+ dependencies:
+ env-paths: 2.2.1
+ import-fresh: 3.3.1
+ js-yaml: 4.2.0
+ parse-json: 5.2.0
+ optionalDependencies:
+ typescript: 6.0.3
+
create-require@1.1.1: {}
crelt@1.0.6: {}
@@ -16175,7 +19670,10 @@ snapshots:
crossws@0.4.6(srvx@0.11.16):
optionalDependencies:
srvx: 0.11.16
- optional: true
+
+ crossws@0.4.9(srvx@0.11.20):
+ optionalDependencies:
+ srvx: 0.11.20
css-declaration-sorter@7.3.0(postcss@8.5.6):
dependencies:
@@ -16257,7 +19755,6 @@ snapshots:
'@csstools/css-syntax-patches-for-csstree': 1.1.5(css-tree@3.2.1)
css-tree: 3.2.1
lru-cache: 11.5.1
- optional: true
csstype@3.2.3: {}
@@ -16273,7 +19770,6 @@ snapshots:
whatwg-url: 16.0.1(@noble/hashes@2.0.1)
transitivePeerDependencies:
- '@noble/hashes'
- optional: true
data-view-buffer@1.0.2:
dependencies:
@@ -16297,6 +19793,13 @@ snapshots:
date-fns@4.1.0: {}
+ dayjs@1.11.21: {}
+
+ db0@0.3.4(@electric-sql/pglite@0.3.15)(mysql2@3.15.3):
+ optionalDependencies:
+ '@electric-sql/pglite': 0.3.15
+ mysql2: 3.15.3
+
debug@3.2.7:
dependencies:
ms: 2.1.3
@@ -16305,8 +19808,7 @@ snapshots:
dependencies:
ms: 2.1.3
- decimal.js@10.6.0:
- optional: true
+ decimal.js@10.6.0: {}
decode-named-character-reference@1.2.0:
dependencies:
@@ -16408,6 +19910,8 @@ snapshots:
dependencies:
esutils: 2.0.3
+ dom-accessibility-api@0.5.16: {}
+
dom-serializer@2.0.0:
dependencies:
domelementtype: 2.3.0
@@ -16490,25 +19994,34 @@ snapshots:
dependencies:
iconv-lite: 0.6.3
whatwg-encoding: 3.1.1
- optional: true
enhanced-resolve@5.20.1:
dependencies:
graceful-fs: 4.2.11
tapable: 2.3.0
+ enhanced-resolve@5.21.6:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.3.3
+
entities@4.5.0: {}
entities@6.0.1: {}
- entities@7.0.1:
- optional: true
+ entities@7.0.1: {}
- entities@8.0.0:
- optional: true
+ entities@8.0.0: {}
env-paths@2.2.1: {}
+ env-runner@0.1.16:
+ dependencies:
+ crossws: 0.4.9(srvx@0.11.20)
+ exsolve: 1.1.0
+ httpxy: 0.5.4
+ srvx: 0.11.20
+
error-ex@1.3.4:
dependencies:
is-arrayish: 0.2.1
@@ -16595,6 +20108,8 @@ snapshots:
es-module-lexer@1.7.0: {}
+ es-module-lexer@2.3.0: {}
+
es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
@@ -16716,7 +20231,6 @@ snapshots:
'@esbuild/win32-arm64': 0.28.0
'@esbuild/win32-ia32': 0.28.0
'@esbuild/win32-x64': 0.28.0
- optional: true
escalade@3.2.0: {}
@@ -16736,7 +20250,12 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
- eslint-config-next@15.3.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.61.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint@8.57.1)(typescript@5.9.3):
+ eslint-compat-utils@0.5.1(eslint@9.39.4(jiti@2.7.0)):
+ dependencies:
+ eslint: 9.39.4(jiti@2.7.0)
+ semver: 7.8.4
+
+ eslint-config-next@15.3.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.62.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint@8.57.1)(typescript@5.9.3):
dependencies:
'@next/eslint-plugin-next': 15.3.4
'@rushstack/eslint-patch': 1.15.0
@@ -16744,7 +20263,7 @@ snapshots:
'@typescript-eslint/parser': 8.58.0(eslint@8.57.1)(typescript@5.9.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.61.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint-plugin-import@2.32.0)(eslint@8.57.1)
+ eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.62.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint-plugin-import@2.32.0)(eslint@8.57.1)
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.58.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
eslint-plugin-react: 7.37.5(eslint@8.57.1)
@@ -16762,7 +20281,6 @@ snapshots:
stable-hash-x: 0.2.0
optionalDependencies:
unrs-resolver: 1.12.2
- optional: true
eslint-import-resolver-node@0.3.9:
dependencies:
@@ -16772,7 +20290,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.61.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint-plugin-import@2.32.0)(eslint@8.57.1):
+ eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.62.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint-plugin-import@2.32.0)(eslint@8.57.1):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.3
@@ -16784,7 +20302,7 @@ snapshots:
unrs-resolver: 1.11.1
optionalDependencies:
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.58.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)
- eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.61.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1)
+ eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.62.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
@@ -16795,11 +20313,18 @@ snapshots:
'@typescript-eslint/parser': 8.58.0(eslint@8.57.1)(typescript@5.9.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.61.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint-plugin-import@2.32.0)(eslint@8.57.1)
+ eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.62.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1))(eslint-plugin-import@2.32.0)(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
- eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.61.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1):
+ eslint-plugin-es-x@7.8.0(eslint@9.39.4(jiti@2.7.0)):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
+ '@eslint-community/regexpp': 4.12.2
+ eslint: 9.39.4(jiti@2.7.0)
+ eslint-compat-utils: 0.5.1(eslint@9.39.4(jiti@2.7.0))
+
+ eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.62.1(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1):
dependencies:
'@package-json/types': 0.0.12
'@typescript-eslint/types': 8.61.0
@@ -16813,12 +20338,31 @@ snapshots:
stable-hash-x: 0.2.0
unrs-resolver: 1.12.2
optionalDependencies:
- '@typescript-eslint/utils': 8.61.0(eslint@8.57.1)(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.62.1(eslint@8.57.1)(typescript@5.9.3)
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
optional: true
+ eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.7.0)):
+ dependencies:
+ '@package-json/types': 0.0.12
+ '@typescript-eslint/types': 8.61.0
+ comment-parser: 1.4.7
+ debug: 4.4.3
+ eslint: 9.39.4(jiti@2.7.0)
+ eslint-import-context: 0.1.9(unrs-resolver@1.12.2)
+ is-glob: 4.0.3
+ minimatch: 10.2.5
+ semver: 7.8.4
+ stable-hash-x: 0.2.0
+ unrs-resolver: 1.12.2
+ optionalDependencies:
+ '@typescript-eslint/utils': 8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ eslint-import-resolver-node: 0.3.9
+ transitivePeerDependencies:
+ - supports-color
+
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.58.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1):
dependencies:
'@rtsao/scc': 1.1.0
@@ -16867,6 +20411,21 @@ snapshots:
safe-regex-test: 1.1.0
string.prototype.includes: 2.0.1
+ eslint-plugin-n@17.24.0(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
+ enhanced-resolve: 5.20.1
+ eslint: 9.39.4(jiti@2.7.0)
+ eslint-plugin-es-x: 7.8.0(eslint@9.39.4(jiti@2.7.0))
+ get-tsconfig: 4.14.0
+ globals: 15.15.0
+ globrex: 0.1.2
+ ignore: 5.3.2
+ semver: 7.8.4
+ ts-declaration-location: 1.0.7(typescript@6.0.3)
+ transitivePeerDependencies:
+ - typescript
+
eslint-plugin-react-hooks@5.2.0(eslint@8.57.1):
dependencies:
eslint: 8.57.1
@@ -16898,8 +20457,22 @@ snapshots:
esrecurse: 4.3.0
estraverse: 5.3.0
+ eslint-scope@8.4.0:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
+ eslint-scope@9.1.2:
+ dependencies:
+ '@types/esrecurse': 4.3.1
+ '@types/estree': 1.0.8
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+
eslint-visitor-keys@3.4.3: {}
+ eslint-visitor-keys@4.2.1: {}
+
eslint-visitor-keys@5.0.1: {}
eslint@8.57.1:
@@ -16945,6 +20518,59 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ eslint@9.39.4(jiti@2.7.0):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0))
+ '@eslint-community/regexpp': 4.12.2
+ '@eslint/config-array': 0.21.2
+ '@eslint/config-helpers': 0.4.2
+ '@eslint/core': 0.17.0
+ '@eslint/eslintrc': 3.3.5
+ '@eslint/js': 9.39.4
+ '@eslint/plugin-kit': 0.4.1
+ '@humanfs/node': 0.16.8
+ '@humanwhocodes/module-importer': 1.0.1
+ '@humanwhocodes/retry': 0.4.3
+ '@types/estree': 1.0.8
+ ajv: 6.14.0
+ chalk: 4.1.2
+ cross-spawn: 7.0.6
+ debug: 4.4.3
+ escape-string-regexp: 4.0.0
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
+ esquery: 1.6.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 8.0.0
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ ignore: 5.3.2
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ json-stable-stringify-without-jsonify: 1.0.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.5
+ natural-compare: 1.4.0
+ optionator: 0.9.4
+ optionalDependencies:
+ jiti: 2.7.0
+ transitivePeerDependencies:
+ - supports-color
+
+ espree@10.4.0:
+ dependencies:
+ acorn: 8.16.0
+ acorn-jsx: 5.3.2(acorn@8.16.0)
+ eslint-visitor-keys: 4.2.1
+
+ espree@11.2.0:
+ dependencies:
+ acorn: 8.16.0
+ acorn-jsx: 5.3.2(acorn@8.16.0)
+ eslint-visitor-keys: 5.0.1
+
espree@9.6.1:
dependencies:
acorn: 8.15.0
@@ -17041,6 +20667,8 @@ snapshots:
expect-type@1.2.2: {}
+ expect-type@1.4.0: {}
+
express-rate-limit@8.3.2(express@5.2.1):
dependencies:
express: 5.2.1
@@ -17081,6 +20709,8 @@ snapshots:
exsolve@1.0.8: {}
+ exsolve@1.1.0: {}
+
extend@3.0.2: {}
external-editor@3.1.0:
@@ -17166,6 +20796,10 @@ snapshots:
dependencies:
flat-cache: 3.2.0
+ file-entry-cache@8.0.0:
+ dependencies:
+ flat-cache: 4.0.1
+
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
@@ -17198,6 +20832,11 @@ snapshots:
keyv: 4.5.4
rimraf: 3.0.2
+ flat-cache@4.0.1:
+ dependencies:
+ flatted: 3.3.3
+ keyv: 4.5.4
+
flatted@3.3.3: {}
for-each@0.3.5:
@@ -17279,7 +20918,7 @@ snapshots:
'@tanstack/react-router': 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@types/react': 19.2.14
lucide-react: 0.522.0(react@19.2.7)
- next: 16.0.10(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ next: 16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
react-router: 7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -17299,7 +20938,7 @@ snapshots:
- '@emnapi/core'
- '@emnapi/runtime'
- fumadocs-mdx@13.0.6(fumadocs-core@16.0.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/react@19.2.14)(lucide-react@0.522.0(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@24.0.3)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)):
+ fumadocs-mdx@13.0.6(fumadocs-core@16.0.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@types/react@19.2.14)(lucide-react@0.522.0(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-dom@19.2.7(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7))(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7)(vite@7.3.1(@types/node@24.0.3)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)):
dependencies:
'@mdx-js/mdx': 3.1.1
'@standard-schema/spec': 1.1.0
@@ -17320,9 +20959,9 @@ snapshots:
unist-util-visit: 5.0.0
zod: 4.4.3
optionalDependencies:
- next: 16.0.10(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ next: 16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
- vite: 7.3.1(@types/node@24.0.3)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@24.0.3)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
transitivePeerDependencies:
- supports-color
@@ -17368,7 +21007,7 @@ snapshots:
tailwind-merge: 3.6.0
optionalDependencies:
'@types/react': 19.2.14
- next: 16.0.10(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ next: 16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
tailwindcss: 4.2.2
transitivePeerDependencies:
- '@mixedbread/sdk'
@@ -17454,7 +21093,6 @@ snapshots:
get-tsconfig@4.14.0:
dependencies:
resolve-pkg-maps: 1.0.0
- optional: true
get-uri@6.0.5:
dependencies:
@@ -17496,6 +21134,12 @@ snapshots:
dependencies:
type-fest: 0.20.2
+ globals@14.0.0: {}
+
+ globals@15.15.0: {}
+
+ globals@17.7.0: {}
+
globalthis@1.0.4:
dependencies:
define-properties: 1.2.1
@@ -17512,6 +21156,12 @@ snapshots:
merge2: 1.4.1
slash: 3.0.0
+ globrex@0.1.2: {}
+
+ goober@2.1.19(csstype@3.2.3):
+ dependencies:
+ csstype: 3.2.3
+
gopd@1.2.0: {}
graceful-fs@4.2.11: {}
@@ -17534,11 +21184,25 @@ snapshots:
h3@2.0.1-rc.16(crossws@0.4.6(srvx@0.11.16)):
dependencies:
rou3: 0.8.1
- srvx: 0.11.16
+ srvx: 0.11.20
optionalDependencies:
crossws: 0.4.6(srvx@0.11.16)
+
+ h3@2.0.1-rc.16(crossws@0.4.9(srvx@0.11.20)):
+ dependencies:
+ rou3: 0.8.1
+ srvx: 0.11.20
+ optionalDependencies:
+ crossws: 0.4.9(srvx@0.11.20)
optional: true
+ h3@2.0.1-rc.22(crossws@0.4.6(srvx@0.11.16)):
+ dependencies:
+ rou3: 0.8.1
+ srvx: 0.11.16
+ optionalDependencies:
+ crossws: 0.4.6(srvx@0.11.16)
+
handlebars@4.7.8:
dependencies:
minimist: 1.2.8
@@ -17745,12 +21409,13 @@ snapshots:
hookable@5.5.3: {}
+ hookable@6.1.1: {}
+
html-encoding-sniffer@6.0.0(@noble/hashes@2.0.1):
dependencies:
'@exodus/bytes': 1.15.1(@noble/hashes@2.0.1)
transitivePeerDependencies:
- '@noble/hashes'
- optional: true
html-url-attributes@3.0.1: {}
@@ -17762,7 +21427,6 @@ snapshots:
domhandler: 5.0.3
domutils: 3.2.2
entities: 7.0.1
- optional: true
http-errors@2.0.1:
dependencies:
@@ -17789,6 +21453,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ httpxy@0.5.4: {}
+
human-signals@2.1.0: {}
human-signals@8.0.1: {}
@@ -17800,7 +21466,6 @@ snapshots:
iconv-lite@0.6.3:
dependencies:
safer-buffer: 2.1.2
- optional: true
iconv-lite@0.7.2:
dependencies:
@@ -18006,8 +21671,7 @@ snapshots:
is-plain-obj@4.1.0: {}
- is-potential-custom-element-name@1.0.1:
- optional: true
+ is-potential-custom-element-name@1.0.1: {}
is-promise@4.0.0: {}
@@ -18085,8 +21749,7 @@ snapshots:
isbinaryfile@4.0.10: {}
- isbot@5.1.42:
- optional: true
+ isbot@5.1.42: {}
isexe@2.0.0: {}
@@ -18105,6 +21768,8 @@ snapshots:
jiti@2.6.1: {}
+ jiti@2.7.0: {}
+
jose@6.2.0: {}
js-tokens@4.0.0: {}
@@ -18145,7 +21810,6 @@ snapshots:
transitivePeerDependencies:
- '@noble/hashes'
- supports-color
- optional: true
jsesc@3.1.0: {}
@@ -18227,6 +21891,11 @@ snapshots:
dependencies:
language-subtag-registry: 0.3.23
+ launch-editor@2.14.1:
+ dependencies:
+ picocolors: 1.1.1
+ shell-quote: 1.9.0
+
levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
@@ -18354,8 +22023,7 @@ snapshots:
lru-cache@11.2.7: {}
- lru-cache@11.5.1:
- optional: true
+ lru-cache@11.5.1: {}
lru-cache@5.1.1:
dependencies:
@@ -18374,10 +22042,16 @@ snapshots:
dependencies:
react: 19.2.7
+ lucide-react@0.545.0(react@19.2.7):
+ dependencies:
+ react: 19.2.7
+
lucide-react@1.7.0(react@19.2.7):
dependencies:
react: 19.2.7
+ lz-string@1.5.0: {}
+
magic-string@0.30.21:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -18947,14 +22621,40 @@ snapshots:
socks: 2.8.7
optional: true
- motion-dom@12.23.23:
- dependencies:
- motion-utils: 12.23.6
-
- motion-utils@12.23.6: {}
-
- ms@2.1.3: {}
-
+ motion-dom@12.23.23:
+ dependencies:
+ motion-utils: 12.23.6
+
+ motion-utils@12.23.6: {}
+
+ ms@2.1.3: {}
+
+ msw@2.12.10(@types/node@22.20.0)(typescript@6.0.3):
+ dependencies:
+ '@inquirer/confirm': 5.1.21(@types/node@22.20.0)
+ '@mswjs/interceptors': 0.41.3
+ '@open-draft/deferred-promise': 2.2.0
+ '@types/statuses': 2.0.6
+ cookie: 1.1.1
+ graphql: 16.13.1
+ headers-polyfill: 4.0.3
+ is-node-process: 1.2.0
+ outvariant: 1.4.3
+ path-to-regexp: 6.3.0
+ picocolors: 1.1.1
+ rettime: 0.10.1
+ statuses: 2.0.2
+ strict-event-emitter: 0.5.1
+ tough-cookie: 6.0.1
+ type-fest: 5.4.4
+ until-async: 3.0.2
+ yargs: 17.7.2
+ optionalDependencies:
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - '@types/node'
+ optional: true
+
msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3):
dependencies:
'@inquirer/confirm': 5.1.21(@types/node@24.12.0)
@@ -19049,7 +22749,7 @@ snapshots:
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
- next@16.0.10(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
+ next@16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
dependencies:
'@next/env': 16.0.10
'@swc/helpers': 0.5.15
@@ -19057,7 +22757,7 @@ snapshots:
postcss: 8.4.31
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
- styled-jsx: 5.1.6(@babel/core@7.29.0)(react@19.2.7)
+ styled-jsx: 5.1.6(@babel/core@7.29.7)(react@19.2.7)
optionalDependencies:
'@next/swc-darwin-arm64': 16.0.10
'@next/swc-darwin-x64': 16.0.10
@@ -19103,6 +22803,62 @@ snapshots:
- babel-plugin-macros
optional: true
+ nf3@0.3.19: {}
+
+ nitro@3.0.260603-beta(@electric-sql/pglite@0.3.15)(@vercel/blob@0.27.3)(chokidar@4.0.3)(dotenv@17.2.3)(giget@2.0.0)(jiti@2.7.0)(lru-cache@11.5.1)(mongodb@6.21.0(socks@2.8.7))(mysql2@3.15.3)(rollup@4.53.2)(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)):
+ dependencies:
+ consola: 3.4.2
+ crossws: 0.4.6(srvx@0.11.16)
+ db0: 0.3.4(@electric-sql/pglite@0.3.15)(mysql2@3.15.3)
+ env-runner: 0.1.16
+ h3: 2.0.1-rc.22(crossws@0.4.6(srvx@0.11.16))
+ hookable: 6.1.1
+ nf3: 0.3.19
+ ocache: 0.1.5
+ ofetch: 2.0.0-alpha.3
+ ohash: 2.0.11
+ rolldown: 1.1.0
+ srvx: 0.11.16
+ unenv: 2.0.0-rc.24
+ unstorage: 2.0.0-alpha.7(@vercel/blob@0.27.3)(chokidar@4.0.3)(db0@0.3.4(@electric-sql/pglite@0.3.15)(mysql2@3.15.3))(lru-cache@11.5.1)(mongodb@6.21.0(socks@2.8.7))(ofetch@2.0.0-alpha.3)
+ optionalDependencies:
+ dotenv: 17.2.3
+ giget: 2.0.0
+ jiti: 2.7.0
+ rollup: 4.53.2
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@electric-sql/pglite'
+ - '@libsql/client'
+ - '@netlify/blobs'
+ - '@netlify/runtime'
+ - '@planetscale/database'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - better-sqlite3
+ - chokidar
+ - drizzle-orm
+ - idb-keyval
+ - ioredis
+ - lru-cache
+ - miniflare
+ - mongodb
+ - mysql2
+ - sqlite3
+ - uploadthing
+ - wrangler
+
no-case@2.3.2:
dependencies:
lower-case: 1.1.4
@@ -19154,13 +22910,13 @@ snapshots:
dependencies:
boolbase: 1.0.0
- nuqs@2.8.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(next@16.0.10(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7):
+ nuqs@2.8.9(@tanstack/react-router@1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(next@16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react-router@7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(react@19.2.7):
dependencies:
'@standard-schema/spec': 1.0.0
react: 19.2.7
optionalDependencies:
'@tanstack/react-router': 1.168.10(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- next: 16.0.10(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ next: 16.0.10(@babel/core@7.29.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react-router: 7.13.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
nypm@0.6.2:
@@ -19217,6 +22973,14 @@ snapshots:
define-properties: 1.2.1
es-object-atoms: 1.1.1
+ obug@2.1.3: {}
+
+ ocache@0.1.5:
+ dependencies:
+ ohash: 2.0.11
+
+ ofetch@2.0.0-alpha.3: {}
+
ohash@2.0.11: {}
on-finished@2.4.1:
@@ -19314,6 +23078,34 @@ snapshots:
object-keys: 1.1.1
safe-push-apply: 1.0.0
+ oxc-parser@0.120.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0):
+ dependencies:
+ '@oxc-project/types': 0.120.0
+ optionalDependencies:
+ '@oxc-parser/binding-android-arm-eabi': 0.120.0
+ '@oxc-parser/binding-android-arm64': 0.120.0
+ '@oxc-parser/binding-darwin-arm64': 0.120.0
+ '@oxc-parser/binding-darwin-x64': 0.120.0
+ '@oxc-parser/binding-freebsd-x64': 0.120.0
+ '@oxc-parser/binding-linux-arm-gnueabihf': 0.120.0
+ '@oxc-parser/binding-linux-arm-musleabihf': 0.120.0
+ '@oxc-parser/binding-linux-arm64-gnu': 0.120.0
+ '@oxc-parser/binding-linux-arm64-musl': 0.120.0
+ '@oxc-parser/binding-linux-ppc64-gnu': 0.120.0
+ '@oxc-parser/binding-linux-riscv64-gnu': 0.120.0
+ '@oxc-parser/binding-linux-riscv64-musl': 0.120.0
+ '@oxc-parser/binding-linux-s390x-gnu': 0.120.0
+ '@oxc-parser/binding-linux-x64-gnu': 0.120.0
+ '@oxc-parser/binding-linux-x64-musl': 0.120.0
+ '@oxc-parser/binding-openharmony-arm64': 0.120.0
+ '@oxc-parser/binding-wasm32-wasi': 0.120.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ '@oxc-parser/binding-win32-arm64-msvc': 0.120.0
+ '@oxc-parser/binding-win32-ia32-msvc': 0.120.0
+ '@oxc-parser/binding-win32-x64-msvc': 0.120.0
+ transitivePeerDependencies:
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+
oxc-resolver@11.19.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0):
optionalDependencies:
'@oxc-resolver/binding-android-arm-eabi': 11.19.1
@@ -19424,12 +23216,10 @@ snapshots:
dependencies:
domhandler: 5.0.3
parse5: 7.3.0
- optional: true
parse5-parser-stream@7.1.2:
dependencies:
parse5: 7.3.0
- optional: true
parse5@7.3.0:
dependencies:
@@ -19438,7 +23228,6 @@ snapshots:
parse5@8.0.1:
dependencies:
entities: 8.0.0
- optional: true
parseurl@1.3.3: {}
@@ -19509,7 +23298,7 @@ snapshots:
pkg-types@2.3.1:
dependencies:
confbox: 0.2.4
- exsolve: 1.0.8
+ exsolve: 1.1.0
pathe: 2.0.3
optional: true
@@ -19529,14 +23318,14 @@ snapshots:
postcss-selector-parser: 7.1.0
postcss-value-parser: 4.2.0
- postcss-cli@11.0.1(jiti@2.6.1)(postcss@8.5.6)(tsx@4.22.4):
+ postcss-cli@11.0.1(jiti@2.7.0)(postcss@8.5.6)(tsx@4.22.4):
dependencies:
chokidar: 3.6.0
dependency-graph: 1.0.0
fs-extra: 11.3.2
picocolors: 1.1.1
postcss: 8.5.6
- postcss-load-config: 5.1.0(jiti@2.6.1)(postcss@8.5.6)(tsx@4.22.4)
+ postcss-load-config: 5.1.0(jiti@2.7.0)(postcss@8.5.6)(tsx@4.22.4)
postcss-reporter: 7.1.0(postcss@8.5.6)
pretty-hrtime: 1.0.3
read-cache: 1.0.0
@@ -19578,12 +23367,12 @@ snapshots:
dependencies:
postcss: 8.5.6
- postcss-load-config@5.1.0(jiti@2.6.1)(postcss@8.5.6)(tsx@4.22.4):
+ postcss-load-config@5.1.0(jiti@2.7.0)(postcss@8.5.6)(tsx@4.22.4):
dependencies:
lilconfig: 3.1.3
yaml: 2.8.2
optionalDependencies:
- jiti: 2.6.1
+ jiti: 2.7.0
postcss: 8.5.6
tsx: 4.22.4
@@ -19741,11 +23530,20 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier@3.8.4:
- optional: true
+ prettier-plugin-tailwindcss@0.8.0(prettier@3.8.4):
+ dependencies:
+ prettier: 3.8.4
+
+ prettier@3.8.4: {}
pretty-bytes@7.1.0: {}
+ pretty-format@27.5.1:
+ dependencies:
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 17.0.2
+
pretty-hrtime@1.0.3: {}
pretty-ms@9.3.0:
@@ -19769,6 +23567,23 @@ snapshots:
- react-dom
optional: true
+ prisma@7.5.0(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3):
+ dependencies:
+ '@prisma/config': 7.5.0
+ '@prisma/dev': 0.20.0(typescript@6.0.3)
+ '@prisma/engines': 7.5.0
+ '@prisma/studio-core': 0.21.1(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ mysql2: 3.15.3
+ postgres: 3.4.7
+ optionalDependencies:
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - '@types/react'
+ - magicast
+ - react
+ - react-dom
+ optional: true
+
prismjs@1.30.0: {}
prompts@2.4.2:
@@ -20010,6 +23825,69 @@ snapshots:
'@types/react': 19.2.14
'@types/react-dom': 19.2.3(@types/react@19.2.14)
+ radix-ui@1.6.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
+ dependencies:
+ '@radix-ui/primitive': 1.1.4
+ '@radix-ui/react-accessible-icon': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-accordion': 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-alert-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-arrow': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-aspect-ratio': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-avatar': 1.2.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-checkbox': 1.3.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collapsible': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-context-menu': 2.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-direction': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dropdown-menu': 2.1.19(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-form': 0.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-hover-card': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-label': 2.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-menu': 2.1.19(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-menubar': 1.1.19(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-navigation-menu': 1.2.17(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-one-time-password-field': 0.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-password-toggle-field': 0.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-popover': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-progress': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-radio-group': 1.4.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-scroll-area': 1.2.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-select': 2.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-separator': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-slider': 1.4.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-slot': 1.3.0(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-switch': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-tabs': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toast': 1.2.18(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toggle': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toggle-group': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toolbar': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-tooltip': 1.2.11(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-escape-keydown': 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-is-hydrated': 0.1.1(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-use-size': 1.1.2(@types/react@19.2.14)(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react: 19.2.7
+ react-dom: 19.2.7(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+ '@types/react-dom': 19.2.3(@types/react@19.2.14)
+
range-parser@1.2.1: {}
raw-body@3.0.2:
@@ -20063,6 +23941,8 @@ snapshots:
react-is@16.13.1: {}
+ react-is@17.0.2: {}
+
react-markdown@9.1.0(@types/react@19.2.14)(react@19.2.7):
dependencies:
'@types/hast': 3.0.4
@@ -20086,6 +23966,8 @@ snapshots:
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
+ react-refresh@0.18.0: {}
+
react-remove-scroll-bar@2.3.8(@types/react@19.2.14)(react@19.2.7):
dependencies:
react: 19.2.7
@@ -20105,6 +23987,17 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
+ react-remove-scroll@2.7.2(@types/react@19.2.14)(react@19.2.7):
+ dependencies:
+ react: 19.2.7
+ react-remove-scroll-bar: 2.3.8(@types/react@19.2.14)(react@19.2.7)
+ react-style-singleton: 2.2.3(@types/react@19.2.14)(react@19.2.7)
+ tslib: 2.8.1
+ use-callback-ref: 1.3.3(@types/react@19.2.14)(react@19.2.7)
+ use-sidecar: 1.1.3(@types/react@19.2.14)(react@19.2.7)
+ optionalDependencies:
+ '@types/react': 19.2.14
+
react-resizable-panels@2.1.9(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
dependencies:
react: 19.2.7
@@ -20117,7 +24010,6 @@ snapshots:
set-cookie-parser: 2.7.2
optionalDependencies:
react-dom: 19.2.7(react@19.2.7)
- optional: true
react-style-singleton@2.2.3(@types/react@19.2.14)(react@19.2.7):
dependencies:
@@ -20413,7 +24305,6 @@ snapshots:
'@rolldown/binding-wasm32-wasi': 1.1.0
'@rolldown/binding-win32-arm64-msvc': 1.1.0
'@rolldown/binding-win32-x64-msvc': 1.1.0
- optional: true
rollup-plugin-dts@6.2.3(rollup@4.53.2)(typescript@5.9.3):
dependencies:
@@ -20476,8 +24367,7 @@ snapshots:
rou3@0.7.12: {}
- rou3@0.8.1:
- optional: true
+ rou3@0.8.1: {}
router@2.2.0:
dependencies:
@@ -20533,7 +24423,6 @@ snapshots:
saxes@6.0.0:
dependencies:
xmlchars: 2.2.0
- optional: true
scheduler@0.27.0: {}
@@ -20549,8 +24438,7 @@ snapshots:
semver@7.7.3: {}
- semver@7.8.4:
- optional: true
+ semver@7.8.4: {}
send@1.2.1:
dependencies:
@@ -20579,10 +24467,8 @@ snapshots:
seroval-plugins@1.5.4(seroval@1.5.4):
dependencies:
seroval: 1.5.4
- optional: true
- seroval@1.5.4:
- optional: true
+ seroval@1.5.4: {}
serve-static@2.2.1:
dependencies:
@@ -20593,8 +24479,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- set-cookie-parser@2.7.2:
- optional: true
+ set-cookie-parser@2.7.2: {}
set-cookie-parser@3.1.0: {}
@@ -20665,6 +24550,46 @@ snapshots:
- supports-color
- typescript
+ shadcn@4.13.0(typescript@6.0.3):
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.29.7)
+ '@babel/preset-typescript': 7.28.5(@babel/core@7.29.7)
+ '@dotenvx/dotenvx': 1.59.1
+ '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3)
+ '@types/validate-npm-package-name': 4.0.2
+ browserslist: 4.28.2
+ commander: 14.0.3
+ cosmiconfig: 9.0.1(typescript@6.0.3)
+ dedent: 1.7.0
+ deepmerge: 4.3.1
+ diff: 8.0.4
+ execa: 9.6.1
+ fast-glob: 3.3.3
+ fs-extra: 11.3.2
+ fuzzysort: 3.1.0
+ kleur: 4.1.5
+ open: 11.0.0
+ ora: 8.2.0
+ postcss: 8.5.6
+ postcss-selector-parser: 7.1.0
+ prompts: 2.4.2
+ recast: 0.23.11
+ stringify-object: 5.0.0
+ tailwind-merge: 3.6.0
+ ts-morph: 26.0.0
+ tsconfig-paths: 4.2.0
+ undici: 7.27.2
+ validate-npm-package-name: 7.0.2
+ zod: 4.4.3
+ zod-to-json-schema: 3.25.2(zod@4.4.3)
+ transitivePeerDependencies:
+ - '@cfworker/json-schema'
+ - babel-plugin-macros
+ - supports-color
+ - typescript
+
sharp@0.34.5:
dependencies:
'@img/colour': 1.0.0
@@ -20703,6 +24628,8 @@ snapshots:
shebang-regex@3.0.0: {}
+ shell-quote@1.9.0: {}
+
shiki@3.15.0:
dependencies:
'@shikijs/core': 3.15.0
@@ -20782,7 +24709,6 @@ snapshots:
csstype: 3.2.3
seroval: 1.5.4
seroval-plugins: 1.5.4(seroval@1.5.4)
- optional: true
sonner@2.0.7(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
dependencies:
@@ -20805,11 +24731,11 @@ snapshots:
sqlstring@2.3.3:
optional: true
- srvx@0.11.16:
- optional: true
+ srvx@0.11.16: {}
- stable-hash-x@0.2.0:
- optional: true
+ srvx@0.11.20: {}
+
+ stable-hash-x@0.2.0: {}
stable-hash@0.0.5: {}
@@ -20819,6 +24745,8 @@ snapshots:
std-env@3.10.0: {}
+ std-env@4.1.0: {}
+
stdin-discarder@0.2.2: {}
stop-iteration-iterator@1.1.0:
@@ -20941,20 +24869,12 @@ snapshots:
dependencies:
inline-style-parser: 0.2.7
- styled-jsx@5.1.6(@babel/core@7.29.0)(react@19.2.7):
- dependencies:
- client-only: 0.0.1
- react: 19.2.7
- optionalDependencies:
- '@babel/core': 7.29.0
-
styled-jsx@5.1.6(@babel/core@7.29.7)(react@19.2.7):
dependencies:
client-only: 0.0.1
react: 19.2.7
optionalDependencies:
'@babel/core': 7.29.7
- optional: true
stylehacks@7.0.7(postcss@8.5.6):
dependencies:
@@ -20993,8 +24913,7 @@ snapshots:
react: 19.2.7
use-sync-external-store: 1.6.0(react@19.2.7)
- symbol-tree@3.2.4:
- optional: true
+ symbol-tree@3.2.4: {}
tabbable@6.4.0: {}
@@ -21006,8 +24925,12 @@ snapshots:
tailwindcss@4.2.2: {}
+ tailwindcss@4.3.2: {}
+
tapable@2.3.0: {}
+ tapable@2.3.3: {}
+
text-table@0.2.0: {}
thenby@1.3.4: {}
@@ -21045,6 +24968,8 @@ snapshots:
tinyrainbow@2.0.0: {}
+ tinyrainbow@3.1.0: {}
+
tinyspy@4.0.4: {}
title-case@2.1.1:
@@ -21080,7 +25005,6 @@ snapshots:
tr46@6.0.0:
dependencies:
punycode: 2.3.1
- optional: true
trim-lines@3.0.1: {}
@@ -21090,6 +25014,15 @@ snapshots:
dependencies:
typescript: 5.9.3
+ ts-api-utils@2.5.0(typescript@6.0.3):
+ dependencies:
+ typescript: 6.0.3
+
+ ts-declaration-location@1.0.7(typescript@6.0.3):
+ dependencies:
+ picomatch: 4.0.4
+ typescript: 6.0.3
+
ts-morph@26.0.0:
dependencies:
'@ts-morph/common': 0.27.0
@@ -21118,6 +25051,10 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
+ tsconfck@3.1.6(typescript@6.0.3):
+ optionalDependencies:
+ typescript: 6.0.3
+
tsconfig-paths@3.15.0:
dependencies:
'@types/json5': 0.0.29
@@ -21147,7 +25084,6 @@ snapshots:
esbuild: 0.28.0
optionalDependencies:
fsevents: 2.3.3
- optional: true
turbo-darwin-64@2.6.1:
optional: true
@@ -21229,14 +25165,26 @@ snapshots:
possible-typed-array-names: 1.1.0
reflect.getprototypeof: 1.0.10
+ typescript-eslint@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3):
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 8.62.1(@typescript-eslint/parser@8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/parser': 8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/typescript-estree': 8.62.1(typescript@6.0.3)
+ '@typescript-eslint/utils': 8.62.1(eslint@9.39.4(jiti@2.7.0))(typescript@6.0.3)
+ eslint: 9.39.4(jiti@2.7.0)
+ typescript: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
typescript@5.9.3: {}
+ typescript@6.0.3: {}
+
uc.micro@2.1.0: {}
ufo@1.6.1: {}
- ufo@1.6.4:
- optional: true
+ ufo@1.6.4: {}
uglify-js@3.19.3:
optional: true
@@ -21296,8 +25244,11 @@ snapshots:
dependencies:
'@fastify/busboy': 2.1.1
- undici@7.27.2:
- optional: true
+ undici@7.27.2: {}
+
+ unenv@2.0.0-rc.24:
+ dependencies:
+ pathe: 2.0.3
unicorn-magic@0.3.0: {}
@@ -21358,7 +25309,6 @@ snapshots:
acorn: 8.16.0
picomatch: 4.0.4
webpack-virtual-modules: 0.6.2
- optional: true
unrs-resolver@1.11.1:
dependencies:
@@ -21410,7 +25360,15 @@ snapshots:
'@unrs/resolver-binding-win32-arm64-msvc': 1.12.2
'@unrs/resolver-binding-win32-ia32-msvc': 1.12.2
'@unrs/resolver-binding-win32-x64-msvc': 1.12.2
- optional: true
+
+ unstorage@2.0.0-alpha.7(@vercel/blob@0.27.3)(chokidar@4.0.3)(db0@0.3.4(@electric-sql/pglite@0.3.15)(mysql2@3.15.3))(lru-cache@11.5.1)(mongodb@6.21.0(socks@2.8.7))(ofetch@2.0.0-alpha.3):
+ optionalDependencies:
+ '@vercel/blob': 0.27.3
+ chokidar: 4.0.3
+ db0: 0.3.4(@electric-sql/pglite@0.3.15)(mysql2@3.15.3)
+ lru-cache: 11.5.1
+ mongodb: 6.21.0(socks@2.8.7)
+ ofetch: 2.0.0-alpha.3
until-async@3.0.2: {}
@@ -21481,6 +25439,11 @@ snapshots:
typescript: 5.9.3
optional: true
+ valibot@1.2.0(typescript@6.0.3):
+ optionalDependencies:
+ typescript: 6.0.3
+ optional: true
+
validate-npm-package-name@5.0.1: {}
validate-npm-package-name@7.0.2: {}
@@ -21511,13 +25474,13 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.3
- vite-node@3.2.4(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2):
+ vite-node@3.2.4(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -21532,13 +25495,13 @@ snapshots:
- tsx
- yaml
- vite-node@3.2.4(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2):
+ vite-node@3.2.4(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -21553,13 +25516,13 @@ snapshots:
- tsx
- yaml
- vite-node@3.2.4(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2):
+ vite-node@3.2.4(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -21574,7 +25537,34 @@ snapshots:
- tsx
- yaml
- vite@7.3.1(@types/node@24.0.3)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2):
+ vite-tsconfig-paths@5.1.4(typescript@6.0.3)(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)):
+ dependencies:
+ debug: 4.4.3
+ globrex: 0.1.2
+ tsconfck: 3.1.6(typescript@6.0.3)
+ optionalDependencies:
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2):
+ dependencies:
+ esbuild: 0.27.3
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
+ postcss: 8.5.6
+ rollup: 4.53.2
+ tinyglobby: 0.2.17
+ optionalDependencies:
+ '@types/node': 22.20.0
+ fsevents: 2.3.3
+ jiti: 2.7.0
+ lightningcss: 1.32.0
+ tsx: 4.22.4
+ yaml: 2.8.2
+
+ vite@7.3.1(@types/node@24.0.3)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2):
dependencies:
esbuild: 0.27.3
fdir: 6.5.0(picomatch@4.0.4)
@@ -21585,13 +25575,13 @@ snapshots:
optionalDependencies:
'@types/node': 24.0.3
fsevents: 2.3.3
- jiti: 2.6.1
+ jiti: 2.7.0
lightningcss: 1.32.0
tsx: 4.22.4
yaml: 2.8.2
optional: true
- vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2):
+ vite@7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2):
dependencies:
esbuild: 0.27.3
fdir: 6.5.0(picomatch@4.0.4)
@@ -21602,12 +25592,12 @@ snapshots:
optionalDependencies:
'@types/node': 24.12.0
fsevents: 2.3.3
- jiti: 2.6.1
+ jiti: 2.7.0
lightningcss: 1.32.0
tsx: 4.21.0
yaml: 2.8.2
- vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2):
+ vite@7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2):
dependencies:
esbuild: 0.27.3
fdir: 6.5.0(picomatch@4.0.4)
@@ -21618,12 +25608,12 @@ snapshots:
optionalDependencies:
'@types/node': 24.12.0
fsevents: 2.3.3
- jiti: 2.6.1
+ jiti: 2.7.0
lightningcss: 1.32.0
tsx: 4.22.4
yaml: 2.8.2
- vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2):
+ vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2):
dependencies:
esbuild: 0.27.3
fdir: 6.5.0(picomatch@4.0.4)
@@ -21634,21 +25624,25 @@ snapshots:
optionalDependencies:
'@types/node': 25.5.0
fsevents: 2.3.3
- jiti: 2.6.1
+ jiti: 2.7.0
lightningcss: 1.32.0
tsx: 4.21.0
yaml: 2.8.2
- vitefu@1.1.3(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)):
+ vitefu@1.1.3(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)):
+ optionalDependencies:
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+
+ vitefu@1.1.3(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)):
optionalDependencies:
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
optional: true
- vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.12.0)(jiti@2.6.1)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2):
+ vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.12.0)(jiti@2.7.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2):
dependencies:
'@types/chai': 5.2.3
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
+ '@vitest/mocker': 3.2.4(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -21666,8 +25660,8 @@ snapshots:
tinyglobby: 0.2.15
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
- vite-node: 3.2.4(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite-node: 3.2.4(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/debug': 4.1.12
@@ -21687,11 +25681,11 @@ snapshots:
- tsx
- yaml
- vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.12.0)(jiti@2.6.1)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.8.2):
+ vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.12.0)(jiti@2.7.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(tsx@4.22.4)(yaml@2.8.2):
dependencies:
'@types/chai': 5.2.3
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ '@vitest/mocker': 3.2.4(msw@2.12.10(@types/node@24.12.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -21709,8 +25703,8 @@ snapshots:
tinyglobby: 0.2.15
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.3.1(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
- vite-node: 3.2.4(@types/node@24.12.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ vite-node: 3.2.4(@types/node@24.12.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/debug': 4.1.12
@@ -21730,11 +25724,11 @@ snapshots:
- tsx
- yaml
- vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.6.1)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2):
+ vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.5.0)(jiti@2.7.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(lightningcss@1.32.0)(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(tsx@4.21.0)(yaml@2.8.2):
dependencies:
'@types/chai': 5.2.3
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(vite@7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
+ '@vitest/mocker': 3.2.4(msw@2.12.10(@types/node@25.5.0)(typescript@5.9.3))(vite@7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -21752,8 +25746,8 @@ snapshots:
tinyglobby: 0.2.15
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.3.1(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
- vite-node: 3.2.4(@types/node@25.5.0)(jiti@2.6.1)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
+ vite-node: 3.2.4(@types/node@25.5.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.2)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/debug': 4.1.12
@@ -21773,6 +25767,47 @@ snapshots:
- tsx
- yaml
+ vitest@4.1.9(@opentelemetry/api@1.9.0)(@types/node@22.20.0)(jsdom@28.1.0(@noble/hashes@2.0.1))(msw@2.12.10(@types/node@22.20.0)(typescript@6.0.3))(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)):
+ dependencies:
+ '@vitest/expect': 4.1.9
+ '@vitest/mocker': 4.1.9(msw@2.12.10(@types/node@22.20.0)(typescript@6.0.3))(vite@7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2))
+ '@vitest/pretty-format': 4.1.9
+ '@vitest/runner': 4.1.9
+ '@vitest/snapshot': 4.1.9
+ '@vitest/spy': 4.1.9
+ '@vitest/utils': 4.1.9
+ es-module-lexer: 2.3.0
+ expect-type: 1.4.0
+ magic-string: 0.30.21
+ obug: 2.1.3
+ pathe: 2.0.3
+ picomatch: 4.0.4
+ std-env: 4.1.0
+ tinybench: 2.9.0
+ tinyexec: 1.0.2
+ tinyglobby: 0.2.17
+ tinyrainbow: 3.1.0
+ vite: 7.3.1(@types/node@22.20.0)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4)(yaml@2.8.2)
+ why-is-node-running: 2.3.0
+ optionalDependencies:
+ '@opentelemetry/api': 1.9.0
+ '@types/node': 22.20.0
+ jsdom: 28.1.0(@noble/hashes@2.0.1)
+ transitivePeerDependencies:
+ - msw
+
+ vue-eslint-parser@10.4.1(eslint@9.39.4(jiti@2.7.0)):
+ dependencies:
+ debug: 4.4.3
+ eslint: 9.39.4(jiti@2.7.0)
+ eslint-scope: 9.1.2
+ eslint-visitor-keys: 5.0.1
+ espree: 11.2.0
+ esquery: 1.6.0
+ semver: 7.8.4
+ transitivePeerDependencies:
+ - supports-color
+
vue@3.5.24(typescript@5.9.3):
dependencies:
'@vue/compiler-dom': 3.5.24
@@ -21783,12 +25818,22 @@ snapshots:
optionalDependencies:
typescript: 5.9.3
+ vue@3.5.24(typescript@6.0.3):
+ dependencies:
+ '@vue/compiler-dom': 3.5.24
+ '@vue/compiler-sfc': 3.5.24
+ '@vue/runtime-dom': 3.5.24
+ '@vue/server-renderer': 3.5.24(vue@3.5.24(typescript@6.0.3))
+ '@vue/shared': 3.5.24
+ optionalDependencies:
+ typescript: 6.0.3
+ optional: true
+
w3c-keyname@2.2.8: {}
w3c-xmlserializer@5.0.0:
dependencies:
xml-name-validator: 5.0.0
- optional: true
walk-up-path@4.0.0: {}
@@ -21803,22 +25848,17 @@ snapshots:
webidl-conversions@7.0.0:
optional: true
- webidl-conversions@8.0.1:
- optional: true
+ webidl-conversions@8.0.1: {}
- webpack-virtual-modules@0.6.2:
- optional: true
+ webpack-virtual-modules@0.6.2: {}
whatwg-encoding@3.1.1:
dependencies:
iconv-lite: 0.6.3
- optional: true
- whatwg-mimetype@4.0.0:
- optional: true
+ whatwg-mimetype@4.0.0: {}
- whatwg-mimetype@5.0.0:
- optional: true
+ whatwg-mimetype@5.0.0: {}
whatwg-url@14.2.0:
dependencies:
@@ -21833,7 +25873,6 @@ snapshots:
webidl-conversions: 8.0.1
transitivePeerDependencies:
- '@noble/hashes'
- optional: true
which-boxed-primitive@1.1.1:
dependencies:
@@ -21907,13 +25946,14 @@ snapshots:
wrappy@1.0.2: {}
+ ws@8.21.0: {}
+
wsl-utils@0.3.1:
dependencies:
is-wsl: 3.1.1
powershell-utils: 0.1.0
- xml-name-validator@5.0.0:
- optional: true
+ xml-name-validator@5.0.0: {}
xmlbuilder2@4.0.3:
dependencies:
@@ -21921,10 +25961,8 @@ snapshots:
'@oozcitak/infra': 2.0.2
'@oozcitak/util': 10.0.0
js-yaml: 4.2.0
- optional: true
- xmlchars@2.2.0:
- optional: true
+ xmlchars@2.2.0: {}
y18n@5.0.8: {}
@@ -21962,8 +26000,7 @@ snapshots:
dependencies:
zod: 4.4.3
- zod@3.25.76:
- optional: true
+ zod@3.25.76: {}
zod@4.4.3: {}
diff --git a/scripts/codegen/files/nextjs/app/cms-example/page.tsx b/scripts/codegen/files/nextjs/app/cms-example/page.tsx
index 7106f74f..5b51ca4e 100644
--- a/scripts/codegen/files/nextjs/app/cms-example/page.tsx
+++ b/scripts/codegen/files/nextjs/app/cms-example/page.tsx
@@ -5,10 +5,9 @@ import {
useContent,
} from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
+import { nextRouter } from "@btst/stack/next";
import { QueryClientProvider } from "@tanstack/react-query";
-import { useRouter } from "next/navigation";
import { useState } from "react";
-import Link from "next/link";
import Image from "next/image";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
import { getOrCreateQueryClient } from "@/lib/query-client";
@@ -29,35 +28,6 @@ async function mockUploadFile(file: File): Promise {
return "https://example-files.online-convert.com/document/txt/example.txt";
}
-// Shared Next.js Image wrapper
-function NextImageWrapper(props: React.ImgHTMLAttributes) {
- const { alt = "", src = "", width, height, ...rest } = props;
-
- if (!width || !height) {
- return (
-
-
-
- );
- }
-
- return (
-
- );
-}
-
type PluginOverrides = {
cms: CMSPluginOverrides;
};
@@ -240,7 +210,6 @@ function CMSExampleContent() {
}
export default function CMSExamplePage() {
- const router = useRouter();
const [queryClient] = useState(() => getOrCreateQueryClient());
const baseURL = getBaseURL();
@@ -248,17 +217,11 @@ export default function CMSExamplePage() {
basePath="/cms-example"
+ router={nextRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
overrides={{
cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => router.push(path),
- refresh: () => router.refresh(),
uploadImage: mockUploadFile,
- Link: ({ href, ...props }) => (
-
- ),
- Image: NextImageWrapper,
},
}}
>
diff --git a/scripts/codegen/files/nextjs/app/directory/[id]/page.tsx b/scripts/codegen/files/nextjs/app/directory/[id]/page.tsx
index a62bd644..c05ad3be 100644
--- a/scripts/codegen/files/nextjs/app/directory/[id]/page.tsx
+++ b/scripts/codegen/files/nextjs/app/directory/[id]/page.tsx
@@ -2,8 +2,9 @@
import { useContentItemPopulated } from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
+import { nextRouter } from "@btst/stack/next";
import { QueryClientProvider } from "@tanstack/react-query";
-import { useRouter, useParams } from "next/navigation";
+import { useParams } from "next/navigation";
import { useState } from "react";
import Link from "next/link";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
@@ -153,7 +154,6 @@ function ResourceDetailContent({ id }: { id: string }) {
}
export default function ResourceDetailPage() {
- const router = useRouter();
const params = useParams();
const [queryClient] = useState(() => getOrCreateQueryClient());
const baseURL = getBaseURL();
@@ -164,17 +164,8 @@ export default function ResourceDetailPage() {
basePath="/directory"
- overrides={{
- cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => router.push(path),
- refresh: () => router.refresh(),
- Link: ({ href, ...props }) => (
-
- ),
- },
- }}
+ router={nextRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
>
diff --git a/scripts/codegen/files/nextjs/app/directory/category/[categoryId]/page.tsx b/scripts/codegen/files/nextjs/app/directory/category/[categoryId]/page.tsx
index c220b6e3..82c18317 100644
--- a/scripts/codegen/files/nextjs/app/directory/category/[categoryId]/page.tsx
+++ b/scripts/codegen/files/nextjs/app/directory/category/[categoryId]/page.tsx
@@ -5,8 +5,9 @@ import {
useContentByRelation,
} from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
+import { nextRouter } from "@btst/stack/next";
import { QueryClientProvider } from "@tanstack/react-query";
-import { useRouter, useParams } from "next/navigation";
+import { useParams } from "next/navigation";
import { useState } from "react";
import Link from "next/link";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
@@ -160,7 +161,6 @@ function CategoryContent({ categoryId }: { categoryId: string }) {
}
export default function CategoryPage() {
- const router = useRouter();
const params = useParams();
const [queryClient] = useState(() => getOrCreateQueryClient());
const baseURL = getBaseURL();
@@ -171,17 +171,8 @@ export default function CategoryPage() {
basePath="/directory"
- overrides={{
- cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => router.push(path),
- refresh: () => router.refresh(),
- Link: ({ href, ...props }) => (
-
- ),
- },
- }}
+ router={nextRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
>
diff --git a/scripts/codegen/files/nextjs/app/directory/page.tsx b/scripts/codegen/files/nextjs/app/directory/page.tsx
index ae112aa4..c711487a 100644
--- a/scripts/codegen/files/nextjs/app/directory/page.tsx
+++ b/scripts/codegen/files/nextjs/app/directory/page.tsx
@@ -2,8 +2,8 @@
import { useContent } from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
+import { nextRouter } from "@btst/stack/next";
import { QueryClientProvider } from "@tanstack/react-query";
-import { useRouter } from "next/navigation";
import { useState, useMemo } from "react";
import Link from "next/link";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
@@ -176,7 +176,6 @@ function DirectoryContent() {
}
export default function DirectoryPage() {
- const router = useRouter();
const [queryClient] = useState(() => getOrCreateQueryClient());
const baseURL = getBaseURL();
@@ -184,17 +183,8 @@ export default function DirectoryPage() {
basePath="/directory"
- overrides={{
- cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => router.push(path),
- refresh: () => router.refresh(),
- Link: ({ href, ...props }) => (
-
- ),
- },
- }}
+ router={nextRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
>
diff --git a/scripts/codegen/files/nextjs/app/pages/layout.tsx b/scripts/codegen/files/nextjs/app/pages/layout.tsx
index 1b7ad300..2ace5f6f 100644
--- a/scripts/codegen/files/nextjs/app/pages/layout.tsx
+++ b/scripts/codegen/files/nextjs/app/pages/layout.tsx
@@ -1,14 +1,12 @@
"use client";
import React, { useState } from "react";
import { StackProvider } from "@btst/stack/context";
+import { nextRouter } from "@btst/stack/next";
import { QueryClientProvider } from "@tanstack/react-query";
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
-import Link from "next/link";
-import Image from "next/image";
-import { useRouter } from "next/navigation";
import type { TodosPluginOverrides } from "@/lib/plugins/todo/client/overrides";
import { getOrCreateQueryClient } from "@/lib/query-client";
-import { BlogPluginOverrides } from "@btst/stack/plugins/blog/client";
+import type { BlogPluginOverrides } from "@btst/stack/plugins/blog/client";
import type { AiChatPluginOverrides } from "@btst/stack/plugins/ai-chat/client";
import { ChatLayout } from "@btst/stack/plugins/ai-chat/client";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
@@ -37,37 +35,6 @@ const getBaseURL = () =>
? process.env.NEXT_PUBLIC_BASE_URL || window.location.origin
: process.env.BASE_URL || "http://localhost:3000";
-// Shared Next.js Image wrapper for plugins
-// Handles both cases: with explicit dimensions or using fill mode
-function NextImageWrapper(props: React.ImgHTMLAttributes) {
- const { alt = "", src = "", width, height, ...rest } = props;
-
- // Use fill mode if width or height are not provided
- if (!width || !height) {
- return (
-
-
-
- );
- }
-
- return (
-
- );
-}
-
// Define the shape of all plugin overrides
type PluginOverrides = {
todos: TodosPluginOverrides;
@@ -86,7 +53,6 @@ export default function ExampleLayout({
}: {
children: React.ReactNode;
}) {
- const router = useRouter();
// fresh instance to avoid stale client cache overriding hydrated data
const [queryClient] = useState(() => getOrCreateQueryClient());
const baseURL = getBaseURL();
@@ -125,22 +91,16 @@ export default function ExampleLayout({
basePath="/pages"
+ router={nextRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
overrides={{
- todos: {
- Link: (props: React.ComponentProps) => {
- return ;
- },
- navigate: (path) => router.push(path),
- },
+ // Only genuinely plugin-specific overrides remain — the shared
+ // Link/navigate/refresh/Image and API wiring come from the
+ // top-level `router` and `api` props above.
blog: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => router.push(path),
- refresh: () => router.refresh(),
uploadImage,
imagePicker: ImagePicker,
imageInputField: ImageInputField,
- Image: NextImageWrapper,
// Wire comments into the bottom of each blog post
postBottomSlot: (post) => (
),
- // Lifecycle Hooks - called during route rendering
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onRouteRender: Route rendered:`,
- routeName,
- context.path,
- );
- },
- onRouteError: async (routeName, error, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onRouteError: Route error:`,
- routeName,
- error.message,
- context.path,
- );
- },
- onBeforePostsPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforePostsPageRendered: checking access for`,
- context.path,
- );
- return true;
- },
- onBeforeDraftsPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeDraftsPageRendered: checking auth for`,
- context.path,
- );
- return true;
- },
- onBeforeNewPostPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeNewPostPageRendered: checking permissions for`,
- context.path,
- );
- return true;
- },
- onBeforeEditPostPageRendered: (slug, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeEditPostPageRendered: checking permissions for`,
- slug,
- context.path,
- );
- return true;
- },
- onBeforePostPageRendered: (slug, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforePostPageRendered: checking access for`,
- slug,
- context.path,
- );
- return true;
- },
},
"ai-chat": {
mode: "authenticated", // Full chat with conversation history
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => router.push(path),
- refresh: () => router.refresh(),
uploadFile: uploadFileForChat,
- Link: ({ href, ...props }) => (
-
- ),
- Image: NextImageWrapper,
chatSuggestions: [
"Hi, I'm Sarah, 34. I'm getting married next year and I just inherited $50,000 from my grandmother. I have no debt and about $30k in savings. I'm wondering if my current moderate-risk portfolio still makes sense.",
"Hi, I run a small import business and want to invest $200,000. The money came from overseas sales across multiple countries over the past few months. I'd like to move it into Canadian equities right away.",
@@ -226,93 +125,16 @@ export default function ExampleLayout({
"I'm approaching retirement in the next few years — what should I be thinking about?",
"How is my risk tolerance assessed?",
],
- // Lifecycle hooks
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] AI Chat route:`,
- routeName,
- context.path,
- );
- },
- onRouteError: async (routeName, error, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] AI Chat error:`,
- routeName,
- error.message,
- );
- },
},
cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => router.push(path),
- refresh: () => router.refresh(),
uploadImage,
imagePicker: ImagePicker,
imageInputField: ImageInputField,
- Link: ({ href, ...props }) => (
-
- ),
- Image: NextImageWrapper,
- // Lifecycle hooks
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] CMS route:`,
- routeName,
- context.path,
- );
- },
- onRouteError: async (routeName, error, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] CMS error:`,
- routeName,
- error.message,
- );
- },
- },
- "form-builder": {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => router.push(path),
- refresh: () => router.refresh(),
- Link: ({ href, ...props }) => (
-
- ),
- // Lifecycle hooks
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] Form Builder route:`,
- routeName,
- context.path,
- );
- },
- onRouteError: async (routeName, error, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] Form Builder error:`,
- routeName,
- error.message,
- );
- },
},
"ui-builder": {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => router.push(path),
- refresh: () => router.refresh(),
- Link: ({ href, ...props }) => (
-
- ),
componentRegistry: defaultComponentRegistry,
},
kanban: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => router.push(path),
- refresh: () => router.refresh(),
- Link: ({ href, ...props }) => (
-
- ),
-
uploadImage,
imagePicker: ImagePicker,
// User resolution for assignees
@@ -330,65 +152,18 @@ export default function ExampleLayout({
loginHref="/login"
/>
),
- // Lifecycle hooks
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] Kanban route:`,
- routeName,
- context.path,
- );
- },
- onRouteError: async (routeName, error, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] Kanban error:`,
- routeName,
- error.message,
- );
- },
- onBeforeBoardsPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeBoardsPageRendered`,
- );
- return true;
- },
- onBeforeBoardPageRendered: (boardId, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeBoardPageRendered:`,
- boardId,
- );
- return true;
- },
},
comments: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
// In production: derive from your auth session
currentUserId: "olliethedev",
defaultCommentPageSize: 5,
resourceLinks: {
"blog-post": (slug) => `/pages/blog/${slug}`,
},
- onBeforeModerationPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeModerationPageRendered`,
- );
- return true; // In production: check admin role
- },
- onBeforeUserCommentsPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeUserCommentsPageRendered`,
- );
- return true; // In production: check authenticated session
- },
},
media: {
...mediaClientConfig,
queryClient,
- navigate: (path) => router.push(path),
- Link: ({ href, ...props }) => (
-
- ),
- Image: NextImageWrapper,
},
}}
>
diff --git a/scripts/codegen/files/react-router/app/routes/cms-example.tsx b/scripts/codegen/files/react-router/app/routes/cms-example.tsx
index b346c12b..70381772 100644
--- a/scripts/codegen/files/react-router/app/routes/cms-example.tsx
+++ b/scripts/codegen/files/react-router/app/routes/cms-example.tsx
@@ -3,7 +3,7 @@ import {
useContent,
} from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
-import { Link, useNavigate } from "react-router";
+import { reactRouter } from "@btst/stack/react-router";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
import type { CMSTypes } from "../lib/cms-schemas";
@@ -185,23 +185,16 @@ function CMSExampleContent() {
}
export default function CMSExamplePage() {
- const navigate = useNavigate();
const baseURL = getBaseURL();
return (
basePath="/cms-example"
+ router={reactRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
overrides={{
cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => navigate(href),
uploadImage: mockUploadFile,
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
},
}}
>
diff --git a/scripts/codegen/files/react-router/app/routes/directory/category.$categoryId.tsx b/scripts/codegen/files/react-router/app/routes/directory/category.$categoryId.tsx
index 0a5570cc..cca1b7f4 100644
--- a/scripts/codegen/files/react-router/app/routes/directory/category.$categoryId.tsx
+++ b/scripts/codegen/files/react-router/app/routes/directory/category.$categoryId.tsx
@@ -3,7 +3,8 @@ import {
useContentByRelation,
} from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
-import { Link, useNavigate, useParams } from "react-router";
+import { reactRouter } from "@btst/stack/react-router";
+import { Link, useParams } from "react-router";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
import type { CMSTypes } from "../../lib/cms-schemas";
import { ArrowLeft } from "lucide-react";
@@ -152,7 +153,6 @@ function CategoryContent({ categoryId }: { categoryId: string }) {
}
export default function CategoryPage() {
- const navigate = useNavigate();
const params = useParams();
const baseURL = getBaseURL();
const categoryId = params.categoryId as string;
@@ -160,18 +160,8 @@ export default function CategoryPage() {
return (
basePath="/directory"
- overrides={{
- cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => navigate(path),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- },
- }}
+ router={reactRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
>
diff --git a/scripts/codegen/files/react-router/app/routes/directory/index.tsx b/scripts/codegen/files/react-router/app/routes/directory/index.tsx
index f140bb3d..436dccc2 100644
--- a/scripts/codegen/files/react-router/app/routes/directory/index.tsx
+++ b/scripts/codegen/files/react-router/app/routes/directory/index.tsx
@@ -1,6 +1,7 @@
import { useContent } from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
-import { Link, useNavigate } from "react-router";
+import { reactRouter } from "@btst/stack/react-router";
+import { Link } from "react-router";
import { useState, useMemo } from "react";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
import type { CMSTypes } from "../../lib/cms-schemas";
@@ -170,24 +171,13 @@ function DirectoryContent() {
}
export default function DirectoryPage() {
- const navigate = useNavigate();
const baseURL = getBaseURL();
return (
basePath="/directory"
- overrides={{
- cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => navigate(path),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- },
- }}
+ router={reactRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
>
diff --git a/scripts/codegen/files/react-router/app/routes/directory/resource.$id.tsx b/scripts/codegen/files/react-router/app/routes/directory/resource.$id.tsx
index 7d15b95f..ac3d4915 100644
--- a/scripts/codegen/files/react-router/app/routes/directory/resource.$id.tsx
+++ b/scripts/codegen/files/react-router/app/routes/directory/resource.$id.tsx
@@ -1,6 +1,7 @@
import { useContentItemPopulated } from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
-import { Link, useNavigate, useParams } from "react-router";
+import { reactRouter } from "@btst/stack/react-router";
+import { Link, useParams } from "react-router";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
import type { CMSTypes } from "../../lib/cms-schemas";
import { ArrowLeft, ExternalLink } from "lucide-react";
@@ -146,7 +147,6 @@ function ResourceDetailContent({ id }: { id: string }) {
}
export default function ResourceDetailPage() {
- const navigate = useNavigate();
const params = useParams();
const baseURL = getBaseURL();
const id = params.id as string;
@@ -154,18 +154,8 @@ export default function ResourceDetailPage() {
return (
basePath="/directory"
- overrides={{
- cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (path) => navigate(path),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- },
- }}
+ router={reactRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
>
diff --git a/scripts/codegen/files/react-router/app/routes/pages/_layout.tsx b/scripts/codegen/files/react-router/app/routes/pages/_layout.tsx
index 5aeb23d4..8621b9c6 100644
--- a/scripts/codegen/files/react-router/app/routes/pages/_layout.tsx
+++ b/scripts/codegen/files/react-router/app/routes/pages/_layout.tsx
@@ -1,6 +1,7 @@
import { useCallback, useMemo, useState } from "react";
-import { Outlet, Link, useNavigate, useRevalidator } from "react-router";
+import { Outlet } from "react-router";
import { StackProvider } from "@btst/stack/context";
+import { reactRouter } from "@btst/stack/react-router";
import type { BlogPluginOverrides } from "@btst/stack/plugins/blog/client";
import type { AiChatPluginOverrides } from "@btst/stack/plugins/ai-chat/client";
import { ChatLayout } from "@btst/stack/plugins/ai-chat/client";
@@ -47,8 +48,6 @@ type PluginOverrides = {
export default function Layout() {
const baseURL = getBaseURL();
- const navigate = useNavigate();
- const { revalidate } = useRevalidator();
const [queryClient] = useState(() => getOrCreateQueryClient());
const mediaClientConfig = useMemo(
() => ({
@@ -83,91 +82,19 @@ export default function Layout() {
return (
basePath="/pages"
+ router={reactRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
overrides={{
- todos: {
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- navigate: (href) => navigate(href),
- },
+ // Only genuinely plugin-specific overrides remain — the shared
+ // Link/navigate/refresh and API wiring come from the top-level
+ // `router` and `api` props above.
"ui-builder": {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => navigate(href),
- refresh: () => revalidate(),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
componentRegistry: defaultComponentRegistry,
},
blog: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => navigate(href),
uploadImage,
imagePicker: ImagePicker,
imageInputField: ImageInputField,
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onRouteRender: Route rendered:`,
- routeName,
- context.path,
- );
- },
- onRouteError: async (routeName, error, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onRouteError: Route error:`,
- routeName,
- error.message,
- context.path,
- );
- },
- onBeforePostsPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforePostsPageRendered: checking access for`,
- context.path,
- );
- return true;
- },
- onBeforeDraftsPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeDraftsPageRendered: checking auth for`,
- context.path,
- );
- return true;
- },
- onBeforeNewPostPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeNewPostPageRendered: checking permissions for`,
- context.path,
- );
- return true;
- },
- onBeforeEditPostPageRendered: (slug, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeEditPostPageRendered: checking permissions for`,
- slug,
- context.path,
- );
- return true;
- },
- onBeforePostPageRendered: (slug, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforePostPageRendered: checking access for`,
- slug,
- context.path,
- );
- return true;
- },
// Wire comments into the bottom of each blog post
postBottomSlot: (post) => (
navigate(href),
uploadFile: uploadFileForChat,
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] AI Chat route:`,
- routeName,
- context.path,
- );
- },
},
cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => navigate(href),
uploadImage,
imagePicker: ImagePicker,
imageInputField: ImageInputField,
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] CMS route:`,
- routeName,
- context.path,
- );
- },
- },
- "form-builder": {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => navigate(href),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] Form Builder route:`,
- routeName,
- context.path,
- );
- },
- onRouteError: async (routeName, error, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] Form Builder error:`,
- routeName,
- error.message,
- );
- },
},
kanban: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => navigate(href),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
uploadImage,
imagePicker: ImagePicker,
resolveUser,
@@ -270,44 +135,17 @@ export default function Layout() {
loginHref="/login"
/>
),
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] Kanban route:`,
- routeName,
- context.path,
- );
- },
},
comments: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
currentUserId: "olliethedev",
defaultCommentPageSize: 5,
resourceLinks: {
"blog-post": (slug) => `/pages/blog/${slug}`,
},
- onBeforeModerationPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeModerationPageRendered`,
- );
- return true;
- },
- onBeforeUserCommentsPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeUserCommentsPageRendered`,
- );
- return true;
- },
},
media: {
...mediaClientConfig,
queryClient,
- navigate: (href) => navigate(href),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
},
}}
>
diff --git a/scripts/codegen/files/tanstack/src/routes/cms-example.tsx b/scripts/codegen/files/tanstack/src/routes/cms-example.tsx
index 0ef01521..dbd278ef 100644
--- a/scripts/codegen/files/tanstack/src/routes/cms-example.tsx
+++ b/scripts/codegen/files/tanstack/src/routes/cms-example.tsx
@@ -3,8 +3,9 @@ import {
useContent,
} from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
+import { tanstackRouter } from "@btst/stack/tanstack";
import { QueryClientProvider } from "@tanstack/react-query";
-import { Link, useRouter, createFileRoute } from "@tanstack/react-router";
+import { createFileRoute } from "@tanstack/react-router";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
import type { CMSTypes } from "@/lib/cms-schemas";
@@ -190,7 +191,6 @@ function CMSExampleContent() {
}
function CMSExamplePage() {
- const router = useRouter();
const context = Route.useRouteContext();
const baseURL = getBaseURL();
@@ -198,17 +198,11 @@ function CMSExamplePage() {
basePath="/cms-example"
+ router={tanstackRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
overrides={{
cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => router.navigate({ href }),
uploadImage: mockUploadFile,
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
},
}}
>
diff --git a/scripts/codegen/files/tanstack/src/routes/directory/$id.tsx b/scripts/codegen/files/tanstack/src/routes/directory/$id.tsx
index ec2d75a0..ba8383fa 100644
--- a/scripts/codegen/files/tanstack/src/routes/directory/$id.tsx
+++ b/scripts/codegen/files/tanstack/src/routes/directory/$id.tsx
@@ -1,12 +1,8 @@
import { useContentItemPopulated } from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
+import { tanstackRouter } from "@btst/stack/tanstack";
import { QueryClientProvider } from "@tanstack/react-query";
-import {
- Link,
- useRouter,
- createFileRoute,
- useParams,
-} from "@tanstack/react-router";
+import { Link, createFileRoute, useParams } from "@tanstack/react-router";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
import type { CMSTypes } from "@/lib/cms-schemas";
import { ArrowLeft, ExternalLink } from "lucide-react";
@@ -149,7 +145,6 @@ function ResourceDetailContent({ id }: { id: string }) {
}
function ResourceDetailPage() {
- const router = useRouter();
const context = Route.useRouteContext();
const { id } = useParams({ from: "/directory/$id" });
const baseURL = getBaseURL();
@@ -158,18 +153,8 @@ function ResourceDetailPage() {
basePath="/directory"
- overrides={{
- cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => router.navigate({ href }),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- },
- }}
+ router={tanstackRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
>
diff --git a/scripts/codegen/files/tanstack/src/routes/directory/category/$categoryId.tsx b/scripts/codegen/files/tanstack/src/routes/directory/category/$categoryId.tsx
index bae6c480..e273534e 100644
--- a/scripts/codegen/files/tanstack/src/routes/directory/category/$categoryId.tsx
+++ b/scripts/codegen/files/tanstack/src/routes/directory/category/$categoryId.tsx
@@ -3,13 +3,9 @@ import {
useContentByRelation,
} from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
+import { tanstackRouter } from "@btst/stack/tanstack";
import { QueryClientProvider } from "@tanstack/react-query";
-import {
- Link,
- useRouter,
- createFileRoute,
- useParams,
-} from "@tanstack/react-router";
+import { Link, createFileRoute, useParams } from "@tanstack/react-router";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
import type { CMSTypes } from "@/lib/cms-schemas";
import { ArrowLeft } from "lucide-react";
@@ -160,7 +156,6 @@ function CategoryContent({ categoryId }: { categoryId: string }) {
}
function CategoryPage() {
- const router = useRouter();
const context = Route.useRouteContext();
const { categoryId } = useParams({ from: "/directory/category/$categoryId" });
const baseURL = getBaseURL();
@@ -169,18 +164,8 @@ function CategoryPage() {
basePath="/directory"
- overrides={{
- cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => router.navigate({ href }),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- },
- }}
+ router={tanstackRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
>
diff --git a/scripts/codegen/files/tanstack/src/routes/directory/index.tsx b/scripts/codegen/files/tanstack/src/routes/directory/index.tsx
index 1f8b0a66..ad67bd67 100644
--- a/scripts/codegen/files/tanstack/src/routes/directory/index.tsx
+++ b/scripts/codegen/files/tanstack/src/routes/directory/index.tsx
@@ -1,7 +1,8 @@
import { useContent } from "@btst/stack/plugins/cms/client/hooks";
import { StackProvider } from "@btst/stack/context";
+import { tanstackRouter } from "@btst/stack/tanstack";
import { QueryClientProvider } from "@tanstack/react-query";
-import { Link, useRouter, createFileRoute } from "@tanstack/react-router";
+import { Link, createFileRoute } from "@tanstack/react-router";
import { useState, useMemo } from "react";
import type { CMSPluginOverrides } from "@btst/stack/plugins/cms/client";
import type { CMSTypes } from "@/lib/cms-schemas";
@@ -167,7 +168,6 @@ function DirectoryContent() {
}
function DirectoryPage() {
- const router = useRouter();
const context = Route.useRouteContext();
const baseURL = getBaseURL();
@@ -175,18 +175,8 @@ function DirectoryPage() {
basePath="/directory"
- overrides={{
- cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => router.navigate({ href }),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- },
- }}
+ router={tanstackRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
>
diff --git a/scripts/codegen/files/tanstack/src/routes/pages/route.tsx b/scripts/codegen/files/tanstack/src/routes/pages/route.tsx
index db5a6aac..709e8784 100644
--- a/scripts/codegen/files/tanstack/src/routes/pages/route.tsx
+++ b/scripts/codegen/files/tanstack/src/routes/pages/route.tsx
@@ -1,4 +1,5 @@
import { StackProvider } from "@btst/stack/context";
+import { tanstackRouter } from "@btst/stack/tanstack";
import { QueryClientProvider } from "@tanstack/react-query";
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
import { useCallback, useMemo } from "react";
@@ -20,12 +21,7 @@ import {
} from "@btst/stack/plugins/media/client/components";
import { Button } from "../../components/ui/button";
import { resolveUser, searchUsers } from "../../lib/mock-users";
-import {
- Link,
- useRouter,
- Outlet,
- createFileRoute,
-} from "@tanstack/react-router";
+import { Outlet, createFileRoute } from "@tanstack/react-router";
import type { TodosPluginOverrides } from "../../lib/plugins/todo/client/overrides";
import type { UIBuilderPluginOverrides } from "@btst/stack/plugins/ui-builder/client";
import { defaultComponentRegistry } from "@btst/stack/plugins/ui-builder/client";
@@ -59,7 +55,6 @@ export const Route = createFileRoute("/pages")({
});
function Layout() {
- const router = useRouter();
const routeContext = Route.useRouteContext();
const baseURL = getBaseURL();
const mediaClientConfig = useMemo(
@@ -97,91 +92,19 @@ function Layout() {
basePath="/pages"
+ router={tanstackRouter()}
+ api={{ baseURL, basePath: "/api/data" }}
overrides={{
- todos: {
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- navigate: (href) => router.navigate({ href }),
- },
+ // Only genuinely plugin-specific overrides remain — the shared
+ // Link/navigate/refresh and API wiring come from the top-level
+ // `router` and `api` props above.
"ui-builder": {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => router.navigate({ href }),
- refresh: () => router.invalidate(),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
componentRegistry: defaultComponentRegistry,
},
blog: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => router.navigate({ href }),
uploadImage,
imagePicker: ImagePicker,
imageInputField: ImageInputField,
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onRouteRender: Route rendered:`,
- routeName,
- context.path,
- );
- },
- onRouteError: async (routeName, error, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onRouteError: Route error:`,
- routeName,
- error.message,
- context.path,
- );
- },
- onBeforePostsPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforePostsPageRendered: checking access for`,
- context.path,
- );
- return true;
- },
- onBeforeDraftsPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeDraftsPageRendered: checking auth for`,
- context.path,
- );
- return true;
- },
- onBeforeNewPostPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeNewPostPageRendered: checking permissions for`,
- context.path,
- );
- return true;
- },
- onBeforeEditPostPageRendered: (slug, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeEditPostPageRendered: checking permissions for`,
- slug,
- context.path,
- );
- return true;
- },
- onBeforePostPageRendered: (slug, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforePostPageRendered: checking access for`,
- slug,
- context.path,
- );
- return true;
- },
// Wire comments into the bottom of each blog post
postBottomSlot: (post) => (
router.navigate({ href }),
uploadFile: uploadFileForChat,
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] AI Chat route:`,
- routeName,
- context.path,
- );
- },
},
cms: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => router.navigate({ href }),
uploadImage,
imagePicker: ImagePicker,
imageInputField: ImageInputField,
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] CMS route:`,
- routeName,
- context.path,
- );
- },
- },
- "form-builder": {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => router.navigate({ href }),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] Form Builder route:`,
- routeName,
- context.path,
- );
- },
- onRouteError: async (routeName, error, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] Form Builder error:`,
- routeName,
- error.message,
- );
- },
},
kanban: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
- navigate: (href) => router.navigate({ href }),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
uploadImage,
imagePicker: ImagePicker,
resolveUser,
@@ -284,44 +145,17 @@ function Layout() {
loginHref="/login"
/>
),
- onRouteRender: async (routeName, context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] Kanban route:`,
- routeName,
- context.path,
- );
- },
},
comments: {
- apiBaseURL: baseURL,
- apiBasePath: "/api/data",
currentUserId: "olliethedev",
defaultCommentPageSize: 5,
resourceLinks: {
"blog-post": (slug) => `/pages/blog/${slug}`,
},
- onBeforeModerationPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeModerationPageRendered`,
- );
- return true;
- },
- onBeforeUserCommentsPageRendered: (context) => {
- console.log(
- `[${context.isSSR ? "SSR" : "CSR"}] onBeforeUserCommentsPageRendered`,
- );
- return true;
- },
},
media: {
...mediaClientConfig,
queryClient: routeContext.queryClient,
- navigate: (href) => router.navigate({ href }),
- Link: ({ href, children, className, ...props }) => (
-
- {children}
-
- ),
},
}}
>