@drivenets/design-system 0.16.0 → 0.18.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 (176) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/index.cjs +1893 -824
  3. package/dist/index.d.cts +363 -247
  4. package/dist/index.d.cts.map +1 -1
  5. package/dist/index.d.ts +363 -247
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1896 -829
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.css +1 -1
  10. package/package.json +25 -25
  11. package/src/components/ds-alert-banner/ds-alert-banner-global.figma.ts +49 -0
  12. package/src/components/ds-alert-banner/ds-alert-banner.figma.ts +51 -0
  13. package/src/components/ds-alert-banner/ds-alert-banner.tsx +7 -6
  14. package/src/components/ds-autocomplete/ds-autocomplete.figma.ts +2 -2
  15. package/src/components/ds-autocomplete/ds-autocomplete.module.scss +15 -4
  16. package/src/components/ds-autocomplete/ds-autocomplete.tsx +10 -3
  17. package/src/components/ds-autocomplete/ds-autocomplete.types.ts +8 -0
  18. package/src/components/ds-avatar/ds-avatar.figma.ts +2 -2
  19. package/src/components/ds-avatar-group/ds-avatar-group.figma.ts +2 -2
  20. package/src/components/ds-breadcrumb/ds-breadcrumb.figma.ts +2 -2
  21. package/src/components/ds-button-v3/ds-button-v3.figma.ts +7 -5
  22. package/src/components/ds-button-v3/ds-button-v3.module.scss +84 -17
  23. package/src/components/ds-button-v3/ds-button-v3.tsx +2 -0
  24. package/src/components/ds-button-v3/ds-button-v3.types.ts +11 -2
  25. package/src/components/ds-button-v3/ds-button-v4.figma.ts +121 -0
  26. package/src/components/ds-card/figma/ds-card-content.figma.ts +2 -2
  27. package/src/components/ds-card/figma/ds-card-footer.figma.ts +2 -2
  28. package/src/components/ds-card/figma/ds-card-header.figma.ts +2 -2
  29. package/src/components/ds-card/figma/ds-card.figma.ts +2 -2
  30. package/src/components/ds-catalog-layout/ds-catalog-layout.figma.ts +51 -0
  31. package/src/components/ds-catalog-layout/ds-catalog-layout.tsx +9 -8
  32. package/src/components/ds-checkbox/ds-checkbox-level-2.figma.ts +2 -2
  33. package/src/components/ds-checkbox/ds-checkbox.figma.ts +2 -2
  34. package/src/components/ds-checkbox-group/ds-checkbox-group.figma.ts +2 -2
  35. package/src/components/ds-comment-bubble/ds-comment-bubble.figma.ts +52 -0
  36. package/src/components/ds-comment-card/ds-comment-card.figma.ts +36 -0
  37. package/src/components/ds-comment-indicator/ds-comment-indicator.figma.ts +32 -0
  38. package/src/components/ds-comments-drawer/components/comments-filter-modal/index.ts +0 -1
  39. package/src/components/ds-comments-drawer/ds-comments-drawer.figma.ts +19 -0
  40. package/src/components/ds-confirmation/ds-confirmation.tsx +13 -11
  41. package/src/components/ds-date-picker/ds-date-picker.figma.ts +2 -2
  42. package/src/components/ds-divider/ds-divider.figma.ts +2 -2
  43. package/src/components/ds-drawer/ds-drawer.tsx +11 -10
  44. package/src/components/ds-drawer/figma/ds-drawer-content.figma.ts +2 -2
  45. package/src/components/ds-drawer/figma/ds-drawer-footer.figma.ts +2 -2
  46. package/src/components/ds-drawer/figma/ds-drawer-header.figma.ts +2 -2
  47. package/src/components/ds-drawer/figma/ds-drawer.figma.ts +2 -2
  48. package/src/components/ds-dropdown-menu/figma/ds-dropdown-menu-footer.figma.ts +2 -2
  49. package/src/components/ds-dropdown-menu/figma/ds-dropdown-menu-group.figma.ts +2 -2
  50. package/src/components/ds-dropdown-menu/figma/ds-dropdown-menu-item.figma.ts +2 -2
  51. package/src/components/ds-dropdown-menu/figma/ds-dropdown-menu-separator.figma.ts +2 -2
  52. package/src/components/ds-dropdown-menu/figma/ds-dropdown-menu.figma.ts +2 -2
  53. package/src/components/ds-expandable-text-input/ds-expandable-text-input.figma.ts +2 -2
  54. package/src/components/ds-file-upload/components/file-upload-item/index.ts +0 -1
  55. package/src/components/ds-file-upload/ds-file-upload.figma.ts +2 -2
  56. package/src/components/ds-filter-status-icon/ds-filter-status-icon.figma.ts +2 -2
  57. package/src/components/ds-form-control/ds-form-control.figma.ts +2 -2
  58. package/src/components/ds-form-control/ds-form-control.tsx +15 -13
  59. package/src/components/ds-icon/figma/ds-icon-material.figma.batch.ts +1 -1
  60. package/src/components/ds-icon/figma/ds-icon-special.figma.batch.ts +1 -1
  61. package/src/components/ds-key-value-pair/ds-key-value-pair.figma.ts +2 -2
  62. package/src/components/ds-loader/ds-loader.figma.ts +2 -2
  63. package/src/components/ds-modal/ds-modal.tsx +10 -9
  64. package/src/components/ds-modal/figma/ds-modal-content.figma.ts +2 -2
  65. package/src/components/ds-modal/figma/ds-modal-footer.figma.ts +2 -2
  66. package/src/components/ds-modal/figma/ds-modal-header.figma.ts +2 -2
  67. package/src/components/ds-modal/figma/ds-modal.figma.ts +2 -2
  68. package/src/components/ds-number-input/ds-number-input.tsx +1 -0
  69. package/src/components/ds-panel/ds-panel.figma.ts +2 -2
  70. package/src/components/ds-popover/figma/ds-popover-content-item.figma.ts +2 -2
  71. package/src/components/ds-popover/figma/ds-popover-content.figma.ts +2 -2
  72. package/src/components/ds-popover/figma/ds-popover-footer.figma.ts +2 -2
  73. package/src/components/ds-popover/figma/ds-popover-header.figma.ts +2 -2
  74. package/src/components/ds-popover/figma/ds-popover.figma.ts +2 -2
  75. package/src/components/ds-progress-arc/ds-progress-arc.figma.ts +2 -2
  76. package/src/components/ds-progress-donut/ds-progress-donut.figma.ts +2 -2
  77. package/src/components/ds-progress-linear/ds-progress-linear.figma.ts +2 -2
  78. package/src/components/ds-progress-task-bar/ds-progress-task-bar.figma.ts +2 -2
  79. package/src/components/ds-radio-group/figma/ds-radio-group-item.figma.ts +2 -2
  80. package/src/components/ds-radio-group/figma/ds-radio-group.figma.ts +2 -2
  81. package/src/components/ds-segment-group/figma/ds-segment-group-item.figma.ts +2 -2
  82. package/src/components/ds-segment-group/figma/ds-segment-group.figma.ts +2 -2
  83. package/src/components/ds-select/ds-select.figma.ts +4 -3
  84. package/src/components/ds-select/ds-select.tsx +6 -1
  85. package/src/components/ds-select/ds-select.types.ts +2 -1
  86. package/src/components/ds-site-node/ds-site-node.figma.ts +2 -2
  87. package/src/components/ds-slider/ds-slider.figma.ts +29 -0
  88. package/src/components/ds-slider/ds-slider.module.scss +104 -0
  89. package/src/components/ds-slider/ds-slider.tsx +118 -0
  90. package/src/components/ds-slider/ds-slider.types.ts +102 -0
  91. package/src/components/ds-slider/ds-slider.utils.ts +14 -0
  92. package/src/components/ds-slider/index.ts +11 -0
  93. package/src/components/ds-smart-tabs/ds-smart-tabs.tsx +5 -4
  94. package/src/components/ds-smart-tabs/figma/ds-smart-tabs-tab.figma.ts +83 -0
  95. package/src/components/ds-smart-tabs/figma/ds-smart-tabs.figma.ts +23 -0
  96. package/src/components/ds-spinner/ds-spinner.figma.ts +2 -2
  97. package/src/components/ds-split-button/ds-split-button.figma.ts +2 -2
  98. package/src/components/ds-status-badge-v2/ds-status-badge-v2.figma.ts +2 -2
  99. package/src/components/ds-stepper/ds-stepper.figma.ts +2 -2
  100. package/src/components/ds-table/components/ds-table-group-header-cell/ds-table-group-header-cell.module.scss +5 -1
  101. package/src/components/ds-table/components/ds-table-group-header-cell/ds-table-group-header-cell.tsx +15 -3
  102. package/src/components/ds-table/components/ds-table-group-header-cell/index.ts +0 -1
  103. package/src/components/ds-table/components/ds-table-header/ds-table-header.module.scss +17 -3
  104. package/src/components/ds-table/components/ds-table-header/ds-table-header.tsx +30 -9
  105. package/src/components/ds-table/components/ds-table-resize-handle/ds-table-resize-handle.module.scss +23 -0
  106. package/src/components/ds-table/components/ds-table-resize-handle/ds-table-resize-handle.tsx +218 -0
  107. package/src/components/ds-table/components/ds-table-resize-handle/ds-table-resize-handle.types.ts +14 -0
  108. package/src/components/ds-table/components/ds-table-resize-handle/index.ts +1 -0
  109. package/src/components/ds-table/components/ds-table-resize-overlay/ds-table-resize-overlay.module.scss +18 -0
  110. package/src/components/ds-table/components/ds-table-resize-overlay/ds-table-resize-overlay.tsx +16 -0
  111. package/src/components/ds-table/components/ds-table-resize-overlay/ds-table-resize-overlay.types.ts +13 -0
  112. package/src/components/ds-table/components/ds-table-resize-overlay/index.ts +1 -0
  113. package/src/components/ds-table/components/ds-table-row/ds-table-row.module.scss +1 -1
  114. package/src/components/ds-table/components/ds-table-row/ds-table-row.tsx +9 -2
  115. package/src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.module.scss +2 -1
  116. package/src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.tsx +9 -2
  117. package/src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-checkbox.tsx +2 -2
  118. package/src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-date.tsx +2 -1
  119. package/src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-number.tsx +2 -1
  120. package/src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-select.tsx +2 -1
  121. package/src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-text.tsx +2 -1
  122. package/src/components/ds-table/components/edit/ds-table-editing-cell/ds-table-editing-cell.tsx +12 -3
  123. package/src/components/ds-table/context/ds-table-context.tsx +208 -0
  124. package/src/components/ds-table/ds-table-defaults.ts +42 -0
  125. package/src/components/ds-table/ds-table.module.scss +19 -1
  126. package/src/components/ds-table/ds-table.tsx +163 -235
  127. package/src/components/ds-table/ds-table.types.ts +59 -47
  128. package/src/components/ds-table/figma/ds-table-expandable.figma.ts +2 -2
  129. package/src/components/ds-table/figma/ds-table.figma.ts +2 -2
  130. package/src/components/ds-table/grouping/utils/column-group.ts +7 -5
  131. package/src/components/ds-table/hooks/use-cell-editor.ts +5 -1
  132. package/src/components/ds-table/hooks/use-column-resize.ts +385 -0
  133. package/src/components/ds-table/hooks/use-editing-state.ts +190 -0
  134. package/src/components/ds-table/index.ts +1 -0
  135. package/src/components/ds-table/styles/_variables.scss +2 -1
  136. package/src/components/ds-table/utils/column-size-meta.augmentation.ts +16 -0
  137. package/src/components/ds-table/utils/column-size.ts +213 -10
  138. package/src/components/ds-table/utils/column-size.unit.test.ts +213 -0
  139. package/src/components/ds-table/utils/constants.ts +28 -0
  140. package/src/components/ds-table/utils/frozen-body.ts +33 -0
  141. package/src/components/ds-table/utils/frozen-body.unit.test.ts +44 -0
  142. package/src/components/ds-table/utils/table-api.ts +42 -0
  143. package/src/components/ds-table/utils/table-api.unit.test.ts +82 -0
  144. package/src/components/ds-table/utils/table-columns.tsx +119 -0
  145. package/src/components/ds-table/utils/table-columns.unit.test.ts +199 -0
  146. package/src/components/ds-tabs/figma/ds-tabs-tab-vertical.figma.ts +2 -2
  147. package/src/components/ds-tabs/figma/ds-tabs-tab.figma.ts +2 -2
  148. package/src/components/ds-tabs/figma/ds-tabs-vertical.figma.ts +2 -2
  149. package/src/components/ds-tabs/figma/ds-tabs.figma.ts +2 -2
  150. package/src/components/ds-tag/ds-tag.figma.ts +51 -0
  151. package/src/components/ds-tag-filter/ds-tag-filter.figma.ts +16 -0
  152. package/src/components/ds-text-input/ds-input-field-v02.figma.ts +31 -6
  153. package/src/components/ds-text-input/ds-text-input.figma.ts +5 -4
  154. package/src/components/ds-text-input/ds-text-input.tsx +1 -0
  155. package/src/components/ds-text-input/ds-text-input.types.ts +1 -1
  156. package/src/components/ds-time-picker/ds-time-picker.figma.ts +2 -2
  157. package/src/components/ds-toast/ds-toast.figma.ts +3 -3
  158. package/src/components/ds-toggle/ds-toggle.figma.ts +2 -2
  159. package/src/components/ds-tooltip/ds-tooltip.figma.ts +2 -2
  160. package/src/components/ds-tree/ds-tree.figma.ts +54 -0
  161. package/src/components/ds-tree/ds-tree.module.scss +2 -2
  162. package/src/components/ds-tree/ds-tree.tsx +6 -0
  163. package/src/components/ds-tree/ds-tree.types.ts +16 -0
  164. package/src/components/ds-typography/ds-typography.figma.ts +2 -2
  165. package/src/components/ds-user-card/ds-user-card.figma.ts +2 -2
  166. package/src/components/ds-vertical-tabs/ds-vertical-tabs.tsx +13 -6
  167. package/src/components/ds-workspace-layout/ds-workspace-layout.figma.ts +99 -0
  168. package/src/components/ds-workspace-layout/ds-workspace-layout.module.scss +1 -8
  169. package/src/components/ds-workspace-layout/ds-workspace-layout.tsx +11 -10
  170. package/src/index.ts +1 -0
  171. package/src/styles/_gradients.scss +19 -0
  172. package/src/styles/_root.scss +39 -15
  173. package/src/styles/_typography.scss +1 -0
  174. package/src/styles/shared/_input.scss +10 -0
  175. package/src/styles/styles.scss +1 -0
  176. package/src/components/ds-table/context/ds-table-context.ts +0 -112
