@nurix/ui-component-library 1.1.4-stage.119 → 1.1.4-stage.121

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
@@ -30,6 +30,11 @@ interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
30
30
  */
31
31
  button_border_radius?: ButtonBorderRadius;
32
32
  asChild?: boolean;
33
+ /**
34
+ * Optional `data-testid` for Playwright. Defaults to `"btn"` if omitted.
35
+ * By convention pass a descriptive name like `"btn-create-agent"`.
36
+ */
37
+ "data-testid"?: string;
33
38
  }
34
39
 
35
40
  declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
@@ -117,6 +122,11 @@ interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>,
117
122
  * Note: `supportingTextType="error"` will also style the field as invalid.
118
123
  */
119
124
  invalid?: boolean;
125
+ /**
126
+ * Optional `data-testid` for Playwright. Defaults to `"input"` if omitted.
127
+ * By convention pass a descriptive name like `"input-agent-name"`.
128
+ */
129
+ "data-testid"?: string;
120
130
  }
121
131
  interface FileInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "type" | "value" | "onChange"> {
122
132
  label?: string;
@@ -127,6 +137,10 @@ interface FileInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputEleme
127
137
  input_border_radius?: InputBorderRadius;
128
138
  inputVariant?: InputVariant;
129
139
  onFileChange?: (file: File | null) => void;
140
+ /**
141
+ * Optional `data-testid` for Playwright. Defaults to `"input"` if omitted.
142
+ */
143
+ "data-testid"?: string;
130
144
  }
131
145
 
132
146
  declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
@@ -179,6 +193,10 @@ interface InputGroupProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElem
179
193
  * @default "grey"
180
194
  */
181
195
  inputVariant?: InputVariant;
196
+ /**
197
+ * Optional `data-testid` for Playwright. Defaults to `"input"` if omitted.
198
+ */
199
+ "data-testid"?: string;
182
200
  }
183
201
 
184
202
  declare const InputGroup: React$1.ForwardRefExoticComponent<InputGroupProps & React$1.RefAttributes<HTMLInputElement>>;
@@ -231,6 +249,11 @@ interface TextareaProps extends Omit<React$1.TextareaHTMLAttributes<HTMLTextArea
231
249
  */
232
250
  resize?: "none" | "vertical" | "horizontal" | "both";
233
251
  style?: React$1.CSSProperties;
252
+ /**
253
+ * Optional `data-testid` for Playwright. Defaults to `"input"` if omitted.
254
+ * By convention pass a descriptive name like `"input-description"`.
255
+ */
256
+ "data-testid"?: string;
234
257
  }
235
258
 
236
259
  /**
@@ -274,23 +297,169 @@ interface SwitchProps {
274
297
  id?: string;
275
298
  className?: string;
276
299
  style?: React$1.CSSProperties;
300
+ /**
301
+ * Optional `data-testid` for Playwright. Defaults to `"toggle"` if omitted
302
+ * (Switch uses the same prefix as Toggle since they're the same control family).
303
+ * By convention pass a descriptive name like `"toggle-streaming"`.
304
+ */
305
+ "data-testid"?: string;
277
306
  }
278
307
 
279
308
  declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLButtonElement>>;
280
309
 
