@indico-data/design-system 3.0.10 → 3.1.0

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.
Files changed (98) hide show
  1. package/.storybook/main.ts +3 -0
  2. package/lib/components/badge/types.d.ts +4 -0
  3. package/lib/components/button/types.d.ts +52 -2
  4. package/lib/components/card/Card.d.ts +5 -0
  5. package/lib/components/floatUI/types.d.ts +7 -0
  6. package/lib/components/forms/checkbox/Checkbox.d.ts +7 -0
  7. package/lib/components/forms/date/datePicker/types.d.ts +10 -0
  8. package/lib/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.d.ts +16 -0
  9. package/lib/components/forms/date/inputDatePicker/SingleInputDatePicker.d.ts +8 -0
  10. package/lib/components/forms/date/inputDateRangePicker/InputDateRangePicker.d.ts +9 -0
  11. package/lib/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.d.ts +9 -0
  12. package/lib/components/forms/numberInput/NumberInput.d.ts +4 -0
  13. package/lib/components/forms/passwordInput/PasswordInput.d.ts +1 -0
  14. package/lib/components/forms/radio/Radio.d.ts +6 -0
  15. package/lib/components/forms/select/Select.d.ts +10 -0
  16. package/lib/components/forms/textarea/Textarea.d.ts +7 -0
  17. package/lib/components/forms/timePicker/TimePicker.d.ts +5 -0
  18. package/lib/components/forms/toggle/Toggle.d.ts +7 -0
  19. package/lib/components/icons/types.d.ts +5 -0
  20. package/lib/components/loading-indicators/BarSpinner/BarSpinner.d.ts +4 -0
  21. package/lib/components/loading-indicators/CirclePulse/CirclePulse.d.ts +2 -0
  22. package/lib/components/menu/Menu.d.ts +1 -0
  23. package/lib/components/modal/types.d.ts +22 -0
  24. package/lib/components/pagination/types.d.ts +4 -0
  25. package/lib/components/pill/types.d.ts +3 -0
  26. package/lib/components/skeleton/Skeleton.d.ts +5 -0
  27. package/lib/components/stepper/types.d.ts +9 -0
  28. package/lib/components/table/types.d.ts +9 -0
  29. package/lib/components/tanstackTable/TankstackTable.types.d.ts +25 -0
  30. package/lib/components/tanstackTable/components/ActionBar/ActionBar.d.ts +4 -0
  31. package/lib/components/tooltip/Tooltip.d.ts +6 -0
  32. package/lib/components/truncate/types.d.ts +4 -0
  33. package/lib/index.d.ts +262 -2
  34. package/lib/index.esm.js.map +1 -1
  35. package/lib/index.js.map +1 -1
  36. package/package.json +2 -1
  37. package/src/components/badge/Badge.stories.tsx +0 -4
  38. package/src/components/badge/types.ts +4 -0
  39. package/src/components/button/Button.stories.tsx +5 -18
  40. package/src/components/button/types.ts +52 -2
  41. package/src/components/card/Card.stories.tsx +0 -5
  42. package/src/components/card/Card.tsx +5 -0
  43. package/src/components/floatUI/FloatUI.stories.tsx +0 -11
  44. package/src/components/floatUI/types.ts +7 -0
  45. package/src/components/forms/checkbox/Checkbox.stories.tsx +0 -7
  46. package/src/components/forms/checkbox/Checkbox.tsx +7 -0
  47. package/src/components/forms/date/datePicker/DatePicker.stories.tsx +0 -33
  48. package/src/components/forms/date/datePicker/types.ts +10 -0
  49. package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.stories.tsx +5 -22
  50. package/src/components/forms/date/iconTriggerDatePicker/IconTriggerDatePicker.tsx +16 -0
  51. package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.stories.tsx +0 -25
  52. package/src/components/forms/date/inputDatePicker/SingleInputDatePicker.tsx +8 -0
  53. package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.stories.tsx +0 -32
  54. package/src/components/forms/date/inputDateRangePicker/InputDateRangePicker.tsx +9 -0
  55. package/src/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.stories.tsx +0 -28
  56. package/src/components/forms/date/inputDateTimePicker/SingleInputDateTimePicker.tsx +9 -0
  57. package/src/components/forms/numberInput/NumberInput.stories.tsx +0 -4
  58. package/src/components/forms/numberInput/NumberInput.tsx +4 -0
  59. package/src/components/forms/passwordInput/PasswordInput.stories.tsx +0 -1
  60. package/src/components/forms/passwordInput/PasswordInput.tsx +1 -0
  61. package/src/components/forms/radio/Radio.stories.tsx +0 -6
  62. package/src/components/forms/radio/Radio.tsx +6 -0
  63. package/src/components/forms/select/Select.stories.tsx +1 -14
  64. package/src/components/forms/select/Select.tsx +10 -0
  65. package/src/components/forms/textarea/Textarea.stories.tsx +0 -7
  66. package/src/components/forms/textarea/Textarea.tsx +7 -0
  67. package/src/components/forms/timePicker/TimePicker.stories.tsx +0 -5
  68. package/src/components/forms/timePicker/TimePicker.tsx +5 -0
  69. package/src/components/forms/toggle/Toggle.stories.tsx +0 -7
  70. package/src/components/forms/toggle/Toggle.tsx +7 -0
  71. package/src/components/icons/Icon.stories.tsx +0 -7
  72. package/src/components/icons/types.ts +5 -0
  73. package/src/components/loading-indicators/BarSpinner/BarSpinner.stories.tsx +0 -5
  74. package/src/components/loading-indicators/BarSpinner/BarSpinner.tsx +4 -0
  75. package/src/components/loading-indicators/CirclePulse/CirclePulse.stories.tsx +0 -3
  76. package/src/components/loading-indicators/CirclePulse/CirclePulse.tsx +2 -0
  77. package/src/components/menu/Menu.stories.tsx +0 -3
  78. package/src/components/menu/Menu.tsx +1 -0
  79. package/src/components/modal/Modal.stories.tsx +1 -25
  80. package/src/components/modal/types.ts +22 -0
  81. package/src/components/pagination/Pagination.stories.tsx +0 -4
  82. package/src/components/pagination/types.ts +4 -0
  83. package/src/components/pill/Pill.stories.tsx +0 -3
  84. package/src/components/pill/types.ts +3 -0
  85. package/src/components/skeleton/Skeleton.stories.tsx +0 -7
  86. package/src/components/skeleton/Skeleton.tsx +5 -0
  87. package/src/components/stepper/Stepper.stories.tsx +0 -19
  88. package/src/components/stepper/types.ts +9 -0
  89. package/src/components/table/Table.stories.tsx +0 -35
  90. package/src/components/table/types.ts +9 -0
  91. package/src/components/tanstackTable/TankstackTable.types.ts +25 -0
  92. package/src/components/tanstackTable/TanstackTable.stories.tsx +0 -29
  93. package/src/components/tanstackTable/components/ActionBar/ActionBar.stories.tsx +0 -4
  94. package/src/components/tanstackTable/components/ActionBar/ActionBar.tsx +4 -0
  95. package/src/components/tooltip/Tooltip.stories.tsx +0 -8
  96. package/src/components/tooltip/Tooltip.tsx +6 -0
  97. package/src/components/truncate/Truncate.stories.tsx +0 -8
  98. package/src/components/truncate/types.ts +4 -0
