@drivenets/design-system 0.7.2 → 0.8.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 (87) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/index.cjs +4489 -3807
  3. package/dist/index.d.cts +1269 -990
  4. package/dist/index.d.cts.map +1 -1
  5. package/dist/index.d.ts +1269 -990
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4490 -3814
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.css +1 -1
  10. package/package.json +19 -20
  11. package/src/components/ds-autocomplete/ds-autocomplete.module.scss +1 -1
  12. package/src/components/ds-autocomplete/ds-autocomplete.tsx +13 -8
  13. package/src/components/ds-autocomplete/ds-autocomplete.types.ts +2 -1
  14. package/src/components/ds-comment-bubble/ds-comment-bubble.module.scss +6 -2
  15. package/src/components/ds-comment-bubble/ds-comment-bubble.tsx +22 -15
  16. package/src/components/ds-comment-bubble/ds-comment-bubble.types.ts +1 -0
  17. package/src/components/ds-date-input/ds-date-input.tsx +3 -4
  18. package/src/components/ds-date-input/ds-date-input.types.ts +3 -1
  19. package/src/components/ds-date-input/index.ts +10 -0
  20. package/src/components/ds-date-picker/components/calendar-table.module.scss +93 -0
  21. package/src/components/ds-date-picker/components/calendar-view-control/calendar-view-control.module.scss +48 -0
  22. package/src/components/ds-date-picker/components/calendar-view-control/calendar-view-control.tsx +20 -0
  23. package/src/components/ds-date-picker/components/calendar-view-control/index.ts +1 -0
  24. package/src/components/ds-date-picker/components/day-view/day-view.module.scss +12 -0
  25. package/src/components/ds-date-picker/components/day-view/day-view.tsx +45 -0
  26. package/src/components/ds-date-picker/components/day-view/index.ts +1 -0
  27. package/src/components/ds-date-picker/components/month-view/index.ts +1 -0
  28. package/src/components/ds-date-picker/components/month-view/month-view.module.scss +4 -0
  29. package/src/components/ds-date-picker/components/month-view/month-view.tsx +35 -0
  30. package/src/components/ds-date-picker/components/year-view/index.ts +1 -0
  31. package/src/components/ds-date-picker/components/year-view/year-view.module.scss +4 -0
  32. package/src/components/ds-date-picker/components/year-view/year-view.tsx +35 -0
  33. package/src/components/ds-date-picker/ds-date-picker.module.scss +19 -0
  34. package/src/components/ds-date-picker/ds-date-picker.tsx +209 -0
  35. package/src/components/ds-date-picker/ds-date-picker.types.ts +94 -0
  36. package/src/components/ds-date-picker/ds-date-picker.utils.ts +87 -0
  37. package/src/components/ds-date-picker/ds-date-picker.utils.unit.test.ts +226 -0
  38. package/src/components/ds-date-picker/index.ts +2 -0
  39. package/src/components/ds-date-range-picker/ds-date-range-picker.module.scss +20 -0
  40. package/src/components/ds-date-range-picker/ds-date-range-picker.tsx +101 -0
  41. package/src/components/ds-date-range-picker/ds-date-range-picker.types.ts +95 -0
  42. package/src/components/ds-date-range-picker/ds-date-range-picker.utils.ts +19 -0
  43. package/src/components/ds-date-range-picker/ds-date-range-picker.utils.unit.test.ts +48 -0
  44. package/src/components/ds-date-range-picker/index.ts +9 -0
  45. package/src/components/ds-file-upload/ds-file-upload-api.types.ts +1 -0
  46. package/src/components/ds-file-upload/hooks/use-file-upload.ts +1 -1
  47. package/src/components/ds-file-upload/index.ts +6 -1
  48. package/src/components/ds-file-upload/utils/file-factory.ts +1 -0
  49. package/src/components/ds-file-upload/utils/file-factory.unit.test.ts +37 -0
  50. package/src/components/ds-form-control/ds-form-control.tsx +5 -0
  51. package/src/components/ds-key-value-pair/ds-key-value-pair.module.scss +72 -0
  52. package/src/components/ds-key-value-pair/ds-key-value-pair.tsx +47 -0
  53. package/src/components/ds-key-value-pair/ds-key-value-pair.types.ts +24 -0
  54. package/src/components/ds-key-value-pair/index.ts +3 -0
  55. package/src/components/ds-loader/ds-loader.tsx +1 -1
  56. package/src/components/ds-status-badge/ds-status-badge.module.scss +1 -1
  57. package/src/components/ds-table/components/ds-table-body-virtualized/ds-table-body-virtualized.tsx +14 -7
  58. package/src/components/ds-table/components/ds-table-body-virtualized/ds-table-body-virtualized.types.ts +5 -3
  59. package/src/components/ds-table/components/ds-table-row/ds-table-row.tsx +5 -3
  60. package/src/components/ds-table/components/ds-table-row/ds-table-row.types.ts +4 -0
  61. package/src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.tsx +2 -1
  62. package/src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.types.ts +1 -0
  63. package/src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.tsx +5 -2
  64. package/src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.types.ts +4 -2
  65. package/src/components/ds-table/ds-table.tsx +4 -1
  66. package/src/components/ds-time-picker/components/time-item/index.ts +1 -0
  67. package/src/components/ds-time-picker/components/time-item/time-item.module.scss +37 -0
  68. package/src/components/ds-time-picker/components/time-item/time-item.tsx +26 -0
  69. package/src/components/ds-time-picker/components/time-item/time-item.types.ts +10 -0
  70. package/src/components/ds-time-picker/components/time-scroller/index.ts +2 -0
  71. package/src/components/ds-time-picker/components/time-scroller/time-scroller.module.scss +25 -0
  72. package/src/components/ds-time-picker/components/time-scroller/time-scroller.tsx +61 -0
  73. package/src/components/ds-time-picker/components/time-scroller/time-scroller.types.ts +17 -0
  74. package/src/components/ds-time-picker/components/time-scroller/time-scroller.utils.ts +44 -0
  75. package/src/components/ds-time-picker/ds-time-picker.tsx +158 -0
  76. package/src/components/ds-time-picker/ds-time-picker.types.ts +48 -0
  77. package/src/components/ds-time-picker/ds-time-picker.utils.ts +176 -0
  78. package/src/components/ds-time-picker/ds-time-picker.utils.unit.test.ts +316 -0
  79. package/src/components/ds-time-picker/index.ts +3 -0
  80. package/src/components/ds-tooltip/ds-tooltip.module.scss +1 -7
  81. package/src/components/ds-tooltip/ds-tooltip.tsx +9 -9
  82. package/src/components/ds-tooltip/ds-tooltip.types.ts +7 -1
  83. package/src/index.ts +4 -0
  84. package/src/styles/_root_updated.scss +593 -0
  85. package/src/styles/shared/_dropdown.scss +4 -1
  86. package/src/utils/use-controlled.browser.test.ts +79 -0
  87. package/src/utils/use-controlled.ts +18 -0
package/dist/index.d.cts CHANGED
@@ -1,8 +1,9 @@
1
1
  import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
  import * as react from "react";
3
- import React$1, { CSSProperties, ComponentPropsWithoutRef, ComponentType, FC, FunctionComponent, HTMLAttributes, KeyboardEvent, MouseEvent, PropsWithChildren, ReactNode, Ref, SVGProps } from "react";
3
+ import React, { CSSProperties, ComponentPropsWithoutRef, ComponentType, FC, FunctionComponent, HTMLAttributes, KeyboardEvent, MouseEvent, PropsWithChildren, ReactNode, Ref, RefObject, SVGProps } from "react";
4
4
  import { Root } from "@radix-ui/react-checkbox";
5
5
  import { DatePickerRootProps } from "@ark-ui/react/date-picker";
6
+ import { PopoverContentProps } from "@ark-ui/react/popover";
6
7
  import { UseDialogProps } from "@ark-ui/react/dialog";
7
8
  import { Menu } from "@ark-ui/react/menu";
8
9
  import * as _ark_ui_react0 from "@ark-ui/react";
