@nurix/ui-component-library 1.1.4-stage.128 → 1.1.5-stage.129

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
@@ -2897,11 +2897,28 @@ interface SpinnerProps extends React$1.HTMLAttributes<HTMLDivElement> {
2897
2897
  * Custom className for the spinner container
2898
2898
  */
2899
2899
  className?: string;
2900
+ /**
2901
+ * Optional title shown beneath the spinner (Typography `label-md`,
2902
+ * foreground black). Passing `title` or `texts` switches the spinner
2903
+ * into composed loader mode (centered vertical stack, gap-3).
2904
+ */
2905
+ title?: string;
2906
+ /**
2907
+ * Optional list of sub-texts rotated every 2000ms beneath the title
2908
+ * (Typography `subtext-xs`, muted tone). The rotation stops on the
2909
+ * last item. Resets to index 0 when the array reference changes.
2910
+ */
2911
+ texts?: string[];
2900
2912
  }
2901
2913
 
2902
2914
  /**
2903
2915
  * Spinner component - Displays a loading spinner with size variations
2904
2916
  * Based on Figma design node: 3357:4429
2917
+ *
2918
+ * When `title` or `texts` is supplied, renders a composed loader layout:
2919
+ * spinner + title (`label-md`) + rotating sub-text (`subtext-xs`, muted).
2920
+ * Sub-texts advance every 2000ms and stop on the last item. With neither
2921
+ * prop set, output is byte-identical to the legacy bare spinner.
2905
2922
  */
2906
2923
  declare const Spinner: React$1.ForwardRefExoticComponent<SpinnerProps & React$1.RefAttributes<HTMLDivElement>>;
2907
2924
 