281
- declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
310
+ /**
311
+ * Toggle (segmented pill / card) — Figma references:
312
+ * - 4960:33812 — IconToggleSetRegular (size = "regular", 36×36 pills)
313
+ * - 4960:33890 — ToggleIconSmall (size = "small", 24×24 pills + card)
314
+ *
315
+ * A segmented control rendered inside a grey rounded container. The
316
+ * selected option is filled white with a 1px xlight border and a
317
+ * shadow-xs drop.
318
+ *
319
+ * Two shapes:
320
+ * - `pill` — single-line option (icon, icon + text, or text only)
321
+ * - `card` — square option with title row + subtext below (only valid
322
+ * for `size="small"`).
323
+ */
324
+ type ToggleType = "iconText" | "iconOnly" | "textOnly";
325
+ type ToggleShape = "pill" | "card";
326
+ type ToggleSize = "regular" | "small";
327
+ interface ToggleProps {
328
+ /**
329
+ * Controlled selected value. When set, the parent owns state.
330
+ */
331
+ value?: string;
332
+ /**
333
+ * Initial selected value when uncontrolled.
334
+ */
335
+ defaultValue?: string;
336
+ /**
337
+ * Called when the user picks a different option.
338
+ */
339
+ onValueChange?: (value: string) => void;
340
+ /**
341
+ * Layout for items inside the pill. Ignored when `shape="card"`.
342
+ * @default "iconText"
343
+ */
344
+ type?: ToggleType;
345
+ /**
346
+ * Item shape.
347
+ * - "pill" — single-line rounded-full option
348
+ * - "card" — square option with stacked title + subtext (small size)
349
+ * @default "pill"
350
+ */
351
+ shape?: ToggleShape;
352
+ /**
353
+ * Size of items.
354
+ * - "regular" — 36×36 pills, 16×16 icons, 14px semibold label
355
+ * - "small" — 24h pills, 12×12 icons, 12px medium label; required
356
+ * for `shape="card"`
357
+ * @default "regular"
358
+ */
359
+ size?: ToggleSize;
360
+ /**
361
+ * Disable the entire toggle.
362
+ */
363
+ disabled?: boolean;
364
+ /**
365
+ * Toggle items — one or more `<ToggleItem>` children.
366
+ */
367
+ children?: React$1.ReactNode;
368
+ className?: string;
369
+ style?: React$1.CSSProperties;
370
+ /**
371
+ * Optional `data-testid` for Playwright. Defaults to `"toggle"` if omitted.
372
+ */
373
+ "data-testid"?: string;
374
+ }
375
+ interface ToggleItemProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "value" | "onClick" | "type" | "role" | "aria-checked" | "children"> {
376
+ /**
377
+ * Stable value for this item. Compared against the parent's `value`.
378
+ */
379
+ value: string;
380
+ /**
381
+ * Optional leading icon. Rendered when the parent type is `iconText`
382
+ * or `iconOnly` (or for `shape="card"`).
383
+ */
384
+ icon?: React$1.ReactNode;
385
+ /**
386
+ * Optional secondary line below the title — only rendered when the
387
+ * parent's `shape="card"`.
388
+ */
389
+ subtext?: React$1.ReactNode;
390
+ /**
391
+ * Label content. Rendered when the parent type is `iconText` or `textOnly`,
392
+ * and always for `shape="card"`.
393
+ */
394
+ children?: React$1.ReactNode;
395
+ /**
396
+ * Optional `data-testid` for Playwright. Defaults to `"toggle"` if omitted.
397
+ */
398
+ "data-testid"?: string;
399
+ }
400
+
401
+ /**
402
+ * Toggle — segmented pill / card control.
403
+ * Figma: 4960:33812 (regular) and 4960:33890 (small + card).
404
+ *
405
+ * @example
406
+ * // Pill (default)
407
+ * <Toggle value={direction} onValueChange={setDirection}>
408
+ * <ToggleItem value="inbound" icon={<PhoneIncoming />}>Inbound</ToggleItem>
409
+ * <ToggleItem value="outbound" icon={<PhoneOutgoing />}>Outbound</ToggleItem>
410
+ * </Toggle>
411
+ *
412
+ * // Square card with subtext
413
+ * <Toggle value={mode} onValueChange={setMode} shape="card" size="small">
414
+ * <ToggleItem value="single" icon={<File />} subtext="Natural-language prompt only.">
415
+ * Single Prompt
416
+ * </ToggleItem>
417
+ * <ToggleItem value="flow" icon={<Workflow />} subtext="Structured map of nodes.">
418
+ * Conversation Flow
419
+ * </ToggleItem>
420
+ * </Toggle>
421
+ */
422
+ declare const Toggle: React$1.ForwardRefExoticComponent<ToggleProps & React$1.RefAttributes<HTMLDivElement>>;
423
+ /**
424
+ * ToggleItem — single segment inside a `<Toggle>`. Pulls active value
425
+ * from context and signals selection back via `setValue`.
426
+ */
427
+ declare const ToggleItem: React$1.ForwardRefExoticComponent<ToggleItemProps & React$1.RefAttributes<HTMLButtonElement>>;
428
+
429
+ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & {
430
+ "data-testid"?: string;
431
+ } & React$1.RefAttributes<HTMLButtonElement>>;
282
432
 
283
433
  /**
284
434
  * shadcn-style Checkbox props (Radix primitive props).
285
435
  * Note: Radix supports `checked: boolean | "indeterminate"`. Figma uses boolean.
286
436
  */
287
- type CheckboxProps = React$1.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>;
437
+ type CheckboxProps = React$1.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> & {
438
+ /**
439
+ * Optional `data-testid` for Playwright. Defaults to `"checkbox"` if omitted.
440
+ */
441
+ "data-testid"?: string;
442
+ };
288
443
 