package/lib/index.d.ts CHANGED
@@ -181,10 +181,15 @@ type IconSizes = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
181
181
  type IndiconName = keyof typeof indicons;
182
182
  type IconName = IndiconName | `fa-${IconName$1}`;
183
183
  type IconProps = PermafrostComponent & {
184
+ /** The name of the icon */
184
185
  name: IconName;
186
+ /** Accessible label for the icon */
185
187
  ariaLabel?: string;
188
+ /** Size of the icon */
186
189
  size?: IconSizes;
190
+ /** Inline styles for the icon */
187
191
  style?: CSSProperties;
192
+ /** Click event handler */
188
193
  onClick?: MouseEventHandler<SVGElement>;
189
194
  };
190
195
 
@@ -204,22 +209,34 @@ interface PinnableColumn<T> extends TableColumn$1<T> {
204
209
  }
205
210
  type TableColumn<T> = PinnableColumn<T>;
206
211
  interface TableProps<T> extends Omit<IDataTableProps<T>, 'paginationComponent' | 'direction' | 'subHeaderAlign'> {
212
+ /** The columns to display in the table. All columns require a unique id property. For pinned columns, please see the pinned example below. */
207
213
  columns: TableColumn<T>[];
214
+ /** Disables the Table section */
208
215
  isDisabled?: boolean;
216
+ /** It sets the loading of the table */
209
217
  isLoading?: boolean;
218
+ /** Accepts: ltr, rtl, or auto. When set to auto (default), RDT will attempt to detect direction by checking the HTML and DIV tags. For cases where you need to force rtl, or ltr just set this option manually (i.e. SSR). */
210
219
  direction?: Direction;
220
+ /** Show a sub header between the table and table header */
211
221
  subHeaderAlign?: 'left' | 'right' | 'center';
222
+ /** Enables height to be set to the full height of the container */
212
223
  isFullHeight?: boolean;
224
+ /** The text to display in the total entries section. This is hidden if 1. No pagination exists, 2. No string is passed. */
213
225
  totalEntriesText?: string;
226
+ /** Allows the pinning of columns to the left hand side. This is required when using the column pin API */
214
227
  canPinColumns?: boolean;
228
+ /** Callback that receives the IDs of the pinned columns when they change. */
215
229
  onPinnedColumnsChange?: (pinnedColumnIds: any[]) => void;
216
230
  }
217
231
 
218
232
  type PillSize = 'sm' | 'md' | 'lg';
219
233
  type PillColor = SemanticColor | 'neutral';
220
234
  interface PillProps {
235
+ /** The content displayed inside the pill */
221
236
  children: React$1.ReactNode | React$1.ReactNode[];
237
+ /** Applies a CSS class to change the style of the pill */
222
238
  color?: PillColor;
239
+ /** Applies a CSS class to change the size of the pill */
223
240
  size?: PillSize;
224
241
  className?: string;
225
242
  }
@@ -237,21 +254,71 @@ type ButtonVariants = 'solid' | 'outline' | 'link' | 'action' | 'destructive' |
237
254
  type ButtonSizes = 'xs' | 'sm' | 'md' | 'lg';
238
255
  type ButtonTypes = 'button' | 'submit' | 'reset';
