-
-
-
+
),
);
diff --git a/packages/ui/src/components/status/index.ts b/packages/ui/src/components/status/index.ts
new file mode 100644
index 00000000..420cc02a
--- /dev/null
+++ b/packages/ui/src/components/status/index.ts
@@ -0,0 +1 @@
+export * from './status';
diff --git a/packages/ui/src/components/switch/icon-switch/icon-switch.module.css b/packages/ui/src/components/switch/icon-switch/icon-switch.module.css
index 58ea9f52..7996bb1a 100644
--- a/packages/ui/src/components/switch/icon-switch/icon-switch.module.css
+++ b/packages/ui/src/components/switch/icon-switch/icon-switch.module.css
@@ -86,7 +86,7 @@
transform: translate(-50%, -50%) rotate(90deg);
}
- .container:has(input:checked) .thumb {
+ .container[data-checked] .thumb {
transform: translateX(var(--ax-public-icon-switch-translate));
}
}
diff --git a/packages/ui/src/components/switch/index.ts b/packages/ui/src/components/switch/index.ts
new file mode 100644
index 00000000..0f681b4e
--- /dev/null
+++ b/packages/ui/src/components/switch/index.ts
@@ -0,0 +1,2 @@
+export * from './switch';
+export * from './icon-switch/icon-switch';
diff --git a/packages/ui/src/components/switch/switch-size.module.css b/packages/ui/src/components/switch/switch-size.module.css
index 8df77a73..88114b82 100644
--- a/packages/ui/src/components/switch/switch-size.module.css
+++ b/packages/ui/src/components/switch/switch-size.module.css
@@ -42,7 +42,7 @@
left: var(--ax-public-switch-thumb-padding-medium);
}
- &:has(input:checked) {
+ &[data-checked] {
.thumb {
transform: translateX(
calc(
@@ -66,7 +66,7 @@
left: var(--ax-public-switch-thumb-padding-small);
}
- &:has(input:checked) {
+ &[data-checked] {
.thumb {
transform: translateX(
calc(
@@ -90,7 +90,7 @@
left: var(--ax-public-switch-thumb-padding-extra-small);
}
- &:has(input:checked) {
+ &[data-checked] {
.thumb {
transform: translateX(
calc(
diff --git a/packages/ui/src/components/switch/switch.module.css b/packages/ui/src/components/switch/switch.module.css
index 1dcf6ace..d67533de 100644
--- a/packages/ui/src/components/switch/switch.module.css
+++ b/packages/ui/src/components/switch/switch.module.css
@@ -38,16 +38,6 @@
transition: background-color var(--ax-public-transition);
}
- input {
- opacity: 0;
- width: 100%;
- height: 100%;
- position: absolute;
- margin: 0;
- cursor: inherit;
- z-index: 1;
- }
-
.thumb {
position: absolute;
border-radius: 100px;
@@ -62,12 +52,16 @@
border-radius: 100px;
}
- &:has(input:focus-visible) {
+ .thumb-contents {
+ display: contents;
+ }
+
+ &:focus-visible {
outline: none;
box-shadow: 0 0 0 2px var(--ax-public-switch-focus-border-color);
}
- &:has(input:checked) {
+ &[data-checked] {
.thumb {
background-color: var(--ax-public-thumb-selected-color);
}
@@ -77,7 +71,7 @@
}
}
- &:has(input:disabled) {
+ &[data-disabled] {
cursor: auto;
border-color: var(--ax-public-switch-disabled-border-color);
diff --git a/packages/ui/src/components/switch/switch.tsx b/packages/ui/src/components/switch/switch.tsx
index c3280598..e661e244 100644
--- a/packages/ui/src/components/switch/switch.tsx
+++ b/packages/ui/src/components/switch/switch.tsx
@@ -1,10 +1,14 @@
import clsx from 'clsx';
import switchStyles from './switch.module.css';
-import { Switch as SwitchBase, SwitchProps } from '@mui/base';
-import { ChangeEvent } from 'react';
+import { Switch as SwitchBase } from '@base-ui/react/switch';
import { SelectorSize } from '@ui/shared/types/selector-size';
+type SwitchRootProps = Omit<
+ React.ComponentProps
,
+ 'onCheckedChange' | 'render' | 'children' | 'className'
+>;
+
export type BaseSwitchProps = {
/**
* Size of the switch component
@@ -37,8 +41,8 @@ export type BaseSwitchProps = {
/**
* Callback function when the switch state changes
*/
- onChange?: (checked: boolean, event: ChangeEvent) => void;
-} & Omit;
+ onChange?: (checked: boolean, event: Event) => void;
+} & SwitchRootProps;
/**
* A Switch component that allows users to toggle between two states, such as on and off.
@@ -53,30 +57,45 @@ export function Switch({
onChange,
...props
}: BaseSwitchProps) {
- function handleChange(event: ChangeEvent) {
- onChange?.(event.target.checked, event);
+ function handleCheckedChange(
+ checked: boolean,
+ eventDetails: { event: Event },
+ ) {
+ onChange?.(checked, eventDetails.event);
}
- const slotProps = {
- root: {
- className: clsx(
+ return (
+
+ )}
+ nativeButton={false}
+ render={}
+ {...props}
+ >
+ {trackChildren ?? }
+ (
+
+ )
+ : undefined
+ }
+ >
+ {thumbChildren}
+
+
);
}
diff --git a/packages/ui/src/components/text-area/index.ts b/packages/ui/src/components/text-area/index.ts
new file mode 100644
index 00000000..e18b3258
--- /dev/null
+++ b/packages/ui/src/components/text-area/index.ts
@@ -0,0 +1 @@
+export * from './text-area';
diff --git a/packages/ui/src/components/text-area/text-area.tsx b/packages/ui/src/components/text-area/text-area.tsx
index 6dda72cc..18495fdb 100644
--- a/packages/ui/src/components/text-area/text-area.tsx
+++ b/packages/ui/src/components/text-area/text-area.tsx
@@ -4,7 +4,7 @@ import styles from './text-area.module.css';
import inputFontStyles from '@ui/shared/styles/input-font-size.module.css';
import inputSizeStyles from '@ui/shared/styles/input-size.module.css';
-import { TextareaAutosize } from '@mui/base/TextareaAutosize';
+import TextareaAutosize from 'react-textarea-autosize';
import type { ItemSize } from '../../shared/types/item-size';
export type TextAreaProps = {
diff --git a/packages/ui/src/components/tooltip/index.ts b/packages/ui/src/components/tooltip/index.ts
new file mode 100644
index 00000000..6ed2401d
--- /dev/null
+++ b/packages/ui/src/components/tooltip/index.ts
@@ -0,0 +1,4 @@
+export * from './tooltip';
+export * from './tooltip-content';
+export * from './tooltip-trigger';
+export * from './types';
diff --git a/packages/ui/src/components/tooltip/tooltip-content.tsx b/packages/ui/src/components/tooltip/tooltip-content.tsx
index d6d15cf5..b594a042 100644
--- a/packages/ui/src/components/tooltip/tooltip-content.tsx
+++ b/packages/ui/src/components/tooltip/tooltip-content.tsx
@@ -1,17 +1,13 @@
-import { forwardRef } from 'react';
-import { TooltipVariant } from './types';
-import { useTooltipContext } from './tooltip';
-import {
- FloatingArrow,
- FloatingPortal,
- useMergeRefs,
-} from '@floating-ui/react';
+import { Tooltip as BaseTooltip } from '@base-ui/react/tooltip';
import clsx from 'clsx';
+import { forwardRef } from 'react';
+import { useTooltipPlacement } from './tooltip';
import styles from './tooltip.module.css';
+import { TooltipVariant } from './types';
+
+const TOOLTIP_OFFSET = 10;
+const TOOLTIP_COLLISION_PADDING = 5;
-/**
- * Tooltips Content is the component that pops out when the tooltip is open.
- */
export const TooltipContent = forwardRef<
HTMLDivElement,
React.HTMLProps & {
@@ -21,43 +17,33 @@ export const TooltipContent = forwardRef<
tooltipType?: TooltipVariant;
}
>(function TooltipContent(
- { style, tooltipType = 'default', ...props },
+ { style, tooltipType = 'default', children, className, ...props },
propRef,
) {
- const context = useTooltipContext();
- const ref = useMergeRefs([context?.refs.setFloating, propRef]);
+ const { side, align } = useTooltipPlacement();
- if (!context?.open || !props.children) return null;
+ if (!children) return null;
return (
-
-
+
- {props.children}
-
-
-
+
+ {children}
+
+
+
+
);
});
diff --git a/packages/ui/src/components/tooltip/tooltip-trigger.tsx b/packages/ui/src/components/tooltip/tooltip-trigger.tsx
index 6247420e..15024172 100644
--- a/packages/ui/src/components/tooltip/tooltip-trigger.tsx
+++ b/packages/ui/src/components/tooltip/tooltip-trigger.tsx
@@ -1,6 +1,7 @@
-import { cloneElement, forwardRef, isValidElement } from 'react';
-import { useTooltipContext } from './tooltip';
-import { useMergeRefs } from '@floating-ui/react';
+import { Tooltip as BaseTooltip } from '@base-ui/react/tooltip';
+import { mergeProps } from '@base-ui/react/merge-props';
+import { cloneElement, forwardRef, isValidElement, ReactElement } from 'react';
+import { useTooltipDelay } from './tooltip';
/**
* Tooltips trigger is the the element that toggles the tooltip
@@ -14,30 +15,46 @@ export const TooltipTrigger = forwardRef<
asChild?: boolean;
}
>(function TooltipTrigger({ children, asChild = false, ...props }, propRef) {
- const context = useTooltipContext();
+ const { delay, closeDelay } = useTooltipDelay();
- const ref = useMergeRefs([context?.refs.setReference, propRef]);
+ return (
+ }
+ delay={delay}
+ closeDelay={closeDelay}
+ // Keep parity with the previous Floating UI behaviour: clicking the
+ // trigger should not dismiss the tooltip while hover is still active.
+ closeOnClick={false}
+ render={(triggerProps, state) => {
+ const dataState = state.open ? 'open' : 'closed';
- if (asChild && isValidElement(children)) {
- return cloneElement(
- children,
- context?.getReferenceProps({
- ref,
- ...props,
- ...(children.props ?? {}),
- 'data-state': context.open ? 'open' : 'closed',
- } as React.HTMLProps),
- );
- }
+ if (asChild && isValidElement(children)) {
+ const childElement = children as ReactElement<
+ Record
+ >;
+ // mergeProps composes event handlers (all of them run) and merges
+ // className/style β a plain spread would let a child's own
+ // onMouseEnter/onFocus silently replace Base UI's interaction
+ // handlers and break the tooltip.
+ return cloneElement(childElement, {
+ ...mergeProps(
+ triggerProps,
+ props as Record,
+ childElement.props ?? {},
+ ),
+ 'data-state': dataState,
+ });
+ }
- return (
-
- {children}
-
+ return (
+ )}
+ data-state={dataState}
+ >
+ {children}
+
+ );
+ }}
+ />
);
});
diff --git a/packages/ui/src/components/tooltip/tooltip.module.css b/packages/ui/src/components/tooltip/tooltip.module.css
index d348a437..59834955 100644
--- a/packages/ui/src/components/tooltip/tooltip.module.css
+++ b/packages/ui/src/components/tooltip/tooltip.module.css
@@ -8,22 +8,29 @@
--ax-public-tooltip-blue-text-color: var(--ax-txt-tooltip-blue);
}
-.container {
- padding: var(--ax-public-tooltip-padding);
- border-radius: var(--ax-public-tooltip-radius-size);
- width: max-content;
- max-width: 33vw;
- z-index: 100;
-}
+@layer ui.component {
+ .container {
+ --tooltip-background: var(--ax-public-tooltip-default-background);
+ --tooltip-text-color: var(--ax-public-tooltip-text-color);
-.tooltip-default {
- color: var(--ax-public-tooltip-text-color);
- background-color: var(--ax-public-tooltip-default-background);
- fill: var(--ax-public-tooltip-default-background);
-}
+ padding: var(--ax-public-tooltip-padding);
+ border-radius: var(--ax-public-tooltip-radius-size);
+ width: max-content;
+ max-width: 33vw;
+ z-index: 100;
+ color: var(--tooltip-text-color);
+ background-color: var(--tooltip-background);
+ }
+
+ .container[data-tooltip-type='blue'] {
+ --tooltip-background: var(--ax-public-tooltip-blue-background);
+ --tooltip-text-color: var(--ax-public-tooltip-blue-text-color);
+ }
-.tooltip-blue {
- color: var(--ax-public-tooltip-blue-text-color);
- background-color: var(--ax-public-tooltip-blue-background);
- fill: var(--ax-public-tooltip-blue-background);
+ .arrow {
+ width: 10px;
+ height: 4px;
+ background-color: var(--tooltip-background);
+ clip-path: polygon(0 0, 100% 0, 50% 100%);
+ }
}
diff --git a/packages/ui/src/components/tooltip/tooltip.tsx b/packages/ui/src/components/tooltip/tooltip.tsx
index 2e2e77e4..89ef11dd 100644
--- a/packages/ui/src/components/tooltip/tooltip.tsx
+++ b/packages/ui/src/components/tooltip/tooltip.tsx
@@ -1,19 +1,57 @@
-import { TooltipOptions, useTooltip } from './use-tooltip';
-import { createContext, useContext, ReactNode } from 'react';
+import { Tooltip as BaseTooltip } from '@base-ui/react/tooltip';
+import { createContext, ReactNode, useContext, useMemo } from 'react';
import { TooltipContent } from './tooltip-content';
import { TooltipTrigger } from './tooltip-trigger';
-type ContextType = ReturnType | null;
-const TooltipContext = createContext(null);
+const TOOLTIP_OPEN_DELAY = 500;
+const TOOLTIP_CLOSE_DELAY = 0;
-export function useTooltipContext(): ContextType | undefined {
- const context = useContext(TooltipContext);
+type Side = 'top' | 'right' | 'bottom' | 'left';
+type Align = 'start' | 'end';
- if (context) {
- return context;
- }
+export type TooltipPlacement = Side | `${Side}-${Align}`;
- console.error('Tooltip components must be wrapped in ');
+export type TooltipOptions = {
+ /**
+ * If true, the component is shown at initial
+ */
+ initialOpen?: boolean;
+ /**
+ * Tooltip placement.
+ */
+ placement?: TooltipPlacement;
+ /**
+ * If true, the component is shown.
+ */
+ open?: boolean;
+ /**
+ * Callback fired when the component requests to be open.
+ */
+ onOpenChange?: (open: boolean) => void;
+};
+
+type PlacementContextValue = {
+ side: Side;
+ align: 'start' | 'center' | 'end';
+};
+
+const TooltipPlacementContext = createContext({
+ side: 'bottom',
+ align: 'center',
+});
+
+export function useTooltipPlacement(): PlacementContextValue {
+ return useContext(TooltipPlacementContext);
+}
+
+function placementToSideAlign(
+ placement: TooltipPlacement,
+): PlacementContextValue {
+ const [side, align] = placement.split('-') as [
+ PlacementContextValue['side'],
+ PlacementContextValue['align'] | undefined,
+ ];
+ return { side, align: align ?? 'center' };
}
type Props = {
@@ -23,15 +61,72 @@ type Props = {
children: ReactNode;
} & TooltipOptions;
+const HOVER_FOCUS_REASONS = new Set([
+ 'trigger-hover',
+ 'trigger-focus',
+ 'focus-out',
+]);
+
/**
* Tooltips display informative text when users hover over, focus on, or tap an element.
*/
-export function Tooltip({ children, ...options }: Props) {
- const tooltip = useTooltip(options);
+export function Tooltip({
+ children,
+ initialOpen,
+ placement = 'bottom',
+ open,
+ onOpenChange,
+}: Props) {
+ const isControlled = open !== undefined;
+ const placementValue = useMemo(
+ () => placementToSideAlign(placement),
+ [placement],
+ );
+
+ return (
+
+ {
+ if (
+ isControlled &&
+ HOVER_FOCUS_REASONS.has(eventDetails.reason)
+ ) {
+ return;
+ }
+ onOpenChange(nextOpen);
+ }
+ : undefined
+ }
+ >
+ {children}
+
+
+ );
+}
+
+const TooltipDelayContext = createContext<{
+ delay: number;
+ closeDelay: number;
+}>({
+ delay: TOOLTIP_OPEN_DELAY,
+ closeDelay: TOOLTIP_CLOSE_DELAY,
+});
+
+export function useTooltipDelay() {
+ return useContext(TooltipDelayContext);
+}
+
+function TooltipDelayApplier({ children }: { children: ReactNode }) {
return (
-
+
{children}
-
+
);
}
diff --git a/packages/ui/src/components/tooltip/use-tooltip.tsx b/packages/ui/src/components/tooltip/use-tooltip.tsx
deleted file mode 100644
index 1317d7ea..00000000
--- a/packages/ui/src/components/tooltip/use-tooltip.tsx
+++ /dev/null
@@ -1,108 +0,0 @@
-import {
- useFloating,
- autoUpdate,
- offset,
- flip,
- arrow,
- shift,
- useHover,
- useFocus,
- useDismiss,
- useRole,
- useInteractions,
- Placement,
- UseInteractionsReturn,
-} from '@floating-ui/react';
-import { useMemo, useRef, useState } from 'react';
-
-const TOOLTIP_OFFSET = 10;
-const TOOLTIP_PADDING = 5;
-const TOOLTIP_OPEN_DELAY = 500;
-const TOOLTIP_CLOSE_DELAY = 0;
-
-export type TooltipOptions = {
- /**
- * If true, the component is shown at initial
- */
- initialOpen?: boolean;
- /**
- * Tooltip placement.
- */
- placement?: Placement;
- /**
- * If true, the component is shown.
- */
- open?: boolean;
- /**
- * Callback fired when the component requests to be open.
- */
- onOpenChange?: (open: boolean) => void;
-};
-
-export function useTooltip({
- initialOpen = false,
- placement = 'bottom',
- open: controlledOpen,
- onOpenChange: setControlledOpen,
-}: TooltipOptions = {}): UseTooltipResult {
- const [uncontrolledOpen, setUncontrolledOpen] = useState(initialOpen);
-
- const open = controlledOpen ?? uncontrolledOpen;
- const setOpen = setControlledOpen ?? setUncontrolledOpen;
- const arrowRef = useRef(null);
-
- const data = useFloating({
- placement,
- open,
- onOpenChange: setOpen,
- whileElementsMounted: autoUpdate,
- middleware: [
- offset(TOOLTIP_OFFSET),
- flip({
- crossAxis: placement.includes('-'),
- fallbackAxisSideDirection: 'start',
- padding: TOOLTIP_PADDING,
- }),
- shift({ padding: TOOLTIP_PADDING }),
- arrow({
- element: arrowRef,
- }),
- ],
- });
-
- const context = data.context;
-
- const hover = useHover(context, {
- delay: {
- open: TOOLTIP_OPEN_DELAY,
- close: TOOLTIP_CLOSE_DELAY,
- },
- move: false,
- enabled: controlledOpen == null,
- });
- const focus = useFocus(context, {
- enabled: controlledOpen == null,
- });
- const dismiss = useDismiss(context);
- const role = useRole(context, { role: 'tooltip' });
-
- const interactions = useInteractions([hover, focus, dismiss, role]);
-
- return useMemo(
- () => ({
- open,
- setOpen,
- ...interactions,
- ...data,
- arrowRef,
- }),
- [open, setOpen, interactions, data, arrowRef],
- );
-}
-
-type UseTooltipResult = UseInteractionsReturn &
- ReturnType & {
- open: boolean;
- setOpen: (open: boolean) => void;
- arrowRef: React.RefObject;
- };
diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts
index 3661c04b..43c943e7 100644
--- a/packages/ui/src/index.ts
+++ b/packages/ui/src/index.ts
@@ -4,64 +4,27 @@ import './styles/layers.css';
import './styles/globals.css';
import './styles/typography.css';
-export * from './components/accordion/accordion';
-export * from './components/avatar/avatar';
-
-export * from './components/button/nav-button/nav-button';
-export * from './components/button/regular-button/button';
-
-export * from './components/checkbox/checkbox';
-
-export * from './components/date-picker/date-picker';
-
-export * from './components/input/input';
-
-export * from './components/menu/menu';
-
-export * from './components/modal/modal';
-
-export * from './components/radio-button/radio';
-
-export * from './components/select/select';
-
-export * from './components/switch/switch';
-export * from './components/switch/icon-switch/icon-switch';
-
-export * from './components/snackbar/snackbar';
-
-export * from './components/status/status';
-
-export * from './components/text-area/text-area';
-
-export * from './components/tooltip/tooltip';
-export * from './components/tooltip/tooltip-content';
-export * from './components/tooltip/tooltip-trigger';
-
-export * from './components/node/node-as-port-wrapper/node-as-port-wrapper';
-export * from './components/node/node-description/node-description';
-export * from './components/node/node-icon/node-icon';
-export * from './components/node/node-panel/node-panel';
-
-export * from './components/edge/edge-label/edge-label';
-export * from './components/edge/use-edge-styles/use-edge-styles';
-
-export * from './components/separator/separator';
-
-export * from './components/status/status';
-
-export * from './components/segment-picker/segment-picker';
-
-export * from './components/collapsible/collapsible';
-
-// Types
-export * from './components/button/regular-button/types';
-export * from './components/date-picker/types';
-export * from './components/input/types';
-export * from './components/menu/types';
-export * from './components/modal/types';
-export * from './components/select/types';
-export * from './components/snackbar/types';
-export * from './components/tooltip/types';
+export * from './components/accordion';
+export * from './components/avatar';
+export * from './components/button';
+export * from './components/checkbox';
+export * from './components/collapsible';
+export * from './components/date-picker';
+export * from './components/edge';
+export * from './components/input';
+export * from './components/menu';
+export * from './components/modal';
+export * from './components/node';
+export * from './components/radio-button';
+export * from './components/segment-picker';
+export * from './components/select';
+export * from './components/separator';
+export * from './components/snackbar';
+export * from './components/status';
+export * from './components/switch';
+export * from './components/text-area';
+export * from './components/tooltip';
+
+// Shared types
export * from './shared/types/size';
export * from './shared/types/item-size';
-export * from './components/edge/types';
diff --git a/packages/ui/src/shared/styles/list-box.module.css b/packages/ui/src/shared/styles/list-box.module.css
index 01b6fb49..e03463e4 100644
--- a/packages/ui/src/shared/styles/list-box.module.css
+++ b/packages/ui/src/shared/styles/list-box.module.css
@@ -10,21 +10,16 @@
}
@layer ui.component {
+ /* Applied to the Base UI Positioner β keep it free of visuals and
+ animation: Base UI sets data-starting-style/data-ending-style on the
+ Popup element only, so transition rules here would never fire. */
.popup {
- border-radius: var(--ax-public-list-box-border-radius);
margin-top: 0.25rem;
- background: var(--ax-public-list-box-background-color);
- box-shadow: var(--ax-public-list-box-box-shadow);
z-index: 10000;
- &:global(:not(.base--open)) {
- /* This is work-around to fix problems with site shifts after browser resizing caused by placing Menu's dropdown in fixed position during render.
- * The .base--open class was used because the .popup class affects both Menu and Select, and both components share the same .base--open class
- */
- display: none;
- transform: unset !important;
- }
}
+ /* Applied to the Base UI Popup, which carries the transition state
+ attributes (same pattern as Tooltip.Popup and Dialog.Popup). */
.list-box {
display: flex;
padding: var(--ax-public-list-box-padding);
@@ -36,5 +31,20 @@
overflow-x: hidden;
margin: 0;
+
+ border-radius: var(--ax-public-list-box-border-radius);
+ background: var(--ax-public-list-box-background-color);
+ box-shadow: var(--ax-public-list-box-box-shadow);
+
+ transition:
+ opacity 150ms ease-out,
+ transform 150ms ease-out;
+ transform-origin: top;
+
+ &[data-starting-style],
+ &[data-ending-style] {
+ opacity: 0;
+ transform: scaleY(0.96);
+ }
}
}
diff --git a/packages/ui/src/shared/styles/list-item.module.css b/packages/ui/src/shared/styles/list-item.module.css
index 1916d181..0ce2b2e5 100644
--- a/packages/ui/src/shared/styles/list-item.module.css
+++ b/packages/ui/src/shared/styles/list-item.module.css
@@ -34,22 +34,27 @@
cursor: pointer;
color: var(--ax-public-list-item-color);
- &:hover:not(:global(.base--disabled)) {
+ /* Base UI items expose state as data attributes (data-selected,
+ data-disabled, data-highlighted) β not the MUI-era base--* classes. */
+ &:hover:not([data-disabled]) {
background-color: var(--ax-public-list-item-background-color);
}
- &:global(.base--selected):not(option:focus-visible) {
- background-color: var(--ax-public-list-item-background-color-selected);
- color: var(--ax-public-list-item-color-selected);
- }
-
- &:focus-visible {
+ &:focus-visible,
+ &[data-highlighted] {
outline: var(--ax-public-list-item-outline-size) solid
var(--ax-public-list-item-outline-color-focus);
background-color: var(--ax-public-list-item-background-color-focus);
}
- &:global(.base--disabled) {
+ /* After the highlight rule: a selected item keeps its selected colors
+ while highlighted β the outline alone marks the keyboard cursor. */
+ &[data-selected] {
+ background-color: var(--ax-public-list-item-background-color-selected);
+ color: var(--ax-public-list-item-color-selected);
+ }
+
+ &[data-disabled] {
color: var(--ax-public-input-color-disabled);
cursor: auto;
}
@@ -59,7 +64,8 @@
background-color: var(--ax-public-list-item-background-color-destructive);
&:hover,
- &:focus-visible {
+ &:focus-visible,
+ &[data-highlighted] {
background-color: var(
--ax-public-list-item-background-color-hover-destructive
);
diff --git a/packages/ui/vite.config.mts b/packages/ui/vite.config.mts
index 1ee15410..3d39c0c3 100644
--- a/packages/ui/vite.config.mts
+++ b/packages/ui/vite.config.mts
@@ -4,28 +4,97 @@ import { defineConfig } from 'vite';
import { libInjectCss } from 'vite-plugin-lib-inject-css';
import { viteStaticCopy } from 'vite-plugin-static-copy';
import dts from 'vite-plugin-dts';
+import { visualizer } from 'rollup-plugin-visualizer';
import { boxSizingPlugin } from './postcss-box-sizing.mts';
+import { combineCssBundle } from './combine-css-bundle.mts';
-const __dirname = dirname(fileURLToPath(import.meta.url));
+const rootDir = dirname(fileURLToPath(import.meta.url));
+
+const componentEntries = [
+ 'accordion',
+ 'avatar',
+ 'button',
+ 'checkbox',
+ 'collapsible',
+ 'date-picker',
+ 'edge',
+ 'input',
+ 'menu',
+ 'modal',
+ 'node',
+ 'radio-button',
+ 'segment-picker',
+ 'select',
+ 'separator',
+ 'snackbar',
+ 'status',
+ 'switch',
+ 'text-area',
+ 'tooltip',
+] as const;
+
+const externalPackages = ['@base-ui/react', 'react-textarea-autosize'];
+const externalModules = ['react', 'react-dom', 'react/jsx-runtime'];
+
+function getEntries(): Record {
+ const entries: Record = {
+ index: resolve(rootDir, 'src/index.ts'),
+ };
+ for (const name of componentEntries) {
+ entries[name] = resolve(rootDir, `src/components/${name}/index.ts`);
+ }
+ return entries;
+}
+
+function isExternal(id: string): boolean {
+ if (externalModules.includes(id)) return true;
+ return externalPackages.some((pkg) => id === pkg || id.startsWith(`${pkg}/`));
+}
+
+function copyTokenStyles() {
+ const files = ['tokens.css', 'numerals-mode-1.css', 'primitives-mode-1.css'];
+ return viteStaticCopy({
+ targets: files.map((file) => ({
+ src: `../tokens/dist/${file}`,
+ dest: '.',
+ })),
+ });
+}
+
+function bundleStatsPlugins() {
+ return [
+ visualizer({
+ filename: 'dist/bundle-stats.html',
+ template: 'treemap',
+ gzipSize: true,
+ brotliSize: true,
+ }),
+ visualizer({
+ filename: 'dist/bundle-stats.json',
+ json: true,
+ gzipSize: true,
+ brotliSize: true,
+ }),
+ ];
+}
export default defineConfig({
build: {
lib: {
- entry: resolve(__dirname, 'src/index.ts'),
+ entry: getEntries(),
name: 'Overflow UI',
- fileName: 'overflow-ui',
formats: ['es'],
},
rollupOptions: {
- external: ['react', 'react-dom', 'react/jsx-runtime'],
- // [TODO] Fix: suppress "Module level directives cause errors when bundled" warnings
+ external: isExternal,
onwarn: (warning, warn) => {
- if (warning.code === 'MODULE_LEVEL_DIRECTIVE') {
- return;
- }
+ if (warning.code === 'MODULE_LEVEL_DIRECTIVE') return;
warn(warning);
},
output: {
+ entryFileNames: '[name].js',
+ chunkFileNames: 'chunks/[name]-[hash].js',
+ assetFileNames: 'assets/[name][extname]',
globals: {
'react-dom': 'ReactDom',
react: 'React',
@@ -42,22 +111,16 @@ export default defineConfig({
},
resolve: {
alias: {
- '@ui': resolve(__dirname, './src'),
+ '@ui': resolve(rootDir, './src'),
},
},
- // [TODO]: Preferably we should include just a single .d.ts file, but setting rollupTypes to true doesn't work with current setup
- // Source: https://github.com/qmhc/vite-plugin-dts?tab=readme-ov-file#internal-error-occurs-when-using-rolluptypes-true
plugins: [
libInjectCss(),
- dts({
- entryRoot: 'src',
- }),
- viteStaticCopy({
- targets: [
- { src: '../tokens/dist/tokens.css', dest: '.' },
- { src: '../tokens/dist/numerals-mode-1.css', dest: '.' },
- { src: '../tokens/dist/primitives-mode-1.css', dest: '.' },
- ],
- }),
+ // Per-entry .d.ts; rollupTypes is intentionally off (incompatible with this
+ // multi-entry setup, see vite-plugin-dts docs).
+ dts({ entryRoot: 'src' }),
+ copyTokenStyles(),
+ combineCssBundle(rootDir),
+ ...(process.env.BUNDLE_STATS ? bundleStatsPlugins() : []),
],
});
diff --git a/packages/website/docs/authored/ui/date-picker/date-picker-docs.tsx b/packages/website/docs/authored/ui/date-picker/date-picker-docs.tsx
index dce13b76..e611e331 100644
--- a/packages/website/docs/authored/ui/date-picker/date-picker-docs.tsx
+++ b/packages/website/docs/authored/ui/date-picker/date-picker-docs.tsx
@@ -4,10 +4,7 @@ import exampleCode from '!!raw-loader!@site/docs/code-examples/date-picker.examp
export function DatePickerDocs() {
return (
diff --git a/packages/website/generated/css-variables.json b/packages/website/generated/css-variables.json
index b55a00d4..9a76f211 100644
--- a/packages/website/generated/css-variables.json
+++ b/packages/website/generated/css-variables.json
@@ -506,7 +506,7 @@
"name": "--ax-public-collapsible-transition-duration"
}
],
- "components/date-picker/data-picker-mantine.css": [
+ "components/date-picker/date-picker.module.css": [
{
"comment": "",
"name": "--ax-public-date-picker-border-size"
@@ -542,13 +542,8 @@
{
"comment": "",
"name": "--ax-public-date-picker-dropdown-box-shadow"
- },
- {
- "comment": "",
- "name": "--ax-public-date-picker-header-background"
}
],
- "components/date-picker/date-picker.module.css": [],
"components/date-picker/variables.css": [
{
"comment": "",
diff --git a/packages/website/generated/path-types.ts b/packages/website/generated/path-types.ts
index ef1090f9..c3ffc3a4 100644
--- a/packages/website/generated/path-types.ts
+++ b/packages/website/generated/path-types.ts
@@ -1,4 +1,4 @@
- export type OverflowUITSXRelativePath = "components/accordion/accordion.tsx" | "components/avatar/avatar.tsx" | "components/button/base-button/base-button.tsx" | "components/button/nav-button/nav-button.tsx" | "components/button/nav-button/nav-icon-button/nav-icon-button.tsx" | "components/button/nav-button/nav-icon-label-button/nav-icon-label-button.tsx" | "components/button/nav-button/nav-label-button/nav-label-button.tsx" | "components/button/regular-button/button.tsx" | "components/button/regular-button/icon-button/icon-button.tsx" | "components/button/regular-button/icon-label-button/icon-label-button.tsx" | "components/button/regular-button/label-button/label-button.tsx" | "components/checkbox/checkbox.tsx" | "components/collapsible/collapsible.tsx" | "components/date-picker/date-picker.tsx" | "components/edge/edge-label/edge-label.tsx" | "components/edge/use-edge-styles/use-edge-styles.tsx" | "components/input/clear-button/clear-button.tsx" | "components/input/input.tsx" | "components/menu/menu-item.tsx" | "components/menu/menu.tsx" | "components/menu/test.tsx" | "components/menu/utils/create-trigger-button.tsx" | "components/modal/modal.tsx" | "components/node/node-as-port-wrapper/node-as-port-wrapper.tsx" | "components/node/node-description/node-description.tsx" | "components/node/node-icon/node-icon.tsx" | "components/node/node-panel/node-panel.tsx" | "components/radio-button/radio.tsx" | "components/segment-picker/item/segment-picker-item.tsx" | "components/segment-picker/segment-picker.tsx" | "components/select/select-button/select-button.tsx" | "components/select/select-option/select-option.tsx" | "components/select/select-value/select-value.tsx" | "components/select/select.tsx" | "components/separator/separator.tsx" | "components/snackbar/components/action-buttons.tsx" | "components/snackbar/components/icon.tsx" | "components/snackbar/components/message.tsx" | "components/snackbar/snackbar.tsx" | "components/status/status.tsx" | "components/switch/icon-switch/icon-switch.tsx" | "components/switch/switch.tsx" | "components/text-area/text-area.tsx" | "components/tooltip/tooltip-content.tsx" | "components/tooltip/tooltip-trigger.tsx" | "components/tooltip/tooltip.tsx" | "components/tooltip/use-tooltip.tsx";
- export type OverflowUICSSRelativePath = "components/accordion/accordion.module.css" | "components/avatar/avatar.module.css" | "components/button/base-button/base-button.module.css" | "components/button/nav-button/nav-icon-button/nav-button-icon-padding.module.css" | "components/button/nav-button/nav-icon-button/nav-icon-button.module.css" | "components/button/nav-button/nav-icon-label-button/nav-button-gap.module.css" | "components/button/nav-button/nav-icon-label-button/nav-icon-label-button-padding.module.css" | "components/button/nav-button/nav-label-button/nav-label-button-padding.module.css" | "components/button/nav-button/styles/nav-button-border-radius.module.css" | "components/button/nav-button/styles/nav-button-font-size.module.css" | "components/button/nav-button/styles/nav-button-icon-size.module.css" | "components/button/nav-button/styles/nav-button.module.css" | "components/button/regular-button/label-button/loader.module.css" | "components/button/styles/border-radius.module.css" | "components/button/styles/font-size.module.css" | "components/button/styles/gap.module.css" | "components/button/styles/icon-label-button-padding.module.css" | "components/button/styles/icon-padding.module.css" | "components/button/styles/icon-size.module.css" | "components/button/styles/label-button-padding.module.css" | "components/button/styles/variant.module.css" | "components/checkbox/checkbox.module.css" | "components/collapsible/collapsible.module.css" | "components/date-picker/data-picker-mantine.css" | "components/date-picker/date-picker.module.css" | "components/date-picker/variables.css" | "components/edge/edge-label/edge-label-size.module.css" | "components/edge/edge-label/edge-label.module.css" | "components/edge/use-edge-styles/use-edge-styles.css" | "components/input/clear-button/clear-button.module.css" | "components/input/input-root.module.css" | "components/input/input.module.css" | "components/input/variables.css" | "components/modal/modal.module.css" | "components/node/node-as-port-wrapper/node-as-port.css" | "components/node/node-description/node-description.module.css" | "components/node/node-icon/node-icon.module.css" | "components/node/node-panel/handle.module.css" | "components/node/node-panel/node-panel.module.css" | "components/radio-button/radio-size.module.css" | "components/radio-button/radio.module.css" | "components/segment-picker/border-radius-size.module.css" | "components/segment-picker/item/segment-picker-item-shape.module.css" | "components/segment-picker/segment-picker.module.css" | "components/select/select-button/select-button.module.css" | "components/select/select-value/select-value.module.css" | "components/select/select.module.css" | "components/separator/separator.module.css" | "components/snackbar/components/action-buttons.module.css" | "components/snackbar/components/icon.module.css" | "components/snackbar/components/message.module.css" | "components/snackbar/snackbar.module.css" | "components/status/status.module.css" | "components/switch/icon-switch/icon-switch.module.css" | "components/switch/switch-size.module.css" | "components/switch/switch.module.css" | "components/text-area/text-area.module.css" | "components/tooltip/tooltip.module.css";
+ export type OverflowUITSXRelativePath = "components/accordion/accordion.tsx" | "components/avatar/avatar.tsx" | "components/button/base-button/base-button.tsx" | "components/button/nav-button/nav-button.tsx" | "components/button/nav-button/nav-icon-button/nav-icon-button.tsx" | "components/button/nav-button/nav-icon-label-button/nav-icon-label-button.tsx" | "components/button/nav-button/nav-label-button/nav-label-button.tsx" | "components/button/regular-button/button.tsx" | "components/button/regular-button/icon-button/icon-button.tsx" | "components/button/regular-button/icon-label-button/icon-label-button.tsx" | "components/button/regular-button/label-button/label-button.tsx" | "components/checkbox/checkbox.tsx" | "components/collapsible/collapsible.tsx" | "components/date-picker/date-picker.tsx" | "components/edge/edge-label/edge-label.tsx" | "components/edge/use-edge-styles/use-edge-styles.tsx" | "components/input/clear-button/clear-button.tsx" | "components/input/input.tsx" | "components/menu/menu-item.tsx" | "components/menu/menu.tsx" | "components/menu/test.tsx" | "components/modal/modal.tsx" | "components/node/node-as-port-wrapper/node-as-port-wrapper.tsx" | "components/node/node-description/node-description.tsx" | "components/node/node-icon/node-icon.tsx" | "components/node/node-panel/node-panel.tsx" | "components/radio-button/radio.tsx" | "components/segment-picker/item/segment-picker-item.tsx" | "components/segment-picker/segment-picker.tsx" | "components/select/select-button/select-button.tsx" | "components/select/select-option/select-option.tsx" | "components/select/select-value/select-value.tsx" | "components/select/select.tsx" | "components/separator/separator.tsx" | "components/snackbar/components/action-buttons.tsx" | "components/snackbar/components/icon.tsx" | "components/snackbar/components/message.tsx" | "components/snackbar/snackbar.tsx" | "components/status/status.tsx" | "components/switch/icon-switch/icon-switch.tsx" | "components/switch/switch.tsx" | "components/text-area/text-area.tsx" | "components/tooltip/tooltip-content.tsx" | "components/tooltip/tooltip-trigger.tsx" | "components/tooltip/tooltip.tsx";
+ export type OverflowUICSSRelativePath = "components/accordion/accordion.module.css" | "components/avatar/avatar.module.css" | "components/button/base-button/base-button.module.css" | "components/button/nav-button/nav-icon-button/nav-button-icon-padding.module.css" | "components/button/nav-button/nav-icon-button/nav-icon-button.module.css" | "components/button/nav-button/nav-icon-label-button/nav-button-gap.module.css" | "components/button/nav-button/nav-icon-label-button/nav-icon-label-button-padding.module.css" | "components/button/nav-button/nav-label-button/nav-label-button-padding.module.css" | "components/button/nav-button/styles/nav-button-border-radius.module.css" | "components/button/nav-button/styles/nav-button-font-size.module.css" | "components/button/nav-button/styles/nav-button-icon-size.module.css" | "components/button/nav-button/styles/nav-button.module.css" | "components/button/regular-button/label-button/loader.module.css" | "components/button/styles/border-radius.module.css" | "components/button/styles/font-size.module.css" | "components/button/styles/gap.module.css" | "components/button/styles/icon-label-button-padding.module.css" | "components/button/styles/icon-padding.module.css" | "components/button/styles/icon-size.module.css" | "components/button/styles/label-button-padding.module.css" | "components/button/styles/variant.module.css" | "components/checkbox/checkbox.module.css" | "components/collapsible/collapsible.module.css" | "components/date-picker/date-picker.module.css" | "components/date-picker/variables.css" | "components/edge/edge-label/edge-label-size.module.css" | "components/edge/edge-label/edge-label.module.css" | "components/edge/use-edge-styles/use-edge-styles.css" | "components/input/clear-button/clear-button.module.css" | "components/input/input-root.module.css" | "components/input/input.module.css" | "components/input/variables.css" | "components/modal/modal.module.css" | "components/node/node-as-port-wrapper/node-as-port.css" | "components/node/node-description/node-description.module.css" | "components/node/node-icon/node-icon.module.css" | "components/node/node-panel/handle.module.css" | "components/node/node-panel/node-panel.module.css" | "components/radio-button/radio-size.module.css" | "components/radio-button/radio.module.css" | "components/segment-picker/border-radius-size.module.css" | "components/segment-picker/item/segment-picker-item-shape.module.css" | "components/segment-picker/segment-picker.module.css" | "components/select/select-button/select-button.module.css" | "components/select/select-value/select-value.module.css" | "components/select/select.module.css" | "components/separator/separator.module.css" | "components/snackbar/components/action-buttons.module.css" | "components/snackbar/components/icon.module.css" | "components/snackbar/components/message.module.css" | "components/snackbar/snackbar.module.css" | "components/status/status.module.css" | "components/switch/icon-switch/icon-switch.module.css" | "components/switch/switch-size.module.css" | "components/switch/switch.module.css" | "components/text-area/text-area.module.css" | "components/tooltip/tooltip.module.css";
\ No newline at end of file
diff --git a/packages/website/generated/props.json b/packages/website/generated/props.json
index 551a6342..6295b83f 100644
--- a/packages/website/generated/props.json
+++ b/packages/website/generated/props.json
@@ -956,16 +956,73 @@
],
"../ui/src/components/date-picker/date-picker.tsx": [
{
- "description": "Component for selecting a date with customizable format and placeholder",
+ "description": "Component for selecting a date with customizable format and placeholder.\n\nBuilt on top of `react-day-picker` (calendar) composed with Base UI\n`Popover` (positioning + dismiss + a11y). The input/trigger uses our\nstandard input-size and input-font-size design tokens.",
"displayName": "DatePicker",
"methods": [],
"props": {
+ "aria-label": {
+ "description": "Accessible name for the trigger button.",
+ "required": false,
+ "tsType": {
+ "name": "string"
+ }
+ },
+ "aria-labelledby": {
+ "description": "`aria-labelledby` for the trigger button.",
+ "required": false,
+ "tsType": {
+ "name": "string"
+ }
+ },
+ "className": {
+ "description": "Class name applied to the trigger button.",
+ "required": false,
+ "tsType": {
+ "name": "string"
+ }
+ },
"defaultValue": {
- "description": "Default date value when the component is initially rendered.\n\nFor the \"default\" is a single date, for the \"range\" [date, date]; and for the \"multiple\", an array of dates.",
+ "description": "Initial value when the picker is uncontrolled.\n\n- `default` accepts `Date | string`\n- `range` accepts `[Date, Date]`\n- `multiple` accepts `Date[]`",
+ "required": false,
+ "tsType": {
+ "elements": [
+ {
+ "name": "Date"
+ },
+ {
+ "elements": [
+ {
+ "name": "Date"
+ },
+ {
+ "name": "Date"
+ }
+ ],
+ "name": "tuple",
+ "raw": "[Date, Date]"
+ },
+ {
+ "elements": [
+ {
+ "name": "Date"
+ }
+ ],
+ "name": "Array",
+ "raw": "Date[]"
+ },
+ {
+ "name": "string"
+ }
+ ],
+ "name": "union",
+ "raw": "Date | [Date, Date] | Date[] | string"
+ }
+ },
+ "disabled": {
+ "description": "Disable the picker. The trigger button is not interactive and the\npopover cannot be opened.",
"required": false,
"tsType": {
- "name": "intersection['defaultValue']",
- "raw": "DatePickerProps['defaultValue']"
+ "name": "boolean"
}
},
"error": {
@@ -973,51 +1030,175 @@
"computed": false,
"value": "false"
},
- "description": "Whether the date picker has an error",
+ "description": "Render the trigger in an error state.\n\n@default false",
"required": false,
"tsType": {
"name": "boolean"
}
},
+ "id": {
+ "description": "`id` attribute applied to the trigger button.",
+ "required": false,
+ "tsType": {
+ "name": "string"
+ }
+ },
"inputSize": {
"defaultValue": {
"computed": false,
"value": "'medium'"
},
- "description": "",
+ "description": "Size variant of the trigger input.\n@default 'medium'",
"required": false,
"tsType": {
"name": "ItemSize"
}
},
+ "maxDate": {
+ "description": "The latest selectable date (inclusive).",
+ "required": false,
+ "tsType": {
+ "name": "Date"
+ }
+ },
+ "minDate": {
+ "description": "The earliest selectable date (inclusive).",
+ "required": false,
+ "tsType": {
+ "name": "Date"
+ }
+ },
+ "onChange": {
+ "description": "Callback fired when the selected value changes.\n\n- `default` -> the selected `Date` or `null` when cleared\n- `range` -> `[from, to]` once both dates are selected, otherwise `null`\n- `multiple`-> the array of selected `Date`s (empty array allowed)",
+ "required": false,
+ "tsType": {
+ "name": "signature",
+ "raw": "(value: Date | [Date, Date] | Date[] | null) => void",
+ "signature": {
+ "arguments": [
+ {
+ "name": "value",
+ "type": {
+ "elements": [
+ {
+ "name": "Date"
+ },
+ {
+ "elements": [
+ {
+ "name": "Date"
+ },
+ {
+ "name": "Date"
+ }
+ ],
+ "name": "tuple",
+ "raw": "[Date, Date]"
+ },
+ {
+ "elements": [
+ {
+ "name": "Date"
+ }
+ ],
+ "name": "Array",
+ "raw": "Date[]"
+ },
+ {
+ "name": "null"
+ }
+ ],
+ "name": "union",
+ "raw": "Date | [Date, Date] | Date[] | null"
+ }
+ }
+ ],
+ "return": {
+ "name": "void"
+ }
+ },
+ "type": "function"
+ }
+ },
"placeholder": {
"defaultValue": {
"computed": false,
"value": "'dd/mm/yyyy'"
},
- "description": "Placeholder text to show when no date is selected",
+ "description": "Placeholder text shown when no date is selected.\n\n@default 'dd/mm/yyyy'",
"required": false,
"tsType": {
"name": "string"
}
},
+ "readOnly": {
+ "description": "Render the picker as read-only. The trigger displays the current value\nbut the popover cannot be opened.",
+ "required": false,
+ "tsType": {
+ "name": "boolean"
+ }
+ },
"type": {
"defaultValue": {
"computed": false,
"value": "'default'"
},
- "description": "Picker type",
+ "description": "Picker type.\n\n- `default` selects a single date\n- `range` selects a `[from, to]` date range\n- `multiple` selects an arbitrary array of dates\n\n@default 'default'",
"required": false,
"tsType": {
- "name": "DatePickerType"
+ "elements": [
+ {
+ "name": "literal",
+ "value": "'default'"
+ },
+ {
+ "name": "literal",
+ "value": "'range'"
+ },
+ {
+ "name": "literal",
+ "value": "'multiple'"
+ }
+ ],
+ "name": "union",
+ "raw": "'default' | 'range' | 'multiple'"
}
},
"value": {
- "description": "Controlled value for the selected date\n\nFor the \"default\" is a single date, for the \"range\" [date, date]; and for the \"multiple\", an array of dates.",
+ "description": "Controlled selected value. When set, the picker becomes controlled.",
"required": false,
"tsType": {
- "name": "intersection['value']",
- "raw": "DatePickerProps['value']"
+ "elements": [
+ {
+ "name": "Date"
+ },
+ {
+ "elements": [
+ {
+ "name": "Date"
+ },
+ {
+ "name": "Date"
+ }
+ ],
+ "name": "tuple",
+ "raw": "[Date, Date]"
+ },
+ {
+ "elements": [
+ {
+ "name": "Date"
+ }
+ ],
+ "name": "Array",
+ "raw": "Date[]"
+ },
+ {
+ "name": "string"
+ }
+ ],
+ "name": "union",
+ "raw": "Date | [Date, Date] | Date[] | string"
}
},
"valueFormat": {
@@ -1025,7 +1206,7 @@
"computed": false,
"value": "'DD/MM/YYYY'"
},
- "description": "Format string to control how the selected date is displayed\n(e.g., 'yyyy-MM-dd')",
+ "description": "Format string used to render the selected date(s) in the trigger.\n\n**Note:** This implementation uses `date-fns` format tokens (e.g.\n`dd/MM/yyyy`). The legacy default value `DD/MM/YYYY` (dayjs tokens) is\naccepted and converted to the equivalent `date-fns` tokens for backwards\ncompatibility.\n\n@default 'DD/MM/YYYY'",
"required": false,
"tsType": {
"name": "string"
@@ -1173,16 +1354,23 @@
"methods": [],
"props": {
"endAdornment": {
- "defaultValue": {
- "computed": true,
- "value": "undefined"
- },
"description": "Element displayed at the end of the input field.",
"required": false,
"tsType": {
"name": "ReactNode"
}
},
+ "error": {
+ "defaultValue": {
+ "computed": false,
+ "value": "false"
+ },
+ "description": "Renders the input in an error state.",
+ "required": false,
+ "tsType": {
+ "name": "boolean"
+ }
+ },
"size": {
"defaultValue": {
"computed": false,
@@ -1195,10 +1383,6 @@
}
},
"startAdornment": {
- "defaultValue": {
- "computed": true,
- "value": "undefined"
- },
"description": "Element displayed at the start of the input field.",
"required": false,
"tsType": {
@@ -1324,42 +1508,72 @@
"description": "Distance between a popup and the trigger element",
"required": false,
"tsType": {
- "name": "OffsetOptions"
+ "elements": [
+ {
+ "name": "number"
+ },
+ {
+ "name": "signature",
+ "raw": "{\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number | null;\n}",
+ "signature": {
+ "properties": [
+ {
+ "key": "mainAxis",
+ "value": {
+ "name": "number",
+ "required": false
+ }
+ },
+ {
+ "key": "crossAxis",
+ "value": {
+ "name": "number",
+ "required": false
+ }
+ },
+ {
+ "key": "alignmentAxis",
+ "value": {
+ "elements": [
+ {
+ "name": "number"
+ },
+ {
+ "name": "null"
+ }
+ ],
+ "name": "union",
+ "raw": "number | null",
+ "required": false
+ }
+ }
+ ]
+ },
+ "type": "object"
+ }
+ ],
+ "name": "union",
+ "raw": "| number\n| {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number | null;\n }"
}
},
"onOpenChange": {
- "description": "Callback fired when the component requests to be opened or closed.",
+ "description": "Callback fired when the component requests to be opened or closed.\nReceives the next open state and the native event that triggered the\nchange (if any).",
"required": false,
"tsType": {
"name": "signature",
- "raw": "(\n event: MouseEvent | KeyboardEvent | FocusEvent | null,\n open: boolean,\n) => void",
+ "raw": "(open: boolean, event?: Event) => void",
"signature": {
"arguments": [
{
- "name": "event",
+ "name": "open",
"type": {
- "elements": [
- {
- "name": "MouseEvent"
- },
- {
- "name": "KeyboardEvent"
- },
- {
- "name": "FocusEvent"
- },
- {
- "name": "null"
- }
- ],
- "name": "union",
- "raw": "MouseEvent | KeyboardEvent | FocusEvent | null"
+ "name": "boolean"
}
},
{
- "name": "open",
+ "name": "event",
"type": {
- "name": "boolean"
+ "name": "Event"
}
}
],
@@ -1396,7 +1610,36 @@
"tsType": {
"elements": [
{
- "name": "Placement"
+ "elements": [
+ {
+ "elements": [
+ {
+ "name": "literal",
+ "value": "'top'"
+ },
+ {
+ "name": "literal",
+ "value": "'bottom'"
+ },
+ {
+ "name": "literal",
+ "value": "'left'"
+ },
+ {
+ "name": "literal",
+ "value": "'right'"
+ }
+ ],
+ "name": "union",
+ "raw": "'top' | 'bottom' | 'left' | 'right'"
+ },
+ {
+ "name": "literal",
+ "value": "`${Side}-${Align}`"
+ }
+ ],
+ "name": "union",
+ "raw": "Side | `${Side}-${Align}`"
},
{
"name": "undefined"
@@ -2004,35 +2247,23 @@
"name": "string"
}
},
- "selectedOptionLabel": {
+ "value": {
"description": "",
"required": true,
"tsType": {
"elements": [
{
- "elements": [
- {
- "elements": [
- {
- "name": "string"
- },
- {
- "name": "number"
- }
- ],
- "name": "union",
- "raw": "string | number"
- }
- ],
- "name": "SelectOption",
- "raw": "SelectOption"
+ "name": "string"
+ },
+ {
+ "name": "number"
},
{
"name": "null"
}
],
"name": "union",
- "raw": "SelectOption | null"
+ "raw": "string | number | null"
}
}
}
@@ -2051,6 +2282,32 @@
"name": "string"
}
},
+ "defaultValue": {
+ "description": "The default value of the select when uncontrolled.",
+ "required": false,
+ "tsType": {
+ "elements": [
+ {
+ "name": "string"
+ },
+ {
+ "name": "number"
+ },
+ {
+ "name": "null"
+ }
+ ],
+ "name": "union",
+ "raw": "string | number | null"
+ }
+ },
+ "disabled": {
+ "description": "Whether the select is disabled.",
+ "required": false,
+ "tsType": {
+ "name": "boolean"
+ }
+ },
"error": {
"defaultValue": {
"computed": false,
@@ -2184,6 +2441,65 @@
"raw": "SelectItem[]"
}
},
+ "name": {
+ "description": "Identifies the field when a form is submitted.",
+ "required": false,
+ "tsType": {
+ "name": "string"
+ }
+ },
+ "onChange": {
+ "description": "Callback fired when the value of the select changes.",
+ "required": false,
+ "tsType": {
+ "name": "signature",
+ "raw": "(\n event: SyntheticEvent | Event | null,\n value: SelectValueType,\n) => void",
+ "signature": {
+ "arguments": [
+ {
+ "name": "event",
+ "type": {
+ "elements": [
+ {
+ "name": "SyntheticEvent"
+ },
+ {
+ "name": "Event"
+ },
+ {
+ "name": "null"
+ }
+ ],
+ "name": "union",
+ "raw": "SyntheticEvent | Event | null"
+ }
+ },
+ {
+ "name": "value",
+ "type": {
+ "elements": [
+ {
+ "name": "string"
+ },
+ {
+ "name": "number"
+ },
+ {
+ "name": "null"
+ }
+ ],
+ "name": "union",
+ "raw": "string | number | null"
+ }
+ }
+ ],
+ "return": {
+ "name": "void"
+ }
+ },
+ "type": "function"
+ }
+ },
"placeholder": {
"description": "Placeholder text for the select input",
"required": false,
@@ -2191,6 +2507,13 @@
"name": "string"
}
},
+ "required": {
+ "description": "Whether the user must choose a value before submitting a form.",
+ "required": false,
+ "tsType": {
+ "name": "boolean"
+ }
+ },
"size": {
"defaultValue": {
"computed": false,
@@ -2226,6 +2549,25 @@
"name": "Extract",
"raw": "Extract"
}
+ },
+ "value": {
+ "description": "The controlled value of the select.",
+ "required": false,
+ "tsType": {
+ "elements": [
+ {
+ "name": "string"
+ },
+ {
+ "name": "number"
+ },
+ {
+ "name": "null"
+ }
+ ],
+ "name": "union",
+ "raw": "string | number | null"
+ }
}
}
}
@@ -2965,10 +3307,65 @@
}
},
"placement": {
+ "defaultValue": {
+ "computed": false,
+ "value": "'bottom'"
+ },
"description": "Tooltip placement.",
"required": false,
"tsType": {
- "name": "Placement"
+ "elements": [
+ {
+ "name": "literal",
+ "value": "'top'"
+ },
+ {
+ "name": "literal",
+ "value": "'top-start'"
+ },
+ {
+ "name": "literal",
+ "value": "'top-end'"
+ },
+ {
+ "name": "literal",
+ "value": "'right'"
+ },
+ {
+ "name": "literal",
+ "value": "'right-start'"
+ },
+ {
+ "name": "literal",
+ "value": "'right-end'"
+ },
+ {
+ "name": "literal",
+ "value": "'bottom'"
+ },
+ {
+ "name": "literal",
+ "value": "'bottom-start'"
+ },
+ {
+ "name": "literal",
+ "value": "'bottom-end'"
+ },
+ {
+ "name": "literal",
+ "value": "'left'"
+ },
+ {
+ "name": "literal",
+ "value": "'left-start'"
+ },
+ {
+ "name": "literal",
+ "value": "'left-end'"
+ }
+ ],
+ "name": "union",
+ "raw": "| 'top'\n| 'top-start'\n| 'top-end'\n| 'right'\n| 'right-start'\n| 'right-end'\n| 'bottom'\n| 'bottom-start'\n| 'bottom-end'\n| 'left'\n| 'left-start'\n| 'left-end'"
}
}
}
diff --git a/packages/website/src/components/component-utils/preview/preview.module.css b/packages/website/src/components/component-utils/preview/preview.module.css
index 5ae91bc4..c4dc37ef 100644
--- a/packages/website/src/components/component-utils/preview/preview.module.css
+++ b/packages/website/src/components/component-utils/preview/preview.module.css
@@ -21,6 +21,8 @@
}
.preview-container {
+ max-width: 50rem;
+ width: 100%;
aspect-ratio: 2 / 1;
display: flex;
align-items: center;
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1cab9541..1d34e54c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -72,34 +72,25 @@ importers:
packages/ui:
dependencies:
- '@emotion/styled':
- specifier: ^11.14.0
- version: 11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1)
- '@floating-ui/react':
- specifier: ^0.26.28
- version: 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/core':
- specifier: ^7.17.2
- version: 7.17.2(@mantine/hooks@7.17.2(react@18.3.1))(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/dates':
- specifier: ^7.17.2
- version: 7.17.2(@mantine/core@7.17.2(@mantine/hooks@7.17.2(react@18.3.1))(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.17.2(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mui/base':
- specifier: 5.0.0-beta.62
- version: 5.0.0-beta.62(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mui/material':
- specifier: ^6.4.7
- version: 6.4.7(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@base-ui/react':
+ specifier: ^1.4.0
+ version: 1.4.1(@date-fns/tz@1.4.1)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@phosphor-icons/react':
- specifier: ^2.1.7
+ specifier: ^2.0.0
version: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
clsx:
specifier: ^2.0.0
version: 2.1.1
+ date-fns:
+ specifier: ^4.1.0
+ version: 4.1.0
+ react-day-picker:
+ specifier: ^9.14.0
+ version: 9.14.0(react@18.3.1)
+ react-textarea-autosize:
+ specifier: ^8.5.6
+ version: 8.5.6(@types/react@19.1.8)(react@18.3.1)
devDependencies:
- '@emotion/react':
- specifier: ^11.14.0
- version: 11.14.0(@types/react@19.1.8)(react@18.3.1)
'@synergycodes/overflow-ui-tokens':
specifier: workspace:*
version: link:../tokens
@@ -127,6 +118,9 @@ importers:
react-dom:
specifier: ^18.3.1
version: 18.3.1(react@18.3.1)
+ rollup-plugin-visualizer:
+ specifier: ^7.0.1
+ version: 7.0.1(rollup@4.35.0)
typescript:
specifier: ^5.6.3
version: 5.6.3
@@ -222,7 +216,7 @@ importers:
version: 0.28.1(typescript@5.6.3)
zustand:
specifier: ^5.0.3
- version: 5.0.3(@types/react@19.1.8)(immer@9.0.21)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0))
+ version: 5.0.3(@types/react@19.1.8)(immer@9.0.21)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0))
devDependencies:
'@docusaurus/module-type-aliases':
specifier: ~3.7.0
@@ -950,14 +944,14 @@ packages:
resolution: {integrity: sha512-5EVjbTegqN7RSJle6hMWYxO4voo4rI+9krITk+DWR+diJgGrjZjrIBnJhjrHYYQsFgI7j1w1QnrvV7YSKBfYGg==}
engines: {node: '>=6.9.0'}
- '@babel/runtime@7.26.9':
- resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==}
- engines: {node: '>=6.9.0'}
-
'@babel/runtime@7.27.6':
resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==}
engines: {node: '>=6.9.0'}
+ '@babel/runtime@7.29.2':
+ resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
+ engines: {node: '>=6.9.0'}
+
'@babel/template@7.26.9':
resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==}
engines: {node: '>=6.9.0'}
@@ -970,6 +964,33 @@ packages:
resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
engines: {node: '>=6.9.0'}
+ '@base-ui/react@1.4.1':
+ resolution: {integrity: sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ '@date-fns/tz': ^1.2.0
+ '@types/react': ^17 || ^18 || ^19
+ date-fns: ^4.0.0
+ react: ^17 || ^18 || ^19
+ react-dom: ^17 || ^18 || ^19
+ peerDependenciesMeta:
+ '@date-fns/tz':
+ optional: true
+ '@types/react':
+ optional: true
+ date-fns:
+ optional: true
+
+ '@base-ui/utils@0.2.8':
+ resolution: {integrity: sha512-jvOi+c+ftGlGotNcKnzPVg2IhCaDTB6/6R3JeqdjdXktuAJi3wKH9T7+svuaKh1mmfVU11UWzUZVH74JDfi/wQ==}
+ peerDependencies:
+ '@types/react': ^17 || ^18 || ^19
+ react: ^17 || ^18 || ^19
+ react-dom: ^17 || ^18 || ^19
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
'@bundled-es-modules/deepmerge@4.3.1':
resolution: {integrity: sha512-Rk453EklPUPC3NRWc3VUNI/SSUjdBaFoaQvFRmNBNtMHVtOFD5AntiWg5kEE1hqcPqedYFDzxE3ZcMYPcA195w==}
@@ -1241,6 +1262,9 @@ packages:
peerDependencies:
postcss: ^8.4
+ '@date-fns/tz@1.4.1':
+ resolution: {integrity: sha512-P5LUNhtbj6YfI3iJjw5EL9eUAG6OitD0W3fWQcpQjDRc/QIsL0tRNuO1PcDvPccWL1fSTXXdE1ds+l95DV/OFA==}
+
'@discoveryjs/json-ext@0.5.7':
resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
engines: {node: '>=10.0.0'}
@@ -1458,60 +1482,6 @@ packages:
'@emnapi/wasi-threads@1.0.1':
resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
- '@emotion/babel-plugin@11.13.5':
- resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==}
-
- '@emotion/cache@11.14.0':
- resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==}
-
- '@emotion/hash@0.9.2':
- resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==}
-
- '@emotion/is-prop-valid@1.3.1':
- resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==}
-
- '@emotion/memoize@0.9.0':
- resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==}
-
- '@emotion/react@11.14.0':
- resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==}
- peerDependencies:
- '@types/react': '*'
- react: '>=16.8.0'
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@emotion/serialize@1.3.3':
- resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==}
-
- '@emotion/sheet@1.4.0':
- resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==}
-
- '@emotion/styled@11.14.0':
- resolution: {integrity: sha512-XxfOnXFffatap2IyCeJyNov3kiDQWoR08gPUQxvbL7fxKryGBKUZUkG6Hz48DZwVrJSVh9sJboyV1Ds4OW6SgA==}
- peerDependencies:
- '@emotion/react': ^11.0.0-rc.0
- '@types/react': '*'
- react: '>=16.8.0'
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@emotion/unitless@0.10.0':
- resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==}
-
- '@emotion/use-insertion-effect-with-fallbacks@1.2.0':
- resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==}
- peerDependencies:
- react: '>=16.8.0'
-
- '@emotion/utils@1.4.2':
- resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==}
-
- '@emotion/weak-memoize@0.4.0':
- resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==}
-
'@esbuild/aix-ppc64@0.25.1':
resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==}
engines: {node: '>=18'}
@@ -1711,26 +1681,20 @@ packages:
'@figma/rest-api-spec@0.24.0':
resolution: {integrity: sha512-c/LHQNzfn8HSuo608TnfHJS8K3Ps61MvDbqTTL+qVx2FCIui7dI3RC2bG2/kSHmQXXKTbgbcAADyU6Rf8YkZbQ==}
- '@floating-ui/core@1.6.9':
- resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==}
-
- '@floating-ui/dom@1.6.13':
- resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==}
+ '@floating-ui/core@1.7.5':
+ resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==}
- '@floating-ui/react-dom@2.1.2':
- resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
- peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
+ '@floating-ui/dom@1.7.6':
+ resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==}
- '@floating-ui/react@0.26.28':
- resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==}
+ '@floating-ui/react-dom@2.1.8':
+ resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
- '@floating-ui/utils@0.2.9':
- resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
+ '@floating-ui/utils@0.2.11':
+ resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
'@gerrit0/mini-shiki@3.2.1':
resolution: {integrity: sha512-HbzRC6MKB6U8kQhczz0APKPIzFHTrcqhaC7es2EXInq1SpjPVnpVSIsBe6hNoLWqqCx1n5VKiPXq6PfXnHZKOQ==}
@@ -1815,27 +1779,6 @@ packages:
'@leichtgewicht/ip-codec@2.0.5':
resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==}
- '@mantine/core@7.17.2':
- resolution: {integrity: sha512-R6MYhitJ0JEgrhadd31Nw9FhRaQwDHjXUs5YIlitKH/fTOz9gKSxKjzmNng3bEBQCcbEDOkZj3FRcBgTUh/F0Q==}
- peerDependencies:
- '@mantine/hooks': 7.17.2
- react: ^18.x || ^19.x
- react-dom: ^18.x || ^19.x
-
- '@mantine/dates@7.17.2':
- resolution: {integrity: sha512-7bB992j8f+uEi280jab0/8i5yfsN/3oSrMDFwatZ+7XSDUwiP0YFib/FVX0pNSSqdFpbXhUmsZEECX71QtHw+Q==}
- peerDependencies:
- '@mantine/core': 7.17.2
- '@mantine/hooks': 7.17.2
- dayjs: '>=1.0.0'
- react: ^18.x || ^19.x
- react-dom: ^18.x || ^19.x
-
- '@mantine/hooks@7.17.2':
- resolution: {integrity: sha512-tbErVcGZu0E4dSmE6N0k6Tv1y9R3SQmmQgwqorcc+guEgKMdamc36lucZGlJnSGUmGj+WLUgELkEQ0asdfYBDA==}
- peerDependencies:
- react: ^18.x || ^19.x
-
'@mdx-js/mdx@3.1.0':
resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
@@ -1858,98 +1801,6 @@ packages:
'@microsoft/tsdoc@0.15.1':
resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==}
- '@mui/base@5.0.0-beta.62':
- resolution: {integrity: sha512-TzJLCNlrMkSU4bTCdTT+TVUiGx4sjZLhH673UV6YN+rNNP8wJpkWfRSvjDB5HcbH2T0lUamnz643ZnV+8IiMjw==}
- engines: {node: '>=14.0.0'}
- deprecated: This package has been replaced by @base-ui/react
- peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0
- react: ^17.0.0 || ^18.0.0
- react-dom: ^17.0.0 || ^18.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@mui/core-downloads-tracker@6.4.7':
- resolution: {integrity: sha512-XjJrKFNt9zAKvcnoIIBquXyFyhfrHYuttqMsoDS7lM7VwufYG4fAPw4kINjBFg++fqXM2BNAuWR9J7XVIuKIKg==}
-
- '@mui/material@6.4.7':
- resolution: {integrity: sha512-K65StXUeGAtFJ4ikvHKtmDCO5Ab7g0FZUu2J5VpoKD+O6Y3CjLYzRi+TMlI3kaL4CL158+FccMoOd/eaddmeRQ==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- '@emotion/react': ^11.5.0
- '@emotion/styled': ^11.3.0
- '@mui/material-pigment-css': ^6.4.7
- '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
- react: ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@emotion/react':
- optional: true
- '@emotion/styled':
- optional: true
- '@mui/material-pigment-css':
- optional: true
- '@types/react':
- optional: true
-
- '@mui/private-theming@6.4.6':
- resolution: {integrity: sha512-T5FxdPzCELuOrhpA2g4Pi6241HAxRwZudzAuL9vBvniuB5YU82HCmrARw32AuCiyTfWzbrYGGpZ4zyeqqp9RvQ==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
- react: ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@mui/styled-engine@6.4.6':
- resolution: {integrity: sha512-vSWYc9ZLX46be5gP+FCzWVn5rvDr4cXC5JBZwSIkYk9xbC7GeV+0kCvB8Q6XLFQJy+a62bbqtmdwS4Ghi9NBlQ==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- '@emotion/react': ^11.4.1
- '@emotion/styled': ^11.3.0
- react: ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@emotion/react':
- optional: true
- '@emotion/styled':
- optional: true
-
- '@mui/system@6.4.7':
- resolution: {integrity: sha512-7wwc4++Ak6tGIooEVA9AY7FhH2p9fvBMORT4vNLMAysH3Yus/9B9RYMbrn3ANgsOyvT3Z7nE+SP8/+3FimQmcg==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- '@emotion/react': ^11.5.0
- '@emotion/styled': ^11.3.0
- '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
- react: ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@emotion/react':
- optional: true
- '@emotion/styled':
- optional: true
- '@types/react':
- optional: true
-
- '@mui/types@7.2.21':
- resolution: {integrity: sha512-6HstngiUxNqLU+/DPqlUJDIPbzUBxIVHb1MmXP0eTWDIROiCR2viugXpEif0PPe2mLqqakPzzRClWAnK+8UJww==}
- peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- '@mui/utils@6.4.6':
- resolution: {integrity: sha512-43nZeE1pJF2anGafNydUcYFPtHwAqiBiauRtaMvurdrZI3YrUjHkAu43RBsxef7OFtJMXGiHFvq43kb7lig0sA==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
- react: ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
'@napi-rs/wasm-runtime@0.2.7':
resolution: {integrity: sha512-5yximcFK5FNompXfJFoWanu5l8v1hNGqNHh9du1xETp9HWk/B/PzvchX55WYOPaIeNglG8++68AAiauBAtbnzw==}
@@ -2082,9 +1933,6 @@ packages:
'@polka/url@1.0.0-next.28':
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
- '@popperjs/core@2.11.8':
- resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
-
'@react-docgen/cli@2.0.6':
resolution: {integrity: sha512-ZLm6oKlOntYnQvT0MN0mRScT7i9nxVjS8oWPyixGeOtnc3NcYzQJcJIoyPXIlSc0iAWjAqfeBydr/DaPhBvEGQ==}
engines: {node: '>=16.14.0'}
@@ -2336,6 +2184,10 @@ packages:
resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==}
engines: {node: '>=14.16'}
+ '@tabby_ai/hijri-converter@1.0.5':
+ resolution: {integrity: sha512-r5bClKrcIusDoo049dSL8CawnHR6mRdDwhlQuIgZRNty68q0x8k3Lf1BtPAMxRf/GgnHBnIO4ujd3+GQdLWzxQ==}
+ engines: {node: '>=16.0.0'}
+
'@tokens-studio/sd-transforms@1.2.12':
resolution: {integrity: sha512-YAHKYtGjwrYXp1Kh/PM/3C/e3a05+Zg6pxA4Rz3dkxPO4L/IGBE1ExKrqOZXTLRCw6JJDofQKUapAvig0iO9Fg==}
engines: {node: '>=18.0.0'}
@@ -2490,9 +2342,6 @@ packages:
'@types/prismjs@1.26.5':
resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
- '@types/prop-types@15.7.14':
- resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
-
'@types/qs@6.9.18':
resolution: {integrity: sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==}
@@ -2513,11 +2362,6 @@ packages:
'@types/react-router@5.1.20':
resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==}
- '@types/react-transition-group@4.4.12':
- resolution: {integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==}
- peerDependencies:
- '@types/react': '*'
-
'@types/react@19.1.8':
resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==}
@@ -2935,10 +2779,6 @@ packages:
babel-plugin-dynamic-import-node@2.3.3:
resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==}
- babel-plugin-macros@3.1.0:
- resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
- engines: {node: '>=10', npm: '>=6'}
-
babel-plugin-polyfill-corejs2@0.4.12:
resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==}
peerDependencies:
@@ -3017,6 +2857,10 @@ packages:
buffer@6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
bytes@3.0.0:
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
engines: {node: '>= 0.8'}
@@ -3146,6 +2990,10 @@ packages:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
+ cliui@9.0.1:
+ resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==}
+ engines: {node: '>=20'}
+
clone-deep@4.0.1:
resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
engines: {node: '>=6'}
@@ -3277,9 +3125,6 @@ packages:
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
engines: {node: '>= 0.6'}
- convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
-
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
@@ -3316,10 +3161,6 @@ packages:
resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
engines: {node: '>=8'}
- cosmiconfig@7.1.0:
- resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
- engines: {node: '>=10'}
-
cosmiconfig@8.3.6:
resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
engines: {node: '>=14'}
@@ -3509,8 +3350,11 @@ packages:
resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
engines: {node: '>= 0.4'}
- dayjs@1.11.13:
- resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
+ date-fns-jalali@4.1.0-0:
+ resolution: {integrity: sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==}
+
+ date-fns@4.1.0:
+ resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
de-indent@1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
@@ -3553,6 +3397,14 @@ packages:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
+ 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'}
+
default-gateway@6.0.3:
resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
engines: {node: '>= 10'}
@@ -3569,6 +3421,10 @@ packages:
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==}
engines: {node: '>= 0.4'}
@@ -3593,9 +3449,6 @@ packages:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
- detect-node-es@1.1.0:
- resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
-
detect-node@2.1.0:
resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
@@ -3635,9 +3488,6 @@ packages:
dom-converter@0.2.0:
resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
- dom-helpers@5.2.1:
- resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
-
dom-serializer@1.4.1:
resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
@@ -3684,6 +3534,9 @@ packages:
electron-to-chromium@1.5.112:
resolution: {integrity: sha512-oen93kVyqSb3l+ziUgzIOlWt/oOuy4zRmpwestMn4rhFWAoFJeFuCVte9F2fASjeZZo7l/Cif9TiyrdW4CwEMA==}
+ emoji-regex@10.6.0:
+ resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
+
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -4012,9 +3865,6 @@ packages:
resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==}
engines: {node: '>=14.16'}
- find-root@1.1.0:
- resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
-
find-up@3.0.0:
resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
engines: {node: '>=6'}
@@ -4132,14 +3982,14 @@ packages:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
+ get-east-asian-width@1.5.0:
+ resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==}
+ engines: {node: '>=18'}
+
get-intrinsic@1.3.0:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
- get-nonce@1.0.1:
- resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
- engines: {node: '>=6'}
-
get-own-enumerable-property-symbols@3.0.2:
resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==}
@@ -4570,6 +4420,11 @@ packages:
engines: {node: '>=8'}
hasBin: true
+ 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-extendable@0.1.1:
resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
engines: {node: '>=0.10.0'}
@@ -4597,6 +4452,15 @@ packages:
is-hexadecimal@2.0.1:
resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+ is-in-ssh@1.0.0:
+ resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==}
+ engines: {node: '>=20'}
+
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
is-installed-globally@0.4.0:
resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==}
engines: {node: '>=10'}
@@ -4711,6 +4575,10 @@ packages:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'}
+ is-wsl@3.1.1:
+ resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==}
+ engines: {node: '>=16'}
+
is-yarn-global@0.4.1:
resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==}
engines: {node: '>=12'}
@@ -5393,6 +5261,10 @@ packages:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
+ open@11.0.0:
+ resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==}
+ engines: {node: '>=20'}
+
open@7.4.2:
resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==}
engines: {node: '>=8'}
@@ -6008,6 +5880,10 @@ packages:
resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
engines: {node: ^10 || ^12 || >=14}
+ powershell-utils@0.1.0:
+ resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==}
+ engines: {node: '>=20'}
+
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -6117,6 +5993,12 @@ packages:
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
hasBin: true
+ react-day-picker@9.14.0:
+ resolution: {integrity: sha512-tBaoDWjPwe0M5pGrum4H0SR6Lyk+BO9oHnp9JbKpGKW2mlraNPgP9BMfsg5pWpwrssARmeqk7YBl2oXutZTaHA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ react: '>=16.8.0'
+
react-dev-utils@12.0.1:
resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==}
engines: {node: '>=14'}
@@ -6155,9 +6037,6 @@ packages:
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
- react-is@19.0.0:
- resolution: {integrity: sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==}
-
react-json-view-lite@1.5.0:
resolution: {integrity: sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==}
engines: {node: '>=14'}
@@ -6178,36 +6057,10 @@ packages:
react-loadable: '*'
webpack: '>=4.41.1 || 5.x'
- react-number-format@5.4.3:
- resolution: {integrity: sha512-VCY5hFg/soBighAoGcdE+GagkJq0230qN6jcS5sp8wQX1qy1fYN/RX7/BXkrs0oyzzwqR8/+eSUrqXbGeywdUQ==}
- peerDependencies:
- react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
-
react-refresh@0.14.2:
resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
engines: {node: '>=0.10.0'}
- react-remove-scroll-bar@2.3.8:
- resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
- react-remove-scroll@2.6.3:
- resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
react-router-config@5.1.1:
resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==}
peerDependencies:
@@ -6224,28 +6077,12 @@ packages:
peerDependencies:
react: '>=15'
- react-style-singleton@2.2.3:
- resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
react-textarea-autosize@8.5.6:
resolution: {integrity: sha512-aT3ioKXMa8f6zHYGebhbdMD2L00tKeRX1zuVuDx9YQK/JLLRSaSxq3ugECEmUB9z2kvk6bFSIoRHLkkUv0RJiw==}
engines: {node: '>=10'}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
- react-transition-group@4.4.5:
- resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
- peerDependencies:
- react: '>=16.6.0'
- react-dom: '>=16.6.0'
-
react@18.3.1:
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
@@ -6402,6 +6239,9 @@ packages:
requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ reselect@5.1.1:
+ resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==}
+
resolve-alpn@1.2.1:
resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
@@ -6446,6 +6286,19 @@ packages:
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
+ rollup-plugin-visualizer@7.0.1:
+ resolution: {integrity: sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==}
+ engines: {node: '>=22'}
+ hasBin: true
+ peerDependencies:
+ rolldown: 1.x || ^1.0.0-beta || ^1.0.0-rc
+ rollup: 2.x || 3.x || 4.x
+ peerDependenciesMeta:
+ rolldown:
+ optional: true
+ rollup:
+ optional: true
+
rollup@4.35.0:
resolution: {integrity: sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -6456,6 +6309,10 @@ packages:
engines: {node: '>=12.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==}
@@ -6665,10 +6522,6 @@ packages:
source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
- source-map@0.5.7:
- resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
- engines: {node: '>=0.10.0'}
-
source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
@@ -6724,6 +6577,10 @@ packages:
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'}
+
string.prototype.matchall@4.0.12:
resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
engines: {node: '>= 0.4'}
@@ -6801,9 +6658,6 @@ packages:
peerDependencies:
postcss: ^8.4.31
- stylis@4.2.0:
- resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
-
sucrase@3.35.0:
resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -6833,9 +6687,6 @@ packages:
engines: {node: '>=14.0.0'}
hasBin: true
- tabbable@6.2.0:
- resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
-
tapable@1.1.3:
resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==}
engines: {node: '>=6'}
@@ -7107,16 +6958,6 @@ packages:
resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==}
engines: {node: '>= 0.4'}
- use-callback-ref@1.3.3:
- resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
use-composed-ref@1.4.0:
resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==}
peerDependencies:
@@ -7149,21 +6990,16 @@ packages:
'@types/react':
optional: true
- use-sidecar@1.1.3:
- resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
- engines: {node: '>=10'}
- peerDependencies:
- '@types/react': '*'
- react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
- peerDependenciesMeta:
- '@types/react':
- optional: true
-
use-sync-external-store@1.5.0:
resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ use-sync-external-store@1.6.0:
+ resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -7390,6 +7226,10 @@ packages:
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'}
+
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
@@ -7420,6 +7260,10 @@ packages:
utf-8-validate:
optional: true
+ wsl-utils@0.3.1:
+ resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==}
+ engines: {node: '>=20'}
+
xdg-basedir@5.1.0:
resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==}
engines: {node: '>=12'}
@@ -7451,10 +7295,18 @@ packages:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
+ yargs-parser@22.0.0:
+ resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
yargs@17.7.2:
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
engines: {node: '>=12'}
+ yargs@18.0.0:
+ resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
@@ -8377,12 +8229,10 @@ snapshots:
core-js-pure: 3.41.0
regenerator-runtime: 0.14.1
- '@babel/runtime@7.26.9':
- dependencies:
- regenerator-runtime: 0.14.1
-
'@babel/runtime@7.27.6': {}
+ '@babel/runtime@7.29.2': {}
+
'@babel/template@7.26.9':
dependencies:
'@babel/code-frame': 7.26.2
@@ -8406,6 +8256,31 @@ snapshots:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
+ '@base-ui/react@1.4.1(@date-fns/tz@1.4.1)(@types/react@19.1.8)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.29.2
+ '@base-ui/utils': 0.2.8(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@floating-ui/react-dom': 2.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@floating-ui/utils': 0.2.11
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ use-sync-external-store: 1.6.0(react@18.3.1)
+ optionalDependencies:
+ '@date-fns/tz': 1.4.1
+ '@types/react': 19.1.8
+ date-fns: 4.1.0
+
+ '@base-ui/utils@0.2.8(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.29.2
+ '@floating-ui/utils': 0.2.11
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ reselect: 5.1.1
+ use-sync-external-store: 1.6.0(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 19.1.8
+
'@bundled-es-modules/deepmerge@4.3.1':
dependencies:
deepmerge: 4.3.1
@@ -8694,6 +8569,8 @@ snapshots:
dependencies:
postcss: 8.5.3
+ '@date-fns/tz@1.4.1': {}
+
'@discoveryjs/json-ext@0.5.7': {}
'@docsearch/css@3.9.0': {}
@@ -9582,89 +9459,6 @@ snapshots:
tslib: 2.8.1
optional: true
- '@emotion/babel-plugin@11.13.5':
- dependencies:
- '@babel/helper-module-imports': 7.25.9
- '@babel/runtime': 7.26.9
- '@emotion/hash': 0.9.2
- '@emotion/memoize': 0.9.0
- '@emotion/serialize': 1.3.3
- babel-plugin-macros: 3.1.0
- convert-source-map: 1.9.0
- escape-string-regexp: 4.0.0
- find-root: 1.1.0
- source-map: 0.5.7
- stylis: 4.2.0
- transitivePeerDependencies:
- - supports-color
-
- '@emotion/cache@11.14.0':
- dependencies:
- '@emotion/memoize': 0.9.0
- '@emotion/sheet': 1.4.0
- '@emotion/utils': 1.4.2
- '@emotion/weak-memoize': 0.4.0
- stylis: 4.2.0
-
- '@emotion/hash@0.9.2': {}
-
- '@emotion/is-prop-valid@1.3.1':
- dependencies:
- '@emotion/memoize': 0.9.0
-
- '@emotion/memoize@0.9.0': {}
-
- '@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1)':
- dependencies:
- '@babel/runtime': 7.26.9
- '@emotion/babel-plugin': 11.13.5
- '@emotion/cache': 11.14.0
- '@emotion/serialize': 1.3.3
- '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1)
- '@emotion/utils': 1.4.2
- '@emotion/weak-memoize': 0.4.0
- hoist-non-react-statics: 3.3.2
- react: 18.3.1
- optionalDependencies:
- '@types/react': 19.1.8
- transitivePeerDependencies:
- - supports-color
-
- '@emotion/serialize@1.3.3':
- dependencies:
- '@emotion/hash': 0.9.2
- '@emotion/memoize': 0.9.0
- '@emotion/unitless': 0.10.0
- '@emotion/utils': 1.4.2
- csstype: 3.1.3
-
- '@emotion/sheet@1.4.0': {}
-
- '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1)':
- dependencies:
- '@babel/runtime': 7.27.6
- '@emotion/babel-plugin': 11.13.5
- '@emotion/is-prop-valid': 1.3.1
- '@emotion/react': 11.14.0(@types/react@19.1.8)(react@18.3.1)
- '@emotion/serialize': 1.3.3
- '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1)
- '@emotion/utils': 1.4.2
- react: 18.3.1
- optionalDependencies:
- '@types/react': 19.1.8
- transitivePeerDependencies:
- - supports-color
-
- '@emotion/unitless@0.10.0': {}
-
- '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@18.3.1)':
- dependencies:
- react: 18.3.1
-
- '@emotion/utils@1.4.2': {}
-
- '@emotion/weak-memoize@0.4.0': {}
-
'@esbuild/aix-ppc64@0.25.1':
optional: true
@@ -9798,30 +9592,22 @@ snapshots:
'@figma/rest-api-spec@0.24.0': {}
- '@floating-ui/core@1.6.9':
+ '@floating-ui/core@1.7.5':
dependencies:
- '@floating-ui/utils': 0.2.9
+ '@floating-ui/utils': 0.2.11
- '@floating-ui/dom@1.6.13':
+ '@floating-ui/dom@1.7.6':
dependencies:
- '@floating-ui/core': 1.6.9
- '@floating-ui/utils': 0.2.9
+ '@floating-ui/core': 1.7.5
+ '@floating-ui/utils': 0.2.11
- '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@floating-ui/react-dom@2.1.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@floating-ui/dom': 1.6.13
+ '@floating-ui/dom': 1.7.6
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@floating-ui/react@0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@floating-ui/utils': 0.2.9
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- tabbable: 6.2.0
-
- '@floating-ui/utils@0.2.9': {}
+ '@floating-ui/utils@0.2.11': {}
'@gerrit0/mini-shiki@3.2.1':
dependencies:
@@ -9910,33 +9696,6 @@ snapshots:
'@leichtgewicht/ip-codec@2.0.5': {}
- '@mantine/core@7.17.2(@mantine/hooks@7.17.2(react@18.3.1))(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks': 7.17.2(react@18.3.1)
- clsx: 2.1.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-number-format: 5.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- react-remove-scroll: 2.6.3(@types/react@19.1.8)(react@18.3.1)
- react-textarea-autosize: 8.5.6(@types/react@19.1.8)(react@18.3.1)
- type-fest: 4.37.0
- transitivePeerDependencies:
- - '@types/react'
-
- '@mantine/dates@7.17.2(@mantine/core@7.17.2(@mantine/hooks@7.17.2(react@18.3.1))(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.17.2(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@mantine/core': 7.17.2(@mantine/hooks@7.17.2(react@18.3.1))(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks': 7.17.2(react@18.3.1)
- clsx: 2.1.1
- dayjs: 1.11.13
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
- '@mantine/hooks@7.17.2(react@18.3.1)':
- dependencies:
- react: 18.3.1
-
'@mdx-js/mdx@3.1.0(acorn@6.4.2)':
dependencies:
'@types/estree': 1.0.6
@@ -10008,97 +9767,6 @@ snapshots:
'@microsoft/tsdoc@0.15.1': {}
- '@mui/base@5.0.0-beta.62(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@babel/runtime': 7.26.9
- '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mui/types': 7.2.21(@types/react@19.1.8)
- '@mui/utils': 6.4.6(@types/react@19.1.8)(react@18.3.1)
- '@popperjs/core': 2.11.8
- clsx: 2.1.1
- prop-types: 15.8.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- optionalDependencies:
- '@types/react': 19.1.8
-
- '@mui/core-downloads-tracker@6.4.7': {}
-
- '@mui/material@6.4.7(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@babel/runtime': 7.26.9
- '@mui/core-downloads-tracker': 6.4.7
- '@mui/system': 6.4.7(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1)
- '@mui/types': 7.2.21(@types/react@19.1.8)
- '@mui/utils': 6.4.6(@types/react@19.1.8)(react@18.3.1)
- '@popperjs/core': 2.11.8
- '@types/react-transition-group': 4.4.12(@types/react@19.1.8)
- clsx: 2.1.1
- csstype: 3.1.3
- prop-types: 15.8.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- react-is: 19.0.0
- react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- optionalDependencies:
- '@emotion/react': 11.14.0(@types/react@19.1.8)(react@18.3.1)
- '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1)
- '@types/react': 19.1.8
-
- '@mui/private-theming@6.4.6(@types/react@19.1.8)(react@18.3.1)':
- dependencies:
- '@babel/runtime': 7.27.6
- '@mui/utils': 6.4.6(@types/react@19.1.8)(react@18.3.1)
- prop-types: 15.8.1
- react: 18.3.1
- optionalDependencies:
- '@types/react': 19.1.8
-
- '@mui/styled-engine@6.4.6(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@babel/runtime': 7.27.6
- '@emotion/cache': 11.14.0
- '@emotion/serialize': 1.3.3
- '@emotion/sheet': 1.4.0
- csstype: 3.1.3
- prop-types: 15.8.1
- react: 18.3.1
- optionalDependencies:
- '@emotion/react': 11.14.0(@types/react@19.1.8)(react@18.3.1)
- '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1)
-
- '@mui/system@6.4.7(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1)':
- dependencies:
- '@babel/runtime': 7.27.6
- '@mui/private-theming': 6.4.6(@types/react@19.1.8)(react@18.3.1)
- '@mui/styled-engine': 6.4.6(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1))(react@18.3.1)
- '@mui/types': 7.2.21(@types/react@19.1.8)
- '@mui/utils': 6.4.6(@types/react@19.1.8)(react@18.3.1)
- clsx: 2.1.1
- csstype: 3.1.3
- prop-types: 15.8.1
- react: 18.3.1
- optionalDependencies:
- '@emotion/react': 11.14.0(@types/react@19.1.8)(react@18.3.1)
- '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@19.1.8)(react@18.3.1))(@types/react@19.1.8)(react@18.3.1)
- '@types/react': 19.1.8
-
- '@mui/types@7.2.21(@types/react@19.1.8)':
- optionalDependencies:
- '@types/react': 19.1.8
-
- '@mui/utils@6.4.6(@types/react@19.1.8)(react@18.3.1)':
- dependencies:
- '@babel/runtime': 7.26.9
- '@mui/types': 7.2.21(@types/react@19.1.8)
- '@types/prop-types': 15.7.14
- clsx: 2.1.1
- prop-types: 15.8.1
- react: 18.3.1
- react-is: 19.0.0
- optionalDependencies:
- '@types/react': 19.1.8
-
'@napi-rs/wasm-runtime@0.2.7':
dependencies:
'@emnapi/core': 1.3.1
@@ -10218,8 +9886,6 @@ snapshots:
'@polka/url@1.0.0-next.28': {}
- '@popperjs/core@2.11.8': {}
-
'@react-docgen/cli@2.0.6':
dependencies:
chalk: 5.4.1
@@ -10358,7 +10024,7 @@ snapshots:
'@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
dependencies:
- '@babel/runtime': 7.27.6
+ '@babel/runtime': 7.29.2
invariant: 2.2.4
prop-types: 15.8.1
react: 19.1.0
@@ -10469,6 +10135,8 @@ snapshots:
dependencies:
defer-to-connect: 2.0.1
+ '@tabby_ai/hijri-converter@1.0.5': {}
+
'@tokens-studio/sd-transforms@1.2.12(style-dictionary@4.3.3)':
dependencies:
'@bundled-es-modules/deepmerge': 4.3.1
@@ -10653,8 +10321,6 @@ snapshots:
'@types/prismjs@1.26.5': {}
- '@types/prop-types@15.7.14': {}
-
'@types/qs@6.9.18': {}
'@types/range-parser@1.2.7': {}
@@ -10680,10 +10346,6 @@ snapshots:
'@types/history': 4.7.11
'@types/react': 19.1.8
- '@types/react-transition-group@4.4.12(@types/react@19.1.8)':
- dependencies:
- '@types/react': 19.1.8
-
'@types/react@19.1.8':
dependencies:
csstype: 3.1.3
@@ -11218,12 +10880,6 @@ snapshots:
dependencies:
object.assign: 4.1.7
- babel-plugin-macros@3.1.0:
- dependencies:
- '@babel/runtime': 7.27.6
- cosmiconfig: 7.1.0
- resolve: 1.22.10
-
babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.9):
dependencies:
'@babel/compat-data': 7.26.8
@@ -11341,6 +10997,10 @@ snapshots:
base64-js: 1.5.1
ieee754: 1.2.1
+ bundle-name@4.1.0:
+ dependencies:
+ run-applescript: 7.1.0
+
bytes@3.0.0: {}
bytes@3.1.2: {}
@@ -11492,6 +11152,12 @@ snapshots:
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
+ cliui@9.0.1:
+ dependencies:
+ string-width: 7.2.0
+ strip-ansi: 7.1.0
+ wrap-ansi: 9.0.2
+
clone-deep@4.0.1:
dependencies:
is-plain-object: 2.0.4
@@ -11605,8 +11271,6 @@ snapshots:
content-type@1.0.5: {}
- convert-source-map@1.9.0: {}
-
convert-source-map@2.0.0: {}
cookie-signature@1.0.6: {}
@@ -11643,14 +11307,6 @@ snapshots:
path-type: 4.0.0
yaml: 1.10.2
- cosmiconfig@7.1.0:
- dependencies:
- '@types/parse-json': 4.0.2
- import-fresh: 3.3.1
- parse-json: 5.2.0
- path-type: 4.0.0
- yaml: 1.10.2
-
cosmiconfig@8.3.6(typescript@5.6.3):
dependencies:
import-fresh: 3.3.1
@@ -11867,7 +11523,9 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.2
- dayjs@1.11.13: {}
+ date-fns-jalali@4.1.0-0: {}
+
+ date-fns@4.1.0: {}
de-indent@1.0.2: {}
@@ -11895,6 +11553,13 @@ snapshots:
deepmerge@4.3.1: {}
+ default-browser-id@5.0.1: {}
+
+ default-browser@5.5.0:
+ dependencies:
+ bundle-name: 4.1.0
+ default-browser-id: 5.0.1
+
default-gateway@6.0.3:
dependencies:
execa: 5.1.1
@@ -11909,6 +11574,8 @@ snapshots:
define-lazy-prop@2.0.0: {}
+ define-lazy-prop@3.0.0: {}
+
define-properties@1.2.1:
dependencies:
define-data-property: 1.1.4
@@ -11934,8 +11601,6 @@ snapshots:
destroy@1.2.0: {}
- detect-node-es@1.1.0: {}
-
detect-node@2.1.0: {}
detect-port-alt@1.1.6:
@@ -11978,11 +11643,6 @@ snapshots:
dependencies:
utila: 0.4.0
- dom-helpers@5.2.1:
- dependencies:
- '@babel/runtime': 7.27.6
- csstype: 3.1.3
-
dom-serializer@1.4.1:
dependencies:
domelementtype: 2.3.0
@@ -12040,6 +11700,8 @@ snapshots:
electron-to-chromium@1.5.112: {}
+ emoji-regex@10.6.0: {}
+
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
@@ -12537,8 +12199,6 @@ snapshots:
common-path-prefix: 3.0.0
pkg-dir: 7.0.0
- find-root@1.1.0: {}
-
find-up@3.0.0:
dependencies:
locate-path: 3.0.0
@@ -12652,6 +12312,8 @@ snapshots:
get-caller-file@2.0.5: {}
+ get-east-asian-width@1.5.0: {}
+
get-intrinsic@1.3.0:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -12665,8 +12327,6 @@ snapshots:
hasown: 2.0.2
math-intrinsics: 1.1.0
- get-nonce@1.0.1: {}
-
get-own-enumerable-property-symbols@3.0.2: {}
get-proto@1.0.1:
@@ -12928,7 +12588,7 @@ snapshots:
history@4.10.1:
dependencies:
- '@babel/runtime': 7.27.6
+ '@babel/runtime': 7.29.2
loose-envify: 1.4.0
resolve-pathname: 3.0.0
tiny-invariant: 1.3.3
@@ -13191,6 +12851,8 @@ snapshots:
is-docker@2.2.1: {}
+ is-docker@3.0.0: {}
+
is-extendable@0.1.1: {}
is-extglob@2.1.1: {}
@@ -13214,6 +12876,12 @@ snapshots:
is-hexadecimal@2.0.1: {}
+ is-in-ssh@1.0.0: {}
+
+ is-inside-container@1.0.0:
+ dependencies:
+ is-docker: 3.0.0
+
is-installed-globally@0.4.0:
dependencies:
global-dirs: 3.0.1
@@ -13306,6 +12974,10 @@ snapshots:
dependencies:
is-docker: 2.2.1
+ is-wsl@3.1.1:
+ dependencies:
+ is-inside-container: 1.0.0
+
is-yarn-global@0.4.1: {}
isarray@0.0.1: {}
@@ -14259,6 +13931,15 @@ snapshots:
dependencies:
mimic-fn: 2.1.0
+ open@11.0.0:
+ dependencies:
+ default-browser: 5.5.0
+ define-lazy-prop: 3.0.0
+ is-in-ssh: 1.0.0
+ is-inside-container: 1.0.0
+ powershell-utils: 0.1.0
+ wsl-utils: 0.3.1
+
open@7.4.2:
dependencies:
is-docker: 2.2.1
@@ -14929,6 +14610,8 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
+ powershell-utils@0.1.0: {}
+
prelude-ls@1.2.1: {}
prettier@3.5.3: {}
@@ -15026,6 +14709,14 @@ snapshots:
minimist: 1.2.8
strip-json-comments: 2.0.1
+ react-day-picker@9.14.0(react@18.3.1):
+ dependencies:
+ '@date-fns/tz': 1.4.1
+ '@tabby_ai/hijri-converter': 1.0.5
+ date-fns: 4.1.0
+ date-fns-jalali: 4.1.0-0
+ react: 18.3.1
+
react-dev-utils@12.0.1(eslint@9.22.0(jiti@1.21.7))(typescript@5.6.3)(webpack@5.98.0):
dependencies:
'@babel/code-frame': 7.26.2
@@ -15096,8 +14787,6 @@ snapshots:
react-is@16.13.1: {}
- react-is@19.0.0: {}
-
react-json-view-lite@1.5.0(react@19.1.0):
dependencies:
react: 19.1.0
@@ -15116,32 +14805,8 @@ snapshots:
react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.1.0)'
webpack: 5.98.0
- react-number-format@5.4.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
react-refresh@0.14.2: {}
- react-remove-scroll-bar@2.3.8(@types/react@19.1.8)(react@18.3.1):
- dependencies:
- react: 18.3.1
- react-style-singleton: 2.2.3(@types/react@19.1.8)(react@18.3.1)
- tslib: 2.8.1
- optionalDependencies:
- '@types/react': 19.1.8
-
- react-remove-scroll@2.6.3(@types/react@19.1.8)(react@18.3.1):
- dependencies:
- react: 18.3.1
- react-remove-scroll-bar: 2.3.8(@types/react@19.1.8)(react@18.3.1)
- react-style-singleton: 2.2.3(@types/react@19.1.8)(react@18.3.1)
- tslib: 2.8.1
- use-callback-ref: 1.3.3(@types/react@19.1.8)(react@18.3.1)
- use-sidecar: 1.1.3(@types/react@19.1.8)(react@18.3.1)
- optionalDependencies:
- '@types/react': 19.1.8
-
react-router-config@5.1.1(react-router@5.3.4(react@19.1.0))(react@19.1.0):
dependencies:
'@babel/runtime': 7.27.6
@@ -15172,32 +14837,15 @@ snapshots:
tiny-invariant: 1.3.3
tiny-warning: 1.0.3
- react-style-singleton@2.2.3(@types/react@19.1.8)(react@18.3.1):
- dependencies:
- get-nonce: 1.0.1
- react: 18.3.1
- tslib: 2.8.1
- optionalDependencies:
- '@types/react': 19.1.8
-
react-textarea-autosize@8.5.6(@types/react@19.1.8)(react@18.3.1):
dependencies:
- '@babel/runtime': 7.26.9
+ '@babel/runtime': 7.27.6
react: 18.3.1
use-composed-ref: 1.4.0(@types/react@19.1.8)(react@18.3.1)
use-latest: 1.3.0(@types/react@19.1.8)(react@18.3.1)
transitivePeerDependencies:
- '@types/react'
- react-transition-group@4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
- dependencies:
- '@babel/runtime': 7.27.6
- dom-helpers: 5.2.1
- loose-envify: 1.4.0
- prop-types: 15.8.1
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
react@18.3.1:
dependencies:
loose-envify: 1.4.0
@@ -15289,7 +14937,7 @@ snapshots:
regenerator-transform@0.15.2:
dependencies:
- '@babel/runtime': 7.27.6
+ '@babel/runtime': 7.29.2
regexp.prototype.flags@1.5.4:
dependencies:
@@ -15443,6 +15091,8 @@ snapshots:
requires-port@1.0.0: {}
+ reselect@5.1.1: {}
+
resolve-alpn@1.2.1: {}
resolve-from@4.0.0: {}
@@ -15479,6 +15129,15 @@ snapshots:
dependencies:
glob: 7.2.3
+ rollup-plugin-visualizer@7.0.1(rollup@4.35.0):
+ dependencies:
+ open: 11.0.0
+ picomatch: 4.0.2
+ source-map: 0.7.4
+ yargs: 18.0.0
+ optionalDependencies:
+ rollup: 4.35.0
+
rollup@4.35.0:
dependencies:
'@types/estree': 1.0.6
@@ -15511,6 +15170,8 @@ snapshots:
postcss: 8.5.3
strip-json-comments: 3.1.1
+ run-applescript@7.1.0: {}
+
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
@@ -15771,8 +15432,6 @@ snapshots:
buffer-from: 1.1.2
source-map: 0.6.1
- source-map@0.5.7: {}
-
source-map@0.6.1: {}
source-map@0.7.4: {}
@@ -15830,6 +15489,12 @@ snapshots:
emoji-regex: 9.2.2
strip-ansi: 7.1.0
+ string-width@7.2.0:
+ dependencies:
+ emoji-regex: 10.6.0
+ get-east-asian-width: 1.5.0
+ strip-ansi: 7.1.0
+
string.prototype.matchall@4.0.12:
dependencies:
call-bind: 1.0.8
@@ -15943,8 +15608,6 @@ snapshots:
postcss: 8.5.3
postcss-selector-parser: 6.1.2
- stylis@4.2.0: {}
-
sucrase@3.35.0:
dependencies:
'@jridgewell/gen-mapping': 0.3.8
@@ -15981,8 +15644,6 @@ snapshots:
csso: 5.0.5
picocolors: 1.1.1
- tabbable@6.2.0: {}
-
tapable@1.1.3: {}
tapable@2.2.1: {}
@@ -16255,13 +15916,6 @@ snapshots:
punycode: 1.4.1
qs: 6.13.0
- use-callback-ref@1.3.3(@types/react@19.1.8)(react@18.3.1):
- dependencies:
- react: 18.3.1
- tslib: 2.8.1
- optionalDependencies:
- '@types/react': 19.1.8
-
use-composed-ref@1.4.0(@types/react@19.1.8)(react@18.3.1):
dependencies:
react: 18.3.1
@@ -16285,17 +15939,18 @@ snapshots:
optionalDependencies:
'@types/react': 19.1.8
- use-sidecar@1.1.3(@types/react@19.1.8)(react@18.3.1):
+ use-sync-external-store@1.5.0(react@19.1.0):
+ dependencies:
+ react: 19.1.0
+
+ use-sync-external-store@1.6.0(react@18.3.1):
dependencies:
- detect-node-es: 1.1.0
react: 18.3.1
- tslib: 2.8.1
- optionalDependencies:
- '@types/react': 19.1.8
- use-sync-external-store@1.5.0(react@19.1.0):
+ use-sync-external-store@1.6.0(react@19.1.0):
dependencies:
react: 19.1.0
+ optional: true
util-deprecate@1.0.2: {}
@@ -16605,6 +16260,12 @@ snapshots:
string-width: 5.1.2
strip-ansi: 7.1.0
+ wrap-ansi@9.0.2:
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 7.2.0
+ strip-ansi: 7.1.0
+
wrappy@1.0.2: {}
write-file-atomic@3.0.3:
@@ -16618,6 +16279,11 @@ snapshots:
ws@8.18.1: {}
+ wsl-utils@0.3.1:
+ dependencies:
+ is-wsl: 3.1.1
+ powershell-utils: 0.1.0
+
xdg-basedir@5.1.0: {}
xml-js@1.6.11:
@@ -16636,6 +16302,8 @@ snapshots:
yargs-parser@21.1.1: {}
+ yargs-parser@22.0.0: {}
+
yargs@17.7.2:
dependencies:
cliui: 8.0.1
@@ -16646,6 +16314,15 @@ snapshots:
y18n: 5.0.8
yargs-parser: 21.1.1
+ yargs@18.0.0:
+ dependencies:
+ cliui: 9.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ string-width: 7.2.0
+ y18n: 5.0.8
+ yargs-parser: 22.0.0
+
yocto-queue@0.1.0: {}
yocto-queue@1.1.1: {}
@@ -16660,11 +16337,11 @@ snapshots:
immer: 9.0.21
react: 19.1.0
- zustand@5.0.3(@types/react@19.1.8)(immer@9.0.21)(react@19.1.0)(use-sync-external-store@1.5.0(react@19.1.0)):
+ zustand@5.0.3(@types/react@19.1.8)(immer@9.0.21)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)):
optionalDependencies:
'@types/react': 19.1.8
immer: 9.0.21
react: 19.1.0
- use-sync-external-store: 1.5.0(react@19.1.0)
+ use-sync-external-store: 1.6.0(react@19.1.0)
zwitch@2.0.4: {}