289
- declare const RadioGroup: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
290
- declare const RadioGroupItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
444
+ declare const RadioGroup: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
445
+ "data-testid"?: string;
446
+ } & React$1.RefAttributes<HTMLDivElement>>;
447
+ declare const RadioGroupItem: React$1.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & {
448
+ "data-testid"?: string;
449
+ } & React$1.RefAttributes<HTMLButtonElement>>;
291
450
 
292
- type RadioGroupProps = React$1.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>;
293
- type RadioGroupItemProps = React$1.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>;
451
+ type RadioGroupProps = React$1.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root> & {
452
+ /**
453
+ * Optional `data-testid` for Playwright. Defaults to `"radio-group"` if omitted.
454
+ */
455
+ "data-testid"?: string;
456
+ };
457
+ type RadioGroupItemProps = React$1.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item> & {
458
+ /**
459
+ * Optional `data-testid` for Playwright. Defaults to `"radio"` if omitted.
460
+ */
461
+ "data-testid"?: string;
462
+ };
294
463
 
295
464
  type DialogHeaderNavigationVariant = "primary" | "inner";
296
465
  type BackButtonPosition = "left" | "right";
@@ -306,6 +475,10 @@ interface DialogHeaderNavigationProps extends React$1.HTMLAttributes<HTMLDivElem
306
475
  backButtonAriaLabel?: string;
307
476
  backButtonPosition?: BackButtonPosition;
308
477
  disabled?: boolean;
478
+ /**
479
+ * Optional `data-testid` for Playwright. Defaults to `"dialog-header"` if omitted.
480
+ */
481
+ "data-testid"?: string;
309
482
  }
310
483
  type TabVariant = "top" | "side" | "section";
311
484
  interface ListNavItemProps {
@@ -318,13 +491,17 @@ interface ListNavItemProps {
318
491
  /** Trailing content (badges, icons, etc.) */
319
492
  trailing?: React$1.ReactNode;
320
493
  }
321
- interface ListNavigationProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onSelect'> {
494
+ interface ListNavigationProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "onSelect"> {
322
495
  /** List of items */
323
496
  items: ListNavItemProps[];
324
497
  /** Currently selected item id */
325
498
  selectedId?: string | null;
326
499
  /** Callback when an item is clicked */
327
500
  onSelect?: (id: string) => void;
501
+ /**
502
+ * Optional `data-testid` for Playwright. Defaults to `"nav"` if omitted.
503
+ */
504
+ "data-testid"?: string;
328
505
  }
329
506
  interface TabsProps extends React$1.HTMLAttributes<HTMLDivElement> {
330
507
  value?: string;
@@ -339,6 +516,11 @@ interface TabsTriggerProps extends React$1.ButtonHTMLAttributes<HTMLButtonElemen
339
516
  value: string;
340
517
  variant?: TabVariant;
341
518
  iconLeft?: React$1.ReactNode;
519
+ /**
520
+ * Optional `data-testid` for Playwright. Defaults to `"tab"` if omitted.
521
+ * By convention pass a descriptive name like `"tab-configure"`.
522
+ */
523
+ "data-testid"?: string;
342
524
  }
343
525
  interface TabsContentProps extends React$1.HTMLAttributes<HTMLDivElement> {
344
526
  value: string;
@@ -385,6 +567,10 @@ interface AccordionTriggerProps extends React$1.ButtonHTMLAttributes<HTMLButtonE
385
567
  * Note: click events are stopped from toggling the accordion.
386
568
  */
387
569
  action?: React$1.ReactNode;
570
+ /**
571
+ * Optional `data-testid` for Playwright. Defaults to `"accordion"` if omitted.
572
+ */
573
+ "data-testid"?: string;
388
574
  }
389
575
  interface AccordionContentProps extends React$1.HTMLAttributes<HTMLDivElement> {
390
576
  }
@@ -393,6 +579,10 @@ interface AccordionSectionTriggerProps extends React$1.ButtonHTMLAttributes<HTML
393
579
  * Label shown inside the pill (Figma: "Summary"). Children override.
394
580
  */
395
581
  label?: React$1.ReactNode;
582
+ /**
583
+ * Optional `data-testid` for Playwright. Defaults to `"accordion"` if omitted.
584
+ */
585
+ "data-testid"?: string;
396
586
  }
397
587
 
398
588
  declare function Accordion<TType extends AccordionType = "single">({ className, type, collapsible, value, defaultValue, onValueChange, disabled, ...props }: AccordionProps<TType>): react_jsx_runtime.JSX.Element;