239
256
  interface ButtonProps {
257
+ /**
258
+ * The class name to apply to the button
259
+ */
240
260
  className?: string;
261
+ /**
262
+ * The aria-label to apply to the button
263
+ */
241
264
  ariaLabel: string;
265
+ /**
266
+ * The children to apply to the button
267
+ */
242
268
  children?: React.ReactNode | React.ReactNode[];
269
+ /**
270
+ * The function to call when the mouse enters the button
271
+ */
243
272
  onMouseEnter?: (event: React.MouseEvent<HTMLButtonElement>) => void;
273
+ /**
274
+ * The function to call when the mouse exits the button
275
+ */
244
276
  onMouseExit?: (event: React.MouseEvent<HTMLButtonElement>) => void;
245
- onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
246
- isLoading?: boolean;
277
+ /**
278
+ * The function to call when the button is clicked
279
+ */
247
280
  onClick?: (...args: any[]) => void;
281
+ /**
282
+ * The function to call when the button is pressed
283
+ */
284
+ onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
285
+ /**
286
+ * Determines the visual style and emphasis level of the button
287
+ */
248
288
  variant?: ButtonVariants;
289
+ /**
290
+ * Disables the button and shows a load spinner on the left hand side of the button children by default.
291
+ * If iconLeft is passed, the loading icon will be displayed on the left hand side of the iconLeft.
292
+ * If iconRight is passed, the loading icon will be displayed on the right hand side of the iconRight.
293
+ */
294
+ isLoading?: boolean;
295
+ /**
296
+ * Makes the button round, pill-shaped when true
297
+ */
249
298
  isPill?: boolean;
299
+ /**
300
+ * The icon to display on the left hand side of the button
301
+ */
250
302
  iconLeft?: IconName;
303
+ /**
304
+ * The icon to display on the right hand side of the button
305
+ */
251
306
  iconRight?: IconName;
307
+ /**
308
+ * Controls the button's padding and text size
309
+ */
252
310
  size?: ButtonSizes;
311
+ /**
312
+ * The type of the button
313
+ */
253
314
  type?: ButtonTypes;
315
+ /**
316
+ * URL destination for the button when it needs to function as a link
317
+ */
254
318
  href?: string;
319
+ /**
320
+ * Disables the button
321
+ */
255
322
  isDisabled?: boolean;
256
323
  }
257
324
 
@@ -292,11 +359,17 @@ declare const LabeledInput: React$1.ForwardRefExoticComponent<Omit<InputProps &
292
359
 
293
360
  interface RadioProps {
294
361
  ref?: React$1.LegacyRef<HTMLInputElement>;
362
+ /** This explains what button group this radio belongs to. */
295
363
  id: string;
364
+ /** The label for the Radio field */
296
365
  label: string;
366
+ /** The name for the Radio field */
297
367
  name: string;
368
+ /** This holds the value that will be emitted when the radio is selected */
298
369
  value?: string;
370
+ /** onChange event handler */
299
371
  onChange: (e: React$1.ChangeEvent<HTMLInputElement>) => void;
372
+ /** Toggles the disabled state of the Radio field */
300
373
  isDisabled?: boolean;
301
374
  defaultChecked?: boolean;
302
375
  }
@@ -304,12 +377,19 @@ declare const Radio: React$1.ForwardRefExoticComponent<Omit<RadioProps, "ref"> &
304
377
 