package/dist/index.js CHANGED
@@ -26,11 +26,12 @@ import { Select, createListCollection as createListCollection$1, useSelect, useS
26
26
  import * as Collapsible from "@radix-ui/react-collapsible";
27
27
  import { RadioGroup } from "@ark-ui/react/radio-group";
28
28
  import { SegmentGroup } from "@ark-ui/react/segment-group";
29
+ import { Slider } from "@ark-ui/react/slider";
29
30
  import * as steps from "@zag-js/steps";
30
31
  import { normalizeProps, useMachine } from "@zag-js/react";
31
- import { createColumnHelper, defaultColumnSizing, flexRender, getCoreRowModel, getExpandedRowModel, getFilteredRowModel, getSortedRowModel, useReactTable } from "@tanstack/react-table";
32
+ import { createColumnHelper, flexRender, getCoreRowModel, getExpandedRowModel, getFilteredRowModel, getSortedRowModel, useReactTable } from "@tanstack/react-table";
32
33
  import { SortableContext, arrayMove, useSortable, verticalListSortingStrategy } from "@dnd-kit/sortable";
33
- import { CSS } from "@dnd-kit/utilities";
34
+ import { CSS as CSS$1 } from "@dnd-kit/utilities";
34
35
  import { DndContext, KeyboardSensor, MouseSensor, TouchSensor, closestCenter, useSensor, useSensors } from "@dnd-kit/core";
35
36
  import { restrictToVerticalAxis } from "@dnd-kit/modifiers";
36
37
  import { useVirtualizer } from "@tanstack/react-virtual";
@@ -3360,7 +3361,7 @@ DsTypography.displayName = "DsTypography";
3360
3361
  * severity variants, an optional icon, and an optional close button. Compose the
3361
3362
  * content with `DsAlertBanner.Title`, `DsAlertBanner.Body`, and `DsAlertBanner.Actions`.
3362
3363
  */
3363
- const DsAlertBanner = (t0) => {
3364
+ const DsAlertBannerRoot = (t0) => {
3364
3365
  const $ = c(20);
3365
3366
  const { open, onOpenChange, inline: t1, variant: t2, icon, closable: t3, className, style: t4, children } = t0;
3366
3367
  const inline = t1 === void 0 ? false : t1;
@@ -3522,10 +3523,12 @@ const Actions$3 = (t0) => {
3522
3523
  Title$2.displayName = "DsAlertBanner.Title";
3523
3524
  Body$5.displayName = "DsAlertBanner.Body";
3524
3525
  Actions$3.displayName = "DsAlertBanner.Actions";
3525
- DsAlertBanner.Title = Title$2;
3526
- DsAlertBanner.Body = Body$5;
3527
- DsAlertBanner.Actions = Actions$3;
3528
- DsAlertBanner.displayName = "DsAlertBanner";
3526
+ const DsAlertBanner = Object.assign(DsAlertBannerRoot, {
3527
+ displayName: "DsAlertBanner",
3528
+ Title: Title$2,
3529
+ Body: Body$5,
3530
+ Actions: Actions$3
3531
+ });
3529
3532
  //#endregion
3530
3533
  //#region src/components/ds-alert-banner/ds-alert-banner.types.ts
3531
3534
  const alertBannerVariants = [
@@ -3553,110 +3556,122 @@ var ds_autocomplete_module_default = {
3553
3556
  "itemGroup": "pgg73q_itemGroup",
3554
3557
  "itemIcon": "pgg73q_itemIcon",
3555
3558
  "itemText": "pgg73q_itemText",
3559
+ "large": "pgg73q_large",
3556
3560
  "loading": "pgg73q_loading",
3557
3561
  "noMatches": "pgg73q_noMatches",
3558
3562
  "positioner": "pgg73q_positioner",
3559
3563
  "root": "pgg73q_root",
3564
+ "small": "pgg73q_small",
3560
3565
  "startAdornment": "pgg73q_startAdornment",
3561
3566
  "trigger": "pgg73q_trigger"
3562
3567
  };
3563
3568
  //#endregion
3564
3569
  //#region src/components/ds-autocomplete/ds-autocomplete.tsx
3565
3570
  const DsAutocomplete = (t0) => {
3566
- const $ = c(53);
3567
- const { id, options: t1, loading: t2, style, className, placeholder: t3, disabled: t4, invalid: t5, onValueChange, onInputValueChange, onOpenChange, locale: t6, highlightMatch: t7, showTrigger: t8, startAdornment } = t0;
3571
+ const $ = c(58);
3572
+ const { id, options: t1, loading: t2, size: t3, style, className, placeholder: t4, disabled: t5, invalid: t6, onValueChange, onInputValueChange, onOpenChange, locale: t7, highlightMatch: t8, showTrigger: t9, startAdornment } = t0;
3568
3573
  const options = t1 === void 0 ? [] : t1;
3569
3574
  const loading = t2 === void 0 ? false : t2;
3570
- const placeholder = t3 === void 0 ? "Start typing to search..." : t3;
3571
- const disabled = t4 === void 0 ? false : t4;
3572
- const invalid = t5 === void 0 ? false : t5;
3573
- let t9;
3574
- if ($[0] !== t6) {
3575
- t9 = t6 === void 0 ? {} : t6;
3576
- $[0] = t6;
3577
- $[1] = t9;
3578
- } else t9 = $[1];
3579
- const { loading: t10, noMatches: t11 } = t9;
3580
- const loadingMessage = t10 === void 0 ? "Loading..." : t10;
3581
- const noMatchesMessage = t11 === void 0 ? "No matches found" : t11;
3582
- const highlightMatch = t7 === void 0 ? true : t7;
3583
- const showTrigger = t8 === void 0 ? true : t8;
3575
+ const size = t3 === void 0 ? "default" : t3;
3576
+ const placeholder = t4 === void 0 ? "Start typing to search..." : t4;
3577
+ const disabled = t5 === void 0 ? false : t5;
3578
+ const invalid = t6 === void 0 ? false : t6;
3579
+ let t10;
3580
+ if ($[0] !== t7) {
3581
+ t10 = t7 === void 0 ? {} : t7;
3582
+ $[0] = t7;
3583
+ $[1] = t10;
3584
+ } else t10 = $[1];
3585
+ const { loading: t11, noMatches: t12 } = t10;
3586
+ const loadingMessage = t11 === void 0 ? "Loading..." : t11;
3587
+ const noMatchesMessage = t12 === void 0 ? "No matches found" : t12;
3588
+ const highlightMatch = t8 === void 0 ? true : t8;
3589
+ const showTrigger = t9 === void 0 ? true : t9;
3584
3590
  const [filterText, setFilterText] = useState("");
3585
- let t12;
3591
+ let t13;
3586
3592
  if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
3587
- t12 = { sensitivity: "base" };
3588
- $[2] = t12;
3589
- } else t12 = $[2];
3590
- const filterUtils = useFilter(t12);
3593
+ t13 = { sensitivity: "base" };
3594
+ $[2] = t13;
3595
+ } else t13 = $[2];
3596
+ const filterUtils = useFilter(t13);
3591
3597
  const collection = createListCollection({
3592
3598
  items: filterText ? options.filter((opt) => filterUtils.contains(opt.label, filterText)) : options,
3593
- itemToString: _temp$17,
3599
+ itemToString: _temp$18,
3594
3600
  itemToValue: _temp2$9
3595
3601
  });
3596
- let t13;
3602
+ let t14;
3597
3603
  if ($[3] !== onInputValueChange) {
3598
- t13 = (details) => {
3604
+ t14 = (details) => {
3599
3605
  setFilterText(details.inputValue);
3600
3606
  onInputValueChange?.(details.inputValue);
3601
3607
  };
3602
3608
  $[3] = onInputValueChange;
3603
- $[4] = t13;
3604
- } else t13 = $[4];
3605
- const handleInputValueChange = t13;
3606
- let t14;
3609
+ $[4] = t14;
3610
+ } else t14 = $[4];
3611
+ const handleInputValueChange = t14;
3612
+ let t15;
3607
3613
  if ($[5] !== onValueChange) {
3608
- t14 = (details_0) => {
3614
+ t15 = (details_0) => {
3609
3615
  const selectedItem = details_0.items[0];
3610
3616
  onValueChange?.(selectedItem?.value ?? "");
3611
3617
  };
3612
3618
  $[5] = onValueChange;
3613
- $[6] = t14;
3614
- } else t14 = $[6];
3615
- const handleValueChange = t14;
3616
- let t15;
3619
+ $[6] = t15;
3620
+ } else t15 = $[6];
3621
+ const handleValueChange = t15;
3622
+ let t16;
3617
3623
  if ($[7] !== onOpenChange) {
3618
- t15 = (details_1) => {
3624
+ t16 = (details_1) => {
3619
3625
  onOpenChange?.(details_1.open);
3620
3626
  };
3621
3627
  $[7] = onOpenChange;
3622
- $[8] = t15;
3623
- } else t15 = $[8];
3624
- const handleOpenChange = t15;
3625
- let t16;
3628
+ $[8] = t16;
3629
+ } else t16 = $[8];
3630
+ const handleOpenChange = t16;
3631
+ let t17;
3626
3632
  if ($[9] !== className || $[10] !== disabled || $[11] !== invalid) {
3627
- t16 = classNames(ds_autocomplete_module_default.root, {
3633
+ t17 = classNames(ds_autocomplete_module_default.root, {
3628
3634
  [ds_autocomplete_module_default.disabled]: disabled,
3629
3635
  [ds_autocomplete_module_default.invalid]: invalid
3630
3636
  }, className);
3631
3637
  $[9] = className;
3632
3638
  $[10] = disabled;
3633
3639
  $[11] = invalid;
3634
- $[12] = t16;
3635
- } else t16 = $[12];
3636
- const rootClass = t16;
3637
- const t17 = Combobox;
3638
- const t18 = true;
3639
- let t19;
3640
- if ($[13] !== startAdornment) {
3641
- t19 = startAdornment && /* @__PURE__ */ jsx("span", {
3640
+ $[12] = t17;
3641
+ } else t17 = $[12];
3642
+ const rootClass = t17;
3643
+ const t18 = Combobox;
3644
+ const t19 = true;
3645
+ const t20 = size === "small" && ds_autocomplete_module_default.small;
3646
+ const t21 = size === "large" && ds_autocomplete_module_default.large;
3647
+ let t22;
3648
+ if ($[13] !== t20 || $[14] !== t21) {
3649
+ t22 = classNames(ds_autocomplete_module_default.control, t20, t21);
3650
+ $[13] = t20;
3651
+ $[14] = t21;
3652
+ $[15] = t22;
3653
+ } else t22 = $[15];
3654
+ let t23;
3655
+ if ($[16] !== startAdornment) {
3656
+ t23 = startAdornment && /* @__PURE__ */ jsx("span", {
3642
3657
  className: ds_autocomplete_module_default.startAdornment,
3643
3658
  children: startAdornment
3644
3659
  });
3645
- $[13] = startAdornment;
3646
- $[14] = t19;
3647
- } else t19 = $[14];
3648
- let t20;
3649
- if ($[15] !== placeholder) {
3650
- t20 = /* @__PURE__ */ jsx(Combobox.Input, {
3660
+ $[16] = startAdornment;
3661
+ $[17] = t23;
3662
+ } else t23 = $[17];
3663
+ let t24;
3664
+ if ($[18] !== placeholder) {
3665
+ t24 = /* @__PURE__ */ jsx(Combobox.Input, {
3651
3666
  className: ds_autocomplete_module_default.input,
3652
3667
  placeholder
3653
3668
  });
3654
- $[15] = placeholder;
3655
- $[16] = t20;
3656
- } else t20 = $[16];
3657
- let t21;
3658
- if ($[17] !== disabled || $[18] !== showTrigger) {
3659
- t21 = /* @__PURE__ */ jsx(Combobox.Context, { children: (combobox) => /* @__PURE__ */ jsxs("div", {
3669
+ $[18] = placeholder;
3670
+ $[19] = t24;
3671
+ } else t24 = $[19];
3672
+ let t25;
3673
+ if ($[20] !== disabled || $[21] !== showTrigger || $[22] !== size) {
3674
+ t25 = /* @__PURE__ */ jsx(Combobox.Context, { children: (combobox) => /* @__PURE__ */ jsxs("div", {
3660
3675
  className: ds_autocomplete_module_default.iconContainer,
3661
3676
  children: [combobox.inputValue && !disabled && /* @__PURE__ */ jsx("button", {
3662
3677
  type: "button",
@@ -3668,56 +3683,58 @@ const DsAutocomplete = (t0) => {
3668
3683
  },
3669
3684
  children: /* @__PURE__ */ jsx(DsIcon, {
3670
3685
  icon: "close",
3671
- size: "medium"
3686
+ size: size === "small" ? "small" : "medium"
3672
3687
  })
3673
3688
  }), showTrigger && /* @__PURE__ */ jsx(Combobox.Trigger, {
3674
3689
  className: ds_autocomplete_module_default.trigger,
3675
3690
  "aria-label": "Toggle dropdown",
3676
3691
  children: /* @__PURE__ */ jsx(DsIcon, {
3677
3692
  icon: "keyboard_arrow_down",
3678
- size: "medium"
3693
+ size: size === "small" ? "small" : "medium"
3679
3694
  })
3680
3695
  })]
3681
3696
  }) });
3682
- $[17] = disabled;
3683
- $[18] = showTrigger;
3684
- $[19] = t21;
3685
- } else t21 = $[19];
3686
- let t22;
3687
- if ($[20] !== t19 || $[21] !== t20 || $[22] !== t21) {
3688
- t22 = /* @__PURE__ */ jsxs(Combobox.Control, {
3689
- className: ds_autocomplete_module_default.control,
3697
+ $[20] = disabled;
3698
+ $[21] = showTrigger;
3699
+ $[22] = size;
3700
+ $[23] = t25;
3701
+ } else t25 = $[23];
3702
+ let t26;
3703
+ if ($[24] !== t22 || $[25] !== t23 || $[26] !== t24 || $[27] !== t25) {
3704
+ t26 = /* @__PURE__ */ jsxs(Combobox.Control, {
3705
+ className: t22,
3690
3706
  children: [
3691
- t19,
3692
- t20,
3693
- t21
3707
+ t23,
3708
+ t24,
3709
+ t25
3694
3710
  ]
3695
3711
  });
3696
- $[20] = t19;
3697
- $[21] = t20;
3698
- $[22] = t21;
3699
- $[23] = t22;
3700
- } else t22 = $[23];
3712
+ $[24] = t22;
3713
+ $[25] = t23;
3714
+ $[26] = t24;
3715
+ $[27] = t25;
3716
+ $[28] = t26;
3717
+ } else t26 = $[28];
3701
3718
  const T0 = Portal;
3702
- const t23 = Combobox;
3703
- const t24 = ds_autocomplete_module_default;
3704
- const t25 = Combobox;
3705
- const t26 = ds_autocomplete_module_default;
3706
- let t27;
3707
- if ($[24] !== loading || $[25] !== loadingMessage) {
3708
- t27 = loading && /* @__PURE__ */ jsx("div", {
3719
+ const t27 = Combobox;
3720
+ const t28 = ds_autocomplete_module_default;
3721
+ const t29 = Combobox;
3722
+ const t30 = ds_autocomplete_module_default;
3723
+ let t31;
3724
+ if ($[29] !== loading || $[30] !== loadingMessage) {
3725
+ t31 = loading && /* @__PURE__ */ jsx("div", {
3709
3726
  className: ds_autocomplete_module_default.loading,
3710
3727
  children: loadingMessage
3711
3728
  });
3712
- $[24] = loading;
3713
- $[25] = loadingMessage;
3714
- $[26] = t27;
3715
- } else t27 = $[26];
3716
- const t28 = !loading && collection.items.length === 0 && /* @__PURE__ */ jsx("div", {
3729
+ $[29] = loading;
3730
+ $[30] = loadingMessage;
3731
+ $[31] = t31;
3732
+ } else t31 = $[31];
3733
+ const t32 = !loading && collection.items.length === 0 && /* @__PURE__ */ jsx("div", {
3717
3734
  className: ds_autocomplete_module_default.noMatches,
3718
3735
  children: noMatchesMessage
3719
3736
  });
3720
- const t29 = !loading && collection.items.length > 0 && /* @__PURE__ */ jsx(Combobox.ItemGroup, {
3737
+ const t33 = !loading && collection.items.length > 0 && /* @__PURE__ */ jsx(Combobox.ItemGroup, {
3721
3738
  className: ds_autocomplete_module_default.itemGroup,
3722
3739
  children: collection.items.map((option) => /* @__PURE__ */ jsxs(Combobox.Item, {
3723
3740
  item: option,
@@ -3736,44 +3753,44 @@ const DsAutocomplete = (t0) => {
3736
3753
  })]
3737
3754
  }, option.value))
3738
3755
  });
3739
- let t30;
3740
- if ($[27] !== t25.Content || $[28] !== t26.content || $[29] !== t27 || $[30] !== t28 || $[31] !== t29) {
3741
- t30 = /* @__PURE__ */ jsxs(t25.Content, {
3742
- className: t26.content,
3756
+ let t34;
3757
+ if ($[32] !== t29.Content || $[33] !== t30.content || $[34] !== t31 || $[35] !== t32 || $[36] !== t33) {
3758
+ t34 = /* @__PURE__ */ jsxs(t29.Content, {
3759
+ className: t30.content,
3743
3760
  children: [
3744
- t27,
3745
- t28,
3746
- t29
3761
+ t31,
3762
+ t32,
3763
+ t33
3747
3764
  ]
3748
3765
  });
3749
- $[27] = t25.Content;
3750
- $[28] = t26.content;
3751
- $[29] = t27;
3752
- $[30] = t28;
3753
- $[31] = t29;
3754
- $[32] = t30;
3755
- } else t30 = $[32];
3756
- let t31;
3757
- if ($[33] !== t23.Positioner || $[34] !== t24.positioner || $[35] !== t30) {
3758
- t31 = /* @__PURE__ */ jsx(t23.Positioner, {
3759
- className: t24.positioner,
3760
- children: t30
3761
- });
3762
- $[33] = t23.Positioner;
3763
- $[34] = t24.positioner;
3764
- $[35] = t30;
3765
- $[36] = t31;
3766
- } else t31 = $[36];
3767
- let t32;
3768
- if ($[37] !== T0 || $[38] !== t31) {
3769
- t32 = /* @__PURE__ */ jsx(T0, { children: t31 });
3770
- $[37] = T0;
3771
- $[38] = t31;
3772
- $[39] = t32;
3773
- } else t32 = $[39];
3774
- let t33;
3775
- if ($[40] !== collection || $[41] !== disabled || $[42] !== handleInputValueChange || $[43] !== handleOpenChange || $[44] !== handleValueChange || $[45] !== id || $[46] !== invalid || $[47] !== rootClass || $[48] !== style || $[49] !== t17.Root || $[50] !== t22 || $[51] !== t32) {
3776
- t33 = /* @__PURE__ */ jsxs(t17.Root, {
3766
+ $[32] = t29.Content;
3767
+ $[33] = t30.content;
3768
+ $[34] = t31;
3769
+ $[35] = t32;
3770
+ $[36] = t33;
3771
+ $[37] = t34;
3772
+ } else t34 = $[37];
3773
+ let t35;
3774
+ if ($[38] !== t27.Positioner || $[39] !== t28.positioner || $[40] !== t34) {
3775
+ t35 = /* @__PURE__ */ jsx(t27.Positioner, {
3776
+ className: t28.positioner,
3777
+ children: t34
3778
+ });
3779
+ $[38] = t27.Positioner;
3780
+ $[39] = t28.positioner;
3781
+ $[40] = t34;
3782
+ $[41] = t35;
3783
+ } else t35 = $[41];
3784
+ let t36;
3785
+ if ($[42] !== T0 || $[43] !== t35) {
3786
+ t36 = /* @__PURE__ */ jsx(T0, { children: t35 });
3787
+ $[42] = T0;
3788
+ $[43] = t35;
3789
+ $[44] = t36;
3790
+ } else t36 = $[44];
3791
+ let t37;
3792
+ if ($[45] !== collection || $[46] !== disabled || $[47] !== handleInputValueChange || $[48] !== handleOpenChange || $[49] !== handleValueChange || $[50] !== id || $[51] !== invalid || $[52] !== rootClass || $[53] !== style || $[54] !== t18.Root || $[55] !== t26 || $[56] !== t36) {
3793
+ t37 = /* @__PURE__ */ jsxs(t18.Root, {
3777
3794
  id,
3778
3795
  collection,
3779
3796
  className: rootClass,
@@ -3783,33 +3800,40 @@ const DsAutocomplete = (t0) => {
3783
3800
  onInputValueChange: handleInputValueChange,
3784
3801
  onValueChange: handleValueChange,
3785
3802
  onOpenChange: handleOpenChange,
3786
- closeOnSelect: t18,
3787
- children: [t22, t32]
3788
- });
3789
- $[40] = collection;
3790
- $[41] = disabled;
3791
- $[42] = handleInputValueChange;
3792
- $[43] = handleOpenChange;
3793
- $[44] = handleValueChange;
3794
- $[45] = id;
3795
- $[46] = invalid;
3796
- $[47] = rootClass;
3797
- $[48] = style;
3798
- $[49] = t17.Root;
3799
- $[50] = t22;
3800
- $[51] = t32;
3801
- $[52] = t33;
3802
- } else t33 = $[52];
3803
- return t33;
3803
+ closeOnSelect: t19,
3804
+ children: [t26, t36]
3805
+ });
3806
+ $[45] = collection;
3807
+ $[46] = disabled;
3808
+ $[47] = handleInputValueChange;
3809
+ $[48] = handleOpenChange;
3810
+ $[49] = handleValueChange;
3811
+ $[50] = id;
3812
+ $[51] = invalid;
3813
+ $[52] = rootClass;
3814
+ $[53] = style;
3815
+ $[54] = t18.Root;
3816
+ $[55] = t26;
3817
+ $[56] = t36;
3818
+ $[57] = t37;
3819
+ } else t37 = $[57];
3820
+ return t37;
3804
3821
  };
3805
3822
  DsAutocomplete.displayName = "DsAutocomplete";
3806
- function _temp$17(item) {
3823
+ function _temp$18(item) {
3807
3824
  return item.label;
3808
3825
  }
3809
3826
  function _temp2$9(item_0) {
3810
3827
  return item_0.value;
3811
3828
  }
3812
3829
  //#endregion
3830
+ //#region src/components/ds-autocomplete/ds-autocomplete.types.ts
3831
+ const autocompleteSizes = [
3832
+ "small",
3833
+ "default",
3834
+ "large"
3835
+ ];
3836
+ //#endregion
3813
3837
  //#region src/components/ds-avatar/ds-avatar.module.scss
3814
3838
  var ds_avatar_module_default = {
3815
3839
  "avatar": "VcKEMW_avatar",
@@ -3908,11 +3932,11 @@ const DsAvatar = (t0) => {
3908
3932
  return t11;
3909
3933
  };
3910
3934
  DsAvatar.displayName = "DsAvatar";
3911
- function _temp$16(w) {
3935
+ function _temp$17(w) {
3912
3936
  return w[0];
3913
3937
  }
3914
3938
  function _temp2$8(name_0) {
3915
- return name_0.trim().split(" ").map(_temp$16).join("");
3939
+ return name_0.trim().split(" ").map(_temp$17).join("");
3916
3940
  }
3917
3941
  //#endregion
3918
3942
  //#region src/components/ds-avatar/ds-avatar.types.ts
@@ -3984,7 +4008,7 @@ const DsAvatarGroup = (t0) => {
3984
4008
  t6 = remainingCount > 0 && /* @__PURE__ */ jsx(DsTooltip, {
3985
4009
  content: /* @__PURE__ */ jsx("div", {
3986
4010
  className: ds_avatar_group_module_default.tooltipList,
3987
- children: hiddenAvatars.map(_temp$15)
4011
+ children: hiddenAvatars.map(_temp$16)
3988
4012
  }),
3989
4013
  children: /* @__PURE__ */ jsxs("div", {
3990
4014
  className: classNames(ds_avatar_group_module_default.moreAvatar, ds_avatar_group_module_default[size], ds_avatar_group_module_default[type]),
@@ -4018,7 +4042,7 @@ const DsAvatarGroup = (t0) => {
4018
4042
  return t7;
4019
4043
  };
4020
4044
  DsAvatarGroup.displayName = "DsAvatarGroup";
4021
- function _temp$15(avatar_0, index_0) {
4045
+ function _temp$16(avatar_0, index_0) {
4022
4046
  return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(DsTypography, {
4023
4047
  variant: "body-xs-reg",
4024
4048
  children: avatar_0.name
@@ -4072,6 +4096,7 @@ var ds_text_input_module_default = {
4072
4096
  "iconButton": "zbxt3W_iconButton",
4073
4097
  "indicator": "zbxt3W_indicator",
4074
4098
  "input": "zbxt3W_input",
4099
+ "large": "zbxt3W_large",
4075
4100
  "small": "zbxt3W_small",
4076
4101
  "textInputContainer": "zbxt3W_textInputContainer",
4077
4102
  "trigger": "zbxt3W_trigger"
@@ -4079,7 +4104,7 @@ var ds_text_input_module_default = {
4079
4104
  //#endregion
4080
4105
  //#region src/components/ds-text-input/ds-text-input.tsx
4081
4106
  const DsTextInput = (t0) => {
4082
- const $ = c(42);
4107
+ const $ = c(43);
4083
4108
  const { id, ref, name, size: t1, type: t2, onFocus, onBlur, onKeyDown, onChange, onValueChange, className, style: t3, value, defaultValue, min, max, minLength, maxLength, placeholder, disabled: t4, readOnly: t5, tabIndex, slots } = t0;
4084
4109
  const size = t1 === void 0 ? "default" : t1;
4085
4110
  const type = t2 === void 0 ? "text" : t2;
@@ -4095,51 +4120,54 @@ const DsTextInput = (t0) => {
4095
4120
  const InputWrapper = slots?.inputWrapper ?? Fragment$1;
4096
4121
  const t7 = size === "small";
4097
4122
  const t8 = size === "default";
4098
- let t9;
4099
- if ($[2] !== className || $[3] !== t7 || $[4] !== t8) {
4100
- t9 = classNames(ds_text_input_module_default.textInputContainer, {
4123
+ const t9 = size === "large";
4124
+ let t10;
4125
+ if ($[2] !== className || $[3] !== t7 || $[4] !== t8 || $[5] !== t9) {
4126
+ t10 = classNames(ds_text_input_module_default.textInputContainer, {
4101
4127
  [ds_text_input_module_default.small]: t7,
4102
- [ds_text_input_module_default.default]: t8
4128
+ [ds_text_input_module_default.default]: t8,
4129
+ [ds_text_input_module_default.large]: t9
4103
4130
  }, className);
4104
4131
  $[2] = className;
4105
4132
  $[3] = t7;
4106
4133
  $[4] = t8;
4107
4134
  $[5] = t9;
4108
- } else t9 = $[5];
4109
- const containerClass = t9;
4110
- let t10;
4111
- if ($[6] !== onChange || $[7] !== onValueChange) {
4112
- t10 = (event) => {
4135
+ $[6] = t10;
4136
+ } else t10 = $[6];
4137
+ const containerClass = t10;
4138
+ let t11;
4139
+ if ($[7] !== onChange || $[8] !== onValueChange) {
4140
+ t11 = (event) => {
4113
4141
  const newValue = event.target.value;
4114
4142
  onChange?.(event);
4115
4143
  onValueChange?.(newValue);
4116
4144
  };
4117
- $[6] = onChange;
4118
- $[7] = onValueChange;
4119
- $[8] = t10;
4120
- } else t10 = $[8];
4121
- const handleChange = t10;
4122
- let t11;
4123
- if ($[9] !== slots) {
4124
- t11 = slots?.startAdornment && /* @__PURE__ */ jsx("div", {
4145
+ $[7] = onChange;
4146
+ $[8] = onValueChange;
4147
+ $[9] = t11;
4148
+ } else t11 = $[9];
4149
+ const handleChange = t11;
4150
+ let t12;
4151
+ if ($[10] !== slots) {
4152
+ t12 = slots?.startAdornment && /* @__PURE__ */ jsx("div", {
4125
4153
  className: ds_text_input_module_default.adornment,
4126
4154
  children: slots.startAdornment
4127
4155
  });
4128
- $[9] = slots;
4129
- $[10] = t11;
4130
- } else t11 = $[10];
4131
- let t12;
4132
- if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
4133
- t12 = classNames(ds_text_input_module_default.input);
4156
+ $[10] = slots;
4134
4157
  $[11] = t12;
4135
4158
  } else t12 = $[11];
4136
4159
  let t13;
4137
- if ($[12] !== defaultValue || $[13] !== disabled || $[14] !== handleChange || $[15] !== id || $[16] !== max || $[17] !== maxLength || $[18] !== min || $[19] !== minLength || $[20] !== name || $[21] !== onBlur || $[22] !== onFocus || $[23] !== onKeyDown || $[24] !== placeholder || $[25] !== readOnly || $[26] !== ref || $[27] !== tabIndex || $[28] !== type || $[29] !== value) {
4138
- t13 = /* @__PURE__ */ jsx("input", {
4160
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
4161
+ t13 = classNames(ds_text_input_module_default.input);
4162
+ $[12] = t13;
4163
+ } else t13 = $[12];
4164
+ let t14;
4165
+ if ($[13] !== defaultValue || $[14] !== disabled || $[15] !== handleChange || $[16] !== id || $[17] !== max || $[18] !== maxLength || $[19] !== min || $[20] !== minLength || $[21] !== name || $[22] !== onBlur || $[23] !== onFocus || $[24] !== onKeyDown || $[25] !== placeholder || $[26] !== readOnly || $[27] !== ref || $[28] !== tabIndex || $[29] !== type || $[30] !== value) {
4166
+ t14 = /* @__PURE__ */ jsx("input", {
4139
4167
  id,
4140
4168
  ref,
4141
4169
  name,
4142
- className: t12,
4170
+ className: t13,
4143
4171
  type,
4144
4172
  value,
4145
4173
  defaultValue,
@@ -4156,66 +4184,70 @@ const DsTextInput = (t0) => {
4156
4184
  onChange: handleChange,
4157
4185
  tabIndex
4158
4186
  });
4159
- $[12] = defaultValue;
4160
- $[13] = disabled;
4161
- $[14] = handleChange;
4162
- $[15] = id;
4163
- $[16] = max;
4164
- $[17] = maxLength;
4165
- $[18] = min;
4166
- $[19] = minLength;
4167
- $[20] = name;
4168
- $[21] = onBlur;
4169
- $[22] = onFocus;
4170
- $[23] = onKeyDown;
4171
- $[24] = placeholder;
4172
- $[25] = readOnly;
4173
- $[26] = ref;
4174
- $[27] = tabIndex;
4175
- $[28] = type;
4176
- $[29] = value;
4177
- $[30] = t13;
4178
- } else t13 = $[30];
4179
- let t14;
4180
- if ($[31] !== InputWrapper || $[32] !== t13) {
4181
- t14 = /* @__PURE__ */ jsx(InputWrapper, { children: t13 });
4182
- $[31] = InputWrapper;
4183
- $[32] = t13;
4184
- $[33] = t14;
4185
- } else t14 = $[33];
4187
+ $[13] = defaultValue;
4188
+ $[14] = disabled;
4189
+ $[15] = handleChange;
4190
+ $[16] = id;
4191
+ $[17] = max;
4192
+ $[18] = maxLength;
4193
+ $[19] = min;
4194
+ $[20] = minLength;
4195
+ $[21] = name;
4196
+ $[22] = onBlur;
4197
+ $[23] = onFocus;
4198
+ $[24] = onKeyDown;
4199
+ $[25] = placeholder;
4200
+ $[26] = readOnly;
4201
+ $[27] = ref;
4202
+ $[28] = tabIndex;
4203
+ $[29] = type;
4204
+ $[30] = value;
4205
+ $[31] = t14;
4206
+ } else t14 = $[31];
4186
4207
  let t15;
4187
- if ($[34] !== slots) {
4188
- t15 = slots?.endAdornment && /* @__PURE__ */ jsx("div", {
4208
+ if ($[32] !== InputWrapper || $[33] !== t14) {
4209
+ t15 = /* @__PURE__ */ jsx(InputWrapper, { children: t14 });
4210
+ $[32] = InputWrapper;
4211
+ $[33] = t14;
4212
+ $[34] = t15;
4213
+ } else t15 = $[34];
4214
+ let t16;
4215
+ if ($[35] !== slots) {
4216
+ t16 = slots?.endAdornment && /* @__PURE__ */ jsx("div", {
4189
4217
  className: ds_text_input_module_default.adornment,
4190
4218
  children: slots.endAdornment
4191
4219
  });
4192
- $[34] = slots;
4193
- $[35] = t15;
4194
- } else t15 = $[35];
4195
- let t16;
4196
- if ($[36] !== containerClass || $[37] !== style || $[38] !== t11 || $[39] !== t14 || $[40] !== t15) {
4197
- t16 = /* @__PURE__ */ jsxs("div", {
4220
+ $[35] = slots;
4221
+ $[36] = t16;
4222
+ } else t16 = $[36];
4223
+ let t17;
4224
+ if ($[37] !== containerClass || $[38] !== style || $[39] !== t12 || $[40] !== t15 || $[41] !== t16) {
4225
+ t17 = /* @__PURE__ */ jsxs("div", {
4198
4226
  className: containerClass,
4199
4227
  style,
4200
4228
  children: [
4201
- t11,
4202
- t14,
4203
- t15
4229
+ t12,
4230
+ t15,
4231
+ t16
4204
4232
  ]
4205
4233
  });
4206
- $[36] = containerClass;
4207
- $[37] = style;
4208
- $[38] = t11;
4209
- $[39] = t14;
4234
+ $[37] = containerClass;
4235
+ $[38] = style;
4236
+ $[39] = t12;
4210
4237
  $[40] = t15;
4211
4238
  $[41] = t16;
4212
- } else t16 = $[41];
4213
- return t16;
4239
+ $[42] = t17;
4240
+ } else t17 = $[42];
4241
+ return t17;
4214
4242
  };
4215
4243
  DsTextInput.displayName = "DsTextInput";
4216
4244
  //#endregion
4217
4245
  //#region src/components/ds-text-input/ds-text-input.types.ts
4218
- const textInputSizes = ["small", "default"];
4246
+ const textInputSizes = [
4247
+ "small",
4248
+ "default",
4249
+ "large"
4250
+ ];
4219
4251
  //#endregion
4220
4252
  //#region src/components/ds-dropdown-menu/ds-dropdown-menu.tsx
4221
4253
  const GroupContext = createContext(null);
@@ -4579,7 +4611,7 @@ const ItemGroupLabel = (t0) => {
4579
4611
  className: t1,
4580
4612
  style,
4581
4613
  onClick: toggle,
4582
- onKeyDown: _temp$14,
4614
+ onKeyDown: _temp$15,
4583
4615
  children: [t2, t5]
4584
4616
  })
4585
4617
  });
@@ -4894,7 +4926,7 @@ DsDropdownMenu.ItemGroupLabel.displayName = "DsDropdownMenu.ItemGroupLabel";
4894
4926
  DsDropdownMenu.ItemGroupContent.displayName = "DsDropdownMenu.ItemGroupContent";
4895
4927
  DsDropdownMenu.Separator.displayName = "DsDropdownMenu.Separator";
4896
4928
  DsDropdownMenuLegacy.displayName = "DsDropdownMenuLegacy";
4897
- function _temp$14(e) {
4929
+ function _temp$15(e) {
4898
4930
  return e.stopPropagation();
4899
4931
  }
4900
4932
  function _temp2$7(e) {
@@ -4960,7 +4992,7 @@ const DsBreadcrumb = (t0) => {
4960
4992
  placeholder: "Search",
4961
4993
  value: search,
4962
4994
  onValueChange: setSearch,
4963
- onKeyDown: _temp$13,
4995
+ onKeyDown: _temp$14,
4964
4996
  slots: { startAdornment: /* @__PURE__ */ jsx(DsIcon, {
4965
4997
  icon: "search",
4966
4998
  size: "tiny"
@@ -5017,7 +5049,7 @@ const DsBreadcrumb = (t0) => {
5017
5049
  return t4;
5018
5050
  };
5019
5051
  DsBreadcrumb.displayName = "DsBreadcrumb";
5020
- function _temp$13(e) {
5052
+ function _temp$14(e) {
5021
5053
  return e.stopPropagation();
5022
5054
  }
5023
5055
  //#endregion
@@ -5473,7 +5505,7 @@ const iconSizeMap = Object.freeze({
5473
5505
  * @summary action button with color/variant/size, icon-only, loading and selected states
5474
5506
  */
5475
5507
  const DsButtonV3$1 = (t0) => {
5476
- const $ = c(37);
5508
+ const $ = c(39);
5477
5509
  let children;
5478
5510
  let className;
5479
5511
  let disabled;
@@ -5487,8 +5519,9 @@ const DsButtonV3$1 = (t0) => {
5487
5519
  let t4;
5488
5520
  let t5;
5489
5521
  let t6;
5522
+ let t7;
5490
5523
  if ($[0] !== t0) {
5491
- ({ref, className, style, children, icon, disabled, loading: t1, color: t2, variant: t3, size: t4, selected: t5, type: t6, ...rest} = t0);
5524
+ ({ref, className, style, children, icon, disabled, loading: t1, color: t2, variant: t3, size: t4, selected: t5, highEmphasis: t6, type: t7, ...rest} = t0);
5492
5525
  $[0] = t0;
5493
5526
  $[1] = children;
5494
5527
  $[2] = className;
@@ -5503,6 +5536,7 @@ const DsButtonV3$1 = (t0) => {
5503
5536
  $[11] = t4;
5504
5537
  $[12] = t5;
5505
5538
  $[13] = t6;
5539
+ $[14] = t7;
5506
5540
  } else {
5507
5541
  children = $[1];
5508
5542
  className = $[2];
@@ -5517,80 +5551,86 @@ const DsButtonV3$1 = (t0) => {
5517
5551
  t4 = $[11];
5518
5552
  t5 = $[12];
5519
5553
  t6 = $[13];
5554
+ t7 = $[14];
5520
5555
  }
5521
5556
  const loading = t1 === void 0 ? false : t1;
5522
5557
  const color = t2 === void 0 ? "default" : t2;
5523
5558
  const variant = t3 === void 0 ? "primary" : t3;
5524
5559
  const size = t4 === void 0 ? "medium" : t4;
5525
5560
  const selected = t5 === void 0 ? false : t5;
5526
- const type = t6 === void 0 ? "button" : t6;
5561
+ const highEmphasis = t6 === void 0 ? false : t6;
5562
+ const type = t7 === void 0 ? "button" : t7;
5527
5563
  const isIconOnly = icon !== void 0 && !children;
5528
- const t7 = disabled || loading;
5529
- const t8 = loading || void 0;
5530
- let t9;
5531
- if ($[14] !== className) {
5532
- t9 = classNames(ds_button_v3_module_default.root, className);
5533
- $[14] = className;
5534
- $[15] = t9;
5535
- } else t9 = $[15];
5536
- const t10 = selected ? "true" : void 0;
5537
- const t11 = isIconOnly || void 0;
5538
- const t12 = loading && !disabled ? "" : void 0;
5539
- let t13;
5540
- if ($[16] !== icon || $[17] !== loading || $[18] !== size) {
5541
- t13 = loading ? /* @__PURE__ */ jsx(DsSpinner, {}) : icon && /* @__PURE__ */ jsx(DsIcon, {
5564
+ const t8 = disabled || loading;
5565
+ const t9 = loading || void 0;
5566
+ let t10;
5567
+ if ($[15] !== className) {
5568
+ t10 = classNames(ds_button_v3_module_default.root, className);
5569
+ $[15] = className;
5570
+ $[16] = t10;
5571
+ } else t10 = $[16];
5572
+ const t11 = selected ? "true" : void 0;
5573
+ const t12 = highEmphasis ? "true" : void 0;
5574
+ const t13 = isIconOnly || void 0;
5575
+ const t14 = loading && !disabled ? "" : void 0;
5576
+ let t15;
5577
+ if ($[17] !== icon || $[18] !== loading || $[19] !== size) {
5578
+ t15 = loading ? /* @__PURE__ */ jsx(DsSpinner, {}) : icon && /* @__PURE__ */ jsx(DsIcon, {
5542
5579
  icon,
5543
5580
  size: iconSizeMap[size],
5544
5581
  "aria-hidden": true
5545
5582
  });
5546
- $[16] = icon;
5547
- $[17] = loading;
5548
- $[18] = size;
5549
- $[19] = t13;
5550
- } else t13 = $[19];
5551
- let t14;
5552
- if ($[20] !== children || $[21] !== color || $[22] !== ref || $[23] !== rest || $[24] !== selected || $[25] !== size || $[26] !== style || $[27] !== t10 || $[28] !== t11 || $[29] !== t12 || $[30] !== t13 || $[31] !== t7 || $[32] !== t8 || $[33] !== t9 || $[34] !== type || $[35] !== variant) {
5553
- t14 = /* @__PURE__ */ jsxs("button", {
5583
+ $[17] = icon;
5584
+ $[18] = loading;
5585
+ $[19] = size;
5586
+ $[20] = t15;
5587
+ } else t15 = $[20];
5588
+ let t16;
5589
+ if ($[21] !== children || $[22] !== color || $[23] !== ref || $[24] !== rest || $[25] !== selected || $[26] !== size || $[27] !== style || $[28] !== t10 || $[29] !== t11 || $[30] !== t12 || $[31] !== t13 || $[32] !== t14 || $[33] !== t15 || $[34] !== t8 || $[35] !== t9 || $[36] !== type || $[37] !== variant) {
5590
+ t16 = /* @__PURE__ */ jsxs("button", {
5554
5591
  ref,
5555
5592
  type,
5556
- disabled: t7,
5557
- "aria-busy": t8,
5593
+ disabled: t8,
5594
+ "aria-busy": t9,
5558
5595
  "aria-pressed": selected,
5559
- className: t9,
5596
+ className: t10,
5560
5597
  style,
5561
5598
  "data-color": color,
5562
5599
  "data-variant": variant,
5563
5600
  "data-size": size,
5564
- "data-selected": t10,
5565
- "data-icon-only": t11,
5566
- "data-loading": t12,
5601
+ "data-selected": t11,
5602
+ "data-high-emphasis": t12,
5603
+ "data-icon-only": t13,
5604
+ "data-loading": t14,
5567
5605
  ...rest,
5568
- children: [t13, children]
5569
- });
5570
- $[20] = children;
5571
- $[21] = color;
5572
- $[22] = ref;
5573
- $[23] = rest;
5574
- $[24] = selected;
5575
- $[25] = size;
5576
- $[26] = style;
5577
- $[27] = t10;
5578
- $[28] = t11;
5579
- $[29] = t12;
5580
- $[30] = t13;
5581
- $[31] = t7;
5582
- $[32] = t8;
5583
- $[33] = t9;
5584
- $[34] = type;
5585
- $[35] = variant;
5586
- $[36] = t14;
5587
- } else t14 = $[36];
5588
- return t14;
5606
+ children: [t15, children]
5607
+ });
5608
+ $[21] = children;
5609
+ $[22] = color;
5610
+ $[23] = ref;
5611
+ $[24] = rest;
5612
+ $[25] = selected;
5613
+ $[26] = size;
5614
+ $[27] = style;
5615
+ $[28] = t10;
5616
+ $[29] = t11;
5617
+ $[30] = t12;
5618
+ $[31] = t13;
5619
+ $[32] = t14;
5620
+ $[33] = t15;
5621
+ $[34] = t8;
5622
+ $[35] = t9;
5623
+ $[36] = type;
5624
+ $[37] = variant;
5625
+ $[38] = t16;
5626
+ } else t16 = $[38];
5627
+ return t16;
5589
5628
  };
5590
5629
  //#endregion
5591
5630
  //#region src/components/ds-button-v3/ds-button-v3.types.ts
5592
5631
  const buttonV3Variants = [
5593
5632
  "primary",
5633
+ "primary-subtle",
5594
5634
  "secondary",
5595
5635
  "tertiary"
5596
5636
  ];
@@ -5913,7 +5953,7 @@ const DEFAULT_LOCALE$1 = Object.freeze({
5913
5953
  pinButtonLabel: "Pin side menu",
5914
5954
  unpinButtonLabel: "Unpin side menu"
5915
5955
  });
5916
- const DsCatalogLayout = (t0) => {
5956
+ const DsCatalogLayoutRoot = (t0) => {
5917
5957
  const $ = c(17);
5918
5958
  let className;
5919
5959
  let rest;
@@ -6288,12 +6328,14 @@ Body$3.displayName = "DsCatalogLayout.Body";
6288
6328
  SideMenu$1.displayName = "DsCatalogLayout.SideMenu";
6289
6329
  Content$1.displayName = "DsCatalogLayout.Content";
6290
6330
  ContentHeader.displayName = "DsCatalogLayout.ContentHeader";
6291
- DsCatalogLayout.Header = Header$3;
6292
- DsCatalogLayout.Body = Body$3;
6293
- DsCatalogLayout.SideMenu = SideMenu$1;
6294
- DsCatalogLayout.Content = Content$1;
6295
- DsCatalogLayout.ContentHeader = ContentHeader;
6296
- DsCatalogLayout.displayName = "DsCatalogLayout";
6331
+ const DsCatalogLayout = Object.assign(DsCatalogLayoutRoot, {
6332
+ displayName: "DsCatalogLayout",
6333
+ Header: Header$3,
6334
+ Body: Body$3,
6335
+ SideMenu: SideMenu$1,
6336
+ Content: Content$1,
6337
+ ContentHeader
6338
+ });
6297
6339
  //#endregion
6298
6340
  //#region src/components/ds-checkbox/ds-checkbox.module.scss
6299
6341
  var ds_checkbox_module_default = {
@@ -7285,7 +7327,7 @@ const DsCommentThread = (t0) => {
7285
7327
  const bottomRef = useRef(null);
7286
7328
  let t1;
7287
7329
  if ($[0] !== messages) {
7288
- t1 = messages.find(_temp$12) || messages[0];
7330
+ t1 = messages.find(_temp$13) || messages[0];
7289
7331
  $[0] = messages;
7290
7332
  $[1] = t1;
7291
7333
  } else t1 = $[1];
@@ -7426,7 +7468,7 @@ const DsCommentThread = (t0) => {
7426
7468
  return t22;
7427
7469
  };
7428
7470
  DsCommentThread.displayName = "DsCommentThread";
7429
- function _temp$12(m) {
7471
+ function _temp$13(m) {
7430
7472
  return m.isInitialMessage;
7431
7473
  }
7432
7474
  //#endregion
@@ -8150,7 +8192,7 @@ const DsCommentCard = (t0) => {
8150
8192
  const { numericId, author, createdAt, messages, referenceTag, isActionRequired } = comment;
8151
8193
  let t4;
8152
8194
  if ($[0] !== messages) {
8153
- t4 = messages.find(_temp$11) || messages[0];
8195
+ t4 = messages.find(_temp$12) || messages[0];
8154
8196
  $[0] = messages;
8155
8197
  $[1] = t4;
8156
8198
  } else t4 = $[1];
@@ -8475,7 +8517,7 @@ const DsCommentCard = (t0) => {
8475
8517
  return t34;
8476
8518
  };
8477
8519
  DsCommentCard.displayName = "DsCommentCard";
8478
- function _temp$11(m) {
8520
+ function _temp$12(m) {
8479
8521
  return m.isInitialMessage;
8480
8522
  }
8481
8523
  function _temp2$6(m_0) {
@@ -8686,7 +8728,7 @@ const useArkDialogBodyLockCleanup = (open, enabled) => {
8686
8728
  };
8687
8729
  //#endregion
8688
8730
  //#region src/components/ds-drawer/ds-drawer.tsx
8689
- const DsDrawer = (t0) => {
8731
+ const DsDrawerRoot = (t0) => {
8690
8732
  const $ = c(28);
8691
8733
  const { open, onOpenChange, onOpenAutoFocus, columns: t1, position: t2, backdrop: t3, closeOnEscape: t4, closeOnInteractOutside: t5, portal: t6, style, className, children } = t0;
8692
8734
  const columns = t1 === void 0 ? 4 : t1;
@@ -8974,14 +9016,16 @@ Toolbar.displayName = "DsDrawer.Toolbar";
8974
9016
  Body$2.displayName = "DsDrawer.Body";
8975
9017
  Footer$2.displayName = "DsDrawer.Footer";
8976
9018
  Actions$1.displayName = "DsDrawer.Actions";
8977
- DsDrawer.Header = Header$2;
8978
- DsDrawer.Title = Title$1;
8979
- DsDrawer.CloseTrigger = CloseTrigger$1;
8980
- DsDrawer.Toolbar = Toolbar;
8981
- DsDrawer.Body = Body$2;
8982
- DsDrawer.Footer = Footer$2;
8983
- DsDrawer.Actions = Actions$1;
8984
- DsDrawer.displayName = "DsDrawer";
9019
+ const DsDrawer = Object.assign(DsDrawerRoot, {
9020
+ displayName: "DsDrawer",
9021
+ Header: Header$2,
9022
+ Title: Title$1,
9023
+ CloseTrigger: CloseTrigger$1,
9024
+ Toolbar,
9025
+ Body: Body$2,
9026
+ Footer: Footer$2,
9027
+ Actions: Actions$1
9028
+ });
8985
9029
  //#endregion
8986
9030
  //#region src/components/ds-tag-filter/ds-tag-filter.module.scss
8987
9031
  var ds_tag_filter_module_default = {
@@ -9521,7 +9565,7 @@ var ds_modal_module_default = {
9521
9565
  * Supports custom header, footer, and body content with grid-based sizing.
9522
9566
  * Use columns prop to control modal width (1-12 grid columns).
9523
9567
  */
9524
- const DsModal = (t0) => {
9568
+ const DsModalRoot = (t0) => {
9525
9569
  const $ = c(20);
9526
9570
  const { open, columns: t1, dividers: t2, style, className, modal: t3, closeOnEscape, closeOnInteractOutside: t4, children, onOpenChange } = t0;
9527
9571
  const columns = t1 === void 0 ? 6 : t1;
@@ -9750,13 +9794,15 @@ CloseTrigger.displayName = "DsModal.CloseTrigger";
9750
9794
  Body$1.displayName = "DsModal.Body";
9751
9795
  Footer$1.displayName = "DsModal.Footer";
9752
9796
  Actions.displayName = "DsModal.Actions";
9753
- DsModal.Header = Header$1;
9754
- DsModal.Title = Title;
9755
- DsModal.CloseTrigger = CloseTrigger;
9756
- DsModal.Body = Body$1;
9757
- DsModal.Footer = Footer$1;
9758
- DsModal.Actions = Actions;
9759
- DsModal.displayName = "DsModal";
9797
+ const DsModal = Object.assign(DsModalRoot, {
9798
+ displayName: "DsModal",
9799
+ Header: Header$1,
9800
+ Title,
9801
+ CloseTrigger,
9802
+ Body: Body$1,
9803
+ Footer: Footer$1,
9804
+ Actions
9805
+ });
9760
9806
  //#endregion
9761
9807
  //#region src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.scss
9762
9808
  var ds_tabs_list_module_default = { "tabList": "vT68YW_tabList" };
@@ -9919,7 +9965,7 @@ const DsTabsTab = (t0) => {
9919
9965
  })
9920
9966
  }), /* @__PURE__ */ jsx(DsDropdownMenu.Content, {
9921
9967
  className: ds_tabs_tab_module_default.menuContent,
9922
- children: menuActionItems.map(_temp$10)
9968
+ children: menuActionItems.map(_temp$11)
9923
9969
  })]
9924
9970
  });
9925
9971
  $[17] = handleMenuActionSelect;
@@ -9958,7 +10004,7 @@ const DsTabsTab = (t0) => {
9958
10004
  return t6;
9959
10005
  };
9960
10006
  DsTabsTab.displayName = "DsTabs.Tab";
9961
- function _temp$10(item) {
10007
+ function _temp$11(item) {
9962
10008
  return /* @__PURE__ */ jsx(DsDropdownMenu.Item, {
9963
10009
  value: item.value,
9964
10010
  disabled: item.disabled,
@@ -10485,7 +10531,7 @@ const YearView$1 = () => {
10485
10531
  return t0;
10486
10532
  };
10487
10533
  DsDateInput.displayName = "DsDateInput";
10488
- function _temp$9(weekDay, id) {
10534
+ function _temp$10(weekDay, id) {
10489
10535
  return /* @__PURE__ */ jsx(DatePicker.TableHeader, {
10490
10536
  className: ds_date_input_module_default.tableHeader,
10491
10537
  children: /* @__PURE__ */ jsx(DsTypography, {
@@ -10520,7 +10566,7 @@ function _temp4$2(datePicker) {
10520
10566
  className: ds_date_input_module_default.tableHead,
10521
10567
  children: /* @__PURE__ */ jsx(DatePicker.TableRow, {
10522
10568
  className: ds_date_input_module_default.tableRow,
10523
- children: datePicker.weekDays.map(_temp$9)
10569
+ children: datePicker.weekDays.map(_temp$10)
10524
10570
  })
10525
10571
  }), /* @__PURE__ */ jsx(DatePicker.TableBody, {
10526
10572
  className: ds_date_input_module_default.tableBody,
@@ -11163,7 +11209,7 @@ const DsCommentsDrawer = (t0) => {
11163
11209
  authorsMap.set(comment.author.id, comment.author.name);
11164
11210
  comment.labels?.forEach((label) => labelsSet.add(label));
11165
11211
  });
11166
- availableAuthors = Array.from(authorsMap.entries()).map(_temp$8);
11212
+ availableAuthors = Array.from(authorsMap.entries()).map(_temp$9);
11167
11213
  availableLabels = Array.from(labelsSet);
11168
11214
  let filteredComments = comments;
11169
11215
  if (!showResolved) filteredComments = filteredComments.filter(_temp2$4);
@@ -11516,7 +11562,7 @@ const DsCommentsDrawer = (t0) => {
11516
11562
  return t18;
11517
11563
  };
11518
11564
  DsCommentsDrawer.displayName = "DsCommentsDrawer";
11519
- function _temp$8(t0) {
11565
+ function _temp$9(t0) {
11520
11566
  const [id, name] = t0;
11521
11567
  return {
11522
11568
  id,
@@ -11537,11 +11583,7 @@ function _temp5$1(c_1) {
11537
11583
  }
11538
11584
  //#endregion
11539
11585
  //#region src/components/ds-confirmation/ds-confirmation.tsx
11540
- /**
11541
- * @deprecated DsConfirmation is deprecated. Use DsModal instead.
11542
- * @see {@link ../ds-modal} for the replacement component.
11543
- */
11544
- const DsConfirmation = (props) => {
11586
+ const DsConfirmationRoot = (props) => {
11545
11587
  const $ = c(2);
11546
11588
  let t0;
11547
11589
  if ($[0] !== props) {
@@ -11556,13 +11598,19 @@ const DsConfirmation = (props) => {
11556
11598
  } else t0 = $[1];
11557
11599
  return t0;
11558
11600
  };
11559
- DsConfirmation.Header = DsModal.Header;
11560
- DsConfirmation.Title = DsModal.Title;
11561
- DsConfirmation.CloseTrigger = DsModal.CloseTrigger;
11562
- DsConfirmation.Body = DsModal.Body;
11563
- DsConfirmation.Footer = DsModal.Footer;
11564
- DsConfirmation.Actions = DsModal.Actions;
11565
- DsConfirmation.displayName = "DsConfirmation";
11601
+ /**
11602
+ * @deprecated DsConfirmation is deprecated. Use DsModal instead.
11603
+ * @see {@link ../ds-modal} for the replacement component.
11604
+ */
11605
+ const DsConfirmation = Object.assign(DsConfirmationRoot, {
11606
+ displayName: "DsConfirmation",
11607
+ Header: DsModal.Header,
11608
+ Title: DsModal.Title,
11609
+ CloseTrigger: DsModal.CloseTrigger,
11610
+ Body: DsModal.Body,
11611
+ Footer: DsModal.Footer,
11612
+ Actions: DsModal.Actions
11613
+ });
11566
11614
  //#endregion
11567
11615
  //#region src/components/ds-date-picker/ds-date-picker.utils.ts
11568
11616
  const toIntlDate = (date) => date ? fromDate(date, getLocalTimeZone()) : date;
@@ -12318,7 +12366,7 @@ const DayView = (t0) => {
12318
12366
  className: calendar_table_module_default.table,
12319
12367
  children: [/* @__PURE__ */ jsx(DatePicker.TableHead, { children: /* @__PURE__ */ jsx(DatePicker.TableRow, {
12320
12368
  className: calendar_table_module_default.tableRow,
12321
- children: datePicker.weekDays.map(_temp$7)
12369
+ children: datePicker.weekDays.map(_temp$8)
12322
12370
  }) }), /* @__PURE__ */ jsx(DatePicker.TableBody, {
12323
12371
  className: calendar_table_module_default.tableBody,
12324
12372
  children: datePicker.weeks.map(_temp3$3)
@@ -12333,7 +12381,7 @@ const DayView = (t0) => {
12333
12381
  } else t1 = $[1];
12334
12382
  return t1;
12335
12383
  };
12336
- function _temp$7(weekDay, idx) {
12384
+ function _temp$8(weekDay, idx) {
12337
12385
  return /* @__PURE__ */ jsx(DatePicker.TableHeader, {
12338
12386
  className: calendar_table_module_default.tableHeader,
12339
12387
  children: /* @__PURE__ */ jsx(DsTypography, {
@@ -12377,7 +12425,7 @@ const MonthView = () => {
12377
12425
  } else t0 = $[0];
12378
12426
  return t0;
12379
12427
  };
12380
- function _temp$6(month, monthIdx) {
12428
+ function _temp$7(month, monthIdx) {
12381
12429
  return /* @__PURE__ */ jsx(DatePicker.TableCell, {
12382
12430
  value: month.value,
12383
12431
  children: /* @__PURE__ */ jsx(DatePicker.TableCellTrigger, {
@@ -12392,7 +12440,7 @@ function _temp$6(month, monthIdx) {
12392
12440
  function _temp2$2(months, rowIdx) {
12393
12441
  return /* @__PURE__ */ jsx(DatePicker.TableRow, {
12394
12442
  className: calendar_table_module_default.tableRow,
12395
- children: months.map(_temp$6)
12443
+ children: months.map(_temp$7)
12396
12444
  }, rowIdx);
12397
12445
  }
12398
12446
  function _temp3$2(datePicker) {
@@ -12424,7 +12472,7 @@ const YearView = () => {
12424
12472
  } else t0 = $[0];
12425
12473
  return t0;
12426
12474
  };
12427
- function _temp$5(year, yearIdx) {
12475
+ function _temp$6(year, yearIdx) {
12428
12476
  return /* @__PURE__ */ jsx(DatePicker.TableCell, {
12429
12477
  value: year.value,
12430
12478
  children: /* @__PURE__ */ jsx(DatePicker.TableCellTrigger, {
@@ -12439,7 +12487,7 @@ function _temp$5(year, yearIdx) {
12439
12487
  function _temp2$1(years, rowIdx) {
12440
12488
  return /* @__PURE__ */ jsx(DatePicker.TableRow, {
12441
12489
  className: calendar_table_module_default.tableRow,
12442
- children: years.map(_temp$5)
12490
+ children: years.map(_temp$6)
12443
12491
  }, rowIdx);
12444
12492
  }
12445
12493
  function _temp3$1(datePicker) {
@@ -12915,6 +12963,7 @@ var ds_select_module_default = {
12915
12963
  "item": "KdTZ_G_item",
12916
12964
  "itemIcon": "KdTZ_G_itemIcon",
12917
12965
  "itemValue": "KdTZ_G_itemValue",
12966
+ "large": "KdTZ_G_large",
12918
12967
  "multiSelectItemsContainer": "KdTZ_G_multiSelectItemsContainer",
12919
12968
  "searchIcon": "KdTZ_G_searchIcon",
12920
12969
  "searchInput": "KdTZ_G_searchInput",
@@ -13026,7 +13075,7 @@ const SELECT_ALL_OPTION = {
13026
13075
  value: SELECT_ALL_VALUE
13027
13076
  };
13028
13077
  const DsSelect = (t0) => {
13029
- const $ = c(29);
13078
+ const $ = c(30);
13030
13079
  const { id, options: userOptions, value, style, size, clearable, onClear, onBlur, className, placeholder: t1, disabled, renderOption, ...multiselectProps } = t0;
13031
13080
  const placeholder = t1 === void 0 ? "Click to select a value" : t1;
13032
13081
  const [searchTerm, setSearchTerm] = useState("");
@@ -13034,7 +13083,7 @@ const DsSelect = (t0) => {
13034
13083
  const internalOptions = multiselectProps.multiple ? [SELECT_ALL_OPTION, ...userOptions] : userOptions;
13035
13084
  const collection = createListCollection$1({
13036
13085
  items: internalOptions,
13037
- itemToValue: _temp$4
13086
+ itemToValue: _temp$5
13038
13087
  });
13039
13088
  let t2;
13040
13089
  if ($[0] !== searchTerm) {
@@ -13096,29 +13145,31 @@ const DsSelect = (t0) => {
13096
13145
  });
13097
13146
  };
13098
13147
  const t4 = size === "small" && ds_select_module_default.small;
13099
- let t5;
13100
- if ($[3] !== className || $[4] !== t4) {
13101
- t5 = classNames(ds_select_module_default.control, t4, className);
13148
+ const t5 = size === "large" && ds_select_module_default.large;
13149
+ let t6;
13150
+ if ($[3] !== className || $[4] !== t4 || $[5] !== t5) {
13151
+ t6 = classNames(ds_select_module_default.control, t4, t5, className);
13102
13152
  $[3] = className;
13103
13153
  $[4] = t4;
13104
13154
  $[5] = t5;
13105
- } else t5 = $[5];
13106
- const t6 = size === "small" ? "small" : "medium";
13107
- let t7;
13108
- if ($[6] !== t6) {
13109
- t7 = /* @__PURE__ */ jsx(Select.Indicator, {
13155
+ $[6] = t6;
13156
+ } else t6 = $[6];
13157
+ const t7 = size === "small" ? "small" : "medium";
13158
+ let t8;
13159
+ if ($[7] !== t7) {
13160
+ t8 = /* @__PURE__ */ jsx(Select.Indicator, {
13110
13161
  className: ds_select_module_default.triggerIcon,
13111
13162
  children: /* @__PURE__ */ jsx(DsIcon, {
13112
13163
  icon: "keyboard_arrow_down",
13113
- size: t6
13164
+ size: t7
13114
13165
  })
13115
13166
  });
13116
- $[6] = t6;
13117
13167
  $[7] = t7;
13118
- } else t7 = $[7];
13119
- let t8;
13120
- if ($[8] !== clearable || $[9] !== onClear || $[10] !== size) {
13121
- t8 = clearable && /* @__PURE__ */ jsx(Select.ClearTrigger, {
13168
+ $[8] = t8;
13169
+ } else t8 = $[8];
13170
+ let t9;
13171
+ if ($[9] !== clearable || $[10] !== onClear || $[11] !== size) {
13172
+ t9 = clearable && /* @__PURE__ */ jsx(Select.ClearTrigger, {
13122
13173
  className: ds_select_module_default.clearIcon,
13123
13174
  onClick: onClear,
13124
13175
  children: /* @__PURE__ */ jsx(DsIcon, {
@@ -13126,19 +13177,19 @@ const DsSelect = (t0) => {
13126
13177
  size: size === "small" ? "small" : "medium"
13127
13178
  })
13128
13179
  });
13129
- $[8] = clearable;
13130
- $[9] = onClear;
13131
- $[10] = size;
13132
- $[11] = t8;
13133
- } else t8 = $[11];
13180
+ $[9] = clearable;
13181
+ $[10] = onClear;
13182
+ $[11] = size;
13183
+ $[12] = t9;
13184
+ } else t9 = $[12];
13134
13185
  const T0 = Portal;
13135
- const t9 = Select;
13136
- const t10 = ds_select_module_default;
13137
- const t11 = Select;
13138
- const t12 = ds_select_module_default;
13139
- let t13;
13140
- if ($[12] !== searchTerm || $[13] !== userOptions.length) {
13141
- t13 = userOptions.length > SEARCH_THRESHOLD && /* @__PURE__ */ jsx("div", {
13186
+ const t10 = Select;
13187
+ const t11 = ds_select_module_default;
13188
+ const t12 = Select;
13189
+ const t13 = ds_select_module_default;
13190
+ let t14;
13191
+ if ($[13] !== searchTerm || $[14] !== userOptions.length) {
13192
+ t14 = userOptions.length > SEARCH_THRESHOLD && /* @__PURE__ */ jsx("div", {
13142
13193
  className: ds_select_module_default.searchInput,
13143
13194
  children: /* @__PURE__ */ jsx(DsTextInput, {
13144
13195
  placeholder: "Search",
@@ -13151,17 +13202,17 @@ const DsSelect = (t0) => {
13151
13202
  }) }
13152
13203
  })
13153
13204
  });
13154
- $[12] = searchTerm;
13155
- $[13] = userOptions.length;
13156
- $[14] = t13;
13157
- } else t13 = $[14];
13158
- const t14 = multiselectProps.multiple && /* @__PURE__ */ jsx(SelectItemsChips, {
13205
+ $[13] = searchTerm;
13206
+ $[14] = userOptions.length;
13207
+ $[15] = t14;
13208
+ } else t14 = $[15];
13209
+ const t15 = multiselectProps.multiple && /* @__PURE__ */ jsx(SelectItemsChips, {
13159
13210
  onValueChange: multiselectProps.onValueChange,
13160
13211
  showAll: showAllItems,
13161
13212
  onShowAll: () => setShowAllItems(true),
13162
13213
  count: 6
13163
13214
  });
13164
- const t15 = filteredOptions.map((item_0) => {
13215
+ const t16 = filteredOptions.map((item_0) => {
13165
13216
  const checked = getItemCheckedState({
13166
13217
  item: item_0,
13167
13218
  select,
@@ -13185,52 +13236,52 @@ const DsSelect = (t0) => {
13185
13236
  })
13186
13237
  }, collection.getItemValue(item_0));
13187
13238
  });
13188
- let t16;
13189
- if ($[15] !== t11.Content || $[16] !== t12.content || $[17] !== t13 || $[18] !== t14 || $[19] !== t15) {
13190
- t16 = /* @__PURE__ */ jsxs(t11.Content, {
13191
- className: t12.content,
13239
+ let t17;
13240
+ if ($[16] !== t12.Content || $[17] !== t13.content || $[18] !== t14 || $[19] !== t15 || $[20] !== t16) {
13241
+ t17 = /* @__PURE__ */ jsxs(t12.Content, {
13242
+ className: t13.content,
13192
13243
  children: [
13193
- t13,
13194
13244
  t14,
13195
- t15
13245
+ t15,
13246
+ t16
13196
13247
  ]
13197
13248
  });
13198
- $[15] = t11.Content;
13199
- $[16] = t12.content;
13200
- $[17] = t13;
13249
+ $[16] = t12.Content;
13250
+ $[17] = t13.content;
13201
13251
  $[18] = t14;
13202
13252
  $[19] = t15;
13203
13253
  $[20] = t16;
13204
- } else t16 = $[20];
13205
- let t17;
13206
- if ($[21] !== t10.viewport || $[22] !== t16 || $[23] !== t9.Positioner) {
13207
- t17 = /* @__PURE__ */ jsx(t9.Positioner, {
13208
- className: t10.viewport,
13209
- children: t16
13254
+ $[21] = t17;
13255
+ } else t17 = $[21];
13256
+ let t18;
13257
+ if ($[22] !== t10.Positioner || $[23] !== t11.viewport || $[24] !== t17) {
13258
+ t18 = /* @__PURE__ */ jsx(t10.Positioner, {
13259
+ className: t11.viewport,
13260
+ children: t17
13210
13261
  });
13211
- $[21] = t10.viewport;
13212
- $[22] = t16;
13213
- $[23] = t9.Positioner;
13262
+ $[22] = t10.Positioner;
13263
+ $[23] = t11.viewport;
13214
13264
  $[24] = t17;
13215
- } else t17 = $[24];
13216
- let t18;
13217
- if ($[25] !== T0 || $[26] !== t17) {
13218
- t18 = /* @__PURE__ */ jsx(T0, { children: t17 });
13219
- $[25] = T0;
13220
- $[26] = t17;
13221
- $[27] = t18;
13222
- } else t18 = $[27];
13265
+ $[25] = t18;
13266
+ } else t18 = $[25];
13223
13267
  let t19;
13224
- if ($[28] === Symbol.for("react.memo_cache_sentinel")) {
13225
- t19 = /* @__PURE__ */ jsx(Select.HiddenSelect, { style: { display: "none" } });
13268
+ if ($[26] !== T0 || $[27] !== t18) {
13269
+ t19 = /* @__PURE__ */ jsx(T0, { children: t18 });
13270
+ $[26] = T0;
13271
+ $[27] = t18;
13226
13272
  $[28] = t19;
13227
13273
  } else t19 = $[28];
13274
+ let t20;
13275
+ if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
13276
+ t20 = /* @__PURE__ */ jsx(Select.HiddenSelect, { style: { display: "none" } });
13277
+ $[29] = t20;
13278
+ } else t20 = $[29];
13228
13279
  return /* @__PURE__ */ jsxs(Select.RootProvider, {
13229
13280
  value: select,
13230
13281
  lazyMount: true,
13231
13282
  children: [
13232
13283
  /* @__PURE__ */ jsxs(Select.Control, {
13233
- className: t5,
13284
+ className: t6,
13234
13285
  style,
13235
13286
  onBlur,
13236
13287
  onKeyDown: (e) => {
@@ -13246,11 +13297,11 @@ const DsSelect = (t0) => {
13246
13297
  id,
13247
13298
  className: ds_select_module_default.trigger,
13248
13299
  "aria-labelledby": null,
13249
- children: [renderTriggerValue(), t7]
13250
- }), t8]
13300
+ children: [renderTriggerValue(), t8]
13301
+ }), t9]
13251
13302
  }),
13252
- t18,
13253
- t19
13303
+ t19,
13304
+ t20
13254
13305
  ]
13255
13306
  });
13256
13307
  };
@@ -13260,7 +13311,7 @@ function getItemCheckedState({ item, select, options }) {
13260
13311
  return select.hasSelectedItems ? "indeterminate" : false;
13261
13312
  }
13262
13313
  DsSelect.displayName = "DsSelect";
13263
- function _temp$4(item) {
13314
+ function _temp$5(item) {
13264
13315
  return item.value;
13265
13316
  }
13266
13317
  function _temp2(value_0) {
@@ -13282,6 +13333,7 @@ var ds_number_input_module_default = {
13282
13333
  "iconButton": "XMQUTG_iconButton",
13283
13334
  "indicator": "XMQUTG_indicator",
13284
13335
  "input": "XMQUTG_input",
13336
+ "large": "XMQUTG_large",
13285
13337
  "small": "XMQUTG_small",
13286
13338
  "textInputContainer": "XMQUTG_textInputContainer",
13287
13339
  "trigger": "XMQUTG_trigger"
@@ -13289,7 +13341,7 @@ var ds_number_input_module_default = {
13289
13341
  //#endregion
13290
13342
  //#region src/components/ds-number-input/ds-number-input.tsx
13291
13343
  const DsNumberInput = (t0) => {
13292
- const $ = c(33);
13344
+ const $ = c(36);
13293
13345
  const { id, ref, name, size: t1, onBlur, onChange, onValueChange, className, style: t2, placeholder, disabled: t3, min, max, step, value, defaultValue } = t0;
13294
13346
  const size = t1 === void 0 ? "default" : t1;
13295
13347
  let t4;
@@ -13314,26 +13366,32 @@ const DsNumberInput = (t0) => {
13314
13366
  $[5] = t7;
13315
13367
  } else t7 = $[5];
13316
13368
  const containerClass = t7;
13317
- const t8 = typeof value !== "undefined" ? String(value) : void 0;
13318
- const t9 = typeof defaultValue !== "undefined" ? String(defaultValue) : void 0;
13319
- let t10;
13320
- if ($[6] !== onValueChange) {
13321
- t10 = (details) => onValueChange?.(details.valueAsNumber);
13322
- $[6] = onValueChange;
13323
- $[7] = t10;
13324
- } else t10 = $[7];
13369
+ let t8;
13370
+ if ($[6] !== id) {
13371
+ t8 = { input: id };
13372
+ $[6] = id;
13373
+ $[7] = t8;
13374
+ } else t8 = $[7];
13375
+ const t9 = typeof value !== "undefined" ? String(value) : void 0;
13376
+ const t10 = typeof defaultValue !== "undefined" ? String(defaultValue) : void 0;
13325
13377
  let t11;
13326
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
13327
- t11 = classNames(ds_number_input_module_default.iconButton);
13328
- $[8] = t11;
13329
- } else t11 = $[8];
13378
+ if ($[8] !== onValueChange) {
13379
+ t11 = (details) => onValueChange?.(details.valueAsNumber);
13380
+ $[8] = onValueChange;
13381
+ $[9] = t11;
13382
+ } else t11 = $[9];
13330
13383
  let t12;
13331
- if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
13332
- t12 = /* @__PURE__ */ jsx(NumberInput.DecrementTrigger, {
13384
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
13385
+ t12 = classNames(ds_number_input_module_default.iconButton);
13386
+ $[10] = t12;
13387
+ } else t12 = $[10];
13388
+ let t13;
13389
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
13390
+ t13 = /* @__PURE__ */ jsx(NumberInput.DecrementTrigger, {
13333
13391
  asChild: true,
13334
13392
  children: /* @__PURE__ */ jsx("button", {
13335
13393
  type: "button",
13336
- className: t11,
13394
+ className: t12,
13337
13395
  "aria-label": "Decrease value",
13338
13396
  children: /* @__PURE__ */ jsx(DsIcon, {
13339
13397
  icon: "remove",
@@ -13341,42 +13399,42 @@ const DsNumberInput = (t0) => {
13341
13399
  })
13342
13400
  })
13343
13401
  });
13344
- $[9] = t12;
13345
- } else t12 = $[9];
13346
- let t13;
13347
- if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
13348
- t13 = classNames(ds_number_input_module_default.input);
13349
- $[10] = t13;
13350
- } else t13 = $[10];
13402
+ $[11] = t13;
13403
+ } else t13 = $[11];
13351
13404
  let t14;
13352
- if ($[11] !== name || $[12] !== onBlur || $[13] !== onChange || $[14] !== placeholder || $[15] !== ref) {
13353
- t14 = /* @__PURE__ */ jsx(NumberInput.Input, {
13405
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
13406
+ t14 = classNames(ds_number_input_module_default.input);
13407
+ $[12] = t14;
13408
+ } else t14 = $[12];
13409
+ let t15;
13410
+ if ($[13] !== name || $[14] !== onBlur || $[15] !== onChange || $[16] !== placeholder || $[17] !== ref) {
13411
+ t15 = /* @__PURE__ */ jsx(NumberInput.Input, {
13354
13412
  ref,
13355
13413
  name,
13356
- className: t13,
13414
+ className: t14,
13357
13415
  placeholder,
13358
13416
  onBlur,
13359
13417
  onChange
13360
13418
  });
13361
- $[11] = name;
13362
- $[12] = onBlur;
13363
- $[13] = onChange;
13364
- $[14] = placeholder;
13365
- $[15] = ref;
13366
- $[16] = t14;
13367
- } else t14 = $[16];
13368
- let t15;
13369
- if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
13370
- t15 = classNames(ds_number_input_module_default.iconButton);
13371
- $[17] = t15;
13372
- } else t15 = $[17];
13419
+ $[13] = name;
13420
+ $[14] = onBlur;
13421
+ $[15] = onChange;
13422
+ $[16] = placeholder;
13423
+ $[17] = ref;
13424
+ $[18] = t15;
13425
+ } else t15 = $[18];
13373
13426
  let t16;
13374
- if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
13375
- t16 = /* @__PURE__ */ jsx(NumberInput.IncrementTrigger, {
13427
+ if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
13428
+ t16 = classNames(ds_number_input_module_default.iconButton);
13429
+ $[19] = t16;
13430
+ } else t16 = $[19];
13431
+ let t17;
13432
+ if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
13433
+ t17 = /* @__PURE__ */ jsx(NumberInput.IncrementTrigger, {
13376
13434
  asChild: true,
13377
13435
  children: /* @__PURE__ */ jsx("button", {
13378
13436
  type: "button",
13379
- className: t15,
13437
+ className: t16,
13380
13438
  "aria-label": "Increase value",
13381
13439
  children: /* @__PURE__ */ jsx(DsIcon, {
13382
13440
  icon: "add",
@@ -13384,52 +13442,54 @@ const DsNumberInput = (t0) => {
13384
13442
  })
13385
13443
  })
13386
13444
  });
13387
- $[18] = t16;
13388
- } else t16 = $[18];
13389
- let t17;
13390
- if ($[19] !== containerClass || $[20] !== style || $[21] !== t14) {
13391
- t17 = /* @__PURE__ */ jsx(NumberInput.Control, {
13445
+ $[20] = t17;
13446
+ } else t17 = $[20];
13447
+ let t18;
13448
+ if ($[21] !== containerClass || $[22] !== style || $[23] !== t15) {
13449
+ t18 = /* @__PURE__ */ jsx(NumberInput.Control, {
13392
13450
  asChild: true,
13393
13451
  children: /* @__PURE__ */ jsxs("div", {
13394
13452
  className: containerClass,
13395
13453
  style,
13396
13454
  children: [
13397
- t12,
13398
- t14,
13399
- t16
13455
+ t13,
13456
+ t15,
13457
+ t17
13400
13458
  ]
13401
13459
  })
13402
13460
  });
13403
- $[19] = containerClass;
13404
- $[20] = style;
13405
- $[21] = t14;
13406
- $[22] = t17;
13407
- } else t17 = $[22];
13408
- let t18;
13409
- if ($[23] !== disabled || $[24] !== id || $[25] !== max || $[26] !== min || $[27] !== step || $[28] !== t10 || $[29] !== t17 || $[30] !== t8 || $[31] !== t9) {
13410
- t18 = /* @__PURE__ */ jsx(NumberInput.Root, {
13461
+ $[21] = containerClass;
13462
+ $[22] = style;
13463
+ $[23] = t15;
13464
+ $[24] = t18;
13465
+ } else t18 = $[24];
13466
+ let t19;
13467
+ if ($[25] !== disabled || $[26] !== id || $[27] !== max || $[28] !== min || $[29] !== step || $[30] !== t10 || $[31] !== t11 || $[32] !== t18 || $[33] !== t8 || $[34] !== t9) {
13468
+ t19 = /* @__PURE__ */ jsx(NumberInput.Root, {
13411
13469
  id,
13470
+ ids: t8,
13412
13471
  min,
13413
13472
  max,
13414
13473
  step,
13415
13474
  disabled,
13416
- value: t8,
13417
- defaultValue: t9,
13418
- onValueChange: t10,
13419
- children: t17
13475
+ value: t9,
13476
+ defaultValue: t10,
13477
+ onValueChange: t11,
13478
+ children: t18
13420
13479
  });
13421
- $[23] = disabled;
13422
- $[24] = id;
13423
- $[25] = max;
13424
- $[26] = min;
13425
- $[27] = step;
13426
- $[28] = t10;
13427
- $[29] = t17;
13428
- $[30] = t8;
13429
- $[31] = t9;
13480
+ $[25] = disabled;
13481
+ $[26] = id;
13482
+ $[27] = max;
13483
+ $[28] = min;
13484
+ $[29] = step;
13485
+ $[30] = t10;
13486
+ $[31] = t11;
13430
13487
  $[32] = t18;
13431
- } else t18 = $[32];
13432
- return t18;
13488
+ $[33] = t8;
13489
+ $[34] = t9;
13490
+ $[35] = t19;
13491
+ } else t19 = $[35];
13492
+ return t19;
13433
13493
  };
13434
13494
  DsNumberInput.displayName = "DsNumberInput";
13435
13495
  //#endregion
@@ -13439,6 +13499,7 @@ var ds_password_input_module_default = {
13439
13499
  "iconButton": "v5YZUq_iconButton",
13440
13500
  "indicator": "v5YZUq_indicator",
13441
13501
  "input": "v5YZUq_input",
13502
+ "large": "v5YZUq_large",
13442
13503
  "small": "v5YZUq_small",
13443
13504
  "textInputContainer": "v5YZUq_textInputContainer",
13444
13505
  "trigger": "v5YZUq_trigger"
@@ -13622,7 +13683,7 @@ const DsFormControlDescription = (t0) => {
13622
13683
  } else t2 = $[4];
13623
13684
  return t2;
13624
13685
  };
13625
- const DsFormControl = (t0) => {
13686
+ const DsFormControlRoot = (t0) => {
13626
13687
  const $ = c(23);
13627
13688
  const { id, status, label, hideLabel: t1, required: t2, slots, message, messageIcon: t3, className, style, children } = t0;
13628
13689
  const hideLabel = t1 === void 0 ? false : t1;
@@ -13708,18 +13769,20 @@ const DsFormControl = (t0) => {
13708
13769
  } else t10 = $[22];
13709
13770
  return t10;
13710
13771
  };
13711
- DsFormControl.TextInput = controlify(DsTextInput);
13712
- DsFormControl.NumberInput = controlify(DsNumberInput);
13713
- DsFormControl.PasswordInput = controlify(DsPasswordInput);
13714
- /** @deprecated DsDateInput is deprecated. Use DsDatePicker or DsDateRangePicker instead. */
13715
- DsFormControl.DateInput = controlify(DsDateInput);
13716
- DsFormControl.DatePicker = controlify(DsDatePicker);
13717
- DsFormControl.TimePicker = controlify(DsTimePicker);
13718
- DsFormControl.Textarea = controlify(DsTextarea);
13719
- DsFormControl.Select = controlify(DsSelect);
13720
- DsFormControl.Description = DsFormControlDescription;
13721
- DsFormControl.displayName = "DsFormControl";
13722
- DsFormControl.Description.displayName = "DsFormControl.Description";
13772
+ DsFormControlDescription.displayName = "DsFormControl.Description";
13773
+ const DsFormControl = Object.assign(DsFormControlRoot, {
13774
+ displayName: "DsFormControl",
13775
+ TextInput: controlify(DsTextInput),
13776
+ NumberInput: controlify(DsNumberInput),
13777
+ PasswordInput: controlify(DsPasswordInput),
13778
+ /** @deprecated DsDateInput is deprecated. Use DsDatePicker or DsDateRangePicker instead. */
13779
+ DateInput: controlify(DsDateInput),
13780
+ DatePicker: controlify(DsDatePicker),
13781
+ TimePicker: controlify(DsTimePicker),
13782
+ Textarea: controlify(DsTextarea),
13783
+ Select: controlify(DsSelect),
13784
+ Description: DsFormControlDescription
13785
+ });
13723
13786
  //#endregion
13724
13787
  //#region src/components/ds-form-control/ds-form-control.types.ts
13725
13788
  const controlStatuses = [
@@ -14506,7 +14569,7 @@ const FileUploadItem = (t0) => {
14506
14569
  } else t20 = $[46];
14507
14570
  let t21;
14508
14571
  if ($[47] !== errors || $[48] !== status) {
14509
- t21 = status === "error" && errors?.length && errors.map(_temp$3);
14572
+ t21 = status === "error" && errors?.length && errors.map(_temp$4);
14510
14573
  $[47] = errors;
14511
14574
  $[48] = status;
14512
14575
  $[49] = t21;
@@ -14549,7 +14612,7 @@ const FileUploadItem = (t0) => {
14549
14612
  } else t23 = $[60];
14550
14613
  return t23;
14551
14614
  };
14552
- function _temp$3(error) {
14615
+ function _temp$4(error) {
14553
14616
  return /* @__PURE__ */ jsxs("div", {
14554
14617
  className: file_upload_item_module_default.errorMessage,
14555
14618
  children: [/* @__PURE__ */ jsx(DsIcon, {
@@ -17326,7 +17389,7 @@ const DsRadioGroupLegacy = (t0) => {
17326
17389
  } else t3 = $[3];
17327
17390
  let t4;
17328
17391
  if ($[4] !== options) {
17329
- t4 = options.map(_temp$2);
17392
+ t4 = options.map(_temp$3);
17330
17393
  $[4] = options;
17331
17394
  $[5] = t4;
17332
17395
  } else t4 = $[5];
@@ -17369,7 +17432,7 @@ const DsRadioGroup = {
17369
17432
  DsRadioGroup.Root.displayName = "DsRadioGroup.Root";
17370
17433
  DsRadioGroup.Item.displayName = "DsRadioGroup.Item";
17371
17434
  DsRadioGroupLegacy.displayName = "DsRadioGroupLegacy";
17372
- function _temp$2(option) {
17435
+ function _temp$3(option) {
17373
17436
  return /* @__PURE__ */ jsxs(RadioGroup.Item, {
17374
17437
  value: option.value,
17375
17438
  disabled: option.disabled,
@@ -17629,7 +17692,7 @@ const useIsOverflowing = (text) => {
17629
17692
  const observer = new ResizeObserver(measure);
17630
17693
  observer.observe(element);
17631
17694
  const frame = requestAnimationFrame(measure);
17632
- document.fonts.ready.then(measure).catch(_temp$1);
17695
+ document.fonts.ready.then(measure).catch(_temp$2);
17633
17696
  document.fonts.addEventListener("loadingdone", measure);
17634
17697
  return () => {
17635
17698
  cancelAnimationFrame(frame);
@@ -17657,7 +17720,7 @@ const useIsOverflowing = (text) => {
17657
17720
  } else t2 = $[4];
17658
17721
  return t2;
17659
17722
  };
17660
- function _temp$1() {}
17723
+ function _temp$2() {}
17661
17724
  //#endregion
17662
17725
  //#region src/components/ds-site-node/ds-site-node.module.scss
17663
17726
  var ds_site_node_module_default = {
@@ -18019,6 +18082,254 @@ DsSkeleton.Text.displayName = "DsSkeleton.Text";
18019
18082
  DsSkeleton.Circle.displayName = "DsSkeleton.Circle";
18020
18083
  DsSkeleton.Rect.displayName = "DsSkeleton.Rect";
18021
18084
  //#endregion
18085
+ //#region src/components/ds-slider/ds-slider.utils.ts
18086
+ /**
18087
+ * Normalizes the public value (a number or a `[min, max]` tuple) into the
18088
+ * `number[]` shape Ark's slider works with. Returns `undefined` when no value
18089
+ * is provided so controlled/uncontrolled detection stays intact.
18090
+ */
18091
+ const toArray = (value) => {
18092
+ if (value === void 0) return;
18093
+ return Array.isArray(value) ? value : [value];
18094
+ };
18095
+ //#endregion
18096
+ //#region src/components/ds-slider/ds-slider.module.scss
18097
+ var ds_slider_module_default = {
18098
+ "control": "_7ZtIQW_control",
18099
+ "header": "_7ZtIQW_header",
18100
+ "large": "_7ZtIQW_large",
18101
+ "range": "_7ZtIQW_range",
18102
+ "root": "_7ZtIQW_root",
18103
+ "small": "_7ZtIQW_small",
18104
+ "thumb": "_7ZtIQW_thumb",
18105
+ "track": "_7ZtIQW_track",
18106
+ "valueText": "_7ZtIQW_valueText"
18107
+ };
18108
+ //#endregion
18109
+ //#region src/components/ds-slider/ds-slider.tsx
18110
+ /**
18111
+ * @summary Selects a numeric value or a numeric interval by dragging thumbs along a track.
18112
+ *
18113
+ * Use for picking a number or interval from a known continuous range where visual
18114
+ * adjustment beats typing (filter ranges, thresholds, capacity limits). For exact
18115
+ * numeric entry use DsNumberInput; for a few discrete options use DsSegmentGroup.
18116
+ */
18117
+ const DsSlider$1 = (t0) => {
18118
+ const $ = c(69);
18119
+ const { ref, className, style, label, type: t1, size: t2, min: t3, max: t4, step: t5, value, defaultValue, name, disabled: t6, thumbLabels, formatValue: t7, onValueChange, onValueChangeEnd } = t0;
18120
+ const type = t1 === void 0 ? "value" : t1;
18121
+ const size = t2 === void 0 ? "medium" : t2;
18122
+ const min = t3 === void 0 ? 0 : t3;
18123
+ const max = t4 === void 0 ? 100 : t4;
18124
+ const step = t5 === void 0 ? 1 : t5;
18125
+ const disabled = t6 === void 0 ? false : t6;
18126
+ const formatValue = t7 === void 0 ? String : t7;
18127
+ const isRange = type === "range";
18128
+ let t8;
18129
+ if ($[0] !== value) {
18130
+ t8 = toArray(value);
18131
+ $[0] = value;
18132
+ $[1] = t8;
18133
+ } else t8 = $[1];
18134
+ const controlledValue = t8;
18135
+ let t9;
18136
+ if ($[2] !== isRange || $[3] !== max || $[4] !== min) {
18137
+ t9 = isRange ? [min, max] : [min];
18138
+ $[2] = isRange;
18139
+ $[3] = max;
18140
+ $[4] = min;
18141
+ $[5] = t9;
18142
+ } else t9 = $[5];
18143
+ const fallbackValue = t9;
18144
+ let t10;
18145
+ if ($[6] !== isRange || $[7] !== max || $[8] !== min) {
18146
+ t10 = (next) => isRange ? [next[0] ?? min, next[1] ?? max] : next[0] ?? min;
18147
+ $[6] = isRange;
18148
+ $[7] = max;
18149
+ $[8] = min;
18150
+ $[9] = t10;
18151
+ } else t10 = $[9];
18152
+ const toPublicValue = t10;
18153
+ let t11;
18154
+ if ($[10] !== controlledValue || $[11] !== onValueChange || $[12] !== toPublicValue) {
18155
+ t11 = controlledValue !== void 0 ? (next_0) => onValueChange?.(toPublicValue(next_0)) : void 0;
18156
+ $[10] = controlledValue;
18157
+ $[11] = onValueChange;
18158
+ $[12] = toPublicValue;
18159
+ $[13] = t11;
18160
+ } else t11 = $[13];
18161
+ let t12;
18162
+ if ($[14] !== defaultValue || $[15] !== fallbackValue) {
18163
+ t12 = toArray(defaultValue) ?? fallbackValue;
18164
+ $[14] = defaultValue;
18165
+ $[15] = fallbackValue;
18166
+ $[16] = t12;
18167
+ } else t12 = $[16];
18168
+ const [values, setValues] = useControlled(controlledValue, t11, t12);
18169
+ let t13;
18170
+ if ($[17] !== controlledValue || $[18] !== onValueChange || $[19] !== setValues || $[20] !== toPublicValue) {
18171
+ t13 = (details) => {
18172
+ setValues(details.value);
18173
+ if (controlledValue === void 0) onValueChange?.(toPublicValue(details.value));
18174
+ };
18175
+ $[17] = controlledValue;
18176
+ $[18] = onValueChange;
18177
+ $[19] = setValues;
18178
+ $[20] = toPublicValue;
18179
+ $[21] = t13;
18180
+ } else t13 = $[21];
18181
+ const handleValueChange = t13;
18182
+ let t14;
18183
+ if ($[22] !== formatValue || $[23] !== isRange || $[24] !== max || $[25] !== min || $[26] !== values[0] || $[27] !== values[1]) {
18184
+ t14 = isRange ? `${formatValue(values[0] ?? min)}-${formatValue(values[1] ?? max)}` : formatValue(values[0] ?? min);
18185
+ $[22] = formatValue;
18186
+ $[23] = isRange;
18187
+ $[24] = max;
18188
+ $[25] = min;
18189
+ $[26] = values[0];
18190
+ $[27] = values[1];
18191
+ $[28] = t14;
18192
+ } else t14 = $[28];
18193
+ const valueText = t14;
18194
+ const textColor = disabled ? "disabled" : "main";
18195
+ let t15;
18196
+ if ($[29] !== isRange || $[30] !== label || $[31] !== thumbLabels) {
18197
+ t15 = isRange ? thumbLabels : label ? [label] : thumbLabels;
18198
+ $[29] = isRange;
18199
+ $[30] = label;
18200
+ $[31] = thumbLabels;
18201
+ $[32] = t15;
18202
+ } else t15 = $[32];
18203
+ const thumbAriaLabels = t15;
18204
+ const t16 = size === "small";
18205
+ const t17 = size === "large";
18206
+ let t18;
18207
+ if ($[33] !== className || $[34] !== t16 || $[35] !== t17) {
18208
+ t18 = classNames(ds_slider_module_default.root, {
18209
+ [ds_slider_module_default.small]: t16,
18210
+ [ds_slider_module_default.large]: t17
18211
+ }, className);
18212
+ $[33] = className;
18213
+ $[34] = t16;
18214
+ $[35] = t17;
18215
+ $[36] = t18;
18216
+ } else t18 = $[36];
18217
+ const rootClass = t18;
18218
+ let t19;
18219
+ if ($[37] !== onValueChangeEnd || $[38] !== toPublicValue) {
18220
+ t19 = (details_0) => onValueChangeEnd?.(toPublicValue(details_0.value));
18221
+ $[37] = onValueChangeEnd;
18222
+ $[38] = toPublicValue;
18223
+ $[39] = t19;
18224
+ } else t19 = $[39];
18225
+ let t20;
18226
+ if ($[40] !== label || $[41] !== textColor) {
18227
+ t20 = label && /* @__PURE__ */ jsx(DsTypography, {
18228
+ variant: "body-sm-md",
18229
+ color: textColor,
18230
+ children: label
18231
+ });
18232
+ $[40] = label;
18233
+ $[41] = textColor;
18234
+ $[42] = t20;
18235
+ } else t20 = $[42];
18236
+ let t21;
18237
+ if ($[43] !== textColor || $[44] !== valueText) {
18238
+ t21 = /* @__PURE__ */ jsx(DsTypography, {
18239
+ variant: "body-sm-md",
18240
+ color: textColor,
18241
+ className: ds_slider_module_default.valueText,
18242
+ children: valueText
18243
+ });
18244
+ $[43] = textColor;
18245
+ $[44] = valueText;
18246
+ $[45] = t21;
18247
+ } else t21 = $[45];
18248
+ let t22;
18249
+ if ($[46] !== t20 || $[47] !== t21) {
18250
+ t22 = /* @__PURE__ */ jsxs("div", {
18251
+ className: ds_slider_module_default.header,
18252
+ children: [t20, t21]
18253
+ });
18254
+ $[46] = t20;
18255
+ $[47] = t21;
18256
+ $[48] = t22;
18257
+ } else t22 = $[48];
18258
+ let t23;
18259
+ if ($[49] === Symbol.for("react.memo_cache_sentinel")) {
18260
+ t23 = /* @__PURE__ */ jsx(Slider.Track, {
18261
+ className: ds_slider_module_default.track,
18262
+ children: /* @__PURE__ */ jsx(Slider.Range, { className: ds_slider_module_default.range })
18263
+ });
18264
+ $[49] = t23;
18265
+ } else t23 = $[49];
18266
+ let t24;
18267
+ if ($[50] !== values) {
18268
+ t24 = values.map(_temp$1);
18269
+ $[50] = values;
18270
+ $[51] = t24;
18271
+ } else t24 = $[51];
18272
+ let t25;
18273
+ if ($[52] !== t24) {
18274
+ t25 = /* @__PURE__ */ jsxs(Slider.Control, {
18275
+ className: ds_slider_module_default.control,
18276
+ children: [t23, t24]
18277
+ });
18278
+ $[52] = t24;
18279
+ $[53] = t25;
18280
+ } else t25 = $[53];
18281
+ let t26;
18282
+ if ($[54] !== disabled || $[55] !== handleValueChange || $[56] !== max || $[57] !== min || $[58] !== name || $[59] !== ref || $[60] !== rootClass || $[61] !== step || $[62] !== style || $[63] !== t19 || $[64] !== t22 || $[65] !== t25 || $[66] !== thumbAriaLabels || $[67] !== values) {
18283
+ t26 = /* @__PURE__ */ jsxs(Slider.Root, {
18284
+ ref,
18285
+ className: rootClass,
18286
+ style,
18287
+ value: values,
18288
+ min,
18289
+ max,
18290
+ step,
18291
+ name,
18292
+ disabled,
18293
+ "aria-label": thumbAriaLabels,
18294
+ onValueChange: handleValueChange,
18295
+ onValueChangeEnd: t19,
18296
+ children: [t22, t25]
18297
+ });
18298
+ $[54] = disabled;
18299
+ $[55] = handleValueChange;
18300
+ $[56] = max;
18301
+ $[57] = min;
18302
+ $[58] = name;
18303
+ $[59] = ref;
18304
+ $[60] = rootClass;
18305
+ $[61] = step;
18306
+ $[62] = style;
18307
+ $[63] = t19;
18308
+ $[64] = t22;
18309
+ $[65] = t25;
18310
+ $[66] = thumbAriaLabels;
18311
+ $[67] = values;
18312
+ $[68] = t26;
18313
+ } else t26 = $[68];
18314
+ return t26;
18315
+ };
18316
+ DsSlider$1.displayName = "DsSlider";
18317
+ function _temp$1(_, index) {
18318
+ return /* @__PURE__ */ jsx(Slider.Thumb, {
18319
+ index,
18320
+ className: ds_slider_module_default.thumb,
18321
+ children: /* @__PURE__ */ jsx(Slider.HiddenInput, {})
18322
+ }, index);
18323
+ }
18324
+ //#endregion
18325
+ //#region src/components/ds-slider/index.ts
18326
+ const DsSlider = withResponsiveProps(DsSlider$1, [
18327
+ "size",
18328
+ "step",
18329
+ "thumbLabels"
18330
+ ]);
18331
+ DsSlider.displayName = "DsSlider";
18332
+ //#endregion
18022
18333
  //#region src/components/ds-smart-tabs/ds-smart-tabs.module.scss
18023
18334
  var ds_smart_tabs_module_default = {
18024
18335
  "active": "yjt8Lq_active",
@@ -18193,7 +18504,7 @@ const DsSmartTab = (t0) => {
18193
18504
  /**
18194
18505
  * Design system SmartTabs component
18195
18506
  */
18196
- const DsSmartTabs = (t0) => {
18507
+ const DsSmartTabsRoot = (t0) => {
18197
18508
  const $ = c(22);
18198
18509
  let activeTab;
18199
18510
  let children;
@@ -18269,8 +18580,10 @@ const DsSmartTabs = (t0) => {
18269
18580
  return t6;
18270
18581
  };
18271
18582
  DsSmartTab.displayName = "DsSmartTabs.Tab";
18272
- DsSmartTabs.Tab = DsSmartTab;
18273
- DsSmartTabs.displayName = "DsSmartTabs";
18583
+ const DsSmartTabs = Object.assign(DsSmartTabsRoot, {
18584
+ displayName: "DsSmartTabs",
18585
+ Tab: DsSmartTab
18586
+ });
18274
18587
  //#endregion
18275
18588
  //#region src/components/ds-smart-tabs/ds-smart-tabs.types.ts
18276
18589
  const colors = [
@@ -19919,7 +20232,10 @@ var ds_table_header_module_default = {
19919
20232
  "filterActive": "-2rCNG_filterActive",
19920
20233
  "filterTriggerContainer": "-2rCNG_filterTriggerContainer",
19921
20234
  "groupStart": "-2rCNG_groupStart",
20235
+ "header": "-2rCNG_header",
19922
20236
  "headerCell": "-2rCNG_headerCell",
20237
+ "headerLabel": "-2rCNG_headerLabel",
20238
+ "headerLabelStack": "-2rCNG_headerLabelStack",
19923
20239
  "headerRow": "-2rCNG_headerRow",
19924
20240
  "headerRowNoBorder": "-2rCNG_headerRowNoBorder",
19925
20241
  "headerRowVirtualized": "-2rCNG_headerRowVirtualized",
@@ -19928,7 +20244,6 @@ var ds_table_header_module_default = {
19928
20244
  "pageButtonIconContainer": "-2rCNG_pageButtonIconContainer",
19929
20245
  "selectHeaderCell": "-2rCNG_selectHeaderCell",
19930
20246
  "sortableHeader": "-2rCNG_sortableHeader",
19931
- "stickyHeader": "-2rCNG_stickyHeader",
19932
20247
  "virtualizedHeader": "-2rCNG_virtualizedHeader"
19933
20248
  };
19934
20249
  //#endregion
@@ -19946,16 +20261,15 @@ var ds_table_shared_module_default = {
19946
20261
  "rotate-90": "WQ6Axa_rotate-90"
19947
20262
  };
19948
20263
  //#endregion
19949
- //#region src/components/ds-table/context/ds-table-context.ts
19950
- const DsTableContext = createContext(null);
19951
- const useDsTableContext = () => {
19952
- const context = useContext(DsTableContext);
19953
- if (!context) throw new Error("useDsTableContext must be used within DsTable");
19954
- return context;
19955
- };
20264
+ //#region src/components/ds-table/hooks/use-editing-state.ts
20265
+ /** Shown when an async `onCellEdit` commit rejects with a non-`Error` reason. */
20266
+ const EDIT_FALLBACK_ERROR = "Save failed";
20267
+ const isThenable = (value) => typeof value === "object" && value !== null && typeof value.then === "function";
20268
+ /** Prefer a thrown `Error`'s message; fall back to a generic string otherwise. */
20269
+ const extractErrorMessage = (reason, fallback) => reason instanceof Error && reason.message ? reason.message : fallback;
19956
20270
  /**
19957
20271
  * Hoisted editing state for single-cell-at-a-time inline editing.
19958
- * Lives on {@link DsTableContext} so cell renderers and editors share one provider.
20272
+ * Surfaced on DsTableContext so cell renderers and editors share one provider.
19959
20273
  */
19960
20274
  const useEditingState = (onCellEdit, onCellValidate) => {
19961
20275
  const [editing, setEditing] = useState(null);
@@ -19965,6 +20279,12 @@ const useEditingState = (onCellEdit, onCellValidate) => {
19965
20279
  onCellValidateRef.current = onCellValidate;
19966
20280
  const editingRef = useRef(editing);
19967
20281
  editingRef.current = editing;
20282
+ const generationRef = useRef(0);
20283
+ const abortRef = useRef(null);
20284
+ const abortPending = useCallback(() => {
20285
+ abortRef.current?.abort();
20286
+ abortRef.current = null;
20287
+ }, []);
19968
20288
  return {
19969
20289
  editing,
19970
20290
  beginEdit: useCallback((cell) => {
@@ -19972,56 +20292,230 @@ const useEditingState = (onCellEdit, onCellValidate) => {
19972
20292
  if (current) {
19973
20293
  if (current.cell.row.id === cell.row.id && current.cell.column.id === cell.column.id) return;
19974
20294
  }
20295
+ abortPending();
20296
+ generationRef.current += 1;
19975
20297
  setEditing({
19976
20298
  cell,
19977
20299
  draftValue: cell.getValue(),
19978
- error: null
20300
+ error: null,
20301
+ pending: false
19979
20302
  });
19980
- }, []),
20303
+ }, [abortPending]),
19981
20304
  setDraft: useCallback((value) => {
19982
20305
  const current = editingRef.current;
19983
20306
  if (!current) return;
20307
+ const error = onCellValidateRef.current?.(current.cell.row.original, current.cell.column.id, value) ?? null;
19984
20308
  setEditing({
19985
20309
  ...current,
19986
20310
  draftValue: value,
19987
- error: null
20311
+ error
19988
20312
  });
19989
20313
  }, []),
19990
20314
  commit: useCallback((overrideValue) => {
19991
20315
  const current = editingRef.current;
19992
- if (!current) return;
20316
+ if (!current || current.pending) return;
19993
20317
  const valueToCommit = overrideValue !== void 0 ? overrideValue : current.draftValue;
19994
- const error = onCellValidateRef.current?.(current.cell.row.original, current.cell.column.id, valueToCommit) ?? null;
19995
- if (error !== null) {
20318
+ const validationError = onCellValidateRef.current?.(current.cell.row.original, current.cell.column.id, valueToCommit) ?? null;
20319
+ if (validationError !== null) {
19996
20320
  setEditing({
19997
20321
  ...current,
19998
20322
  draftValue: valueToCommit,
19999
- error
20323
+ error: validationError,
20324
+ pending: false
20000
20325
  });
20001
20326
  return;
20002
20327
  }
20003
- onCellEditRef.current?.(current.cell.row.original, current.cell.column.id, valueToCommit);
20004
- setEditing(null);
20005
- }, []),
20328
+ generationRef.current += 1;
20329
+ const token = generationRef.current;
20330
+ abortPending();
20331
+ const controller = new AbortController();
20332
+ abortRef.current = controller;
20333
+ const { signal } = controller;
20334
+ const isStale = () => generationRef.current !== token;
20335
+ const settle = () => {
20336
+ if (abortRef.current === controller) abortRef.current = null;
20337
+ };
20338
+ const showError = (error) => {
20339
+ settle();
20340
+ if (isStale()) return;
20341
+ const live = editingRef.current;
20342
+ setEditing(live ? {
20343
+ ...live,
20344
+ draftValue: valueToCommit,
20345
+ error,
20346
+ pending: false
20347
+ } : null);
20348
+ };
20349
+ const editResult = onCellEditRef.current?.(current.cell.row.original, current.cell.column.id, valueToCommit, signal);
20350
+ const applyEditResult = (error) => {
20351
+ if (error !== null) {
20352
+ showError(error);
20353
+ return;
20354
+ }
20355
+ settle();
20356
+ if (isStale()) return;
20357
+ setEditing(null);
20358
+ };
20359
+ if (!isThenable(editResult)) {
20360
+ applyEditResult(editResult ?? null);
20361
+ return;
20362
+ }
20363
+ setEditing({
20364
+ ...current,
20365
+ draftValue: valueToCommit,
20366
+ error: null,
20367
+ pending: true
20368
+ });
20369
+ editResult.then((value) => {
20370
+ applyEditResult(value ?? null);
20371
+ }, (reason) => {
20372
+ applyEditResult(extractErrorMessage(reason, EDIT_FALLBACK_ERROR));
20373
+ });
20374
+ }, [abortPending]),
20006
20375
  cancel: useCallback(() => {
20376
+ abortPending();
20377
+ generationRef.current += 1;
20007
20378
  setEditing(null);
20008
- }, [])
20379
+ }, [abortPending])
20009
20380
  };
20010
20381
  };
20011
20382
  //#endregion
20383
+ //#region src/components/ds-table/context/ds-table-context.tsx
20384
+ const DsTableContext = createContext(null);
20385
+ const useDsTableContext = () => {
20386
+ const context = useContext(DsTableContext);
20387
+ if (!context) throw new Error("useDsTableContext must be used within DsTable");
20388
+ return context;
20389
+ };
20390
+ /**
20391
+ * Assembles {@link DsTableContext} from public table props plus derived grouping
20392
+ * and resize slices. Owns inline-edit state. Picks context fields from
20393
+ * `tableProps` and ignores the rest (`columns`, `data`, etc.).
20394
+ */
20395
+ const DsTableContextProvider = ({ tableProps, derived, children }) => {
20396
+ const { stickyHeader, bordered, fullWidth, rowSize, expandable, selectable, reorderable, showSelectAllCheckbox, loading, onRowClick, onRowDoubleClick, primaryRowActions, secondaryRowActions, renderExpandedRow, virtualized, activeRowId, locale, onCellEdit, onCellValidate } = tableProps;
20397
+ const { collapsedColumnGroups, onToggleColumnGroup } = derived.grouping;
20398
+ const { resizableColumns, resizeSizingReady, resizeContainerRef, onResizeHover, onResizeDragStart, onResizeReset, onResizeKeyboardNudge } = derived.resize;
20399
+ const { editing, beginEdit, setDraft, commit, cancel } = useEditingState(onCellEdit, onCellValidate);
20400
+ const contextValue = useMemo(() => ({
20401
+ stickyHeader,
20402
+ bordered,
20403
+ fullWidth,
20404
+ rowSize,
20405
+ expandable,
20406
+ selectable,
20407
+ reorderable,
20408
+ showSelectAllCheckbox,
20409
+ loading,
20410
+ onRowClick: loading ? void 0 : onRowClick,
20411
+ onRowDoubleClick: loading ? void 0 : onRowDoubleClick,
20412
+ primaryRowActions,
20413
+ secondaryRowActions,
20414
+ renderExpandedRow,
20415
+ virtualized,
20416
+ activeRowId,
20417
+ collapsedColumnGroups,
20418
+ onToggleColumnGroup,
20419
+ locale,
20420
+ onCellEdit,
20421
+ resizableColumns,
20422
+ resizeSizingReady,
20423
+ resizeContainerRef,
20424
+ onResizeHover,
20425
+ onResizeDragStart,
20426
+ onResizeReset,
20427
+ onResizeKeyboardNudge,
20428
+ editing,
20429
+ beginEdit,
20430
+ setDraft,
20431
+ commit,
20432
+ cancel
20433
+ }), [
20434
+ stickyHeader,
20435
+ bordered,
20436
+ fullWidth,
20437
+ rowSize,
20438
+ expandable,
20439
+ selectable,
20440
+ reorderable,
20441
+ showSelectAllCheckbox,
20442
+ loading,
20443
+ onRowClick,
20444
+ onRowDoubleClick,
20445
+ primaryRowActions,
20446
+ secondaryRowActions,
20447
+ renderExpandedRow,
20448
+ virtualized,
20449
+ activeRowId,
20450
+ collapsedColumnGroups,
20451
+ onToggleColumnGroup,
20452
+ locale,
20453
+ onCellEdit,
20454
+ resizableColumns,
20455
+ resizeSizingReady,
20456
+ resizeContainerRef,
20457
+ onResizeHover,
20458
+ onResizeDragStart,
20459
+ onResizeReset,
20460
+ onResizeKeyboardNudge,
20461
+ editing,
20462
+ beginEdit,
20463
+ setDraft,
20464
+ commit,
20465
+ cancel
20466
+ ]);
20467
+ return /* @__PURE__ */ jsx(DsTableContext.Provider, {
20468
+ value: contextValue,
20469
+ children
20470
+ });
20471
+ };
20472
+ DsTableContextProvider.displayName = "DsTableContextProvider";
20473
+ /**
20474
+ * Column id used for the synthetic expander column injected when `expandable` is set.
20475
+ */
20476
+ const EXPANDER_COLUMN_ID = "expander";
20477
+ /**
20478
+ * Column id used for the synthetic selection column injected when `selectable` is set.
20479
+ */
20480
+ const SELECT_COLUMN_ID = "select";
20481
+ /**
20482
+ * Column id used for the synthetic reorder column injected when `reorderable` is set
20483
+ * (non-virtualized tables only).
20484
+ */
20485
+ const REORDER_COLUMN_ID = "reorder";
20486
+ /**
20487
+ * Injected utility leaf ids (`select`, `expander`, `reorder`). Present in internal
20488
+ * sizing for layout; omitted from the public `onColumnSizingChange` payload.
20489
+ */
20490
+ const BUILTIN_COLUMN_IDS = Object.freeze(/* @__PURE__ */ new Set([
20491
+ SELECT_COLUMN_ID,
20492
+ EXPANDER_COLUMN_ID,
20493
+ REORDER_COLUMN_ID
20494
+ ]));
20495
+ //#endregion
20012
20496
  //#region src/components/ds-table/utils/column-size.ts
20497
+ const DEFAULT_MAX_COLUMN_SIZE = Number.MAX_SAFE_INTEGER;
20013
20498
  /**
20014
- * Generates the appropriate style object for a table column/cell based on its size
20499
+ * Whether a column should use a fixed width rather than fill (`flex: 1`).
20015
20500
  *
20016
- * Custom-sized columns get a fixed `width` plus `minWidth` and `flexShrink: 0` so
20017
- * they enforce horizontal overflow on the table container. Default-sized columns
20018
- * grow to fill the row evenly via `flex: 1`.
20501
+ * True when the user has resized it (`columnSizing` entry), or when the raw
20502
+ * column def authored `size` (`meta.hasExplicitSize`). TanStack merges a
20503
+ * default size of 150 onto every column, so `columnDef.size` alone cannot
20504
+ * tell authored 150px from an unsized fill column.
20505
+ */
20506
+ const isExplicitColumnWidth = (column, columnSizing) => {
20507
+ if (columnSizing[column.id] !== void 0) return true;
20508
+ return column.columnDef.meta?.hasExplicitSize === true;
20509
+ };
20510
+ /**
20511
+ * Style for a table column/cell based on its size and whether that size is explicit.
20019
20512
  *
20020
- * @param columnSize - The size of the column
20021
- * @returns Style object for the column/cell
20513
+ * Explicit columns get a fixed `width` plus `minWidth` and `flexShrink: 0` so they
20514
+ * enforce horizontal overflow on the table container. Fill columns grow evenly via
20515
+ * `flex: 1`.
20022
20516
  */
20023
- const getColumnSizeStyle = (columnSize) => {
20024
- if (columnSize !== defaultColumnSizing.size) return {
20517
+ const getColumnSizeStyle = (columnSize, isExplicit) => {
20518
+ if (isExplicit) return {
20025
20519
  width: columnSize,
20026
20520
  minWidth: columnSize,
20027
20521
  flexShrink: 0
@@ -20031,35 +20525,116 @@ const getColumnSizeStyle = (columnSize) => {
20031
20525
  minWidth: 0
20032
20526
  };
20033
20527
  };
20528
+ const getHeaderSizeCssVar = (headerId) => `--header-${headerId}-size`;
20529
+ const getColumnSizeCssVar = (columnId) => `--col-${columnId}-size`;
20034
20530
  /**
20035
- * Column id used for the synthetic expander column injected when `expandable` is set.
20531
+ * Pixel width via a CSS variable on an ancestor, so frozen (memoized) cells still
20532
+ * track live resize without React reconciling each row.
20036
20533
  */
20037
- const EXPANDER_COLUMN_ID = "expander";
20534
+ const getResizableHeaderStyle = (headerId) => ({
20535
+ width: `calc(var(${getHeaderSizeCssVar(headerId)}) * 1px)`,
20536
+ minWidth: `calc(var(${getHeaderSizeCssVar(headerId)}) * 1px)`,
20537
+ flexShrink: 0
20538
+ });
20539
+ const getResizableColumnStyle = (columnId) => ({
20540
+ width: `calc(var(${getColumnSizeCssVar(columnId)}) * 1px)`,
20541
+ minWidth: `calc(var(${getColumnSizeCssVar(columnId)}) * 1px)`,
20542
+ flexShrink: 0
20543
+ });
20544
+ const getHeaderCellSizeStyle = (headerId, columnSize, isExplicit, resizeSizingReady) => {
20545
+ if (resizeSizingReady) return getResizableHeaderStyle(headerId);
20546
+ return getColumnSizeStyle(columnSize, isExplicit);
20547
+ };
20548
+ const getBodyCellSizeStyle = (columnId, columnSize, isExplicit, resizeSizingReady) => {
20549
+ if (resizeSizingReady) return getResizableColumnStyle(columnId);
20550
+ return getColumnSizeStyle(columnSize, isExplicit);
20551
+ };
20038
20552
  /**
20039
- * Column id used for the synthetic selection column injected when `selectable` is set.
20553
+ * TanStack v8 performant-resize map: header ids for header cells, column ids for
20554
+ * body cells. Values are unitless px; consumers use `calc(var(...) * 1px)`.
20040
20555
  */
20041
- const SELECT_COLUMN_ID = "select";
20556
+ const getColumnSizeCssVars = (headers) => {
20557
+ const colSizes = {};
20558
+ for (const header of headers) {
20559
+ colSizes[getHeaderSizeCssVar(header.id)] = header.getSize();
20560
+ colSizes[getColumnSizeCssVar(header.column.id)] = header.column.getSize();
20561
+ }
20562
+ return colSizes;
20563
+ };
20042
20564
  /**
20043
- * Column id used for the synthetic reorder column injected when `reorderable` is set
20044
- * (non-virtualized tables only).
20565
+ * TanStack `getSize()` formula: `min(max(minSize, width), maxSize)`. Defaults
20566
+ * match DsTable (`RESIZE_MIN_COLUMN_WIDTH`, unlimited max).
20045
20567
  */
20046
- const REORDER_COLUMN_ID = "reorder";
20568
+ const clampColumnSize = (width, minSize = 52, maxSize = DEFAULT_MAX_COLUMN_SIZE) => Math.min(Math.max(minSize, width), maxSize);
20569
+ /**
20570
+ * Clamps every finite entry in `sizing` to that leaf's `minSize` / `maxSize`.
20571
+ * Non-finite widths are omitted so they do not poison state. Ids missing from
20572
+ * `columns` use the table defaults.
20573
+ */
20574
+ const clampColumnSizing = (sizing, columns) => {
20575
+ const boundsById = new Map(columns.map((column) => [column.id, column.columnDef]));
20576
+ const next = {};
20577
+ for (const [id, width] of Object.entries(sizing)) {
20578
+ if (!Number.isFinite(width)) continue;
20579
+ const bounds = boundsById.get(id);
20580
+ next[id] = clampColumnSize(width, bounds?.minSize ?? 52, bounds?.maxSize ?? DEFAULT_MAX_COLUMN_SIZE);
20581
+ }
20582
+ return next;
20583
+ };
20584
+ /**
20585
+ * Width to restore on double-click: explicit `columnDef.size`, otherwise the
20586
+ * snapshotted measured width.
20587
+ */
20588
+ const getResizeOriginSize = (column, measuredWidth) => {
20589
+ if (isExplicitColumnWidth(column, {})) return column.columnDef.size;
20590
+ return measuredWidth;
20591
+ };
20592
+ /**
20593
+ * Measured leaf header widths keyed by column id. Group header cells share
20594
+ * `data-column-id` with a different id, so only `leafColumnIds` are read.
20595
+ */
20596
+ const measureLeafHeaderWidths = (tableEl, leafColumnIds) => {
20597
+ const widths = {};
20598
+ for (const id of leafColumnIds) {
20599
+ const cell = tableEl.querySelector(`thead th[data-column-id="${CSS.escape(id)}"]`);
20600
+ if (cell instanceof HTMLElement) widths[id] = cell.getBoundingClientRect().width;
20601
+ }
20602
+ return widths;
20603
+ };
20604
+ /**
20605
+ * Sizing entries for leaves that are not yet in `existing`. Does not overwrite
20606
+ * user-resized (or previously snapshotted) ids.
20607
+ */
20608
+ const collectMissingLeafSizing = (measured, existing) => {
20609
+ const next = {};
20610
+ for (const [id, width] of Object.entries(measured)) if (existing[id] === void 0) next[id] = Math.round(width);
20611
+ return next;
20612
+ };
20613
+ /**
20614
+ * Copy of `columnSizing` without injected utility leaves. Use at the public
20615
+ * `onColumnSizingChange` boundary so consumers persist only their own columns.
20616
+ */
20617
+ const omitBuiltinColumnSizing = (columnSizing) => {
20618
+ const next = {};
20619
+ for (const [id, size] of Object.entries(columnSizing)) if (!BUILTIN_COLUMN_IDS.has(id)) next[id] = size;
20620
+ return next;
20621
+ };
20047
20622
  //#endregion
20048
20623
  //#region src/components/ds-table/grouping/utils/column-group.ts
20049
20624
  /**
20050
20625
  * Builds the flex style for a group header cell so it lines up with the combined
20051
20626
  * width of its visible leaf columns.
20052
20627
  *
20053
- * Fixed-width leaves contribute to `flexBasis`; default-sized leaves each add one
20054
- * unit of `flexGrow`, mirroring how {@link getColumnSizeStyle} sizes leaf cells so
20055
- * both header rows distribute free space identically.
20628
+ * Fixed-width leaves contribute to `flexBasis`; fill leaves each add one unit of
20629
+ * `flexGrow`, mirroring how {@link getColumnSizeStyle} sizes leaf cells so both
20630
+ * header rows distribute free space identically.
20056
20631
  */
20057
- const getGroupColumnSizeStyle = (leafColumns) => {
20632
+ const getGroupColumnSizeStyle = (leafColumns, columnSizing) => {
20058
20633
  let fixedWidth = 0;
20059
20634
  let flexCount = 0;
20060
20635
  for (const leaf of leafColumns) {
20061
20636
  const size = leaf.getSize();
20062
- if (size !== defaultColumnSizing.size) fixedWidth += size;
20637
+ if (isExplicitColumnWidth(leaf, columnSizing)) fixedWidth += size;
20063
20638
  else flexCount += 1;
20064
20639
  }
20065
20640
  if (flexCount === 0) return {
@@ -20147,85 +20722,239 @@ const useColumnGroups = ({ columns, collapsedColumnGroups, onCollapsedColumnGrou
20147
20722
  */
20148
20723
  const defaultDsTableLocale = Object.freeze({
20149
20724
  collapseColumnGroup: "Collapse column group",
20150
- expandColumnGroup: "Expand column group"
20725
+ expandColumnGroup: "Expand column group",
20726
+ resizeColumn: "Resize column"
20151
20727
  });
20152
20728
  //#endregion
20153
- //#region src/components/ds-table/components/ds-table-group-header-cell/ds-table-group-header-cell.module.scss
20154
- var ds_table_group_header_cell_module_default = {
20155
- "collapseToggle": "HuJ4KG_collapseToggle",
20156
- "groupHeaderCell": "HuJ4KG_groupHeaderCell",
20157
- "groupHeaderContent": "HuJ4KG_groupHeaderContent",
20158
- "groupLabel": "HuJ4KG_groupLabel"
20159
- };
20729
+ //#region src/components/ds-table/components/ds-table-resize-handle/ds-table-resize-handle.module.scss
20730
+ var ds_table_resize_handle_module_default = { "resizeHandle": "vDdhQW_resizeHandle" };
20160
20731
  //#endregion
20161
- //#region src/components/ds-table/components/ds-table-group-header-cell/ds-table-group-header-cell.tsx
20162
- const DsTableGroupHeaderCell = ({ header }) => {
20163
- const { collapsedColumnGroups, onToggleColumnGroup, locale } = useDsTableContext();
20164
- const groupId = header.column.id;
20165
- const groupStyle = getGroupColumnSizeStyle(header.column.getLeafColumns().filter((leaf) => leaf.getIsVisible()));
20166
- const isCollapsible = header.column.columnDef.meta?.group?.collapsible ?? false;
20167
- const isCollapsed = collapsedColumnGroups?.includes(groupId) ?? false;
20168
- const mergedLocale = {
20732
+ //#region src/components/ds-table/components/ds-table-resize-handle/ds-table-resize-handle.tsx
20733
+ const clientPointFromEvent = (event) => {
20734
+ if (event instanceof MouseEvent) return {
20735
+ x: event.clientX,
20736
+ y: event.clientY
20737
+ };
20738
+ if (typeof TouchEvent !== "undefined" && event instanceof TouchEvent) {
20739
+ const touch = event.changedTouches[0];
20740
+ return touch ? {
20741
+ x: touch.clientX,
20742
+ y: touch.clientY
20743
+ } : null;
20744
+ }
20745
+ return null;
20746
+ };
20747
+ /**
20748
+ * Handle straddling the right edge of a resizable header cell.
20749
+ *
20750
+ * Drag is TanStack v8 `header.getResizeHandler()`. Hover drives the full-height
20751
+ * overlay; double-click restores snapshot origin widths for this header's
20752
+ * leaves. As a focusable `separator`, Arrow keys nudge the width (Shift for a
20753
+ * larger step) for keyboard operability (WCAG 2.1.1).
20754
+ */
20755
+ const DsTableResizeHandle = ({ header }) => {
20756
+ const { resizeContainerRef, onResizeHover, onResizeDragStart, onResizeReset, onResizeKeyboardNudge, locale } = useDsTableContext();
20757
+ const handleRef = useRef(null);
20758
+ const isPointerOverRef = useRef(false);
20759
+ const detachDragEndRef = useRef(null);
20760
+ useEffect(() => () => {
20761
+ detachDragEndRef.current?.();
20762
+ }, []);
20763
+ const label = {
20169
20764
  ...defaultDsTableLocale,
20170
20765
  ...locale
20766
+ }.resizeColumn;
20767
+ const measureCellRightOffset = () => {
20768
+ const containerEl = resizeContainerRef?.current;
20769
+ const cellEl = handleRef.current?.closest("th");
20770
+ if (!containerEl || !cellEl) return null;
20771
+ return cellEl.getBoundingClientRect().right - containerEl.getBoundingClientRect().left + containerEl.scrollLeft;
20171
20772
  };
20172
- const toggleLabel = isCollapsed ? mergedLocale.expandColumnGroup : mergedLocale.collapseColumnGroup;
20173
- const handleToggle = () => onToggleColumnGroup?.(groupId);
20174
- return /* @__PURE__ */ jsx(TableHead, {
20175
- className: ds_table_group_header_cell_module_default.groupHeaderCell,
20176
- style: groupStyle,
20177
- colSpan: header.colSpan,
20178
- children: /* @__PURE__ */ jsxs("div", {
20179
- className: ds_table_group_header_cell_module_default.groupHeaderContent,
20180
- children: [/* @__PURE__ */ jsx("span", {
20181
- className: ds_table_group_header_cell_module_default.groupLabel,
20182
- children: flexRender(header.column.columnDef.header, header.getContext())
20183
- }), isCollapsible && /* @__PURE__ */ jsx(DsButtonV3, {
20184
- variant: "secondary",
20185
- size: "tiny",
20186
- icon: isCollapsed ? "chevron_right" : "chevron_left",
20187
- className: ds_table_group_header_cell_module_default.collapseToggle,
20188
- "aria-label": toggleLabel,
20189
- "aria-expanded": !isCollapsed,
20773
+ const reportHover = () => {
20774
+ const offset = measureCellRightOffset();
20775
+ if (offset === null) return;
20776
+ onResizeHover?.(header.column.id, offset);
20777
+ };
20778
+ const clearHover = () => {
20779
+ isPointerOverRef.current = false;
20780
+ onResizeHover?.(null, null);
20781
+ };
20782
+ const syncHoverAtPoint = (clientX, clientY) => {
20783
+ const handleEl = handleRef.current;
20784
+ const hit = (handleEl?.ownerDocument ?? document).elementFromPoint(clientX, clientY);
20785
+ if (handleEl && hit && (hit === handleEl || handleEl.contains(hit))) {
20786
+ isPointerOverRef.current = true;
20787
+ reportHover();
20788
+ return;
20789
+ }
20790
+ clearHover();
20791
+ };
20792
+ const attachDragEndListeners = () => {
20793
+ detachDragEndRef.current?.();
20794
+ const doc = handleRef.current?.ownerDocument ?? document;
20795
+ const onDragEnd = (event) => {
20796
+ detachDragEndRef.current?.();
20797
+ detachDragEndRef.current = null;
20798
+ const point = clientPointFromEvent(event);
20799
+ clearHover();
20800
+ (handleRef.current?.ownerDocument.defaultView ?? window).requestAnimationFrame(() => {
20801
+ if (!point) return;
20802
+ syncHoverAtPoint(point.x, point.y);
20803
+ });
20804
+ };
20805
+ doc.addEventListener("mouseup", onDragEnd);
20806
+ doc.addEventListener("touchend", onDragEnd);
20807
+ detachDragEndRef.current = () => {
20808
+ doc.removeEventListener("mouseup", onDragEnd);
20809
+ doc.removeEventListener("touchend", onDragEnd);
20810
+ };
20811
+ };
20812
+ const handlePointerEnter = () => {
20813
+ isPointerOverRef.current = true;
20814
+ reportHover();
20815
+ };
20816
+ const handlePointerLeave = () => {
20817
+ clearHover();
20818
+ };
20819
+ const startDrag = () => {
20820
+ const offset = measureCellRightOffset();
20821
+ if (offset !== null) onResizeDragStart?.(offset);
20822
+ };
20823
+ const handlePointerDown = (event) => {
20824
+ if (event.pointerType === "touch") return;
20825
+ event.stopPropagation();
20826
+ startDrag();
20827
+ header.getResizeHandler(handleRef.current?.ownerDocument ?? document)(event);
20828
+ attachDragEndListeners();
20829
+ };
20830
+ const handleTouchStart = (event) => {
20831
+ event.stopPropagation();
20832
+ startDrag();
20833
+ header.getResizeHandler(handleRef.current?.ownerDocument ?? document)(event);
20834
+ attachDragEndListeners();
20835
+ };
20836
+ const handleReset = (event) => {
20837
+ event.preventDefault();
20838
+ event.stopPropagation();
20839
+ const leafIds = header.column.getLeafColumns().map((column) => column.id);
20840
+ onResizeReset?.(leafIds);
20841
+ if (isPointerOverRef.current) reportHover();
20842
+ else clearHover();
20843
+ };
20844
+ const handleKeyDown = (event) => {
20845
+ if (event.key !== "ArrowLeft" && event.key !== "ArrowRight") return;
20846
+ event.preventDefault();
20847
+ event.stopPropagation();
20848
+ const step = event.shiftKey ? 40 : 10;
20849
+ const delta = event.key === "ArrowRight" ? step : -step;
20850
+ onResizeKeyboardNudge?.(header.column.id, delta);
20851
+ };
20852
+ const isLeaf = header.subHeaders.length === 0;
20853
+ return /* @__PURE__ */ jsx("div", {
20854
+ ref: handleRef,
20855
+ role: "separator",
20856
+ "aria-orientation": "vertical",
20857
+ "aria-label": label,
20858
+ tabIndex: 0,
20859
+ "aria-valuenow": Math.round(header.getSize()),
20860
+ "aria-valuemin": isLeaf ? header.column.columnDef.minSize ?? 52 : void 0,
20861
+ className: ds_table_resize_handle_module_default.resizeHandle,
20862
+ onPointerDown: handlePointerDown,
20863
+ onPointerEnter: handlePointerEnter,
20864
+ onPointerLeave: handlePointerLeave,
20865
+ onTouchStart: handleTouchStart,
20866
+ onClick: (event) => event.stopPropagation(),
20867
+ onDoubleClick: handleReset,
20868
+ onKeyDown: handleKeyDown
20869
+ });
20870
+ };
20871
+ //#endregion
20872
+ //#region src/components/ds-table/components/ds-table-group-header-cell/ds-table-group-header-cell.module.scss
20873
+ var ds_table_group_header_cell_module_default = {
20874
+ "collapseToggle": "HuJ4KG_collapseToggle",
20875
+ "groupHeaderCell": "HuJ4KG_groupHeaderCell",
20876
+ "groupHeaderContent": "HuJ4KG_groupHeaderContent",
20877
+ "groupLabel": "HuJ4KG_groupLabel"
20878
+ };
20879
+ //#endregion
20880
+ //#region src/components/ds-table/components/ds-table-group-header-cell/ds-table-group-header-cell.tsx
20881
+ const DsTableGroupHeaderCell = ({ header }) => {
20882
+ const { collapsedColumnGroups, onToggleColumnGroup, locale, resizableColumns, resizeSizingReady } = useDsTableContext();
20883
+ const groupId = header.column.id;
20884
+ const visibleLeafColumns = header.column.getLeafColumns().filter((leaf) => leaf.getIsVisible());
20885
+ const groupStyle = resizeSizingReady ? getResizableHeaderStyle(header.id) : getGroupColumnSizeStyle(visibleLeafColumns, {});
20886
+ const isCollapsible = header.column.columnDef.meta?.group?.collapsible ?? false;
20887
+ const isCollapsed = collapsedColumnGroups?.includes(groupId) ?? false;
20888
+ const canResize = resizableColumns && !isCollapsed && header.column.getCanResize();
20889
+ const mergedLocale = {
20890
+ ...defaultDsTableLocale,
20891
+ ...locale
20892
+ };
20893
+ const toggleLabel = isCollapsed ? mergedLocale.expandColumnGroup : mergedLocale.collapseColumnGroup;
20894
+ const handleToggle = () => onToggleColumnGroup?.(groupId);
20895
+ return /* @__PURE__ */ jsxs(TableHead, {
20896
+ "data-column-id": groupId,
20897
+ className: ds_table_group_header_cell_module_default.groupHeaderCell,
20898
+ style: groupStyle,
20899
+ colSpan: header.colSpan,
20900
+ children: [/* @__PURE__ */ jsxs("div", {
20901
+ className: ds_table_group_header_cell_module_default.groupHeaderContent,
20902
+ children: [/* @__PURE__ */ jsx("span", {
20903
+ className: ds_table_group_header_cell_module_default.groupLabel,
20904
+ children: flexRender(header.column.columnDef.header, header.getContext())
20905
+ }), isCollapsible && /* @__PURE__ */ jsx(DsButtonV3, {
20906
+ variant: "secondary",
20907
+ size: "tiny",
20908
+ icon: isCollapsed ? "chevron_right" : "chevron_left",
20909
+ className: ds_table_group_header_cell_module_default.collapseToggle,
20910
+ "aria-label": toggleLabel,
20911
+ "aria-expanded": !isCollapsed,
20190
20912
  title: toggleLabel,
20191
20913
  onClick: handleToggle
20192
20914
  })]
20193
- })
20915
+ }), canResize && /* @__PURE__ */ jsx(DsTableResizeHandle, { header })]
20194
20916
  });
20195
20917
  };
20196
20918
  //#endregion
20197
20919
  //#region src/components/ds-table/components/ds-table-header/ds-table-header.tsx
20198
20920
  const DsTableHeader = ({ table }) => {
20199
- const { stickyHeader, bordered, virtualized } = useDsTableContext();
20921
+ const { bordered, virtualized, resizableColumns, resizeSizingReady } = useDsTableContext();
20200
20922
  return /* @__PURE__ */ jsx(TableHeader, {
20201
- className: classNames(stickyHeader && ds_table_header_module_default.stickyHeader, virtualized && ds_table_header_module_default.virtualizedHeader),
20923
+ className: classNames(ds_table_header_module_default.header, virtualized && ds_table_header_module_default.virtualizedHeader),
20202
20924
  children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(TableRow, {
20203
20925
  className: classNames(ds_table_header_module_default.headerRow, !bordered && ds_table_header_module_default.headerRowNoBorder, virtualized && ds_table_header_module_default.headerRowVirtualized),
20204
20926
  children: headerGroup.headers.map((header) => {
20927
+ const columnSizing = table.getState().columnSizing;
20205
20928
  if (header.isPlaceholder) return /* @__PURE__ */ jsx(TableHead, {
20206
20929
  className: ds_table_header_module_default.headerCell,
20207
- style: getColumnSizeStyle(header.getSize())
20930
+ style: getHeaderCellSizeStyle(header.id, header.getSize(), isExplicitColumnWidth(header.column, resizeSizingReady ? columnSizing : {}), !!resizeSizingReady)
20208
20931
  }, header.id);
20209
20932
  if (header.subHeaders.length > 0) return /* @__PURE__ */ jsx(DsTableGroupHeaderCell, { header }, header.id);
20210
- const headerStyle = getColumnSizeStyle(header.column.getSize());
20933
+ const headerStyle = getHeaderCellSizeStyle(header.id, header.column.getSize(), isExplicitColumnWidth(header.column, resizeSizingReady ? columnSizing : {}), !!resizeSizingReady);
20211
20934
  const canSort = header.column.getCanSort();
20935
+ const canResize = resizableColumns && header.column.getCanResize();
20212
20936
  const isSelectColumn = header.column.id === SELECT_COLUMN_ID;
20213
20937
  const isGroupStart = isFirstLeafColumnOfGroup(header.column);
20214
20938
  const metaFilter = header.column.columnDef.meta?.filter;
20215
20939
  const resolvedFilter = metaFilter && "render" in metaFilter ? metaFilter : void 0;
20216
20940
  const hasActiveColumnFilter = resolvedFilter?.hasActiveFilter ?? false;
20217
- return /* @__PURE__ */ jsx(TableHead, {
20941
+ return /* @__PURE__ */ jsxs(TableHead, {
20942
+ "data-column-id": header.column.id,
20218
20943
  className: classNames(ds_table_header_module_default.headerCell, canSort && ds_table_header_module_default.sortableHeader, isSelectColumn && ds_table_header_module_default.selectHeaderCell, resolvedFilter && ds_table_header_module_default.filterableHeader, hasActiveColumnFilter && ds_table_header_module_default.filterActive, isGroupStart && ds_table_header_module_default.groupStart),
20219
20944
  onClick: header.column.getToggleSortingHandler(),
20220
20945
  style: headerStyle,
20221
- children: /* @__PURE__ */ jsxs("div", {
20946
+ children: [/* @__PURE__ */ jsxs("div", {
20222
20947
  className: ds_table_header_module_default.headerSortContainer,
20223
20948
  children: [
20224
20949
  /* @__PURE__ */ jsx(DsStack, {
20225
20950
  direction: "column",
20226
20951
  justifyContent: "center",
20227
20952
  width: "100%",
20228
- children: flexRender(header.column.columnDef.header, header.getContext())
20953
+ className: ds_table_header_module_default.headerLabelStack,
20954
+ children: /* @__PURE__ */ jsx("span", {
20955
+ className: ds_table_header_module_default.headerLabel,
20956
+ children: flexRender(header.column.columnDef.header, header.getContext())
20957
+ })
20229
20958
  }),
20230
20959
  canSort && /* @__PURE__ */ jsx("div", {
20231
20960
  className: ds_table_header_module_default.pageButtonIconContainer,
@@ -20251,17 +20980,34 @@ const DsTableHeader = ({ table }) => {
20251
20980
  })
20252
20981
  })
20253
20982
  ]
20254
- })
20983
+ }), canResize && /* @__PURE__ */ jsx(DsTableResizeHandle, { header })]
20255
20984
  }, header.id);
20256
20985
  })
20257
20986
  }, headerGroup.id))
20258
20987
  });
20259
20988
  };
20260
20989
  //#endregion
20990
+ //#region src/components/ds-table/components/ds-table-resize-overlay/ds-table-resize-overlay.module.scss
20991
+ var ds_table_resize_overlay_module_default = { "resizeOverlay": "DO-LLa_resizeOverlay" };
20992
+ //#endregion
20993
+ //#region src/components/ds-table/components/ds-table-resize-overlay/ds-table-resize-overlay.tsx
20994
+ /**
20995
+ * Full-height divider that tracks the active column's right edge during hover
20996
+ * and drag resize.
20997
+ */
20998
+ const DsTableResizeOverlay = ({ offset, phase }) => /* @__PURE__ */ jsx("div", {
20999
+ className: ds_table_resize_overlay_module_default.resizeOverlay,
21000
+ style: { left: offset },
21001
+ "data-resize-overlay": true,
21002
+ "data-resize-phase": phase,
21003
+ "aria-hidden": true
21004
+ });
21005
+ //#endregion
20261
21006
  //#region src/components/ds-table/ds-table.module.scss
20262
21007
  var ds_table_module_default = {
20263
21008
  "bulkActionsVisible": "iL9mtW_bulkActionsVisible",
20264
21009
  "container": "iL9mtW_container",
21010
+ "controls": "iL9mtW_controls",
20265
21011
  "dataTableContainer": "iL9mtW_dataTableContainer",
20266
21012
  "emptyState": "iL9mtW_emptyState",
20267
21013
  "fullWidth": "iL9mtW_fullWidth",
@@ -20271,6 +21017,28 @@ var ds_table_module_default = {
20271
21017
  "virtualizedContainer": "iL9mtW_virtualizedContainer"
20272
21018
  };
20273
21019
  //#endregion
21020
+ //#region src/components/ds-table/ds-table-defaults.ts
21021
+ /**
21022
+ * Applies the documented `DsTable` prop defaults. Call once at the table
21023
+ * boundary so orchestration and context see the same resolved values.
21024
+ */
21025
+ const applyDsTableDefaults = (props) => ({
21026
+ ...props,
21027
+ virtualized: props.virtualized ?? false,
21028
+ stickyHeader: props.stickyHeader ?? true,
21029
+ bordered: props.bordered ?? true,
21030
+ fullWidth: props.fullWidth ?? true,
21031
+ rowSize: props.rowSize ?? "medium",
21032
+ loading: props.loading ?? false,
21033
+ expandable: props.expandable ?? false,
21034
+ selectable: props.selectable ?? false,
21035
+ showSelectAllCheckbox: props.showSelectAllCheckbox ?? true,
21036
+ primaryRowActions: props.primaryRowActions ?? [],
21037
+ actions: props.actions ?? [],
21038
+ reorderable: props.reorderable ?? false,
21039
+ resizableColumns: props.resizableColumns ?? false
21040
+ });
21041
+ //#endregion
20274
21042
  //#region src/components/ds-table/components/edit/ds-table-editable-cell/ds-table-editable-cell.module.scss
20275
21043
  var ds_table_editable_cell_module_default = {
20276
21044
  "editButton": "g5FEoW_editButton",
@@ -20336,12 +21104,16 @@ var ds_table_editing_cell_module_default = {
20336
21104
  //#endregion
20337
21105
  //#region src/components/ds-table/components/edit/ds-table-editing-cell/ds-table-editing-cell.tsx
20338
21106
  const DsTableEditingCell = ({ cell }) => {
20339
- const { commit, cancel } = useDsTableContext();
21107
+ const { commit, cancel, editing } = useDsTableContext();
20340
21108
  const columnDef = cell.column.columnDef;
20341
21109
  const editAnchorRef = useRef(null);
21110
+ const isActiveCell = editing?.cell.id === cell.id;
21111
+ const isPending = isActiveCell && editing.pending;
21112
+ const hasError = isActiveCell && editing.error !== null;
20342
21113
  const handleSubmit = (event) => {
20343
21114
  event.preventDefault();
20344
21115
  event.stopPropagation();
21116
+ if (isPending || hasError) return;
20345
21117
  commit();
20346
21118
  };
20347
21119
  useEffect(() => {
@@ -20393,6 +21165,8 @@ const DsTableEditingCell = ({ cell }) => {
20393
21165
  variant: "tertiary",
20394
21166
  size: "small",
20395
21167
  icon: "check",
21168
+ loading: isPending,
21169
+ disabled: hasError,
20396
21170
  "aria-label": "Confirm edit",
20397
21171
  onClick: (event) => {
20398
21172
  event.stopPropagation();
@@ -20538,7 +21312,7 @@ const DsRowDragHandle = ({ isDragging, attributes, listeners, style }) => {
20538
21312
  });
20539
21313
  };
20540
21314
  const DsTableRow = ({ ref, row, isSelected }) => {
20541
- const { reorderable, onRowClick, onRowDoubleClick, renderExpandedRow, bordered, rowSize, primaryRowActions, secondaryRowActions, activeRowId, loading } = useDsTableContext();
21315
+ const { reorderable, onRowClick, onRowDoubleClick, renderExpandedRow, bordered, rowSize, primaryRowActions, secondaryRowActions, activeRowId, loading, resizeSizingReady } = useDsTableContext();
20542
21316
  const isExpanded = row.getIsExpanded();
20543
21317
  const isActive = activeRowId === row.id;
20544
21318
  const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({
@@ -20546,7 +21320,7 @@ const DsTableRow = ({ ref, row, isSelected }) => {
20546
21320
  disabled: !reorderable
20547
21321
  });
20548
21322
  const rowStyle = reorderable ? {
20549
- transform: CSS.Transform.toString(transform),
21323
+ transform: CSS$1.Transform.toString(transform),
20550
21324
  transition,
20551
21325
  ...isDragging ? {
20552
21326
  background: "var(--color-dap-purple-200)",
@@ -20567,7 +21341,8 @@ const DsTableRow = ({ ref, row, isSelected }) => {
20567
21341
  onClick: () => onRowClick?.(row.original),
20568
21342
  onDoubleClick: () => onRowDoubleClick?.(row.original),
20569
21343
  children: row.getVisibleCells().map((cell, idx) => {
20570
- const cellStyle = getColumnSizeStyle(cell.column.getSize());
21344
+ const columnSizing = cell.getContext().table.getState().columnSizing;
21345
+ const cellStyle = getBodyCellSizeStyle(cell.column.id, cell.column.getSize(), isExplicitColumnWidth(cell.column, resizeSizingReady ? columnSizing : {}), !!resizeSizingReady);
20571
21346
  if (cell.column.id === "reorder") return /* @__PURE__ */ jsx(DsRowDragHandle, {
20572
21347
  isDragging,
20573
21348
  attributes,
@@ -20599,56 +21374,6 @@ const DsTableRow = ({ ref, row, isSelected }) => {
20599
21374
  })] });
20600
21375
  };
20601
21376
  //#endregion
20602
- //#region src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.module.scss
20603
- var ds_table_row_expandable_cell_module_default = { "button": "enUIjW_button" };
20604
- //#endregion
20605
- //#region src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.tsx
20606
- const DsTableRowExpandableCell = ({ row, buttonClassName }) => {
20607
- const isExpanded = row.getIsExpanded();
20608
- return /* @__PURE__ */ jsx(DsButton, {
20609
- design: "v1.2",
20610
- buttonType: "tertiary",
20611
- size: "small",
20612
- className: classNames(ds_table_row_expandable_cell_module_default.button, buttonClassName),
20613
- onClick: (e) => {
20614
- e.stopPropagation();
20615
- row.toggleExpanded();
20616
- },
20617
- onDoubleClick: (e) => {
20618
- e.stopPropagation();
20619
- },
20620
- children: /* @__PURE__ */ jsx(DsIcon, {
20621
- icon: "chevron_right",
20622
- size: "small",
20623
- className: classNames(ds_table_shared_module_default.pageButtonIcon, isExpanded && "rotate-90")
20624
- })
20625
- });
20626
- };
20627
- //#endregion
20628
- //#region src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.tsx
20629
- const DsTableRowSelectableCell = ({ row }) => {
20630
- return /* @__PURE__ */ jsx(DsCheckbox, {
20631
- className: ds_table_shared_module_default.checkboxContainer,
20632
- checked: row.getIsSelected(),
20633
- disabled: !row.getCanSelect(),
20634
- onCheckedChange: (checked) => row.toggleSelected(!!checked),
20635
- onClick: (e) => e.stopPropagation(),
20636
- onDoubleClick: (e) => e.stopPropagation()
20637
- });
20638
- };
20639
- //#endregion
20640
- //#region src/components/ds-table/components/ds-table-header-selectable-cell/ds-table-header-selectable-cell.tsx
20641
- const DsTableHeaderSelectableCell = ({ table }) => {
20642
- const checked = table.getIsAllRowsSelected() ? true : table.getIsSomeRowsSelected() ? "indeterminate" : false;
20643
- return /* @__PURE__ */ jsx(DsCheckbox, {
20644
- className: ds_table_shared_module_default.checkboxContainer,
20645
- checked,
20646
- onCheckedChange: (nextChecked) => table.toggleAllRowsSelected(!!nextChecked),
20647
- onClick: (e) => e.stopPropagation(),
20648
- onDoubleClick: (e) => e.stopPropagation()
20649
- });
20650
- };
20651
- //#endregion
20652
21377
  //#region src/components/ds-table/hooks/use-drag-and-drop.tsx
20653
21378
  const DragWrapper = ({ children, onDragEnd, sensors }) => /* @__PURE__ */ jsx(DndContext, {
20654
21379
  collisionDetection: closestCenter,
@@ -20693,6 +21418,201 @@ function useDragAndDrop({ isDragEnabled, onOrderChange, items }) {
20693
21418
  };
20694
21419
  }
20695
21420
  //#endregion
21421
+ //#region src/components/ds-table/hooks/use-column-resize.ts
21422
+ const INITIAL_COLUMN_SIZING_INFO = {
21423
+ startOffset: null,
21424
+ startSize: null,
21425
+ deltaOffset: null,
21426
+ deltaPercentage: null,
21427
+ isResizingColumn: false,
21428
+ columnSizingStart: []
21429
+ };
21430
+ /**
21431
+ * Owns column-resize state, TanStack sizing handlers, origin snapshots, seed
21432
+ * measurement, hover/drag overlay model, and the context slice consumed by
21433
+ * resize handles.
21434
+ *
21435
+ * Call before `useReactTable`, spread `tableOptions` / `state` into it, then
21436
+ * `bind(table)` during render for CSS vars, overlay, and context.
21437
+ */
21438
+ const useColumnResize = ({ enabled, columnSizing: columnSizingProp, onColumnSizingChange, columns, columnVisibility }) => {
21439
+ const [columnResizeState, setColumnResizeState] = useState({
21440
+ columnSizing: {},
21441
+ columnSizingInfo: INITIAL_COLUMN_SIZING_INFO
21442
+ });
21443
+ const { columnSizing: internalColumnSizing, columnSizingInfo } = columnResizeState;
21444
+ const columnSizing = useMemo(() => columnSizingProp ? {
21445
+ ...columnSizingProp,
21446
+ ...internalColumnSizing
21447
+ } : internalColumnSizing, [columnSizingProp, internalColumnSizing]);
21448
+ const [resizeHover, setResizeHover] = useState(null);
21449
+ const dragStartOffsetRef = useRef(null);
21450
+ const resizeOriginSizingRef = useRef({});
21451
+ const containerRef = useRef(null);
21452
+ const tableRef = useRef(null);
21453
+ const columnSizingRef = useRef(columnSizing);
21454
+ columnSizingRef.current = columnSizing;
21455
+ const columnSizingInfoRef = useRef(columnSizingInfo);
21456
+ columnSizingInfoRef.current = columnSizingInfo;
21457
+ const onColumnSizingChangeRef = useRef(onColumnSizingChange);
21458
+ onColumnSizingChangeRef.current = onColumnSizingChange;
21459
+ const leafSizeBoundsRef = useRef([]);
21460
+ const handleColumnSizingChange = useCallback((updaterOrValue) => {
21461
+ const clamped = clampColumnSizing(typeof updaterOrValue === "function" ? updaterOrValue(columnSizingRef.current) : updaterOrValue, leafSizeBoundsRef.current);
21462
+ columnSizingRef.current = clamped;
21463
+ setColumnResizeState((prev) => ({
21464
+ ...prev,
21465
+ columnSizing: clamped
21466
+ }));
21467
+ }, []);
21468
+ const handleColumnSizingInfoChange = useCallback((updaterOrValue) => {
21469
+ const prevInfo = columnSizingInfoRef.current;
21470
+ const nextInfo = typeof updaterOrValue === "function" ? updaterOrValue(prevInfo) : updaterOrValue;
21471
+ const ended = Boolean(prevInfo.isResizingColumn) && nextInfo.isResizingColumn === false;
21472
+ columnSizingInfoRef.current = nextInfo;
21473
+ setColumnResizeState((prev) => ({
21474
+ ...prev,
21475
+ columnSizingInfo: nextInfo
21476
+ }));
21477
+ if (ended) onColumnSizingChangeRef.current?.(omitBuiltinColumnSizing(columnSizingRef.current));
21478
+ }, []);
21479
+ const handleResizeHover = useCallback((columnId, offset) => {
21480
+ setResizeHover(columnId === null || offset === null ? null : {
21481
+ columnId,
21482
+ offset
21483
+ });
21484
+ }, []);
21485
+ const handleResizeDragStart = useCallback((offset) => {
21486
+ dragStartOffsetRef.current = offset;
21487
+ }, []);
21488
+ const handleResizeReset = useCallback((columnIds) => {
21489
+ const next = { ...columnSizingRef.current };
21490
+ for (const id of columnIds) {
21491
+ const origin = resizeOriginSizingRef.current[id];
21492
+ if (origin !== void 0) next[id] = origin;
21493
+ }
21494
+ const clamped = clampColumnSizing(next, leafSizeBoundsRef.current);
21495
+ handleColumnSizingChange(clamped);
21496
+ onColumnSizingChangeRef.current?.(omitBuiltinColumnSizing(clamped));
21497
+ }, [handleColumnSizingChange]);
21498
+ const handleResizeKeyboardNudge = useCallback((columnId, delta) => {
21499
+ const table = tableRef.current;
21500
+ const column = table?.getColumn(columnId);
21501
+ if (!table || !column) return;
21502
+ const leaves = column.getLeafColumns().filter((leaf) => leaf.getIsVisible() && leaf.getCanResize());
21503
+ const totalSize = leaves.reduce((sum, leaf) => sum + leaf.getSize(), 0);
21504
+ if (leaves.length === 0 || totalSize <= 0) return;
21505
+ const next = { ...columnSizingRef.current };
21506
+ for (const leaf of leaves) {
21507
+ const size = leaf.getSize();
21508
+ next[leaf.id] = Math.round(size + delta * (size / totalSize));
21509
+ }
21510
+ const clamped = clampColumnSizing(next, leafSizeBoundsRef.current);
21511
+ handleColumnSizingChange(clamped);
21512
+ onColumnSizingChangeRef.current?.(omitBuiltinColumnSizing(clamped));
21513
+ }, [handleColumnSizingChange]);
21514
+ useLayoutEffect(() => {
21515
+ if (!enabled) return;
21516
+ const container = containerRef.current;
21517
+ const table = tableRef.current;
21518
+ if (!container || !table) return;
21519
+ const seedMissingLeaves = () => {
21520
+ if (container.getBoundingClientRect().width === 0) return false;
21521
+ const tableEl = container.querySelector("table");
21522
+ if (!(tableEl instanceof HTMLElement)) return false;
21523
+ const leaves = table.getVisibleLeafColumns();
21524
+ const measured = measureLeafHeaderWidths(tableEl, leaves.map((column) => column.id));
21525
+ for (const column of leaves) {
21526
+ const measuredWidth = measured[column.id];
21527
+ if (measuredWidth === void 0 || resizeOriginSizingRef.current[column.id] !== void 0) continue;
21528
+ resizeOriginSizingRef.current[column.id] = getResizeOriginSize(column, Math.round(measuredWidth));
21529
+ }
21530
+ const missing = collectMissingLeafSizing(measured, columnSizingRef.current);
21531
+ if (Object.keys(missing).length > 0) handleColumnSizingChange((prev) => ({
21532
+ ...clampColumnSizing(missing, leafSizeBoundsRef.current),
21533
+ ...prev
21534
+ }));
21535
+ return true;
21536
+ };
21537
+ if (seedMissingLeaves()) return;
21538
+ const observer = new ResizeObserver(() => {
21539
+ if (seedMissingLeaves()) observer.disconnect();
21540
+ });
21541
+ observer.observe(container);
21542
+ return () => observer.disconnect();
21543
+ }, [
21544
+ enabled,
21545
+ columns,
21546
+ columnVisibility,
21547
+ handleColumnSizingChange
21548
+ ]);
21549
+ const tableOptions = useMemo(() => ({
21550
+ enableColumnResizing: enabled,
21551
+ columnResizeMode: "onChange",
21552
+ ...enabled ? { defaultColumn: { minSize: 52 } } : {},
21553
+ onColumnSizingChange: handleColumnSizingChange,
21554
+ onColumnSizingInfoChange: handleColumnSizingInfoChange
21555
+ }), [
21556
+ enabled,
21557
+ handleColumnSizingChange,
21558
+ handleColumnSizingInfoChange
21559
+ ]);
21560
+ const bind = (table) => {
21561
+ tableRef.current = table;
21562
+ leafSizeBoundsRef.current = table.getAllLeafColumns();
21563
+ const visibleLeafIds = table.getVisibleLeafColumns().map((column) => column.id);
21564
+ const resizeSizingReady = enabled && visibleLeafIds.length > 0 && visibleLeafIds.every((id) => columnSizing[id] !== void 0);
21565
+ const columnSizeVars = resizeSizingReady ? {
21566
+ ...getColumnSizeCssVars(table.getFlatHeaders()),
21567
+ width: table.getTotalSize()
21568
+ } : void 0;
21569
+ if (!enabled) return {
21570
+ columnSizeVars: void 0,
21571
+ activeResize: null,
21572
+ context: {
21573
+ resizableColumns: false,
21574
+ resizeSizingReady: false,
21575
+ resizeContainerRef: containerRef,
21576
+ onResizeHover: handleResizeHover,
21577
+ onResizeDragStart: handleResizeDragStart,
21578
+ onResizeReset: handleResizeReset,
21579
+ onResizeKeyboardNudge: handleResizeKeyboardNudge
21580
+ }
21581
+ };
21582
+ const isResizingColumn = columnSizingInfo.isResizingColumn;
21583
+ const resizingHeader = typeof isResizingColumn === "string" ? table.getFlatHeaders().find((header) => header.column.id === isResizingColumn) : void 0;
21584
+ const startSize = columnSizingInfo.startSize;
21585
+ const clampedResizeDelta = resizingHeader && startSize !== null ? resizingHeader.getSize() - startSize : columnSizingInfo.deltaOffset ?? 0;
21586
+ return {
21587
+ columnSizeVars,
21588
+ activeResize: isResizingColumn && dragStartOffsetRef.current !== null ? {
21589
+ offset: dragStartOffsetRef.current + clampedResizeDelta,
21590
+ phase: "dragging"
21591
+ } : resizeHover ? {
21592
+ offset: resizeHover.offset,
21593
+ phase: "hover"
21594
+ } : null,
21595
+ context: {
21596
+ resizableColumns: enabled,
21597
+ resizeSizingReady,
21598
+ resizeContainerRef: containerRef,
21599
+ onResizeHover: handleResizeHover,
21600
+ onResizeDragStart: handleResizeDragStart,
21601
+ onResizeReset: handleResizeReset,
21602
+ onResizeKeyboardNudge: handleResizeKeyboardNudge
21603
+ }
21604
+ };
21605
+ };
21606
+ return {
21607
+ tableOptions,
21608
+ state: {
21609
+ columnSizing,
21610
+ columnSizingInfo
21611
+ },
21612
+ bind
21613
+ };
21614
+ };
21615
+ //#endregion
20696
21616
  //#region src/components/ds-table/components/ds-table-body-virtualized/ds-table-body-virtualized.module.scss
20697
21617
  var ds_table_body_virtualized_module_default = {
20698
21618
  "body": "vRRk8q_body",
@@ -20722,7 +21642,7 @@ var ds_table_row_virtualized_module_default = {
20722
21642
  //#endregion
20723
21643
  //#region src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.tsx
20724
21644
  const DsTableRowVirtualized = ({ row, isSelected, rowsMapRef, rowHeightsMapRef, rowVirtualizer, virtualRow, isExpandedRowContent }) => {
20725
- const { bordered, rowSize, activeRowId, primaryRowActions, secondaryRowActions, renderExpandedRow, onRowClick, onRowDoubleClick, loading } = useDsTableContext();
21645
+ const { bordered, rowSize, activeRowId, primaryRowActions, secondaryRowActions, renderExpandedRow, onRowClick, onRowDoubleClick, loading, resizeSizingReady } = useDsTableContext();
20726
21646
  const isExpanded = row.getIsExpanded();
20727
21647
  const isActive = activeRowId === row.id;
20728
21648
  return /* @__PURE__ */ jsx(TableRow, {
@@ -20746,8 +21666,9 @@ const DsTableRowVirtualized = ({ row, isSelected, rowsMapRef, rowHeightsMapRef,
20746
21666
  onDoubleClick: isExpandedRowContent ? void 0 : () => onRowDoubleClick?.(row.original),
20747
21667
  children: isExpandedRowContent ? /* @__PURE__ */ jsx(TableCell, { children: renderExpandedRow?.(row.original) }) : /* @__PURE__ */ jsx(Fragment, { children: row.getVisibleCells().map((cell, idx) => {
20748
21668
  const isLastColumn = idx === row.getVisibleCells().length - 1;
21669
+ const columnSizing = cell.getContext().table.getState().columnSizing;
20749
21670
  return /* @__PURE__ */ jsx(TableCell, {
20750
- style: getColumnSizeStyle(cell.column.getSize()),
21671
+ style: getBodyCellSizeStyle(cell.column.id, cell.column.getSize(), isExplicitColumnWidth(cell.column, resizeSizingReady ? columnSizing : {}), !!resizeSizingReady),
20751
21672
  className: classNames(ds_table_row_virtualized_module_default.cell, cell.column.id === "expander" && ds_table_row_virtualized_module_default.expandableCell, cell.column.id === "select" && ds_table_row_virtualized_module_default.selectableCell, isFirstLeafColumnOfGroup(cell.column) && ds_table_row_virtualized_module_default.groupStart, typeof cell.column.columnDef.editCell === "function" && ds_table_row_virtualized_module_default.editableCell),
20752
21673
  children: isLastColumn ? /* @__PURE__ */ jsx(DsTableCell, {
20753
21674
  row,
@@ -20886,6 +21807,194 @@ function DsTableBody({ ref, rowVirtualizer, rowsMapRef, rowHeightsMapRef, rowsAn
20886
21807
  });
20887
21808
  }
20888
21809
  //#endregion
21810
+ //#region src/components/ds-table/components/ds-table-header-selectable-cell/ds-table-header-selectable-cell.tsx
21811
+ const DsTableHeaderSelectableCell = ({ table }) => {
21812
+ const checked = table.getIsAllRowsSelected() ? true : table.getIsSomeRowsSelected() ? "indeterminate" : false;
21813
+ return /* @__PURE__ */ jsx(DsCheckbox, {
21814
+ className: ds_table_shared_module_default.checkboxContainer,
21815
+ checked,
21816
+ onCheckedChange: (nextChecked) => table.toggleAllRowsSelected(!!nextChecked),
21817
+ onClick: (e) => e.stopPropagation(),
21818
+ onDoubleClick: (e) => e.stopPropagation()
21819
+ });
21820
+ };
21821
+ //#endregion
21822
+ //#region src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.module.scss
21823
+ var ds_table_row_expandable_cell_module_default = { "button": "enUIjW_button" };
21824
+ //#endregion
21825
+ //#region src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.tsx
21826
+ const DsTableRowExpandableCell = ({ row, buttonClassName }) => {
21827
+ const isExpanded = row.getIsExpanded();
21828
+ return /* @__PURE__ */ jsx(DsButton, {
21829
+ design: "v1.2",
21830
+ buttonType: "tertiary",
21831
+ size: "small",
21832
+ className: classNames(ds_table_row_expandable_cell_module_default.button, buttonClassName),
21833
+ onClick: (e) => {
21834
+ e.stopPropagation();
21835
+ row.toggleExpanded();
21836
+ },
21837
+ onDoubleClick: (e) => {
21838
+ e.stopPropagation();
21839
+ },
21840
+ children: /* @__PURE__ */ jsx(DsIcon, {
21841
+ icon: "chevron_right",
21842
+ size: "small",
21843
+ className: classNames(ds_table_shared_module_default.pageButtonIcon, isExpanded && "rotate-90")
21844
+ })
21845
+ });
21846
+ };
21847
+ //#endregion
21848
+ //#region src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.tsx
21849
+ const DsTableRowSelectableCell = ({ row }) => {
21850
+ return /* @__PURE__ */ jsx(DsCheckbox, {
21851
+ className: ds_table_shared_module_default.checkboxContainer,
21852
+ checked: row.getIsSelected(),
21853
+ disabled: !row.getCanSelect(),
21854
+ onCheckedChange: (checked) => row.toggleSelected(!!checked),
21855
+ onClick: (e) => e.stopPropagation(),
21856
+ onDoubleClick: (e) => e.stopPropagation()
21857
+ });
21858
+ };
21859
+ //#endregion
21860
+ //#region src/components/ds-table/utils/table-columns.tsx
21861
+ const EXPLICIT_SIZE_META = { hasExplicitSize: true };
21862
+ /**
21863
+ * Clones leaf defs that authored `size` so `meta.hasExplicitSize` survives
21864
+ * TanStack’s default-size merge. Group defs are cloned only to recurse;
21865
+ * unsized leaves are returned as-is.
21866
+ */
21867
+ const stampExplicitSize = (columns) => columns.map((column) => {
21868
+ if ("columns" in column && column.columns) return {
21869
+ ...column,
21870
+ columns: stampExplicitSize(column.columns)
21871
+ };
21872
+ if (column.size === void 0) return column;
21873
+ return {
21874
+ ...column,
21875
+ meta: {
21876
+ ...column.meta,
21877
+ ...EXPLICIT_SIZE_META
21878
+ }
21879
+ };
21880
+ });
21881
+ /**
21882
+ * Prepends the builtin select / expander / reorder columns when those features
21883
+ * are on. Reorder is omitted for virtualized tables. Unshift order yields
21884
+ * visual order: reorder, expander, select, then consumer columns.
21885
+ */
21886
+ const getAugmentedColumns = (columns, { selectable, expandable, reorderable, virtualized, showSelectAllCheckbox }) => {
21887
+ const augmentedColumns = stampExplicitSize(columns);
21888
+ if (selectable) augmentedColumns.unshift({
21889
+ id: SELECT_COLUMN_ID,
21890
+ size: 36,
21891
+ minSize: 36,
21892
+ maxSize: 36,
21893
+ enableSorting: false,
21894
+ enableResizing: false,
21895
+ meta: EXPLICIT_SIZE_META,
21896
+ header: ({ table }) => showSelectAllCheckbox ? /* @__PURE__ */ jsx(DsTableHeaderSelectableCell, { table }) : null,
21897
+ cell: ({ row }) => /* @__PURE__ */ jsx(DsTableRowSelectableCell, { row })
21898
+ });
21899
+ if (expandable) augmentedColumns.unshift({
21900
+ id: EXPANDER_COLUMN_ID,
21901
+ size: 36,
21902
+ minSize: 36,
21903
+ maxSize: 36,
21904
+ enableSorting: false,
21905
+ enableResizing: false,
21906
+ meta: EXPLICIT_SIZE_META,
21907
+ header: () => null,
21908
+ cell: ({ row }) => row.getCanExpand() ? /* @__PURE__ */ jsx(DsTableRowExpandableCell, { row }) : null
21909
+ });
21910
+ if (reorderable && !virtualized) augmentedColumns.unshift({
21911
+ id: REORDER_COLUMN_ID,
21912
+ size: 60,
21913
+ minSize: 60,
21914
+ maxSize: 60,
21915
+ enableSorting: false,
21916
+ enableResizing: false,
21917
+ meta: EXPLICIT_SIZE_META,
21918
+ header: "Order",
21919
+ cell: () => null
21920
+ });
21921
+ return augmentedColumns;
21922
+ };
21923
+ /**
21924
+ * Replaces each leaf `cell` with `loadingCell` (or a default text skeleton).
21925
+ * Group columns are cloned with the same transform applied to their children.
21926
+ */
21927
+ const toSkeletonColumns = (columns) => columns.map((column) => "columns" in column && column.columns ? {
21928
+ ...column,
21929
+ columns: toSkeletonColumns(column.columns)
21930
+ } : {
21931
+ ...column,
21932
+ cell: column.loadingCell ?? (() => /* @__PURE__ */ jsx(DsSkeletonText, { width: "60%" }))
21933
+ });
21934
+ const createSkeletonRows = () => Array.from({ length: 5 }, (_, i) => ({ id: `ds-table-skeleton-${String(i)}` }));
21935
+ //#endregion
21936
+ //#region src/components/ds-table/utils/table-api.ts
21937
+ const createTableApi = (table) => ({
21938
+ selectRow: (rowId) => {
21939
+ table.getRow(rowId).toggleSelected(true);
21940
+ },
21941
+ deselectRow: (rowId) => {
21942
+ table.getRow(rowId).toggleSelected(false);
21943
+ },
21944
+ selectAllRows: () => {
21945
+ table.toggleAllRowsSelected(true);
21946
+ },
21947
+ deselectAllRows: () => {
21948
+ table.toggleAllRowsSelected(false);
21949
+ },
21950
+ selectRows: (rowIds) => {
21951
+ const selection = {};
21952
+ rowIds.forEach((id) => selection[id] = true);
21953
+ table.setRowSelection(selection);
21954
+ },
21955
+ getSelectedRows: () => {
21956
+ return table.getFilteredSelectedRowModel().rows.map((r) => r.original);
21957
+ },
21958
+ expandRow: (rowId) => {
21959
+ table.getRow(rowId).toggleExpanded(true);
21960
+ },
21961
+ collapseRow: (rowId) => {
21962
+ table.getRow(rowId).toggleExpanded(false);
21963
+ },
21964
+ expandAllRows: () => {
21965
+ table.toggleAllRowsExpanded(true);
21966
+ },
21967
+ collapseAllRows: () => {
21968
+ table.toggleAllRowsExpanded(false);
21969
+ },
21970
+ expandRows: (rowIds) => {
21971
+ const expansion = {};
21972
+ rowIds.forEach((id) => expansion[id] = true);
21973
+ table.setExpanded(expansion);
21974
+ }
21975
+ });
21976
+ //#endregion
21977
+ //#region src/components/ds-table/utils/frozen-body.ts
21978
+ /**
21979
+ * `React.memo` comparator for the table body during a column-resize drag.
21980
+ *
21981
+ * While a column is being resized, sizing is applied through CSS variables on
21982
+ * the table element, so body rows do not need to re-render — freezing them keeps
21983
+ * dragging smooth. `table` is a stable mutable instance (ref-equal across
21984
+ * renders), so comparing it is meaningless and it is skipped; every other prop
21985
+ * must be referentially unchanged to freeze. That way parent-driven updates mid-
21986
+ * drag (`rowSelection`, `emptyState`, `onScroll`, `infiniteScroll`, ...) are not
21987
+ * dropped.
21988
+ */
21989
+ const areBodiesFrozen = (prev, next) => {
21990
+ if (!next.table.getState().columnSizingInfo.isResizingColumn) return false;
21991
+ const prevProps = prev;
21992
+ const nextProps = next;
21993
+ const keys = /* @__PURE__ */ new Set([...Object.keys(prevProps), ...Object.keys(nextProps)]);
21994
+ for (const key of keys) if (key !== "table" && prevProps[key] !== nextProps[key]) return false;
21995
+ return true;
21996
+ };
21997
+ //#endregion
20889
21998
  //#region src/components/ds-table/ds-table.tsx
20890
21999
  const ROW_SIZE_HEIGHT_MAP = {
20891
22000
  small: 36,
@@ -20895,7 +22004,9 @@ const ROW_SIZE_HEIGHT_MAP = {
20895
22004
  /**
20896
22005
  * Design system Table component
20897
22006
  */
20898
- const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = false, virtualizedOptions, className, onRowClick, emptyState, stickyHeader = true, bordered = true, fullWidth = true, rowSize = "medium", loading = false, expandable = false, renderExpandedRow, selectable = false, showSelectAllCheckbox = true, onSelectionChange, onSortingChange, onScroll, actions = [], onRowDoubleClick, primaryRowActions = [], secondaryRowActions, reorderable = false, onOrderChange, columnFilters: externalColumnFilters, onColumnFiltersChange, columnVisibility: externalColumnVisibility, onColumnVisibilityChange, collapsedColumnGroups: externalCollapsedColumnGroups, onCollapsedColumnGroupsChange, locale, activeRowId, infiniteScroll, onCellEdit, onCellValidate }) => {
22007
+ const DsTable = (props) => {
22008
+ const tableProps = applyDsTableDefaults(props);
22009
+ const { ref, columns: columnsProp, data: tableData, controls, virtualized, virtualizedOptions, className, emptyState, bordered, fullWidth, rowSize, loading, expandable, selectable, showSelectAllCheckbox, onSelectionChange, onSortingChange, onScroll, actions, reorderable, onOrderChange, columnFilters: externalColumnFilters, onColumnFiltersChange, columnVisibility: externalColumnVisibility, onColumnVisibilityChange, collapsedColumnGroups: externalCollapsedColumnGroups, onCollapsedColumnGroupsChange, infiniteScroll, resizableColumns, columnSizing, onColumnSizingChange } = tableProps;
20899
22010
  const [data, setData] = React$1.useState(tableData);
20900
22011
  const [sorting, setSorting] = React$1.useState([]);
20901
22012
  const [internalColumnFilters, setInternalColumnFilters] = React$1.useState([]);
@@ -20909,7 +22020,6 @@ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = fal
20909
22020
  },
20910
22021
  items: data
20911
22022
  });
20912
- const tableContainerRef = React$1.useRef(null);
20913
22023
  const columnFilters = externalColumnFilters ?? internalColumnFilters;
20914
22024
  const handleColumnFiltersChange = (updaterOrValue) => {
20915
22025
  const newFilters = typeof updaterOrValue === "function" ? updaterOrValue(columnFilters) : updaterOrValue;
@@ -20941,63 +22051,31 @@ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = fal
20941
22051
  setRowSelection(newRowSelection);
20942
22052
  onSelectionChange?.(newRowSelection);
20943
22053
  };
20944
- const hasExpanderColumn = !!expandable;
20945
- const hasSelectColumn = !!selectable;
20946
- const hasReorderColumn = reorderable && !virtualized;
20947
- const columns = useMemo(() => {
20948
- const augmentedColumns = [...columnsProp];
20949
- if (hasSelectColumn) {
20950
- const selectColumn = {
20951
- id: SELECT_COLUMN_ID,
20952
- size: 36,
20953
- enableSorting: false,
20954
- enableResizing: false,
20955
- header: ({ table }) => showSelectAllCheckbox ? /* @__PURE__ */ jsx(DsTableHeaderSelectableCell, { table }) : null,
20956
- cell: ({ row }) => /* @__PURE__ */ jsx(DsTableRowSelectableCell, { row })
20957
- };
20958
- augmentedColumns.unshift(selectColumn);
20959
- }
20960
- if (hasExpanderColumn) {
20961
- const expanderColumn = {
20962
- id: EXPANDER_COLUMN_ID,
20963
- size: 36,
20964
- enableSorting: false,
20965
- enableResizing: false,
20966
- header: () => null,
20967
- cell: ({ row }) => row.getCanExpand() ? /* @__PURE__ */ jsx(DsTableRowExpandableCell, { row }) : null
20968
- };
20969
- augmentedColumns.unshift(expanderColumn);
20970
- }
20971
- if (hasReorderColumn) {
20972
- const reorderColumn = {
20973
- id: REORDER_COLUMN_ID,
20974
- size: 60,
20975
- enableSorting: false,
20976
- enableResizing: false,
20977
- header: "Order",
20978
- cell: () => null
20979
- };
20980
- augmentedColumns.unshift(reorderColumn);
20981
- }
20982
- return augmentedColumns;
20983
- }, [
22054
+ const hasSelectColumn = Boolean(selectable);
22055
+ const hasExpanderColumn = Boolean(expandable);
22056
+ const columns = useMemo(() => getAugmentedColumns(columnsProp, {
22057
+ selectable: hasSelectColumn,
22058
+ expandable: hasExpanderColumn,
22059
+ reorderable,
22060
+ virtualized,
22061
+ showSelectAllCheckbox
22062
+ }), [
20984
22063
  columnsProp,
20985
- hasExpanderColumn,
20986
- hasReorderColumn,
20987
22064
  hasSelectColumn,
22065
+ hasExpanderColumn,
22066
+ reorderable,
22067
+ virtualized,
20988
22068
  showSelectAllCheckbox
20989
22069
  ]);
20990
- const skeletonColumns = useMemo(() => {
20991
- const toSkeleton = (cols) => cols.map((column) => "columns" in column && column.columns ? {
20992
- ...column,
20993
- columns: toSkeleton(column.columns)
20994
- } : {
20995
- ...column,
20996
- cell: column.loadingCell ?? (() => /* @__PURE__ */ jsx(DsSkeletonText, { width: "60%" }))
20997
- });
20998
- return toSkeleton(columns);
20999
- }, [columns]);
21000
- const skeletonData = useMemo(() => Array.from({ length: 5 }, (_, i) => ({ id: `ds-table-skeleton-${String(i)}` })), []);
22070
+ const skeletonColumns = useMemo(() => toSkeletonColumns(columns), [columns]);
22071
+ const skeletonData = useMemo(() => createSkeletonRows(), []);
22072
+ const resize = useColumnResize({
22073
+ enabled: resizableColumns,
22074
+ columnSizing,
22075
+ onColumnSizingChange,
22076
+ columns,
22077
+ columnVisibility
22078
+ });
21001
22079
  const table = useReactTable({
21002
22080
  data: loading ? skeletonData : reorderable ? data : tableData,
21003
22081
  columns: loading ? skeletonColumns : columns,
@@ -21011,115 +22089,88 @@ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = fal
21011
22089
  getRowId: (row) => row.id,
21012
22090
  getExpandedRowModel: getExpandedRowModel(),
21013
22091
  getRowCanExpand: typeof expandable === "function" ? (row) => expandable(row.original) : () => expandable,
22092
+ ...resize.tableOptions,
21014
22093
  state: {
21015
22094
  sorting,
21016
22095
  columnFilters,
21017
22096
  columnVisibility,
21018
- rowSelection
22097
+ rowSelection,
22098
+ ...resize.state
21019
22099
  },
21020
22100
  enableRowSelection: typeof selectable === "function" ? (row) => selectable(row.original) : selectable
21021
22101
  });
21022
- useImperativeHandle(ref, () => ({
21023
- selectRow: (rowId) => {
21024
- table.getRow(rowId).toggleSelected(true);
21025
- },
21026
- deselectRow: (rowId) => {
21027
- table.getRow(rowId).toggleSelected(false);
21028
- },
21029
- selectAllRows: () => {
21030
- table.toggleAllRowsSelected(true);
21031
- },
21032
- deselectAllRows: () => {
21033
- table.toggleAllRowsSelected(false);
21034
- },
21035
- selectRows: (rowIds) => {
21036
- const selection = {};
21037
- rowIds.forEach((id) => selection[id] = true);
21038
- table.setRowSelection(selection);
21039
- },
21040
- getSelectedRows: () => {
21041
- return table.getFilteredSelectedRowModel().rows.map((r) => r.original);
21042
- },
21043
- expandRow: (rowId) => {
21044
- table.getRow(rowId).toggleExpanded(true);
21045
- },
21046
- collapseRow: (rowId) => {
21047
- table.getRow(rowId).toggleExpanded(false);
21048
- },
21049
- expandAllRows: () => {
21050
- table.toggleAllRowsExpanded(true);
21051
- },
21052
- collapseAllRows: () => {
21053
- table.toggleAllRowsExpanded(false);
21054
- },
21055
- expandRows: (rowIds) => {
21056
- const expansion = {};
21057
- rowIds.forEach((id) => expansion[id] = true);
21058
- table.setExpanded(expansion);
21059
- }
21060
- }), [table]);
21061
- const { rows, rowsById } = table.getRowModel();
21062
- const renderEmptyState = () => /* @__PURE__ */ jsx(TableRow, { children: /* @__PURE__ */ jsx(TableCell, {
21063
- colSpan: columns.length,
21064
- className: ds_table_module_default.emptyState,
21065
- children: emptyState || "No results."
21066
- }) });
22102
+ const { columnSizeVars, activeResize, context: resizeContext } = resize.bind(table);
22103
+ useImperativeHandle(ref, () => createTableApi(table), [table]);
22104
+ const { rowsById } = table.getRowModel();
21067
22105
  const selectedRows = Object.entries(rowSelection).filter(([, selected]) => selected).map(([key]) => rowsById[key]?.original).filter((v) => !!v);
21068
22106
  const isBulkActionsVisible = selectable && actions.length > 0 && selectedRows.length > 0;
21069
- const editingState = useEditingState(onCellEdit, onCellValidate);
21070
- const contextValue = {
21071
- stickyHeader,
21072
- bordered,
21073
- fullWidth,
21074
- rowSize,
21075
- expandable,
21076
- selectable,
21077
- reorderable,
21078
- showSelectAllCheckbox,
21079
- loading,
21080
- onRowClick: loading ? void 0 : onRowClick,
21081
- onRowDoubleClick: loading ? void 0 : onRowDoubleClick,
21082
- primaryRowActions,
21083
- secondaryRowActions,
21084
- renderExpandedRow,
21085
- virtualized,
21086
- activeRowId,
21087
- collapsedColumnGroups,
21088
- onToggleColumnGroup: toggleColumnGroup,
21089
- locale,
21090
- onCellEdit,
21091
- ...editingState
21092
- };
21093
- return /* @__PURE__ */ jsx(DsTableContext.Provider, {
21094
- value: contextValue,
22107
+ return /* @__PURE__ */ jsx(DsTableContextProvider, {
22108
+ tableProps,
22109
+ derived: {
22110
+ grouping: {
22111
+ collapsedColumnGroups,
22112
+ onToggleColumnGroup: toggleColumnGroup
22113
+ },
22114
+ resize: resizeContext
22115
+ },
21095
22116
  children: /* @__PURE__ */ jsxs("div", {
21096
- ref: tableContainerRef,
21097
- className: classNames(ds_table_module_default.container, !virtualized && ds_table_module_default.dataTableContainer, virtualized && ds_table_module_default.virtualizedContainer, isBulkActionsVisible && ds_table_module_default.bulkActionsVisible, className),
21098
- children: [/* @__PURE__ */ jsx(DragWrapper, { children: /* @__PURE__ */ jsxs(Table$1, {
21099
- className: classNames(fullWidth && ds_table_module_default.fullWidth, !bordered && ds_table_module_default.tableNoBorder),
21100
- children: [/* @__PURE__ */ jsx(DsTableHeader, { table }), virtualized ? /* @__PURE__ */ jsx(DsTableBodyVirtualized, {
21101
- table,
21102
- emptyState,
21103
- estimateSize: virtualizedOptions?.estimateSize || ROW_SIZE_HEIGHT_MAP[rowSize],
21104
- overscan: virtualizedOptions?.overscan,
21105
- onScroll,
21106
- rowSelection,
21107
- infiniteScroll
21108
- }) : /* @__PURE__ */ jsx(TableBody, { children: /* @__PURE__ */ jsx(SortableWrapper, { children: rows.length ? rows.map((row) => /* @__PURE__ */ jsx(DsTableRow, {
21109
- row,
21110
- isSelected: !!rowSelection[row.id]
21111
- }, row.id)) : renderEmptyState() }) })]
21112
- }) }), selectable && actions.length > 0 && /* @__PURE__ */ jsx(DsTableBulkActions, {
21113
- numSelectedRows: selectedRows.length,
21114
- actions: actions.map((action) => ({
21115
- ...action,
21116
- onClick: () => action.onClick(selectedRows)
21117
- })),
21118
- onClearSelection: table.resetRowSelection
21119
- })]
22117
+ className: classNames(ds_table_module_default.container, isBulkActionsVisible && ds_table_module_default.bulkActionsVisible, className),
22118
+ children: [
22119
+ controls && /* @__PURE__ */ jsx("div", {
22120
+ className: ds_table_module_default.controls,
22121
+ children: controls
22122
+ }),
22123
+ /* @__PURE__ */ jsxs("div", {
22124
+ ref: resizeContext.resizeContainerRef,
22125
+ className: classNames(!virtualized && ds_table_module_default.dataTableContainer, virtualized && ds_table_module_default.virtualizedContainer),
22126
+ children: [/* @__PURE__ */ jsx(DragWrapper, { children: /* @__PURE__ */ jsxs(Table$1, {
22127
+ className: classNames(fullWidth && ds_table_module_default.fullWidth, !bordered && ds_table_module_default.tableNoBorder),
22128
+ style: columnSizeVars,
22129
+ children: [/* @__PURE__ */ jsx(DsTableHeader, { table }), virtualized ? /* @__PURE__ */ jsx(MemoizedDsTableBodyVirtualized, {
22130
+ table,
22131
+ emptyState,
22132
+ estimateSize: virtualizedOptions?.estimateSize || ROW_SIZE_HEIGHT_MAP[rowSize],
22133
+ overscan: virtualizedOptions?.overscan,
22134
+ onScroll,
22135
+ rowSelection,
22136
+ infiniteScroll
22137
+ }) : /* @__PURE__ */ jsx(MemoizedDsTableRowsBody, {
22138
+ table,
22139
+ rowSelection,
22140
+ emptyState,
22141
+ SortableWrapper
22142
+ })]
22143
+ }) }), activeResize ? /* @__PURE__ */ jsx(DsTableResizeOverlay, {
22144
+ offset: activeResize.offset,
22145
+ phase: activeResize.phase
22146
+ }) : null]
22147
+ }),
22148
+ selectable && actions.length > 0 && /* @__PURE__ */ jsx(DsTableBulkActions, {
22149
+ numSelectedRows: selectedRows.length,
22150
+ actions: actions.map((action) => ({
22151
+ ...action,
22152
+ onClick: () => action.onClick(selectedRows)
22153
+ })),
22154
+ onClearSelection: table.resetRowSelection
22155
+ })
22156
+ ]
21120
22157
  })
21121
22158
  });
21122
22159
  };
22160
+ const DsTableRowsBody = ({ table, rowSelection, emptyState, SortableWrapper }) => {
22161
+ const { rows } = table.getRowModel();
22162
+ const columnCount = table.getVisibleLeafColumns().length;
22163
+ return /* @__PURE__ */ jsx(TableBody, { children: /* @__PURE__ */ jsx(SortableWrapper, { children: rows.length ? rows.map((row) => /* @__PURE__ */ jsx(DsTableRow, {
22164
+ row,
22165
+ isSelected: !!rowSelection[row.id]
22166
+ }, row.id)) : /* @__PURE__ */ jsx(TableRow, { children: /* @__PURE__ */ jsx(TableCell, {
22167
+ colSpan: columnCount,
22168
+ className: ds_table_module_default.emptyState,
22169
+ children: emptyState || "No results."
22170
+ }) }) }) });
22171
+ };
22172
+ const MemoizedDsTableRowsBody = React$1.memo(DsTableRowsBody, areBodiesFrozen);
22173
+ const MemoizedDsTableBodyVirtualized = React$1.memo(DsTableBodyVirtualized, areBodiesFrozen);
21123
22174
  DsTable.displayName = "DsTable";
21124
22175
  //#endregion
21125
22176
  //#region src/components/ds-table/hooks/use-cell-editor.ts
@@ -21134,6 +22185,7 @@ const useCellEditor = ({ cellContext }) => {
21134
22185
  const isActiveCell = ctx.editing !== null && ctx.editing.cell.row.id === row.id && ctx.editing.cell.column.id === column.id;
21135
22186
  const value = isActiveCell && ctx.editing ? ctx.editing.draftValue : getValue();
21136
22187
  const error = isActiveCell && ctx.editing ? ctx.editing.error : null;
22188
+ const isPending = isActiveCell && ctx.editing ? ctx.editing.pending : false;
21137
22189
  const setValue = (next) => {
21138
22190
  ctx.setDraft(next);
21139
22191
  };
@@ -21149,6 +22201,7 @@ const useCellEditor = ({ cellContext }) => {
21149
22201
  return {
21150
22202
  value,
21151
22203
  error,
22204
+ isPending,
21152
22205
  setValue,
21153
22206
  commit,
21154
22207
  cancel,
@@ -21180,7 +22233,7 @@ const TableEditFormControl = ({ cellContext, error, children }) => {
21180
22233
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-text.tsx
21181
22234
  /** Text input editor for table cells. Render via `ColumnDef.editCell`. */
21182
22235
  const DsTableEditCellText = ({ cellContext, placeholder, maxLength }) => {
21183
- const { value, setValue, error } = useCellEditor({ cellContext });
22236
+ const { value, setValue, error, isPending } = useCellEditor({ cellContext });
21184
22237
  const inputRef = useRef(null);
21185
22238
  useEffect(() => {
21186
22239
  const input = inputRef.current;
@@ -21197,6 +22250,7 @@ const DsTableEditCellText = ({ cellContext, placeholder, maxLength }) => {
21197
22250
  value,
21198
22251
  placeholder,
21199
22252
  maxLength,
22253
+ disabled: isPending,
21200
22254
  onValueChange: setValue,
21201
22255
  slots: error ? { endAdornment: /* @__PURE__ */ jsx(DsIcon, {
21202
22256
  icon: "error",
@@ -21210,7 +22264,7 @@ DsTableEditCellText.displayName = "DsTableEditCellText";
21210
22264
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-number.tsx
21211
22265
  /** Number input editor for table cells. Render via `ColumnDef.editCell`. */
21212
22266
  const DsTableEditCellNumber = ({ cellContext, min, max, step }) => {
21213
- const { value, setValue, error } = useCellEditor({ cellContext });
22267
+ const { value, setValue, error, isPending } = useCellEditor({ cellContext });
21214
22268
  const inputRef = useRef(null);
21215
22269
  useEffect(() => {
21216
22270
  const input = inputRef.current;
@@ -21228,6 +22282,7 @@ const DsTableEditCellNumber = ({ cellContext, min, max, step }) => {
21228
22282
  min,
21229
22283
  max,
21230
22284
  step,
22285
+ disabled: isPending,
21231
22286
  onValueChange: setValue
21232
22287
  })
21233
22288
  });
@@ -21237,7 +22292,7 @@ DsTableEditCellNumber.displayName = "DsTableEditCellNumber";
21237
22292
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-select.tsx
21238
22293
  /** Select editor for table cells. Render via `ColumnDef.editCell`. */
21239
22294
  const DsTableEditCellSelect = ({ cellContext, options, placeholder }) => {
21240
- const { value, setValue, error } = useCellEditor({ cellContext });
22295
+ const { value, setValue, error, isPending } = useCellEditor({ cellContext });
21241
22296
  return /* @__PURE__ */ jsx(TableEditFormControl, {
21242
22297
  cellContext,
21243
22298
  error,
@@ -21246,6 +22301,7 @@ const DsTableEditCellSelect = ({ cellContext, options, placeholder }) => {
21246
22301
  value,
21247
22302
  options,
21248
22303
  placeholder,
22304
+ disabled: isPending,
21249
22305
  onValueChange: setValue
21250
22306
  })
21251
22307
  });
@@ -21255,7 +22311,7 @@ DsTableEditCellSelect.displayName = "DsTableEditCellSelect";
21255
22311
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-date.tsx
21256
22312
  /** Date picker editor for table cells. Render via `ColumnDef.editCell`. */
21257
22313
  const DsTableEditCellDate = ({ cellContext, min, max, placeholder }) => {
21258
- const { value, setValue, error } = useCellEditor({ cellContext });
22314
+ const { value, setValue, error, isPending } = useCellEditor({ cellContext });
21259
22315
  return /* @__PURE__ */ jsx(TableEditFormControl, {
21260
22316
  cellContext,
21261
22317
  error,
@@ -21265,6 +22321,7 @@ const DsTableEditCellDate = ({ cellContext, min, max, placeholder }) => {
21265
22321
  min,
21266
22322
  max,
21267
22323
  placeholder,
22324
+ disabled: isPending,
21268
22325
  onChange: setValue,
21269
22326
  slotProps: error ? { input: { slots: { endAdornment: /* @__PURE__ */ jsx(DsIcon, {
21270
22327
  icon: "error",
@@ -21278,10 +22335,10 @@ DsTableEditCellDate.displayName = "DsTableEditCellDate";
21278
22335
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-checkbox.tsx
21279
22336
  /** Checkbox editor for table cells. Render via `ColumnDef.editCell`. */
21280
22337
  const DsTableEditCellCheckbox = ({ cellContext, disabled }) => {
21281
- const { value, setValue } = useCellEditor({ cellContext });
22338
+ const { value, setValue, isPending } = useCellEditor({ cellContext });
21282
22339
  return /* @__PURE__ */ jsx(DsCheckbox, {
21283
22340
  checked: value,
21284
- disabled,
22341
+ disabled: disabled || isPending,
21285
22342
  onCheckedChange: (checked) => setValue(checked === true)
21286
22343
  });
21287
22344
  };
@@ -21705,8 +22762,8 @@ var ds_tree_module_default = {
21705
22762
  //#endregion
21706
22763
  //#region src/components/ds-tree/ds-tree.tsx
21707
22764
  const DsTreeRoot = (t0) => {
21708
- const $ = c(23);
21709
- const { collection, size: t1, ref, className, style, children, selectedValue, defaultSelectedValue, onSelectionChange, selectionMode: t2, expandedValue, defaultExpandedValue, onExpandedChange, expandOnClick: t3, checkedValue, defaultCheckedValue, onCheckedChange, typeahead: t4, lazyMount: t5, unmountOnExit } = t0;
22765
+ const $ = c(26);
22766
+ const { collection, size: t1, ref, className, style, children, selectedValue, defaultSelectedValue, onSelectionChange, selectionMode: t2, expandedValue, defaultExpandedValue, onExpandedChange, expandOnClick: t3, checkedValue, defaultCheckedValue, onCheckedChange, focusedValue, defaultFocusedValue, onFocusChange, typeahead: t4, lazyMount: t5, unmountOnExit } = t0;
21710
22767
  const size = t1 === void 0 ? "medium" : t1;
21711
22768
  const selectionMode = t2 === void 0 ? "single" : t2;
21712
22769
  const expandOnClick = t3 === void 0 ? true : t3;
@@ -21719,7 +22776,7 @@ const DsTreeRoot = (t0) => {
21719
22776
  $[1] = t6;
21720
22777
  } else t6 = $[1];
21721
22778
  let t7;
21722
- if ($[2] !== checkedValue || $[3] !== children || $[4] !== collection || $[5] !== defaultCheckedValue || $[6] !== defaultExpandedValue || $[7] !== defaultSelectedValue || $[8] !== expandOnClick || $[9] !== expandedValue || $[10] !== lazyMount || $[11] !== onCheckedChange || $[12] !== onExpandedChange || $[13] !== onSelectionChange || $[14] !== ref || $[15] !== selectedValue || $[16] !== selectionMode || $[17] !== size || $[18] !== style || $[19] !== t6 || $[20] !== typeahead || $[21] !== unmountOnExit) {
22779
+ if ($[2] !== checkedValue || $[3] !== children || $[4] !== collection || $[5] !== defaultCheckedValue || $[6] !== defaultExpandedValue || $[7] !== defaultFocusedValue || $[8] !== defaultSelectedValue || $[9] !== expandOnClick || $[10] !== expandedValue || $[11] !== focusedValue || $[12] !== lazyMount || $[13] !== onCheckedChange || $[14] !== onExpandedChange || $[15] !== onFocusChange || $[16] !== onSelectionChange || $[17] !== ref || $[18] !== selectedValue || $[19] !== selectionMode || $[20] !== size || $[21] !== style || $[22] !== t6 || $[23] !== typeahead || $[24] !== unmountOnExit) {
21723
22780
  t7 = /* @__PURE__ */ jsx(TreeView.Root, {
21724
22781
  ref,
21725
22782
  collection,
@@ -21734,6 +22791,9 @@ const DsTreeRoot = (t0) => {
21734
22791
  checkedValue,
21735
22792
  defaultCheckedValue,
21736
22793
  onCheckedChange,
22794
+ focusedValue,
22795
+ defaultFocusedValue,
22796
+ onFocusChange,
21737
22797
  typeahead,
21738
22798
  lazyMount,
21739
22799
  unmountOnExit,
@@ -21747,23 +22807,26 @@ const DsTreeRoot = (t0) => {
21747
22807
  $[4] = collection;
21748
22808
  $[5] = defaultCheckedValue;
21749
22809
  $[6] = defaultExpandedValue;
21750
- $[7] = defaultSelectedValue;
21751
- $[8] = expandOnClick;
21752
- $[9] = expandedValue;
21753
- $[10] = lazyMount;
21754
- $[11] = onCheckedChange;
21755
- $[12] = onExpandedChange;
21756
- $[13] = onSelectionChange;
21757
- $[14] = ref;
21758
- $[15] = selectedValue;
21759
- $[16] = selectionMode;
21760
- $[17] = size;
21761
- $[18] = style;
21762
- $[19] = t6;
21763
- $[20] = typeahead;
21764
- $[21] = unmountOnExit;
21765
- $[22] = t7;
21766
- } else t7 = $[22];
22810
+ $[7] = defaultFocusedValue;
22811
+ $[8] = defaultSelectedValue;
22812
+ $[9] = expandOnClick;
22813
+ $[10] = expandedValue;
22814
+ $[11] = focusedValue;
22815
+ $[12] = lazyMount;
22816
+ $[13] = onCheckedChange;
22817
+ $[14] = onExpandedChange;
22818
+ $[15] = onFocusChange;
22819
+ $[16] = onSelectionChange;
22820
+ $[17] = ref;
22821
+ $[18] = selectedValue;
22822
+ $[19] = selectionMode;
22823
+ $[20] = size;
22824
+ $[21] = style;
22825
+ $[22] = t6;
22826
+ $[23] = typeahead;
22827
+ $[24] = unmountOnExit;
22828
+ $[25] = t7;
22829
+ } else t7 = $[25];
21767
22830
  return t7;
21768
22831
  };
21769
22832
  const DsTreeTree = (t0) => {
@@ -22242,7 +23305,7 @@ var ds_vertical_tabs_module_default = {
22242
23305
  * </DsVerticalTabs>
22243
23306
  * ```
22244
23307
  */
22245
- const DsVerticalTabs = (t0) => {
23308
+ const DsVerticalTabsRoot = (t0) => {
22246
23309
  const $ = c(8);
22247
23310
  const { value, onValueChange, className, style, children } = t0;
22248
23311
  let t1;
@@ -22348,10 +23411,12 @@ const DsVerticalTabsContent = (t0) => {
22348
23411
  DsVerticalTabsList.displayName = "DsVerticalTabs.List";
22349
23412
  DsVerticalTabsTab.displayName = "DsVerticalTabs.Tab";
22350
23413
  DsVerticalTabsContent.displayName = "DsVerticalTabs.Content";
22351
- DsVerticalTabs.List = DsVerticalTabsList;
22352
- DsVerticalTabs.Tab = DsVerticalTabsTab;
22353
- DsVerticalTabs.Content = DsVerticalTabsContent;
22354
- DsVerticalTabs.displayName = "DsVerticalTabs";
23414
+ const DsVerticalTabs = Object.assign(DsVerticalTabsRoot, {
23415
+ displayName: "DsVerticalTabs",
23416
+ List: DsVerticalTabsList,
23417
+ Tab: DsVerticalTabsTab,
23418
+ Content: DsVerticalTabsContent
23419
+ });
22355
23420
  //#endregion
22356
23421
  //#region src/components/ds-workspace-layout/ds-workspace-layout.module.scss
22357
23422
  var ds_workspace_layout_module_default = {
@@ -22382,7 +23447,7 @@ const DEFAULT_LOCALE = Object.freeze({
22382
23447
  pinButtonLabel: "Pin side menu",
22383
23448
  unpinButtonLabel: "Unpin side menu"
22384
23449
  });
22385
- const DsWorkspaceLayout = (t0) => {
23450
+ const DsWorkspaceLayoutRoot = (t0) => {
22386
23451
  const $ = c(17);
22387
23452
  let className;
22388
23453
  let rest;
@@ -22775,15 +23840,17 @@ Footer.displayName = "DsWorkspaceLayout.Footer";
22775
23840
  Body.displayName = "DsWorkspaceLayout.Body";
22776
23841
  SideMenu.displayName = "DsWorkspaceLayout.SideMenu";
22777
23842
  LeftPanel.displayName = "DsWorkspaceLayout.LeftPanel";
22778
- DsWorkspaceLayout.Header = Header;
22779
- DsWorkspaceLayout.SubHeader = SubHeader;
22780
- DsWorkspaceLayout.Content = Content;
22781
- DsWorkspaceLayout.Footer = Footer;
22782
- DsWorkspaceLayout.Body = Body;
22783
- DsWorkspaceLayout.SideMenu = SideMenu;
22784
- DsWorkspaceLayout.LeftPanel = LeftPanel;
22785
- DsWorkspaceLayout.displayName = "DsWorkspaceLayout";
22786
- //#endregion
22787
- export { BREAKPOINT_LG, DsAlertBanner, DsAutocomplete, DsAvatar, DsAvatarGroup, DsBreadcrumb, DsButton, DsButtonV3, DsCard, DsCatalogLayout, DsCheckbox, DsCheckboxGroup, DsChip, DsChipGroup, DsCommentBubble, DsCommentCard, DsCommentIndicator, DsCommentThread, DsCommentsDrawer, DsConfirmation, DsDateInput, DsDatePicker, DsDateRangePicker, DsDialog, DsDivider, DsDrawer, DsDropdownMenu, DsDropdownMenuLegacy, DsExpandableTextInput, DsFileUpload, DsFilterStatusIcon, DsFormControl, DsGrid, DsGridItem, DsIcon, DsKeyValuePair, DsLoader, DsModal, DsNextStepButton, DsNumberInput, DsPanel, DsPasswordInput, DsPopover, DsProgressArc, DsProgressDonut, DsProgressLinear, DsProgressTaskBar, DsRadioGroup, DsRadioGroupLegacy, DsSegmentGroup, DsSelect, DsSiteNode, DsSkeleton, DsSkeletonCircle, DsSkeletonRect, DsSkeletonText, DsSmartTabs, DsSpinner, DsSplitButton, DsStack, DsStatusBadge, DsStatusBadgeV2, DsStep, DsStepContent, DsStepper, DsSystemStatus, DsTable, DsTableColumnFilterPopover, DsTableEditCellCheckbox, DsTableEditCellDate, DsTableEditCellNumber, DsTableEditCellSelect, DsTableEditCellText, DsTableEditableCell, DsTableEditingCell, DsTabs, DsTag, DsTagFilter, DsTextInput, DsTextarea, DsThreadItem, DsTimePicker, DsToastProvider, DsToggle, DsTooltip, DsTree, DsTypography, DsUserCard, DsVerticalTabs, DsWorkspaceLayout, FatalFileUploadError, FileUpload, FileUploadError, RetryableFileUploadError, alertBannerVariants, breakpoints, buttonV3Colors, buttonV3Sizes, buttonV3Variants, cardSizes, checkboxVariants, colors, controlStatuses, createCheckboxFilterAdapter, createColumnHelper, createDsTreeCollection, createDualRangeFilterAdapter, createFilterAdapter, customIcons, defaultDsTableLocale, dropdownMenuActionsAlignments, dropdownMenuItemVariants, dsAvatarSizes, dsAvatarTypes, dsKeyValuePairOrientations, filterStatuses, formatTime, iconColors, iconSizes, iconVariants, isCustomIcon, isResponsiveValue, loaderVariants, popoverAligns, popoverSides, progressArcSizes, progressArcVariants, progressDonutSizes, progressDonutVariants, progressLinearSizes, progressLinearVariants, resolveResponsiveValue, siteNodeStates, skeletonColorVariants, skeletonRadiusVariants, spinnerSizes, splitButtonSizes, statusBadgeV2Phases, statusBadgeV2Sizes, statusBadgeV2Variants, systemStatuses, tagSizes, tagVariants, taskBarStatuses, textInputSizes, tooltipPlacements, useBreakpoint, useCellEditor, useCheckboxSelectAll, useFileUpload, useResponsiveValue, useTableFilters, useToaster, withResponsiveProps };
23843
+ const DsWorkspaceLayout = Object.assign(DsWorkspaceLayoutRoot, {
23844
+ displayName: "DsWorkspaceLayout",
23845
+ Header,
23846
+ SubHeader,
23847
+ Content,
23848
+ Footer,
23849
+ Body,
23850
+ SideMenu,
23851
+ LeftPanel
23852
+ });
23853
+ //#endregion
23854
+ export { BREAKPOINT_LG, DsAlertBanner, DsAutocomplete, DsAvatar, DsAvatarGroup, DsBreadcrumb, DsButton, DsButtonV3, DsCard, DsCatalogLayout, DsCheckbox, DsCheckboxGroup, DsChip, DsChipGroup, DsCommentBubble, DsCommentCard, DsCommentIndicator, DsCommentThread, DsCommentsDrawer, DsConfirmation, DsDateInput, DsDatePicker, DsDateRangePicker, DsDialog, DsDivider, DsDrawer, DsDropdownMenu, DsDropdownMenuLegacy, DsExpandableTextInput, DsFileUpload, DsFilterStatusIcon, DsFormControl, DsGrid, DsGridItem, DsIcon, DsKeyValuePair, DsLoader, DsModal, DsNextStepButton, DsNumberInput, DsPanel, DsPasswordInput, DsPopover, DsProgressArc, DsProgressDonut, DsProgressLinear, DsProgressTaskBar, DsRadioGroup, DsRadioGroupLegacy, DsSegmentGroup, DsSelect, DsSiteNode, DsSkeleton, DsSkeletonCircle, DsSkeletonRect, DsSkeletonText, DsSlider, DsSmartTabs, DsSpinner, DsSplitButton, DsStack, DsStatusBadge, DsStatusBadgeV2, DsStep, DsStepContent, DsStepper, DsSystemStatus, DsTable, DsTableColumnFilterPopover, DsTableEditCellCheckbox, DsTableEditCellDate, DsTableEditCellNumber, DsTableEditCellSelect, DsTableEditCellText, DsTableEditableCell, DsTableEditingCell, DsTabs, DsTag, DsTagFilter, DsTextInput, DsTextarea, DsThreadItem, DsTimePicker, DsToastProvider, DsToggle, DsTooltip, DsTree, DsTypography, DsUserCard, DsVerticalTabs, DsWorkspaceLayout, FatalFileUploadError, FileUpload, FileUploadError, RetryableFileUploadError, alertBannerVariants, autocompleteSizes, breakpoints, buttonV3Colors, buttonV3Sizes, buttonV3Variants, cardSizes, checkboxVariants, colors, controlStatuses, createCheckboxFilterAdapter, createColumnHelper, createDsTreeCollection, createDualRangeFilterAdapter, createFilterAdapter, customIcons, defaultDsTableLocale, dropdownMenuActionsAlignments, dropdownMenuItemVariants, dsAvatarSizes, dsAvatarTypes, dsKeyValuePairOrientations, filterStatuses, formatTime, iconColors, iconSizes, iconVariants, isCustomIcon, isResponsiveValue, loaderVariants, popoverAligns, popoverSides, progressArcSizes, progressArcVariants, progressDonutSizes, progressDonutVariants, progressLinearSizes, progressLinearVariants, resolveResponsiveValue, siteNodeStates, skeletonColorVariants, skeletonRadiusVariants, spinnerSizes, splitButtonSizes, statusBadgeV2Phases, statusBadgeV2Sizes, statusBadgeV2Variants, systemStatuses, tagSizes, tagVariants, taskBarStatuses, textInputSizes, tooltipPlacements, useBreakpoint, useCellEditor, useCheckboxSelectAll, useFileUpload, useResponsiveValue, useTableFilters, useToaster, withResponsiveProps };
22788
23855
 
22789
23856
  //# sourceMappingURL=index.js.map