@@ -438,6 +628,10 @@ interface AvatarProps {
438
628
  shape?: AvatarShape;
439
629
  className?: string;
440
630
  style?: React$1.CSSProperties;
631
+ /**
632
+ * Optional `data-testid` for Playwright. Defaults to `"avatar"` if omitted.
633
+ */
634
+ "data-testid"?: string;
441
635
  }
442
636
  interface AvatarGroupProps {
443
637
  /**
@@ -461,6 +655,10 @@ interface AvatarGroupProps {
461
655
  children: React$1.ReactNode;
462
656
  className?: string;
463
657
  style?: React$1.CSSProperties;
658
+ /**
659
+ * Optional `data-testid` for Playwright. Defaults to `"avatar-group"` if omitted.
660
+ */
661
+ "data-testid"?: string;
464
662
  }
465
663
 
466
664
  /**
@@ -531,6 +729,10 @@ interface BadgeProps {
531
729
  interactive?: boolean;
532
730
  className?: string;
533
731
  style?: React$1.CSSProperties;
732
+ /**
733
+ * Optional `data-testid` for Playwright. Defaults to `"badge"` if omitted.
734
+ */
735
+ "data-testid"?: string;
534
736
  }
535
737
  /**
536
738
  * Props for TagBadge - an interactive badge that opens a dropdown to select a tag.
@@ -551,6 +753,10 @@ interface TagBadgeProps {
551
753
  defaultVariant?: BadgeVariant;
552
754
  className?: string;
553
755
  style?: React$1.CSSProperties;
756
+ /**
757
+ * Optional `data-testid` for Playwright. Defaults to `"badge"` if omitted.
758
+ */
759
+ "data-testid"?: string;
554
760
  }
555
761
  type NumberBadgeVariant = "default" | "destructive" | "secondary";
556
762
  interface NumberBadgeProps {
@@ -575,6 +781,10 @@ interface NumberBadgeProps {
575
781
  showZero?: boolean;
576
782
  className?: string;
577
783
  style?: React$1.CSSProperties;
784
+ /**
785
+ * Optional `data-testid` for Playwright. Defaults to `"badge"` if omitted.
786
+ */
787
+ "data-testid"?: string;
578
788
  }
579
789
 
580
790
  /**
@@ -652,6 +862,11 @@ declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimit
652
862
  size?: "small" | "regular" | "large";
653
863
  /** Background variant. "default" = input grey, "white" = card white */
654
864
  bg?: "default" | "white";
865
+ /**
866
+ * Optional `data-testid` for Playwright. Defaults to `"select"` if omitted.
867
+ * By convention pass a descriptive name like `"select-timezone"`.
868
+ */
869
+ "data-testid"?: string;
655
870
  } & React$1.RefAttributes<HTMLButtonElement>>;
656
871
  declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
657
872
  declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
@@ -668,6 +883,10 @@ declare const SelectItem: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive
668
883
  leadIcon?: React$1.ReactNode;
669
884
  /** Size of leadIcon area. "xs" = 16px, "sm" = 24px, "md" = 36px (for playback controls) */
670
885
  leadIconSize?: "xs" | "sm" | "md";
886
+ /**
887
+ * Optional `data-testid` for Playwright. Defaults to `"select-item"` if omitted.
888
+ */
889
+ "data-testid"?: string;
671
890
  } & React$1.RefAttributes<HTMLDivElement>>;
672
891
  declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
673
892
  declare function SelectFormLabel({ className, label, mandatory, }: SelectLabelProps): react_jsx_runtime.JSX.Element;
@@ -732,7 +951,7 @@ interface UseSelectProps {
732
951
  defaultValue?: string;
733
952
  onValueChange?: (value: string) => void;
734
953
  }
735
- declare function useSelect({ value, defaultValue, onValueChange }: UseSelectProps): {
954
+ declare function useSelect({ value, defaultValue, onValueChange, }: UseSelectProps): {
736
955
  value: string | undefined;
737
956
  setValue: React$1.Dispatch<React$1.SetStateAction<string | undefined>>;
738
957
  handleValueChange: (newValue: string) => void;
@@ -782,6 +1001,11 @@ interface EmptyStateProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "
782
1001
  description?: string | React$1.ReactNode;
783
1002
  /** Action element(s) displayed below the text. Single button or array of buttons. */
784
1003
  action?: React$1.ReactNode | React$1.ReactNode[];
1004
+ /**
1005
+ * Optional `data-testid` for Playwright. Defaults to `"empty-state"` if omitted.
1006
+ * By convention pass a descriptive name like `"empty-state-no-agents"`.
1007
+ */
1008
+ "data-testid"?: string;
785
1009
  }
786
1010
 
787
1011
  /**
@@ -815,6 +1039,11 @@ interface ListProps extends React$1.HTMLAttributes<HTMLDivElement> {
815
1039
  */
816
1040
  list_border_radius?: ListBorderRadius;
817
1041
  children?: React$1.ReactNode;
1042
+ /**
1043
+ * Optional `data-testid` for Playwright. Defaults to `"card"` if omitted.
1044
+ * By convention pass a descriptive name like `"card-agent-${id}"`.
1045
+ */
1046
+ "data-testid"?: string;
818
1047
  }