@@ -3418,6 +3435,55 @@ interface MultiSelectProps<T extends string = string> {
3418
3435
  */
3419
3436
  declare function MultiSelect<T extends string = string>({ value, onValueChange, items, placeholder, label, showSearch, searchPlaceholder, showSelectAll, size, bg, disabled, maxHeight, id, className, "data-testid": dataTestId, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
3420
3437
 
3438
+ interface ChipProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "onClick"> {
3439
+ /**
3440
+ * Whether the chip is in the selected state. Selected chips use the
3441
+ * brand-secondary background and brand text color.
3442
+ * @default false
3443
+ */
3444
+ selected?: boolean;
3445
+ /**
3446
+ * Click handler. When omitted, the chip renders as a non-interactive
3447
+ * `<div>` (no hover, no press scale) — useful for read-only displays.
3448
+ */
3449
+ onClick?: () => void;
3450
+ /**
3451
+ * Optional icon shown before the label. Sized to 16px by the chip's
3452
+ * own `[&>svg]:size-4` rule, so consumers can pass a raw lucide icon
3453
+ * without wrapping.
3454
+ */
3455
+ leadingIcon?: React$1.ReactNode;
3456
+ /**
3457
+ * Optional icon shown after the label — typically a remove `<X />`
3458
+ * for filter-style chips.
3459
+ */
3460
+ trailingIcon?: React$1.ReactNode;
3461
+ /**
3462
+ * Disable interactions. Renders dim and ignores pointer events.
3463
+ */
3464
+ disabled?: boolean;
3465
+ /**
3466
+ * Optional `data-testid` for Playwright. Defaults to `"chip"`.
3467
+ */
3468
+ "data-testid"?: string;
3469
+ }
3470
+
3471
+ /**
3472
+ * Chip — small selectable pill with optional leading/trailing icons.
3473
+ *
3474
+ * Figma reference: 6332:23079.
3475
+ *
3476
+ * @example
3477
+ * <Chip selected={isOn} onClick={() => setIsOn((v) => !v)} leadingIcon={<GitCompare />}>
3478
+ * Uncle Chips
3479
+ * </Chip>
3480
+ *
3481
+ * When `onClick` is omitted, the chip renders as a non-interactive
3482
+ * `<div>` (no hover tint, no press scale) so it doesn't read as
3483
+ * clickable in read-only contexts.
3484
+ */
3485
+ declare const Chip: React$1.ForwardRefExoticComponent<ChipProps & React$1.RefAttributes<HTMLButtonElement>>;
3486
+
3421
3487
  interface RuleBuilderProps {
3422
3488
  /**
3423
3489
  * Badge label shown in the header (e.g. "Rule 1").
@@ -3563,4 +3629,4 @@ declare const RuleBuilderConnector: React$1.ForwardRefExoticComponent<RuleBuilde
3563
3629
  */
3564
3630
  declare const RuleBuilderAddCondition: React$1.ForwardRefExoticComponent<RuleBuilderAddConditionProps & React$1.RefAttributes<HTMLButtonElement>>;
3565
3631
 
3566
- export { Accordion, AccordionContent, AccordionContentPlaceholder, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionSectionTrigger, type AccordionSectionTriggerProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionValue, AudioPlayer, type AudioPlayerProps, 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, ChatBubbleAgent, type ChatBubbleAgentProps, ChatBubbleUser, type ChatBubbleUserProps, 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, MultiSelect, type MultiSelectItem, type MultiSelectProps, 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, RuleBuilder, RuleBuilderAddCondition, type RuleBuilderAddConditionProps, RuleBuilderClause, type RuleBuilderClauseProps, RuleBuilderCondition, type RuleBuilderConditionProps, RuleBuilderConnector, type RuleBuilderConnectorProps, type RuleBuilderProps, Select, SelectContent, type SelectContentItem, SelectFormLabel, SelectGroup, type SelectGroupProps, SelectItem, SelectLabel, type SelectLabelProps, type SelectMenuItemProps, type SelectProps, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, ShadowDOMWrapper, type ShowToastOptions, SidePanel, type SidePanelProps, type SidePanelSize, Slider, type SliderProps, type SortDirection, type SortState, Spinner, type SpinnerProps, type SpinnerSize, type StepItem, type StepState, Stepper, StepperBar, type StepperBarProps, type StepperProps, type SupportingTextType, Surface, type SurfaceBackground, SurfaceBody, type SurfaceBodyProps, SurfaceFooter, type SurfaceFooterProps, SurfaceHeader, type SurfaceHeaderProps, type SurfaceProps, 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, Toggle, ToggleItem, type ToggleItemProps, type ToggleProps, type ToggleType, 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 };
3632
+ export { Accordion, AccordionContent, AccordionContentPlaceholder, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionSectionTrigger, type AccordionSectionTriggerProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionValue, AudioPlayer, type AudioPlayerProps, 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, ChatBubbleAgent, type ChatBubbleAgentProps, ChatBubbleUser, type ChatBubbleUserProps, Checkbox, type CheckboxProps, Chip, type ChipProps, 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, MultiSelect, type MultiSelectItem, type MultiSelectProps, 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, RuleBuilder, RuleBuilderAddCondition, type RuleBuilderAddConditionProps, RuleBuilderClause, type RuleBuilderClauseProps, RuleBuilderCondition, type RuleBuilderConditionProps, RuleBuilderConnector, type RuleBuilderConnectorProps, type RuleBuilderProps, Select, SelectContent, type SelectContentItem, SelectFormLabel, SelectGroup, type SelectGroupProps, SelectItem, SelectLabel, type SelectLabelProps, type SelectMenuItemProps, type SelectProps, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, ShadowDOMWrapper, type ShowToastOptions, SidePanel, type SidePanelProps, type SidePanelSize, Slider, type SliderProps, type SortDirection, type SortState, Spinner, type SpinnerProps, type SpinnerSize, type StepItem, type StepState, Stepper, StepperBar, type StepperBarProps, type StepperProps, type SupportingTextType, Surface, type SurfaceBackground, SurfaceBody, type SurfaceBodyProps, SurfaceFooter, type SurfaceFooterProps, SurfaceHeader, type SurfaceHeaderProps, type SurfaceProps, 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, Toggle, ToggleItem, type ToggleItemProps, type ToggleProps, type ToggleType, 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
@@ -2897,11 +2897,28 @@ interface SpinnerProps extends React$1.HTMLAttributes<HTMLDivElement> {
2897
2897
  * Custom className for the spinner container
2898
2898
  */
2899
2899
  className?: string;
2900
+ /**
2901
+ * Optional title shown beneath the spinner (Typography `label-md`,
2902
+ * foreground black). Passing `title` or `texts` switches the spinner
2903
+ * into composed loader mode (centered vertical stack, gap-3).
2904
+ */
2905
+ title?: string;
2906
+ /**
2907
+ * Optional list of sub-texts rotated every 2000ms beneath the title
2908
+ * (Typography `subtext-xs`, muted tone). The rotation stops on the
2909
+ * last item. Resets to index 0 when the array reference changes.
2910
+ */
2911
+ texts?: string[];
2900
2912
  }
2901
2913
 
2902
2914
  /**
2903
2915
  * Spinner component - Displays a loading spinner with size variations
2904
2916
  * Based on Figma design node: 3357:4429
2917
+ *
2918
+ * When `title` or `texts` is supplied, renders a composed loader layout:
2919
+ * spinner + title (`label-md`) + rotating sub-text (`subtext-xs`, muted).
2920
+ * Sub-texts advance every 2000ms and stop on the last item. With neither
2921
+ * prop set, output is byte-identical to the legacy bare spinner.
2905
2922
  */
2906
2923
  declare const Spinner: React$1.ForwardRefExoticComponent<SpinnerProps & React$1.RefAttributes<HTMLDivElement>>;
2907
2924
 
@@ -3418,6 +3435,55 @@ interface MultiSelectProps<T extends string = string> {
3418
3435
  */
3419
3436
  declare function MultiSelect<T extends string = string>({ value, onValueChange, items, placeholder, label, showSearch, searchPlaceholder, showSelectAll, size, bg, disabled, maxHeight, id, className, "data-testid": dataTestId, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
3420
3437
 
3438
+ interface ChipProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "onClick"> {
3439
+ /**
3440
+ * Whether the chip is in the selected state. Selected chips use the
3441
+ * brand-secondary background and brand text color.
3442
+ * @default false
3443
+ */
3444
+ selected?: boolean;
3445
+ /**
3446
+ * Click handler. When omitted, the chip renders as a non-interactive
3447
+ * `<div>` (no hover, no press scale) — useful for read-only displays.
3448
+ */
3449
+ onClick?: () => void;
3450
+ /**
3451
+ * Optional icon shown before the label. Sized to 16px by the chip's
3452
+ * own `[&>svg]:size-4` rule, so consumers can pass a raw lucide icon
3453
+ * without wrapping.
3454
+ */
3455
+ leadingIcon?: React$1.ReactNode;
3456
+ /**
3457
+ * Optional icon shown after the label — typically a remove `<X />`
3458
+ * for filter-style chips.
3459
+ */
3460
+ trailingIcon?: React$1.ReactNode;
3461
+ /**
3462
+ * Disable interactions. Renders dim and ignores pointer events.
3463
+ */
3464
+ disabled?: boolean;
3465
+ /**
3466
+ * Optional `data-testid` for Playwright. Defaults to `"chip"`.
3467
+ */
3468
+ "data-testid"?: string;
3469
+ }
3470
+
3471
+ /**
3472
+ * Chip — small selectable pill with optional leading/trailing icons.
3473
+ *
3474
+ * Figma reference: 6332:23079.
3475
+ *
3476
+ * @example
3477
+ * <Chip selected={isOn} onClick={() => setIsOn((v) => !v)} leadingIcon={<GitCompare />}>
3478
+ * Uncle Chips
3479
+ * </Chip>
3480
+ *
3481
+ * When `onClick` is omitted, the chip renders as a non-interactive
3482
+ * `<div>` (no hover tint, no press scale) so it doesn't read as
3483
+ * clickable in read-only contexts.
3484
+ */
3485
+ declare const Chip: React$1.ForwardRefExoticComponent<ChipProps & React$1.RefAttributes<HTMLButtonElement>>;
3486
+
3421
3487
  interface RuleBuilderProps {
3422
3488
  /**
3423
3489
  * Badge label shown in the header (e.g. "Rule 1").
@@ -3563,4 +3629,4 @@ declare const RuleBuilderConnector: React$1.ForwardRefExoticComponent<RuleBuilde
3563
3629
  */
3564
3630
  declare const RuleBuilderAddCondition: React$1.ForwardRefExoticComponent<RuleBuilderAddConditionProps & React$1.RefAttributes<HTMLButtonElement>>;
3565
3631
 
3566
- export { Accordion, AccordionContent, AccordionContentPlaceholder, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionSectionTrigger, type AccordionSectionTriggerProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionValue, AudioPlayer, type AudioPlayerProps, 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, ChatBubbleAgent, type ChatBubbleAgentProps, ChatBubbleUser, type ChatBubbleUserProps, 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, MultiSelect, type MultiSelectItem, type MultiSelectProps, 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, RuleBuilder, RuleBuilderAddCondition, type RuleBuilderAddConditionProps, RuleBuilderClause, type RuleBuilderClauseProps, RuleBuilderCondition, type RuleBuilderConditionProps, RuleBuilderConnector, type RuleBuilderConnectorProps, type RuleBuilderProps, Select, SelectContent, type SelectContentItem, SelectFormLabel, SelectGroup, type SelectGroupProps, SelectItem, SelectLabel, type SelectLabelProps, type SelectMenuItemProps, type SelectProps, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, ShadowDOMWrapper, type ShowToastOptions, SidePanel, type SidePanelProps, type SidePanelSize, Slider, type SliderProps, type SortDirection, type SortState, Spinner, type SpinnerProps, type SpinnerSize, type StepItem, type StepState, Stepper, StepperBar, type StepperBarProps, type StepperProps, type SupportingTextType, Surface, type SurfaceBackground, SurfaceBody, type SurfaceBodyProps, SurfaceFooter, type SurfaceFooterProps, SurfaceHeader, type SurfaceHeaderProps, type SurfaceProps, 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, Toggle, ToggleItem, type ToggleItemProps, type ToggleProps, type ToggleType, 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 };
3632
+ export { Accordion, AccordionContent, AccordionContentPlaceholder, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionSectionTrigger, type AccordionSectionTriggerProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, type AccordionValue, AudioPlayer, type AudioPlayerProps, 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, ChatBubbleAgent, type ChatBubbleAgentProps, ChatBubbleUser, type ChatBubbleUserProps, Checkbox, type CheckboxProps, Chip, type ChipProps, 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, MultiSelect, type MultiSelectItem, type MultiSelectProps, 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, RuleBuilder, RuleBuilderAddCondition, type RuleBuilderAddConditionProps, RuleBuilderClause, type RuleBuilderClauseProps, RuleBuilderCondition, type RuleBuilderConditionProps, RuleBuilderConnector, type RuleBuilderConnectorProps, type RuleBuilderProps, Select, SelectContent, type SelectContentItem, SelectFormLabel, SelectGroup, type SelectGroupProps, SelectItem, SelectLabel, type SelectLabelProps, type SelectMenuItemProps, type SelectProps, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, ShadowDOMWrapper, type ShowToastOptions, SidePanel, type SidePanelProps, type SidePanelSize, Slider, type SliderProps, type SortDirection, type SortState, Spinner, type SpinnerProps, type SpinnerSize, type StepItem, type StepState, Stepper, StepperBar, type StepperBarProps, type StepperProps, type SupportingTextType, Surface, type SurfaceBackground, SurfaceBody, type SurfaceBodyProps, SurfaceFooter, type SurfaceFooterProps, SurfaceHeader, type SurfaceHeaderProps, type SurfaceProps, 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, Toggle, ToggleItem, type ToggleItemProps, type ToggleProps, type ToggleType, 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.js CHANGED
@@ -6500,6 +6500,7 @@ __export(index_exports, {
6500
6500
  ChatBubbleAgent: () => ChatBubbleAgent,
6501
6501
  ChatBubbleUser: () => ChatBubbleUser,
6502
6502
  Checkbox: () => Checkbox,
6503
+ Chip: () => Chip,
6503
6504
  ColumnWidth: () => ColumnWidth,
6504
6505
  CompoundFilterSelect: () => CompoundFilterSelect,
6505
6506
  DEFAULT_THEME: () => DEFAULT_THEME,
@@ -8006,11 +8007,19 @@ var SliderPrimitive = __toESM(require("@radix-ui/react-slider"));
8006
8007
 
8007
8008
  // src/slider/variables.ts
8008
8009
  var SLIDER_TOKENS = {
8009
- root: "relative flex w-full touch-none select-none items-center py-2",
8010
- rootDisabled: "opacity-50 cursor-not-allowed",
8011
- track: "relative h-2 w-full grow overflow-hidden rounded-full bg-token-grey",
8010
+ root: "group relative flex w-full touch-none select-none items-center py-2",
8011
+ // `pointer-events-none` suppresses the hover/pressed visuals when the
8012
+ // slider is disabled otherwise hovering a 50%-opacity slider would
8013
+ // still tint the track and a stuck "pressed" thumb width would persist.
8014
+ rootDisabled: "opacity-50 cursor-not-allowed pointer-events-none",
8015
+ // `before` element hosts the hover overlay so we can transition the
8016
+ // overlay opacity independently of the pressed-state background swap.
8017
+ track: "relative h-2 w-full grow overflow-hidden rounded-full bg-token-grey transition-colors before:content-[''] before:absolute before:inset-0 before:rounded-full before:bg-black/5 before:opacity-0 before:pointer-events-none before:transition-opacity group-hover:before:opacity-100 group-active:bg-token-dark-grey group-active:before:opacity-0",
8012
8018
  range: "absolute h-full rounded-full bg-token-brand-primary",
8013
- thumb: "block h-5 w-5 rounded-full bg-token-white border border-token-xlight shadow-[0px_1px_3px_0px_rgba(0,0,0,0.1)] transition-shadow focus-visible:outline focus-visible:outline-2 focus-visible:outline-token-brand focus-visible:outline-offset-2 disabled:pointer-events-none",
8019
+ // Width transitions on press so the 20→28px swap doesn't snap. Radix
8020
+ // applies `translateX(-50%)` to the thumb, so it stays centered on the
8021
+ // current value as it widens.
8022
+ thumb: "block h-5 w-5 rounded-full bg-token-white border border-token-xlight shadow-[0px_1px_3px_0px_rgba(0,0,0,0.1)] transition-[width,box-shadow] group-active:w-7 focus-visible:outline focus-visible:outline-2 focus-visible:outline-token-brand focus-visible:outline-offset-2 disabled:pointer-events-none",
8014
8023
  labelRow: "mt-2 flex w-full items-center justify-between text-xs leading-4 font-medium text-fg-grey-secondary whitespace-nowrap",
8015
8024
  wrapper: "flex w-full flex-col py-2"
8016
8025
  };
@@ -8693,14 +8702,21 @@ var ACCORDION_TOKENS = {
8693
8702
  item: "border-b border-token-light",
8694
8703
  // Card variant (Figma 707:17455 / 6441:22282) — bordered, rounded,
8695
8704
  // drop-shadowed surface. No bottom divider; sits as its own visual block.
8696
- itemCard: "border border-token-xlight rounded-2xl shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)] bg-token-white overflow-hidden",
8705
+ //
8706
+ // Open-state divider (Figma Agent Builder 690:15041): when the item is
8707
+ // open, its trigger gets a 1px bottom border separating header from
8708
+ // content. Scoped to `itemCard` via a child selector so the default
8709
+ // variant (which already has its own `border-b` per row) is unaffected
8710
+ // and we avoid double borders.
8711
+ itemCard: "border border-token-xlight rounded-2xl shadow-[0px_1px_2px_0px_rgba(0,0,0,0.1)] bg-token-white overflow-hidden [&_button[data-state=open]]:border-b [&_button[data-state=open]]:border-token-xlight",
8697
8712
  trigger: "w-full flex items-center text-left transition-colors hover:bg-token-dark-grey active:bg-token-dark-grey focus-visible:outline focus-visible:outline-2 focus-visible:outline-token-brand focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>div>svg]:rotate-180",
8698
8713
  // Size-specific paddings on the trigger row itself.
8699
8714
  triggerSize: {
8700
8715
  default: "py-4",
8701
- // Card-sized trigger — 12px gutter all around, hover stays inside the
8702
- // rounded card (no external `bg-token-dark-grey` bleed).
8703
- sm: "p-3 hover:bg-transparent active:bg-transparent"
8716
+ // Card-sized trigger — 12px gutter all around. Hover/pressed states use
8717
+ // the same interaction tokens as `sectionTrigger` for consistency
8718
+ // (Figma Nurix Design System 2026 nodes 6441:22355 / 22356).
8719
+ sm: "p-3 hover:bg-interaction-hov-solid-primary active:bg-interaction-pressed-opacity-secondary"
8704
8720
  },
8705
8721
  textWrap: "flex-1 min-w-0 pr-2.5 flex flex-col gap-0.5",
8706
8722
  // Default trigger title — long-list look.
@@ -13096,14 +13112,62 @@ var SPINNER_TOKENS = {
13096
13112
  // src/spinner/spinner.tsx
13097
13113
  var import_jsx_runtime33 = require("react/jsx-runtime");
13098
13114
  var Spinner = React37.forwardRef(
13099
- ({ size = "md", className, ...props }, ref) => {
13100
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { ref, className: cn(SPINNER_TOKENS.base, className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
13101
- import_lucide_react14.Loader2,
13115
+ ({ size = "md", className, title, texts, ...props }, ref) => {
13116
+ const hasLoaderText = title !== void 0 || texts !== void 0 && texts.length > 0;
13117
+ const [currentTextIndex, setCurrentTextIndex] = React37.useState(0);
13118
+ React37.useEffect(() => {
13119
+ if (!texts || texts.length === 0) return;
13120
+ setCurrentTextIndex(0);
13121
+ const intervalId = setInterval(() => {
13122
+ setCurrentTextIndex((prevIndex) => {
13123
+ if (prevIndex < texts.length - 1) {
13124
+ return prevIndex + 1;
13125
+ }
13126
+ clearInterval(intervalId);
13127
+ return prevIndex;
13128
+ });
13129
+ }, 2e3);
13130
+ return () => clearInterval(intervalId);
13131
+ }, [texts]);
13132
+ if (!hasLoaderText) {
13133
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
13134
+ "div",
13135
+ {
13136
+ ref,
13137
+ className: cn(SPINNER_TOKENS.base, className),
13138
+ ...props,
13139
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
13140
+ import_lucide_react14.Loader2,
13141
+ {
13142
+ className: cn(SPINNER_TOKENS.size[size], SPINNER_TOKENS.icon),
13143
+ strokeWidth: 1.5
13144
+ }
13145
+ )
13146
+ }
13147
+ );
13148
+ }
13149
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
13150
+ "div",
13102
13151
  {
13103
- className: cn(SPINNER_TOKENS.size[size], SPINNER_TOKENS.icon),
13104
- strokeWidth: 1.5
13152
+ ref,
13153
+ className: cn(
13154
+ "flex flex-col items-center justify-center gap-3 text-center",
13155
+ className
13156
+ ),
13157
+ ...props,
13158
+ children: [
13159
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: SPINNER_TOKENS.base, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
13160
+ import_lucide_react14.Loader2,
13161
+ {
13162
+ className: cn(SPINNER_TOKENS.size[size], SPINNER_TOKENS.icon),
13163
+ strokeWidth: 1.5
13164
+ }
13165
+ ) }),
13166
+ title ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Typography, { variant: "label-md", tone: "default", children: title }) : null,
13167
+ texts && texts.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Typography, { variant: "subtext-xs", tone: "muted", children: texts[currentTextIndex] }) : null
13168
+ ]
13105
13169
  }
13106
- ) });
13170
+ );
13107
13171
  }
13108
13172
  );
13109
13173
  Spinner.displayName = "Spinner";
@@ -17359,8 +17423,85 @@ function MultiSelectRow({
17359
17423
  );
17360
17424
  }
17361
17425
 
17362
- // src/rule-builder/rule-builder.tsx
17426
+ // src/chip/chip.tsx
17363
17427
  var React48 = __toESM(require("react"));
17428
+
17429
+ // src/chip/variables.ts
17430
+ var CHIP_TOKENS = {
17431
+ base: (
17432
+ // Layout
17433
+ "relative inline-flex items-center justify-center gap-2.5 px-2.5 py-1.5 rounded-full text-xs leading-4 font-semibold tracking-normal whitespace-nowrap border border-transparent transition-[background-color,color,border-color,transform] duration-150 [&>svg]:size-4 [&>svg]:shrink-0 focus-visible:outline focus-visible:outline-2 focus-visible:outline-token-brand focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50 cursor-pointer active:scale-[0.96]"
17434
+ ),
17435
+ // Active (unselected)
17436
+ active: "bg-transparent border-token-light text-fg-grey-secondary hover:bg-interaction-hov-solid-primary hover:text-fg-black active:bg-interaction-hov-solid-primary active:text-fg-black",
17437
+ // Selected — uses ::after for the hover/pressed overlay so the brand
17438
+ // bg color stays consistent and the overlay strength is independent.
17439
+ selected: "bg-token-brand-secondary text-fg-brand overflow-hidden after:content-[''] after:absolute after:inset-0 after:rounded-[inherit] after:pointer-events-none after:bg-black/5 after:opacity-0 after:transition-opacity hover:after:opacity-100 active:after:opacity-100",
17440
+ // Non-interactive — used when the chip is rendered as a static <div>
17441
+ // (e.g. for display-only contexts). Skips the cursor / focus / press
17442
+ // affordances so it doesn't read as clickable.
17443
+ staticOverrides: "cursor-default active:scale-100"
17444
+ };
17445
+
17446
+ // src/chip/chip.tsx
17447
+ var import_jsx_runtime44 = require("react/jsx-runtime");
17448
+ var Chip = React48.forwardRef(
17449
+ ({
17450
+ className,
17451
+ selected = false,
17452
+ onClick,
17453
+ leadingIcon,
17454
+ trailingIcon,
17455
+ disabled = false,
17456
+ children,
17457
+ "data-testid": dataTestId,
17458
+ ...rest
17459
+ }, ref) => {
17460
+ const classes = cn(
17461
+ CHIP_TOKENS.base,
17462
+ selected ? CHIP_TOKENS.selected : CHIP_TOKENS.active,
17463
+ !onClick && CHIP_TOKENS.staticOverrides,
17464
+ className
17465
+ );
17466
+ const content = /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
17467
+ leadingIcon,
17468
+ children !== void 0 && children !== null && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "text-left", children }),
17469
+ trailingIcon
17470
+ ] });
17471
+ if (!onClick) {
17472
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
17473
+ "div",
17474
+ {
17475
+ ref,
17476
+ className: classes,
17477
+ "data-testid": dataTestId != null ? dataTestId : "chip",
17478
+ "data-state": selected ? "selected" : "active",
17479
+ "aria-disabled": disabled || void 0,
17480
+ children: content
17481
+ }
17482
+ );
17483
+ }
17484
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
17485
+ "button",
17486
+ {
17487
+ ref,
17488
+ type: "button",
17489
+ className: classes,
17490
+ onClick,
17491
+ disabled,
17492
+ "aria-pressed": selected,
17493
+ "data-state": selected ? "selected" : "active",
17494
+ "data-testid": dataTestId != null ? dataTestId : "chip",
17495
+ ...rest,
17496
+ children: content
17497
+ }
17498
+ );
17499
+ }
17500
+ );
17501
+ Chip.displayName = "Chip";
17502
+
17503
+ // src/rule-builder/rule-builder.tsx
17504
+ var React49 = __toESM(require("react"));
17364
17505
  var import_lucide_react25 = require("lucide-react");
