@nurix/ui-component-library 1.1.3-stage.108 → 1.1.3-stage.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -9,7 +9,7 @@ import { LucideIcon } from 'lucide-react';
9
9
  import { Schema } from 'ajv';
10
10
  import { OnMount } from '@monaco-editor/react';
11
11
 
12
- type ButtonBorderRadius = "none" | "soft" | "rounded";
12
+ type ButtonBorderRadius = "none" | "soft" | "rounded" | "nestedLeft" | "nestedMiddle" | "nestedRight";
13
13
  type ButtonVariant = "primary" | "secondary" | "destructive" | "outline" | "link" | "iconPrimary" | "iconSecondary" | "iconOutline" | "iconLink";
14
14
  type ButtonSize = "lg" | "default" | "sm" | "xs" | "link" | "icon" | "iconMd" | "iconSm" | "iconXs";
15
15
  interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
@@ -33,6 +33,16 @@ interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
33
33
  }
34
34
 
35
35
  declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
36
+ interface NestedButtonGroupProps extends React$1.HTMLAttributes<HTMLDivElement> {
37
+ children: React$1.ReactNode;
38
+ }
39
+ /**
40
+ * NestedButtonGroup — renders any number of `<Button>` children as one pill.
41
+ * Assigns the correct `button_border_radius` (nestedLeft / nestedMiddle /
42
+ * nestedRight) per position and overlaps borders by -1px so the shared edge
43
+ * draws once. Figma: 5490:33596.
44
+ */
45
+ declare const NestedButtonGroup: React$1.ForwardRefExoticComponent<NestedButtonGroupProps & React$1.RefAttributes<HTMLDivElement>>;
36
46
 
37
47
  type InputBorderRadius = "none" | "soft" | "rounded" | "pill";
38
48
  type InputVariant = "grey" | "white";