819
1048
 
820
1049
  /**
@@ -898,6 +1127,11 @@ interface SidePanelProps extends React$1.HTMLAttributes<HTMLDivElement> {
898
1127
  side?: "left" | "right";
899
1128
  /** Panel content */
900
1129
  children?: React$1.ReactNode;
1130
+ /**
1131
+ * Optional `data-testid` for Playwright. Defaults to `"side-panel"` if omitted.
1132
+ * By convention pass a descriptive name like `"side-panel-create-campaign"`.
1133
+ */
1134
+ "data-testid"?: string;
901
1135
  }
902
1136
 
903
1137
  /**
@@ -1001,10 +1235,14 @@ interface ThemeContextType {
1001
1235
  declare const ThemeProvider: React$1.FC<{
1002
1236
  children: React$1.ReactNode;
1003
1237
  defaultTheme?: Theme;
1238
+ /** See `LegoLandWrapper.fill` — opt the wrapper into `display: contents`. */
1239
+ fill?: boolean;
1004
1240
  }>;
1005
1241
  declare const NurixThemeProvider: React$1.FC<{
1006
1242
  children: React$1.ReactNode;
1007
1243
  defaultTheme?: Theme;
1244
+ /** See `LegoLandWrapper.fill` — opt the wrapper into `display: contents`. */
1245
+ fill?: boolean;
1008
1246
  }>;
1009
1247
  declare const useTheme: () => ThemeContextType;
1010
1248
 
@@ -1013,6 +1251,13 @@ interface LegoLandWrapperProps {
1013
1251
  theme: "light" | "dark";
1014
1252
  className?: string;
1015
1253
  style?: React$1.CSSProperties;
1254
+ /**
1255
+ * Opt-in: render the wrapper with `display: contents` (via a `data-fill`
1256
+ * attribute the host app can target) so it doesn't form its own layout
1257
+ * box. Use when a child needs height/flex propagation from the wrapper's
1258
+ * parent (e.g. `h-full` on a Surface inside).
1259
+ */
1260
+ fill?: boolean;
1016
1261
  }
1017
1262
  declare const LegoLandWrapper: React$1.FC<LegoLandWrapperProps>;
1018
1263
 
@@ -1594,6 +1839,12 @@ interface DialogProps {
1594
1839
  confirmVariant?: ButtonVariant;
1595
1840
  /** Disable the confirm button. */
1596
1841
  confirmDisabled?: boolean;
1842
+ /**
1843
+ * Base data-testid. Forwarded to the dialog container, with
1844
+ * `${value}-close`, `${value}-cancel`, and `${value}-confirm` auto-derived
1845
+ * onto the close (×), cancel, and confirm buttons.
1846
+ */
1847
+ "data-testid"?: string;
1597
1848
  className?: string;
1598
1849
  }