17365
17506
 
17366
17507
  // src/rule-builder/variables.ts
@@ -17400,8 +17541,8 @@ var RULE_BUILDER_TOKENS = {
17400
17541
  };
17401
17542
 
17402
17543
  // src/rule-builder/rule-builder.tsx
17403
- var import_jsx_runtime44 = require("react/jsx-runtime");
17404
- var RuleBuilder = React48.forwardRef(
17544
+ var import_jsx_runtime45 = require("react/jsx-runtime");
17545
+ var RuleBuilder = React49.forwardRef(
17405
17546
  ({
17406
17547
  title,
17407
17548
  open: openProp,
@@ -17417,17 +17558,17 @@ var RuleBuilder = React48.forwardRef(
17417
17558
  style,
17418
17559
  "data-testid": dataTestId
17419
17560
  }, ref) => {
17420
- const [openState, setOpenState] = React48.useState(defaultOpen);
17561
+ const [openState, setOpenState] = React49.useState(defaultOpen);
17421
17562
  const isControlled = openProp !== void 0;
17422
17563
  const open = isControlled ? openProp : openState;
17423
- const handleToggle = React48.useCallback(() => {
17564
+ const handleToggle = React49.useCallback(() => {
17424
17565
  const next = !open;
17425
17566
  if (!isControlled) setOpenState(next);
17426
17567
  onOpenChange == null ? void 0 : onOpenChange(next);
17427
17568
  }, [open, isControlled, onOpenChange]);
17428
- const titleIconNode = titleIcon != null ? titleIcon : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react25.Workflow, {});
17429
- const thenIconNode = thenIcon != null ? thenIcon : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react25.FileOutput, {});
17430
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
17569
+ const titleIconNode = titleIcon != null ? titleIcon : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react25.Workflow, {});
17570
+ const thenIconNode = thenIcon != null ? thenIcon : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react25.FileOutput, {});
17571
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
17431
17572
  "div",
17432
17573
  {
17433
17574
  ref,
@@ -17436,31 +17577,31 @@ var RuleBuilder = React48.forwardRef(
17436
17577
  "data-testid": dataTestId != null ? dataTestId : "rule-builder",
17437
17578
  "data-state": open ? "open" : "closed",
17438
17579
  children: [
17439
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
17580
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
17440
17581
  "div",
17441
17582
  {
17442
17583
  className: open ? RULE_BUILDER_TOKENS.card : RULE_BUILDER_TOKENS.cardCollapsed,
17443
17584
  children: [
17444
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: RULE_BUILDER_TOKENS.header, children: [
17445
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Badge, { variant: "default", interactive: false, leadingIcon: titleIconNode, children: title }),
17446
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: RULE_BUILDER_TOKENS.headerActions, children: [
17447
- onDelete ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
17585
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: RULE_BUILDER_TOKENS.header, children: [
17586
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Badge, { variant: "default", interactive: false, leadingIcon: titleIconNode, children: title }),
17587
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: RULE_BUILDER_TOKENS.headerActions, children: [
17588
+ onDelete ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
17448
17589
  Button,
17449
17590
  {
17450
17591
  variant: "iconLink",
17451
17592
  size: "iconXs",
17452
- leadingIcon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react25.Trash2, {}),
17593
+ leadingIcon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react25.Trash2, {}),
17453
17594
  onClick: onDelete,
17454
17595
  "aria-label": "Delete rule",
17455
17596
  "data-testid": "rule-builder-delete"
17456
17597
  }
17457
17598
  ) : null,
17458
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
17599
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
17459
17600
  Button,
17460
17601
  {
17461
17602
  variant: "iconLink",
17462
17603
  size: "iconXs",
17463
- leadingIcon: open ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react25.ChevronUp, {}) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react25.ChevronDown, {}),
17604
+ leadingIcon: open ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react25.ChevronUp, {}) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react25.ChevronDown, {}),
17464
17605
  onClick: handleToggle,
17465
17606
  "aria-expanded": open,
17466
17607
  "aria-label": open ? "Collapse rule" : "Expand rule",
@@ -17469,16 +17610,16 @@ var RuleBuilder = React48.forwardRef(
17469
17610
  )
17470
17611
  ] })