305
378
  interface CheckboxProps {
306
379
  ref?: React$1.LegacyRef<HTMLInputElement>;
380
+ /** This explains what button group this checkbox belongs to. */
307
381
  id: string;
382
+ /** The label for the checkbox field */
308
383
  label: string;
384
+ /** The name for the checkbox field */
309
385
  name: string;
386
+ /** This holds the value that will be emitted when the checkbox is selected */
310
387
  value?: string;
388
+ /** Toggles the checked state of the checkbox field when true */
311
389
  isChecked?: boolean | undefined;
390
+ /** onChange event handler */
312
391
  onChange: (e: React$1.ChangeEvent<HTMLInputElement>) => void;
392
+ /** Toggles the disabled state of the checkbox field */
313
393
  isDisabled?: boolean;
314
394
  defaultChecked?: boolean;
315
395
  className?: string;
@@ -318,12 +398,19 @@ declare const Checkbox: React$1.ForwardRefExoticComponent<Omit<CheckboxProps, "r
318
398
 
319
399
  interface ToggleProps {
320
400
  ref?: React$1.LegacyRef<HTMLInputElement>;
401
+ /** This explains what button group this toggle belongs to. */
321
402
  id: string;
403
+ /** The label for the toggle field */
322
404
  label?: string;
405
+ /** The name for the toggle field */
323
406
  name: string;
407
+ /** This holds the value that will be emitted when the toggle is selected */
324
408
  value?: string;
409
+ /** onChange event handler */
325
410
  onChange: (e: React$1.ChangeEvent<HTMLInputElement>) => void;
411
+ /** This disables the toggle */
326
412
  isDisabled?: boolean;
413
+ /** This is the state of the toggle */
327
414
  isChecked?: boolean;
328
415
  defaultChecked?: boolean;
329
416
  }
@@ -338,12 +425,19 @@ interface TextareaProps extends LabelProps {
338
425
  isDisabled?: boolean;
339
426
  errorMessage?: string | undefined;
340
427
  helpText?: string;
428
+ /** The number of rows for the textarea field */
341
429
  rows?: number;
430
+ /** Specifies the visible width of a text area */
342
431
  cols?: number;
432
+ /** Sets the textarea field to readonly */
343
433
  readonly?: boolean;
434
+ /** Sets the wrap attribute for the textarea field */
344
435
  wrap?: 'hard' | 'soft';
436
+ /** Specifies which form the text area belongs to */
345
437
  form?: string;
438
+ /** Specifies the maximum number of characters allowed in the text area */
346
439
  maxLength?: number;
440
+ /** Specifies that a text area should automatically get focus when the page loads */
347
441
  autofocus?: boolean;
348
442
  defaultValue?: string;
349
443
  tabIndex?: number;
@@ -360,31 +454,49 @@ interface PasswordInputProps extends LabelProps {
360
454
  isDisabled?: boolean;
361
455
  errorMessage?: string | undefined;
362
456
  helpText?: string;
457
+ /** Toggles the visibility of the password */
363
458
  hasShowPassword?: boolean;
364
459
  defaultValue?: string;
365
460
  }
366
461
  declare const LabeledPasswordInput: React$1.ForwardRefExoticComponent<Omit<Omit<PasswordInputProps, "ref"> & React$1.RefAttributes<HTMLInputElement> & LabelProps, "ref"> & React$1.RefAttributes<any>>;
367
462
 
368
463
  interface SelectProps<OptionType extends SelectOption> extends Props$4<OptionType> {
464
+ /** Options for the select component */
369
465
  options: OptionType[];
466
+ /** The label for the select component */
370
467
  label?: string;
468
+ /** The name of the select component */
371
469
  name?: string;
470
+ /** Toggles the visibility of the label */
372
471
  hasHiddenLabel?: boolean;
472
+ /** Additional CSS class for the select component */
473
+ className?: string;
474
+ /** The prefix to use for the CSS class names. Changing this will result in losing all default styles */
475
+ classNamePrefix?: string;
476
+ /** Event handler for when the selected value changes */
477
+ onChange?: (newValue: any, actionMeta: any) => void;
373
478
  }
374
479
  declare const LabeledSelect: React$1.ForwardRefExoticComponent<SelectProps<SelectOption> & LabelProps & React$1.RefAttributes<any>>;
375
480
 
376
481
  interface DatePickerProps {
377
482
  ref?: React.LegacyRef<HTMLInputElement>;
483
+ /** The selected day(s). */
378
484
  selected?: Date | DateRange | undefined;
485
+ /** Event handler when a day is selected. */
379
486
  onSelect?: OnSelectHandler<Date> | OnSelectHandler<DateRange>;
487
+ /** Allows you to select a single day, a range of days, or multiple days. */
380
488
  mode?: Mode;
489
+ /** Accepts a CSS class name */
381
490
  className?: string;
491
+ /** The layout of the caption. Enables you to add or remove the dropdown navigation for months/years */
382
492
  captionLayout?: 'dropdown' | 'dropdown-months' | 'dropdown-years' | 'label';
383
493
  id?: string;
384
494
  month?: Date;
385
495
  defaultMonth?: Date;
386
496
  startMonth?: Date | undefined;
497
+ /** Whether to show the time picker. */
387
498
  hasTimePicker?: boolean;
499
+ /** The time value to display in the date picker. */
388
500
  timeValue?: string;
389
501
  endMonth?: Date;
390
502
  components?: Partial<CustomComponents>;
@@ -395,8 +507,11 @@ interface DatePickerProps {
395
507
  firstWeekContainsDate?: 1 | 4;
396
508
  today?: Date;
397
509
  isRequired?: any;
510
+ /** The minimum date that can be selected. */
398
511
  min?: number;
512
+ /** The maximum date that can be selected. */
399
513
  max?: number;
514
+ /** Callback when the time changes. */
400
515
  onTimeChange?: (time: string) => void;
401
516
  onMonthChange?: MonthChangeEventHandler;
402
517
  onNextClick?: MonthChangeEventHandler;
@@ -414,10 +529,15 @@ declare const DatePicker: (props: DatePickerProps) => react_jsx_runtime.JSX.Elem
414
529
 
415
530
  interface TimePickerProps {
416
531
  ref?: React.LegacyRef<HTMLInputElement>;
532
+ /** The time value to be displayed in the input field */
417
533
  timeValue?: string;
534
+ /** The label for the time picker */
418
535
  label?: string;
536
+ /** The name of the input field */
419
537
  name?: string;
538
+ /** Hides the input label in an accessible way (visually hides the label) */
420
539
  hasHiddenLabel?: boolean;
540
+ /** returns an object with the time and errors if they exist */
421
541
  onTimeChange?: (time: string) => void;
422
542
  className?: string;
423
543
  isReadOnly?: boolean;
@@ -428,33 +548,51 @@ interface TimePickerProps {
428
548
  declare const TimePicker: ({ ref, timeValue, label, name, hasHiddenLabel, onTimeChange, className, isDisabled, isReadOnly, tabIndex, ...rest }: TimePickerProps) => react_jsx_runtime.JSX.Element;
429
549
 
430
550
  interface Props$3 {
551
+ /** Allows you to select a single day, a range of days, or multiple days. */
431
552
  mode?: Mode;
553
+ /** A label for assistive technologies. */
432
554
  ariaLabel: string;
555
+ /** Disable dates before this date. */
433
556
  disableBeforeDate?: Date;
557
+ /** Disable dates after this date. */
434
558
  disableAfterDate?: Date;
559
+ /** Disable the date picker. */
435
560
  isDisabled?: boolean;
561
+ /** The id of the input field. */
436
562
  id: string;
563
+ /** The label for the input field. */
437
564
  label?: string;
565
+ /** Event handler when a day is selected. */
438
566
  onSelect?: (selected: Date | DateRange | undefined) => void;
439
567
  selected?: Date | DateRange | undefined;
568
+ /** The icon to use as a trigger. */
440
569
  triggerIcon: IconName;
570
+ /** The size of the trigger icon. */
441
571
  triggerIconSize: IconSizes;
572
+ /** Whether the date picker is open. */
442
573
  isOpen?: boolean;
574
+ /** Clear the selected date(s) when the date picker closes. */
443
575
  clearOnClose?: boolean;
576
+ /** Accepts a CSS class name */
444
577
  className?: string;
445
578
  initialMonth?: Date;
446
579
  'data-testid'?: string;
580
+ /** The portal options for the date picker. Follows floating-ui options. */
447
581
  portalOptions?: PortalOptions;
582
+ /** Whether the date picker is a portal. */
448
583
  isPortal?: boolean;
584
+ /** The floating options for the date picker. Follows floating-ui options. */
449
585
  floatingOptions?: UseFloatingOptions;
450
586
  }
451
587
  declare const IconTriggerDatePicker: (props: Props$3) => react_jsx_runtime.JSX.Element;
452
588
 
453
589
  interface SingleInputDatePickerProps {
590
+ /** A label for assistive technologies. */
454
591
  ariaLabel: string;
455
592
  disableBeforeDate?: Date;
456
593
  disableAfterDate?: Date;
457
594
  isDisabled?: boolean;
595
+ /** The layout of the caption. Enables you to add or remove the dropdown navigation for months/years */
458
596
  captionLayout?: 'dropdown' | 'dropdown-months' | 'dropdown-years' | 'label';
459
597
  id?: string;
460
598
  label?: string;
@@ -463,23 +601,30 @@ interface SingleInputDatePickerProps {
463
601
  selected?: Date;
464
602
  isOpen?: boolean;
465
603
  clearOnClose?: boolean;
604
+ /** Accepts a CSS class name */
466
605
  className?: string;
467
606
  inputIconName?: IconName;
468
607
  isClearable?: boolean;
469
608
  inputPlaceholder?: string;
470
609
  errorMessage?: string | undefined;
610
+ /** Whether the label is hidden. */
471
611
  hasHiddenLabel?: boolean;
472
612
  'data-testid'?: string;
613
+ /** The ref of the input field. */
473
614
  ref?: React.LegacyRef<HTMLInputElement>;
615
+ /** Whether the date picker is read only. */
474
616
  isReadOnly?: boolean;
617
+ /** The tab index of the input field. */
475
618
  tabIndex?: number;
476
619
  portalOptions?: PortalOptions;
477
620
  floatingOptions?: UseFloatingOptions;
621
+ /** Whether the date picker is a portal. */
478
622
  isPortal?: boolean;
479
623
  }
480
624
  declare function SingleInputDatePicker(props: SingleInputDatePickerProps): react_jsx_runtime.JSX.Element;
481
625
 
482
626
  interface InputDateRangePickerProps {
627
+ /** A label for assistive technologies. */
483
628
  ariaLabel: string;
484
629
  disableBeforeDate?: Date;
485
630
  disableAfterDate?: Date;
@@ -490,6 +635,7 @@ interface InputDateRangePickerProps {
490
635
  month?: Date;
491
636
  selected?: DateRange | undefined;
492
637
  isOpen?: boolean;
638
+ /** Whether the date picker is open. */
493
639
  setIsOpen?: React.Dispatch<React.SetStateAction<boolean>>;
494
640
  className?: string;
495
641
  inputIconName?: IconName;
@@ -497,24 +643,32 @@ interface InputDateRangePickerProps {
497
643
  toErrorMessage?: string | undefined;
498
644
  fromErrorMessage?: string | undefined;
499
645
  'data-testid'?: string;
646
+ /** The gutter width for the date picker. */
500
647
  gutterWidth?: number;
501
648
  fromLabel?: string;
502
649
  toLabel?: string;
503
650
  closeOnSelect?: boolean;
504
651
  clearOnClose?: boolean;
652
+ /** Whether the label is hidden. */
505
653
  hasHiddenLabel?: boolean;
654
+ /** The ref of the input field. */
506
655
  ref?: React.LegacyRef<HTMLInputElement>;
656
+ /** Whether the from input is read only. */
507
657
  isFromReadOnly?: boolean;
658
+ /** Whether the to input is read only. */
508
659
  isToReadOnly?: boolean;
509
660
  toTabIndex?: number;
661
+ /** The tab index of the from input field. */
510
662
  fromTabIndex?: number;
511
663
  portalOptions?: PortalOptions;
512
664
  floatingOptions?: UseFloatingOptions;
665
+ /** Whether the date picker is a portal. */
513
666
  isPortal?: boolean;
514
667
  }
515
668
  declare function InputDateRangePicker(props: InputDateRangePickerProps): react_jsx_runtime.JSX.Element;
516
669
 
517
670
  interface SingleInputDateTimePickerProps {
671
+ /** A label for assistive technologies. */
518
672
  ariaLabel: string;
519
673
  disableBeforeDate?: Date;
520
674
  disableAfterDate?: Date;
@@ -533,16 +687,24 @@ interface SingleInputDateTimePickerProps {
533
687
  inputPlaceholder?: string;
534
688
  errorMessage?: string | undefined;
535
689
  'data-testid'?: string;
690
+ /** Whether the label is hidden. */
536
691
  hasHiddenLabel?: boolean;
692
+ /** The time value to display. */
537
693
  timeValue?: string;
694
+ /** Callback function that is called when the time is changed. */
538
695
  onTimeChange?: (time: string) => void;
696
+ /** Whether the date picker is read only. */
539
697
  isReadOnly?: boolean;
698
+ /** The ref of the input field. */
540
699
  ref?: React.LegacyRef<HTMLInputElement>;
700
+ /** The ref of the time picker input field. */
541
701
  timePickerRef?: React.LegacyRef<HTMLInputElement>;
542
702
  dateTabIndex?: number;
703
+ /** The tab index of the time input field. */
543
704
  timeTabIndex?: number;
544
705
  portalOptions?: PortalOptions;
545
706
  floatingOptions?: UseFloatingOptions;
707
+ /** Whether the date picker is a portal. */
546
708
  isPortal?: boolean;
547
709
  }
548
710
  declare function SingleInputDateTimePicker(props: SingleInputDateTimePickerProps): react_jsx_runtime.JSX.Element;
@@ -562,33 +724,50 @@ interface FormProps {
562
724
  declare const Form: ({ children, onSubmit, action, method, target, autocomplete, noValidate, enctype, rel, ...rest }: FormProps) => react_jsx_runtime.JSX.Element;
563
725
 
564
726
  type Props$2 = {
727
+ /** Additional classes for the skeleton component */
565
728
  className?: string;
729
+ /** The height of the skeleton component, either in px (number) or a generic string (e.g. "20px", "50%", "100%") */
566
730
  height?: number | string;
731
+ /** The width of the skeleton component, either in px (number) or a generic string (e.g. "20px", "50%", "100%") */
567
732
  width?: number | string;
733
+ /** Sets the skeleton component to be a circle */
568
734
  isCircle?: boolean;
735
+ /** Sets the skeleton component to be full height */
569
736
  isFullHeight?: boolean;
570
737
  };
571
738
  declare const Skeleton: ({ className, height, width, isCircle, isFullHeight, ...rest }: Props$2) => react_jsx_runtime.JSX.Element;
572
739
 
573
740
  type Props$1 = {
741
+ /** Additional classes for the card component */
574
742
  className?: string;
743
+ /** The content of the card */
575
744
  children: React$1.ReactNode;
745
+ /** The title of the card */
576
746
  title?: string;
747
+ /** The subtitle of the card */
577
748
  subtitle?: string;
749
+ /** Adds a box shadow to the card */
578
750
  hasBoxShadow?: boolean;
579
751
  };
580
752
  declare const Card: React$1.FC<Props$1>;
581
753
 
582
754
  type FloatUIProps = {
755
+ /** An array of exactly two elements: the first element is the trigger that opens the FloatUI, and the second element is the content displayed within the FloatUI. */
583
756
  children: [ReactElement, ReactElement];
757
+ /** Sets the aria-label attribute for the FloatUI. */
584
758
  ariaLabel: string;
759
+ /** Options for configuring the floating UI behavior. For more, see the [floating-ui docs](https://floating-ui.com/docs/useFloating#options). */
585
760
  floatingOptions?: UseFloatingOptions;
761
+ /** Controls the visibility of the FloatUI (for controlled mode). */
586
762
  isOpen?: boolean;
587
763
  className?: string;
764
+ /** Controls whether the FloatUI content is rendered as a portal (i.e. rendered outside the app root and into the body) */
588
765
  isPortal?: boolean;
766
+ /** Options for configuring the portal behavior. Includes the rootId, which is the id of the root element to render the portal into. */
589
767
  portalOptions?: {
590
768
  rootId?: string;
591
769
  };
770
+ /** Function to toggle the visibility of the FloatUI (for controlled mode). */
592
771
  setIsOpen?: React.Dispatch<React.SetStateAction<boolean>>;
593
772
  };
594
773
 
@@ -596,6 +775,7 @@ declare function FloatUI({ children, ariaLabel, isOpen: controlledIsOpen, setIsO
596
775
 
597
776
  type MenuProps = {
598
777
  children: React$1.ReactNode;
778
+ /** The class name to apply to the Menu component. */
599
779
  className?: string;
600
780
  };
601
781
  declare function Menu({ children, className, ...rest }: MenuProps): react_jsx_runtime.JSX.Element;
@@ -604,32 +784,52 @@ declare const Pill: ({ children, className, color, size, ...rest }: PillProps) =
604
784
 
605
785
  type BadgeSizes = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
606
786
  interface BadgeProps {
787
+ /** Additional classes for the badge component */
607
788
  className?: string;
789
+ /** The content of the badge (superseded by the string prop) */
608
790
  children?: React.ReactNode;
791
+ /** The string to display in the badge. (supersedes children prop) */
609
792
  string?: string;
793
+ /** The size of the badge */
610
794
  size?: BadgeSizes;
611
795
  }
612
796
 
613
797
  declare const Badge: ({ className, children, size, string, ...rest }: BadgeProps) => react_jsx_runtime.JSX.Element;
614
798
 
615
799
  interface ModalProps {
800
+ /** Additional classes for the badge component */
616
801
  className?: string;
802
+ /** The content of the badge (superseded by the string prop) */
617
803
  children?: React.ReactNode;
804
+ /** Whether the modal is open */
618
805
  isOpen: boolean;
806
+ /** Callback function to be called when the modal is closed */
619
807
  onRequestClose?: () => void;
808
+ /** Additional classes for the portal element */
620
809
  portalClassName?: string;
810
+ /** Additional classes for the overlay element */
621
811
  overlayClassName?: string;
812
+ /** The element to use as the app element */
622
813
  appElement?: HTMLElement;
814
+ /** Whether the modal should close when the overlay is clicked */
623
815
  shouldCloseOnOverlayClick?: boolean;
816
+ /** Whether the modal should close when the escape key is pressed */
624
817
  shouldCloseOnEsc?: boolean;
625
818
  testId?: string;
819
+ /** Custom content element for the modal */
626
820
  contentElement?: (props: any, children: React.ReactNode) => React.ReactElement;
821
+ /** Custom overlay element for the modal */
627
822
  overlayElement?: (props: any, contentElement: React.ReactElement) => React.ReactElement;
823
+ /** The position of the modal opens on the page */
628
824
  position?: 'top' | 'center';
629
825
  parentSelector?: () => HTMLElement;
826
+ /** The title of the modal */
630
827
  title?: string;
828
+ /** The subtitle of the modal */
631
829
  subtitle?: string;
830
+ /** The footer of the modal. It accepts a React Component */
632
831
  footer?: React.ReactNode;
832
+ /** The maximum width of the modal in pixels */
633
833
  maxWidthInPixels?: number;
634
834
  }
635
835
  interface ConfirmationModalProps extends ModalProps {
@@ -637,11 +837,17 @@ interface ConfirmationModalProps extends ModalProps {
637
837
  dontShowAgain?: boolean;
638
838
  }) => void | Promise<void> | Promise<boolean>;
639
839
  onCancelRequest?: () => void | Promise<void> | Promise<boolean>;
840
+ /** Whether the modal should have a checkbox to not show again */
640
841
  hasDontShowAgainCheckbox?: boolean;
842
+ /** The variant of the confirmation button. */
641
843
  confirmationButtonVariant?: ButtonVariants;
844
+ /** The text of the confirmation button */
642
845
  confirmationButtonText?: string;
846
+ /** The text of the cancel button */
643
847
  cancelButtonText?: string;
848
+ /** The icon of the modal */
644
849
  icon?: IconName;
850
+ /** The status of the modal. This will determine the color of the icon. */
645
851
  status?: 'info' | 'success' | 'error';
646
852
  }
647
853
 
@@ -650,10 +856,15 @@ declare const Modal: ({ className, children, isOpen, onRequestClose, portalClass
650
856
  declare const ConfirmationModal: ({ className, overlayClassName, testId, isOpen, onRequestClose, portalClassName, appElement, parentSelector, shouldCloseOnOverlayClick, shouldCloseOnEsc, contentElement, overlayElement, footer, children, onConfirmRequest, onCancelRequest, confirmationButtonText, cancelButtonText, confirmationButtonVariant, icon, title, status, maxWidthInPixels, hasDontShowAgainCheckbox, }: ConfirmationModalProps) => react_jsx_runtime.JSX.Element;
651
857
 
652
858
  type WithPaginationProps = {
859
+ /** Number of rows to display per pagination page. */
653
860
  rowsPerPage: number;
861
+ /** Total number of rows in the table. */
654
862
  rowCount: number;
863
+ /** Callback when the page changes. */
655
864
  onChangePage: (page: number) => void;
865
+ /** Current page number. */
656
866
  currentPage: number;
867
+ /** Text to display for the total number of entries. */
657
868
  totalEntriesText?: string;
658
869
  showPagination: true;
659
870
  };
@@ -667,33 +878,53 @@ type WithoutPaginationProps = {
667
878
  };
668
879
  type PaginationProps$1 = WithPaginationProps | WithoutPaginationProps;
669
880
  type Props<T extends object> = {
881
+ /** Array of data items. These are the items that will be displayed in the table cell. */
670
882
  data: T[];
883
+ /** Striped rows */
671
884
  isStriped?: boolean;
885
+ /** Column definitions including an `id` field. This is how you define your table structure. */
672
886
  columns: ColumnDef<T & {
673
887
  id: string;
674
888
  }>[];
889
+ /** Additional option for class names. */
675
890
  className?: string;
891
+ /** class name for styling the action bar. */
676
892
  actionBarClassName?: string;
893
+ /** Component for table actions with selected items. */
677
894
  TableActions?: React.ComponentType<{
678
895
  selectedItems: Row$1<any>[];
679
896
  unselectRows: () => void;
680
897
  }>;
898
+ /** Error state of the table. */
681
899
  error?: {
682
900
  hasError: boolean;
683
901
  errorMessage?: string;
684
902
  };
903
+ /** Enables row selection or defines selection conditions. */
685
904
  enableRowSelection?: boolean | ((row: Row$1<T>) => boolean);
905
+ /** Function to clear applied filters. */
686
906
  clearFilters?: () => void;
907
+ /** Indicates if filters are applied. */
687
908
  hasFilters?: boolean;
909
+ /** When this is true, the table is considered to be in a loading state. */
688
910
  isLoading?: boolean;
911
+ /** Message to display when the table is loading. */
689
912
  isLoadingMessage?: string;
913
+ /** Columns that are pinned by default. */
690
914
  defaultPinnedColumns?: string[];
915
+ /** Callback when a row is clicked. */
691
916
  onClickRow?: ((row: Row$1<T>) => void) | null;
917
+ /** Callback when a row is clicked. */
692
918
  onRowClick?: (row: T) => void;
919
+ /** Array of active rows. */
693
920
  activeRows?: string[];
921
+ /** Row selection state. */
694
922
  rowSelection?: Record<string, boolean>;
923
+ /** Callback when a row is selected. */
695
924
  onRowSelectionChange?: (updater: Record<string, boolean>) => void;
925
+ /** Callback when all rows are selected. */
696
926
  onSelectAllChange?: (isSelected: boolean) => void;
927
+ /** You may pass a default sorting state to the table. This will be used to sort the table by default. This is useful if you want to sort the table by a column by default. */
697
928
  defaultSorting?: SortingState;
698
929
  } & PaginationProps$1;
699
930
 
@@ -703,27 +934,39 @@ declare function TanstackTable<T extends object>({ columns: defaultColumns, data
703
934
 
704
935
  interface TooltipProps {
705
936
  id: string;
937
+ /** Whether the tooltip should be shown on click */
706
938
  clickToShow?: boolean;
939
+ /** The delay in milliseconds before the tooltip is shown */
707
940
  delayShow?: number;
941
+ /** The delay in milliseconds before the tooltip is hidden */
708
942
  delayHide?: number;
709
943
  children: React.ReactNode;
944
+ /** This is an override for the z-index of the tooltip */
710
945
  zIndex?: number;
946
+ /** The placement of the tooltip */
711
947
  place?: PlacesType;
948
+ /** The content of the tooltip */
712
949
  [key: string]: any;
713
950
  }
714
951
  declare const Tooltip: ({ id, clickToShow, delayShow, delayHide, children, zIndex, place, ...rest }: TooltipProps) => react_jsx_runtime.JSX.Element;
715
952
 
716
953
  interface PaginationProps {
954
+ /** The total number of pages to be displayed */
717
955
  totalPages: number;
956
+ /** The current page displayed in the input field. */
718
957
  currentPage?: number;
958
+ /** The css class name for the pagination component */
719
959
  className?: string;
960
+ /** The callback function that is called when the page changes. */
720
961
  onChange?: (value: number) => void;
721
962
  }
722
963
 
723
964
  declare const Pagination: ({ totalPages, currentPage, onChange, className, ...rest }: PaginationProps) => react_jsx_runtime.JSX.Element;
724
965
 
725
966
  interface CirclePulseProps {
967
+ /** The size of the circle */
726
968
  size?: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
969
+ /** The class name of the circle pulse */
727
970
  className?: string;
728
971
  [key: string]: any;
729
972
  }
@@ -731,25 +974,38 @@ declare function CirclePulse({ size, className, ...rest }: CirclePulseProps): re
731
974
 
732
975
  declare function BarSpinner({ width, id, height, className, ...rest }: {
733
976
  'data-testid'?: string;
977
+ /** The width of the bar spinner */
734
978
  width?: number;
979
+ /** The id of the tooltip. This needs to match the element that holds it's data attribute */
735
980
  id?: string;
981
+ /** The height of the bar spinner */
736
982
  height?: number;
983
+ /** The class name of the bar spinner */
737
984
  className?: string;
738
985
  [key: string]: any;
739
986
  }): react_jsx_runtime.JSX.Element;
740
987
 
741
988
  interface StepperProps {
989
+ /** An array of step objects that define the stepper navigation. */
742
990
  steps: Step[];
743
991
  currentStep?: number;
992
+ /** The header content for the legend. */
744
993
  legendHeader?: ReactNode;
994
+ /** The footer content for the legend. */
745
995
  legendFooter?: ReactNode;
996
+ /** The function to call when the back button is clicked. */
746
997
  onBackClick: () => void;
998
+ /** The function to call when the next button is clicked. */
747
999
  onNextClick: () => void;
1000
+ /** The function to call when the finish button is clicked. */
748
1001
  onFinishClick: () => void;
1002
+ /** Any item passed to this component as a child will be rendered as a step. */
749
1003
  children: React.ReactNode;
1004
+ /** The function to call when a step is clicked ont he legend. */
750
1005
  onStepClick: (step: number) => void;
751
1006
  }
752
1007
  interface Step {
1008
+ /** Display text for the step in the sidebar/legend */
753
1009
  label: string;
754
1010
  isCompleted?: boolean;
755
1011
  isNextDisabled?: boolean;
@@ -760,9 +1016,13 @@ interface Step {
760
1016
  declare const Stepper: ({ currentStep: externalCurrentStep, legendHeader, legendFooter, steps, onBackClick, onNextClick, onFinishClick, children, onStepClick, }: StepperProps) => react_jsx_runtime.JSX.Element;
761
1017
 
762
1018
  interface TruncateProps {
1019
+ /** The number of lines to truncate the text to. If left blank, it will default to 1 line. */
763
1020
  lineClamp?: number;
1021
+ /** The string to truncate. This value will also be displayed in the tooltip when the text is truncated. */
764
1022
  truncateString: string;
1023
+ /** Whether to show the tooltip. If left blank, it will default to true. If set to false, the tooltip will not be shown. */
765
1024
  hasTooltip?: boolean;
1025
+ /** The id of the tooltip. If an ID is not provided, it will generate one from uuid */
766
1026
  tooltipId?: string;
767
1027
  [key: string]: any;
768
1028
  }