1599
1850
  interface DialogIconProps {
@@ -1604,6 +1855,11 @@ interface DialogHeaderProps {
1604
1855
  title: string;
1605
1856
  showClose?: boolean;
1606
1857
  showDivider?: boolean;
1858
+ /**
1859
+ * Base data-testid. Forwarded to the header container, with
1860
+ * `${value}-close` auto-derived onto the close (×) button.
1861
+ */
1862
+ "data-testid"?: string;
1607
1863
  className?: string;
1608
1864
  }
1609
1865
  interface DialogBodyProps {
@@ -1625,6 +1881,12 @@ interface DialogFooterProps {
1625
1881
  confirmVariant?: ButtonVariant;
1626
1882
  /** Disable the confirm button. */
1627
1883
  confirmDisabled?: boolean;
1884
+ /**
1885
+ * Base data-testid. Forwarded to the footer container, with
1886
+ * `${value}-cancel` and `${value}-confirm` auto-derived onto the cancel
1887
+ * and confirm buttons.
1888
+ */
1889
+ "data-testid"?: string;
1628
1890
  showDivider?: boolean;
1629
1891
  className?: string;
1630
1892
  }
@@ -1695,6 +1957,11 @@ interface ToastProps {
1695
1957
  progress?: number;
1696
1958
  className?: string;
1697
1959
  style?: React$1.CSSProperties;
1960
+ /**
1961
+ * Optional `data-testid` for Playwright. Defaults to `"toast"` if omitted.
1962
+ * By convention pass a descriptive name like `"toast-success"`.
1963
+ */
1964
+ "data-testid"?: string;
1698
1965
  }
1699
1966
  /** Options passed to `showToast()`. */
1700
1967
  interface ShowToastOptions extends Omit<ToastProps, "onCancel"> {
@@ -1751,6 +2018,11 @@ interface StepperProps {
1751
2018
  steps: StepItem[];
1752
2019
  className?: string;
1753
2020
  style?: React$1.CSSProperties;
2021
+ /**
2022
+ * Optional `data-testid` for Playwright. Defaults to `"stepper"` if omitted.
2023
+ * By convention pass a descriptive name like `"stepper-onboarding"`.
2024
+ */
2025
+ "data-testid"?: string;
1754
2026
  }
1755
2027
  interface StepperBarProps {
1756
2028
  /**
@@ -1764,6 +2036,11 @@ interface StepperBarProps {
1764
2036
  currentStep: number;
1765
2037
  className?: string;
1766
2038
  style?: React$1.CSSProperties;
2039
+ /**
2040
+ * Optional `data-testid` for Playwright. Defaults to `"stepper-bar"` if omitted.
2041
+ * By convention pass a descriptive name like `"stepper-bar-create-agent"`.
2042
+ */
2043
+ "data-testid"?: string;
1767
2044
  }
1768
2045
  interface ProgressBarProps {
1769
2046
  /**
@@ -1777,6 +2054,11 @@ interface ProgressBarProps {
1777
2054
  max?: number;
1778
2055
  className?: string;
1779
2056
  style?: React$1.CSSProperties;
2057
+ /**
2058
+ * Optional `data-testid` for Playwright. Defaults to `"progress-bar"` if omitted.
2059
+ * By convention pass a descriptive name like `"progress-bar-upload"`.
2060
+ */
2061
+ "data-testid"?: string;
1780
2062
  }
1781
2063
 
1782
2064
  /**
@@ -1885,6 +2167,11 @@ interface IconPickerProps {
1885
2167
  placeholder?: string;
1886
2168
  className?: string;
1887
2169
  style?: React$1.CSSProperties;
2170
+ /**
2171
+ * Optional `data-testid` for Playwright. Defaults to `"btn"` (the trigger
2172
+ * is a button) if omitted.
2173
+ */
2174
+ "data-testid"?: string;
1888
2175
  }
1889
2176
 
1890
2177
  /**
@@ -2013,6 +2300,12 @@ interface TableAction<TRow> {
2013
2300
  * Called when the action button is clicked.
2014
2301
  */
2015
2302
  onClick: (row: TRow) => void;
2303
+ /**
2304
+ * data-testid for the action button. Static string, or a function that
2305
+ * receives the row so consumers can build per-row testids
2306
+ * (e.g. `(row) => `btn-delete-${row.id}``).
2307
+ */
2308
+ "data-testid"?: string | ((row: TRow) => string);
2016
2309
  }
2017
2310
  interface PaginationProps {
2018
2311
  handlePageChange: (page: number) => void;
@@ -2021,6 +2314,10 @@ interface PaginationProps {
2021
2314
  currentPage: number;
2022
2315
  total: number;
2023
2316
  entityName?: string;
2317
+ /**
2318
+ * Optional `data-testid` for Playwright. Defaults to `"pagination"` if omitted.
2319
+ */
2320
+ "data-testid"?: string;
2024
2321
  }
2025
2322
  interface DataTableProps<TRow> {
2026
2323
  /**
@@ -2095,6 +2392,11 @@ interface DataTableProps<TRow> {
2095
2392
  * Called when a data row is clicked. Receives the row data.
2096
2393
  */
2097
2394
  onRowClick?: (row: TRow) => void;
2395
+ /**
2396
+ * Optional `data-testid` for Playwright. Defaults to `"table"` if omitted.
2397
+ * Each data row also gets `data-testid={`row-${id}`}` automatically.
2398
+ */
2399
+ "data-testid"?: string;
2098
2400
  }
2099
2401
 
2100
2402
  /**
@@ -2103,7 +2405,7 @@ interface DataTableProps<TRow> {
2103
2405
  *
2104
2406
  * Figma reference node: 3338:6396
2105
2407
  */
2106
- declare function Pagination({ handlePageChange, rowsPerPage, setRowsPerPage, currentPage, total, entityName, }: PaginationProps): react_jsx_runtime.JSX.Element;
2408
+ declare function Pagination({ handlePageChange, rowsPerPage, setRowsPerPage, currentPage, total, entityName, "data-testid": dataTestId, }: PaginationProps): react_jsx_runtime.JSX.Element;
2107
2409
  declare namespace Pagination {
2108
2410
  var displayName: string;
2109
2411
  }
@@ -2119,11 +2421,22 @@ declare namespace Pagination {
2119
2421
  *
2120
2422
  * Figma reference node: 3338:6396
2121
2423
  */
2122
- 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;
2424
+ 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, "data-testid": dataTestId, }: DataTableProps<TRow>): react_jsx_runtime.JSX.Element;
2123
2425
  declare namespace DataTable {
2124
2426
  var displayName: string;
2125
2427
  }
2126
2428
 
2429
+ /**
2430
+ * Optional per-item trailing action button. Rendered before the
2431
+ * selected-tick slot, visible only on row hover (so the row stays calm when
2432
+ * idle). Use for destructive or secondary actions like "delete this saved
2433
+ * view" without making them part of the row's primary click.
2434
+ */
2435
+ interface FilterItemAction {
2436
+ icon: React$1.ReactNode;
2437
+ ariaLabel: string;
2438
+ onClick: (e: React$1.MouseEvent<HTMLButtonElement>) => void;
2439
+ }
2127
2440
  /**
2128
2441
  * Filter item structure
2129
2442
  */
@@ -2138,6 +2451,8 @@ interface FilterItem<T = string> {
2138
2451
  loading?: boolean;
2139
2452
  /** Optional custom display node to render instead of plain label */
2140
2453
  labelNode?: React$1.ReactNode;
2454
+ /** Optional trailing hover-action (e.g. delete) */
2455
+ action?: FilterItemAction;
2141
2456
  }
2142
2457
  /**
2143
2458
  * Filter item with section grouping
@@ -2260,6 +2575,17 @@ interface FilterSelectProps<T = string> extends Omit<React$1.HTMLAttributes<HTML
2260
2575
  datePresets?: boolean | DatePreset[];
2261
2576
  /** Show time picker in date filter (default: true) */
2262
2577
  showTime?: boolean;
2578
+ /**
2579
+ * Allow selecting dates in the future. Defaults to `false` because the
2580
+ * date filter is typically used to filter past data (logs, conversations,
2581
+ * etc.). Enable for use cases like scheduling.
2582
+ */
2583
+ allowFutureDates?: boolean;
2584
+ /**
2585
+ * Disable selecting dates before today. Useful for scheduling flows where
2586
+ * the start date must be today or later. Combines with `allowFutureDates`.
2587
+ */
2588
+ disablePastDates?: boolean;
2263
2589
  /** Empty state label when no items available */
2264
2590
  emptyStateLabel?: string;
2265
2591
  /** Additional className for the trigger button */
@@ -2272,6 +2598,11 @@ interface FilterSelectProps<T = string> extends Omit<React$1.HTMLAttributes<HTML
2272
2598
  * paints the label in `text-fg-brand` (Subtext/xs) — see Figma 5427:32334.
2273
2599
  */
2274
2600
  labelClassName?: string;
2601
+ /**
2602
+ * Optional `data-testid` for Playwright. Defaults to `"select"` if omitted.
2603
+ * By convention pass a descriptive name like `"select-language"`.
2604
+ */
2605
+ "data-testid"?: string;
2275
2606
  }