17471
17612
  ] }),
17472
- open ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: RULE_BUILDER_TOKENS.body, children }) : null
17613
+ open ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: RULE_BUILDER_TOKENS.body, children }) : null
17473
17614
  ]
17474
17615
  }
17475
17616
  ),
17476
- open && thenContent ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: RULE_BUILDER_TOKENS.thenStrip, children: [
17477
- /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: RULE_BUILDER_TOKENS.thenLabel, children: [
17617
+ open && thenContent ? /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: RULE_BUILDER_TOKENS.thenStrip, children: [
17618
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: RULE_BUILDER_TOKENS.thenLabel, children: [
17478
17619
  thenIconNode,
17479
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { children: thenLabel })
17620
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { children: thenLabel })
17480
17621
  ] }),
17481
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: RULE_BUILDER_TOKENS.thenContent, children: thenContent })
17622
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: RULE_BUILDER_TOKENS.thenContent, children: thenContent })
17482
17623
  ] }) : null
17483
17624
  ]
17484
17625
  }
@@ -17486,19 +17627,19 @@ var RuleBuilder = React48.forwardRef(
17486
17627
  }
17487
17628
  );
17488
17629
  RuleBuilder.displayName = "RuleBuilder";
17489
- var RuleBuilderClause = React48.forwardRef(({ label = "IF", children, className }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { ref, className: cn("flex flex-col gap-2 w-full", className), children: [
17490
- label !== null && label !== void 0 && label !== "" ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: RULE_BUILDER_TOKENS.clauseLabel, children: label }) : null,
17491
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: RULE_BUILDER_TOKENS.conditionsGroup, children })
17630
+ var RuleBuilderClause = React49.forwardRef(({ label = "IF", children, className }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { ref, className: cn("flex flex-col gap-2 w-full", className), children: [
17631
+ label !== null && label !== void 0 && label !== "" ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: RULE_BUILDER_TOKENS.clauseLabel, children: label }) : null,
17632
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: RULE_BUILDER_TOKENS.conditionsGroup, children })
17492
17633
  ] }));
