,
"children" | "size"
@@ -26,6 +28,11 @@ export interface TextAreaProps extends Omit<
* - `{ minRows, maxRows }`: JS-assisted clamp (with field-sizing fallback)
*/
autosize?: TextAreaAutosize;
+ /**
+ * Manual resize handle. Default: `vertical`.
+ * Ignored while `autosize` is enabled.
+ */
+ resize?: TextAreaResize;
/** Show character count; pairs with `maxLength` when set. */
showCount?: boolean;
/** Marks the field as invalid (`aria-invalid`). */
diff --git a/packages/react/src/text-area/index.ts b/packages/react/src/text-area/index.ts
index 59055c8..84c8ed2 100644
--- a/packages/react/src/text-area/index.ts
+++ b/packages/react/src/text-area/index.ts
@@ -5,4 +5,5 @@ export type {
TextAreaErrorMessageProps,
TextAreaLabelProps,
TextAreaProps,
+ TextAreaResize,
} from "./TextArea.types";
diff --git a/packages/react/src/text/Text.stories.tsx b/packages/react/src/text/Text.stories.tsx
index 93abf27..0147d3b 100644
--- a/packages/react/src/text/Text.stories.tsx
+++ b/packages/react/src/text/Text.stories.tsx
@@ -51,7 +51,7 @@ export const Tones = {
Default
- Muted
+ Muted
Primary
Success
Warning
diff --git a/packages/react/src/text/Text.test.tsx b/packages/react/src/text/Text.test.tsx
index ebf9489..aada094 100644
--- a/packages/react/src/text/Text.test.tsx
+++ b/packages/react/src/text/Text.test.tsx
@@ -30,6 +30,14 @@ describe("Text", () => {
expect(markup).toContain("line-clamp-3");
});
+ it("keeps the deprecated muted prop equivalent to tone=muted", () => {
+ const deprecated = renderToStaticMarkup(Copy );
+ const preferred = renderToStaticMarkup(Copy );
+
+ expect(deprecated).toContain("text-gs-text-muted-color");
+ expect(preferred).toContain("text-gs-text-muted-color");
+ });
+
it("keeps opt-in CJK Tailwind variants with an English language tag", () => {
const markup = renderToStaticMarkup(
diff --git a/packages/react/src/text/Text.types.ts b/packages/react/src/text/Text.types.ts
index 14d6e58..5b23334 100644
--- a/packages/react/src/text/Text.types.ts
+++ b/packages/react/src/text/Text.types.ts
@@ -37,7 +37,7 @@ export interface TextOwnProps {
truncate?: boolean;
/** Multi-line clamp (1–5). */
lines?: 1 | 2 | 3 | 4 | 5;
- /** Uses muted semantic text color. */
+ /** @deprecated Use `tone="muted"` instead. */
muted?: boolean;
/** Applies CJK-friendly line-height and letter-spacing. */
cjk?: boolean;
diff --git a/packages/react/src/theme/components/slider.css b/packages/react/src/theme/components/slider.css
new file mode 100644
index 0000000..03ea614
--- /dev/null
+++ b/packages/react/src/theme/components/slider.css
@@ -0,0 +1,12 @@
+/* This file is generated by tooling/scripts/build-tokens.ts. */
+
+:root {
+ --slider-track-size: 6px;
+ --slider-thumb-size: 18px;
+ --slider-track-bg: var(--color-border-default);
+ --slider-fill-bg: var(--color-primary);
+ --slider-thumb-bg: var(--color-surface);
+ --slider-thumb-border: var(--color-primary);
+ --slider-label-gap: var(--space-2);
+ --slider-label-size: var(--font-size-sm);
+}
diff --git a/packages/react/src/theme/components/switch.css b/packages/react/src/theme/components/switch.css
index 4061883..3884410 100644
--- a/packages/react/src/theme/components/switch.css
+++ b/packages/react/src/theme/components/switch.css
@@ -5,10 +5,14 @@
--switch-track-height: 24px;
--switch-track-width-sm: 32px;
--switch-track-height-sm: 18px;
+ --switch-track-width-lg: 48px;
+ --switch-track-height-lg: 28px;
--switch-thumb-size: 18px;
--switch-thumb-size-sm: 14px;
+ --switch-thumb-size-lg: 22px;
--switch-padding: 3px;
--switch-padding-sm: 2px;
+ --switch-padding-lg: 3px;
--switch-gap: var(--space-2);
--switch-bg: var(--color-surface-mist);
--switch-bg-hover: var(--color-surface-active);
@@ -17,4 +21,5 @@
--switch-thumb: var(--color-surface);
--switch-font-size: var(--font-size-sm);
--switch-font-size-sm: var(--font-size-xs);
+ --switch-font-size-lg: var(--font-size-md);
}
diff --git a/packages/react/src/theme/tokens.css b/packages/react/src/theme/tokens.css
index fbd4d66..2352fd3 100644
--- a/packages/react/src/theme/tokens.css
+++ b/packages/react/src/theme/tokens.css
@@ -316,10 +316,14 @@
--switch-track-height: 24px;
--switch-track-width-sm: 32px;
--switch-track-height-sm: 18px;
+ --switch-track-width-lg: 48px;
+ --switch-track-height-lg: 28px;
--switch-thumb-size: 18px;
--switch-thumb-size-sm: 14px;
+ --switch-thumb-size-lg: 22px;
--switch-padding: 3px;
--switch-padding-sm: 2px;
+ --switch-padding-lg: 3px;
--switch-gap: var(--space-2);
--switch-bg: var(--color-surface-mist);
--switch-bg-hover: var(--color-surface-active);
@@ -328,6 +332,7 @@
--switch-thumb: var(--color-surface);
--switch-font-size: var(--font-size-sm);
--switch-font-size-sm: var(--font-size-xs);
+ --switch-font-size-lg: var(--font-size-md);
--select-list-max-height: 240px;
--select-list-shadow: var(--shadow-level-2);
--select-option-radius: var(--radius-sm);
@@ -618,6 +623,14 @@
--progress-label-size: var(--font-size-xs);
--progress-label-gap: var(--space-2);
--progress-value-size: var(--font-size-2xs);
+ --slider-track-size: 6px;
+ --slider-thumb-size: 18px;
+ --slider-track-bg: var(--color-border-default);
+ --slider-fill-bg: var(--color-primary);
+ --slider-thumb-bg: var(--color-surface);
+ --slider-thumb-border: var(--color-primary);
+ --slider-label-gap: var(--space-2);
+ --slider-label-size: var(--font-size-sm);
--skeleton-shimmer: linear-gradient(
90deg,
transparent,
diff --git a/packages/react/src/theme/tokens.ts b/packages/react/src/theme/tokens.ts
index 6a2186d..7bef972 100644
--- a/packages/react/src/theme/tokens.ts
+++ b/packages/react/src/theme/tokens.ts
@@ -428,10 +428,14 @@ export const tokens = {
"switch-track-height": "24px",
"switch-track-width-sm": "32px",
"switch-track-height-sm": "18px",
+ "switch-track-width-lg": "48px",
+ "switch-track-height-lg": "28px",
"switch-thumb-size": "18px",
"switch-thumb-size-sm": "14px",
+ "switch-thumb-size-lg": "22px",
"switch-padding": "3px",
"switch-padding-sm": "2px",
+ "switch-padding-lg": "3px",
"switch-gap": "var(--space-2)",
"switch-bg": "var(--color-surface-mist)",
"switch-bg-hover": "var(--color-surface-active)",
@@ -440,6 +444,7 @@ export const tokens = {
"switch-thumb": "var(--color-surface)",
"switch-font-size": "var(--font-size-sm)",
"switch-font-size-sm": "var(--font-size-xs)",
+ "switch-font-size-lg": "var(--font-size-md)",
"select-list-max-height": "240px",
"select-list-shadow": "var(--shadow-level-2)",
"select-option-radius": "var(--radius-sm)",
@@ -703,6 +708,14 @@ export const tokens = {
"progress-label-size": "var(--font-size-xs)",
"progress-label-gap": "var(--space-2)",
"progress-value-size": "var(--font-size-2xs)",
+ "slider-track-size": "6px",
+ "slider-thumb-size": "18px",
+ "slider-track-bg": "var(--color-border-default)",
+ "slider-fill-bg": "var(--color-primary)",
+ "slider-thumb-bg": "var(--color-surface)",
+ "slider-thumb-border": "var(--color-primary)",
+ "slider-label-gap": "var(--space-2)",
+ "slider-label-size": "var(--font-size-sm)",
"skeleton-shimmer":
"linear-gradient(90deg, transparent, color-mix(in oklab, var(--color-surface) 32%, transparent), transparent)",
"relief-bg": "var(--color-surface)",
diff --git a/packages/react/src/toast/Toast.test.tsx b/packages/react/src/toast/Toast.test.tsx
index 77a0711..3bc7dc2 100644
--- a/packages/react/src/toast/Toast.test.tsx
+++ b/packages/react/src/toast/Toast.test.tsx
@@ -28,9 +28,55 @@ describe("Toast", () => {
it("exposes an imperative API", () => {
expect(typeof toast.success).toBe("function");
expect(typeof toast.error).toBe("function");
+ expect(typeof toast.promise).toBe("function");
expect(typeof toast.dismiss).toBe("function");
});
+ it("tracks a resolving promise with an in-place success toast", async () => {
+ let resolve!: (value: string) => void;
+ const pending = new Promise((next) => {
+ resolve = next;
+ });
+
+ const tracked = toast.promise(pending, {
+ loading: "Saving…",
+ success: (name) => `Saved ${name}`,
+ error: "Save failed",
+ });
+
+ const [loadingToast] = toastStore.getSnapshot();
+ expect(loadingToast!.title).toBe("Saving…");
+ expect(loadingToast!.duration).toBe(0);
+
+ resolve("report");
+ await expect(tracked).resolves.toBe("report");
+ await act(async () => {});
+
+ const snapshot = toastStore.getSnapshot();
+ expect(snapshot).toHaveLength(1);
+ expect(snapshot[0]!.id).toBe(loadingToast!.id);
+ expect(snapshot[0]!.title).toBe("Saved report");
+ expect(snapshot[0]!.tone).toBe("success");
+ expect(snapshot[0]!.duration).toBeGreaterThan(0);
+ });
+
+ it("replaces the loading toast with an error toast on rejection", async () => {
+ const failure = new Error("offline");
+ const tracked = toast.promise(Promise.reject(failure), {
+ loading: "Saving…",
+ success: "Saved",
+ error: (error) => `Failed: ${(error as Error).message}`,
+ });
+
+ await expect(tracked).rejects.toBe(failure);
+ await act(async () => {});
+
+ const snapshot = toastStore.getSnapshot();
+ expect(snapshot).toHaveLength(1);
+ expect(snapshot[0]!.title).toBe("Failed: offline");
+ expect(snapshot[0]!.tone).toBe("error");
+ });
+
it("announces complete action text while keeping the visual label short", () => {
const onAction = vi.fn();
render(
diff --git a/packages/react/src/toast/Toast.types.ts b/packages/react/src/toast/Toast.types.ts
index 3694a01..edf53df 100644
--- a/packages/react/src/toast/Toast.types.ts
+++ b/packages/react/src/toast/Toast.types.ts
@@ -48,6 +48,15 @@ export type ToastShowInput =
title?: ReactNode;
});
+export type ToastPromiseMessages = {
+ /** Persistent toast shown while the promise is pending. */
+ loading: ToastShowInput;
+ /** Replaces the loading toast on resolve. */
+ success: ToastShowInput | ((data: TData) => ToastShowInput);
+ /** Replaces the loading toast on reject. */
+ error: ToastShowInput | ((error: unknown) => ToastShowInput);
+};
+
export interface ToastProviderProps {
children?: ReactNode;
/** Accessible viewport label. Default: `Notifications`. */
@@ -82,4 +91,8 @@ export interface ToastItemProps extends Omit<
dismissLabel?: string;
/** @internal Enter from below when rendered in a bottom viewport. */
enterFromBottom?: boolean;
+ /** @internal Play the exit animation; the toast is already dismissed. */
+ exiting?: boolean;
+ /** @internal Called once the exit animation has finished. */
+ onExited?: (id: string) => void;
}
diff --git a/packages/react/src/toast/ToastItem.tsx b/packages/react/src/toast/ToastItem.tsx
index 0ce9f8d..6f96ae5 100644
--- a/packages/react/src/toast/ToastItem.tsx
+++ b/packages/react/src/toast/ToastItem.tsx
@@ -110,6 +110,8 @@ function ToastItemImpl(
swipeThreshold = 50,
dismissLabel = "Dismiss",
enterFromBottom = false,
+ exiting = false,
+ onExited,
...props
}: ToastItemProps,
ref: ForwardedRef,
@@ -154,6 +156,10 @@ function ToastItemImpl(
};
useEffect(() => {
+ if (exiting) {
+ clearTimer();
+ return clearTimer;
+ }
remainingRef.current = toast.duration;
if (pauseReasonsRef.current.size === 0) {
startTimer();
@@ -163,7 +169,7 @@ function ToastItemImpl(
return clearTimer;
// Restart only when the toast identity / duration changes.
// eslint-disable-next-line react-hooks/exhaustive-deps
- }, [toast.id, toast.duration, toast.createdAt]);
+ }, [toast.id, toast.duration, toast.createdAt, exiting]);
const pauseTimer = (reason: PauseReason) => {
if (!Number.isFinite(remainingRef.current) || remainingRef.current <= 0) {
@@ -374,13 +380,25 @@ function ToastItemImpl(
aria-live={toast.assertive ? "assertive" : "polite"}
aria-atomic="true"
className={clsx(
- "gs-toast group/toast pointer-events-auto relative grid min-w-[min(var(--toast-min-width),100%)] max-w-full grid-cols-1 select-none items-start gap-x-gs-toast-gap box-border rounded-gs-toast-radius border border-gs-default bg-gs-toast-bg bg-gs-surface-highlight px-gs-toast-padding-x py-gs-toast-padding-y pe-12 font-inherit text-gs-toast-font-size leading-gs-normal text-gs-toast-color shadow-gs-toast-shadow touch-pan-y animate-gs-toast-enter sm:grid-cols-[minmax(0,1fr)_auto] data-[swipe-direction=down]:touch-pan-x data-[swipe-direction=up]:touch-pan-x data-[swipe=start]:[transform:translate3d(var(--gs-toast-swipe-x,0),var(--gs-toast-swipe-y,0),0)] data-[swipe=move]:[transform:translate3d(var(--gs-toast-swipe-x,0),var(--gs-toast-swipe-y,0),0)] data-[swipe=start]:animate-none data-[swipe=move]:animate-none data-[swipe=cancel]:translate-none data-[swipe=cancel]:animate-none data-[swipe=cancel]:transition-transform data-[swipe=cancel]:duration-200 data-[swipe=cancel]:ease-gs-decelerate motion-reduce:animate-none motion-reduce:transition-none [[data-reduced-motion=true]_&]:animate-none [[data-reduced-motion=true]_&]:transition-none",
+ "gs-toast group/toast pointer-events-auto relative grid min-w-[min(var(--toast-min-width),100%)] max-w-full grid-cols-1 select-none items-start gap-x-gs-toast-gap box-border rounded-gs-toast-radius border border-gs-default bg-gs-toast-bg bg-gs-surface-highlight px-gs-toast-padding-x py-gs-toast-padding-y pe-12 font-inherit text-gs-toast-font-size leading-gs-normal text-gs-toast-color shadow-gs-toast-shadow touch-pan-y sm:grid-cols-[minmax(0,1fr)_auto] data-[swipe-direction=down]:touch-pan-x data-[swipe-direction=up]:touch-pan-x data-[swipe=start]:[transform:translate3d(var(--gs-toast-swipe-x,0),var(--gs-toast-swipe-y,0),0)] data-[swipe=move]:[transform:translate3d(var(--gs-toast-swipe-x,0),var(--gs-toast-swipe-y,0),0)] data-[swipe=start]:animate-none data-[swipe=move]:animate-none data-[swipe=cancel]:translate-none data-[swipe=cancel]:animate-none data-[swipe=cancel]:transition-transform data-[swipe=cancel]:duration-200 data-[swipe=cancel]:ease-gs-decelerate motion-reduce:animate-none motion-reduce:transition-none [[data-reduced-motion=true]_&]:animate-none [[data-reduced-motion=true]_&]:transition-none",
toneClasses[toast.tone],
- enterFromBottom && "animate-gs-toast-enter-up",
+ !exiting &&
+ (enterFromBottom
+ ? "animate-gs-toast-enter-up"
+ : "animate-gs-toast-enter"),
+ exiting && "pointer-events-none animate-gs-toast-exit",
className,
)}
data-tone={toast.tone}
+ data-exiting={exiting ? "true" : undefined}
+ aria-hidden={exiting ? "true" : undefined}
data-swipe-direction={swipeDirection}
+ onAnimationEnd={(event) => {
+ props.onAnimationEnd?.(event);
+ if (exiting && event.animationName === "gs-toast-exit") {
+ onExited?.(toast.id);
+ }
+ }}
onMouseEnter={handleMouseEnter}
onMouseLeave={handleMouseLeave}
onFocus={handleFocus}
diff --git a/packages/react/src/toast/ToastProvider.tsx b/packages/react/src/toast/ToastProvider.tsx
index 4015f98..c4e6579 100644
--- a/packages/react/src/toast/ToastProvider.tsx
+++ b/packages/react/src/toast/ToastProvider.tsx
@@ -1,11 +1,23 @@
import type { ForwardedRef } from "react";
-import { forwardRef, useEffect, useRef, useSyncExternalStore } from "react";
+import {
+ forwardRef,
+ useCallback,
+ useEffect,
+ useMemo,
+ useRef,
+ useState,
+ useSyncExternalStore,
+} from "react";
import { clsx } from "clsx";
import { useComposedRefs } from "../shared/compose-refs";
import { Portal } from "../shared/portal";
import { ToastItem } from "./ToastItem";
import { toastStore } from "./toast-store";
-import type { ToastPosition, ToastProviderProps } from "./Toast.types";
+import type {
+ ToastPosition,
+ ToastProviderProps,
+ ToastRecord,
+} from "./Toast.types";
const DEFAULT_HOTKEY = ["F8"];
@@ -47,6 +59,76 @@ function matchesHotkey(event: KeyboardEvent, hotkey: string[]): boolean {
);
}
+/** Fallback removal delay when the exit animation never fires (reduced motion, jsdom). */
+const EXIT_FALLBACK_MS = 400;
+
+/**
+ * Keeps toasts that just left the store in the render tree for one exit
+ * animation, so dismissal fades out instead of unmounting abruptly.
+ */
+function useExitingToasts(toasts: ToastRecord[]): {
+ exiting: ToastRecord[];
+ onExited: (id: string) => void;
+} {
+ const [exiting, setExiting] = useState([]);
+ const prevRef = useRef(toasts);
+ const timersRef = useRef(new Map>());
+
+ const remove = useCallback((id: string) => {
+ const timer = timersRef.current.get(id);
+ if (timer != null) {
+ clearTimeout(timer);
+ timersRef.current.delete(id);
+ }
+ setExiting((current) => current.filter((item) => item.id !== id));
+ }, []);
+
+ useEffect(() => {
+ const previous = prevRef.current;
+ prevRef.current = toasts;
+ const removed = previous.filter(
+ (item) => !toasts.some((next) => next.id === item.id),
+ );
+ if (removed.length === 0) {
+ return;
+ }
+ setExiting((current) => [
+ ...current.filter(
+ (item) =>
+ !removed.some((record) => record.id === item.id) &&
+ !toasts.some((record) => record.id === item.id),
+ ),
+ ...removed,
+ ]);
+ removed.forEach((item) => {
+ const timer = timersRef.current.get(item.id);
+ if (timer != null) {
+ clearTimeout(timer);
+ }
+ timersRef.current.set(
+ item.id,
+ setTimeout(() => remove(item.id), EXIT_FALLBACK_MS),
+ );
+ });
+ }, [toasts, remove]);
+
+ useEffect(() => {
+ const timers = timersRef.current;
+ return () => {
+ timers.forEach((timer) => clearTimeout(timer));
+ timers.clear();
+ };
+ }, []);
+
+ // A re-shown id must drop its stale exiting copy immediately.
+ const filtered = useMemo(
+ () => exiting.filter((item) => !toasts.some((next) => next.id === item.id)),
+ [exiting, toasts],
+ );
+
+ return { exiting: filtered, onExited: remove };
+}
+
function ToastProviderImpl(
{
children,
@@ -69,6 +151,18 @@ function ToastProviderImpl(
toastStore.getSnapshot,
toastStore.getSnapshot,
);
+ const { exiting, onExited } = useExitingToasts(toasts);
+
+ // Newest-first (matching store order) so exiting toasts keep their slot.
+ const rendered = useMemo(() => {
+ if (exiting.length === 0) {
+ return toasts.map((item) => ({ item, exiting: false }));
+ }
+ return [
+ ...toasts.map((item) => ({ item, exiting: false })),
+ ...exiting.map((item) => ({ item, exiting: true })),
+ ].sort((a, b) => b.item.createdAt - a.item.createdAt);
+ }, [toasts, exiting]);
useEffect(() => {
toastStore.configure({ duration, max });
@@ -100,7 +194,7 @@ function ToastProviderImpl(
aria-label={label.trim() || "Notifications"}
tabIndex={-1}
>
- {toasts.map((item) => (
+ {rendered.map(({ item, exiting: isExiting }) => (
))}
diff --git a/packages/react/src/toast/index.ts b/packages/react/src/toast/index.ts
index d84cd13..a25a5ed 100644
--- a/packages/react/src/toast/index.ts
+++ b/packages/react/src/toast/index.ts
@@ -4,6 +4,7 @@ export type {
ToastAction,
ToastOptions,
ToastPosition,
+ ToastPromiseMessages,
ToastProviderProps,
ToastRecord,
ToastShowInput,
diff --git a/packages/react/src/toast/toast.ts b/packages/react/src/toast/toast.ts
index 312939e..e92d8e5 100644
--- a/packages/react/src/toast/toast.ts
+++ b/packages/react/src/toast/toast.ts
@@ -1,5 +1,37 @@
+import type { ReactNode } from "react";
import { toastStore } from "./toast-store";
-import type { ToastShowInput } from "./Toast.types";
+import type {
+ ToastOptions,
+ ToastPromiseMessages,
+ ToastShowInput,
+} from "./Toast.types";
+
+function isOptionsInput(input: ToastShowInput): input is ToastOptions & {
+ title?: ReactNode;
+} {
+ return (
+ input != null &&
+ typeof input === "object" &&
+ !Array.isArray(input) &&
+ ("title" in input ||
+ "description" in input ||
+ "duration" in input ||
+ "tone" in input ||
+ "action" in input ||
+ "assertive" in input ||
+ "id" in input)
+ );
+}
+
+function withOverrides(
+ input: ToastShowInput,
+ overrides: ToastOptions,
+): ToastShowInput {
+ if (isOptionsInput(input)) {
+ return { ...input, ...overrides };
+ }
+ return { title: input as ReactNode, ...overrides };
+}
export const toast = {
/** Show a default toast. */
@@ -18,6 +50,36 @@ export const toast = {
info(input: ToastShowInput): string {
return toastStore.info(input);
},
+ /**
+ * Track a promise with a persistent loading toast that resolves into a
+ * success or error toast in place. Returns the same promise for chaining.
+ */
+ promise(
+ input: Promise | (() => Promise),
+ messages: ToastPromiseMessages,
+ ): Promise {
+ const promise = typeof input === "function" ? input() : input;
+ const id = toastStore.show(
+ withOverrides(messages.loading, { duration: 0 }),
+ );
+ promise.then(
+ (data) => {
+ const message =
+ typeof messages.success === "function"
+ ? messages.success(data)
+ : messages.success;
+ toastStore.success(withOverrides(message, { id }));
+ },
+ (error: unknown) => {
+ const message =
+ typeof messages.error === "function"
+ ? messages.error(error)
+ : messages.error;
+ toastStore.error(withOverrides(message, { id }));
+ },
+ );
+ return promise;
+ },
/** Dismiss one toast by id, or all when omitted. */
dismiss(id?: string): void {
toastStore.dismiss(id);
diff --git a/packages/react/src/tooltip/Tooltip.test.tsx b/packages/react/src/tooltip/Tooltip.test.tsx
index b8e691d..fbaf4c8 100644
--- a/packages/react/src/tooltip/Tooltip.test.tsx
+++ b/packages/react/src/tooltip/Tooltip.test.tsx
@@ -38,7 +38,7 @@ describe("Tooltip", () => {
expect(Tooltip.Content.displayName).toBe("Tooltip.Content");
});
- it("uses ready-state Tailwind transition utilities", () => {
+ it("uses ready-state Tailwind animation utilities", () => {
render(
Trigger
@@ -46,14 +46,10 @@ describe("Tooltip", () => {
);
const panel = document.querySelector(".gs-tooltip")!;
- expect(panel.classList.contains("opacity-0")).toBe(true);
- expect(panel.classList.contains("data-[ready=true]:opacity-100")).toBe(
- true,
- );
- expect(panel.classList.contains("transition-opacity")).toBe(true);
- expect(panel.classList.contains("motion-reduce:transition-none")).toBe(
- true,
- );
+ expect(
+ panel.classList.contains("data-[ready=true]:animate-gs-float-in"),
+ ).toBe(true);
+ expect(panel.classList.contains("motion-reduce:animate-none")).toBe(true);
});
it("composes panel hover handlers and respects preventDefault", () => {
diff --git a/packages/react/src/tooltip/Tooltip.tsx b/packages/react/src/tooltip/Tooltip.tsx
index 5400b84..4ac00b0 100644
--- a/packages/react/src/tooltip/Tooltip.tsx
+++ b/packages/react/src/tooltip/Tooltip.tsx
@@ -1,15 +1,12 @@
import type {
FocusEvent,
ForwardedRef,
- KeyboardEvent,
MouseEvent,
PointerEvent as ReactPointerEvent,
ReactElement,
ReactNode,
- Ref,
} from "react";
import {
- cloneElement,
forwardRef,
isValidElement,
useCallback,
@@ -30,6 +27,7 @@ import {
pushEscapeLayer,
} from "../shared/overlay-stack";
import { Portal } from "../shared/portal";
+import { Slot } from "../shared/slot";
import type { Placement } from "../shared/position";
import { useLatestRef } from "../shared/use-latest-ref";
import { useFloatingPosition } from "../shared/use-floating-position";
@@ -278,25 +276,6 @@ function TooltipImpl(
return null;
}
- const childProps = child.props as {
- onMouseEnter?: (event: MouseEvent) => void;
- onMouseLeave?: (event: MouseEvent) => void;
- onFocus?: (event: FocusEvent) => void;
- onBlur?: (event: FocusEvent) => void;
- onClick?: (event: MouseEvent) => void;
- onPointerDown?: (event: ReactPointerEvent) => void;
- onKeyDown?: (event: KeyboardEvent) => void;
- "aria-describedby"?: string;
- ref?: Ref;
- };
-
- const composedDescribedBy = [
- childProps["aria-describedby"],
- open ? tooltipId : null,
- ]
- .filter(Boolean)
- .join(" ");
-
// Wrap trigger so we always own a real DOM node for measurement,
// even when the child does not forward refs.
const triggerNode = (
@@ -305,23 +284,19 @@ function TooltipImpl(
className="gs-tooltip-trigger inline-flex max-w-full align-middle"
data-open={open ? "true" : undefined}
>
- {cloneElement(child as ReactElement, {
- ref: childProps.ref,
- "aria-describedby": composedDescribedBy || undefined,
- onMouseEnter: (event: MouseEvent) => {
- childProps.onMouseEnter?.(event);
+ ) => {
if (!event.defaultPrevented && triggers.has("hover")) {
scheduleOpen();
}
- },
- onMouseLeave: (event: MouseEvent) => {
- childProps.onMouseLeave?.(event);
+ }}
+ onMouseLeave={(event: MouseEvent) => {
if (!event.defaultPrevented && triggers.has("hover")) {
scheduleClose();
}
- },
- onFocus: (event: FocusEvent) => {
- childProps.onFocus?.(event);
+ }}
+ onFocus={(event: FocusEvent) => {
if (
!event.defaultPrevented &&
!isPointerDownRef.current &&
@@ -330,16 +305,14 @@ function TooltipImpl(
clearTimers();
setOpenRef.current(true);
}
- },
- onBlur: (event: FocusEvent) => {
- childProps.onBlur?.(event);
+ }}
+ onBlur={(event: FocusEvent) => {
if (!event.defaultPrevented && triggers.has("focus")) {
clearTimers();
setOpenRef.current(false);
}
- },
- onPointerDown: (event: ReactPointerEvent) => {
- childProps.onPointerDown?.(event);
+ }}
+ onPointerDown={(event: ReactPointerEvent) => {
if (event.defaultPrevented) {
return;
}
@@ -351,9 +324,8 @@ function TooltipImpl(
clearTimers();
setOpenRef.current(false);
}
- },
- onClick: (event: MouseEvent) => {
- childProps.onClick?.(event);
+ }}
+ onClick={(event: MouseEvent) => {
if (event.defaultPrevented) {
return;
}
@@ -363,8 +335,10 @@ function TooltipImpl(
} else {
setOpenRef.current(false);
}
- },
- })}
+ }}
+ >
+ {child as ReactElement}
+
);
const floating = open ? (
@@ -376,7 +350,7 @@ function TooltipImpl(
role="tooltip"
data-gs-overlay-branch=""
className={clsx(
- "gs-tooltip pointer-events-auto z-gs-tooltip box-border max-w-gs-tooltip-max-width wrap-anywhere rounded-gs-tooltip-radius border border-gs-surface-border bg-gs-tooltip-bg bg-gs-surface-highlight px-gs-tooltip-padding-x py-gs-tooltip-padding-y font-inherit text-gs-tooltip-font-size font-medium leading-gs-normal tracking-normal text-gs-tooltip-color opacity-0 shadow-gs-tooltip-shadow transition-opacity duration-200 ease-gs-decelerate data-[ready=true]:opacity-100 motion-reduce:transition-none",
+ "gs-tooltip pointer-events-auto z-gs-tooltip box-border max-w-gs-tooltip-max-width wrap-anywhere rounded-gs-tooltip-radius border border-gs-surface-border bg-gs-tooltip-bg bg-gs-surface-highlight px-gs-tooltip-padding-x py-gs-tooltip-padding-y font-inherit text-gs-tooltip-font-size font-medium leading-gs-normal tracking-normal text-gs-tooltip-color shadow-gs-tooltip-shadow data-[ready=true]:animate-gs-float-in data-[placement^=top]:[--gs-float-from:0_var(--space-1)] data-[placement^=left]:[--gs-float-from:var(--space-1)_0] data-[placement^=right]:[--gs-float-from:calc(var(--space-1)*-1)_0] motion-reduce:animate-none [[data-reduced-motion=true]_&]:animate-none",
className,
contentClassName,
)}
diff --git a/packages/react/src/wizard/Wizard.test.tsx b/packages/react/src/wizard/Wizard.test.tsx
index 9d4fc16..2b158ed 100644
--- a/packages/react/src/wizard/Wizard.test.tsx
+++ b/packages/react/src/wizard/Wizard.test.tsx
@@ -183,6 +183,16 @@ describe("Wizard", () => {
.querySelector(".gs-wizard-marker")
?.classList.contains("bg-gs-wizard-marker-bg-current"),
).toBe(true);
+ expect(
+ document
+ .querySelector(".gs-wizard-marker")
+ ?.classList.contains("group-active:scale-95"),
+ ).toBe(true);
+ expect(
+ document
+ .querySelector(".gs-wizard-marker")
+ ?.classList.contains("motion-reduce:transition-none"),
+ ).toBe(true);
rerender(
diff --git a/packages/react/src/wizard/Wizard.tsx b/packages/react/src/wizard/Wizard.tsx
index a280b73..e938d6d 100644
--- a/packages/react/src/wizard/Wizard.tsx
+++ b/packages/react/src/wizard/Wizard.tsx
@@ -448,7 +448,7 @@ function WizardImpl(
>
({
diff --git a/packages/velune/package.json b/packages/velune/package.json
index 06b1ea2..4156b6a 100644
--- a/packages/velune/package.json
+++ b/packages/velune/package.json
@@ -119,10 +119,8 @@
}
},
"dependencies": {
- "@internationalized/date": "^3.12.2",
"@tanstack/react-virtual": "^3.14.5",
- "clsx": "^2.1.1",
- "react-aria-components": "^1.19.0"
+ "clsx": "^2.1.1"
},
"devDependencies": {
"@velune/react-internal": "workspace:*"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8a795c1..4ab98a0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,6 +4,14 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+overrides:
+ '@babel/core': 7.29.7
+ brace-expansion@5.0.5: 5.0.7
+ esbuild: 0.28.1
+ fast-uri@3.1.2: 3.1.4
+ js-yaml@3.14.2: 3.15.0
+ js-yaml@4.1.1: 4.3.0
+
importers:
.:
@@ -116,9 +124,6 @@ importers:
'@tanstack/react-router':
specifier: ^1.170.17
version: 1.170.17(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- velune:
- specifier: workspace:*
- version: link:../../packages/velune
lucide-react:
specifier: ^1.24.0
version: 1.24.0(react@18.3.1)
@@ -131,6 +136,9 @@ importers:
react-dom:
specifier: ^18.3.1
version: 18.3.1(react@18.3.1)
+ velune:
+ specifier: workspace:*
+ version: link:../../packages/velune
devDependencies:
'@tailwindcss/vite':
specifier: ^4.3.2
@@ -159,22 +167,22 @@ importers:
apps/storybook:
dependencies:
- velune:
- specifier: workspace:*
- version: link:../../packages/velune
react:
specifier: ^18.3.1
version: 18.3.1
react-dom:
specifier: ^18.3.1
version: 18.3.1(react@18.3.1)
+ velune:
+ specifier: workspace:*
+ version: link:../../packages/velune
devDependencies:
'@storybook/react':
- specifier: ^8.6.14
- version: 8.6.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.18(prettier@3.8.3))(typescript@5.8.3)
+ specifier: ^10.5.3
+ version: 10.5.3(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))(typescript@5.8.3)
'@storybook/react-vite':
- specifier: ^8.6.14
- version: 8.6.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.60.3)(storybook@8.6.18(prettier@3.8.3))(typescript@5.8.3)(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))
+ specifier: ^10.5.3
+ version: 10.5.3(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.60.3)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))(typescript@5.8.3)(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))
'@tailwindcss/vite':
specifier: ^4.3.2
version: 4.3.2(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))
@@ -182,8 +190,8 @@ importers:
specifier: ^4.3.4
version: 4.7.0(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))
storybook:
- specifier: ^8.6.14
- version: 8.6.18(prettier@3.8.3)
+ specifier: ^10.5.3
+ version: 10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1)
tailwindcss:
specifier: ^4.3.2
version: 4.3.2
@@ -194,34 +202,6 @@ importers:
specifier: ^6.4.3
version: 6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4)
- packages/velune:
- dependencies:
- '@internationalized/date':
- specifier: ^3.12.2
- version: 3.12.2
- '@tanstack/react-virtual':
- specifier: ^3.14.5
- version: 3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- clsx:
- specifier: ^2.1.1
- version: 2.1.1
- react:
- specifier: '>=18'
- version: 18.3.1
- react-aria-components:
- specifier: ^1.19.0
- version: 1.19.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react-dom:
- specifier: '>=18'
- version: 18.3.1(react@18.3.1)
- tailwindcss:
- specifier: '>=4'
- version: 4.3.2
- devDependencies:
- '@velune/react-internal':
- specifier: workspace:*
- version: link:../react
-
packages/hooks:
dependencies:
react:
@@ -243,24 +223,18 @@ importers:
packages/react:
dependencies:
- '@velune/hooks':
- specifier: workspace:*
- version: link:../hooks
- '@internationalized/date':
- specifier: ^3.12.2
- version: 3.12.2
'@tanstack/react-virtual':
specifier: ^3.14.5
version: 3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@velune/hooks':
+ specifier: workspace:*
+ version: link:../hooks
clsx:
specifier: ^2.1.1
version: 2.1.1
react:
specifier: '>=18'
version: 18.3.1
- react-aria-components:
- specifier: ^1.19.0
- version: 1.19.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-dom:
specifier: '>=18'
version: 18.3.1(react@18.3.1)
@@ -277,11 +251,39 @@ importers:
lucide-react:
specifier: ^1.24.0
version: 1.24.0(react@18.3.1)
+ zod:
+ specifier: ^4.4.3
+ version: 4.4.3
packages/utils: {}
+ packages/velune:
+ dependencies:
+ '@tanstack/react-virtual':
+ specifier: ^3.14.5
+ version: 3.14.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ clsx:
+ specifier: ^2.1.1
+ version: 2.1.1
+ react:
+ specifier: '>=18'
+ version: 18.3.1
+ react-dom:
+ specifier: '>=18'
+ version: 18.3.1(react@18.3.1)
+ tailwindcss:
+ specifier: '>=4'
+ version: 4.3.2
+ devDependencies:
+ '@velune/react-internal':
+ specifier: workspace:*
+ version: link:../react
+
packages:
+ '@adobe/css-tools@4.5.0':
+ resolution: {integrity: sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q==}
+
'@andrewbranch/untar.js@1.0.3':
resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==}
@@ -318,35 +320,39 @@ packages:
resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.29.3':
- resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==}
+ '@babel/code-frame@7.29.7':
+ resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.29.7':
+ resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==}
engines: {node: '>=6.9.0'}
- '@babel/core@7.29.0':
- resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==}
+ '@babel/core@7.29.7':
+ resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.29.1':
- resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
+ '@babel/generator@7.29.7':
+ resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==}
engines: {node: '>=6.9.0'}
- '@babel/helper-compilation-targets@7.28.6':
- resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
+ '@babel/helper-compilation-targets@7.29.7':
+ resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==}
engines: {node: '>=6.9.0'}
- '@babel/helper-globals@7.28.0':
- resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
+ '@babel/helper-globals@7.29.7':
+ resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-imports@7.28.6':
- resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
+ '@babel/helper-module-imports@7.29.7':
+ resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.28.6':
- resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==}
+ '@babel/helper-module-transforms@7.29.7':
+ resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': ^7.0.0
+ '@babel/core': 7.29.7
'@babel/helper-plugin-utils@7.28.6':
resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==}
@@ -356,16 +362,24 @@ packages:
resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
engines: {node: '>=6.9.0'}
+ '@babel/helper-string-parser@7.29.7':
+ resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/helper-validator-identifier@7.28.5':
resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-option@7.27.1':
- resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+ '@babel/helper-validator-identifier@7.29.7':
+ resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.29.7':
+ resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==}
engines: {node: '>=6.9.0'}
- '@babel/helpers@7.29.2':
- resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==}
+ '@babel/helpers@7.29.7':
+ resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==}
engines: {node: '>=6.9.0'}
'@babel/parser@7.29.3':
@@ -373,34 +387,43 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/parser@7.29.7':
+ resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
'@babel/plugin-transform-react-jsx-self@7.27.1':
resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/core': 7.29.7
'@babel/plugin-transform-react-jsx-source@7.27.1':
resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': ^7.0.0-0
+ '@babel/core': 7.29.7
'@babel/runtime@7.29.2':
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==}
+ '@babel/template@7.29.7':
+ resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.29.0':
- resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
+ '@babel/traverse@7.29.7':
+ resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==}
engines: {node: '>=6.9.0'}
'@babel/types@7.29.0':
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
+ '@babel/types@7.29.7':
+ resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==}
+ engines: {node: '>=6.9.0'}
+
'@braidai/lang@1.1.2':
resolution: {integrity: sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA==}
@@ -604,17 +627,23 @@ packages:
'@dual-bundle/import-meta-resolve@4.2.1':
resolution: {integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==}
- '@esbuild/aix-ppc64@0.25.12':
- resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
+ '@emnapi/core@1.11.2':
+ resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==}
- '@esbuild/aix-ppc64@0.27.7':
- resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
+ '@emnapi/core@1.9.2':
+ resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==}
+
+ '@emnapi/runtime@1.11.2':
+ resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==}
+
+ '@emnapi/runtime@1.9.2':
+ resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==}
+
+ '@emnapi/wasi-threads@1.2.1':
+ resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
+
+ '@emnapi/wasi-threads@1.2.2':
+ resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==}
'@esbuild/aix-ppc64@0.28.1':
resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==}
@@ -622,450 +651,150 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.25.12':
- resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm64@0.27.7':
- resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm64@0.28.1':
resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.25.12':
- resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-arm@0.27.7':
- resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-arm@0.28.1':
resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.25.12':
- resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/android-x64@0.27.7':
- resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
'@esbuild/android-x64@0.28.1':
resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.25.12':
- resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-arm64@0.27.7':
- resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-arm64@0.28.1':
resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.25.12':
- resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.27.7':
- resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.28.1':
resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.25.12':
- resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-arm64@0.27.7':
- resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-arm64@0.28.1':
resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.25.12':
- resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.27.7':
- resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.28.1':
resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.25.12':
- resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm64@0.27.7':
- resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm64@0.28.1':
resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.25.12':
- resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-arm@0.27.7':
- resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-arm@0.28.1':
resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.25.12':
- resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-ia32@0.27.7':
- resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-ia32@0.28.1':
resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.25.12':
- resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-loong64@0.27.7':
- resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.28.1':
resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.25.12':
- resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.27.7':
- resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-mips64el@0.28.1':
resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.25.12':
- resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.27.7':
- resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-ppc64@0.28.1':
resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.25.12':
- resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.27.7':
- resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.28.1':
resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.25.12':
- resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-s390x@0.27.7':
- resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-s390x@0.28.1':
resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.25.12':
- resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/linux-x64@0.27.7':
- resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
'@esbuild/linux-x64@0.28.1':
resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-arm64@0.25.12':
- resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
- '@esbuild/netbsd-arm64@0.27.7':
- resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
'@esbuild/netbsd-arm64@0.28.1':
resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.25.12':
- resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/netbsd-x64@0.27.7':
- resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.28.1':
resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.25.12':
- resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
- '@esbuild/openbsd-arm64@0.27.7':
- resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
'@esbuild/openbsd-arm64@0.28.1':
resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.25.12':
- resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/openbsd-x64@0.27.7':
- resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.28.1':
resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/openharmony-arm64@0.25.12':
- resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openharmony]
-
- '@esbuild/openharmony-arm64@0.27.7':
- resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openharmony]
-
'@esbuild/openharmony-arm64@0.28.1':
resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
- '@esbuild/sunos-x64@0.25.12':
- resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/sunos-x64@0.27.7':
- resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/sunos-x64@0.28.1':
resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.25.12':
- resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-arm64@0.27.7':
- resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-arm64@0.28.1':
resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.25.12':
- resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-ia32@0.27.7':
- resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-ia32@0.28.1':
resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.25.12':
- resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
- '@esbuild/win32-x64@0.27.7':
- resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
'@esbuild/win32-x64@0.28.1':
resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==}
engines: {node: '>=18'}
@@ -1148,24 +877,11 @@ packages:
'@types/node':
optional: true
- '@internationalized/date@3.12.2':
- resolution: {integrity: sha512-FY1Y+H64NDs+HAF6omlnWxm3mEpfgaCSWtL5l551ZZfImA+kGjPFgrnJrGjH6lfmLL0g8Z/mBu1R3kufeCp6Jw==}
-
- '@internationalized/number@3.6.7':
- resolution: {integrity: sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg==}
-
- '@internationalized/string@3.2.9':
- resolution: {integrity: sha512-kzP/M/mbQxODlmOt4bIQZ2SBVUWUSqMLXooXixnX7noche8WHaQcA+nwFN1K2KCF/cp+LDUhcJsCicwkvhD1pg==}
-
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0':
- resolution: {integrity: sha512-qYDdL7fPwLRI+bJNurVcis+tNgJmvWjH4YTBGXTA8xMuxFrnAz6E5o35iyzyKbq5J5Lr8mJGfrR5GXl+WGwhgQ==}
+ '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0':
+ resolution: {integrity: sha512-qvsTEwEFefhdirGOPnu9Wp6ChfIwy2dBCRuETU3uE+4cC+PFoxMSiiEhxk4lOluA34eARHA0OxqsEUYDqRMgeQ==}
peerDependencies:
typescript: '>= 4.3.x'
- vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
+ vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
@@ -1204,6 +920,12 @@ packages:
'@manypkg/get-packages@1.1.3':
resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
+ '@napi-rs/wasm-runtime@1.1.6':
+ resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==}
+ peerDependencies:
+ '@emnapi/core': ^1.7.1
+ '@emnapi/runtime': ^1.7.1
+
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -1216,9 +938,222 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
- '@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
+ '@oxc-parser/binding-android-arm-eabi@0.127.0':
+ resolution: {integrity: sha512-0LC7ye4hvqbIKxAzThzvswgHLFu2AURKzYLeSVvLdu2TBOYWQDmHnTqPLeA597BcUCxiLqLsS4CJ5uoI5WYWCQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [android]
+
+ '@oxc-parser/binding-android-arm64@0.127.0':
+ resolution: {integrity: sha512-b5jtVTH6AU5CJXHNdj7Jj9IEiR9yVjjnwHzPJhGyHGPdcsZSzBCkS9GBbV33niRMvKthDwQRFRJfI4a+k4PvYg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxc-parser/binding-darwin-arm64@0.127.0':
+ resolution: {integrity: sha512-obCE8B7ISKkJidjlhv9xRGJPOSDG2Yu6PRga9Ruaz35uintHxbp1Ki/Yc71wx4rj3Edrm0a1kzG1TAwit0wFpg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-parser/binding-darwin-x64@0.127.0':
+ resolution: {integrity: sha512-JL6Xb5IwPQT8rUzlpsX7E+AgfcdNklXNPFp8pjCQQ5MQOQo5rtEB2ui+3Hgg9Sn7Y9Egj6YOLLiHhLpdAe12Aw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-parser/binding-freebsd-x64@0.127.0':
+ resolution: {integrity: sha512-SDQ/3MQFw58fqQz3Z1PhSKFF3JoCF4gmlNjziDm8X02tTahCw0qJbd7FGPDKw1i4VTBZene9JPyC3mHtSvi+wA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.127.0':
+ resolution: {integrity: sha512-Av+D1MIqzV0YMGPT9we2SIZaMKD7Cxs4CvXSx/yxaWHewZjYEjScpOf5igc8IILASViw4WTnjlwUdI1KzVtDHQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm-musleabihf@0.127.0':
+ resolution: {integrity: sha512-Cs2fdJ8cPpFdeebj6p4dag8A4+56hPvZ0AhQQzlaLswGz1tz7bXt1nETLeorrM9+AMcWFFkqxcXwDGfTVidY8g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm64-gnu@0.127.0':
+ resolution: {integrity: sha512-qdOfTcT6SY8gsJrrV92uyEUyjqMGPpIB5JZUG6QN5dukYd+7/j0kX6MwK1DgQj39jtUYixxPiaRUiEN1+0CXgQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm64-musl@0.127.0':
+ resolution: {integrity: sha512-EoTCZneNFU/P2qrpEM+RHmQwt+CvDkyGESG6qhr7KaegXLZwePfbrkCDfAk8/rhxbDUVGsZILX+2tqPzFtoFWA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-ppc64-gnu@0.127.0':
+ resolution: {integrity: sha512-zALjmZYgxFLHjXeudcDF0xFGNydTAtkAeXAr2EuC17ywCyFxcmQra4w0BMde0Yi/re4Bi4iwEoEXtYN7l6eBLQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-riscv64-gnu@0.127.0':
+ resolution: {integrity: sha512-fPP8M6zQLS7Jz7o9d5ArUSuAuSK3e+WCYVrCpdzeCOejidtZExJ9tjhDrAd3HEPqARBCPmdpqxESPFqy44vkBQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-riscv64-musl@0.127.0':
+ resolution: {integrity: sha512-7IcC4Ao02oGpfnjt+X/oF4U2mllo2qoSkw5xxiXNKL9MCTsTiAC6616beOuehdxGcnz1bRoPC1RQ2f1GQDdN+g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-s390x-gnu@0.127.0':
+ resolution: {integrity: sha512-pbXIhiNFHoqWeqDNLiJ9JkpHz1IM9k4DXa66x+1GTWMG7iLxtkXgE53iiuKSXwmk3zIYmaPVfBvgcAhS583K4Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-x64-gnu@0.127.0':
+ resolution: {integrity: sha512-MYCguB9RvBvlSd6gbuNI7QwiLoCCAlGnlRJFPrzLI6U1/9wkC/WK6LtBAUln55H1Ctqw45PWmqrobKoMhsYQzQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-x64-musl@0.127.0':
+ resolution: {integrity: sha512-5eY0B/bxf1xIUxb4NOTvOI3KWtBQfPWYyKAzgcrCt0mDibSZygVpO1Pz8bkeiSZ5Jj9+M09dkggG3H8I5d0Uyg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-parser/binding-openharmony-arm64@0.127.0':
+ resolution: {integrity: sha512-Gld0ajrFTUXNtdw20fVBuTQx66FA75nIVg+//pPfR3sXkuABB4mTBhl3r9JNzrJpgW//qiwxf0nWXUWGJSL3UQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@oxc-parser/binding-wasm32-wasi@0.127.0':
+ resolution: {integrity: sha512-T6KVD7rhLzFlwGRXMnxUFfkCZD8FHnb968wVXW1mXzgRFc5RNXOBY2mPPDZ77x5Ln76ltLMgtPg0cOkU1NSrEQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [wasm32]
+
+ '@oxc-parser/binding-win32-arm64-msvc@0.127.0':
+ resolution: {integrity: sha512-Ujvw4X+LD1CCGULcsQcvb4YNVoBGqt+JHgNNzGGaCImELiZLk477ifUH53gIbE7EKd933NdTi25JWEr9K2HwXw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-parser/binding-win32-ia32-msvc@0.127.0':
+ resolution: {integrity: sha512-0cwxKO7KHQQQfo4Uf4B2SQrhgm+cJaP9OvFFhx52Tkg4bezsacu83GB2/In5bC415Ueeym+kXdnge/57rbSfTw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@oxc-parser/binding-win32-x64-msvc@0.127.0':
+ resolution: {integrity: sha512-rOrnSQSCbhI2kowr9XxE7m9a8oQXnBHjnS6j95LxxAnEZ0+Fz20WlRXG4ondQb+ejjt2KOsa65sE6++L6kUd+w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@oxc-project/types@0.127.0':
+ resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==}
+
+ '@oxc-resolver/binding-android-arm-eabi@11.24.2':
+ resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==}
+ cpu: [arm]
+ os: [android]
+
+ '@oxc-resolver/binding-android-arm64@11.24.2':
+ resolution: {integrity: sha512-cl4icWaZFnLdg8m6qtnh5rBMuGbxc/ptStFHLeCNwr+2cZjkjNwQu/jYRS0CHlnPecOJMpuS5M6/BH+0J/YkEg==}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxc-resolver/binding-darwin-arm64@11.24.2':
+ resolution: {integrity: sha512-At29QEMF6HajbQvgY8K6OXnHD1x9rad74xBEfmCB6ZqCGsdq75aK7tOYcTbOanMy8qdIBrfL3SMr3p/lfSlb9w==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-resolver/binding-darwin-x64@11.24.2':
+ resolution: {integrity: sha512-A5Kqr1EUj4oIL5CF4WRssq/o5P0Y11cwoFouMRmQ7YnC/A8V93nv1nb7aSU8HwcgmXropjLNkVTl4MN87cu28Q==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-resolver/binding-freebsd-x64@11.24.2':
+ resolution: {integrity: sha512-R5xkRBRRz7ceH/P5Jrc6G7FmdUdgpLYyESFAUDVTNQ9K0sGPxcp4ljiwEwEqsvNcQ4sYbMRrWcHHBCu7ksAJVw==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2':
+ resolution: {integrity: sha512-k/RuYL4L/R58IBn3wT5ma3Wh4k62bp1eYCFRWCmMsasUOqL+H6sW0VGFadEzKWXFFlz+2uIMoeMk9ySSZJHgbg==}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-arm-musleabihf@11.24.2':
+ resolution: {integrity: sha512-bnHAak3ujYfH5pKk4NieFNbvYvernfoQDgwLddbZ3OtMYrem87/qjlA+u+aKG0oZcqSLGCful/6/CEA+aeAgaA==}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-arm64-gnu@11.24.2':
+ resolution: {integrity: sha512-vDT3KHgzYp47gmtNOqL2VNhCyl5Zv643eyxm//A68J8DeUGXrvD1pZFiaT4jSfe+RInfnn1R2yVHye4enx6RnA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-arm64-musl@11.24.2':
+ resolution: {integrity: sha512-+kMlQvbzfyEYtu5FcjE4p+ttBLpKW4d/AsAsuE69BxV6V4twZJeIQZFfD8gh/wqglY0MkPSezWXQH0jBV13MUw==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-ppc64-gnu@11.24.2':
+ resolution: {integrity: sha512-shjfMhmZ3gq9fv/w7bi3PnZlgOPG+2QAOFf0BJF0EgBSIGZ6PMLN2zbGEblTUYB/NKVDRyYhE2ff3dJ1QqNPkA==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-riscv64-gnu@11.24.2':
+ resolution: {integrity: sha512-zGelwFR5oRo+b69k8Lrzun86DyUHzfKN6cnjbR9l7Z7NIRznOE/2ZvPa1IUKqAL2PzAXOdwkfVqNvO1H2RlpAw==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-riscv64-musl@11.24.2':
+ resolution: {integrity: sha512-qxZ1SWCXJY0eyhAlP6Lmo9F2Nrtx7EkYj9oCgL8apDPCwXwCEDA2U697bbT81JIc2IrVjxO4KX6WU2N+oN9Z4w==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-s390x-gnu@11.24.2':
+ resolution: {integrity: sha512-sGCecF3cx2DFlH4t/z7ApnOnXqN48p5p5mlHDEnHTAukQa2P+qMVE4CwyWE9W+q/m3QJ7kKfGrIjax31f44oFQ==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-x64-gnu@11.24.2':
+ resolution: {integrity: sha512-k/VlMMcSzMlahb3/fENM4rTlsJ0s3fFROA0KXPBmKggqmTSaE383sl8F3KCOXPLmVsYfW6hCitMhXCEtNeZxxg==}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-x64-musl@11.24.2':
+ resolution: {integrity: sha512-8hbnZyNi97b/8wapYaIF9+t9GmZKBW2vunaOc3h9HGJptH7b7XpvZqOTBSm/MpTjr7H497BlgOaSfLUdhmy2bw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-resolver/binding-openharmony-arm64@11.24.2':
+ resolution: {integrity: sha512-MvyGik3a6pVgZ0t/kWlbmFxFLmXQJwgLsY2eYFHLpy0wGwRbfzeIGgDwQ3kXqE30z+kSXennRkCrT7TUvkptNg==}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@oxc-resolver/binding-wasm32-wasi@11.24.2':
+ resolution: {integrity: sha512-vHcssMPwO08RTvj/c0iOBz90attxyG3wQJ0dTcyEQK43LRpcdLWZlV5feBhv6Isn6ahbQIzHbCgfa81+RiML0Q==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@oxc-resolver/binding-win32-arm64-msvc@11.24.2':
+ resolution: {integrity: sha512-uokJqro2iBqkFvJdKQLP7d8/BUmFwESQFVmIJUQKj1Xn1a/LysJoe1vmeECLF5b3jsV8CAL5sEMJXX6SdK9Nhg==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-resolver/binding-win32-x64-msvc@11.24.2':
+ resolution: {integrity: sha512-UqGPmo56KDfLlfXFAFIrNflHT8tFxWGEivWg3Zeyp4Uy2NlKN1FGPr6/BxcLGG3+kZ6Wp14g5Uj+n71boqZfiw==}
+ cpu: [x64]
+ os: [win32]
'@playwright/test@1.59.1':
resolution: {integrity: sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==}
@@ -1229,11 +1164,6 @@ packages:
resolution: {integrity: sha512-edgyN2pP07uXiP4tJs0s8KVmU8M8i60YPbbI0/WDeok1mIJHRXz+CgD8I0nelwDkoCh3EWL/G5kGfbuHjsdbvw==}
engines: {node: '>=18'}
- '@react-types/shared@3.36.0':
- resolution: {integrity: sha512-DkP/H0C2YjjS7gZWKNqOmU8a16qHPjQNdzMwmTq9SzplM6Iw0kVMTZ0OIoe6FOgGqa+FwMsE2QbPjh/n3g/jXQ==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
-
'@rolldown/pluginutils@1.0.0-beta.27':
resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
@@ -1387,86 +1317,81 @@ packages:
peerDependencies:
size-limit: 12.1.0
- '@storybook/builder-vite@8.6.18':
- resolution: {integrity: sha512-XLqnOv4C36jlTd4uC8xpWBxv+7GV4/05zWJ0wAcU4qflorropUTirt4UQPGkwIzi+BVAhs9pJj+m4k0IWJtpHg==}
- peerDependencies:
- storybook: ^8.6.18
- vite: ^4.0.0 || ^5.0.0 || ^6.0.0
-
- '@storybook/components@8.6.18':
- resolution: {integrity: sha512-55yViiZzPS/cPBuOeW4QGxGqrusjXVyxuknmbYCIwDtFyyvI/CgbjXRHdxNBaIjz+IlftxvBmmSaOqFG5+/dkA==}
+ '@storybook/builder-vite@10.5.3':
+ resolution: {integrity: sha512-qX1jb1nbG1mWJrCn3YrDkpbii+KA1uxdVgENeNusD80RrWCwVG8ce+awjZxKuT8qjYyALSAPBvTHUqZ4C1b7Pg==}
peerDependencies:
- storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+ storybook: ^10.5.3
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
- '@storybook/core@8.6.18':
- resolution: {integrity: sha512-dRBP2TnX6fGdS0T2mXBHjkS/3Nlu1ra1huovZVFuM67CYMzrhM/3hX/zru1vWSC5rqY93ZaAhjMciPW4pK5mMQ==}
+ '@storybook/csf-plugin@10.5.3':
+ resolution: {integrity: sha512-mkPq6zru8fN5+46uC1cZEbKW2ws1hh9KvF4g4/Gu8pNbKnvqULPhk0/Bf0ZCtlr7zI7DvcFhyCy3dbvN+2n4Gw==}
peerDependencies:
- prettier: ^2 || ^3
+ esbuild: 0.28.1
+ rollup: '*'
+ storybook: ^10.5.3
+ vite: '*'
+ webpack: '*'
peerDependenciesMeta:
- prettier:
+ esbuild:
+ optional: true
+ rollup:
+ optional: true
+ vite:
+ optional: true
+ webpack:
optional: true
-
- '@storybook/csf-plugin@8.6.18':
- resolution: {integrity: sha512-x1ioz/L0CwaelCkHci3P31YtvwayN3FBftvwQOPbvRh9qeb4Cpz5IdVDmyvSxxYwXN66uAORNoqgjTi7B4/y5Q==}
- peerDependencies:
- storybook: ^8.6.18
'@storybook/global@5.0.0':
resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==}
- '@storybook/manager-api@8.6.18':
- resolution: {integrity: sha512-BjIp12gEMgzFkEsgKpDIbZdnSWTZpm2dlws8WiPJCpgJtG+HWSxZ0/Ms30Au9yfwzQEKRSbV/5zpsKMGc2SIJw==}
- peerDependencies:
- storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
-
- '@storybook/preview-api@8.6.18':
- resolution: {integrity: sha512-joXRXh3GdVvzhbfIgmix1xs90p8Q/nja7AhEAC2egn5Pl7SKsIYZUCYI6UdrQANb2myg9P552LKXfPect8llKg==}
+ '@storybook/icons@2.1.0':
+ resolution: {integrity: sha512-Fxh9vYpX9bQqFeHRiY8h2ApeRGDzRSMLwJwNZ/AIRqnyOKHxRKL+yFe+ctEkVJmuptRE9u1Hrn8ZZNHyfDKKNg==}
peerDependencies:
- storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- '@storybook/react-dom-shim@8.6.18':
- resolution: {integrity: sha512-N4xULcAWZQTUv4jy1/d346Tyb4gufuC3UaLCuU/iVSZ1brYF4OW3ANr+096btbMxY8pR/65lmtoqr5CTGwnBvA==}
+ '@storybook/react-dom-shim@10.5.3':
+ resolution: {integrity: sha512-eUWBsRRax5R3MDJVFs/CrFDF1bYS58AMB9tX02lLRuiZe6xy1cKh3CRFS+2xH571l0fNaXQ+7j69TOJ0fk2tmA==}
peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
- storybook: ^8.6.18
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ '@types/react-dom': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ storybook: ^10.5.3
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- '@storybook/react-vite@8.6.18':
- resolution: {integrity: sha512-qpSYyH2IizlEsI95MJTdIL6xpLSgiNCMoJpHu+IEqLnyvmecRR/YEZvcHalgdtawuXlimH0bAYuwIu3l8Vo6FQ==}
- engines: {node: '>=18.0.0'}
+ '@storybook/react-vite@10.5.3':
+ resolution: {integrity: sha512-9cXaeU3+Kos4M3+Ezur2u/eBn3JIkED6ckxi7lhVQ6r2lK9NAGh5tfHSTQ/206KNSjvaHxZMAhPpxJP3/e2vfQ==}
peerDependencies:
- '@storybook/test': 8.6.18
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
- storybook: ^8.6.18
- vite: ^4.0.0 || ^5.0.0 || ^6.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ storybook: ^10.5.3
+ typescript: '>= 4.9.x'
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
- '@storybook/test':
+ typescript:
optional: true
- '@storybook/react@8.6.18':
- resolution: {integrity: sha512-BuLpzMkKtF+UCQCbi+lYVX9cdcAMG86Lu2dDn7UFkPi5HRNFq/zHPSvlz1XDgL0OYMtcqB1aoVzFzcyzUBhhjw==}
- engines: {node: '>=18.0.0'}
+ '@storybook/react@10.5.3':
+ resolution: {integrity: sha512-d/CK78xgA7DDvqnxkqcYmiTjomE4ch2TWvk0O8/xHQWW6y0nMjKtsZbmUBfZ0QcdYdWq7dErzfbG7YAzxDi7Ig==}
peerDependencies:
- '@storybook/test': 8.6.18
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta
- storybook: ^8.6.18
- typescript: '>= 4.2.x'
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ '@types/react-dom': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ storybook: ^10.5.3
+ typescript: '>= 4.9.x'
peerDependenciesMeta:
- '@storybook/test':
+ '@types/react':
+ optional: true
+ '@types/react-dom':
optional: true
typescript:
optional: true
- '@storybook/theming@8.6.18':
- resolution: {integrity: sha512-n6OEjEtHupa2PdTwWzRepr7cO8NkDd4rgF6BKLitRbujOspLxzMBEqdphs+QLcuiCIgf33SqmEA64QWnbSMhPw==}
- peerDependencies:
- storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0
-
- '@swc/helpers@0.5.23':
- resolution: {integrity: sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==}
-
'@tailwindcss/node@4.3.2':
resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==}
@@ -1594,6 +1519,10 @@ packages:
resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==}
engines: {node: '>=18'}
+ '@testing-library/jest-dom@6.9.1':
+ resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==}
+ engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
+
'@testing-library/react@16.3.2':
resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==}
engines: {node: '>=18'}
@@ -1609,6 +1538,15 @@ packages:
'@types/react-dom':
optional: true
+ '@testing-library/user-event@14.6.1':
+ resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==}
+ engines: {node: '>=12', npm: '>=6'}
+ peerDependencies:
+ '@testing-library/dom': '>=7.21.4'
+
+ '@tybys/wasm-util@0.10.3':
+ resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==}
+
'@types/aria-query@5.0.4':
resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
@@ -1730,6 +1668,9 @@ packages:
peerDependencies:
vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
+ '@vitest/expect@3.2.4':
+ resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
+
'@vitest/expect@3.2.7':
resolution: {integrity: sha512-E8eBXaKibuvH2pSZErOjdVb5vF4PbKYcrnluBTYxEk1l/VhhwZg1kZQsdtjq+CsF5CFydf2Rdkz7jDHKSisi3w==}
@@ -1744,6 +1685,9 @@ packages:
vite:
optional: true
+ '@vitest/pretty-format@3.2.4':
+ resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
+
'@vitest/pretty-format@3.2.7':
resolution: {integrity: sha512-KUHlwqVu0sRlhCdyPdQ/wBoTfRahjUky1MubOmYw9fWfIZy1gNoHpuaaQBPAaMaVYdQYHJLurzj8ECCj5OwTqA==}
@@ -1753,12 +1697,21 @@ packages:
'@vitest/snapshot@3.2.7':
resolution: {integrity: sha512-7C+MwShwtBSI5Buwoyg3s/iY1eHL9PKAf+O1wVh/TdnjXUtkoL/9YQtre90i4MtNXM6edP1wJ2zOBpfCyhIS7g==}
+ '@vitest/spy@3.2.4':
+ resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
+
'@vitest/spy@3.2.7':
resolution: {integrity: sha512-Q2eQGI6d2L/hBtZ0qNuKcAGid68XK6cv1xsoaIma6PaJhHPoqcEJhYpXZ/5myCMqkNgtP6UKuBhbc0nHKnrkuQ==}
+ '@vitest/utils@3.2.4':
+ resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
+
'@vitest/utils@3.2.7':
resolution: {integrity: sha512-x6BDOd7dyo3PFLY3I9/HJ25X/6OurhGXk2/B9gOZNPF7XDVjeBK4k01lQE5uvDpbuheErh91qYuE1E2OEjK3Rw==}
+ '@webcontainer/env@1.1.1':
+ resolution: {integrity: sha512-6aN99yL695Hi9SuIk1oC88l9o0gmxL1nGWWQ/kNy81HigJ0FoaoTXpytCj6ItzgyCEwA9kF1wixsTuv5cjsgng==}
+
JSONStream@1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
@@ -1827,10 +1780,6 @@ packages:
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- aria-hidden@1.2.6:
- resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
- engines: {node: '>=10'}
-
aria-query@5.3.0:
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
@@ -1923,10 +1872,6 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
- better-opn@3.0.2:
- resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==}
- engines: {node: '>=12.0.0'}
-
better-path-resolve@1.0.0:
resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
engines: {node: '>=4'}
@@ -1937,27 +1882,28 @@ packages:
brace-expansion@1.1.16:
resolution: {integrity: sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==}
- brace-expansion@5.0.5:
- resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
+ brace-expansion@5.0.7:
+ resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==}
engines: {node: 18 || 20 || >=22}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browser-assert@1.2.1:
- resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==}
-
browserslist@4.28.2:
resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
bundle-require@5.1.0:
resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
peerDependencies:
- esbuild: '>=0.18'
+ esbuild: 0.28.1
bytes-iec@3.1.1:
resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==}
@@ -2036,9 +1982,6 @@ packages:
resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
engines: {node: '>=18'}
- client-only@0.0.1:
- resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
-
cliui@7.0.4:
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
@@ -2136,6 +2079,9 @@ packages:
resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
+ css.escape@1.5.1:
+ resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
+
cssesc@3.0.0:
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
engines: {node: '>=4'}
@@ -2186,13 +2132,21 @@ packages:
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ default-browser-id@5.0.1:
+ resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==}
+ engines: {node: '>=18'}
+
+ default-browser@5.5.0:
+ resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==}
+ engines: {node: '>=18'}
+
define-data-property@1.1.4:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
- define-lazy-prop@2.0.0:
- resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
- engines: {node: '>=8'}
+ define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
define-properties@1.2.1:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
@@ -2230,6 +2184,9 @@ packages:
dom-accessibility-api@0.5.16:
resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
+ dom-accessibility-api@0.6.3:
+ resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
+
dot-prop@5.3.0:
resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
engines: {node: '>=8'}
@@ -2238,9 +2195,6 @@ packages:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
engines: {node: '>= 0.4'}
- eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
-
electron-to-chromium@1.5.351:
resolution: {integrity: sha512-9D7Iqx8RImSvCnOsj86rCH6eQjZFQoM04Jn6HnZVM0Nu/G58/gmKYQ1d12MZTbjQbQSTGI8nwEy07ErsA2slLA==}
@@ -2256,6 +2210,10 @@ packages:
emojilib@2.4.0:
resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==}
+ empathic@2.0.1:
+ resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==}
+ engines: {node: '>=14'}
+
enhanced-resolve@5.21.0:
resolution: {integrity: sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==}
engines: {node: '>=10.13.0'}
@@ -2318,21 +2276,6 @@ packages:
resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
engines: {node: '>= 0.4'}
- esbuild-register@3.6.0:
- resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==}
- peerDependencies:
- esbuild: '>=0.12 <1'
-
- esbuild@0.25.12:
- resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
- engines: {node: '>=18'}
- hasBin: true
-
- esbuild@0.27.7:
- resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==}
- engines: {node: '>=18'}
- hasBin: true
-
esbuild@0.28.1:
resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==}
engines: {node: '>=18'}
@@ -2454,8 +2397,8 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- fast-uri@3.1.2:
- resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==}
+ fast-uri@3.1.4:
+ resolution: {integrity: sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==}
fastest-levenshtein@1.0.16:
resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
@@ -2516,10 +2459,6 @@ packages:
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
engines: {node: '>= 0.4'}
- foreground-child@3.3.1:
- resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
- engines: {node: '>=14'}
-
fs-extra@7.0.1:
resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
engines: {node: '>=6 <7 || >=8'}
@@ -2597,10 +2536,9 @@ packages:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
- glob@10.5.0:
- resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==}
- deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
- hasBin: true
+ glob@13.0.6:
+ resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
+ engines: {node: 18 || 20 || >=22}
global-directory@4.0.1:
resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
@@ -2724,8 +2662,9 @@ packages:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
- inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
@@ -2742,10 +2681,6 @@ packages:
resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==}
engines: {node: '>=10.13.0'}
- is-arguments@1.2.0:
- resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==}
- engines: {node: '>= 0.4'}
-
is-array-buffer@3.0.5:
resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
engines: {node: '>= 0.4'}
@@ -2781,9 +2716,9 @@ packages:
resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
engines: {node: '>= 0.4'}
- is-docker@2.2.1:
- resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
- engines: {node: '>=8'}
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
hasBin: true
is-extglob@2.1.1:
@@ -2814,6 +2749,11 @@ packages:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
is-installed-globally@1.0.0:
resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==}
engines: {node: '>=18'}
@@ -2901,9 +2841,9 @@ packages:
resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
engines: {node: '>=0.10.0'}
- is-wsl@2.2.0:
- resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
- engines: {node: '>=8'}
+ is-wsl@3.1.1:
+ resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==}
+ engines: {node: '>=16'}
isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
@@ -2919,9 +2859,6 @@ packages:
resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
engines: {node: '>= 0.4'}
- jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
-
jiti@2.6.1:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
@@ -2940,18 +2877,14 @@ packages:
js-tokens@9.0.1:
resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
- js-yaml@3.14.2:
- resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==}
+ js-yaml@3.15.0:
+ resolution: {integrity: sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==}
hasBin: true
- js-yaml@4.1.1:
- resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
+ js-yaml@4.3.0:
+ resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==}
hasBin: true
- jsdoc-type-pratt-parser@4.8.0:
- resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==}
- engines: {node: '>=12.0.0'}
-
jsdom@29.1.1:
resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0}
@@ -2986,6 +2919,9 @@ packages:
engines: {node: '>=6'}
hasBin: true
+ jsonc-parser@3.3.1:
+ resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
+
jsonfile@4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
@@ -3168,9 +3104,6 @@ packages:
loupe@3.2.1:
resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==}
- lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
-
lru-cache@11.5.2:
resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==}
engines: {node: 20 || >=22}
@@ -3187,10 +3120,6 @@ packages:
resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
hasBin: true
- magic-string@0.27.0:
- resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
- engines: {node: '>=12'}
-
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
@@ -3246,6 +3175,10 @@ packages:
resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
engines: {node: '>=18'}
+ min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+
minimatch@10.2.5:
resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
engines: {node: 18 || 20 || >=22}
@@ -3253,10 +3186,6 @@ packages:
minimatch@3.1.5:
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
- minimatch@9.0.7:
- resolution: {integrity: sha512-MOwgjc8tfrpn5QQEvjijjmDVtMw2oL88ugTevzxQnzRLm6l3fVEF2gzU0kYeYYKD8C66+IdGX6peJ4MyUlUnPg==}
- engines: {node: '>=16 || 14 >=14.17'}
-
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
@@ -3348,9 +3277,9 @@ packages:
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
engines: {node: '>=18'}
- open@8.4.2:
- resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
- engines: {node: '>=12'}
+ open@10.2.0:
+ resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==}
+ engines: {node: '>=18'}
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
@@ -3363,6 +3292,13 @@ packages:
resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
engines: {node: '>= 0.4'}
+ oxc-parser@0.127.0:
+ resolution: {integrity: sha512-bkgD4qHlN7WxLdX8bLXdaU54TtQtAIg/ZBAfm0aje/mo3MRDo3P0hZSgr4U7O3xfX+fQmR5AP04JS/TGcZLcFA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
+ oxc-resolver@11.24.2:
+ resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==}
+
p-filter@2.1.0:
resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
engines: {node: '>=8'}
@@ -3399,9 +3335,6 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
- package-json-from-dist@1.0.1:
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
-
package-manager-detector@0.2.11:
resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==}
@@ -3447,9 +3380,9 @@ packages:
path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
+ path-scurry@2.0.2:
+ resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
+ engines: {node: 18 || 20 || >=22}
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
@@ -3564,10 +3497,6 @@ packages:
peerDependencies:
react: '>=16.0.0'
- process@0.11.10:
- resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
- engines: {node: '>= 0.6.0'}
-
prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@@ -3594,26 +3523,14 @@ packages:
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- react-aria-components@1.19.0:
- resolution: {integrity: sha512-2smSS5nqJ8cGYMQezuUXveZm7eMyHCqTN6mDpylQBYLYbdF5dxCCuW1DHn1VKLe1DybSfPvX/cZtJlDmvFfn8A==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
-
- react-aria@3.50.0:
- resolution: {integrity: sha512-S0Os6QZk33fzUAKu1QLT9afoUaCBt1ZNdoiq0n2YMVgKIdNIQS8zxiZ8O9hYE6QyDkHKjD6q39LQZ+qaSAIgjw==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
-
react-docgen-typescript@2.4.0:
resolution: {integrity: sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg==}
peerDependencies:
typescript: '>= 4.3.x'
- react-docgen@7.1.1:
- resolution: {integrity: sha512-hlSJDQ2synMPKFZOsKo9Hi8WWZTC7POR8EmWvTSjow+VDgKzkmjQvFm2fk0tmRw+f0vTOIYKlarR0iL4996pdg==}
- engines: {node: '>=16.14.0'}
+ react-docgen@8.0.3:
+ resolution: {integrity: sha512-aEZ9qP+/M+58x2qgfSFEWH1BxLyHe5+qkLNJOZQb5iGS017jpbRnoKhNRrXPeA6RfBrZO5wZrT9DMC1UqE1f1w==}
+ engines: {node: ^20.9.0 || >=22}
react-dom@18.3.1:
resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
@@ -3630,11 +3547,6 @@ packages:
resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
engines: {node: '>=0.10.0'}
- react-stately@3.48.0:
- resolution: {integrity: sha512-ImicSAG+lTotAe5izcs1fz49Zk48w7pDusqYg04WaPhCoej8BJ24soMu3iLXIrsi273s4P1gZrYGrqReMfgEEA==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
-
react@18.3.1:
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
@@ -3655,6 +3567,10 @@ packages:
resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
engines: {node: '>= 10.13.0'}
+ redent@3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+ engines: {node: '>=8'}
+
reflect.getprototypeof@1.0.10:
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
engines: {node: '>= 0.4'}
@@ -3712,6 +3628,10 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ run-applescript@7.1.0:
+ resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==}
+ engines: {node: '>=18'}
+
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
@@ -3871,14 +3791,20 @@ packages:
resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
engines: {node: '>= 0.4'}
- storybook@8.6.18:
- resolution: {integrity: sha512-p8seiSI6FiVY6P3V0pG+5v7c8pDMehMAFRWEhG5XqIBSQszzOjDnW2rNvm3odoLKfo3V3P6Cs6Hv9ILzymULyQ==}
+ storybook@10.5.3:
+ resolution: {integrity: sha512-c8Wumu5qz0N2fnzWBxcPzUsY+8BpKBKChNyl4BEh9qhMV6KW587gL8il8emRB+4Hay+zMjDHA7cIeTkl4FKYuw==}
hasBin: true
peerDependencies:
+ '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
prettier: ^2 || ^3
+ vite-plus: ^0.1.15 || ^0.2.0
peerDependenciesMeta:
+ '@types/react':
+ optional: true
prettier:
optional: true
+ vite-plus:
+ optional: true
string-argv@0.3.2:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
@@ -3888,10 +3814,6 @@ packages:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
- string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
-
string-width@7.2.0:
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
engines: {node: '>=18'}
@@ -3935,6 +3857,10 @@ packages:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
+ strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+
strip-indent@4.1.1:
resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==}
engines: {node: '>=12'}
@@ -4230,9 +4156,9 @@ packages:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
engines: {node: '>= 4.0.0'}
- unplugin@1.16.1:
- resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
- engines: {node: '>=14.0.0'}
+ unplugin@2.3.11:
+ resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==}
+ engines: {node: '>=18.12.0'}
update-browserslist-db@1.2.3:
resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
@@ -4251,9 +4177,6 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- util@0.12.5:
- resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==}
-
validate-npm-package-name@5.0.1:
resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -4393,10 +4316,6 @@ packages:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
- wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
-
wrap-ansi@9.0.2:
resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
engines: {node: '>=18'}
@@ -4417,6 +4336,10 @@ packages:
utf-8-validate:
optional: true
+ wsl-utils@0.1.0:
+ resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==}
+ engines: {node: '>=18'}
+
xml-name-validator@5.0.0:
resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
engines: {node: '>=18'}
@@ -4460,8 +4383,13 @@ packages:
resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==}
engines: {node: '>=12.20'}
+ zod@4.4.3:
+ resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==}
+
snapshots:
+ '@adobe/css-tools@4.5.0': {}
+
'@andrewbranch/untar.js@1.0.3': {}
'@arethetypeswrong/cli@0.18.5':
@@ -4516,19 +4444,25 @@ snapshots:
js-tokens: 4.0.0
picocolors: 1.1.1
- '@babel/compat-data@7.29.3': {}
+ '@babel/code-frame@7.29.7':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.29.7
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/compat-data@7.29.7': {}
- '@babel/core@7.29.0':
+ '@babel/core@7.29.7':
dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/generator': 7.29.1
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
- '@babel/helpers': 7.29.2
- '@babel/parser': 7.29.3
- '@babel/template': 7.28.6
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
+ '@babel/code-frame': 7.29.7
+ '@babel/generator': 7.29.7
+ '@babel/helper-compilation-targets': 7.29.7
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
+ '@babel/helpers': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/template': 7.29.7
+ '@babel/traverse': 7.29.7
+ '@babel/types': 7.29.7
'@jridgewell/remapping': 2.3.5
convert-source-map: 2.0.0
debug: 4.4.3
@@ -4538,37 +4472,37 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.29.1':
+ '@babel/generator@7.29.7':
dependencies:
- '@babel/parser': 7.29.3
- '@babel/types': 7.29.0
+ '@babel/parser': 7.29.7
+ '@babel/types': 7.29.7
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
jsesc: 3.1.0
- '@babel/helper-compilation-targets@7.28.6':
+ '@babel/helper-compilation-targets@7.29.7':
dependencies:
- '@babel/compat-data': 7.29.3
- '@babel/helper-validator-option': 7.27.1
+ '@babel/compat-data': 7.29.7
+ '@babel/helper-validator-option': 7.29.7
browserslist: 4.28.2
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-globals@7.28.0': {}
+ '@babel/helper-globals@7.29.7': {}
- '@babel/helper-module-imports@7.28.6':
+ '@babel/helper-module-imports@7.29.7':
dependencies:
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
+ '@babel/traverse': 7.29.7
+ '@babel/types': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)':
+ '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-module-imports': 7.28.6
- '@babel/helper-validator-identifier': 7.28.5
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-module-imports': 7.29.7
+ '@babel/helper-validator-identifier': 7.29.7
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
@@ -4576,45 +4510,53 @@ snapshots:
'@babel/helper-string-parser@7.27.1': {}
+ '@babel/helper-string-parser@7.29.7': {}
+
'@babel/helper-validator-identifier@7.28.5': {}
- '@babel/helper-validator-option@7.27.1': {}
+ '@babel/helper-validator-identifier@7.29.7': {}
+
+ '@babel/helper-validator-option@7.29.7': {}
- '@babel/helpers@7.29.2':
+ '@babel/helpers@7.29.7':
dependencies:
- '@babel/template': 7.28.6
- '@babel/types': 7.29.0
+ '@babel/template': 7.29.7
+ '@babel/types': 7.29.7
'@babel/parser@7.29.3':
dependencies:
'@babel/types': 7.29.0
- '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)':
+ '@babel/parser@7.29.7':
+ dependencies:
+ '@babel/types': 7.29.7
+
+ '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
+ '@babel/core': 7.29.7
'@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
+ '@babel/core': 7.29.7
'@babel/helper-plugin-utils': 7.28.6
'@babel/runtime@7.29.2': {}
- '@babel/template@7.28.6':
+ '@babel/template@7.29.7':
dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/parser': 7.29.3
- '@babel/types': 7.29.0
+ '@babel/code-frame': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/types': 7.29.7
- '@babel/traverse@7.29.0':
+ '@babel/traverse@7.29.7':
dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/generator': 7.29.1
- '@babel/helper-globals': 7.28.0
- '@babel/parser': 7.29.3
- '@babel/template': 7.28.6
- '@babel/types': 7.29.0
+ '@babel/code-frame': 7.29.7
+ '@babel/generator': 7.29.7
+ '@babel/helper-globals': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/template': 7.29.7
+ '@babel/types': 7.29.7
debug: 4.4.3
transitivePeerDependencies:
- supports-color
@@ -4624,6 +4566,11 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
+ '@babel/types@7.29.7':
+ dependencies:
+ '@babel/helper-string-parser': 7.29.7
+ '@babel/helper-validator-identifier': 7.29.7
+
'@braidai/lang@1.1.2': {}
'@bramus/specificity@2.4.2':
@@ -4750,7 +4697,7 @@ snapshots:
'@changesets/parse@0.4.3':
dependencies:
'@changesets/types': 6.1.0
- js-yaml: 4.1.1
+ js-yaml: 4.3.0
'@changesets/pre@2.0.2':
dependencies:
@@ -4939,237 +4886,113 @@ snapshots:
'@dual-bundle/import-meta-resolve@4.2.1': {}
- '@esbuild/aix-ppc64@0.25.12':
+ '@emnapi/core@1.11.2':
+ dependencies:
+ '@emnapi/wasi-threads': 1.2.2
+ tslib: 2.8.1
optional: true
- '@esbuild/aix-ppc64@0.27.7':
+ '@emnapi/core@1.9.2':
+ dependencies:
+ '@emnapi/wasi-threads': 1.2.1
+ tslib: 2.8.1
optional: true
- '@esbuild/aix-ppc64@0.28.1':
+ '@emnapi/runtime@1.11.2':
+ dependencies:
+ tslib: 2.8.1
optional: true
- '@esbuild/android-arm64@0.25.12':
+ '@emnapi/runtime@1.9.2':
+ dependencies:
+ tslib: 2.8.1
optional: true
- '@esbuild/android-arm64@0.27.7':
+ '@emnapi/wasi-threads@1.2.1':
+ dependencies:
+ tslib: 2.8.1
optional: true
- '@esbuild/android-arm64@0.28.1':
+ '@emnapi/wasi-threads@1.2.2':
+ dependencies:
+ tslib: 2.8.1
optional: true
- '@esbuild/android-arm@0.25.12':
+ '@esbuild/aix-ppc64@0.28.1':
optional: true
- '@esbuild/android-arm@0.27.7':
+ '@esbuild/android-arm64@0.28.1':
optional: true
'@esbuild/android-arm@0.28.1':
optional: true
- '@esbuild/android-x64@0.25.12':
- optional: true
-
- '@esbuild/android-x64@0.27.7':
- optional: true
-
'@esbuild/android-x64@0.28.1':
optional: true
- '@esbuild/darwin-arm64@0.25.12':
- optional: true
-
- '@esbuild/darwin-arm64@0.27.7':
- optional: true
-
'@esbuild/darwin-arm64@0.28.1':
optional: true
- '@esbuild/darwin-x64@0.25.12':
- optional: true
-
- '@esbuild/darwin-x64@0.27.7':
- optional: true
-
'@esbuild/darwin-x64@0.28.1':
optional: true
- '@esbuild/freebsd-arm64@0.25.12':
- optional: true
-
- '@esbuild/freebsd-arm64@0.27.7':
- optional: true
-
'@esbuild/freebsd-arm64@0.28.1':
optional: true
- '@esbuild/freebsd-x64@0.25.12':
- optional: true
-
- '@esbuild/freebsd-x64@0.27.7':
- optional: true
-
'@esbuild/freebsd-x64@0.28.1':
optional: true
- '@esbuild/linux-arm64@0.25.12':
- optional: true
-
- '@esbuild/linux-arm64@0.27.7':
- optional: true
-
'@esbuild/linux-arm64@0.28.1':
optional: true
- '@esbuild/linux-arm@0.25.12':
- optional: true
-
- '@esbuild/linux-arm@0.27.7':
- optional: true
-
'@esbuild/linux-arm@0.28.1':
optional: true
- '@esbuild/linux-ia32@0.25.12':
- optional: true
-
- '@esbuild/linux-ia32@0.27.7':
- optional: true
-
'@esbuild/linux-ia32@0.28.1':
optional: true
- '@esbuild/linux-loong64@0.25.12':
- optional: true
-
- '@esbuild/linux-loong64@0.27.7':
- optional: true
-
'@esbuild/linux-loong64@0.28.1':
optional: true
- '@esbuild/linux-mips64el@0.25.12':
- optional: true
-
- '@esbuild/linux-mips64el@0.27.7':
- optional: true
-
'@esbuild/linux-mips64el@0.28.1':
optional: true
- '@esbuild/linux-ppc64@0.25.12':
- optional: true
-
- '@esbuild/linux-ppc64@0.27.7':
- optional: true
-
'@esbuild/linux-ppc64@0.28.1':
optional: true
- '@esbuild/linux-riscv64@0.25.12':
- optional: true
-
- '@esbuild/linux-riscv64@0.27.7':
- optional: true
-
'@esbuild/linux-riscv64@0.28.1':
optional: true
- '@esbuild/linux-s390x@0.25.12':
- optional: true
-
- '@esbuild/linux-s390x@0.27.7':
- optional: true
-
'@esbuild/linux-s390x@0.28.1':
optional: true
- '@esbuild/linux-x64@0.25.12':
- optional: true
-
- '@esbuild/linux-x64@0.27.7':
- optional: true
-
'@esbuild/linux-x64@0.28.1':
optional: true
- '@esbuild/netbsd-arm64@0.25.12':
- optional: true
-
- '@esbuild/netbsd-arm64@0.27.7':
- optional: true
-
'@esbuild/netbsd-arm64@0.28.1':
optional: true
- '@esbuild/netbsd-x64@0.25.12':
- optional: true
-
- '@esbuild/netbsd-x64@0.27.7':
- optional: true
-
'@esbuild/netbsd-x64@0.28.1':
optional: true
- '@esbuild/openbsd-arm64@0.25.12':
- optional: true
-
- '@esbuild/openbsd-arm64@0.27.7':
- optional: true
-
'@esbuild/openbsd-arm64@0.28.1':
optional: true
- '@esbuild/openbsd-x64@0.25.12':
- optional: true
-
- '@esbuild/openbsd-x64@0.27.7':
- optional: true
-
'@esbuild/openbsd-x64@0.28.1':
optional: true
- '@esbuild/openharmony-arm64@0.25.12':
- optional: true
-
- '@esbuild/openharmony-arm64@0.27.7':
- optional: true
-
'@esbuild/openharmony-arm64@0.28.1':
optional: true
- '@esbuild/sunos-x64@0.25.12':
- optional: true
-
- '@esbuild/sunos-x64@0.27.7':
- optional: true
-
'@esbuild/sunos-x64@0.28.1':
optional: true
- '@esbuild/win32-arm64@0.25.12':
- optional: true
-
- '@esbuild/win32-arm64@0.27.7':
- optional: true
-
'@esbuild/win32-arm64@0.28.1':
optional: true
- '@esbuild/win32-ia32@0.25.12':
- optional: true
-
- '@esbuild/win32-ia32@0.27.7':
- optional: true
-
'@esbuild/win32-ia32@0.28.1':
optional: true
- '@esbuild/win32-x64@0.25.12':
- optional: true
-
- '@esbuild/win32-x64@0.27.7':
- optional: true
-
'@esbuild/win32-x64@0.28.1':
optional: true
@@ -5204,7 +5027,7 @@ snapshots:
globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.1
- js-yaml: 4.1.1
+ js-yaml: 4.3.0
minimatch: 3.1.5
strip-json-comments: 3.1.1
transitivePeerDependencies:
@@ -5235,105 +5058,221 @@ snapshots:
'@humanwhocodes/module-importer@1.0.1': {}
- '@humanwhocodes/retry@0.4.3': {}
+ '@humanwhocodes/retry@0.4.3': {}
+
+ '@inquirer/external-editor@1.0.3(@types/node@22.19.17)':
+ dependencies:
+ chardet: 2.1.1
+ iconv-lite: 0.7.2
+ optionalDependencies:
+ '@types/node': 22.19.17
+
+ '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0(typescript@5.8.3)(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))':
+ dependencies:
+ glob: 13.0.6
+ react-docgen-typescript: 2.4.0(typescript@5.8.3)
+ vite: 6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4)
+ optionalDependencies:
+ typescript: 5.8.3
+
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/sourcemap-codec@1.5.5': {}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@keyv/bigmap@1.3.1(keyv@5.6.0)':
+ dependencies:
+ hashery: 1.5.1
+ hookified: 1.15.1
+ keyv: 5.6.0
+
+ '@keyv/serialize@1.1.1': {}
+
+ '@loaderkit/resolve@1.0.6':
+ dependencies:
+ '@braidai/lang': 1.1.2
+
+ '@manypkg/find-root@1.1.0':
+ dependencies:
+ '@babel/runtime': 7.29.2
+ '@types/node': 12.20.55
+ find-up: 4.1.0
+ fs-extra: 8.1.0
+
+ '@manypkg/get-packages@1.1.3':
+ dependencies:
+ '@babel/runtime': 7.29.2
+ '@changesets/types': 4.1.0
+ '@manypkg/find-root': 1.1.0
+ fs-extra: 8.1.0
+ globby: 11.1.0
+ read-yaml-file: 1.1.0
+
+ '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)':
+ dependencies:
+ '@emnapi/core': 1.11.2
+ '@emnapi/runtime': 1.11.2
+ '@tybys/wasm-util': 0.10.3
+ optional: true
+
+ '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)':
+ dependencies:
+ '@emnapi/core': 1.9.2
+ '@emnapi/runtime': 1.9.2
+ '@tybys/wasm-util': 0.10.3
+ optional: true
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.20.1
+
+ '@oxc-parser/binding-android-arm-eabi@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-android-arm64@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-darwin-arm64@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-darwin-x64@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-freebsd-x64@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm-musleabihf@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm64-gnu@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm64-musl@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-ppc64-gnu@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-riscv64-gnu@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-riscv64-musl@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-s390x-gnu@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-x64-gnu@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-x64-musl@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-openharmony-arm64@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-wasm32-wasi@0.127.0':
+ dependencies:
+ '@emnapi/core': 1.9.2
+ '@emnapi/runtime': 1.9.2
+ '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)
+ optional: true
+
+ '@oxc-parser/binding-win32-arm64-msvc@0.127.0':
+ optional: true
+
+ '@oxc-parser/binding-win32-ia32-msvc@0.127.0':
+ optional: true
- '@inquirer/external-editor@1.0.3(@types/node@22.19.17)':
- dependencies:
- chardet: 2.1.1
- iconv-lite: 0.7.2
- optionalDependencies:
- '@types/node': 22.19.17
+ '@oxc-parser/binding-win32-x64-msvc@0.127.0':
+ optional: true
- '@internationalized/date@3.12.2':
- dependencies:
- '@swc/helpers': 0.5.23
+ '@oxc-project/types@0.127.0': {}
- '@internationalized/number@3.6.7':
- dependencies:
- '@swc/helpers': 0.5.23
+ '@oxc-resolver/binding-android-arm-eabi@11.24.2':
+ optional: true
- '@internationalized/string@3.2.9':
- dependencies:
- '@swc/helpers': 0.5.23
+ '@oxc-resolver/binding-android-arm64@11.24.2':
+ optional: true
- '@isaacs/cliui@8.0.2':
- dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.2.0
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
+ '@oxc-resolver/binding-darwin-arm64@11.24.2':
+ optional: true
- '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.8.3)(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))':
- dependencies:
- glob: 10.5.0
- magic-string: 0.27.0
- react-docgen-typescript: 2.4.0(typescript@5.8.3)
- vite: 6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4)
- optionalDependencies:
- typescript: 5.8.3
+ '@oxc-resolver/binding-darwin-x64@11.24.2':
+ optional: true
- '@jridgewell/gen-mapping@0.3.13':
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.5
- '@jridgewell/trace-mapping': 0.3.31
+ '@oxc-resolver/binding-freebsd-x64@11.24.2':
+ optional: true
- '@jridgewell/remapping@2.3.5':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
+ '@oxc-resolver/binding-linux-arm-gnueabihf@11.24.2':
+ optional: true
- '@jridgewell/resolve-uri@3.1.2': {}
+ '@oxc-resolver/binding-linux-arm-musleabihf@11.24.2':
+ optional: true
- '@jridgewell/sourcemap-codec@1.5.5': {}
+ '@oxc-resolver/binding-linux-arm64-gnu@11.24.2':
+ optional: true
- '@jridgewell/trace-mapping@0.3.31':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.5
+ '@oxc-resolver/binding-linux-arm64-musl@11.24.2':
+ optional: true
- '@keyv/bigmap@1.3.1(keyv@5.6.0)':
- dependencies:
- hashery: 1.5.1
- hookified: 1.15.1
- keyv: 5.6.0
+ '@oxc-resolver/binding-linux-ppc64-gnu@11.24.2':
+ optional: true
- '@keyv/serialize@1.1.1': {}
+ '@oxc-resolver/binding-linux-riscv64-gnu@11.24.2':
+ optional: true
- '@loaderkit/resolve@1.0.6':
- dependencies:
- '@braidai/lang': 1.1.2
+ '@oxc-resolver/binding-linux-riscv64-musl@11.24.2':
+ optional: true
- '@manypkg/find-root@1.1.0':
- dependencies:
- '@babel/runtime': 7.29.2
- '@types/node': 12.20.55
- find-up: 4.1.0
- fs-extra: 8.1.0
+ '@oxc-resolver/binding-linux-s390x-gnu@11.24.2':
+ optional: true
- '@manypkg/get-packages@1.1.3':
- dependencies:
- '@babel/runtime': 7.29.2
- '@changesets/types': 4.1.0
- '@manypkg/find-root': 1.1.0
- fs-extra: 8.1.0
- globby: 11.1.0
- read-yaml-file: 1.1.0
+ '@oxc-resolver/binding-linux-x64-gnu@11.24.2':
+ optional: true
- '@nodelib/fs.scandir@2.1.5':
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
+ '@oxc-resolver/binding-linux-x64-musl@11.24.2':
+ optional: true
- '@nodelib/fs.stat@2.0.5': {}
+ '@oxc-resolver/binding-openharmony-arm64@11.24.2':
+ optional: true
- '@nodelib/fs.walk@1.2.8':
+ '@oxc-resolver/binding-wasm32-wasi@11.24.2':
dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.20.1
+ '@emnapi/core': 1.11.2
+ '@emnapi/runtime': 1.11.2
+ '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)
+ optional: true
+
+ '@oxc-resolver/binding-win32-arm64-msvc@11.24.2':
+ optional: true
- '@pkgjs/parseargs@0.11.0':
+ '@oxc-resolver/binding-win32-x64-msvc@11.24.2':
optional: true
'@playwright/test@1.59.1':
@@ -5344,10 +5283,6 @@ snapshots:
dependencies:
tinyexec: 1.2.4
- '@react-types/shared@3.36.0(react@18.3.1)':
- dependencies:
- react: 18.3.1
-
'@rolldown/pluginutils@1.0.0-beta.27': {}
'@rollup/pluginutils@5.3.0(rollup@4.60.3)':
@@ -5445,101 +5380,81 @@ snapshots:
dependencies:
size-limit: 12.1.0(jiti@2.7.0)
- '@storybook/builder-vite@8.6.18(storybook@8.6.18(prettier@3.8.3))(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))':
+ '@storybook/builder-vite@10.5.3(esbuild@0.28.1)(rollup@4.60.3)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))':
dependencies:
- '@storybook/csf-plugin': 8.6.18(storybook@8.6.18(prettier@3.8.3))
- browser-assert: 1.2.1
- storybook: 8.6.18(prettier@3.8.3)
+ '@storybook/csf-plugin': 10.5.3(esbuild@0.28.1)(rollup@4.60.3)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))
+ storybook: 10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1)
ts-dedent: 2.2.0
vite: 6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4)
-
- '@storybook/components@8.6.18(storybook@8.6.18(prettier@3.8.3))':
- dependencies:
- storybook: 8.6.18(prettier@3.8.3)
-
- '@storybook/core@8.6.18(prettier@3.8.3)(storybook@8.6.18(prettier@3.8.3))':
- dependencies:
- '@storybook/theming': 8.6.18(storybook@8.6.18(prettier@3.8.3))
- better-opn: 3.0.2
- browser-assert: 1.2.1
- esbuild: 0.25.12
- esbuild-register: 3.6.0(esbuild@0.25.12)
- jsdoc-type-pratt-parser: 4.8.0
- process: 0.11.10
- recast: 0.23.11
- semver: 7.7.4
- util: 0.12.5
- ws: 8.21.0
- optionalDependencies:
- prettier: 3.8.3
transitivePeerDependencies:
- - bufferutil
- - storybook
- - supports-color
- - utf-8-validate
+ - esbuild
+ - rollup
+ - webpack
- '@storybook/csf-plugin@8.6.18(storybook@8.6.18(prettier@3.8.3))':
+ '@storybook/csf-plugin@10.5.3(esbuild@0.28.1)(rollup@4.60.3)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))':
dependencies:
- storybook: 8.6.18(prettier@3.8.3)
- unplugin: 1.16.1
+ storybook: 10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1)
+ unplugin: 2.3.11
+ optionalDependencies:
+ esbuild: 0.28.1
+ rollup: 4.60.3
+ vite: 6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4)
'@storybook/global@5.0.0': {}
- '@storybook/manager-api@8.6.18(storybook@8.6.18(prettier@3.8.3))':
- dependencies:
- storybook: 8.6.18(prettier@3.8.3)
-
- '@storybook/preview-api@8.6.18(storybook@8.6.18(prettier@3.8.3))':
+ '@storybook/icons@2.1.0(react@18.3.1)':
dependencies:
- storybook: 8.6.18(prettier@3.8.3)
+ react: 18.3.1
- '@storybook/react-dom-shim@8.6.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.18(prettier@3.8.3))':
+ '@storybook/react-dom-shim@10.5.3(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))':
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- storybook: 8.6.18(prettier@3.8.3)
+ storybook: 10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.28
+ '@types/react-dom': 18.3.7(@types/react@18.3.28)
- '@storybook/react-vite@8.6.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.60.3)(storybook@8.6.18(prettier@3.8.3))(typescript@5.8.3)(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))':
+ '@storybook/react-vite@10.5.3(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(esbuild@0.28.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.60.3)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))(typescript@5.8.3)(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))':
dependencies:
- '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.8.3)(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))
+ '@joshwooding/vite-plugin-react-docgen-typescript': 0.7.0(typescript@5.8.3)(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))
'@rollup/pluginutils': 5.3.0(rollup@4.60.3)
- '@storybook/builder-vite': 8.6.18(storybook@8.6.18(prettier@3.8.3))(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))
- '@storybook/react': 8.6.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.18(prettier@3.8.3))(typescript@5.8.3)
- find-up: 5.0.0
+ '@storybook/builder-vite': 10.5.3(esbuild@0.28.1)(rollup@4.60.3)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))
+ '@storybook/react': 10.5.3(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))(typescript@5.8.3)
+ empathic: 2.0.1
magic-string: 0.30.21
react: 18.3.1
- react-docgen: 7.1.1
+ react-docgen: 8.0.3
react-dom: 18.3.1(react@18.3.1)
resolve: 1.22.12
- storybook: 8.6.18(prettier@3.8.3)
+ storybook: 10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1)
tsconfig-paths: 4.2.0
vite: 6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4)
+ optionalDependencies:
+ typescript: 5.8.3
transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+ - esbuild
- rollup
- supports-color
- - typescript
+ - webpack
- '@storybook/react@8.6.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.18(prettier@3.8.3))(typescript@5.8.3)':
+ '@storybook/react@10.5.3(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))(typescript@5.8.3)':
dependencies:
- '@storybook/components': 8.6.18(storybook@8.6.18(prettier@3.8.3))
'@storybook/global': 5.0.0
- '@storybook/manager-api': 8.6.18(storybook@8.6.18(prettier@3.8.3))
- '@storybook/preview-api': 8.6.18(storybook@8.6.18(prettier@3.8.3))
- '@storybook/react-dom-shim': 8.6.18(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.6.18(prettier@3.8.3))
- '@storybook/theming': 8.6.18(storybook@8.6.18(prettier@3.8.3))
+ '@storybook/react-dom-shim': 10.5.3(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1))
react: 18.3.1
+ react-docgen: 8.0.3
+ react-docgen-typescript: 2.4.0(typescript@5.8.3)
react-dom: 18.3.1(react@18.3.1)
- storybook: 8.6.18(prettier@3.8.3)
+ storybook: 10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1)
optionalDependencies:
+ '@types/react': 18.3.28
+ '@types/react-dom': 18.3.7(@types/react@18.3.28)
typescript: 5.8.3
-
- '@storybook/theming@8.6.18(storybook@8.6.18(prettier@3.8.3))':
- dependencies:
- storybook: 8.6.18(prettier@3.8.3)
-
- '@swc/helpers@0.5.23':
- dependencies:
- tslib: 2.8.1
+ transitivePeerDependencies:
+ - supports-color
'@tailwindcss/node@4.3.2':
dependencies:
@@ -5646,7 +5561,7 @@ snapshots:
'@testing-library/dom@10.4.1':
dependencies:
- '@babel/code-frame': 7.29.0
+ '@babel/code-frame': 7.29.7
'@babel/runtime': 7.29.2
'@types/aria-query': 5.0.4
aria-query: 5.3.0
@@ -5655,6 +5570,15 @@ snapshots:
picocolors: 1.1.1
pretty-format: 27.5.1
+ '@testing-library/jest-dom@6.9.1':
+ dependencies:
+ '@adobe/css-tools': 4.5.0
+ aria-query: 5.3.2
+ css.escape: 1.5.1
+ dom-accessibility-api: 0.6.3
+ picocolors: 1.1.1
+ redent: 3.0.0
+
'@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.29.2
@@ -5665,6 +5589,15 @@ snapshots:
'@types/react': 18.3.28
'@types/react-dom': 18.3.7(@types/react@18.3.28)
+ '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)':
+ dependencies:
+ '@testing-library/dom': 10.4.1
+
+ '@tybys/wasm-util@0.10.3':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@types/aria-query@5.0.4': {}
'@types/babel__core@7.20.5':
@@ -5819,9 +5752,9 @@ snapshots:
'@vitejs/plugin-react@4.7.0(vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4))':
dependencies:
- '@babel/core': 7.29.0
- '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0)
+ '@babel/core': 7.29.7
+ '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.7)
+ '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.7)
'@rolldown/pluginutils': 1.0.0-beta.27
'@types/babel__core': 7.20.5
react-refresh: 0.17.0
@@ -5829,6 +5762,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@vitest/expect@3.2.4':
+ dependencies:
+ '@types/chai': 5.2.3
+ '@vitest/spy': 3.2.4
+ '@vitest/utils': 3.2.4
+ chai: 5.3.3
+ tinyrainbow: 2.0.0
+
'@vitest/expect@3.2.7':
dependencies:
'@types/chai': 5.2.3
@@ -5845,6 +5786,10 @@ snapshots:
optionalDependencies:
vite: 6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4)
+ '@vitest/pretty-format@3.2.4':
+ dependencies:
+ tinyrainbow: 2.0.0
+
'@vitest/pretty-format@3.2.7':
dependencies:
tinyrainbow: 2.0.0
@@ -5861,16 +5806,28 @@ snapshots:
magic-string: 0.30.21
pathe: 2.0.3
+ '@vitest/spy@3.2.4':
+ dependencies:
+ tinyspy: 4.0.4
+
'@vitest/spy@3.2.7':
dependencies:
tinyspy: 4.0.4
+ '@vitest/utils@3.2.4':
+ dependencies:
+ '@vitest/pretty-format': 3.2.4
+ loupe: 3.2.1
+ tinyrainbow: 2.0.0
+
'@vitest/utils@3.2.7':
dependencies:
'@vitest/pretty-format': 3.2.7
loupe: 3.2.1
tinyrainbow: 2.0.0
+ '@webcontainer/env@1.1.1': {}
+
JSONStream@1.3.5:
dependencies:
jsonparse: 1.3.1
@@ -5902,7 +5859,7 @@ snapshots:
ajv@8.20.0:
dependencies:
fast-deep-equal: 3.1.3
- fast-uri: 3.1.2
+ fast-uri: 3.1.4
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
@@ -5932,10 +5889,6 @@ snapshots:
argparse@2.0.1: {}
- aria-hidden@1.2.6:
- dependencies:
- tslib: 2.8.1
-
aria-query@5.3.0:
dependencies:
dequal: 2.0.3
@@ -6033,10 +5986,6 @@ snapshots:
baseline-browser-mapping@2.10.27: {}
- better-opn@3.0.2:
- dependencies:
- open: 8.4.2
-
better-path-resolve@1.0.0:
dependencies:
is-windows: 1.0.2
@@ -6050,7 +5999,7 @@ snapshots:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@5.0.5:
+ brace-expansion@5.0.7:
dependencies:
balanced-match: 4.0.4
@@ -6058,8 +6007,6 @@ snapshots:
dependencies:
fill-range: 7.1.1
- browser-assert@1.2.1: {}
-
browserslist@4.28.2:
dependencies:
baseline-browser-mapping: 2.10.27
@@ -6068,9 +6015,13 @@ snapshots:
node-releases: 2.0.38
update-browserslist-db: 1.2.3(browserslist@4.28.2)
- bundle-require@5.1.0(esbuild@0.27.7):
+ bundle-name@4.1.0:
+ dependencies:
+ run-applescript: 7.1.0
+
+ bundle-require@5.1.0(esbuild@0.28.1):
dependencies:
- esbuild: 0.27.7
+ esbuild: 0.28.1
load-tsconfig: 0.2.5
bytes-iec@3.1.1: {}
@@ -6157,8 +6108,6 @@ snapshots:
slice-ansi: 5.0.0
string-width: 7.2.0
- client-only@0.0.1: {}
-
cliui@7.0.4:
dependencies:
string-width: 4.2.3
@@ -6230,7 +6179,7 @@ snapshots:
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.1
- js-yaml: 4.1.1
+ js-yaml: 4.3.0
parse-json: 5.2.0
optionalDependencies:
typescript: 5.8.3
@@ -6248,6 +6197,8 @@ snapshots:
mdn-data: 2.27.1
source-map-js: 1.2.1
+ css.escape@1.5.1: {}
+
cssesc@3.0.0: {}
csstype@3.2.3: {}
@@ -6291,13 +6242,20 @@ snapshots:
deep-is@0.1.4: {}
+ default-browser-id@5.0.1: {}
+
+ default-browser@5.5.0:
+ dependencies:
+ bundle-name: 4.1.0
+ default-browser-id: 5.0.1
+
define-data-property@1.1.4:
dependencies:
es-define-property: 1.0.1
es-errors: 1.3.0
gopd: 1.2.0
- define-lazy-prop@2.0.0: {}
+ define-lazy-prop@3.0.0: {}
define-properties@1.2.1:
dependencies:
@@ -6350,6 +6308,8 @@ snapshots:
dom-accessibility-api@0.5.16: {}
+ dom-accessibility-api@0.6.3: {}
+
dot-prop@5.3.0:
dependencies:
is-obj: 2.0.0
@@ -6360,8 +6320,6 @@ snapshots:
es-errors: 1.3.0
gopd: 1.2.0
- eastasianwidth@0.2.0: {}
-
electron-to-chromium@1.5.351: {}
emoji-regex@10.6.0: {}
@@ -6372,6 +6330,8 @@ snapshots:
emojilib@2.4.0: {}
+ empathic@2.0.1: {}
+
enhanced-resolve@5.21.0:
dependencies:
graceful-fs: 4.2.11
@@ -6500,71 +6460,6 @@ snapshots:
is-date-object: 1.1.0
is-symbol: 1.1.1
- esbuild-register@3.6.0(esbuild@0.25.12):
- dependencies:
- debug: 4.4.3
- esbuild: 0.25.12
- transitivePeerDependencies:
- - supports-color
-
- esbuild@0.25.12:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.12
- '@esbuild/android-arm': 0.25.12
- '@esbuild/android-arm64': 0.25.12
- '@esbuild/android-x64': 0.25.12
- '@esbuild/darwin-arm64': 0.25.12
- '@esbuild/darwin-x64': 0.25.12
- '@esbuild/freebsd-arm64': 0.25.12
- '@esbuild/freebsd-x64': 0.25.12
- '@esbuild/linux-arm': 0.25.12
- '@esbuild/linux-arm64': 0.25.12
- '@esbuild/linux-ia32': 0.25.12
- '@esbuild/linux-loong64': 0.25.12
- '@esbuild/linux-mips64el': 0.25.12
- '@esbuild/linux-ppc64': 0.25.12
- '@esbuild/linux-riscv64': 0.25.12
- '@esbuild/linux-s390x': 0.25.12
- '@esbuild/linux-x64': 0.25.12
- '@esbuild/netbsd-arm64': 0.25.12
- '@esbuild/netbsd-x64': 0.25.12
- '@esbuild/openbsd-arm64': 0.25.12
- '@esbuild/openbsd-x64': 0.25.12
- '@esbuild/openharmony-arm64': 0.25.12
- '@esbuild/sunos-x64': 0.25.12
- '@esbuild/win32-arm64': 0.25.12
- '@esbuild/win32-ia32': 0.25.12
- '@esbuild/win32-x64': 0.25.12
-
- esbuild@0.27.7:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.27.7
- '@esbuild/android-arm': 0.27.7
- '@esbuild/android-arm64': 0.27.7
- '@esbuild/android-x64': 0.27.7
- '@esbuild/darwin-arm64': 0.27.7
- '@esbuild/darwin-x64': 0.27.7
- '@esbuild/freebsd-arm64': 0.27.7
- '@esbuild/freebsd-x64': 0.27.7
- '@esbuild/linux-arm': 0.27.7
- '@esbuild/linux-arm64': 0.27.7
- '@esbuild/linux-ia32': 0.27.7
- '@esbuild/linux-loong64': 0.27.7
- '@esbuild/linux-mips64el': 0.27.7
- '@esbuild/linux-ppc64': 0.27.7
- '@esbuild/linux-riscv64': 0.27.7
- '@esbuild/linux-s390x': 0.27.7
- '@esbuild/linux-x64': 0.27.7
- '@esbuild/netbsd-arm64': 0.27.7
- '@esbuild/netbsd-x64': 0.27.7
- '@esbuild/openbsd-arm64': 0.27.7
- '@esbuild/openbsd-x64': 0.27.7
- '@esbuild/openharmony-arm64': 0.27.7
- '@esbuild/sunos-x64': 0.27.7
- '@esbuild/win32-arm64': 0.27.7
- '@esbuild/win32-ia32': 0.27.7
- '@esbuild/win32-x64': 0.27.7
-
esbuild@0.28.1:
optionalDependencies:
'@esbuild/aix-ppc64': 0.28.1
@@ -6757,7 +6652,7 @@ snapshots:
fast-levenshtein@2.0.6: {}
- fast-uri@3.1.2: {}
+ fast-uri@3.1.4: {}
fastest-levenshtein@1.0.16: {}
@@ -6822,11 +6717,6 @@ snapshots:
dependencies:
is-callable: 1.2.7
- foreground-child@3.3.1:
- dependencies:
- cross-spawn: 7.0.6
- signal-exit: 4.1.0
-
fs-extra@7.0.1:
dependencies:
graceful-fs: 4.2.11
@@ -6910,14 +6800,11 @@ snapshots:
dependencies:
is-glob: 4.0.3
- glob@10.5.0:
+ glob@13.0.6:
dependencies:
- foreground-child: 3.3.1
- jackspeak: 3.4.3
- minimatch: 9.0.7
+ minimatch: 10.2.5
minipass: 7.1.3
- package-json-from-dist: 1.0.1
- path-scurry: 1.11.1
+ path-scurry: 2.0.2
global-directory@4.0.1:
dependencies:
@@ -7020,7 +6907,7 @@ snapshots:
imurmurhash@0.1.4: {}
- inherits@2.0.4: {}
+ indent-string@4.0.0: {}
ini@1.3.8: {}
@@ -7034,11 +6921,6 @@ snapshots:
interpret@3.1.1: {}
- is-arguments@1.2.0:
- dependencies:
- call-bound: 1.0.4
- has-tostringtag: 1.0.2
-
is-array-buffer@3.0.5:
dependencies:
call-bind: 1.0.9
@@ -7081,7 +6963,7 @@ snapshots:
call-bound: 1.0.4
has-tostringtag: 1.0.2
- is-docker@2.2.1: {}
+ is-docker@3.0.0: {}
is-extglob@2.1.1: {}
@@ -7109,6 +6991,10 @@ snapshots:
dependencies:
is-extglob: 2.1.1
+ is-inside-container@1.0.0:
+ dependencies:
+ is-docker: 3.0.0
+
is-installed-globally@1.0.0:
dependencies:
global-directory: 4.0.1
@@ -7184,9 +7070,9 @@ snapshots:
is-windows@1.0.2: {}
- is-wsl@2.2.0:
+ is-wsl@3.1.1:
dependencies:
- is-docker: 2.2.1
+ is-inside-container: 1.0.0
isarray@2.0.5: {}
@@ -7203,12 +7089,6 @@ snapshots:
has-symbols: 1.1.0
set-function-name: 2.0.2
- jackspeak@3.4.3:
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
-
jiti@2.6.1: {}
jiti@2.7.0: {}
@@ -7219,17 +7099,15 @@ snapshots:
js-tokens@9.0.1: {}
- js-yaml@3.14.2:
+ js-yaml@3.15.0:
dependencies:
argparse: 1.0.10
esprima: 4.0.1
- js-yaml@4.1.1:
+ js-yaml@4.3.0:
dependencies:
argparse: 2.0.1
- jsdoc-type-pratt-parser@4.8.0: {}
-
jsdom@29.1.1:
dependencies:
'@asamuzakjp/css-color': 5.1.11
@@ -7270,6 +7148,8 @@ snapshots:
json5@2.2.3: {}
+ jsonc-parser@3.3.1: {}
+
jsonfile@4.0.0:
optionalDependencies:
graceful-fs: 4.2.11
@@ -7433,8 +7313,6 @@ snapshots:
loupe@3.2.1: {}
- lru-cache@10.4.3: {}
-
lru-cache@11.5.2: {}
lru-cache@5.1.1:
@@ -7447,10 +7325,6 @@ snapshots:
lz-string@1.5.0: {}
- magic-string@0.27.0:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.5
-
magic-string@0.30.21:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -7495,18 +7369,16 @@ snapshots:
mimic-function@5.0.1: {}
+ min-indent@1.0.1: {}
+
minimatch@10.2.5:
dependencies:
- brace-expansion: 5.0.5
+ brace-expansion: 5.0.7
minimatch@3.1.5:
dependencies:
brace-expansion: 1.1.16
- minimatch@9.0.7:
- dependencies:
- brace-expansion: 5.0.5
-
minimist@1.2.8: {}
minipass@7.1.3: {}
@@ -7604,11 +7476,12 @@ snapshots:
dependencies:
mimic-function: 5.0.1
- open@8.4.2:
+ open@10.2.0:
dependencies:
- define-lazy-prop: 2.0.0
- is-docker: 2.2.1
- is-wsl: 2.2.0
+ default-browser: 5.5.0
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ wsl-utils: 0.1.0
optionator@0.9.4:
dependencies:
@@ -7627,6 +7500,53 @@ snapshots:
object-keys: 1.1.1
safe-push-apply: 1.0.0
+ oxc-parser@0.127.0:
+ dependencies:
+ '@oxc-project/types': 0.127.0
+ optionalDependencies:
+ '@oxc-parser/binding-android-arm-eabi': 0.127.0
+ '@oxc-parser/binding-android-arm64': 0.127.0
+ '@oxc-parser/binding-darwin-arm64': 0.127.0
+ '@oxc-parser/binding-darwin-x64': 0.127.0
+ '@oxc-parser/binding-freebsd-x64': 0.127.0
+ '@oxc-parser/binding-linux-arm-gnueabihf': 0.127.0
+ '@oxc-parser/binding-linux-arm-musleabihf': 0.127.0
+ '@oxc-parser/binding-linux-arm64-gnu': 0.127.0
+ '@oxc-parser/binding-linux-arm64-musl': 0.127.0
+ '@oxc-parser/binding-linux-ppc64-gnu': 0.127.0
+ '@oxc-parser/binding-linux-riscv64-gnu': 0.127.0
+ '@oxc-parser/binding-linux-riscv64-musl': 0.127.0
+ '@oxc-parser/binding-linux-s390x-gnu': 0.127.0
+ '@oxc-parser/binding-linux-x64-gnu': 0.127.0
+ '@oxc-parser/binding-linux-x64-musl': 0.127.0
+ '@oxc-parser/binding-openharmony-arm64': 0.127.0
+ '@oxc-parser/binding-wasm32-wasi': 0.127.0
+ '@oxc-parser/binding-win32-arm64-msvc': 0.127.0
+ '@oxc-parser/binding-win32-ia32-msvc': 0.127.0
+ '@oxc-parser/binding-win32-x64-msvc': 0.127.0
+
+ oxc-resolver@11.24.2:
+ optionalDependencies:
+ '@oxc-resolver/binding-android-arm-eabi': 11.24.2
+ '@oxc-resolver/binding-android-arm64': 11.24.2
+ '@oxc-resolver/binding-darwin-arm64': 11.24.2
+ '@oxc-resolver/binding-darwin-x64': 11.24.2
+ '@oxc-resolver/binding-freebsd-x64': 11.24.2
+ '@oxc-resolver/binding-linux-arm-gnueabihf': 11.24.2
+ '@oxc-resolver/binding-linux-arm-musleabihf': 11.24.2
+ '@oxc-resolver/binding-linux-arm64-gnu': 11.24.2
+ '@oxc-resolver/binding-linux-arm64-musl': 11.24.2
+ '@oxc-resolver/binding-linux-ppc64-gnu': 11.24.2
+ '@oxc-resolver/binding-linux-riscv64-gnu': 11.24.2
+ '@oxc-resolver/binding-linux-riscv64-musl': 11.24.2
+ '@oxc-resolver/binding-linux-s390x-gnu': 11.24.2
+ '@oxc-resolver/binding-linux-x64-gnu': 11.24.2
+ '@oxc-resolver/binding-linux-x64-musl': 11.24.2
+ '@oxc-resolver/binding-openharmony-arm64': 11.24.2
+ '@oxc-resolver/binding-wasm32-wasi': 11.24.2
+ '@oxc-resolver/binding-win32-arm64-msvc': 11.24.2
+ '@oxc-resolver/binding-win32-x64-msvc': 11.24.2
+
p-filter@2.1.0:
dependencies:
p-map: 2.1.0
@@ -7659,8 +7579,6 @@ snapshots:
p-try@2.2.0: {}
- package-json-from-dist@1.0.1: {}
-
package-manager-detector@0.2.11:
dependencies:
quansync: 0.2.11
@@ -7700,9 +7618,9 @@ snapshots:
path-parse@1.0.7: {}
- path-scurry@1.11.1:
+ path-scurry@2.0.2:
dependencies:
- lru-cache: 10.4.3
+ lru-cache: 11.5.2
minipass: 7.1.3
path-type@4.0.0: {}
@@ -7785,8 +7703,6 @@ snapshots:
clsx: 2.1.1
react: 18.3.1
- process@0.11.10: {}
-
prompts@2.4.2:
dependencies:
kleur: 3.0.3
@@ -7815,40 +7731,15 @@ snapshots:
queue-microtask@1.2.3: {}
- react-aria-components@1.19.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- '@internationalized/date': 3.12.2
- '@react-types/shared': 3.36.0(react@18.3.1)
- '@swc/helpers': 0.5.23
- client-only: 0.0.1
- react: 18.3.1
- react-aria: 3.50.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react-dom: 18.3.1(react@18.3.1)
- react-stately: 3.48.0(react@18.3.1)
-
- react-aria@3.50.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- '@internationalized/date': 3.12.2
- '@internationalized/number': 3.6.7
- '@internationalized/string': 3.2.9
- '@react-types/shared': 3.36.0(react@18.3.1)
- '@swc/helpers': 0.5.23
- aria-hidden: 1.2.6
- clsx: 2.1.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-stately: 3.48.0(react@18.3.1)
- use-sync-external-store: 1.6.0(react@18.3.1)
-
react-docgen-typescript@2.4.0(typescript@5.8.3):
dependencies:
typescript: 5.8.3
- react-docgen@7.1.1:
+ react-docgen@8.0.3:
dependencies:
- '@babel/core': 7.29.0
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/traverse': 7.29.7
+ '@babel/types': 7.29.7
'@types/babel__core': 7.20.5
'@types/babel__traverse': 7.28.0
'@types/doctrine': 0.0.9
@@ -7871,16 +7762,6 @@ snapshots:
react-refresh@0.17.0: {}
- react-stately@3.48.0(react@18.3.1):
- dependencies:
- '@internationalized/date': 3.12.2
- '@internationalized/number': 3.6.7
- '@internationalized/string': 3.2.9
- '@react-types/shared': 3.36.0(react@18.3.1)
- '@swc/helpers': 0.5.23
- react: 18.3.1
- use-sync-external-store: 1.6.0(react@18.3.1)
-
react@18.3.1:
dependencies:
loose-envify: 1.4.0
@@ -7888,7 +7769,7 @@ snapshots:
read-yaml-file@1.1.0:
dependencies:
graceful-fs: 4.2.11
- js-yaml: 3.14.2
+ js-yaml: 3.15.0
pify: 4.0.1
strip-bom: 3.0.0
@@ -7906,6 +7787,11 @@ snapshots:
dependencies:
resolve: 1.22.12
+ redent@3.0.0:
+ dependencies:
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
+
reflect.getprototypeof@1.0.10:
dependencies:
call-bind: 1.0.9
@@ -7994,6 +7880,8 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.60.3
fsevents: 2.3.3
+ run-applescript@7.1.0: {}
+
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
@@ -8163,14 +8051,31 @@ snapshots:
es-errors: 1.3.0
internal-slot: 1.1.0
- storybook@8.6.18(prettier@3.8.3):
+ storybook@10.5.3(@types/react@18.3.28)(prettier@3.8.3)(react@18.3.1):
dependencies:
- '@storybook/core': 8.6.18(prettier@3.8.3)(storybook@8.6.18(prettier@3.8.3))
+ '@storybook/global': 5.0.0
+ '@storybook/icons': 2.1.0(react@18.3.1)
+ '@testing-library/dom': 10.4.1
+ '@testing-library/jest-dom': 6.9.1
+ '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1)
+ '@vitest/expect': 3.2.4
+ '@vitest/spy': 3.2.4
+ '@webcontainer/env': 1.1.1
+ esbuild: 0.28.1
+ jsonc-parser: 3.3.1
+ open: 10.2.0
+ oxc-parser: 0.127.0
+ oxc-resolver: 11.24.2
+ recast: 0.23.11
+ semver: 7.7.4
+ use-sync-external-store: 1.6.0(react@18.3.1)
+ ws: 8.21.0
optionalDependencies:
+ '@types/react': 18.3.28
prettier: 3.8.3
transitivePeerDependencies:
- bufferutil
- - supports-color
+ - react
- utf-8-validate
string-argv@0.3.2: {}
@@ -8181,12 +8086,6 @@ snapshots:
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
- string-width@5.1.2:
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.2.0
-
string-width@7.2.0:
dependencies:
emoji-regex: 10.6.0
@@ -8255,6 +8154,10 @@ snapshots:
strip-final-newline@3.0.0: {}
+ strip-indent@3.0.0:
+ dependencies:
+ min-indent: 1.0.1
+
strip-indent@4.1.1: {}
strip-json-comments@3.1.1: {}
@@ -8471,12 +8374,12 @@ snapshots:
tsup@8.5.1(jiti@2.7.0)(postcss@8.5.14)(tsx@4.21.0)(typescript@5.8.3)(yaml@2.8.4):
dependencies:
- bundle-require: 5.1.0(esbuild@0.27.7)
+ bundle-require: 5.1.0(esbuild@0.28.1)
cac: 6.7.14
chokidar: 4.0.3
consola: 3.4.2
debug: 4.4.3
- esbuild: 0.27.7
+ esbuild: 0.28.1
fix-dts-default-cjs-exports: 1.0.1
joycon: 3.1.1
picocolors: 1.1.1
@@ -8499,7 +8402,7 @@ snapshots:
tsx@4.21.0:
dependencies:
- esbuild: 0.27.7
+ esbuild: 0.28.1
get-tsconfig: 4.14.0
optionalDependencies:
fsevents: 2.3.3
@@ -8575,9 +8478,11 @@ snapshots:
universalify@0.1.2: {}
- unplugin@1.16.1:
+ unplugin@2.3.11:
dependencies:
+ '@jridgewell/remapping': 2.3.5
acorn: 8.16.0
+ picomatch: 4.0.4
webpack-virtual-modules: 0.6.2
update-browserslist-db@1.2.3(browserslist@4.28.2):
@@ -8596,14 +8501,6 @@ snapshots:
util-deprecate@1.0.2: {}
- util@0.12.5:
- dependencies:
- inherits: 2.0.4
- is-arguments: 1.2.0
- is-generator-function: 1.1.2
- is-typed-array: 1.1.15
- which-typed-array: 1.1.20
-
validate-npm-package-name@5.0.1: {}
vite-node@3.2.4(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4):
@@ -8629,7 +8526,7 @@ snapshots:
vite@6.4.3(@types/node@22.19.17)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0)(yaml@2.8.4):
dependencies:
- esbuild: 0.25.12
+ esbuild: 0.28.1
fdir: 6.5.0(picomatch@4.0.4)
picomatch: 4.0.4
postcss: 8.5.14
@@ -8767,12 +8664,6 @@ snapshots:
string-width: 4.2.3
strip-ansi: 6.0.1
- wrap-ansi@8.1.0:
- dependencies:
- ansi-styles: 6.2.3
- string-width: 5.1.2
- strip-ansi: 7.2.0
-
wrap-ansi@9.0.2:
dependencies:
ansi-styles: 6.2.3
@@ -8786,6 +8677,10 @@ snapshots:
ws@8.21.0: {}
+ wsl-utils@0.1.0:
+ dependencies:
+ is-wsl: 3.1.1
+
xml-name-validator@5.0.0: {}
xmlchars@2.2.0: {}
@@ -8823,3 +8718,5 @@ snapshots:
yocto-queue@0.1.0: {}
yocto-queue@1.2.2: {}
+
+ zod@4.4.3: {}
diff --git a/skills/velune-react/references/components.md b/skills/velune-react/references/components.md
index eda03d5..c5ae1a6 100644
--- a/skills/velune-react/references/components.md
+++ b/skills/velune-react/references/components.md
@@ -3,10 +3,10 @@
## Contents
- Foundations and layout: Box, Container, Flex, Grid, Stack, Text, Divider
-- Inputs: Button, Input, TextArea, Checkbox, Radio, Switch, Select, DatePicker, DateRangePicker, Form
-- Navigation: Tabs, Pagination, Collapse, Wizard
+- Inputs: Button, Input, TextArea, Checkbox, Radio, Switch, Select, Combobox, Slider, DatePicker, DateRangePicker, Form
+- Navigation: Breadcrumb, Tabs, Pagination, Collapse, Wizard
- Overlays: Modal, Drawer, Dropdown, Popover, Tooltip
-- Feedback: Progress, Spinner, Skeleton, Toast
+- Feedback: Alert, Progress, Spinner, Skeleton, Toast
- Data display: Card, ReliefCard, Avatar, Badge, Tag, List, Table, VirtualTable
All imports come from `velune/react`. Query current types with `node scripts/get_component_docs.mjs ComponentName`.
@@ -45,17 +45,17 @@ Count, dot, or standalone status indicator. Tones: `default | primary | success
## Box
-Polymorphic layout primitive with semantic `as`, display, padding, and margin props. Use Tailwind for responsive tracks and exceptional layout.
+Polymorphic layout primitive with semantic `as`, display, padding, and margin props. These props accept either a value or a breakpoint object.
```tsx
-
+
Content
```
## Button
-Command or link control. Variants: `primary | secondary | ghost | text | danger`; sizes: `sm | md | lg`. Supports loading, icons, and block layout.
+Command or link control. Variants: `primary | secondary | ghost | text`; use `tone="danger"` for destructive actions. Supports loading, icons, full-width layout, and `asChild` for one child element.
```tsx
@@ -83,6 +83,28 @@ Surface with `outlined | filled | elevated` variants and `sm | md` sizes. Compos
```
+## Alert
+
+Semantic inline feedback with `neutral | info | success | warning | error` tones, optional icons, dismissal, and controlled visibility.
+
+```tsx
+
+ Saved
+ Your changes are live.
+
+```
+
+## Breadcrumb
+
+Accessible navigation trail composed from `Breadcrumb.Item`; the last item receives `aria-current="page"` automatically.
+
+```tsx
+
+ Projects
+ Current project
+
+```
+
## Checkbox
Native checkbox with checked, unchecked, indeterminate, disabled, and `sm | md | lg` sizes. `Checkbox.Group` owns arrays of string values.
@@ -109,10 +131,12 @@ Accordion/disclosure with single or multiple selection and filled/plain variants
## Container
-Centered width constraint with `xs | sm | md | lg | xl` sizes.
+Centered width constraint with `xs | sm | md | lg | xl` sizes. `size` accepts a breakpoint object and Container supports semantic `as`.
```tsx
-Application content
+
+ Application content
+
```
## DatePicker
@@ -171,8 +195,8 @@ Action or selection menu with React Aria menu semantics, keyboard navigation, se
Actions
- Duplicate
-
+ Duplicate
+
Delete project
@@ -181,10 +205,10 @@ Action or selection menu with React Aria menu semantics, keyboard navigation, se
## Flex
-One-dimensional layout primitive with direction, align, justify, wrap, gap, and full-width props.
+One-dimensional layout primitive with direction, align, justify, wrap, gap, and full-width props. Each layout prop accepts a breakpoint object.
```tsx
-
+
...
```
@@ -205,10 +229,14 @@ Declarative values, validation, submission, and nested field paths. Compose `For
## Grid
-Grid layout primitive with typed column counts, gap, justification, and responsive collapse.
+Grid layout primitive with typed column counts, gap, justification, and responsive collapse. For explicit breakpoint layouts, provide objects and set `responsive={false}`.
```tsx
-
+
{items}
```
@@ -308,6 +336,29 @@ Single or multiple selection with option groups, searching, keyboard navigation,
```
+## Combobox
+
+Searchable single-select with controlled or uncontrolled value and input state. Compose Label, Item, Empty, and NoMatches slots.
+
+```tsx
+
+ Assignee
+ Ada Lovelace
+ No matching people.
+
+```
+
+## Slider
+
+Native range control with single-value or range values, keyboard support, value formatting, and horizontal or vertical orientation.
+
+```tsx
+
+ Volume
+
+
+```
+
## Skeleton
Loading placeholder with text, rectangular, rounded, and circular variants plus pulse/wave/none animation.
@@ -326,10 +377,10 @@ Indeterminate status with `sm | md | lg` sizes and semantic tones. Always provid
## Stack
-Vertical by default, or horizontal, with tokenized gaps and alignment.
+Vertical layout with tokenized gaps, alignment, optional reverse order, and dividers. Use `gap`; the previous `spacing` prop was removed. Layout props accept breakpoint objects.
```tsx
-
+ }>
Email
@@ -339,7 +390,7 @@ Vertical by default, or horizontal, with tokenized gaps and alignment.
## Switch
-Immediate boolean setting with `sm | md` sizes, loading, description, and form participation. `onChange` receives a boolean.
+Immediate boolean setting with `sm | md | lg` sizes, loading, description, and form participation. `onChange` receives a boolean.
```tsx
@@ -390,7 +441,7 @@ Polymorphic typography with token sizes, weights, tones, alignment, font familie
## TextArea
-Long-form input with Input-like field states, autosizing, character count, and `sm | md | lg` sizes.
+Long-form input with Input-like field states, autosizing, character count, `sm | md | lg` sizes, and `resize="none" | "vertical" | "horizontal" | "both"`.
```tsx
@@ -27,6 +32,7 @@ Use Velune primitives for semantic structure and Tailwind for responsive layout:
```
Use `Box` for polymorphic regions, `Flex` for one-dimensional alignment, `Grid` for tracks, and `Stack` for vertical rhythm.
+Use `gap` for Stack spacing; `spacing` is not supported.
## Forms And Selection
diff --git a/tooling/scripts/check-package-exports.mjs b/tooling/scripts/check-package-exports.mjs
index f7d9de6..37f7da6 100644
--- a/tooling/scripts/check-package-exports.mjs
+++ b/tooling/scripts/check-package-exports.mjs
@@ -106,8 +106,7 @@ async function checkReactComponentExportCoverage() {
continue;
}
- const publicName = entry.name === "text-area" ? "textarea" : entry.name;
- const subpath = `./${publicName}`;
+ const subpath = `./${entry.name}`;
if (!(subpath in manifest.exports)) {
failures.push(
`packages/react/src/${entry.name} is missing package export ${subpath}`,
diff --git a/tooling/scripts/check-packed-package.mjs b/tooling/scripts/check-packed-package.mjs
index e2bed5a..8af4bd8 100644
--- a/tooling/scripts/check-packed-package.mjs
+++ b/tooling/scripts/check-packed-package.mjs
@@ -17,7 +17,7 @@ const componentNames = (await readdir(reactSourceDir, { withFileTypes: true }))
(entry) =>
entry.isDirectory() && !new Set(["shared", "theme"]).has(entry.name),
)
- .map((entry) => (entry.name === "text-area" ? "textarea" : entry.name))
+ .map((entry) => entry.name)
.sort();
const entrypoints = [
".",
@@ -25,6 +25,8 @@ const entrypoints = [
"./react/theme",
"./react/theme/tokens",
...componentNames.map((name) => `./react/${name}`),
+ // Deprecated alias for ./react/text-area.
+ "./react/textarea",
];
const specifiers = entrypoints.map((entrypoint) =>
entrypoint === "." ? "velune" : `velune${entrypoint.slice(1)}`,
diff --git a/tooling/scripts/check-storybook-performance.mjs b/tooling/scripts/check-storybook-performance.mjs
index 2e8945e..0056739 100644
--- a/tooling/scripts/check-storybook-performance.mjs
+++ b/tooling/scripts/check-storybook-performance.mjs
@@ -273,15 +273,7 @@ await access(storybookBin);
const server = spawn(
storybookBin,
- [
- "dev",
- "--host",
- host,
- "--port",
- String(port),
- "--ci",
- "--disable-telemetry",
- ],
+ ["dev", "-p", String(port), "-h", host, "--ci", "--disable-telemetry"],
{
cwd: join(root, "apps/storybook"),
detached: process.platform !== "win32",
@@ -416,8 +408,9 @@ try {
await browser.close();
}
} catch (error) {
- if (server.exitCode !== null) {
- console.error(serverOutput.trim());
+ const output = serverOutput.trim();
+ if (output) {
+ console.error(output);
}
throw error;
} finally {
@@ -645,11 +638,7 @@ async function runUpdateCycles(page, cycles) {
}
async function measureInteractions(page, url, actionSets, cycles) {
- await page.goto(url, { waitUntil: "domcontentloaded" });
- await page.waitForSelector('[data-interaction-ready="true"]', {
- state: "attached",
- timeout: 30_000,
- });
+ await loadInteractionStory(page, url);
await page.evaluate(
() => new Promise((resolve) => requestAnimationFrame(resolve)),
);
@@ -764,6 +753,21 @@ async function measureInteractions(page, url, actionSets, cycles) {
);
}
+async function loadInteractionStory(page, url) {
+ for (let attempt = 0; attempt < 2; attempt += 1) {
+ await page.goto(url, { waitUntil: "domcontentloaded" });
+ try {
+ await page.waitForSelector('[data-interaction-ready="true"]', {
+ state: "attached",
+ timeout: 30_000,
+ });
+ return;
+ } catch (error) {
+ if (attempt === 1) throw error;
+ }
+ }
+}
+
function formatBytes(value) {
const sign = value < 0 ? "-" : "+";
const absolute = Math.abs(value);