@@ -6354,7 +6355,7 @@ interface DsAlertBannerProps {
6354
6355
  /**
6355
6356
  * Additional styles to apply to the component
6356
6357
  */
6357
- style?: React$1.CSSProperties;
6358
+ style?: React.CSSProperties;
6358
6359
  /**
6359
6360
  * Optional children to be rendered inside the component (typically action buttons)
6360
6361
  */
@@ -6440,7 +6441,7 @@ interface DsAutocompleteProps {
6440
6441
  /**
6441
6442
  * Additional styles to apply to the component
6442
6443
  */
6443
- style?: React$1.CSSProperties;
6444
+ style?: React.CSSProperties;
6444
6445
  /**
6445
6446
  * Additional CSS class names
6446
6447
  */
@@ -6486,9 +6487,10 @@ interface DsAutocompleteProps {
6486
6487
  /**
6487
6488
  * Content to display at the start of the input (e.g., a search icon).
6488
6489
  */
6489
- startAdornment?: React$1.ReactNode;
6490
+ startAdornment?: React.ReactNode;
6490
6491
  /**
6491
- * Event handler called when the value changes (when an option is selected)
6492
+ * Event handler called when the value changes.
6493
+ * Fires with the selected option's value, or an empty string when cleared.
6492
6494
  */
6493
6495
  onValueChange?: (value: string) => void;
6494
6496
  /**
@@ -6638,7 +6640,7 @@ interface DsBreadcrumbProps {
6638
6640
  /**
6639
6641
  * Design system Breadcrumb component
6640
6642
  */
6641
- declare const DsBreadcrumb: React$1.FC<DsBreadcrumbProps>;
6643
+ declare const DsBreadcrumb: React.FC<DsBreadcrumbProps>;
6642
6644
  //#endregion
6643
6645
  //#region src/components/ds-button/versions/ds-button-legacy/ds-button-legacy.types.d.ts
6644
6646
  declare const buttonSchemas: readonly ["primary", "secondary", "error"];
@@ -6647,7 +6649,7 @@ declare const buttonVariants$1: readonly ["filled", "ghost", "borderless", "roun
6647
6649
  type ButtonVariant$1 = (typeof buttonVariants$1)[number];
6648
6650
  declare const buttonSizes$1: readonly ["large", "medium", "small"];
6649
6651
  type ButtonSize$1 = (typeof buttonSizes$1)[number];
6650
- interface DsButtonProps$1 extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
6652
+ interface DsButtonProps$1 extends React.ButtonHTMLAttributes<HTMLButtonElement> {
6651
6653
  /**
6652
6654
  * Color schema of the button
6653
6655
  * @default 'primary'
@@ -6681,7 +6683,7 @@ declare const buttonVariants: readonly ["filled", "ghost", "danger", "dark"];
6681
6683
  type ButtonVariant = (typeof buttonVariants)[number];
6682
6684
  declare const buttonSizes: readonly ["large", "medium", "small", "tiny"];
6683
6685
  type ButtonSize = (typeof buttonSizes)[number];
6684
- interface DsButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
6686
+ interface DsButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
6685
6687
  /**
6686
6688
  * Type of the button
6687
6689
  * @default 'primary'
@@ -6851,7 +6853,7 @@ interface DsCheckboxProps extends ComponentPropsWithoutRef<typeof Root> {
6851
6853
  /**
6852
6854
  * Design system Checkbox component
6853
6855
  */
6854
- declare const DsCheckbox: React$1.FC<DsCheckboxProps>;
6856
+ declare const DsCheckbox: React.FC<DsCheckboxProps>;
6855
6857
  //#endregion
6856
6858
  //#region src/components/ds-chip/ds-chip.types.d.ts
6857
6859
  /**
@@ -6914,7 +6916,7 @@ interface DsChipProps {
6914
6916
  * @deprecated This component is deprecated. Use `DsTag` instead.
6915
6917
  * @see {@link ../ds-tag} for the replacement component.
6916
6918
  */
6917
- declare const DsChip: React$1.FC<DsChipProps>;
6919
+ declare const DsChip: React.FC<DsChipProps>;
6918
6920
  //#endregion
6919
6921
  //#region src/components/ds-chip-group/ds-chip-group.types.d.ts
6920
6922
  /**
@@ -6980,7 +6982,7 @@ interface DsChipGroupProps {
6980
6982
  * @deprecated This component is deprecated. Use `DsTagFilter` instead.
6981
6983
  * @see {@link ../ds-tag-filter} for the replacement component.
6982
6984
  */
6983
- declare const DsChipGroup: React$1.FC<DsChipGroupProps>;
6985
+ declare const DsChipGroup: React.FC<DsChipGroupProps>;
6984
6986
  //#endregion
6985
6987
  //#region src/components/ds-comment-card/ds-comment-card.types.d.ts
6986
6988
  interface CommentAuthor {
@@ -7047,6 +7049,7 @@ interface DsCommentBubbleProps {
7047
7049
  ref?: Ref<HTMLDivElement>;
7048
7050
  comment?: CommentData;
7049
7051
  currentUser?: CommentAuthor;
7052
+ hideActionRequired?: boolean;
7050
7053
  actionRequired?: boolean;
7051
7054
  onActionRequiredChange?: (checked: boolean) => void;
7052
7055
  value?: string;
@@ -7073,6 +7076,7 @@ declare const DsCommentBubble: ({
7073
7076
  ref,
7074
7077
  comment,
7075
7078
  currentUser,
7079
+ hideActionRequired,
7076
7080
  actionRequired,
7077
7081
  onActionRequiredChange,
7078
7082
  value,
@@ -7407,16 +7411,17 @@ type DsDateInputBaseProps = Pick<DatePickerRootProps, 'disabled' | 'readOnly' |
7407
7411
  hideClearButton?: boolean;
7408
7412
  };
7409
7413
  /**
7410
- * Props for the DsDateInput component
7414
+ * @deprecated DsDateInput is deprecated. Use DsDatePicker or DsDateRangePicker instead.
7415
+ * @see {@link ../ds-date-picker} for single date selection.
7416
+ * @see {@link ../ds-date-range-picker} for date range selection.
7411
7417
  */
7412
7418
  type DsDateInputProps = DsDateInputBaseProps & DsDateInputRangeProps;
7413
7419
  //#endregion
7414
7420
  //#region src/components/ds-date-input/ds-date-input.d.ts
7415
7421
  /**
7416
- * Design system date input component with integrated calendar picker.
7417
- *
7418
- * Supports both single date and date range selection with a single text input field.
7419
- * Features built-in validation, manual text entry, and calendar selection.
7422
+ * @deprecated DsDateInput is deprecated. Use DsDatePicker or DsDateRangePicker instead.
7423
+ * @see {@link ../ds-date-picker} for single date selection.
7424
+ * @see {@link ../ds-date-range-picker} for date range selection.
7420
7425
  */
7421
7426
  declare const DsDateInput: ({
7422
7427
  range,
@@ -7437,1360 +7442,1598 @@ declare const DsDateInput: ({
7437
7442
  ...datePickerProps
7438
7443
  }: DsDateInputProps) => react_jsx_runtime0.JSX.Element;
7439
7444
  //#endregion
7440
- //#region src/components/ds-dialog/ds-dialog.types.d.ts
7441
- interface DsDialogProps {
7445
+ //#region src/components/ds-text-input/ds-text-input.types.d.ts
7446
+ declare const textInputSizes: readonly ["small", "default"];
7447
+ type TextInputSize = (typeof textInputSizes)[number];
7448
+ interface DsTextInputProps {
7442
7449
  /**
7443
- * Controls whether the dialog is open.
7450
+ * Unique identifier for the input field
7444
7451
  */
7445
- open: boolean;
7452
+ id?: string;
7446
7453
  /**
7447
- * Callback fired when the open state should change.
7454
+ * The ref to the input field
7448
7455
  */
7449
- onOpenChange?: (open: boolean) => void;
7456
+ ref?: React.Ref<HTMLInputElement>;
7450
7457
  /**
7451
- * The accessible title for the dialog. Required for accessibility.
7458
+ * The name of the input field
7452
7459
  */
7453
- title: string;
7460
+ name?: string;
7454
7461
  /**
7455
- * If true, the dialog title will be visually hidden but accessible to screen readers.
7462
+ * The size of the input field
7463
+ * @default default
7456
7464
  */
7457
- hideTitle?: boolean;
7465
+ size?: TextInputSize;
7458
7466
  /**
7459
- * The accessible description for the dialog. Optional, but recommended for accessibility.
7467
+ * The type of the input field
7468
+ * @default text
7460
7469
  */
7461
- description?: string;
7470
+ type?: string;
7462
7471
  /**
7463
- * If true, the dialog description will be visually hidden but accessible to screen readers.
7472
+ * Event handler called when the input field receives focus
7464
7473
  */
7465
- hideDescription?: boolean;
7474
+ onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
7466
7475
  /**
7467
- * The content to render inside the dialog.
7476
+ * Event handler called when the input field loses focus
7477
+ *
7478
+ * @param event
7468
7479
  */
7469
- children: React$1.ReactNode;
7480
+ onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
7470
7481
  /**
7471
- * Additional CSS class names for the dialog container.
7482
+ * Callback when a key is pressed down
7483
+ */
7484
+ onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
7485
+ /**
7486
+ * Callback when the value changes
7487
+ */
7488
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
7489
+ /**
7490
+ * Value change event handler (provides just the value)
7491
+ */
7492
+ onValueChange?: (value: string) => void;
7493
+ /**
7494
+ * Additional CSS class names
7472
7495
  */
7473
7496
  className?: string;
7474
7497
  /**
7475
- * Ref to the element the dialog should be anchored to (for relative placement)
7498
+ * Additional styles to apply to the component
7476
7499
  */
7477
- anchorRef?: React$1.RefObject<HTMLElement>;
7500
+ style?: React.CSSProperties;
7478
7501
  /**
7479
- * Custom fixed position (e.g., { top: number, left: number })
7502
+ * The placeholder text
7480
7503
  */
7481
- customPosition?: {
7482
- top: number;
7483
- left: number;
7484
- };
7504
+ placeholder?: string;
7485
7505
  /**
7486
- * If true, show modal overlay and center dialog (default: true)
7506
+ * The current value
7487
7507
  */
7488
- modal?: boolean;
7489
- }
7490
- //#endregion
7491
- //#region src/components/ds-dialog/ds-dialog.d.ts
7492
- declare const DsDialog: React$1.FC<DsDialogProps>;
7493
- //#endregion
7494
- //#region src/components/ds-divider/ds-divider.types.d.ts
7495
- interface DsDividerProps {
7508
+ value?: string;
7496
7509
  /**
7497
- * Controls orientation of the divider. Horizontal by default.
7510
+ * The minimum value of the input
7498
7511
  */
7499
- orientation?: 'horizontal' | 'vertical';
7512
+ min?: number | string;
7500
7513
  /**
7501
- * Underlying element/component to render.
7502
- * Examples: "hr", "div", "span", Link, etc.
7514
+ * The maximum value of the input
7503
7515
  */
7504
- component?: React$1.ElementType;
7516
+ max?: number | string;
7505
7517
  /**
7506
- * Additional CSS styles.
7518
+ * The minimum number of characters
7507
7519
  */
7508
- style?: React$1.CSSProperties;
7520
+ minLength?: number;
7509
7521
  /**
7510
- * Additional CSS classes.
7522
+ * The maximum number of characters
7523
+ */
7524
+ maxLength?: number;
7525
+ /**
7526
+ * The initial value of the input when rendered.
7527
+ * Use when you don't need to control the value of the input.
7528
+ */
7529
+ defaultValue?: string;
7530
+ /**
7531
+ * Whether the input is disabled
7532
+ */
7533
+ disabled?: boolean;
7534
+ /**
7535
+ * Whether the input is read only
7536
+ */
7537
+ readOnly?: boolean;
7538
+ /**
7539
+ * The tabIndex of the input
7511
7540
  */
7541
+ tabIndex?: number;
7542
+ slots?: {
7543
+ /**
7544
+ * Custom component to wrap the input element
7545
+ */
7546
+ inputWrapper?: ComponentType<{
7547
+ children: React.ReactNode;
7548
+ }>;
7549
+ /**
7550
+ * Adornment to display at the start of the input
7551
+ */
7552
+ startAdornment?: React.ReactNode;
7553
+ /**
7554
+ * Adornment to display at the end of the input
7555
+ */
7556
+ endAdornment?: React.ReactNode;
7557
+ };
7558
+ }
7559
+ //#endregion
7560
+ //#region src/components/ds-text-input/ds-text-input.d.ts
7561
+ declare const DsTextInput: FC<DsTextInputProps>;
7562
+ //#endregion
7563
+ //#region src/components/ds-time-picker/ds-time-picker.types.d.ts
7564
+ interface DsTimePickerProps {
7565
+ id?: string;
7566
+ ref?: RefObject<HTMLDivElement>;
7512
7567
  className?: string;
7568
+ value?: Date | null;
7569
+ defaultValue?: Date;
7570
+ open?: boolean;
7571
+ defaultOpen?: boolean;
7572
+ placeholder?: string;
7573
+ min?: Date;
7574
+ max?: Date;
7575
+ disabled?: boolean;
7576
+ readOnly?: boolean;
7577
+ /**
7578
+ * Whether to disable the portal for the popover content
7579
+ * @default false
7580
+ */
7581
+ disablePortal?: boolean;
7582
+ locale?: DsTimePickerLocale;
7583
+ slotProps?: DsTimePickerSlotProps;
7584
+ onChange?: (value: Date | null) => void;
7585
+ onOpenChange?: (open: boolean) => void;
7586
+ }
7587
+ interface DsTimePickerLocale {
7588
+ openLabel?: string;
7589
+ clearLabel?: string;
7590
+ hourLabel?: string;
7591
+ minuteLabel?: string;
7592
+ periodLabel?: string;
7593
+ }
7594
+ interface DsTimePickerSlotProps {
7595
+ input?: DsTextInputProps;
7596
+ popover?: PopoverContentProps;
7513
7597
  }
7514
7598
  //#endregion
7515
- //#region src/components/ds-divider/ds-divider.d.ts
7516
- declare const DsDivider: React$1.FC<DsDividerProps>;
7599
+ //#region src/components/ds-time-picker/ds-time-picker.d.ts
7600
+ declare const DsTimePicker: (props: DsTimePickerProps) => react_jsx_runtime0.JSX.Element;
7517
7601
  //#endregion
7518
- //#region src/components/ds-drawer/ds-drawer.types.d.ts
7519
- /**
7520
- * Available positions for the drawer
7521
- */
7522
- type DsDrawerPosition = 'start' | 'end';
7602
+ //#region src/components/ds-time-picker/ds-time-picker.utils.d.ts
7523
7603
  /**
7524
- * Available column sizes for drawer width
7604
+ * Format a Date to a 12-hour time string (hh:mm AM/PM)
7525
7605
  */
7526
- type DsDrawerColumns = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
7527
- interface DsDrawerProps extends Pick<UseDialogProps, 'closeOnEscape' | 'closeOnInteractOutside'> {
7606
+ declare const formatTime: (date?: Date | null) => string;
7607
+ //#endregion
7608
+ //#region src/components/ds-date-picker/ds-date-picker.types.d.ts
7609
+ interface DsDatePickerLocale {
7610
+ openCalendarLabel?: string;
7611
+ timeTriggerLabel?: string;
7612
+ clearLabel?: string;
7613
+ }
7614
+ interface DsDatePickerSlotProps {
7615
+ input?: DsTextInputProps;
7616
+ timePicker?: DsTimePickerProps;
7617
+ }
7618
+ interface DsDatePickerProps extends Pick<DatePickerRootProps, 'disabled' | 'readOnly' | 'id' | 'open' | 'name'> {
7528
7619
  /**
7529
- * Whether the drawer is open
7620
+ * Controlled value as Date object.
7621
+ * `null` means the date is empty.
7622
+ * `undefined` means value is not provided, so component will be uncontrolled.
7530
7623
  */
7531
- open: boolean;
7624
+ value?: Date | null;
7532
7625
  /**
7533
- * Callback when the drawer open state changes
7626
+ * Default value for uncontrolled mode
7534
7627
  */
7535
- onOpenChange: (open: boolean) => void;
7628
+ defaultValue?: Date;
7536
7629
  /**
7537
- * Number of grid columns the drawer should span (1-12)
7538
- * @default 4
7630
+ * Callback when the value changes
7631
+ * @param value - Date object or null when cleared
7539
7632
  */
7540
- columns?: DsDrawerColumns;
7633
+ onChange?: (value: Date | null) => void;
7541
7634
  /**
7542
- * Position of the drawer
7543
- * @default 'end'
7635
+ * Callback when the calendar open state changes
7544
7636
  */
7545
- position?: DsDrawerPosition;
7637
+ onOpenChange?: (open: boolean) => void;
7546
7638
  /**
7547
- * Whether to show backdrop overlay
7548
- * @default false
7639
+ * Minimum allowed datetime as Date object
7549
7640
  */
7550
- backdrop?: boolean;
7641
+ min?: Date;
7551
7642
  /**
7552
- * Whether to append the drawer to the body instead of rendering in place
7643
+ * Maximum allowed datetime as Date object
7644
+ */
7645
+ max?: Date;
7646
+ /**
7647
+ * Whether to show the time picker alongside the date picker
7553
7648
  * @default false
7554
7649
  */
7555
- portal?: boolean;
7650
+ withTime?: boolean;
7556
7651
  /**
7557
- * Additional CSS styles
7652
+ * Placeholder text for the input
7653
+ * @default 'mm/dd/yyyy'
7558
7654
  */
7559
- style?: CSSProperties;
7655
+ placeholder?: string;
7560
7656
  /**
7561
- * Additional CSS class names
7657
+ * Whether to close the calendar when a date is selected. This is ignored when withTime is true.
7658
+ * @default true
7562
7659
  */
7660
+ closeOnSelect?: boolean;
7563
7661
  className?: string;
7564
7662
  /**
7565
- * Children components
7663
+ * Whether to disable the portal for the calendar content
7664
+ * @default false
7566
7665
  */
7567
- children: ReactNode;
7666
+ disablePortal?: boolean;
7667
+ /**
7668
+ * Whether to hide the clear button
7669
+ * @default true
7670
+ */
7671
+ hideClearButton?: boolean;
7672
+ /**
7673
+ * Localizable aria-labels and text
7674
+ */
7675
+ locale?: DsDatePickerLocale;
7676
+ /**
7677
+ * Props forwarded to sub-component slots
7678
+ */
7679
+ slotProps?: DsDatePickerSlotProps;
7568
7680
  }
7569
7681
  //#endregion
7570
- //#region src/components/ds-drawer/ds-drawer.d.ts
7571
- /**
7572
- * Composable drawer component.
7573
- * Supports grid-based sizing, flexible positioning, and compound components.
7574
- * Use columns prop to control drawer width (1-12 grid columns).
7575
- */
7576
- declare const DsDrawer: {
7577
- ({
7578
- open,
7579
- onOpenChange,
7580
- columns,
7581
- position,
7582
- backdrop,
7583
- closeOnEscape,
7584
- closeOnInteractOutside,
7585
- portal,
7586
- style,
7587
- className,
7588
- children
7589
- }: DsDrawerProps): react_jsx_runtime0.JSX.Element;
7590
- Header: ({
7591
- style,
7592
- className,
7593
- children
7594
- }: {
7595
- style?: CSSProperties;
7596
- className?: string;
7597
- children: ReactNode;
7598
- }) => react_jsx_runtime0.JSX.Element;
7599
- Title: ({
7600
- style,
7601
- className,
7602
- children
7603
- }: {
7604
- style?: CSSProperties;
7605
- className?: string;
7606
- children: ReactNode;
7607
- }) => react_jsx_runtime0.JSX.Element;
7608
- CloseTrigger: ({
7609
- style,
7610
- className
7611
- }: {
7612
- style?: CSSProperties;
7613
- className?: string;
7614
- }) => react_jsx_runtime0.JSX.Element;
7615
- Toolbar: ({
7616
- style,
7617
- className,
7618
- children
7619
- }: {
7620
- style?: CSSProperties;
7621
- className?: string;
7622
- children: ReactNode;
7623
- }) => react_jsx_runtime0.JSX.Element;
7624
- Body: ({
7625
- style,
7626
- className,
7627
- children
7628
- }: {
7629
- style?: CSSProperties;
7630
- className?: string;
7631
- children: ReactNode;
7632
- }) => react_jsx_runtime0.JSX.Element;
7633
- Footer: ({
7634
- style,
7635
- className,
7636
- children
7637
- }: {
7638
- style?: CSSProperties;
7639
- className?: string;
7640
- children: ReactNode;
7641
- }) => react_jsx_runtime0.JSX.Element;
7642
- Actions: ({
7643
- style,
7644
- className,
7645
- children
7646
- }: {
7647
- style?: CSSProperties;
7648
- className?: string;
7649
- children: ReactNode;
7650
- }) => react_jsx_runtime0.JSX.Element;
7651
- };
7682
+ //#region src/components/ds-date-picker/ds-date-picker.d.ts
7683
+ declare const DsDatePicker: ({
7684
+ placeholder,
7685
+ className,
7686
+ withTime,
7687
+ closeOnSelect,
7688
+ disablePortal,
7689
+ hideClearButton,
7690
+ locale,
7691
+ slotProps,
7692
+ onChange,
7693
+ onOpenChange,
7694
+ value: _value,
7695
+ defaultValue: _defaultValue,
7696
+ min: _min,
7697
+ max: _max,
7698
+ disabled,
7699
+ readOnly,
7700
+ id,
7701
+ ...restProps
7702
+ }: DsDatePickerProps) => react_jsx_runtime0.JSX.Element;
7652
7703
  //#endregion
7653
- //#region src/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts
7654
- /**
7655
- * Base positioning type
7656
- */
7657
- type BasePositioning = NonNullable<Menu.RootProps['positioning']>;
7658
- /**
7659
- * Positioning options for dropdown menu
7660
- */
7661
- type DsDropdownMenuPositioning = Pick<BasePositioning, 'placement' | 'gutter' | 'sameWidth' | 'getAnchorRect'>;
7662
- /**
7663
- * DEPRECATED: Legacy dropdown menu option configuration
7664
- * Use compound component pattern instead
7665
- * @deprecated
7666
- */
7667
- interface DsDropdownMenuOptionLegacy {
7668
- /**
7669
- * Display label for the menu option
7670
- */
7671
- label: string;
7704
+ //#region src/components/ds-number-input/ds-number-input.types.d.ts
7705
+ interface DsNumberInputProps {
7672
7706
  /**
7673
- * Optional icon to display
7707
+ * Unique identifier for the input field
7674
7708
  */
7675
- icon?: IconType;
7709
+ id?: string;
7676
7710
  /**
7677
- * Whether this option is disabled
7711
+ * The ref to the input field
7678
7712
  */
7679
- disabled?: boolean;
7713
+ ref?: React.Ref<HTMLInputElement>;
7680
7714
  /**
7681
- * Click handler for the option
7715
+ * The name of the input field
7682
7716
  */
7683
- onClick?: (e: MouseEvent<HTMLElement>) => void;
7717
+ name?: string;
7684
7718
  /**
7685
- * Optional value for selection tracking
7719
+ * The size of the input field
7720
+ * @default default
7686
7721
  */
7687
- value?: string;
7688
- }
7689
- /**
7690
- * DEPRECATED: Legacy props for DsDropdownMenuLegacy component
7691
- * Use compound component pattern instead
7692
- * @deprecated
7693
- */
7694
- interface DsDropdownMenuLegacyProps {
7722
+ size?: 'small' | 'default';
7695
7723
  /**
7696
- * The options to be displayed in the dropdown menu
7724
+ * Event handler called when the input field loses focus
7725
+ *
7726
+ * @param event
7697
7727
  */
7698
- options: DsDropdownMenuOptionLegacy[];
7728
+ onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
7699
7729
  /**
7700
- * Optional children to be rendered inside the component
7701
- * Typically used for the trigger element
7730
+ * Callback when the value changes (native input onChange event)
7731
+ * This is provided for compatibility but onValueChange is preferred
7702
7732
  */
7703
- children?: ReactNode | undefined;
7733
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
7704
7734
  /**
7705
- * The gap between the trigger and dropdown content in pixels
7706
- * @default 0
7735
+ * Value change event handler (provides just the number value)
7736
+ * This is the preferred way to handle value changes
7707
7737
  */
7708
- contentGap?: number;
7738
+ onValueChange?: (value: number) => void;
7709
7739
  /**
7710
7740
  * Additional CSS class names
7711
7741
  */
7712
7742
  className?: string;
7713
7743
  /**
7714
- * Optional inline styles to apply to the component
7744
+ * Additional styles to apply to the component
7715
7745
  */
7716
- style?: CSSProperties;
7746
+ style?: React.CSSProperties;
7717
7747
  /**
7718
- * The alignment of the dropdown content
7719
- * @default 'center'
7748
+ * The placeholder text
7720
7749
  */
7721
- align?: 'start' | 'center' | 'end';
7750
+ placeholder?: string;
7722
7751
  /**
7723
- * The side of the dropdown content
7724
- * @default 'bottom'
7752
+ * Whether the number input is disabled
7725
7753
  */
7726
- side?: 'top' | 'right' | 'bottom' | 'left';
7754
+ disabled?: boolean;
7727
7755
  /**
7728
- * Whether to render in place instead of using portals
7729
- * @default false
7756
+ * The minimum value of the number input
7730
7757
  */
7731
- disablePortal?: boolean;
7758
+ min?: number | undefined;
7732
7759
  /**
7733
- * Whether to disable the search functionality
7734
- * @default false
7760
+ * The maximum value of the number input
7761
+ * @default Number.MAX_SAFE_INTEGER
7735
7762
  */
7736
- disableSearch?: boolean;
7763
+ max?: number | undefined;
7737
7764
  /**
7738
- * Currently selected value (for selection tracking)
7765
+ * The amount to increment or decrement the value by
7766
+ * @default 1
7739
7767
  */
7740
- selected?: string;
7768
+ step?: number | undefined;
7741
7769
  /**
7742
- * Callback when an option with a value is selected
7770
+ * The controlled value of the input
7743
7771
  */
7744
- onSelect?: (value: string) => void;
7772
+ value?: number | undefined;
7773
+ /**
7774
+ * The initial value of the input when rendered.
7775
+ * Use when you don't need to control the value of the input.
7776
+ */
7777
+ defaultValue?: number | undefined;
7745
7778
  }
7746
- /**
7747
- * Props for the DsDropdownMenu Root component
7748
- */
7749
- interface DsDropdownMenuRootProps {
7779
+ //#endregion
7780
+ //#region src/components/ds-number-input/ds-number-input.d.ts
7781
+ declare const DsNumberInput: FC<DsNumberInputProps>;
7782
+ //#endregion
7783
+ //#region src/components/ds-password-input/ds-password-input.types.d.ts
7784
+ interface DsPasswordInputProps {
7750
7785
  /**
7751
- * Whether the dropdown is open (controlled mode)
7786
+ * Unique identifier for the input field
7752
7787
  */
7753
- open?: boolean;
7788
+ id?: string;
7754
7789
  /**
7755
- * Callback when open state changes
7790
+ * The ref to the input field
7756
7791
  */
7757
- onOpenChange?: (open: boolean) => void;
7792
+ ref?: React.Ref<HTMLInputElement>;
7758
7793
  /**
7759
- * Callback when an item is selected
7794
+ * The name of the input field
7760
7795
  */
7761
- onSelect?: (value: string) => void;
7796
+ name?: string;
7762
7797
  /**
7763
- * Callback when the highlighted item changes
7798
+ * The size of the input field
7799
+ * @default default
7764
7800
  */
7765
- onHighlightChange?: (value: string | null) => void;
7801
+ size?: 'small' | 'default';
7766
7802
  /**
7767
- * Positioning options for the dropdown
7803
+ * Event handler called when the input field loses focus
7804
+ *
7805
+ * @param event
7768
7806
  */
7769
- positioning?: DsDropdownMenuPositioning;
7807
+ onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
7770
7808
  /**
7771
- * Prevents the menu from closing when any item is selected
7772
- * @default false
7809
+ * Callback when the value changes (native input onChange event)
7810
+ * This is provided for compatibility but onValueChange is preferred
7773
7811
  */
7774
- preventCloseOnSelect?: boolean;
7812
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
7775
7813
  /**
7776
- * Root content
7814
+ * Value change event handler (provides just the string value)
7815
+ * This is the preferred way to handle value changes
7777
7816
  */
7778
- children?: ReactNode;
7779
- }
7780
- /**
7781
- * Props for the DsDropdownMenu Trigger component
7782
- */
7783
- type DsDropdownMenuTriggerProps = Menu.TriggerProps;
7784
- /**
7785
- * Props for the DsDropdownMenu Content component
7786
- */
7787
- interface DsDropdownMenuContentProps extends Pick<Menu.ContentProps, 'className' | 'style' | 'children'> {
7817
+ onValueChange?: (value: string) => void;
7788
7818
  /**
7789
- * Whether to render in place instead of using portals
7790
- * @default false
7819
+ * Additional CSS class names
7791
7820
  */
7792
- disablePortal?: boolean;
7793
- }
7794
- /**
7795
- * Props for the DsDropdownMenu Item component
7796
- */
7797
- interface DsDropdownMenuItemProps extends Pick<Menu.ItemProps, 'disabled' | 'asChild' | 'className' | 'style' | 'onSelect' | 'onClick' | 'value' | 'children'> {
7821
+ className?: string;
7798
7822
  /**
7799
- * Whether the item is selected (applies selected styling)
7823
+ * Additional styles to apply to the component
7800
7824
  */
7801
- selected?: boolean;
7802
- }
7803
- /**
7804
- * Props for the DsDropdownMenu ItemIndicator component
7805
- */
7806
- interface DsDropdownMenuItemIndicatorProps {
7825
+ style?: React.CSSProperties;
7807
7826
  /**
7808
- * Custom content to render as the indicator (defaults to check icon)
7827
+ * The placeholder text
7809
7828
  */
7810
- children?: ReactNode;
7829
+ placeholder?: string;
7811
7830
  /**
7812
- * Optional CSS class name
7831
+ * The current value (for controlled usage)
7813
7832
  */
7814
- className?: string;
7833
+ value?: string;
7815
7834
  /**
7816
- * Optional inline styles
7835
+ * The initial value of the input when rendered.
7836
+ * Use when you don't need to control the value of the input.
7817
7837
  */
7818
- style?: CSSProperties;
7838
+ defaultValue?: string;
7839
+ /**
7840
+ * Whether the password input is disabled
7841
+ */
7842
+ disabled?: boolean;
7819
7843
  }
7820
- /**
7821
- * Props for the DsDropdownMenu Header component
7822
- */
7823
- interface DsDropdownMenuHeaderProps {
7844
+ //#endregion
7845
+ //#region src/components/ds-password-input/ds-password-input.d.ts
7846
+ declare const DsPasswordInput: FC<DsPasswordInputProps>;
7847
+ //#endregion
7848
+ //#region src/components/ds-textarea/ds-textarea.types.d.ts
7849
+ interface DsTextareaProps {
7824
7850
  /**
7825
- * The header content (typically a search input or filter controls)
7851
+ * Unique identifier for the textarea element
7826
7852
  */
7827
- children: ReactNode;
7853
+ id?: string;
7828
7854
  /**
7829
- * Optional CSS class name
7855
+ * The ref to the textarea element
7830
7856
  */
7831
- className?: string;
7857
+ ref?: React.Ref<HTMLTextAreaElement>;
7832
7858
  /**
7833
- * Optional inline styles
7859
+ * The name of the textarea
7834
7860
  */
7835
- style?: CSSProperties;
7836
- }
7837
- /**
7838
- * Props for the DsDropdownMenu Actions component
7839
- */
7840
- interface DsDropdownMenuActionsProps {
7861
+ name?: string;
7841
7862
  /**
7842
- * The action buttons or elements
7863
+ * Event handler called when the textarea loses focus
7864
+ *
7865
+ * @param event
7843
7866
  */
7844
- children: ReactNode;
7867
+ onBlur?: (event: React.FocusEvent<HTMLTextAreaElement>) => void;
7845
7868
  /**
7846
- * Optional CSS class name
7869
+ * Callback when the value changes
7847
7870
  */
7848
- className?: string;
7871
+ onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
7849
7872
  /**
7850
- * Optional inline styles
7873
+ * Value change event handler (provides just the value)
7851
7874
  */
7852
- style?: CSSProperties;
7853
- }
7854
- /**
7855
- * Props for the DsDropdownMenu ItemGroup component
7856
- */
7857
- interface DsDropdownMenuItemGroupProps extends Menu.ItemGroupProps {
7875
+ onValueChange?: (value: string) => void;
7858
7876
  /**
7859
- * Whether the group is collapsed
7877
+ * Additional CSS class names
7860
7878
  */
7861
- collapsed?: boolean;
7879
+ className?: string;
7862
7880
  /**
7863
- * Callback when collapse state changes
7881
+ * Additional styles to apply to the component
7864
7882
  */
7865
- onCollapsedChange?: (collapsed: boolean) => void;
7866
- }
7867
- /**
7868
- * Props for the DsDropdownMenu ItemGroupLabel component
7869
- */
7870
- type DsDropdownMenuItemGroupLabelProps = Menu.ItemGroupLabelProps;
7871
- /**
7872
- * Props for the DsDropdownMenu ItemGroupContent component
7873
- */
7874
- interface DsDropdownMenuItemGroupContentProps {
7883
+ style?: React.CSSProperties;
7875
7884
  /**
7876
- * The content to show/hide based on collapsed state
7885
+ * The placeholder text
7877
7886
  */
7878
- children: ReactNode;
7887
+ placeholder?: string;
7879
7888
  /**
7880
- * Optional CSS class name
7889
+ * The current value
7881
7890
  */
7882
- className?: string;
7891
+ value?: string;
7883
7892
  /**
7884
- * Optional inline styles
7893
+ * The initial value of the input when rendered.
7894
+ * Use when you don't need to control the value of the input.
7885
7895
  */
7886
- style?: CSSProperties;
7887
- }
7888
- /**
7889
- * Props for the DsDropdownMenu Separator component
7890
- */
7891
- type DsDropdownMenuSeparatorProps = Menu.SeparatorProps;
7892
- /**
7893
- * Props for the DsDropdownMenu TriggerItem component (for nested submenus)
7894
- */
7895
- type DsDropdownMenuTriggerItemProps = Menu.TriggerItemProps;
7896
- //#endregion
7897
- //#region src/components/ds-dropdown-menu/ds-dropdown-menu.d.ts
7898
- /**
7899
- * DEPRECATED: Legacy DsDropdownMenu component with options array
7900
- * Use compound component pattern instead
7901
- * @deprecated
7902
- */
7903
- declare const DsDropdownMenuLegacy: React$1.FC<DsDropdownMenuLegacyProps>;
7904
- /**
7905
- * Design system DsDropdownMenu component
7906
- *
7907
- * @example
7908
- * <DsDropdownMenu.Root>
7909
- * <DsDropdownMenu.Trigger>
7910
- * <button>Open</button>
7911
- * </DsDropdownMenu.Trigger>
7912
- * <DsDropdownMenu.Content>
7913
- * <DsDropdownMenu.Header>
7914
- * <DsTextInput placeholder="Search..." />
7915
- * </DsDropdownMenu.Header>
7916
- * <DsDropdownMenu.Item value="item1">
7917
- * Item 1
7918
- * <DsDropdownMenu.ItemIndicator />
7919
- * </DsDropdownMenu.Item>
7920
- * <DsDropdownMenu.ItemGroup>
7921
- * <DsDropdownMenu.ItemGroupLabel>Group Name</DsDropdownMenu.ItemGroupLabel>
7922
- * <DsDropdownMenu.ItemGroupContent>
7923
- * <DsDropdownMenu.Item value="item2">Item 2</DsDropdownMenu.Item>
7924
- * </DsDropdownMenu.ItemGroupContent>
7925
- * </DsDropdownMenu.ItemGroup>
7926
- * <DsDropdownMenu.Separator />
7927
- * <DsDropdownMenu.Actions>
7928
- * <DsButton>Cancel</DsButton>
7929
- * <DsButton>Apply</DsButton>
7930
- * </DsDropdownMenu.Actions>
7931
- * </DsDropdownMenu.Content>
7932
- * </DsDropdownMenu.Root>
7933
- */
7934
- declare const DsDropdownMenu: {
7935
- Root: React$1.FC<DsDropdownMenuRootProps>;
7936
- Trigger: React$1.FC<Menu.TriggerProps>;
7937
- Content: React$1.FC<DsDropdownMenuContentProps>;
7938
- Item: React$1.FC<DsDropdownMenuItemProps>;
7939
- ItemIndicator: React$1.FC<DsDropdownMenuItemIndicatorProps>;
7940
- TriggerItem: React$1.FC<Menu.TriggerItemProps>;
7941
- Header: React$1.FC<DsDropdownMenuHeaderProps>;
7942
- Actions: React$1.FC<DsDropdownMenuActionsProps>;
7943
- ItemGroup: React$1.FC<DsDropdownMenuItemGroupProps>;
7944
- ItemGroupLabel: React$1.FC<Menu.ItemGroupLabelProps>;
7945
- ItemGroupContent: React$1.FC<DsDropdownMenuItemGroupContentProps>;
7946
- Separator: React$1.FC<Menu.SeparatorProps>;
7947
- };
7948
- //#endregion
7949
- //#region src/components/ds-text-input/ds-text-input.types.d.ts
7950
- declare const textInputSizes: readonly ["small", "default"];
7951
- type TextInputSize = (typeof textInputSizes)[number];
7952
- interface DsTextInputProps {
7896
+ defaultValue?: string;
7953
7897
  /**
7954
- * Unique identifier for the input field
7898
+ * Whether the textarea is disabled
7955
7899
  */
7956
- id?: string;
7900
+ disabled?: boolean;
7957
7901
  /**
7958
- * The ref to the input field
7902
+ * The number of visible text lines
7959
7903
  */
7960
- ref?: React$1.Ref<HTMLInputElement>;
7904
+ rows?: number;
7961
7905
  /**
7962
- * The name of the input field
7906
+ * The minimum number of characters
7963
7907
  */
7964
- name?: string;
7908
+ minLength?: number;
7965
7909
  /**
7966
- * The size of the input field
7967
- * @default default
7910
+ * The maximum number of characters
7968
7911
  */
7969
- size?: TextInputSize;
7912
+ maxLength?: number;
7913
+ }
7914
+ //#endregion
7915
+ //#region src/components/ds-textarea/ds-textarea.d.ts
7916
+ declare const DsTextarea: React.FC<DsTextareaProps>;
7917
+ //#endregion
7918
+ //#region src/components/ds-select/ds-select.types.d.ts
7919
+ type SelectSize = 'default' | 'small';
7920
+ interface DsSelectOption {
7970
7921
  /**
7971
- * The type of the input field
7972
- * @default text
7922
+ * Label to display in the select
7973
7923
  */
7974
- type?: string;
7924
+ label: string;
7975
7925
  /**
7976
- * Event handler called when the input field receives focus
7926
+ * Value to return when the option is selected
7977
7927
  */
7978
- onFocus?: (event: React$1.FocusEvent<HTMLInputElement>) => void;
7928
+ value: SelectOptionValue;
7979
7929
  /**
7980
- * Event handler called when the input field loses focus
7981
- *
7982
- * @param event
7930
+ * Optional icon to display next to the label
7983
7931
  */
7984
- onBlur?: (event: React$1.FocusEvent<HTMLInputElement>) => void;
7932
+ icon?: IconName;
7933
+ }
7934
+ type SelectOptionValue = string;
7935
+ type DsSelectProps = {
7985
7936
  /**
7986
- * Callback when a key is pressed down
7937
+ * Unique identifier for the select component
7987
7938
  */
7988
- onKeyDown?: (event: React$1.KeyboardEvent<HTMLInputElement>) => void;
7939
+ id?: string;
7989
7940
  /**
7990
- * Callback when the value changes
7941
+ * Options to display in the select dropdown
7991
7942
  */
7992
- onChange?: (event: React$1.ChangeEvent<HTMLInputElement>) => void;
7943
+ options: DsSelectOption[];
7993
7944
  /**
7994
- * Value change event handler (provides just the value)
7945
+ * Additional styles to apply to the icon
7995
7946
  */
7996
- onValueChange?: (value: string) => void;
7947
+ style?: React.CSSProperties;
7997
7948
  /**
7998
7949
  * Additional CSS class names
7999
7950
  */
8000
7951
  className?: string;
8001
7952
  /**
8002
- * Additional styles to apply to the component
7953
+ * Event handler called when the select loses focus
7954
+ *
7955
+ * @param event
8003
7956
  */
8004
- style?: React$1.CSSProperties;
7957
+ onBlur?: (event: React.FocusEvent) => void;
8005
7958
  /**
8006
- * The placeholder text
7959
+ * Placeholder text to display when no option is selected
8007
7960
  */
8008
7961
  placeholder?: string;
8009
7962
  /**
8010
- * The current value
7963
+ * Whether the select is disabled
8011
7964
  */
8012
- value?: string;
7965
+ disabled?: boolean;
8013
7966
  /**
8014
- * The minimum value of the input
7967
+ * The size of the select component
7968
+ * @default 'default'
8015
7969
  */
8016
- min?: number | string;
7970
+ size?: SelectSize;
8017
7971
  /**
8018
- * The maximum value of the input
7972
+ * Custom render function for dropdown options.
7973
+ * When provided, replaces the default label text inside each dropdown item.
7974
+ * The string `label` is still used for search, trigger text, chips, and accessibility.
8019
7975
  */
8020
- max?: number | string;
7976
+ renderOption?: (option: DsSelectOption) => ReactNode;
7977
+ } & ({
7978
+ clearable?: undefined | false;
7979
+ onClear?: never;
7980
+ } | {
7981
+ clearable: true;
7982
+ onClear?: () => void;
7983
+ }) & ({
7984
+ multiple?: undefined | false;
7985
+ value: SelectOptionValue;
7986
+ onValueChange?: (value: SelectOptionValue) => void;
8021
7987
  /**
8022
- * The minimum number of characters
7988
+ * Custom render function for the selected value in the trigger.
7989
+ * When provided, replaces the default label text inside the trigger button.
7990
+ * Only called when there is a selection; otherwise the placeholder is shown.
8023
7991
  */
8024
- minLength?: number;
7992
+ renderValue?: (selectedOption: DsSelectOption) => ReactNode;
7993
+ } | {
7994
+ multiple: true;
7995
+ value: SelectOptionValue[];
7996
+ onValueChange?: (value: SelectOptionValue[]) => void;
8025
7997
  /**
8026
- * The maximum number of characters
7998
+ * Custom render function for the selected value in the trigger.
7999
+ * When provided, replaces the default label text inside the trigger button.
8000
+ * Only called when there is a selection; otherwise the placeholder is shown.
8027
8001
  */
8028
- maxLength?: number;
8002
+ renderValue?: (selectedOptions: DsSelectOption[]) => ReactNode;
8003
+ });
8004
+ //#endregion
8005
+ //#region src/components/ds-select/ds-select.d.ts
8006
+ declare const DsSelect: ({
8007
+ id,
8008
+ options: userOptions,
8009
+ value,
8010
+ style,
8011
+ size,
8012
+ clearable,
8013
+ onClear,
8014
+ onBlur,
8015
+ className,
8016
+ placeholder,
8017
+ disabled,
8018
+ renderOption,
8019
+ ...multiselectProps
8020
+ }: DsSelectProps) => react_jsx_runtime0.JSX.Element;
8021
+ //#endregion
8022
+ //#region src/components/ds-form-control/ds-form-control.types.d.ts
8023
+ declare const controlStatuses: readonly ["info", "success", "error", "warning"];
8024
+ type ControlStatus = (typeof controlStatuses)[number];
8025
+ interface DsFormControlProps extends React.PropsWithChildren {
8029
8026
  /**
8030
- * The initial value of the input when rendered.
8031
- * Use when you don't need to control the value of the input.
8027
+ * Unique identifier for the control
8032
8028
  */
8033
- defaultValue?: string;
8029
+ id?: string;
8034
8030
  /**
8035
- * Whether the input is disabled
8031
+ * Visual status
8036
8032
  */
8037
- disabled?: boolean;
8033
+ status?: ControlStatus;
8038
8034
  /**
8039
- * Whether the input is read only
8035
+ * Label text
8040
8036
  */
8041
- readOnly?: boolean;
8037
+ label: string;
8042
8038
  /**
8043
- * The tabIndex of the input
8039
+ * Marks the field as required
8044
8040
  */
8045
- tabIndex?: number;
8041
+ required?: boolean;
8046
8042
  slots?: {
8047
8043
  /**
8048
- * Custom component to wrap the input element
8049
- */
8050
- inputWrapper?: ComponentType<{
8051
- children: React$1.ReactNode;
8052
- }>;
8053
- /**
8054
- * Adornment to display at the start of the input
8055
- */
8056
- startAdornment?: React$1.ReactNode;
8057
- /**
8058
- * Adornment to display at the end of the input
8044
+ * Adornment to display at the end of the label
8059
8045
  */
8060
- endAdornment?: React$1.ReactNode;
8046
+ endAdornment?: React.ReactNode;
8061
8047
  };
8062
- }
8063
- //#endregion
8064
- //#region src/components/ds-text-input/ds-text-input.d.ts
8065
- declare const DsTextInput: FC<DsTextInputProps>;
8066
- //#endregion
8067
- //#region src/components/ds-expandable-text-input/ds-expandable-text-input.types.d.ts
8068
- interface DsExpandableTextInputProps extends Omit<DsTextInputProps, 'tabIndex' | 'slots'> {
8069
8048
  /**
8070
- * The icon to display inside the expandable input trigger button
8049
+ * Message under the control
8071
8050
  */
8072
- icon: IconType;
8051
+ message?: string;
8073
8052
  /**
8074
- * Callback fired when the clear action is triggered
8053
+ * Icon shown next to message
8075
8054
  */
8076
- onClear?: () => void;
8055
+ messageIcon?: IconType;
8077
8056
  /**
8078
- * Callback fired when the expanded state changes
8057
+ * Additional CSS class names
8079
8058
  */
8080
- onExpandChange?: (expanded: boolean) => void;
8059
+ className?: string;
8060
+ /**
8061
+ * Additional styles to apply to the component
8062
+ */
8063
+ style?: React.CSSProperties;
8064
+ }
8065
+ interface DsFormControlDescriptionProps {
8066
+ /**
8067
+ * The description content
8068
+ */
8069
+ children: React.ReactNode;
8070
+ /**
8071
+ * Additional CSS class names
8072
+ */
8073
+ className?: string;
8081
8074
  }
8082
8075
  //#endregion
8083
- //#region src/components/ds-expandable-text-input/ds-expandable-text-input.d.ts
8084
- declare function DsExpandableTextInput({
8085
- onClear,
8086
- onExpandChange,
8087
- icon,
8088
- size,
8089
- ...props
8090
- }: DsExpandableTextInputProps): react_jsx_runtime0.JSX.Element;
8091
- //#endregion
8092
- //#region src/components/ds-file-upload/ds-file-upload-api.types.d.ts
8093
- type FileError = FileUploadFileError;
8094
- type UploadFileStatus = 'pending' | 'uploading' | 'interrupted' | 'completed' | 'error' | 'cancelled';
8095
- type FileMetadata = Record<string, unknown>;
8096
- interface UploadedFile extends File {
8097
- id: string;
8098
- progress: number;
8099
- status: UploadFileStatus;
8100
- errors?: FileError[];
8101
- }
8102
- interface FileUploadOptions {
8103
- file: File;
8104
- fileId: string;
8105
- metadata?: FileMetadata;
8106
- onProgress?: (progress: number) => void;
8107
- signal?: AbortSignal;
8108
- }
8109
- interface FileUploadResult {
8110
- url: string;
8111
- metadata?: FileMetadata;
8112
- }
8113
- /**
8114
- * File upload adapter interface
8115
- * The upload method should:
8116
- * - resolve with FileUploadResult on success
8117
- * - reject with RetryableFileUploadError for transient failures
8118
- * - reject with FatalFileUploadError for permanent failures
8119
- */
8120
- interface FileUploadAdapter {
8121
- upload: (options: FileUploadOptions) => FileUploadResult | Promise<FileUploadResult>;
8122
- cancel?: (fileId: string) => void | Promise<void>;
8123
- delete?: (fileId: string) => void | Promise<void>;
8124
- }
8125
- //#endregion
8126
- //#region src/components/ds-file-upload/types/accept-types.d.ts
8127
- /**
8128
- * File extension with leading dot
8129
- * @example '.pdf', '.jpg', '.csv'
8130
- */
8131
- type FileExtension = `.${string}`;
8132
- /**
8133
- * Accepted file type configuration
8134
- * - Use string shorthand for common MIME types (uses built-in extensions map)
8135
- * - Use object form to override or provide custom extensions
8136
- */
8137
- type AcceptedFileType = FileUploadFileMimeType | {
8138
- mimeType: FileUploadFileMimeType;
8139
- extensions: [FileExtension, ...FileExtension[]];
8076
+ //#region src/components/ds-form-control/ds-form-control.d.ts
8077
+ declare const DsFormControl: {
8078
+ ({
8079
+ id,
8080
+ status,
8081
+ label,
8082
+ required,
8083
+ slots,
8084
+ message,
8085
+ messageIcon,
8086
+ className,
8087
+ style,
8088
+ children
8089
+ }: DsFormControlProps): react_jsx_runtime0.JSX.Element;
8090
+ TextInput: (props: DsTextInputProps) => react_jsx_runtime0.JSX.Element;
8091
+ NumberInput: (props: DsNumberInputProps) => react_jsx_runtime0.JSX.Element;
8092
+ PasswordInput: (props: DsPasswordInputProps) => react_jsx_runtime0.JSX.Element; /** @deprecated DsDateInput is deprecated. Use DsDatePicker or DsDateRangePicker instead. */
8093
+ DateInput: (props: DsDateInputProps) => react_jsx_runtime0.JSX.Element;
8094
+ DatePicker: (props: DsDatePickerProps) => react_jsx_runtime0.JSX.Element;
8095
+ TimePicker: (props: DsTimePickerProps) => react_jsx_runtime0.JSX.Element;
8096
+ Textarea: (props: DsTextareaProps) => react_jsx_runtime0.JSX.Element;
8097
+ Select: (props: DsSelectProps) => react_jsx_runtime0.JSX.Element;
8098
+ Description: React.FC<DsFormControlDescriptionProps>;
8140
8099
  };
8141
8100
  //#endregion
8142
- //#region src/components/ds-file-upload/components/file-upload/file-upload.types.d.ts
8143
- interface FileUploadProps {
8101
+ //#region src/components/ds-date-range-picker/ds-date-range-picker.types.d.ts
8102
+ type DateRangeValue = [Date | null, Date | null];
8103
+ declare const dateRangePickerOrientations: readonly ["horizontal", "vertical"];
8104
+ type DateRangePickerOrientation = (typeof dateRangePickerOrientations)[number];
8105
+ interface DsDateRangePickerLocale {
8106
+ clearAllLabel?: string;
8107
+ }
8108
+ type DateRangeFormControlSlotProps = Partial<Omit<DsFormControlProps, 'children'>>;
8109
+ interface DsDateRangePickerSlotProps {
8110
+ startDatePicker?: DsDatePickerProps;
8111
+ endDatePicker?: DsDatePickerProps;
8112
+ startDateFormControl?: DateRangeFormControlSlotProps;
8113
+ endDateFormControl?: DateRangeFormControlSlotProps;
8114
+ }
8115
+ interface DsDateRangePickerProps {
8144
8116
  /**
8145
- * Error text displayed when validation fails
8117
+ * Controlled value as a tuple of [startDate, endDate].
8118
+ * `null` for either element means that date is empty.
8119
+ * `undefined` means the component is uncontrolled.
8146
8120
  */
8147
- errorText?: string;
8121
+ value?: DateRangeValue;
8148
8122
  /**
8149
- * Text displayed in the dropzone area
8123
+ * Default value for uncontrolled mode
8150
8124
  */
8151
- dropzoneText?: string;
8125
+ defaultValue?: DateRangeValue;
8152
8126
  /**
8153
- * Text for the upload trigger button
8127
+ * Callback when either date changes
8154
8128
  */
8155
- triggerText?: string;
8129
+ onChange?: (value: DateRangeValue) => void;
8156
8130
  /**
8157
- * Whether to hide upload progress
8158
- * @default false
8131
+ * Minimum allowed datetime for both pickers
8159
8132
  */
8160
- hideProgress?: boolean;
8133
+ min?: Date;
8161
8134
  /**
8162
- * Whether to hide the info text (file types, size limits, etc.)
8135
+ * Maximum allowed datetime for both pickers
8136
+ */
8137
+ max?: Date;
8138
+ /**
8139
+ * Whether to show date pickers with time
8163
8140
  * @default false
8164
8141
  */
8165
- hideInfoText?: boolean;
8142
+ withTime?: boolean;
8166
8143
  /**
8167
- * Whether to disable drag and drop functionality
8144
+ * Layout orientation of the two pickers
8145
+ * @default 'horizontal'
8146
+ */
8147
+ orientation?: DateRangePickerOrientation;
8148
+ /**
8149
+ * Whether to hide the "Clear all" button
8168
8150
  * @default false
8169
8151
  */
8170
- disableDrop?: boolean;
8152
+ hideClearAll?: boolean;
8171
8153
  /**
8172
- * The maximum number of files that can be uploaded
8154
+ * Whether to close the calendar when a date is selected. This is ignored when withTime is true.
8155
+ * @default true
8173
8156
  */
8174
- maxFiles?: number;
8157
+ closeOnSelect?: boolean;
8158
+ disabled?: boolean;
8159
+ readOnly?: boolean;
8160
+ className?: string;
8175
8161
  /**
8176
- * Maximum file size in bytes
8177
- * @default 25MB
8162
+ * Whether to disable the portal for both calendar popups
8163
+ * @default false
8178
8164
  */
8179
- maxFileSize?: number;
8165
+ disablePortal?: boolean;
8180
8166
  /**
8181
- * Callback when files are accepted
8167
+ * Localizable labels and text
8182
8168
  */
8183
- onFileAccept?: (details: FileUploadFileAcceptDetails) => void;
8169
+ locale?: DsDateRangePickerLocale;
8184
8170
  /**
8185
- * Callback when files are rejected
8171
+ * Props forwarded to sub-component slots
8186
8172
  */
8187
- onFileReject?: (details: FileUploadFileRejectDetails) => void;
8173
+ slotProps?: DsDateRangePickerSlotProps;
8174
+ }
8175
+ //#endregion
8176
+ //#region src/components/ds-date-range-picker/ds-date-range-picker.d.ts
8177
+ declare const DsDateRangePicker: ({
8178
+ value: valueProp,
8179
+ defaultValue,
8180
+ onChange,
8181
+ min,
8182
+ max,
8183
+ withTime,
8184
+ orientation,
8185
+ hideClearAll,
8186
+ closeOnSelect,
8187
+ disabled,
8188
+ readOnly,
8189
+ className,
8190
+ disablePortal,
8191
+ locale,
8192
+ slotProps
8193
+ }: DsDateRangePickerProps) => react_jsx_runtime0.JSX.Element;
8194
+ //#endregion
8195
+ //#region src/components/ds-dialog/ds-dialog.types.d.ts
8196
+ interface DsDialogProps {
8188
8197
  /**
8189
- * Additional CSS class names
8198
+ * Controls whether the dialog is open.
8190
8199
  */
8191
- className?: string;
8200
+ open: boolean;
8192
8201
  /**
8193
- * Additional styles
8202
+ * Callback fired when the open state should change.
8194
8203
  */
8195
- style?: CSSProperties;
8204
+ onOpenChange?: (open: boolean) => void;
8196
8205
  /**
8197
- * The file types that are accepted
8198
- * Use shorthand for common MIME types (extensions provided automatically)
8199
- * or explicit form for custom types
8200
- * @example ['application/pdf', 'image/png']
8201
- * @example ['application/pdf', { mimeType: 'application/x-custom', extensions: ['.custom'] }]
8206
+ * The accessible title for the dialog. Required for accessibility.
8202
8207
  */
8203
- accept?: AcceptedFileType[];
8208
+ title: string;
8204
8209
  /**
8205
- * File states to display (managed externally)
8210
+ * If true, the dialog title will be visually hidden but accessible to screen readers.
8206
8211
  */
8207
- files?: UploadedFile[];
8212
+ hideTitle?: boolean;
8208
8213
  /**
8209
- * Callback when files are removed
8214
+ * The accessible description for the dialog. Optional, but recommended for accessibility.
8210
8215
  */
8211
- onFileRemove?: (fileId: string) => void;
8216
+ description?: string;
8212
8217
  /**
8213
- * Callback when files are deleted
8218
+ * If true, the dialog description will be visually hidden but accessible to screen readers.
8214
8219
  */
8215
- onFileDelete?: (fileId: string) => void;
8220
+ hideDescription?: boolean;
8216
8221
  /**
8217
- * Callback when files upload is canceled
8222
+ * The content to render inside the dialog.
8218
8223
  */
8219
- onFileCancel?: (fileId: string) => void;
8224
+ children: React.ReactNode;
8220
8225
  /**
8221
- * Callback when files upload is retried
8226
+ * Additional CSS class names for the dialog container.
8222
8227
  */
8223
- onFileRetry?: (fileId: string) => void;
8228
+ className?: string;
8224
8229
  /**
8225
- * Controlled accepted files
8230
+ * Ref to the element the dialog should be anchored to (for relative placement)
8226
8231
  */
8227
- acceptedFiles?: File[];
8232
+ anchorRef?: React.RefObject<HTMLElement>;
8228
8233
  /**
8229
- * Whether the file upload is disabled
8234
+ * Custom fixed position (e.g., { top: number, left: number })
8230
8235
  */
8231
- disabled?: boolean;
8236
+ customPosition?: {
8237
+ top: number;
8238
+ left: number;
8239
+ };
8232
8240
  /**
8233
- * Whether the file upload layout is compact (inline)
8241
+ * If true, show modal overlay and center dialog (default: true)
8234
8242
  */
8235
- compact?: boolean;
8243
+ modal?: boolean;
8236
8244
  }
8237
8245
  //#endregion
8238
- //#region src/components/ds-file-upload/components/file-upload/file-upload.d.ts
8239
- /**
8240
- * Design system base File Upload component
8241
- * Used in conjunction with the useFileUpload hook
8242
- */
8243
- declare const FileUpload: React$1.FC<FileUploadProps>;
8246
+ //#region src/components/ds-dialog/ds-dialog.d.ts
8247
+ declare const DsDialog: React.FC<DsDialogProps>;
8244
8248
  //#endregion
8245
- //#region src/components/ds-file-upload/ds-file-upload.types.d.ts
8246
- interface DsFileUploadProps extends Omit<FileUploadProps, 'files' | 'acceptedFiles' | 'onFileAccept' | 'onFileReject' | 'onFileRemove' | 'onFileDelete' | 'onFileCancel' | 'onFileRetry' | 'uploadProgress'> {
8247
- /** Upload adapter implementation */
8248
- adapter: FileUploadAdapter;
8249
+ //#region src/components/ds-divider/ds-divider.types.d.ts
8250
+ interface DsDividerProps {
8249
8251
  /**
8250
- * Whether to start upload automatically when files are added
8251
- * @default true
8252
+ * Controls orientation of the divider. Horizontal by default.
8252
8253
  */
8253
- autoUpload?: boolean;
8254
- /** Maximum number of concurrent uploads */
8255
- maxConcurrent?: number;
8256
- /** Additional metadata to attach to uploads */
8257
- metadata?: FileMetadata;
8258
- /** Called when a file upload completes successfully */
8259
- onFileUploadComplete?: (fileId: string, result: FileUploadResult) => void;
8260
- /** Called when a file upload fails */
8261
- onFileUploadError?: (fileId: string, error: string) => void;
8262
- /** Called when files are added (before upload) */
8263
- onFilesAdded?: (files: File[]) => void;
8264
- /** Called when a file is removed */
8265
- onFileRemoved?: (fileId: string) => void;
8266
- /** Called when a file is deleted */
8267
- onFileDeleted?: (fileId: string) => void;
8268
- /** Called when a file upload is canceled */
8269
- onFileUploadCanceled?: (fileId: string) => void;
8270
- /** Called when a file upload is retried */
8271
- onFileUploadRetried?: (fileId: string) => void;
8272
- /** Called when all file uploads are complete */
8273
- onAllFileUploadsComplete?: () => void;
8254
+ orientation?: 'horizontal' | 'vertical';
8255
+ /**
8256
+ * Underlying element/component to render.
8257
+ * Examples: "hr", "div", "span", Link, etc.
8258
+ */
8259
+ component?: React.ElementType;
8260
+ /**
8261
+ * Additional CSS styles.
8262
+ */
8263
+ style?: React.CSSProperties;
8264
+ /**
8265
+ * Additional CSS classes.
8266
+ */
8267
+ className?: string;
8274
8268
  }
8275
8269
  //#endregion
8276
- //#region src/components/ds-file-upload/ds-file-upload.d.ts
8270
+ //#region src/components/ds-divider/ds-divider.d.ts
8271
+ declare const DsDivider: React.FC<DsDividerProps>;
8272
+ //#endregion
8273
+ //#region src/components/ds-drawer/ds-drawer.types.d.ts
8277
8274
  /**
8278
- * Design system File Upload component (with state management)
8275
+ * Available positions for the drawer
8279
8276
  */
8280
- declare const DsFileUpload: React$1.FC<DsFileUploadProps>;
8281
- //#endregion
8282
- //#region src/components/ds-file-upload/hooks/use-file-upload.d.ts
8283
- interface UseFileUploadConfig {
8284
- adapter: FileUploadAdapter;
8285
- autoUpload?: boolean;
8286
- maxConcurrent?: number;
8287
- maxFiles?: number;
8288
- metadata?: FileMetadata;
8289
- onFileUploadComplete?: (fileId: string, result: FileUploadResult) => void;
8290
- onFileUploadError?: (fileId: string, error: string) => void;
8291
- onAllFileUploadsComplete?: () => void;
8292
- }
8293
- interface UseFileUploadUserCallbacks {
8294
- onFilesAdded?: (files: File[]) => void;
8295
- onFileRemoved?: (fileId: string) => void;
8296
- onFileDeleted?: (fileId: string) => void;
8297
- onFileUploadCanceled?: (fileId: string) => void;
8298
- onFileUploadRetried?: (fileId: string) => void;
8299
- }
8300
- interface UseFileUploadReturn {
8301
- files: UploadedFile[];
8302
- acceptedFiles: UploadedFile[];
8303
- addFiles: (newFiles: File[]) => UploadedFile[];
8304
- addRejectedFiles: (filesWithErrors: {
8305
- file: File;
8306
- errors: FileError[];
8307
- }[]) => void;
8308
- removeFile: (fileId: string) => void;
8309
- deleteFile: (fileId: string) => Promise<void>;
8310
- uploadFile: (fileId: string) => Promise<void>;
8311
- uploadAll: () => Promise<void>;
8312
- cancelUpload: (fileId: string) => Promise<void>;
8313
- retryUpload: (fileId: string) => Promise<void>;
8314
- clearFiles: () => void;
8315
- /**
8316
- * Get props for FileUpload component with callback composition
8317
- * @param userCallbacks Optional user callbacks to compose with internal logic
8318
- * @returns Props ready to spread onto FileUpload component
8319
- */
8320
- getProps: (userCallbacks?: UseFileUploadUserCallbacks) => Pick<FileUploadProps, 'files' | 'acceptedFiles' | 'onFileAccept' | 'onFileReject' | 'onFileRemove' | 'onFileDelete' | 'onFileCancel' | 'onFileRetry'>;
8321
- }
8322
- /**
8323
- * File upload state management hook
8324
- */
8325
- declare function useFileUpload({
8326
- adapter,
8327
- autoUpload,
8328
- maxConcurrent,
8329
- maxFiles,
8330
- metadata,
8331
- onFileUploadComplete,
8332
- onFileUploadError,
8333
- onAllFileUploadsComplete
8334
- }: UseFileUploadConfig): UseFileUploadReturn;
8335
- //#endregion
8336
- //#region src/components/ds-file-upload/errors/file-upload-errors.d.ts
8337
- /**
8338
- * Base class for file upload errors
8339
- */
8340
- declare abstract class FileUploadError extends Error {
8341
- abstract readonly isRetryable: boolean;
8342
- constructor(message: string);
8343
- }
8344
- /**
8345
- * Retryable file upload error - indicates the upload can be retried
8346
- * Examples: network errors, timeouts, temporary server errors (503), user cancellation
8347
- */
8348
- declare class RetryableFileUploadError extends FileUploadError {
8349
- readonly isRetryable = true;
8350
- }
8277
+ type DsDrawerPosition = 'start' | 'end';
8351
8278
  /**
8352
- * Fatal file upload error - indicates the upload should not be retried
8353
- * Examples: file type not allowed, file too large, invalid credentials, malformed response
8279
+ * Available column sizes for drawer width
8354
8280
  */
8355
- declare class FatalFileUploadError extends FileUploadError {
8356
- readonly isRetryable = false;
8357
- }
8358
- //#endregion
8359
- //#region src/components/ds-filter-status-icon/ds-filter-status-icon.types.d.ts
8360
- declare const filterStatuses: readonly ["running", "warning", "failed", "paused"];
8361
- type FilterStatus = (typeof filterStatuses)[number];
8362
- interface DsFilterStatusIconProps {
8281
+ type DsDrawerColumns = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
8282
+ interface DsDrawerProps extends Pick<UseDialogProps, 'closeOnEscape' | 'closeOnInteractOutside'> {
8363
8283
  /**
8364
- * The filter status type
8284
+ * Whether the drawer is open
8365
8285
  */
8366
- status: FilterStatus;
8286
+ open: boolean;
8367
8287
  /**
8368
- * Whether the status icon is active or non-active
8369
- * @default true
8288
+ * Callback when the drawer open state changes
8370
8289
  */
8371
- active?: boolean;
8290
+ onOpenChange: (open: boolean) => void;
8372
8291
  /**
8373
- * Icon size
8374
- * @default 'small'
8292
+ * Number of grid columns the drawer should span (1-12)
8293
+ * @default 4
8375
8294
  */
8376
- size?: IconSize;
8295
+ columns?: DsDrawerColumns;
8296
+ /**
8297
+ * Position of the drawer
8298
+ * @default 'end'
8299
+ */
8300
+ position?: DsDrawerPosition;
8301
+ /**
8302
+ * Whether to show backdrop overlay
8303
+ * @default false
8304
+ */
8305
+ backdrop?: boolean;
8306
+ /**
8307
+ * Whether to append the drawer to the body instead of rendering in place
8308
+ * @default false
8309
+ */
8310
+ portal?: boolean;
8311
+ /**
8312
+ * Additional CSS styles
8313
+ */
8314
+ style?: CSSProperties;
8377
8315
  /**
8378
8316
  * Additional CSS class names
8379
8317
  */
8380
8318
  className?: string;
8381
8319
  /**
8382
- * Additional styles to apply to the component
8320
+ * Children components
8383
8321
  */
8384
- style?: CSSProperties;
8322
+ children: ReactNode;
8385
8323
  }
8386
8324
  //#endregion
8387
- //#region src/components/ds-filter-status-icon/ds-filter-status-icon.d.ts
8325
+ //#region src/components/ds-drawer/ds-drawer.d.ts
8388
8326
  /**
8389
- * Design system Filter Status Icon component
8390
- * Status icons for toggle filter buttons to help users quickly distinguish states
8327
+ * Composable drawer component.
8328
+ * Supports grid-based sizing, flexible positioning, and compound components.
8329
+ * Use columns prop to control drawer width (1-12 grid columns).
8391
8330
  */
8392
- declare const DsFilterStatusIcon: ({
8393
- status,
8394
- active,
8395
- size,
8396
- className,
8397
- style
8398
- }: DsFilterStatusIconProps) => react_jsx_runtime0.JSX.Element;
8331
+ declare const DsDrawer: {
8332
+ ({
8333
+ open,
8334
+ onOpenChange,
8335
+ columns,
8336
+ position,
8337
+ backdrop,
8338
+ closeOnEscape,
8339
+ closeOnInteractOutside,
8340
+ portal,
8341
+ style,
8342
+ className,
8343
+ children
8344
+ }: DsDrawerProps): react_jsx_runtime0.JSX.Element;
8345
+ Header: ({
8346
+ style,
8347
+ className,
8348
+ children
8349
+ }: {
8350
+ style?: CSSProperties;
8351
+ className?: string;
8352
+ children: ReactNode;
8353
+ }) => react_jsx_runtime0.JSX.Element;
8354
+ Title: ({
8355
+ style,
8356
+ className,
8357
+ children
8358
+ }: {
8359
+ style?: CSSProperties;
8360
+ className?: string;
8361
+ children: ReactNode;
8362
+ }) => react_jsx_runtime0.JSX.Element;
8363
+ CloseTrigger: ({
8364
+ style,
8365
+ className
8366
+ }: {
8367
+ style?: CSSProperties;
8368
+ className?: string;
8369
+ }) => react_jsx_runtime0.JSX.Element;
8370
+ Toolbar: ({
8371
+ style,
8372
+ className,
8373
+ children
8374
+ }: {
8375
+ style?: CSSProperties;
8376
+ className?: string;
8377
+ children: ReactNode;
8378
+ }) => react_jsx_runtime0.JSX.Element;
8379
+ Body: ({
8380
+ style,
8381
+ className,
8382
+ children
8383
+ }: {
8384
+ style?: CSSProperties;
8385
+ className?: string;
8386
+ children: ReactNode;
8387
+ }) => react_jsx_runtime0.JSX.Element;
8388
+ Footer: ({
8389
+ style,
8390
+ className,
8391
+ children
8392
+ }: {
8393
+ style?: CSSProperties;
8394
+ className?: string;
8395
+ children: ReactNode;
8396
+ }) => react_jsx_runtime0.JSX.Element;
8397
+ Actions: ({
8398
+ style,
8399
+ className,
8400
+ children
8401
+ }: {
8402
+ style?: CSSProperties;
8403
+ className?: string;
8404
+ children: ReactNode;
8405
+ }) => react_jsx_runtime0.JSX.Element;
8406
+ };
8399
8407
  //#endregion
8400
- //#region src/components/ds-number-input/ds-number-input.types.d.ts
8401
- interface DsNumberInputProps {
8408
+ //#region src/components/ds-dropdown-menu/ds-dropdown-menu.types.d.ts
8409
+ /**
8410
+ * Base positioning type
8411
+ */
8412
+ type BasePositioning = NonNullable<Menu.RootProps['positioning']>;
8413
+ /**
8414
+ * Positioning options for dropdown menu
8415
+ */
8416
+ type DsDropdownMenuPositioning = Pick<BasePositioning, 'placement' | 'gutter' | 'sameWidth' | 'getAnchorRect'>;
8417
+ /**
8418
+ * DEPRECATED: Legacy dropdown menu option configuration
8419
+ * Use compound component pattern instead
8420
+ * @deprecated
8421
+ */
8422
+ interface DsDropdownMenuOptionLegacy {
8402
8423
  /**
8403
- * Unique identifier for the input field
8424
+ * Display label for the menu option
8404
8425
  */
8405
- id?: string;
8426
+ label: string;
8406
8427
  /**
8407
- * The ref to the input field
8428
+ * Optional icon to display
8408
8429
  */
8409
- ref?: React$1.Ref<HTMLInputElement>;
8430
+ icon?: IconType;
8410
8431
  /**
8411
- * The name of the input field
8432
+ * Whether this option is disabled
8412
8433
  */
8413
- name?: string;
8434
+ disabled?: boolean;
8414
8435
  /**
8415
- * The size of the input field
8416
- * @default default
8436
+ * Click handler for the option
8417
8437
  */
8418
- size?: 'small' | 'default';
8438
+ onClick?: (e: MouseEvent<HTMLElement>) => void;
8419
8439
  /**
8420
- * Event handler called when the input field loses focus
8421
- *
8422
- * @param event
8440
+ * Optional value for selection tracking
8423
8441
  */
8424
- onBlur?: (event: React$1.FocusEvent<HTMLInputElement>) => void;
8442
+ value?: string;
8443
+ }
8444
+ /**
8445
+ * DEPRECATED: Legacy props for DsDropdownMenuLegacy component
8446
+ * Use compound component pattern instead
8447
+ * @deprecated
8448
+ */
8449
+ interface DsDropdownMenuLegacyProps {
8425
8450
  /**
8426
- * Callback when the value changes (native input onChange event)
8427
- * This is provided for compatibility but onValueChange is preferred
8451
+ * The options to be displayed in the dropdown menu
8428
8452
  */
8429
- onChange?: (event: React$1.ChangeEvent<HTMLInputElement>) => void;
8453
+ options: DsDropdownMenuOptionLegacy[];
8430
8454
  /**
8431
- * Value change event handler (provides just the number value)
8432
- * This is the preferred way to handle value changes
8455
+ * Optional children to be rendered inside the component
8456
+ * Typically used for the trigger element
8433
8457
  */
8434
- onValueChange?: (value: number) => void;
8458
+ children?: ReactNode | undefined;
8435
8459
  /**
8436
- * Additional CSS class names
8460
+ * The gap between the trigger and dropdown content in pixels
8461
+ * @default 0
8437
8462
  */
8438
- className?: string;
8463
+ contentGap?: number;
8439
8464
  /**
8440
- * Additional styles to apply to the component
8465
+ * Additional CSS class names
8441
8466
  */
8442
- style?: React$1.CSSProperties;
8467
+ className?: string;
8443
8468
  /**
8444
- * The placeholder text
8469
+ * Optional inline styles to apply to the component
8445
8470
  */
8446
- placeholder?: string;
8471
+ style?: CSSProperties;
8447
8472
  /**
8448
- * Whether the number input is disabled
8473
+ * The alignment of the dropdown content
8474
+ * @default 'center'
8449
8475
  */
8450
- disabled?: boolean;
8476
+ align?: 'start' | 'center' | 'end';
8451
8477
  /**
8452
- * The minimum value of the number input
8478
+ * The side of the dropdown content
8479
+ * @default 'bottom'
8453
8480
  */
8454
- min?: number | undefined;
8481
+ side?: 'top' | 'right' | 'bottom' | 'left';
8455
8482
  /**
8456
- * The maximum value of the number input
8457
- * @default Number.MAX_SAFE_INTEGER
8483
+ * Whether to render in place instead of using portals
8484
+ * @default false
8458
8485
  */
8459
- max?: number | undefined;
8486
+ disablePortal?: boolean;
8460
8487
  /**
8461
- * The amount to increment or decrement the value by
8462
- * @default 1
8488
+ * Whether to disable the search functionality
8489
+ * @default false
8463
8490
  */
8464
- step?: number | undefined;
8491
+ disableSearch?: boolean;
8465
8492
  /**
8466
- * The controlled value of the input
8493
+ * Currently selected value (for selection tracking)
8467
8494
  */
8468
- value?: number | undefined;
8495
+ selected?: string;
8469
8496
  /**
8470
- * The initial value of the input when rendered.
8471
- * Use when you don't need to control the value of the input.
8497
+ * Callback when an option with a value is selected
8472
8498
  */
8473
- defaultValue?: number | undefined;
8499
+ onSelect?: (value: string) => void;
8474
8500
  }
8475
- //#endregion
8476
- //#region src/components/ds-number-input/ds-number-input.d.ts
8477
- declare const DsNumberInput: FC<DsNumberInputProps>;
8478
- //#endregion
8479
- //#region src/components/ds-password-input/ds-password-input.types.d.ts
8480
- interface DsPasswordInputProps {
8481
- /**
8482
- * Unique identifier for the input field
8483
- */
8484
- id?: string;
8501
+ /**
8502
+ * Props for the DsDropdownMenu Root component
8503
+ */
8504
+ interface DsDropdownMenuRootProps {
8485
8505
  /**
8486
- * The ref to the input field
8506
+ * Whether the dropdown is open (controlled mode)
8487
8507
  */
8488
- ref?: React$1.Ref<HTMLInputElement>;
8508
+ open?: boolean;
8489
8509
  /**
8490
- * The name of the input field
8510
+ * Callback when open state changes
8491
8511
  */
8492
- name?: string;
8512
+ onOpenChange?: (open: boolean) => void;
8493
8513
  /**
8494
- * The size of the input field
8495
- * @default default
8514
+ * Callback when an item is selected
8496
8515
  */
8497
- size?: 'small' | 'default';
8516
+ onSelect?: (value: string) => void;
8498
8517
  /**
8499
- * Event handler called when the input field loses focus
8500
- *
8501
- * @param event
8518
+ * Callback when the highlighted item changes
8502
8519
  */
8503
- onBlur?: (event: React$1.FocusEvent<HTMLInputElement>) => void;
8520
+ onHighlightChange?: (value: string | null) => void;
8504
8521
  /**
8505
- * Callback when the value changes (native input onChange event)
8506
- * This is provided for compatibility but onValueChange is preferred
8522
+ * Positioning options for the dropdown
8507
8523
  */
8508
- onChange?: (event: React$1.ChangeEvent<HTMLInputElement>) => void;
8524
+ positioning?: DsDropdownMenuPositioning;
8509
8525
  /**
8510
- * Value change event handler (provides just the string value)
8511
- * This is the preferred way to handle value changes
8526
+ * Prevents the menu from closing when any item is selected
8527
+ * @default false
8512
8528
  */
8513
- onValueChange?: (value: string) => void;
8529
+ preventCloseOnSelect?: boolean;
8514
8530
  /**
8515
- * Additional CSS class names
8531
+ * Root content
8516
8532
  */
8517
- className?: string;
8533
+ children?: ReactNode;
8534
+ }
8535
+ /**
8536
+ * Props for the DsDropdownMenu Trigger component
8537
+ */
8538
+ type DsDropdownMenuTriggerProps = Menu.TriggerProps;
8539
+ /**
8540
+ * Props for the DsDropdownMenu Content component
8541
+ */
8542
+ interface DsDropdownMenuContentProps extends Pick<Menu.ContentProps, 'className' | 'style' | 'children'> {
8518
8543
  /**
8519
- * Additional styles to apply to the component
8544
+ * Whether to render in place instead of using portals
8545
+ * @default false
8520
8546
  */
8521
- style?: React$1.CSSProperties;
8547
+ disablePortal?: boolean;
8548
+ }
8549
+ /**
8550
+ * Props for the DsDropdownMenu Item component
8551
+ */
8552
+ interface DsDropdownMenuItemProps extends Pick<Menu.ItemProps, 'disabled' | 'asChild' | 'className' | 'style' | 'onSelect' | 'onClick' | 'value' | 'children'> {
8522
8553
  /**
8523
- * The placeholder text
8554
+ * Whether the item is selected (applies selected styling)
8524
8555
  */
8525
- placeholder?: string;
8556
+ selected?: boolean;
8557
+ }
8558
+ /**
8559
+ * Props for the DsDropdownMenu ItemIndicator component
8560
+ */
8561
+ interface DsDropdownMenuItemIndicatorProps {
8526
8562
  /**
8527
- * The current value (for controlled usage)
8563
+ * Custom content to render as the indicator (defaults to check icon)
8528
8564
  */
8529
- value?: string;
8565
+ children?: ReactNode;
8530
8566
  /**
8531
- * The initial value of the input when rendered.
8532
- * Use when you don't need to control the value of the input.
8567
+ * Optional CSS class name
8533
8568
  */
8534
- defaultValue?: string;
8569
+ className?: string;
8535
8570
  /**
8536
- * Whether the password input is disabled
8571
+ * Optional inline styles
8537
8572
  */
8538
- disabled?: boolean;
8573
+ style?: CSSProperties;
8539
8574
  }
8540
- //#endregion
8541
- //#region src/components/ds-password-input/ds-password-input.d.ts
8542
- declare const DsPasswordInput: FC<DsPasswordInputProps>;
8543
- //#endregion
8544
- //#region src/components/ds-textarea/ds-textarea.types.d.ts
8545
- interface DsTextareaProps {
8546
- /**
8547
- * Unique identifier for the textarea element
8548
- */
8549
- id?: string;
8550
- /**
8551
- * The ref to the textarea element
8552
- */
8553
- ref?: React$1.Ref<HTMLTextAreaElement>;
8575
+ /**
8576
+ * Props for the DsDropdownMenu Header component
8577
+ */
8578
+ interface DsDropdownMenuHeaderProps {
8554
8579
  /**
8555
- * The name of the textarea
8580
+ * The header content (typically a search input or filter controls)
8556
8581
  */
8557
- name?: string;
8582
+ children: ReactNode;
8558
8583
  /**
8559
- * Event handler called when the textarea loses focus
8560
- *
8561
- * @param event
8584
+ * Optional CSS class name
8562
8585
  */
8563
- onBlur?: (event: React$1.FocusEvent<HTMLTextAreaElement>) => void;
8586
+ className?: string;
8564
8587
  /**
8565
- * Callback when the value changes
8588
+ * Optional inline styles
8566
8589
  */
8567
- onChange?: (event: React$1.ChangeEvent<HTMLTextAreaElement>) => void;
8590
+ style?: CSSProperties;
8591
+ }
8592
+ /**
8593
+ * Props for the DsDropdownMenu Actions component
8594
+ */
8595
+ interface DsDropdownMenuActionsProps {
8568
8596
  /**
8569
- * Value change event handler (provides just the value)
8597
+ * The action buttons or elements
8570
8598
  */
8571
- onValueChange?: (value: string) => void;
8599
+ children: ReactNode;
8572
8600
  /**
8573
- * Additional CSS class names
8601
+ * Optional CSS class name
8574
8602
  */
8575
8603
  className?: string;
8576
8604
  /**
8577
- * Additional styles to apply to the component
8605
+ * Optional inline styles
8578
8606
  */
8579
- style?: React$1.CSSProperties;
8607
+ style?: CSSProperties;
8608
+ }
8609
+ /**
8610
+ * Props for the DsDropdownMenu ItemGroup component
8611
+ */
8612
+ interface DsDropdownMenuItemGroupProps extends Menu.ItemGroupProps {
8580
8613
  /**
8581
- * The placeholder text
8614
+ * Whether the group is collapsed
8582
8615
  */
8583
- placeholder?: string;
8616
+ collapsed?: boolean;
8584
8617
  /**
8585
- * The current value
8618
+ * Callback when collapse state changes
8586
8619
  */
8587
- value?: string;
8620
+ onCollapsedChange?: (collapsed: boolean) => void;
8621
+ }
8622
+ /**
8623
+ * Props for the DsDropdownMenu ItemGroupLabel component
8624
+ */
8625
+ type DsDropdownMenuItemGroupLabelProps = Menu.ItemGroupLabelProps;
8626
+ /**
8627
+ * Props for the DsDropdownMenu ItemGroupContent component
8628
+ */
8629
+ interface DsDropdownMenuItemGroupContentProps {
8588
8630
  /**
8589
- * The initial value of the input when rendered.
8590
- * Use when you don't need to control the value of the input.
8631
+ * The content to show/hide based on collapsed state
8591
8632
  */
8592
- defaultValue?: string;
8633
+ children: ReactNode;
8593
8634
  /**
8594
- * Whether the textarea is disabled
8635
+ * Optional CSS class name
8595
8636
  */
8596
- disabled?: boolean;
8637
+ className?: string;
8597
8638
  /**
8598
- * The number of visible text lines
8639
+ * Optional inline styles
8599
8640
  */
8600
- rows?: number;
8641
+ style?: CSSProperties;
8642
+ }
8643
+ /**
8644
+ * Props for the DsDropdownMenu Separator component
8645
+ */
8646
+ type DsDropdownMenuSeparatorProps = Menu.SeparatorProps;
8647
+ /**
8648
+ * Props for the DsDropdownMenu TriggerItem component (for nested submenus)
8649
+ */
8650
+ type DsDropdownMenuTriggerItemProps = Menu.TriggerItemProps;
8651
+ //#endregion
8652
+ //#region src/components/ds-dropdown-menu/ds-dropdown-menu.d.ts
8653
+ /**
8654
+ * DEPRECATED: Legacy DsDropdownMenu component with options array
8655
+ * Use compound component pattern instead
8656
+ * @deprecated
8657
+ */
8658
+ declare const DsDropdownMenuLegacy: React.FC<DsDropdownMenuLegacyProps>;
8659
+ /**
8660
+ * Design system DsDropdownMenu component
8661
+ *
8662
+ * @example
8663
+ * <DsDropdownMenu.Root>
8664
+ * <DsDropdownMenu.Trigger>
8665
+ * <button>Open</button>
8666
+ * </DsDropdownMenu.Trigger>
8667
+ * <DsDropdownMenu.Content>
8668
+ * <DsDropdownMenu.Header>
8669
+ * <DsTextInput placeholder="Search..." />
8670
+ * </DsDropdownMenu.Header>
8671
+ * <DsDropdownMenu.Item value="item1">
8672
+ * Item 1
8673
+ * <DsDropdownMenu.ItemIndicator />
8674
+ * </DsDropdownMenu.Item>
8675
+ * <DsDropdownMenu.ItemGroup>
8676
+ * <DsDropdownMenu.ItemGroupLabel>Group Name</DsDropdownMenu.ItemGroupLabel>
8677
+ * <DsDropdownMenu.ItemGroupContent>
8678
+ * <DsDropdownMenu.Item value="item2">Item 2</DsDropdownMenu.Item>
8679
+ * </DsDropdownMenu.ItemGroupContent>
8680
+ * </DsDropdownMenu.ItemGroup>
8681
+ * <DsDropdownMenu.Separator />
8682
+ * <DsDropdownMenu.Actions>
8683
+ * <DsButton>Cancel</DsButton>
8684
+ * <DsButton>Apply</DsButton>
8685
+ * </DsDropdownMenu.Actions>
8686
+ * </DsDropdownMenu.Content>
8687
+ * </DsDropdownMenu.Root>
8688
+ */
8689
+ declare const DsDropdownMenu: {
8690
+ Root: React.FC<DsDropdownMenuRootProps>;
8691
+ Trigger: React.FC<Menu.TriggerProps>;
8692
+ Content: React.FC<DsDropdownMenuContentProps>;
8693
+ Item: React.FC<DsDropdownMenuItemProps>;
8694
+ ItemIndicator: React.FC<DsDropdownMenuItemIndicatorProps>;
8695
+ TriggerItem: React.FC<Menu.TriggerItemProps>;
8696
+ Header: React.FC<DsDropdownMenuHeaderProps>;
8697
+ Actions: React.FC<DsDropdownMenuActionsProps>;
8698
+ ItemGroup: React.FC<DsDropdownMenuItemGroupProps>;
8699
+ ItemGroupLabel: React.FC<Menu.ItemGroupLabelProps>;
8700
+ ItemGroupContent: React.FC<DsDropdownMenuItemGroupContentProps>;
8701
+ Separator: React.FC<Menu.SeparatorProps>;
8702
+ };
8703
+ //#endregion
8704
+ //#region src/components/ds-expandable-text-input/ds-expandable-text-input.types.d.ts
8705
+ interface DsExpandableTextInputProps extends Omit<DsTextInputProps, 'tabIndex' | 'slots'> {
8601
8706
  /**
8602
- * The minimum number of characters
8707
+ * The icon to display inside the expandable input trigger button
8603
8708
  */
8604
- minLength?: number;
8709
+ icon: IconType;
8605
8710
  /**
8606
- * The maximum number of characters
8711
+ * Callback fired when the clear action is triggered
8607
8712
  */
8608
- maxLength?: number;
8713
+ onClear?: () => void;
8714
+ /**
8715
+ * Callback fired when the expanded state changes
8716
+ */
8717
+ onExpandChange?: (expanded: boolean) => void;
8609
8718
  }
8610
8719
  //#endregion
8611
- //#region src/components/ds-textarea/ds-textarea.d.ts
8612
- declare const DsTextarea: React$1.FC<DsTextareaProps>;
8720
+ //#region src/components/ds-expandable-text-input/ds-expandable-text-input.d.ts
8721
+ declare function DsExpandableTextInput({
8722
+ onClear,
8723
+ onExpandChange,
8724
+ icon,
8725
+ size,
8726
+ ...props
8727
+ }: DsExpandableTextInputProps): react_jsx_runtime0.JSX.Element;
8613
8728
  //#endregion
8614
- //#region src/components/ds-select/ds-select.types.d.ts
8615
- type SelectSize = 'default' | 'small';
8616
- interface DsSelectOption {
8729
+ //#region src/components/ds-file-upload/ds-file-upload-api.types.d.ts
8730
+ type FileError = FileUploadFileError;
8731
+ type UploadFileStatus = 'pending' | 'uploading' | 'interrupted' | 'completed' | 'error' | 'cancelled';
8732
+ type FileMetadata = Record<string, unknown>;
8733
+ interface UploadedFile extends File {
8734
+ id: string;
8735
+ progress: number;
8736
+ status: UploadFileStatus;
8737
+ errors?: FileError[];
8738
+ originalFile: File;
8739
+ }
8740
+ interface FileUploadOptions {
8741
+ file: File;
8742
+ fileId: string;
8743
+ metadata?: FileMetadata;
8744
+ onProgress?: (progress: number) => void;
8745
+ signal?: AbortSignal;
8746
+ }
8747
+ interface FileUploadResult {
8748
+ url: string;
8749
+ metadata?: FileMetadata;
8750
+ }
8751
+ /**
8752
+ * File upload adapter interface
8753
+ * The upload method should:
8754
+ * - resolve with FileUploadResult on success
8755
+ * - reject with RetryableFileUploadError for transient failures
8756
+ * - reject with FatalFileUploadError for permanent failures
8757
+ */
8758
+ interface FileUploadAdapter {
8759
+ upload: (options: FileUploadOptions) => FileUploadResult | Promise<FileUploadResult>;
8760
+ cancel?: (fileId: string) => void | Promise<void>;
8761
+ delete?: (fileId: string) => void | Promise<void>;
8762
+ }
8763
+ //#endregion
8764
+ //#region src/components/ds-file-upload/types/accept-types.d.ts
8765
+ /**
8766
+ * File extension with leading dot
8767
+ * @example '.pdf', '.jpg', '.csv'
8768
+ */
8769
+ type FileExtension = `.${string}`;
8770
+ /**
8771
+ * Accepted file type configuration
8772
+ * - Use string shorthand for common MIME types (uses built-in extensions map)
8773
+ * - Use object form to override or provide custom extensions
8774
+ */
8775
+ type AcceptedFileType = FileUploadFileMimeType | {
8776
+ mimeType: FileUploadFileMimeType;
8777
+ extensions: [FileExtension, ...FileExtension[]];
8778
+ };
8779
+ //#endregion
8780
+ //#region src/components/ds-file-upload/components/file-upload/file-upload.types.d.ts
8781
+ interface FileUploadProps {
8617
8782
  /**
8618
- * Label to display in the select
8783
+ * Error text displayed when validation fails
8619
8784
  */
8620
- label: string;
8785
+ errorText?: string;
8621
8786
  /**
8622
- * Value to return when the option is selected
8787
+ * Text displayed in the dropzone area
8623
8788
  */
8624
- value: SelectOptionValue;
8789
+ dropzoneText?: string;
8625
8790
  /**
8626
- * Optional icon to display next to the label
8791
+ * Text for the upload trigger button
8627
8792
  */
8628
- icon?: IconName;
8629
- }
8630
- type SelectOptionValue = string;
8631
- type DsSelectProps = {
8793
+ triggerText?: string;
8632
8794
  /**
8633
- * Unique identifier for the select component
8795
+ * Whether to hide upload progress
8796
+ * @default false
8634
8797
  */
8635
- id?: string;
8798
+ hideProgress?: boolean;
8636
8799
  /**
8637
- * Options to display in the select dropdown
8800
+ * Whether to hide the info text (file types, size limits, etc.)
8801
+ * @default false
8638
8802
  */
8639
- options: DsSelectOption[];
8803
+ hideInfoText?: boolean;
8640
8804
  /**
8641
- * Additional styles to apply to the icon
8805
+ * Whether to disable drag and drop functionality
8806
+ * @default false
8642
8807
  */
8643
- style?: React$1.CSSProperties;
8808
+ disableDrop?: boolean;
8644
8809
  /**
8645
- * Additional CSS class names
8810
+ * The maximum number of files that can be uploaded
8646
8811
  */
8647
- className?: string;
8812
+ maxFiles?: number;
8648
8813
  /**
8649
- * Event handler called when the select loses focus
8650
- *
8651
- * @param event
8814
+ * Maximum file size in bytes
8815
+ * @default 25MB
8652
8816
  */
8653
- onBlur?: (event: React$1.FocusEvent) => void;
8817
+ maxFileSize?: number;
8654
8818
  /**
8655
- * Placeholder text to display when no option is selected
8819
+ * Callback when files are accepted
8656
8820
  */
8657
- placeholder?: string;
8821
+ onFileAccept?: (details: FileUploadFileAcceptDetails) => void;
8658
8822
  /**
8659
- * Whether the select is disabled
8823
+ * Callback when files are rejected
8660
8824
  */
8661
- disabled?: boolean;
8825
+ onFileReject?: (details: FileUploadFileRejectDetails) => void;
8662
8826
  /**
8663
- * The size of the select component
8664
- * @default 'default'
8827
+ * Additional CSS class names
8665
8828
  */
8666
- size?: SelectSize;
8829
+ className?: string;
8667
8830
  /**
8668
- * Custom render function for dropdown options.
8669
- * When provided, replaces the default label text inside each dropdown item.
8670
- * The string `label` is still used for search, trigger text, chips, and accessibility.
8831
+ * Additional styles
8671
8832
  */
8672
- renderOption?: (option: DsSelectOption) => ReactNode;
8673
- } & ({
8674
- clearable?: undefined | false;
8675
- onClear?: never;
8676
- } | {
8677
- clearable: true;
8678
- onClear?: () => void;
8679
- }) & ({
8680
- multiple?: undefined | false;
8681
- value: SelectOptionValue;
8682
- onValueChange?: (value: SelectOptionValue) => void;
8833
+ style?: CSSProperties;
8834
+ /**
8835
+ * The file types that are accepted
8836
+ * Use shorthand for common MIME types (extensions provided automatically)
8837
+ * or explicit form for custom types
8838
+ * @example ['application/pdf', 'image/png']
8839
+ * @example ['application/pdf', { mimeType: 'application/x-custom', extensions: ['.custom'] }]
8840
+ */
8841
+ accept?: AcceptedFileType[];
8683
8842
  /**
8684
- * Custom render function for the selected value in the trigger.
8685
- * When provided, replaces the default label text inside the trigger button.
8686
- * Only called when there is a selection; otherwise the placeholder is shown.
8843
+ * File states to display (managed externally)
8687
8844
  */
8688
- renderValue?: (selectedOption: DsSelectOption) => ReactNode;
8689
- } | {
8690
- multiple: true;
8691
- value: SelectOptionValue[];
8692
- onValueChange?: (value: SelectOptionValue[]) => void;
8845
+ files?: UploadedFile[];
8693
8846
  /**
8694
- * Custom render function for the selected value in the trigger.
8695
- * When provided, replaces the default label text inside the trigger button.
8696
- * Only called when there is a selection; otherwise the placeholder is shown.
8847
+ * Callback when files are removed
8697
8848
  */
8698
- renderValue?: (selectedOptions: DsSelectOption[]) => ReactNode;
8699
- });
8700
- //#endregion
8701
- //#region src/components/ds-select/ds-select.d.ts
8702
- declare const DsSelect: ({
8703
- id,
8704
- options: userOptions,
8705
- value,
8706
- style,
8707
- size,
8708
- clearable,
8709
- onClear,
8710
- onBlur,
8711
- className,
8712
- placeholder,
8713
- disabled,
8714
- renderOption,
8715
- ...multiselectProps
8716
- }: DsSelectProps) => react_jsx_runtime0.JSX.Element;
8717
- //#endregion
8718
- //#region src/components/ds-form-control/ds-form-control.types.d.ts
8719
- declare const controlStatuses: readonly ["info", "success", "error", "warning"];
8720
- type ControlStatus = (typeof controlStatuses)[number];
8721
- interface DsFormControlProps extends React$1.PropsWithChildren {
8849
+ onFileRemove?: (fileId: string) => void;
8722
8850
  /**
8723
- * Unique identifier for the control
8851
+ * Callback when files are deleted
8724
8852
  */
8725
- id?: string;
8853
+ onFileDelete?: (fileId: string) => void;
8726
8854
  /**
8727
- * Visual status
8855
+ * Callback when files upload is canceled
8728
8856
  */
8729
- status?: ControlStatus;
8857
+ onFileCancel?: (fileId: string) => void;
8730
8858
  /**
8731
- * Label text
8859
+ * Callback when files upload is retried
8732
8860
  */
8733
- label: string;
8861
+ onFileRetry?: (fileId: string) => void;
8734
8862
  /**
8735
- * Marks the field as required
8863
+ * Controlled accepted files
8736
8864
  */
8737
- required?: boolean;
8738
- slots?: {
8739
- /**
8740
- * Adornment to display at the end of the label
8741
- */
8742
- endAdornment?: React$1.ReactNode;
8743
- };
8865
+ acceptedFiles?: File[];
8744
8866
  /**
8745
- * Message under the control
8867
+ * Whether the file upload is disabled
8746
8868
  */
8747
- message?: string;
8869
+ disabled?: boolean;
8748
8870
  /**
8749
- * Icon shown next to message
8871
+ * Whether the file upload layout is compact (inline)
8750
8872
  */
8751
- messageIcon?: IconType;
8873
+ compact?: boolean;
8874
+ }
8875
+ //#endregion
8876
+ //#region src/components/ds-file-upload/components/file-upload/file-upload.d.ts
8877
+ /**
8878
+ * Design system base File Upload component
8879
+ * Used in conjunction with the useFileUpload hook
8880
+ */
8881
+ declare const FileUpload: React.FC<FileUploadProps>;
8882
+ //#endregion
8883
+ //#region src/components/ds-file-upload/ds-file-upload.types.d.ts
8884
+ interface DsFileUploadProps extends Omit<FileUploadProps, 'files' | 'acceptedFiles' | 'onFileAccept' | 'onFileReject' | 'onFileRemove' | 'onFileDelete' | 'onFileCancel' | 'onFileRetry' | 'uploadProgress'> {
8885
+ /** Upload adapter implementation */
8886
+ adapter: FileUploadAdapter;
8752
8887
  /**
8753
- * Additional CSS class names
8888
+ * Whether to start upload automatically when files are added
8889
+ * @default true
8754
8890
  */
8755
- className?: string;
8891
+ autoUpload?: boolean;
8892
+ /** Maximum number of concurrent uploads */
8893
+ maxConcurrent?: number;
8894
+ /** Additional metadata to attach to uploads */
8895
+ metadata?: FileMetadata;
8896
+ /** Called when a file upload completes successfully */
8897
+ onFileUploadComplete?: (fileId: string, result: FileUploadResult) => void;
8898
+ /** Called when a file upload fails */
8899
+ onFileUploadError?: (fileId: string, error: string) => void;
8900
+ /** Called when files are added (before upload) */
8901
+ onFilesAdded?: (files: File[]) => void;
8902
+ /** Called when a file is removed */
8903
+ onFileRemoved?: (fileId: string) => void;
8904
+ /** Called when a file is deleted */
8905
+ onFileDeleted?: (fileId: string) => void;
8906
+ /** Called when a file upload is canceled */
8907
+ onFileUploadCanceled?: (fileId: string) => void;
8908
+ /** Called when a file upload is retried */
8909
+ onFileUploadRetried?: (fileId: string) => void;
8910
+ /** Called when all file uploads are complete */
8911
+ onAllFileUploadsComplete?: () => void;
8912
+ }
8913
+ //#endregion
8914
+ //#region src/components/ds-file-upload/ds-file-upload.d.ts
8915
+ /**
8916
+ * Design system File Upload component (with state management)
8917
+ */
8918
+ declare const DsFileUpload: React.FC<DsFileUploadProps>;
8919
+ //#endregion
8920
+ //#region src/components/ds-file-upload/hooks/use-file-upload.d.ts
8921
+ interface UseFileUploadConfig {
8922
+ adapter: FileUploadAdapter;
8923
+ autoUpload?: boolean;
8924
+ maxConcurrent?: number;
8925
+ maxFiles?: number;
8926
+ metadata?: FileMetadata;
8927
+ onFileUploadComplete?: (fileId: string, result: FileUploadResult) => void;
8928
+ onFileUploadError?: (fileId: string, error: string) => void;
8929
+ onAllFileUploadsComplete?: () => void;
8930
+ }
8931
+ interface UseFileUploadUserCallbacks {
8932
+ onFilesAdded?: (files: File[]) => void;
8933
+ onFileRemoved?: (fileId: string) => void;
8934
+ onFileDeleted?: (fileId: string) => void;
8935
+ onFileUploadCanceled?: (fileId: string) => void;
8936
+ onFileUploadRetried?: (fileId: string) => void;
8937
+ }
8938
+ interface UseFileUploadReturn {
8939
+ files: UploadedFile[];
8940
+ acceptedFiles: UploadedFile[];
8941
+ addFiles: (newFiles: File[]) => UploadedFile[];
8942
+ addRejectedFiles: (filesWithErrors: {
8943
+ file: File;
8944
+ errors: FileError[];
8945
+ }[]) => void;
8946
+ removeFile: (fileId: string) => void;
8947
+ deleteFile: (fileId: string) => Promise<void>;
8948
+ uploadFile: (fileId: string) => Promise<void>;
8949
+ uploadAll: () => Promise<void>;
8950
+ cancelUpload: (fileId: string) => Promise<void>;
8951
+ retryUpload: (fileId: string) => Promise<void>;
8952
+ clearFiles: () => void;
8756
8953
  /**
8757
- * Additional styles to apply to the component
8954
+ * Get props for FileUpload component with callback composition
8955
+ * @param userCallbacks Optional user callbacks to compose with internal logic
8956
+ * @returns Props ready to spread onto FileUpload component
8758
8957
  */
8759
- style?: React$1.CSSProperties;
8958
+ getProps: (userCallbacks?: UseFileUploadUserCallbacks) => Pick<FileUploadProps, 'files' | 'acceptedFiles' | 'onFileAccept' | 'onFileReject' | 'onFileRemove' | 'onFileDelete' | 'onFileCancel' | 'onFileRetry'>;
8760
8959
  }
8761
- interface DsFormControlDescriptionProps {
8960
+ /**
8961
+ * File upload state management hook
8962
+ */
8963
+ declare function useFileUpload({
8964
+ adapter,
8965
+ autoUpload,
8966
+ maxConcurrent,
8967
+ maxFiles,
8968
+ metadata,
8969
+ onFileUploadComplete,
8970
+ onFileUploadError,
8971
+ onAllFileUploadsComplete
8972
+ }: UseFileUploadConfig): UseFileUploadReturn;
8973
+ //#endregion
8974
+ //#region src/components/ds-file-upload/errors/file-upload-errors.d.ts
8975
+ /**
8976
+ * Base class for file upload errors
8977
+ */
8978
+ declare abstract class FileUploadError extends Error {
8979
+ abstract readonly isRetryable: boolean;
8980
+ constructor(message: string);
8981
+ }
8982
+ /**
8983
+ * Retryable file upload error - indicates the upload can be retried
8984
+ * Examples: network errors, timeouts, temporary server errors (503), user cancellation
8985
+ */
8986
+ declare class RetryableFileUploadError extends FileUploadError {
8987
+ readonly isRetryable = true;
8988
+ }
8989
+ /**
8990
+ * Fatal file upload error - indicates the upload should not be retried
8991
+ * Examples: file type not allowed, file too large, invalid credentials, malformed response
8992
+ */
8993
+ declare class FatalFileUploadError extends FileUploadError {
8994
+ readonly isRetryable = false;
8995
+ }
8996
+ //#endregion
8997
+ //#region src/components/ds-filter-status-icon/ds-filter-status-icon.types.d.ts
8998
+ declare const filterStatuses: readonly ["running", "warning", "failed", "paused"];
8999
+ type FilterStatus = (typeof filterStatuses)[number];
9000
+ interface DsFilterStatusIconProps {
8762
9001
  /**
8763
- * The description content
9002
+ * The filter status type
9003
+ */
9004
+ status: FilterStatus;
9005
+ /**
9006
+ * Whether the status icon is active or non-active
9007
+ * @default true
9008
+ */
9009
+ active?: boolean;
9010
+ /**
9011
+ * Icon size
9012
+ * @default 'small'
8764
9013
  */
8765
- children: React$1.ReactNode;
9014
+ size?: IconSize;
8766
9015
  /**
8767
9016
  * Additional CSS class names
8768
9017
  */
8769
9018
  className?: string;
9019
+ /**
9020
+ * Additional styles to apply to the component
9021
+ */
9022
+ style?: CSSProperties;
8770
9023
  }
8771
9024
  //#endregion
8772
- //#region src/components/ds-form-control/ds-form-control.d.ts
8773
- declare const DsFormControl: {
8774
- ({
8775
- id,
8776
- status,
8777
- label,
8778
- required,
8779
- slots,
8780
- message,
8781
- messageIcon,
8782
- className,
8783
- style,
8784
- children
8785
- }: DsFormControlProps): react_jsx_runtime0.JSX.Element;
8786
- TextInput: (props: DsTextInputProps) => react_jsx_runtime0.JSX.Element;
8787
- NumberInput: (props: DsNumberInputProps) => react_jsx_runtime0.JSX.Element;
8788
- PasswordInput: (props: DsPasswordInputProps) => react_jsx_runtime0.JSX.Element;
8789
- DateInput: (props: DsDateInputProps) => react_jsx_runtime0.JSX.Element;
8790
- Textarea: (props: DsTextareaProps) => react_jsx_runtime0.JSX.Element;
8791
- Select: (props: DsSelectProps) => react_jsx_runtime0.JSX.Element;
8792
- Description: React$1.FC<DsFormControlDescriptionProps>;
8793
- };
9025
+ //#region src/components/ds-filter-status-icon/ds-filter-status-icon.d.ts
9026
+ /**
9027
+ * Design system Filter Status Icon component
9028
+ * Status icons for toggle filter buttons to help users quickly distinguish states
9029
+ */
9030
+ declare const DsFilterStatusIcon: ({
9031
+ status,
9032
+ active,
9033
+ size,
9034
+ className,
9035
+ style
9036
+ }: DsFilterStatusIconProps) => react_jsx_runtime0.JSX.Element;
8794
9037
  //#endregion
8795
9038
  //#region src/components/ds-grid/ds-grid.types.d.ts
8796
9039
  interface DsGridProps {
@@ -8842,11 +9085,41 @@ interface DsGridItemProps {
8842
9085
  /**
8843
9086
  * Design system Grid component
8844
9087
  */
8845
- declare const DsGrid: React$1.FC<DsGridProps>;
9088
+ declare const DsGrid: React.FC<DsGridProps>;
8846
9089
  /**
8847
9090
  * Design system GridItem component
8848
9091
  */
8849
- declare const DsGridItem: React$1.FC<DsGridItemProps>;
9092
+ declare const DsGridItem: React.FC<DsGridItemProps>;
9093
+ //#endregion
9094
+ //#region src/components/ds-key-value-pair/ds-key-value-pair.types.d.ts
9095
+ declare const dsKeyValuePairOrientations: readonly ["vertical", "horizontal"];
9096
+ type DsKeyValuePairOrientation = (typeof dsKeyValuePairOrientations)[number];
9097
+ interface DsKeyValuePairProps {
9098
+ keyLabel: ReactNode;
9099
+ /** Shown when the editor is not active (read-only or not hovered). */
9100
+ value?: ReactNode;
9101
+ /** @default false */
9102
+ readOnly?: boolean;
9103
+ /** @default 'vertical' */
9104
+ orientation?: DsKeyValuePairOrientation;
9105
+ /** Editor content revealed on hover/focus when not read-only. */
9106
+ editInput?: ReactNode;
9107
+ ref?: Ref<HTMLDivElement>;
9108
+ className?: string;
9109
+ style?: CSSProperties;
9110
+ }
9111
+ //#endregion
9112
+ //#region src/components/ds-key-value-pair/ds-key-value-pair.d.ts
9113
+ declare const DsKeyValuePair: ({
9114
+ ref,
9115
+ keyLabel,
9116
+ value,
9117
+ readOnly,
9118
+ orientation,
9119
+ editInput,
9120
+ className,
9121
+ style
9122
+ }: DsKeyValuePairProps) => react_jsx_runtime0.JSX.Element;
8850
9123
  //#endregion
8851
9124
  //#region src/components/ds-loader/ds-loader.types.d.ts
8852
9125
  declare const loaderVariants: readonly ["spinner", "pulsing"];
@@ -8864,11 +9137,11 @@ interface DsLoaderProps {
8864
9137
  /**
8865
9138
  * Additional styles to apply to the component
8866
9139
  */
8867
- style?: React$1.CSSProperties;
9140
+ style?: React.CSSProperties;
8868
9141
  /**
8869
9142
  * Ref to the loader container element
8870
9143
  */
8871
- ref?: React$1.Ref<HTMLDivElement>;
9144
+ ref?: React.Ref<HTMLDivElement>;
8872
9145
  }
8873
9146
  //#endregion
8874
9147
  //#region src/components/ds-loader/ds-loader.d.ts
@@ -9030,11 +9303,11 @@ interface DsPopoverProps {
9030
9303
  /**
9031
9304
  * The element that triggers the popover
9032
9305
  */
9033
- trigger: React$1.ReactNode;
9306
+ trigger: React.ReactNode;
9034
9307
  /**
9035
9308
  * The content to be rendered inside the popover
9036
9309
  */
9037
- children: React$1.ReactNode;
9310
+ children: React.ReactNode;
9038
9311
  /**
9039
9312
  * Additional CSS class names
9040
9313
  */
@@ -9050,7 +9323,7 @@ interface DsPopoverProps {
9050
9323
  }
9051
9324
  //#endregion
9052
9325
  //#region src/components/ds-popover/ds-popover.d.ts
9053
- declare const DsPopover: React$1.FC<DsPopoverProps>;
9326
+ declare const DsPopover: React.FC<DsPopoverProps>;
9054
9327
  //#endregion
9055
9328
  //#region src/components/ds-progress-arc/ds-progress-arc.types.d.ts
9056
9329
  declare const progressArcSizes: readonly ["small", "medium"];
@@ -9167,7 +9440,7 @@ interface DsProgressLinearProps {
9167
9440
  /**
9168
9441
  * Label displayed above the progress bar (left side)
9169
9442
  */
9170
- label?: React$1.ReactNode;
9443
+ label?: React.ReactNode;
9171
9444
  /**
9172
9445
  * Whether to show the percentage value text (right side of label row)
9173
9446
  * @default true
@@ -9178,7 +9451,7 @@ interface DsProgressLinearProps {
9178
9451
  * When a string is provided, it is auto-styled with an icon and color based on the variant.
9179
9452
  * When a ReactNode is provided, it is rendered as-is.
9180
9453
  */
9181
- caption?: React$1.ReactNode | string;
9454
+ caption?: React.ReactNode | string;
9182
9455
  /**
9183
9456
  * Additional CSS class names
9184
9457
  */
@@ -9186,11 +9459,11 @@ interface DsProgressLinearProps {
9186
9459
  /**
9187
9460
  * Additional styles to apply to the component
9188
9461
  */
9189
- style?: React$1.CSSProperties;
9462
+ style?: React.CSSProperties;
9190
9463
  /**
9191
9464
  * Ref to the root element
9192
9465
  */
9193
- ref?: React$1.Ref<HTMLDivElement>;
9466
+ ref?: React.Ref<HTMLDivElement>;
9194
9467
  }
9195
9468
  //#endregion
9196
9469
  //#region src/components/ds-progress-linear/ds-progress-linear.d.ts
@@ -9262,7 +9535,7 @@ interface DsRadioOptionLegacy<ValueType = string> {
9262
9535
  * Use compound component pattern instead
9263
9536
  * @deprecated
9264
9537
  */
9265
- interface DsRadioGroupLegacyProps<TOption extends DsRadioOptionLegacy = DsRadioOptionLegacy> extends React$1.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root> {
9538
+ interface DsRadioGroupLegacyProps<TOption extends DsRadioOptionLegacy = DsRadioOptionLegacy> extends React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root> {
9266
9539
  /**
9267
9540
  * The radio group options
9268
9541
  */
@@ -9288,7 +9561,7 @@ interface DsRadioGroupLegacyProps<TOption extends DsRadioOptionLegacy = DsRadioO
9288
9561
  /**
9289
9562
  * Additional styles to apply to the component
9290
9563
  */
9291
- style?: React$1.CSSProperties;
9564
+ style?: React.CSSProperties;
9292
9565
  }
9293
9566
  //#endregion
9294
9567
  //#region src/components/ds-radio-group/ds-radio-group.d.ts
@@ -9297,7 +9570,7 @@ interface DsRadioGroupLegacyProps<TOption extends DsRadioOptionLegacy = DsRadioO
9297
9570
  * Use compound component pattern instead: DsRadioGroup.Root + DsRadioGroup.Item
9298
9571
  * @deprecated
9299
9572
  */
9300
- declare const DsRadioGroupLegacy: React$1.FC<DsRadioGroupLegacyProps>;
9573
+ declare const DsRadioGroupLegacy: React.FC<DsRadioGroupLegacyProps>;
9301
9574
  /**
9302
9575
  * Design system RadioGroup component
9303
9576
  *
@@ -9308,8 +9581,8 @@ declare const DsRadioGroupLegacy: React$1.FC<DsRadioGroupLegacyProps>;
9308
9581
  * </DsRadioGroup.Root>
9309
9582
  */
9310
9583
  declare const DsRadioGroup: {
9311
- Root: React$1.FC<DsRadioGroupRootProps>;
9312
- Item: React$1.FC<DsRadioGroupItemProps>;
9584
+ Root: React.FC<DsRadioGroupRootProps>;
9585
+ Item: React.FC<DsRadioGroupItemProps>;
9313
9586
  };
9314
9587
  //#endregion
9315
9588
  //#region src/components/ds-segment-group/ds-segment-group.types.d.ts
@@ -9373,9 +9646,9 @@ type DsSegmentGroupItemTextProps = Pick<SegmentGroupItemTextProps, 'className' |
9373
9646
  * </DsSegmentGroup.Root>
9374
9647
  */
9375
9648
  declare const DsSegmentGroup: {
9376
- Root: React$1.FC<DsSegmentGroupRootProps>;
9377
- Item: React$1.FC<DsSegmentGroupItemProps>;
9378
- ItemText: React$1.FC<DsSegmentGroupItemTextProps>;
9649
+ Root: React.FC<DsSegmentGroupRootProps>;
9650
+ Item: React.FC<DsSegmentGroupItemProps>;
9651
+ ItemText: React.FC<DsSegmentGroupItemTextProps>;
9379
9652
  };
9380
9653
  //#endregion
9381
9654
  //#region src/components/ds-typography/ds-typography.config.d.ts
@@ -9419,7 +9692,7 @@ interface DsTypographyProps {
9419
9692
  /**
9420
9693
  * Additional styles to apply to the typography component
9421
9694
  */
9422
- style?: React$1.CSSProperties;
9695
+ style?: React.CSSProperties;
9423
9696
  /**
9424
9697
  * When true, renders as Slot component for composition without extra DOM nodes
9425
9698
  */
@@ -9427,12 +9700,12 @@ interface DsTypographyProps {
9427
9700
  /**
9428
9701
  * The content of the component
9429
9702
  */
9430
- children: React$1.ReactNode;
9703
+ children: React.ReactNode;
9431
9704
  }
9432
9705
  //#endregion
9433
9706
  //#region src/components/ds-typography/ds-typography.d.ts
9434
- declare const DsTypography: React$1.FC<DsTypographyProps & {
9435
- ref?: React$1.Ref<HTMLElement>;
9707
+ declare const DsTypography: React.FC<DsTypographyProps & {
9708
+ ref?: React.Ref<HTMLElement>;
9436
9709
  }>;
9437
9710
  //#endregion
9438
9711
  //#region src/components/ds-skeleton/ds-skeleton.types.d.ts
@@ -9622,7 +9895,7 @@ interface DsSmartTabProps {
9622
9895
  /**
9623
9896
  * Additional styles to apply to the tab
9624
9897
  */
9625
- style?: React$1.CSSProperties;
9898
+ style?: React.CSSProperties;
9626
9899
  }
9627
9900
  interface DsSmartTabsProps {
9628
9901
  /**
@@ -9640,7 +9913,7 @@ interface DsSmartTabsProps {
9640
9913
  /**
9641
9914
  * Additional styles to apply to the component
9642
9915
  */
9643
- style?: React$1.CSSProperties;
9916
+ style?: React.CSSProperties;
9644
9917
  /**
9645
9918
  * The tab components as children
9646
9919
  */
@@ -9660,7 +9933,7 @@ declare const DsSmartTabs: {
9660
9933
  children,
9661
9934
  ...props
9662
9935
  }: DsSmartTabsProps): react_jsx_runtime0.JSX.Element;
9663
- Tab: React$1.FC<DsSmartTabProps>;
9936
+ Tab: React.FC<DsSmartTabProps>;
9664
9937
  };
9665
9938
  //#endregion
9666
9939
  //#region src/components/ds-spinner/ds-spinner.types.d.ts
@@ -9679,14 +9952,14 @@ interface DsSpinnerProps {
9679
9952
  /**
9680
9953
  * Additional styles to apply to the component
9681
9954
  */
9682
- style?: React$1.CSSProperties;
9955
+ style?: React.CSSProperties;
9683
9956
  }
9684
9957
  //#endregion
9685
9958
  //#region src/components/ds-spinner/ds-spinner.d.ts
9686
9959
  /**
9687
9960
  * Design system Spinner component
9688
9961
  */
9689
- declare const DsSpinner: React$1.FC<DsSpinnerProps>;
9962
+ declare const DsSpinner: React.FC<DsSpinnerProps>;
9690
9963
  //#endregion
9691
9964
  //#region src/components/ds-status-badge/ds-status-badge.types.d.ts
9692
9965
  declare const dsStatuses: readonly ["active", "running", "pending", "draft", "inactive", "warning", "failed"];
@@ -9734,7 +10007,7 @@ interface DsStatusBadgeProps {
9734
10007
  /**
9735
10008
  * Design system StatusBadge component
9736
10009
  */
9737
- declare const DsStatusBadge: React$1.FC<DsStatusBadgeProps>;
10010
+ declare const DsStatusBadge: React.FC<DsStatusBadgeProps>;
9738
10011
  //#endregion
9739
10012
  //#region src/components/ds-stepper/ds-stepper.types.d.ts
9740
10013
  type DsStepperVariant = 'single';
@@ -9858,7 +10131,7 @@ interface DsSystemStatusProps {
9858
10131
  * @deprecated This component is deprecated. Use `DsStatusBadge` instead.
9859
10132
  * @see {@link ../ds-status-badge/ds-status-badge} for the replacement component.
9860
10133
  */
9861
- declare const DsSystemStatus: React$1.FC<DsSystemStatusProps>;
10134
+ declare const DsSystemStatus: React.FC<DsSystemStatusProps>;
9862
10135
  //#endregion
9863
10136
  //#region src/components/ds-table/components/ds-table-cell/ds-table-cell.types.d.ts
9864
10137
  /**
@@ -10475,7 +10748,7 @@ interface DsDataTableProps<TData, TValue> {
10475
10748
  /**
10476
10749
  * Ref to the table API
10477
10750
  */
10478
- ref?: React$1.RefObject<DsTableApi<TData> | null>;
10751
+ ref?: React.RefObject<DsTableApi<TData> | null>;
10479
10752
  /**
10480
10753
  * Columns of the table
10481
10754
  */
@@ -10535,7 +10808,7 @@ interface DsDataTableProps<TData, TValue> {
10535
10808
  /**
10536
10809
  * Empty state of the table
10537
10810
  */
10538
- emptyState?: React$1.ReactNode;
10811
+ emptyState?: React.ReactNode;
10539
10812
  /**
10540
10813
  * Whether the table has sticky header
10541
10814
  */
@@ -10564,7 +10837,7 @@ interface DsDataTableProps<TData, TValue> {
10564
10837
  /**
10565
10838
  * Function to render the expanded row
10566
10839
  */
10567
- renderExpandedRow?: (row: TData) => React$1.ReactNode;
10840
+ renderExpandedRow?: (row: TData) => React.ReactNode;
10568
10841
  /**
10569
10842
  * Function to handle table creation
10570
10843
  */
@@ -11165,6 +11438,12 @@ interface DsTooltipProps {
11165
11438
  * The content to be rendered inside the tooltip
11166
11439
  */
11167
11440
  children: ReactNode;
11441
+ slotProps?: {
11442
+ content?: {
11443
+ className?: string;
11444
+ style?: CSSProperties;
11445
+ };
11446
+ };
11168
11447
  }
11169
11448
  //#endregion
11170
11449
  //#region src/components/ds-tooltip/ds-tooltip.d.ts
@@ -11430,5 +11709,5 @@ declare const DsVerticalTabs: {
11430
11709
  }: DsVerticalTabsContentProps) => react_jsx_runtime0.JSX.Element;
11431
11710
  };
11432
11711
  //#endregion
11433
- export { AcceptedFileType, Action, AlertBannerVariant, AnyAdapter, CheckboxFilterAdapterConfig, CheckboxFilterItem, CheckboxFilterProps, CheckboxVariant, ChipItem, ChipSize, Color, ColumnFilterState, CommentAuthor, CommentData, CommentIndicatorType, CommentMessage, CommentsFilterState, ControlStatus, CustomIconComponent, CustomIconName, DsAlertBanner, DsAlertBannerProps, DsAutocomplete, DsAutocompleteOption, DsAutocompleteProps, DsAvatar, DsAvatarGroup, DsAvatarGroupProps, DsAvatarProps, DsAvatarSize, DsAvatarType, DsBreadcrumb, DsBreadcrumbItem, DsBreadcrumbProps, DsButton, DsButtonUnifiedProps, DsCard, DsCardBodyProps, DsCardFooterProps, DsCardHeaderProps, DsCardRootProps, DsCardSize, DsCheckbox, DsCheckboxProps, DsChip, DsChipGroup, DsChipGroupProps, DsChipProps, DsCommentBubble, DsCommentBubbleProps, DsCommentCard, DsCommentCardProps, DsCommentIndicator, DsCommentIndicatorProps, DsCommentThread, DsCommentThreadProps, DsCommentsDrawer, DsCommentsDrawerProps, DsConfirmation, DsConfirmationProps, DsDataTableProps, DsDateInput, DsDateInputProps, DsDialog, DsDialogProps, DsDivider, DsDividerProps, DsDrawer, DsDrawerColumns, DsDrawerPosition, DsDrawerProps, DsDropdownMenu, DsDropdownMenuActionsProps, DsDropdownMenuContentProps, DsDropdownMenuHeaderProps, DsDropdownMenuItemGroupContentProps, DsDropdownMenuItemGroupLabelProps, DsDropdownMenuItemGroupProps, DsDropdownMenuItemIndicatorProps, DsDropdownMenuItemProps, DsDropdownMenuLegacy, DsDropdownMenuLegacyProps, DsDropdownMenuOptionLegacy, DsDropdownMenuPositioning, DsDropdownMenuRootProps, DsDropdownMenuSeparatorProps, DsDropdownMenuTriggerItemProps, DsDropdownMenuTriggerProps, DsExpandableTextInput, DsExpandableTextInputProps, DsFileUpload, DsFileUploadProps, DsFilterStatusIcon, DsFilterStatusIconProps, DsFormControl, DsFormControlDescriptionProps, DsFormControlProps, DsGrid, DsGridItem, DsGridItemProps, DsGridProps, DsIcon, DsIconProps, DsLoader, DsLoaderProps, DsModal, DsModalColumns, DsModalProps, DsNextStepButton, DsNextStepButtonProps, DsNumberInput, DsNumberInputProps, DsPanel, DsPanelCollapseButtonProps, DsPanelProps, DsPanelVariant, DsPasswordInput, DsPasswordInputProps, DsPopover, DsPopoverProps, DsProgressArc, DsProgressArcProps, DsProgressDonut, DsProgressDonutProps, DsProgressLinear, DsProgressLinearProps, DsRadioGroup, DsRadioGroupItemProps, DsRadioGroupLegacy, DsRadioGroupLegacyProps, DsRadioGroupRootProps, DsRadioOptionLegacy, DsSegmentGroup, DsSegmentGroupItemProps, DsSegmentGroupItemTextProps, DsSegmentGroupRootProps, DsSegmentGroupSize, DsSelect, DsSelectOption, DsSelectProps, _default as DsSkeleton, DsSkeletonBaseProps, DsSkeletonCircle, DsSkeletonCircleProps, DsSkeletonRect, DsSkeletonRectProps, DsSkeletonText, DsSkeletonTextProps, DsSmartTabProps, DsSmartTabs, DsSmartTabsProps, DsSpinner, DsSpinnerProps, DsStatus, DsStatusBadge, DsStatusBadgeProps, DsStep, DsStepContent, DsStepContentProps, DsStepProps, DsStepper, DsStepperOrientation, DsStepperProps, DsStepperVariant, DsSystemStatus, DsSystemStatusProps, DsTable, DsTableApi, DsTableRowSize, DsTabs, DsTabsContentProps, DsTabsListProps, DsTabsMenuActionItem, DsTabsOrientation, DsTabsProps, DsTabsSize, DsTabsTabProps, DsTag, DsTagFilter, DsTagFilterProps, DsTagProps, DsTextInput, DsTextInputProps, DsTextarea, DsTextareaProps, DsThreadItem, DsThreadItemProps, DsToastContextType, DsToastProps, DsToastProvider, DsToastProviderProps, DsToggle, DsToggleProps, DsTooltip, DsTooltipProps, DsTree, DsTreeBranchContentProps, DsTreeBranchControlProps, DsTreeBranchIndentGuideProps, DsTreeBranchIndicatorProps, DsTreeBranchProps, DsTreeBranchTextProps, DsTreeItemActionProps, DsTreeItemIndicatorProps, DsTreeItemProps, DsTreeItemTextProps, DsTreeNode, DsTreeNodeCheckboxProps, DsTreeRootProps, DsTreeSize, DsTreeTreeProps, DsTypography, DsTypographyProps, DsVerticalTabs, DsVerticalTabsContentProps, DsVerticalTabsListProps, DsVerticalTabsRootProps, DsVerticalTabsTabProps, DualRangeFilterAdapterConfig, DualRangeFilterValue, FatalFileUploadError, FileExtension, FileUpload, FileUploadAdapter, FileUploadError, FileUploadOptions, FileUploadResult, FilterAdapter, FilterAdapterConfig, FilterNavItem, FilterState, FilterStatus, FilterTag, IconName, IconSize, IconType, IconVariant, LoaderVariant, MaterialIconName, ProgressArcSize, ProgressArcVariant, ProgressDonutSize, ProgressDonutVariant, ProgressLinearSize, ProgressLinearVariant, RangeFilterProps, RangeFilterValue, RangeValue, RetryableFileUploadError, RowAction, ScrollParams, SecondaryRowAction, SelectSize, SemanticVariant, SkeletonColorVariant, SkeletonRadiusVariant, SpinnerSize, StatusBadgeSize, SystemStatus, TagFilterItem, TagSize, TagVariant, TextInputSize, ToastVariant, ToggleSize, UseFileUploadReturn, UseTableFiltersOptions, UseTableFiltersResult, alertBannerVariants, cardSizes, checkboxVariants, colors, controlStatuses, createCheckboxFilterAdapter, createDsTreeCollection, createDualRangeFilterAdapter, createFilterAdapter, customIcons, dsTreeSizes, filterStatuses, iconSizes, iconVariants, isCustomIcon, loaderVariants, progressArcSizes, progressArcVariants, progressDonutSizes, progressDonutVariants, progressLinearSizes, progressLinearVariants, skeletonColorVariants, skeletonRadiusVariants, spinnerSizes, systemStatuses, tagSizes, tagVariants, textInputSizes, useFileUpload, useTableFilters, useToaster };
11712
+ export { AcceptedFileType, Action, AlertBannerVariant, AnyAdapter, CheckboxFilterAdapterConfig, CheckboxFilterItem, CheckboxFilterProps, CheckboxVariant, ChipItem, ChipSize, Color, ColumnFilterState, CommentAuthor, CommentData, CommentIndicatorType, CommentMessage, CommentsFilterState, ControlStatus, CustomIconComponent, CustomIconName, DateRangeFormControlSlotProps, DateRangePickerOrientation, DateRangeValue, DsAlertBanner, DsAlertBannerProps, DsAutocomplete, DsAutocompleteOption, DsAutocompleteProps, DsAvatar, DsAvatarGroup, DsAvatarGroupProps, DsAvatarProps, DsAvatarSize, DsAvatarType, DsBreadcrumb, DsBreadcrumbItem, DsBreadcrumbProps, DsButton, DsButtonUnifiedProps, DsCard, DsCardBodyProps, DsCardFooterProps, DsCardHeaderProps, DsCardRootProps, DsCardSize, DsCheckbox, DsCheckboxProps, DsChip, DsChipGroup, DsChipGroupProps, DsChipProps, DsCommentBubble, DsCommentBubbleProps, DsCommentCard, DsCommentCardProps, DsCommentIndicator, DsCommentIndicatorProps, DsCommentThread, DsCommentThreadProps, DsCommentsDrawer, DsCommentsDrawerProps, DsConfirmation, DsConfirmationProps, DsDataTableProps, DsDateInput, DsDateInputProps, DsDatePicker, DsDatePickerLocale, DsDatePickerProps, DsDatePickerSlotProps, DsDateRangePicker, DsDateRangePickerLocale, DsDateRangePickerProps, DsDateRangePickerSlotProps, DsDialog, DsDialogProps, DsDivider, DsDividerProps, DsDrawer, DsDrawerColumns, DsDrawerPosition, DsDrawerProps, DsDropdownMenu, DsDropdownMenuActionsProps, DsDropdownMenuContentProps, DsDropdownMenuHeaderProps, DsDropdownMenuItemGroupContentProps, DsDropdownMenuItemGroupLabelProps, DsDropdownMenuItemGroupProps, DsDropdownMenuItemIndicatorProps, DsDropdownMenuItemProps, DsDropdownMenuLegacy, DsDropdownMenuLegacyProps, DsDropdownMenuOptionLegacy, DsDropdownMenuPositioning, DsDropdownMenuRootProps, DsDropdownMenuSeparatorProps, DsDropdownMenuTriggerItemProps, DsDropdownMenuTriggerProps, DsExpandableTextInput, DsExpandableTextInputProps, DsFileUpload, DsFileUploadProps, DsFilterStatusIcon, DsFilterStatusIconProps, DsFormControl, DsFormControlDescriptionProps, DsFormControlProps, DsGrid, DsGridItem, DsGridItemProps, DsGridProps, DsIcon, DsIconProps, DsKeyValuePair, DsKeyValuePairOrientation, DsKeyValuePairProps, DsLoader, DsLoaderProps, DsModal, DsModalColumns, DsModalProps, DsNextStepButton, DsNextStepButtonProps, DsNumberInput, DsNumberInputProps, DsPanel, DsPanelCollapseButtonProps, DsPanelProps, DsPanelVariant, DsPasswordInput, DsPasswordInputProps, DsPopover, DsPopoverProps, DsProgressArc, DsProgressArcProps, DsProgressDonut, DsProgressDonutProps, DsProgressLinear, DsProgressLinearProps, DsRadioGroup, DsRadioGroupItemProps, DsRadioGroupLegacy, DsRadioGroupLegacyProps, DsRadioGroupRootProps, DsRadioOptionLegacy, DsSegmentGroup, DsSegmentGroupItemProps, DsSegmentGroupItemTextProps, DsSegmentGroupRootProps, DsSegmentGroupSize, DsSelect, DsSelectOption, DsSelectProps, _default as DsSkeleton, DsSkeletonBaseProps, DsSkeletonCircle, DsSkeletonCircleProps, DsSkeletonRect, DsSkeletonRectProps, DsSkeletonText, DsSkeletonTextProps, DsSmartTabProps, DsSmartTabs, DsSmartTabsProps, DsSpinner, DsSpinnerProps, DsStatus, DsStatusBadge, DsStatusBadgeProps, DsStep, DsStepContent, DsStepContentProps, DsStepProps, DsStepper, DsStepperOrientation, DsStepperProps, DsStepperVariant, DsSystemStatus, DsSystemStatusProps, DsTable, DsTableApi, DsTableRowSize, DsTabs, DsTabsContentProps, DsTabsListProps, DsTabsMenuActionItem, DsTabsOrientation, DsTabsProps, DsTabsSize, DsTabsTabProps, DsTag, DsTagFilter, DsTagFilterProps, DsTagProps, DsTextInput, DsTextInputProps, DsTextarea, DsTextareaProps, DsThreadItem, DsThreadItemProps, DsTimePicker, DsTimePickerLocale, DsTimePickerProps, DsTimePickerSlotProps, DsToastContextType, DsToastProps, DsToastProvider, DsToastProviderProps, DsToggle, DsToggleProps, DsTooltip, DsTooltipProps, DsTree, DsTreeBranchContentProps, DsTreeBranchControlProps, DsTreeBranchIndentGuideProps, DsTreeBranchIndicatorProps, DsTreeBranchProps, DsTreeBranchTextProps, DsTreeItemActionProps, DsTreeItemIndicatorProps, DsTreeItemProps, DsTreeItemTextProps, DsTreeNode, DsTreeNodeCheckboxProps, DsTreeRootProps, DsTreeSize, DsTreeTreeProps, DsTypography, DsTypographyProps, DsVerticalTabs, DsVerticalTabsContentProps, DsVerticalTabsListProps, DsVerticalTabsRootProps, DsVerticalTabsTabProps, DualRangeFilterAdapterConfig, DualRangeFilterValue, FatalFileUploadError, FileExtension, FileUpload, FileUploadAdapter, FileUploadError, FileUploadOptions, FileUploadResult, FilterAdapter, FilterAdapterConfig, FilterNavItem, FilterState, FilterStatus, FilterTag, IconName, IconSize, IconType, IconVariant, LoaderVariant, MaterialIconName, ProgressArcSize, ProgressArcVariant, ProgressDonutSize, ProgressDonutVariant, ProgressLinearSize, ProgressLinearVariant, RangeFilterProps, RangeFilterValue, RangeValue, RetryableFileUploadError, RowAction, ScrollParams, SecondaryRowAction, SelectSize, SemanticVariant, SkeletonColorVariant, SkeletonRadiusVariant, SpinnerSize, StatusBadgeSize, SystemStatus, TagFilterItem, TagSize, TagVariant, TextInputSize, ToastVariant, ToggleSize, UploadedFile, UseFileUploadReturn, UseTableFiltersOptions, UseTableFiltersResult, alertBannerVariants, cardSizes, checkboxVariants, colors, controlStatuses, createCheckboxFilterAdapter, createDsTreeCollection, createDualRangeFilterAdapter, createFilterAdapter, customIcons, dsKeyValuePairOrientations, dsTreeSizes, filterStatuses, formatTime, iconSizes, iconVariants, isCustomIcon, loaderVariants, progressArcSizes, progressArcVariants, progressDonutSizes, progressDonutVariants, progressLinearSizes, progressLinearVariants, skeletonColorVariants, skeletonRadiusVariants, spinnerSizes, systemStatuses, tagSizes, tagVariants, textInputSizes, useFileUpload, useTableFilters, useToaster };
11434
11713
  //# sourceMappingURL=index.d.cts.map