17493
17634
  RuleBuilderClause.displayName = "RuleBuilderClause";
17494
- var RuleBuilderCondition = React48.forwardRef(({ children, onDelete, className }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { ref, className: cn(RULE_BUILDER_TOKENS.conditionRow, className), children: [
17635
+ var RuleBuilderCondition = React49.forwardRef(({ children, onDelete, className }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { ref, className: cn(RULE_BUILDER_TOKENS.conditionRow, className), children: [
17495
17636
  children,
17496
- onDelete ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
17637
+ onDelete ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
17497
17638
  Button,
17498
17639
  {
17499
17640
  variant: "iconLink",
17500
17641
  size: "iconXs",
17501
- leadingIcon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react25.Trash2, {}),
17642
+ leadingIcon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react25.Trash2, {}),
17502
17643
  onClick: onDelete,
17503
17644
  "aria-label": "Delete condition",
17504
17645
  "data-testid": "rule-builder-condition-delete"
@@ -17506,26 +17647,26 @@ var RuleBuilderCondition = React48.forwardRef(({ children, onDelete, className }
17506
17647
  ) : null
17507
17648
  ] }));
17508
17649
  RuleBuilderCondition.displayName = "RuleBuilderCondition";
17509
- var RuleBuilderConnector = React48.forwardRef(({ children, className }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { ref, className: cn("flex flex-col w-full", className), children: [
17510
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: RULE_BUILDER_TOKENS.connectorLine, "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: RULE_BUILDER_TOKENS.connectorLineInner }) }),
17511
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: RULE_BUILDER_TOKENS.connectorRow, children }),
17512
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: RULE_BUILDER_TOKENS.connectorLine, "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: RULE_BUILDER_TOKENS.connectorLineInner }) })
17650
+ var RuleBuilderConnector = React49.forwardRef(({ children, className }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { ref, className: cn("flex flex-col w-full", className), children: [
17651
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: RULE_BUILDER_TOKENS.connectorLine, "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: RULE_BUILDER_TOKENS.connectorLineInner }) }),
17652
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: RULE_BUILDER_TOKENS.connectorRow, children }),
17653
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: RULE_BUILDER_TOKENS.connectorLine, "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: RULE_BUILDER_TOKENS.connectorLineInner }) })
17513
17654
  ] }));
17514
17655
  RuleBuilderConnector.displayName = "RuleBuilderConnector";
17515
- var RuleBuilderAddCondition = React48.forwardRef(
17656
+ var RuleBuilderAddCondition = React49.forwardRef(
17516
17657
  ({
17517
17658
  label = "Add Condition",
17518
17659
  onClick,
17519
17660
  disabled,
17520
17661
  className,
17521
17662
  "data-testid": dataTestId
17522
- }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: RULE_BUILDER_TOKENS.addConditionRow, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
17663
+ }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: RULE_BUILDER_TOKENS.addConditionRow, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
17523
17664
  Button,
17524
17665
  {
17525
17666
  ref,
17526
17667
  variant: "outline",
17527
17668
  size: "xs",
17528
- leadingIcon: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react25.Plus, {}),
17669
+ leadingIcon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react25.Plus, {}),
17529
17670
  onClick,
17530
17671
  disabled,
17531
17672
  className,
@@ -17552,6 +17693,7 @@ RuleBuilderAddCondition.displayName = "RuleBuilderAddCondition";
17552
17693
  ChatBubbleAgent,
17553
17694
  ChatBubbleUser,
17554
17695
  Checkbox,
17696
+ Chip,
17555
17697
  ColumnWidth,
17556
17698
  CompoundFilterSelect,
17557
17699
  DEFAULT_THEME,