2276
2607
  /** Date preset: label and function to compute the range */
2277
2608
  interface DatePreset {
@@ -2308,6 +2639,8 @@ interface FilterListItemProps<T = string> {
2308
2639
  hover?: boolean;
2309
2640
  /** Additional className */
2310
2641
  className?: string;
2642
+ /** Optional trailing hover-action (e.g. delete) */
2643
+ action?: FilterItemAction;
2311
2644
  }
2312
2645
 
2313
2646
  declare const FilterSelect: React$1.ForwardRefExoticComponent<FilterSelectProps<string> & React$1.RefAttributes<HTMLDivElement>>;
@@ -2392,6 +2725,11 @@ interface ButtonListProps {
2392
2725
  onOpenChange?: (open: boolean) => void;
2393
2726
  className?: string;
2394
2727
  dropdownClassName?: string;
2728
+ /**
2729
+ * Optional `data-testid` for Playwright. Defaults to `"btn"` if omitted.
2730
+ * By convention pass a descriptive name like `"btn-actions"`.
2731
+ */
2732
+ "data-testid"?: string;
2395
2733
  }
2396
2734
 
2397
2735
  declare const ButtonList: React$1.ForwardRefExoticComponent<ButtonListProps & React$1.RefAttributes<HTMLDivElement>>;
@@ -2432,9 +2770,13 @@ interface JsonEditorProps {
2432
2770
  showExpandButton?: boolean;
2433
2771
  /** When true, hide the header/toolbar (for embedding in KeyValueJsonEditor). */
2434
2772
  hideHeader?: boolean;
2773
+ /**
2774
+ * Optional `data-testid` for Playwright. Defaults to `"input"` if omitted.
2775
+ */
2776
+ "data-testid"?: string;
2435
2777
  }
2436
2778
 
2437
- declare function JsonEditor({ value, onChange, onParsedObject, height, label, schema, nodeId, language, showExpandButton, hideHeader, }: JsonEditorProps): react_jsx_runtime.JSX.Element;
2779
+ declare function JsonEditor({ value, onChange, onParsedObject, height, label, schema, nodeId, language, showExpandButton, hideHeader, "data-testid": dataTestId, }: JsonEditorProps): react_jsx_runtime.JSX.Element;
2438
2780
 
2439
2781
  interface UseJsonEditorParams {
2440
2782
  value: string;
@@ -2583,6 +2925,10 @@ interface KeyValueEditorProps {
2583
2925
  valueLeadingIcon?: React$1.ReactNode;
2584
2926
  className?: string;
2585
2927
  style?: React$1.CSSProperties;
2928
+ /**
2929
+ * Optional `data-testid` for Playwright. Defaults to `"input"` if omitted.
2930
+ */
2931
+ "data-testid"?: string;
2586
2932
  }
2587
2933
 
2588
2934
  /**
@@ -2622,6 +2968,11 @@ interface AudioPlayerProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
2622
2968
  onRateChange?: (rate: number) => void;
2623
2969
  /** Custom formatter for times. Defaults to `m:ss`. */
2624
2970
  formatTime?: (seconds: number) => string;
2971
+ /**
2972
+ * Optional `data-testid` for Playwright. Defaults to `"player"` if omitted.
2973
+ * By convention pass a descriptive name like `"player-call-recording"`.
2974
+ */
2975
+ "data-testid"?: string;
2625
2976
  }
2626
2977
 
2627
2978
  /**
@@ -2644,6 +2995,11 @@ interface ChatBubbleBaseProps extends Omit<React$1.HTMLAttributes<HTMLDivElement
2644
2995
  alwaysShowTimestamp?: boolean;
2645
2996
  /** Override for the 16px avatar slot. */
2646
2997
  avatar?: React$1.ReactNode;
2998
+ /**
2999
+ * Optional `data-testid` for Playwright. Defaults to `"chat-bubble"` if omitted.
3000
+ * By convention pass a descriptive name like `"chat-bubble-agent-greeting"`.
3001
+ */
3002
+ "data-testid"?: string;
2647
3003
  }
2648
3004
  interface ChatBubbleAgentProps extends ChatBubbleBaseProps {
2649
3005
  /** Shown below the bubble (e.g. a "Tool Call" tag). */
@@ -2737,6 +3093,11 @@ interface PopoverProps {
2737
3093
  closeOnOutsideClick?: boolean;
2738
3094
  /** Close popover on Escape key. @default true */
2739
3095
  closeOnEscape?: boolean;
3096
+ /**
3097
+ * Optional `data-testid` for Playwright. Defaults to `"popover"` if omitted.
3098
+ * Applied to the floating popover content container (the `role="dialog"` element).
3099
+ */
3100
+ "data-testid"?: string;
2740
3101
  }
2741
3102
 
2742
3103
  /**
@@ -2767,4 +3128,4 @@ interface PopoverProps {
2767
3128
  */
2768
3129
  declare const Popover: React$1.ForwardRefExoticComponent<PopoverProps & React$1.RefAttributes<HTMLDivElement>>;
2769
3130
 
2770
- 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, 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, SidePanel, type SidePanelProps, type SidePanelSize, 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, 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 };
3131
+ 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, 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, SidePanel, type SidePanelProps, type SidePanelSize, 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 };