@@ -1606,11 +1616,8 @@ interface ShowToastOptions extends Omit<ToastProps, "onCancel"> {
1606
1616
 
1607
1617
  /**
1608
1618
  * Place `<Toaster />` once near the root of your app (inside `LegoLandWrapper`).
1609
- * It is a thin wrapper around Sonner's Toaster with sensible defaults for this
1610
- * design system.
1611
1619
  *
1612
1620
  * @example
1613
- * // In your app root:
1614
1621
  * <LegoLandWrapper>
1615
1622
  * <Toaster />
1616
1623
  * <App />
@@ -1986,6 +1993,11 @@ interface DataTableProps<TRow> {
1986
1993
  * When true, the header row stays fixed at the top while the table body scrolls.
1987
1994
  */
1988
1995
  stickyHeader?: boolean;
1996
+ /**
1997
+ * Optional React node to render in the header's top-right corner.
1998
+ * Useful for header-level actions like column filters or settings.
1999
+ */
2000
+ headerAction?: React$1.ReactNode;
1989
2001
  className?: string;
1990
2002
  /**
1991
2003
  * When true, shows skeleton loading state with 10 rows.
@@ -2019,7 +2031,7 @@ declare namespace Pagination {
2019
2031
  *
2020
2032
  * Figma reference node: 3338:6396
2021
2033
  */
2022
- declare function DataTable<TRow>({ columns, data, pinnedColumns, showCheckbox, actions, getRowId, selectedRows, onSelectionChange, onSortChange, showPagination, currentPage, rowsPerPage, total, onPageChange, onRowsPerPageChange, entityName, showBorder, stickyHeader, className, loading, onRowClick, }: DataTableProps<TRow>): react_jsx_runtime.JSX.Element;
2034
+ declare function DataTable<TRow>({ columns, data, pinnedColumns, showCheckbox, actions, getRowId, selectedRows, onSelectionChange, onSortChange, showPagination, currentPage, rowsPerPage, total, onPageChange, onRowsPerPageChange, entityName, showBorder, stickyHeader, headerAction, className, loading, onRowClick, }: DataTableProps<TRow>): react_jsx_runtime.JSX.Element;
2023
2035
  declare namespace DataTable {
2024
2036
  var displayName: string;
2025
2037
  }
@@ -2030,6 +2042,19 @@ declare namespace DataTable {
2030
2042
  interface FilterItem<T = string> {
2031
2043
  value: T;
2032
2044
  label: string;
2045
+ /** Optional icon for this item (per-item icon support - feature 5) */
2046
+ icon?: LucideIcon | React$1.ReactNode;
2047
+ /** Show loading state for this item (per-item loading - feature 6) */
2048
+ loading?: boolean;
2049
+ /** Optional custom display node to render instead of plain label (e.g. ratings with star + color pill) */
2050
+ labelNode?: React$1.ReactNode;
2051
+ }
2052
+ /**
2053
+ * Filter item with section grouping (feature 4)
2054
+ */
2055
+ interface FilterItemWithSection<T = string> {
2056
+ sectionLabel: string;
2057
+ items: FilterItem<T>[];
2033
2058
  }
2034
2059
  /**
2035
2060
  * Props for FilterSelect component
@@ -2041,8 +2066,8 @@ interface FilterSelectProps<T = string> extends Omit<React$1.HTMLAttributes<HTML
2041
2066
  icon?: LucideIcon;
2042
2067
  /** Array of selected item values */
2043
2068
  selectedItems?: T[];
2044
- /** Available items for selection */
2045
- items: FilterItem<T>[];
2069
+ /** Available items for selection (flat or sectioned) - feature 4: section grouping */
2070
+ items: (FilterItem<T> | FilterItemWithSection<T>)[];
2046
2071
  /** Enable drag-and-drop reordering (default: false) */
2047
2072
  draggable?: boolean;
2048
2073
  /** To show clear button regardless of selected items or text / date content (default: true) */
@@ -2066,25 +2091,41 @@ interface FilterSelectProps<T = string> extends Omit<React$1.HTMLAttributes<HTML
2066
2091
  /** Show loading spinner in dropdown */
2067
2092
  loading?: boolean;
2068
2093
  onRemoveAll?: () => void;
2069
- /** Type of filter select: "list" (default), "text", "text_with_operands", or "date" */
2070
- type?: "list" | "text" | "text_with_operands" | "date";
2071
- /** Controlled text value for textarea/input (for "text" and "text_with_operands" types) */
2094
+ /** Type of filter select: "list" (default), "text", "text_with_operands", "numeric", "numeric_with_operands", or "date" */
2095
+ type?: "list" | "text" | "text_with_operands" | "numeric" | "numeric_with_operands" | "date";
2096
+ /** Controlled text value for textarea/input (for "text", "text_with_operands", and "numeric" types) */
2072
2097
  text?: string;
2073
- /** Callback when text changes (for "text" and "text_with_operands" types) */
2098
+ /** Callback when text changes (for "text", "text_with_operands", and "numeric" types) */
2074
2099
  onTextChange?: (text: string) => void;
2075
- /** Selected operand value (for "text_with_operands" type) */
2100
+ /** Selected operand value (for "text_with_operands" type) - feature 2: operands as prop */
2076
2101
  operand?: string;
2077
2102
  /** Callback when operand changes (for "text_with_operands" type) */
2078
2103
  onOperandChange?: (operand: string) => void;
2079
- /** Available operands (for "text_with_operands" type) */
2104
+ /** Available operands with label and value - feature 2: operands support for conversation logs */
2080
2105
  operands?: {
2081
2106
  value: string;
2082
2107
  label: string;
2083
2108
  }[];
2084
- /** Placeholder text for textarea/input (for "text" and "text_with_operands" types) */
2109
+ /** Placeholder text for textarea/input (for "text", "text_with_operands", and "numeric" types) */
2085
2110
  textPlaceholder?: string;
2086
- /** Placeholder for operand select (for "text_with_operands" type, default: "") */
2111
+ /** Placeholder for operand select (for "text_with_operands"/"numeric_with_operands" type, default: "") */
2087
2112
  operandPlaceholder?: string;
2113
+ /** Unit label suffix shown inside numeric input (e.g. "sec", "min") */
2114
+ unitLabel?: string;
2115
+ /** Enable range mode for "numeric_with_operands" - shows min/max inputs */
2116
+ isRangeMode?: boolean;
2117
+ /** Range min value (for numeric_with_operands in range mode) */
2118
+ rangeMin?: string;
2119
+ /** Range max value (for numeric_with_operands in range mode) */
2120
+ rangeMax?: string;
2121
+ /** Callback when range min changes */
2122
+ onRangeMinChange?: (value: string) => void;
2123
+ /** Callback when range max changes */
2124
+ onRangeMaxChange?: (value: string) => void;
2125
+ /** Feature 1: Search functionality - show search input to filter list items */
2126
+ showSearch?: boolean;
2127
+ /** Feature 1: Search placeholder text (default: "Search...") */
2128
+ searchPlaceholder?: string;
2088
2129
  /** Date range value (for "date" type): { start, end } */
2089
2130
  date?: {
2090
2131
  start?: Date;
@@ -2099,6 +2140,8 @@ interface FilterSelectProps<T = string> extends Omit<React$1.HTMLAttributes<HTML
2099
2140
  datePresets?: boolean | DatePreset[];
2100
2141
  /** Show time picker in date filter (default: true) */
2101
2142
  showTime?: boolean;
2143
+ /** Feature 7: Empty state label when no items available */
2144
+ emptyStateLabel?: string;
2102
2145
  /** Additional className for the trigger button */
2103
2146
  triggerClassName?: string;
2104
2147
  /** Additional className for the dropdown content */
@@ -2127,6 +2170,12 @@ interface FilterListItemProps<T = string> {
2127
2170
  draggable?: boolean;
2128
2171
  /** Selection handler */
2129
2172
  onSelect?: (value: T) => void;
2173
+ /** Feature 5: Optional icon for this item */
2174
+ icon?: React$1.ComponentType<any> | React$1.ReactNode;
2175
+ /** Feature 6: Show loading spinner on this item */
2176
+ loading?: boolean;
2177
+ /** Optional custom display node replacing the plain label (e.g. rating pill) */
2178
+ labelNode?: React$1.ReactNode;
2130
2179
  /** Hover state (for stories) */
2131
2180
  hover?: boolean;
2132
2181
  /** Additional className */
@@ -2145,6 +2194,49 @@ declare const FilterListItem: React$1.ForwardRefExoticComponent<FilterListItemPr
2145
2194
  isDragOver?: boolean;
2146
2195
  } & React$1.RefAttributes<HTMLDivElement>>;
2147
2196
 
2197
+ /**
2198
+ * Option for the left-side toggle dropdown (e.g., Agent/Crew).
2199
+ */
2200
+ interface CompoundFilterToggleOption<T extends string = string> {
2201
+ value: T;
2202
+ label: string;
2203
+ /** Icon shown inside the dropdown menu next to the label */
2204
+ icon?: LucideIcon | React$1.ReactNode;
2205
+ }
2206
+ interface CompoundFilterSelectProps<T extends string = string> extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onChange"> {
2207
+ /** Options for the left-side toggle dropdown */
2208
+ options: CompoundFilterToggleOption<T>[];
2209
+ /** Current selected value for the left toggle */
2210
+ value: T;
2211
+ /** Callback when left toggle value changes */
2212
+ onChange: (value: T) => void;
2213
+ /**
2214
+ * Leading icon shown on the left pill (e.g., an icon representing the current selection).
2215
+ * If omitted, falls back to the icon on the currently-selected option.
2216
+ */
2217
+ leadingIcon?: LucideIcon | React$1.ReactNode;
2218
+ /** Optional label shown on the left pill next to the icon. If omitted, only icon + chevron are shown (compact mode). */
2219
+ leftLabel?: string;
2220
+ /** Right-side content, typically a <FilterSelect /> */
2221
+ children?: React$1.ReactNode;
2222
+ /** Disable the left toggle */
2223
+ disabled?: boolean;
2224
+ }
2225
+ /**
2226
+ * CompoundFilterSelect
2227
+ *
2228
+ * A compound filter comprising:
2229
+ * - Left pill: a dropdown toggle (e.g., Agent / Crew) with its own rounded-left border
2230
+ * - Right pill: any content (typically a <FilterSelect />) with its own rounded-right border
2231
+ *
2232
+ * The two pills overlap by 1px so their borders merge visually into a single continuous pill.
2233
+ * Per Figma spec (1XTtQGgJ2Tb0wycZ7O1Ez9 · 5427:32324).
2234
+ */
2235
+ declare function CompoundFilterSelect<T extends string = string>({ options, value, onChange, leadingIcon, leftLabel, children, disabled, className, ...props }: CompoundFilterSelectProps<T>): react_jsx_runtime.JSX.Element;
2236
+ declare namespace CompoundFilterSelect {
2237
+ var displayName: string;
2238
+ }
2239
+
2148
2240
  interface ButtonListItem {
2149
2241
  value: string;
2150
2242
  label: string;
@@ -2340,8 +2432,105 @@ interface KeyValueEditorProps {
2340
2432
  /**
2341
2433
  * KeyValueEditor - Table-style key-value pair editor.
2342
2434
  * Renders header (Key, Value) and editable rows with delete on hover.
2343
- * Figma reference: 258:10275
2435
+ * Figma reference: 5905:39527
2344
2436
  */
2345
2437
  declare const KeyValueEditor: React$1.ForwardRefExoticComponent<KeyValueEditorProps & React$1.RefAttributes<HTMLDivElement>>;
2346
2438
 
2347
- export { Accordion, AccordionContent, AccordionContentPlaceholder, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionValue, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarShape, type AvatarSize, type BackButtonPosition, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonBorderRadius, ButtonList, type ButtonListItem, type ButtonListProps, type ButtonProps, type ButtonSize, type ButtonVariant, type CellContent, type CellTextContent, Checkbox, type CheckboxProps, type ColumnDef, ColumnWidth, DEFAULT_THEME, DataTable, type DataTableProps, type DatePreset, Dialog, DialogBody, type DialogBodyProps, DialogFooter, type DialogFooterProps, DialogHeader, DialogHeaderNavigation, type DialogHeaderNavigationProps, type DialogHeaderNavigationVariant, type DialogHeaderProps, DialogIcon, type DialogIconProps, type DialogProps, type DialogSize, type DialogType, EmptyState, type EmptyStateIllustrationPosition, type EmptyStateIllustrationSize, type EmptyStateProps, FileInput, type FileInputProps, type FilterItem, FilterListItem, type FilterListItemProps, FilterSelect, type FilterSelectProps, type IconColor, IconPicker, type IconPickerProps, type IconSize, IconWrapper, type IconWrapperProps, Input, type InputBorderRadius, type InputForceState, InputGroup, type InputGroupBorderRadius, type InputGroupForceState, type InputGroupProps, type InputProps, type InputVariant, JSON_EDITOR_LANGUAGE_OPTIONS, JsonEditor, type JsonEditorLanguage, type JsonEditorProps, KeyValueEditor, type KeyValueEditorProps, type KeyValuePair, LegoLandWrapper, type LegoLandWrapperProps, List, type ListBorderRadius, type ListNavItemProps, ListNavigation, type ListNavigationProps, type ListProps, type ListType, type ListVariant, MONACO_OPTIONS, MONACO_OPTIONS_DIALOG, NumberBadge, type NumberBadgeProps, type NumberBadgeVariant, NurixThemeProvider, Pagination, type PaginationProps, PlaySelect, type PlaySelectAudioItem, type PlaySelectProps, PlaybackControl, type PlaybackControlProps, type PlaybackState, ProgressBar, type ProgressBarProps, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, Select, SelectContent, type SelectContentItem, SelectFormLabel, SelectGroup, type SelectGroupProps, SelectItem, SelectLabel, type SelectLabelProps, type SelectMenuItemProps, type SelectProps, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, ShadowDOMWrapper, type ShowToastOptions, type SortDirection, type SortState, Spinner, type SpinnerProps, type SpinnerSize, type StepItem, type StepState, Stepper, StepperBar, type StepperBarProps, type StepperProps, type SupportingTextType, Switch, type SwitchProps, type SwitchSize, type TabVariant, type TableAction, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, TagBadge, type TagBadgeProps, type TagOption, Textarea, type TextareaBorderRadius, type TextareaForceState, type TextareaProps, ThemeProvider, Toast, type ToastProps, type ToastVariant, Toaster, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, Typography, type TypographyProps, type TypographySize, type TypographyTone, type TypographyVariant, type TypographyWeight, type UsePlaySelectProps, type UseSelectProps, enhanceJsonError, showToast, useJsonEditor, usePlaySelect, useSelect, useTheme };
2439
+ type PopoverSide = "top" | "right" | "bottom" | "left";
2440
+ type PopoverAlign = "start" | "center" | "end";
2441
+ type PopoverShadow = "none" | "xs" | "sm" | "md" | "lg";
2442
+ interface PopoverProps {
2443
+ /** Controlled open state. If omitted, component is uncontrolled. */
2444
+ open?: boolean;
2445
+ /** Called when open state changes (both controlled and uncontrolled). */
2446
+ onOpenChange?: (open: boolean) => void;
2447
+ /** Uncontrolled default open. */
2448
+ defaultOpen?: boolean;
2449
+ /** The trigger element (e.g. button). Rendered in place. */
2450
+ trigger: React$1.ReactNode;
2451
+ /** Popover body content — can be anything. */
2452
+ children: React$1.ReactNode;
2453
+ /**
2454
+ * Optional search input rendered at the top of the popover.
2455
+ * When provided, renders a search bar above `children`.
2456
+ */
2457
+ search?: {
2458
+ /** Controlled search value */
2459
+ value?: string;
2460
+ /** Called when the search input changes */
2461
+ onValueChange?: (value: string) => void;
2462
+ /** Placeholder text */
2463
+ placeholder?: string;
2464
+ /** Auto-focus the search input when popover opens */
2465
+ autoFocus?: boolean;
2466
+ };
2467
+ /**
2468
+ * Position relative to trigger.
2469
+ * @default "bottom"
2470
+ */
2471
+ side?: PopoverSide;
2472
+ /**
2473
+ * Alignment along the side.
2474
+ * @default "start"
2475
+ */
2476
+ align?: PopoverAlign;
2477
+ /**
2478
+ * Offset (px) between trigger and popover.
2479
+ * @default 4
2480
+ */
2481
+ sideOffset?: number;
2482
+ /**
2483
+ * Show border around the popover container.
2484
+ * @default false
2485
+ */
2486
+ bordered?: boolean;
2487
+ /**
2488
+ * Shadow variant.
2489
+ * @default "md"
2490
+ */
2491
+ shadow?: PopoverShadow;
2492
+ /** Width (px or CSS value). If omitted, popover sizes to content. */
2493
+ width?: number | string;
2494
+ /** Min width (defaults to trigger width if omitted) */
2495
+ minWidth?: number | string;
2496
+ /** Max height — content scrolls beyond this. */
2497
+ maxHeight?: number | string;
2498
+ /** Additional className for the popover container. */
2499
+ className?: string;
2500
+ /** Additional className for the outer wrapper (trigger + popover). */
2501
+ wrapperClassName?: string;
2502
+ /** Close popover on outside click. @default true */
2503
+ closeOnOutsideClick?: boolean;
2504
+ /** Close popover on Escape key. @default true */
2505
+ closeOnEscape?: boolean;
2506
+ }
2507
+
2508
+ /**
2509
+ * Popover — generic floating container.
2510
+ *
2511
+ * Supports:
2512
+ * - Any children as content
2513
+ * - Optional search bar at the top
2514
+ * - Border / shadow variants
2515
+ * - Controlled or uncontrolled open state
2516
+ * - Positioning (side + align)
2517
+ * - Click-outside / Escape to close
2518
+ *
2519
+ * Figma reference: 43:10346 (Menu Dropdown)
2520
+ *
2521
+ * @example
2522
+ * <Popover trigger={<Button>Open</Button>}>
2523
+ * <div>Any content here</div>
2524
+ * </Popover>
2525
+ *
2526
+ * @example with search
2527
+ * <Popover
2528
+ * trigger={<Button>Filter</Button>}
2529
+ * search={{ value: q, onValueChange: setQ, placeholder: "Search…" }}
2530
+ * >
2531
+ * <ListItems />
2532
+ * </Popover>
2533
+ */
2534
+ declare const Popover: React$1.ForwardRefExoticComponent<PopoverProps & React$1.RefAttributes<HTMLDivElement>>;
2535
+
2536
+ export { Accordion, AccordionContent, AccordionContentPlaceholder, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionValue, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarShape, type AvatarSize, type BackButtonPosition, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonBorderRadius, ButtonList, type ButtonListItem, type ButtonListProps, type ButtonProps, type ButtonSize, type ButtonVariant, type CellContent, type CellTextContent, Checkbox, type CheckboxProps, type ColumnDef, ColumnWidth, CompoundFilterSelect, type CompoundFilterSelectProps, type CompoundFilterToggleOption, DEFAULT_THEME, DataTable, type DataTableProps, type DatePreset, Dialog, DialogBody, type DialogBodyProps, DialogFooter, type DialogFooterProps, DialogHeader, DialogHeaderNavigation, type DialogHeaderNavigationProps, type DialogHeaderNavigationVariant, type DialogHeaderProps, DialogIcon, type DialogIconProps, type DialogProps, type DialogSize, type DialogType, EmptyState, type EmptyStateIllustrationPosition, type EmptyStateIllustrationSize, type EmptyStateProps, FileInput, type FileInputProps, type FilterItem, type FilterItemWithSection, FilterListItem, type FilterListItemProps, FilterSelect, type FilterSelectProps, type IconColor, IconPicker, type IconPickerProps, type IconSize, IconWrapper, type IconWrapperProps, Input, type InputBorderRadius, type InputForceState, InputGroup, type InputGroupBorderRadius, type InputGroupForceState, type InputGroupProps, type InputProps, type InputVariant, JSON_EDITOR_LANGUAGE_OPTIONS, JsonEditor, type JsonEditorLanguage, type JsonEditorProps, KeyValueEditor, type KeyValueEditorProps, type KeyValuePair, LegoLandWrapper, type LegoLandWrapperProps, List, type ListBorderRadius, type ListNavItemProps, ListNavigation, type ListNavigationProps, type ListProps, type ListType, type ListVariant, MONACO_OPTIONS, MONACO_OPTIONS_DIALOG, NestedButtonGroup, type NestedButtonGroupProps, NumberBadge, type NumberBadgeProps, type NumberBadgeVariant, NurixThemeProvider, Pagination, type PaginationProps, PlaySelect, type PlaySelectAudioItem, type PlaySelectProps, PlaybackControl, type PlaybackControlProps, type PlaybackState, Popover, type PopoverAlign, type PopoverProps, type PopoverShadow, type PopoverSide, ProgressBar, type ProgressBarProps, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, Select, SelectContent, type SelectContentItem, SelectFormLabel, SelectGroup, type SelectGroupProps, SelectItem, SelectLabel, type SelectLabelProps, type SelectMenuItemProps, type SelectProps, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, ShadowDOMWrapper, type ShowToastOptions, type SortDirection, type SortState, Spinner, type SpinnerProps, type SpinnerSize, type StepItem, type StepState, Stepper, StepperBar, type StepperBarProps, type StepperProps, type SupportingTextType, Switch, type SwitchProps, type SwitchSize, type TabVariant, type TableAction, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, TagBadge, type TagBadgeProps, type TagOption, Textarea, type TextareaBorderRadius, type TextareaForceState, type TextareaProps, ThemeProvider, Toast, type ToastProps, type ToastVariant, Toaster, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, Typography, type TypographyProps, type TypographySize, type TypographyTone, type TypographyVariant, type TypographyWeight, type UsePlaySelectProps, type UseSelectProps, enhanceJsonError, showToast, useJsonEditor, usePlaySelect, useSelect, useTheme };
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ import { LucideIcon } from 'lucide-react';
9
9
  import { Schema } from 'ajv';
10
10
  import { OnMount } from '@monaco-editor/react';
11
11
 
12
- type ButtonBorderRadius = "none" | "soft" | "rounded";
12
+ type ButtonBorderRadius = "none" | "soft" | "rounded" | "nestedLeft" | "nestedMiddle" | "nestedRight";
13
13
  type ButtonVariant = "primary" | "secondary" | "destructive" | "outline" | "link" | "iconPrimary" | "iconSecondary" | "iconOutline" | "iconLink";
14
14
  type ButtonSize = "lg" | "default" | "sm" | "xs" | "link" | "icon" | "iconMd" | "iconSm" | "iconXs";
15
15
  interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
@@ -33,6 +33,16 @@ interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
33
33
  }
34
34
 
35
35
  declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
36
+ interface NestedButtonGroupProps extends React$1.HTMLAttributes<HTMLDivElement> {
37
+ children: React$1.ReactNode;
38
+ }
39
+ /**
40
+ * NestedButtonGroup — renders any number of `<Button>` children as one pill.
41
+ * Assigns the correct `button_border_radius` (nestedLeft / nestedMiddle /
42
+ * nestedRight) per position and overlaps borders by -1px so the shared edge
43
+ * draws once. Figma: 5490:33596.
44
+ */
45
+ declare const NestedButtonGroup: React$1.ForwardRefExoticComponent<NestedButtonGroupProps & React$1.RefAttributes<HTMLDivElement>>;
36
46
 
37
47
  type InputBorderRadius = "none" | "soft" | "rounded" | "pill";
38
48
  type InputVariant = "grey" | "white";
@@ -1606,11 +1616,8 @@ interface ShowToastOptions extends Omit<ToastProps, "onCancel"> {
1606
1616
 
1607
1617
  /**
1608
1618
  * Place `<Toaster />` once near the root of your app (inside `LegoLandWrapper`).
1609
- * It is a thin wrapper around Sonner's Toaster with sensible defaults for this
1610
- * design system.
1611
1619
  *
1612
1620
  * @example
1613
- * // In your app root:
1614
1621
  * <LegoLandWrapper>
1615
1622
  * <Toaster />
1616
1623
  * <App />
@@ -1986,6 +1993,11 @@ interface DataTableProps<TRow> {
1986
1993
  * When true, the header row stays fixed at the top while the table body scrolls.
1987
1994
  */
1988
1995
  stickyHeader?: boolean;
1996
+ /**
1997
+ * Optional React node to render in the header's top-right corner.
1998
+ * Useful for header-level actions like column filters or settings.
1999
+ */
2000
+ headerAction?: React$1.ReactNode;
1989
2001
  className?: string;
1990
2002
  /**
1991
2003
  * When true, shows skeleton loading state with 10 rows.
@@ -2019,7 +2031,7 @@ declare namespace Pagination {
2019
2031
  *
2020
2032
  * Figma reference node: 3338:6396
2021
2033
  */
2022
- declare function DataTable<TRow>({ columns, data, pinnedColumns, showCheckbox, actions, getRowId, selectedRows, onSelectionChange, onSortChange, showPagination, currentPage, rowsPerPage, total, onPageChange, onRowsPerPageChange, entityName, showBorder, stickyHeader, className, loading, onRowClick, }: DataTableProps<TRow>): react_jsx_runtime.JSX.Element;
2034
+ declare function DataTable<TRow>({ columns, data, pinnedColumns, showCheckbox, actions, getRowId, selectedRows, onSelectionChange, onSortChange, showPagination, currentPage, rowsPerPage, total, onPageChange, onRowsPerPageChange, entityName, showBorder, stickyHeader, headerAction, className, loading, onRowClick, }: DataTableProps<TRow>): react_jsx_runtime.JSX.Element;
2023
2035
  declare namespace DataTable {
2024
2036
  var displayName: string;
2025
2037
  }
@@ -2030,6 +2042,19 @@ declare namespace DataTable {
2030
2042
  interface FilterItem<T = string> {
2031
2043
  value: T;
2032
2044
  label: string;
2045
+ /** Optional icon for this item (per-item icon support - feature 5) */
2046
+ icon?: LucideIcon | React$1.ReactNode;
2047
+ /** Show loading state for this item (per-item loading - feature 6) */
2048
+ loading?: boolean;
2049
+ /** Optional custom display node to render instead of plain label (e.g. ratings with star + color pill) */
2050
+ labelNode?: React$1.ReactNode;
2051
+ }
2052
+ /**
2053
+ * Filter item with section grouping (feature 4)
2054
+ */
2055
+ interface FilterItemWithSection<T = string> {
2056
+ sectionLabel: string;
2057
+ items: FilterItem<T>[];
2033
2058
  }
2034
2059
  /**
2035
2060
  * Props for FilterSelect component
@@ -2041,8 +2066,8 @@ interface FilterSelectProps<T = string> extends Omit<React$1.HTMLAttributes<HTML
2041
2066
  icon?: LucideIcon;
2042
2067
  /** Array of selected item values */
2043
2068
  selectedItems?: T[];
2044
- /** Available items for selection */
2045
- items: FilterItem<T>[];
2069
+ /** Available items for selection (flat or sectioned) - feature 4: section grouping */
2070
+ items: (FilterItem<T> | FilterItemWithSection<T>)[];
2046
2071
  /** Enable drag-and-drop reordering (default: false) */
2047
2072
  draggable?: boolean;
2048
2073
  /** To show clear button regardless of selected items or text / date content (default: true) */
@@ -2066,25 +2091,41 @@ interface FilterSelectProps<T = string> extends Omit<React$1.HTMLAttributes<HTML
2066
2091
  /** Show loading spinner in dropdown */
2067
2092
  loading?: boolean;
2068
2093
  onRemoveAll?: () => void;
2069
- /** Type of filter select: "list" (default), "text", "text_with_operands", or "date" */
2070
- type?: "list" | "text" | "text_with_operands" | "date";
2071
- /** Controlled text value for textarea/input (for "text" and "text_with_operands" types) */
2094
+ /** Type of filter select: "list" (default), "text", "text_with_operands", "numeric", "numeric_with_operands", or "date" */
2095
+ type?: "list" | "text" | "text_with_operands" | "numeric" | "numeric_with_operands" | "date";
2096
+ /** Controlled text value for textarea/input (for "text", "text_with_operands", and "numeric" types) */
2072
2097
  text?: string;
2073
- /** Callback when text changes (for "text" and "text_with_operands" types) */
2098
+ /** Callback when text changes (for "text", "text_with_operands", and "numeric" types) */
2074
2099
  onTextChange?: (text: string) => void;
2075
- /** Selected operand value (for "text_with_operands" type) */
2100
+ /** Selected operand value (for "text_with_operands" type) - feature 2: operands as prop */
2076
2101
  operand?: string;
2077
2102
  /** Callback when operand changes (for "text_with_operands" type) */
2078
2103
  onOperandChange?: (operand: string) => void;
2079
- /** Available operands (for "text_with_operands" type) */
2104
+ /** Available operands with label and value - feature 2: operands support for conversation logs */
2080
2105
  operands?: {
2081
2106
  value: string;
2082
2107
  label: string;
2083
2108
  }[];
2084
- /** Placeholder text for textarea/input (for "text" and "text_with_operands" types) */
2109
+ /** Placeholder text for textarea/input (for "text", "text_with_operands", and "numeric" types) */
2085
2110
  textPlaceholder?: string;
2086
- /** Placeholder for operand select (for "text_with_operands" type, default: "") */
2111
+ /** Placeholder for operand select (for "text_with_operands"/"numeric_with_operands" type, default: "") */
2087
2112
  operandPlaceholder?: string;
2113
+ /** Unit label suffix shown inside numeric input (e.g. "sec", "min") */
2114
+ unitLabel?: string;
2115
+ /** Enable range mode for "numeric_with_operands" - shows min/max inputs */
2116
+ isRangeMode?: boolean;
2117
+ /** Range min value (for numeric_with_operands in range mode) */
2118
+ rangeMin?: string;
2119
+ /** Range max value (for numeric_with_operands in range mode) */
2120
+ rangeMax?: string;
2121
+ /** Callback when range min changes */
2122
+ onRangeMinChange?: (value: string) => void;
2123
+ /** Callback when range max changes */
2124
+ onRangeMaxChange?: (value: string) => void;
2125
+ /** Feature 1: Search functionality - show search input to filter list items */
2126
+ showSearch?: boolean;
2127
+ /** Feature 1: Search placeholder text (default: "Search...") */
2128
+ searchPlaceholder?: string;
2088
2129
  /** Date range value (for "date" type): { start, end } */
2089
2130
  date?: {
2090
2131
  start?: Date;
@@ -2099,6 +2140,8 @@ interface FilterSelectProps<T = string> extends Omit<React$1.HTMLAttributes<HTML
2099
2140
  datePresets?: boolean | DatePreset[];
2100
2141
  /** Show time picker in date filter (default: true) */
2101
2142
  showTime?: boolean;
2143
+ /** Feature 7: Empty state label when no items available */
2144
+ emptyStateLabel?: string;
2102
2145
  /** Additional className for the trigger button */
2103
2146
  triggerClassName?: string;
2104
2147
  /** Additional className for the dropdown content */
@@ -2127,6 +2170,12 @@ interface FilterListItemProps<T = string> {
2127
2170
  draggable?: boolean;
2128
2171
  /** Selection handler */
2129
2172
  onSelect?: (value: T) => void;
2173
+ /** Feature 5: Optional icon for this item */
2174
+ icon?: React$1.ComponentType<any> | React$1.ReactNode;
2175
+ /** Feature 6: Show loading spinner on this item */
2176
+ loading?: boolean;
2177
+ /** Optional custom display node replacing the plain label (e.g. rating pill) */
2178
+ labelNode?: React$1.ReactNode;
2130
2179
  /** Hover state (for stories) */
2131
2180
  hover?: boolean;
2132
2181
  /** Additional className */
@@ -2145,6 +2194,49 @@ declare const FilterListItem: React$1.ForwardRefExoticComponent<FilterListItemPr
2145
2194
  isDragOver?: boolean;
2146
2195
  } & React$1.RefAttributes<HTMLDivElement>>;
2147
2196
 
2197
+ /**
2198
+ * Option for the left-side toggle dropdown (e.g., Agent/Crew).
2199
+ */
2200
+ interface CompoundFilterToggleOption<T extends string = string> {
2201
+ value: T;
2202
+ label: string;
2203
+ /** Icon shown inside the dropdown menu next to the label */
2204
+ icon?: LucideIcon | React$1.ReactNode;
2205
+ }
2206
+ interface CompoundFilterSelectProps<T extends string = string> extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onChange"> {
2207
+ /** Options for the left-side toggle dropdown */
2208
+ options: CompoundFilterToggleOption<T>[];
2209
+ /** Current selected value for the left toggle */
2210
+ value: T;
2211
+ /** Callback when left toggle value changes */
2212
+ onChange: (value: T) => void;
2213
+ /**
2214
+ * Leading icon shown on the left pill (e.g., an icon representing the current selection).
2215
+ * If omitted, falls back to the icon on the currently-selected option.
2216
+ */
2217
+ leadingIcon?: LucideIcon | React$1.ReactNode;
2218
+ /** Optional label shown on the left pill next to the icon. If omitted, only icon + chevron are shown (compact mode). */
2219
+ leftLabel?: string;
2220
+ /** Right-side content, typically a <FilterSelect /> */
2221
+ children?: React$1.ReactNode;
2222
+ /** Disable the left toggle */
2223
+ disabled?: boolean;
2224
+ }
2225
+ /**
2226
+ * CompoundFilterSelect
2227
+ *
2228
+ * A compound filter comprising:
2229
+ * - Left pill: a dropdown toggle (e.g., Agent / Crew) with its own rounded-left border
2230
+ * - Right pill: any content (typically a <FilterSelect />) with its own rounded-right border
2231
+ *
2232
+ * The two pills overlap by 1px so their borders merge visually into a single continuous pill.
2233
+ * Per Figma spec (1XTtQGgJ2Tb0wycZ7O1Ez9 · 5427:32324).
2234
+ */
2235
+ declare function CompoundFilterSelect<T extends string = string>({ options, value, onChange, leadingIcon, leftLabel, children, disabled, className, ...props }: CompoundFilterSelectProps<T>): react_jsx_runtime.JSX.Element;
2236
+ declare namespace CompoundFilterSelect {
2237
+ var displayName: string;
2238
+ }
2239
+
2148
2240
  interface ButtonListItem {
2149
2241
  value: string;
2150
2242
  label: string;
@@ -2340,8 +2432,105 @@ interface KeyValueEditorProps {
2340
2432
  /**
2341
2433
  * KeyValueEditor - Table-style key-value pair editor.
2342
2434
  * Renders header (Key, Value) and editable rows with delete on hover.
2343
- * Figma reference: 258:10275
2435
+ * Figma reference: 5905:39527
2344
2436
  */
2345
2437
  declare const KeyValueEditor: React$1.ForwardRefExoticComponent<KeyValueEditorProps & React$1.RefAttributes<HTMLDivElement>>;
2346
2438
 
2347
- export { Accordion, AccordionContent, AccordionContentPlaceholder, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionValue, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarShape, type AvatarSize, type BackButtonPosition, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonBorderRadius, ButtonList, type ButtonListItem, type ButtonListProps, type ButtonProps, type ButtonSize, type ButtonVariant, type CellContent, type CellTextContent, Checkbox, type CheckboxProps, type ColumnDef, ColumnWidth, DEFAULT_THEME, DataTable, type DataTableProps, type DatePreset, Dialog, DialogBody, type DialogBodyProps, DialogFooter, type DialogFooterProps, DialogHeader, DialogHeaderNavigation, type DialogHeaderNavigationProps, type DialogHeaderNavigationVariant, type DialogHeaderProps, DialogIcon, type DialogIconProps, type DialogProps, type DialogSize, type DialogType, EmptyState, type EmptyStateIllustrationPosition, type EmptyStateIllustrationSize, type EmptyStateProps, FileInput, type FileInputProps, type FilterItem, FilterListItem, type FilterListItemProps, FilterSelect, type FilterSelectProps, type IconColor, IconPicker, type IconPickerProps, type IconSize, IconWrapper, type IconWrapperProps, Input, type InputBorderRadius, type InputForceState, InputGroup, type InputGroupBorderRadius, type InputGroupForceState, type InputGroupProps, type InputProps, type InputVariant, JSON_EDITOR_LANGUAGE_OPTIONS, JsonEditor, type JsonEditorLanguage, type JsonEditorProps, KeyValueEditor, type KeyValueEditorProps, type KeyValuePair, LegoLandWrapper, type LegoLandWrapperProps, List, type ListBorderRadius, type ListNavItemProps, ListNavigation, type ListNavigationProps, type ListProps, type ListType, type ListVariant, MONACO_OPTIONS, MONACO_OPTIONS_DIALOG, NumberBadge, type NumberBadgeProps, type NumberBadgeVariant, NurixThemeProvider, Pagination, type PaginationProps, PlaySelect, type PlaySelectAudioItem, type PlaySelectProps, PlaybackControl, type PlaybackControlProps, type PlaybackState, ProgressBar, type ProgressBarProps, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, Select, SelectContent, type SelectContentItem, SelectFormLabel, SelectGroup, type SelectGroupProps, SelectItem, SelectLabel, type SelectLabelProps, type SelectMenuItemProps, type SelectProps, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, ShadowDOMWrapper, type ShowToastOptions, type SortDirection, type SortState, Spinner, type SpinnerProps, type SpinnerSize, type StepItem, type StepState, Stepper, StepperBar, type StepperBarProps, type StepperProps, type SupportingTextType, Switch, type SwitchProps, type SwitchSize, type TabVariant, type TableAction, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, TagBadge, type TagBadgeProps, type TagOption, Textarea, type TextareaBorderRadius, type TextareaForceState, type TextareaProps, ThemeProvider, Toast, type ToastProps, type ToastVariant, Toaster, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, Typography, type TypographyProps, type TypographySize, type TypographyTone, type TypographyVariant, type TypographyWeight, type UsePlaySelectProps, type UseSelectProps, enhanceJsonError, showToast, useJsonEditor, usePlaySelect, useSelect, useTheme };
2439
+ type PopoverSide = "top" | "right" | "bottom" | "left";
2440
+ type PopoverAlign = "start" | "center" | "end";
2441
+ type PopoverShadow = "none" | "xs" | "sm" | "md" | "lg";
2442
+ interface PopoverProps {
2443
+ /** Controlled open state. If omitted, component is uncontrolled. */
2444
+ open?: boolean;
2445
+ /** Called when open state changes (both controlled and uncontrolled). */
2446
+ onOpenChange?: (open: boolean) => void;
2447
+ /** Uncontrolled default open. */
2448
+ defaultOpen?: boolean;
2449
+ /** The trigger element (e.g. button). Rendered in place. */
2450
+ trigger: React$1.ReactNode;
2451
+ /** Popover body content — can be anything. */
2452
+ children: React$1.ReactNode;
2453
+ /**
2454
+ * Optional search input rendered at the top of the popover.
2455
+ * When provided, renders a search bar above `children`.
2456
+ */
2457
+ search?: {
2458
+ /** Controlled search value */
2459
+ value?: string;
2460
+ /** Called when the search input changes */
2461
+ onValueChange?: (value: string) => void;
2462
+ /** Placeholder text */
2463
+ placeholder?: string;
2464
+ /** Auto-focus the search input when popover opens */
2465
+ autoFocus?: boolean;
2466
+ };
2467
+ /**
2468
+ * Position relative to trigger.
2469
+ * @default "bottom"
2470
+ */
2471
+ side?: PopoverSide;
2472
+ /**
2473
+ * Alignment along the side.
2474
+ * @default "start"
2475
+ */
2476
+ align?: PopoverAlign;
2477
+ /**
2478
+ * Offset (px) between trigger and popover.
2479
+ * @default 4
2480
+ */
2481
+ sideOffset?: number;
2482
+ /**
2483
+ * Show border around the popover container.
2484
+ * @default false
2485
+ */
2486
+ bordered?: boolean;
2487
+ /**
2488
+ * Shadow variant.
2489
+ * @default "md"
2490
+ */
2491
+ shadow?: PopoverShadow;
2492
+ /** Width (px or CSS value). If omitted, popover sizes to content. */
2493
+ width?: number | string;
2494
+ /** Min width (defaults to trigger width if omitted) */
2495
+ minWidth?: number | string;
2496
+ /** Max height — content scrolls beyond this. */
2497
+ maxHeight?: number | string;
2498
+ /** Additional className for the popover container. */
2499
+ className?: string;
2500
+ /** Additional className for the outer wrapper (trigger + popover). */
2501
+ wrapperClassName?: string;
2502
+ /** Close popover on outside click. @default true */
2503
+ closeOnOutsideClick?: boolean;
2504
+ /** Close popover on Escape key. @default true */
2505
+ closeOnEscape?: boolean;
2506
+ }
2507
+
2508
+ /**
2509
+ * Popover — generic floating container.
2510
+ *
2511
+ * Supports:
2512
+ * - Any children as content
2513
+ * - Optional search bar at the top
2514
+ * - Border / shadow variants
2515
+ * - Controlled or uncontrolled open state
2516
+ * - Positioning (side + align)
2517
+ * - Click-outside / Escape to close
2518
+ *
2519
+ * Figma reference: 43:10346 (Menu Dropdown)
2520
+ *
2521
+ * @example
2522
+ * <Popover trigger={<Button>Open</Button>}>
2523
+ * <div>Any content here</div>
2524
+ * </Popover>
2525
+ *
2526
+ * @example with search
2527
+ * <Popover
2528
+ * trigger={<Button>Filter</Button>}
2529
+ * search={{ value: q, onValueChange: setQ, placeholder: "Search…" }}
2530
+ * >
2531
+ * <ListItems />
2532
+ * </Popover>
2533
+ */
2534
+ declare const Popover: React$1.ForwardRefExoticComponent<PopoverProps & React$1.RefAttributes<HTMLDivElement>>;
2535
+
2536
+ export { Accordion, AccordionContent, AccordionContentPlaceholder, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionValue, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarShape, type AvatarSize, type BackButtonPosition, Badge, type BadgeProps, type BadgeVariant, Button, type ButtonBorderRadius, ButtonList, type ButtonListItem, type ButtonListProps, type ButtonProps, type ButtonSize, type ButtonVariant, type CellContent, type CellTextContent, Checkbox, type CheckboxProps, type ColumnDef, ColumnWidth, CompoundFilterSelect, type CompoundFilterSelectProps, type CompoundFilterToggleOption, DEFAULT_THEME, DataTable, type DataTableProps, type DatePreset, Dialog, DialogBody, type DialogBodyProps, DialogFooter, type DialogFooterProps, DialogHeader, DialogHeaderNavigation, type DialogHeaderNavigationProps, type DialogHeaderNavigationVariant, type DialogHeaderProps, DialogIcon, type DialogIconProps, type DialogProps, type DialogSize, type DialogType, EmptyState, type EmptyStateIllustrationPosition, type EmptyStateIllustrationSize, type EmptyStateProps, FileInput, type FileInputProps, type FilterItem, type FilterItemWithSection, FilterListItem, type FilterListItemProps, FilterSelect, type FilterSelectProps, type IconColor, IconPicker, type IconPickerProps, type IconSize, IconWrapper, type IconWrapperProps, Input, type InputBorderRadius, type InputForceState, InputGroup, type InputGroupBorderRadius, type InputGroupForceState, type InputGroupProps, type InputProps, type InputVariant, JSON_EDITOR_LANGUAGE_OPTIONS, JsonEditor, type JsonEditorLanguage, type JsonEditorProps, KeyValueEditor, type KeyValueEditorProps, type KeyValuePair, LegoLandWrapper, type LegoLandWrapperProps, List, type ListBorderRadius, type ListNavItemProps, ListNavigation, type ListNavigationProps, type ListProps, type ListType, type ListVariant, MONACO_OPTIONS, MONACO_OPTIONS_DIALOG, NestedButtonGroup, type NestedButtonGroupProps, NumberBadge, type NumberBadgeProps, type NumberBadgeVariant, NurixThemeProvider, Pagination, type PaginationProps, PlaySelect, type PlaySelectAudioItem, type PlaySelectProps, PlaybackControl, type PlaybackControlProps, type PlaybackState, Popover, type PopoverAlign, type PopoverProps, type PopoverShadow, type PopoverSide, ProgressBar, type ProgressBarProps, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, Select, SelectContent, type SelectContentItem, SelectFormLabel, SelectGroup, type SelectGroupProps, SelectItem, SelectLabel, type SelectLabelProps, type SelectMenuItemProps, type SelectProps, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, ShadowDOMWrapper, type ShowToastOptions, type SortDirection, type SortState, Spinner, type SpinnerProps, type SpinnerSize, type StepItem, type StepState, Stepper, StepperBar, type StepperBarProps, type StepperProps, type SupportingTextType, Switch, type SwitchProps, type SwitchSize, type TabVariant, type TableAction, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, TagBadge, type TagBadgeProps, type TagOption, Textarea, type TextareaBorderRadius, type TextareaForceState, type TextareaProps, ThemeProvider, Toast, type ToastProps, type ToastVariant, Toaster, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, Typography, type TypographyProps, type TypographySize, type TypographyTone, type TypographyVariant, type TypographyWeight, type UsePlaySelectProps, type UseSelectProps, enhanceJsonError, showToast, useJsonEditor, usePlaySelect, useSelect, useTheme };