@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.cjs CHANGED
@@ -53,6 +53,7 @@ let _radix_ui_react_collapsible = require("@radix-ui/react-collapsible");
53
53
  _radix_ui_react_collapsible = __toESM(_radix_ui_react_collapsible, 1);
54
54
  let _ark_ui_react_radio_group = require("@ark-ui/react/radio-group");
55
55
  let _ark_ui_react_segment_group = require("@ark-ui/react/segment-group");
56
+ let _ark_ui_react_slider = require("@ark-ui/react/slider");
56
57
  let _zag_js_steps = require("@zag-js/steps");
57
58
  _zag_js_steps = __toESM(_zag_js_steps, 1);
58
59
  let _zag_js_react = require("@zag-js/react");
@@ -3388,7 +3389,7 @@ DsTypography.displayName = "DsTypography";
3388
3389
  * severity variants, an optional icon, and an optional close button. Compose the
3389
3390
  * content with `DsAlertBanner.Title`, `DsAlertBanner.Body`, and `DsAlertBanner.Actions`.
3390
3391
  */
3391
- const DsAlertBanner = (t0) => {
3392
+ const DsAlertBannerRoot = (t0) => {
3392
3393
  const $ = (0, react_compiler_runtime.c)(20);
3393
3394
  const { open, onOpenChange, inline: t1, variant: t2, icon, closable: t3, className, style: t4, children } = t0;
3394
3395
  const inline = t1 === void 0 ? false : t1;
@@ -3550,10 +3551,12 @@ const Actions$3 = (t0) => {
3550
3551
  Title$2.displayName = "DsAlertBanner.Title";
3551
3552
  Body$5.displayName = "DsAlertBanner.Body";
3552
3553
  Actions$3.displayName = "DsAlertBanner.Actions";
3553
- DsAlertBanner.Title = Title$2;
3554
- DsAlertBanner.Body = Body$5;
3555
- DsAlertBanner.Actions = Actions$3;
3556
- DsAlertBanner.displayName = "DsAlertBanner";
3554
+ const DsAlertBanner = Object.assign(DsAlertBannerRoot, {
3555
+ displayName: "DsAlertBanner",
3556
+ Title: Title$2,
3557
+ Body: Body$5,
3558
+ Actions: Actions$3
3559
+ });
3557
3560
  //#endregion
3558
3561
  //#region src/components/ds-alert-banner/ds-alert-banner.types.ts
3559
3562
  const alertBannerVariants = [
@@ -3581,110 +3584,122 @@ var ds_autocomplete_module_default = {
3581
3584
  "itemGroup": "pgg73q_itemGroup",
3582
3585
  "itemIcon": "pgg73q_itemIcon",
3583
3586
  "itemText": "pgg73q_itemText",
3587
+ "large": "pgg73q_large",
3584
3588
  "loading": "pgg73q_loading",
3585
3589
  "noMatches": "pgg73q_noMatches",
3586
3590
  "positioner": "pgg73q_positioner",
3587
3591
  "root": "pgg73q_root",
3592
+ "small": "pgg73q_small",
3588
3593
  "startAdornment": "pgg73q_startAdornment",
3589
3594
  "trigger": "pgg73q_trigger"
3590
3595
  };
3591
3596
  //#endregion
3592
3597
  //#region src/components/ds-autocomplete/ds-autocomplete.tsx
3593
3598
  const DsAutocomplete = (t0) => {
3594
- const $ = (0, react_compiler_runtime.c)(53);
3595
- 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;
3599
+ const $ = (0, react_compiler_runtime.c)(58);
3600
+ 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;
3596
3601
  const options = t1 === void 0 ? [] : t1;
3597
3602
  const loading = t2 === void 0 ? false : t2;
3598
- const placeholder = t3 === void 0 ? "Start typing to search..." : t3;
3599
- const disabled = t4 === void 0 ? false : t4;
3600
- const invalid = t5 === void 0 ? false : t5;
3601
- let t9;
3602
- if ($[0] !== t6) {
3603
- t9 = t6 === void 0 ? {} : t6;
3604
- $[0] = t6;
3605
- $[1] = t9;
3606
- } else t9 = $[1];
3607
- const { loading: t10, noMatches: t11 } = t9;
3608
- const loadingMessage = t10 === void 0 ? "Loading..." : t10;
3609
- const noMatchesMessage = t11 === void 0 ? "No matches found" : t11;
3610
- const highlightMatch = t7 === void 0 ? true : t7;
3611
- const showTrigger = t8 === void 0 ? true : t8;
3603
+ const size = t3 === void 0 ? "default" : t3;
3604
+ const placeholder = t4 === void 0 ? "Start typing to search..." : t4;
3605
+ const disabled = t5 === void 0 ? false : t5;
3606
+ const invalid = t6 === void 0 ? false : t6;
3607
+ let t10;
3608
+ if ($[0] !== t7) {
3609
+ t10 = t7 === void 0 ? {} : t7;
3610
+ $[0] = t7;
3611
+ $[1] = t10;
3612
+ } else t10 = $[1];
3613
+ const { loading: t11, noMatches: t12 } = t10;
3614
+ const loadingMessage = t11 === void 0 ? "Loading..." : t11;
3615
+ const noMatchesMessage = t12 === void 0 ? "No matches found" : t12;
3616
+ const highlightMatch = t8 === void 0 ? true : t8;
3617
+ const showTrigger = t9 === void 0 ? true : t9;
3612
3618
  const [filterText, setFilterText] = (0, react.useState)("");
3613
- let t12;
3619
+ let t13;
3614
3620
  if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
3615
- t12 = { sensitivity: "base" };
3616
- $[2] = t12;
3617
- } else t12 = $[2];
3618
- const filterUtils = (0, _ark_ui_react_locale.useFilter)(t12);
3621
+ t13 = { sensitivity: "base" };
3622
+ $[2] = t13;
3623
+ } else t13 = $[2];
3624
+ const filterUtils = (0, _ark_ui_react_locale.useFilter)(t13);
3619
3625
  const collection = (0, _ark_ui_react_combobox.createListCollection)({
3620
3626
  items: filterText ? options.filter((opt) => filterUtils.contains(opt.label, filterText)) : options,
3621
- itemToString: _temp$17,
3627
+ itemToString: _temp$18,
3622
3628
  itemToValue: _temp2$9
3623
3629
  });
3624
- let t13;
3630
+ let t14;
3625
3631
  if ($[3] !== onInputValueChange) {
3626
- t13 = (details) => {
3632
+ t14 = (details) => {
3627
3633
  setFilterText(details.inputValue);
3628
3634
  onInputValueChange?.(details.inputValue);
3629
3635
  };
3630
3636
  $[3] = onInputValueChange;
3631
- $[4] = t13;
3632
- } else t13 = $[4];
3633
- const handleInputValueChange = t13;
3634
- let t14;
3637
+ $[4] = t14;
3638
+ } else t14 = $[4];
3639
+ const handleInputValueChange = t14;
3640
+ let t15;
3635
3641
  if ($[5] !== onValueChange) {
3636
- t14 = (details_0) => {
3642
+ t15 = (details_0) => {
3637
3643
  const selectedItem = details_0.items[0];
3638
3644
  onValueChange?.(selectedItem?.value ?? "");
3639
3645
  };
3640
3646
  $[5] = onValueChange;
3641
- $[6] = t14;
3642
- } else t14 = $[6];
3643
- const handleValueChange = t14;
3644
- let t15;
3647
+ $[6] = t15;
3648
+ } else t15 = $[6];
3649
+ const handleValueChange = t15;
3650
+ let t16;
3645
3651
  if ($[7] !== onOpenChange) {
3646
- t15 = (details_1) => {
3652
+ t16 = (details_1) => {
3647
3653
  onOpenChange?.(details_1.open);
3648
3654
  };
3649
3655
  $[7] = onOpenChange;
3650
- $[8] = t15;
3651
- } else t15 = $[8];
3652
- const handleOpenChange = t15;
3653
- let t16;
3656
+ $[8] = t16;
3657
+ } else t16 = $[8];
3658
+ const handleOpenChange = t16;
3659
+ let t17;
3654
3660
  if ($[9] !== className || $[10] !== disabled || $[11] !== invalid) {
3655
- t16 = (0, classnames.default)(ds_autocomplete_module_default.root, {
3661
+ t17 = (0, classnames.default)(ds_autocomplete_module_default.root, {
3656
3662
  [ds_autocomplete_module_default.disabled]: disabled,
3657
3663
  [ds_autocomplete_module_default.invalid]: invalid
3658
3664
  }, className);
3659
3665
  $[9] = className;
3660
3666
  $[10] = disabled;
3661
3667
  $[11] = invalid;
3662
- $[12] = t16;
3663
- } else t16 = $[12];
3664
- const rootClass = t16;
3665
- const t17 = _ark_ui_react_combobox.Combobox;
3666
- const t18 = true;
3667
- let t19;
3668
- if ($[13] !== startAdornment) {
3669
- t19 = startAdornment && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
3668
+ $[12] = t17;
3669
+ } else t17 = $[12];
3670
+ const rootClass = t17;
3671
+ const t18 = _ark_ui_react_combobox.Combobox;
3672
+ const t19 = true;
3673
+ const t20 = size === "small" && ds_autocomplete_module_default.small;
3674
+ const t21 = size === "large" && ds_autocomplete_module_default.large;
3675
+ let t22;
3676
+ if ($[13] !== t20 || $[14] !== t21) {
3677
+ t22 = (0, classnames.default)(ds_autocomplete_module_default.control, t20, t21);
3678
+ $[13] = t20;
3679
+ $[14] = t21;
3680
+ $[15] = t22;
3681
+ } else t22 = $[15];
3682
+ let t23;
3683
+ if ($[16] !== startAdornment) {
3684
+ t23 = startAdornment && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
3670
3685
  className: ds_autocomplete_module_default.startAdornment,
3671
3686
  children: startAdornment
3672
3687
  });
3673
- $[13] = startAdornment;
3674
- $[14] = t19;
3675
- } else t19 = $[14];
3676
- let t20;
3677
- if ($[15] !== placeholder) {
3678
- t20 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_combobox.Combobox.Input, {
3688
+ $[16] = startAdornment;
3689
+ $[17] = t23;
3690
+ } else t23 = $[17];
3691
+ let t24;
3692
+ if ($[18] !== placeholder) {
3693
+ t24 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_combobox.Combobox.Input, {
3679
3694
  className: ds_autocomplete_module_default.input,
3680
3695
  placeholder
3681
3696
  });
3682
- $[15] = placeholder;
3683
- $[16] = t20;
3684
- } else t20 = $[16];
3685
- let t21;
3686
- if ($[17] !== disabled || $[18] !== showTrigger) {
3687
- t21 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_combobox.Combobox.Context, { children: (combobox) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3697
+ $[18] = placeholder;
3698
+ $[19] = t24;
3699
+ } else t24 = $[19];
3700
+ let t25;
3701
+ if ($[20] !== disabled || $[21] !== showTrigger || $[22] !== size) {
3702
+ t25 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_combobox.Combobox.Context, { children: (combobox) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3688
3703
  className: ds_autocomplete_module_default.iconContainer,
3689
3704
  children: [combobox.inputValue && !disabled && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
3690
3705
  type: "button",
@@ -3696,56 +3711,58 @@ const DsAutocomplete = (t0) => {
3696
3711
  },
3697
3712
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
3698
3713
  icon: "close",
3699
- size: "medium"
3714
+ size: size === "small" ? "small" : "medium"
3700
3715
  })
3701
3716
  }), showTrigger && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_combobox.Combobox.Trigger, {
3702
3717
  className: ds_autocomplete_module_default.trigger,
3703
3718
  "aria-label": "Toggle dropdown",
3704
3719
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
3705
3720
  icon: "keyboard_arrow_down",
3706
- size: "medium"
3721
+ size: size === "small" ? "small" : "medium"
3707
3722
  })
3708
3723
  })]
3709
3724
  }) });
3710
- $[17] = disabled;
3711
- $[18] = showTrigger;
3712
- $[19] = t21;
3713
- } else t21 = $[19];
3714
- let t22;
3715
- if ($[20] !== t19 || $[21] !== t20 || $[22] !== t21) {
3716
- t22 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_combobox.Combobox.Control, {
3717
- className: ds_autocomplete_module_default.control,
3725
+ $[20] = disabled;
3726
+ $[21] = showTrigger;
3727
+ $[22] = size;
3728
+ $[23] = t25;
3729
+ } else t25 = $[23];
3730
+ let t26;
3731
+ if ($[24] !== t22 || $[25] !== t23 || $[26] !== t24 || $[27] !== t25) {
3732
+ t26 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_combobox.Combobox.Control, {
3733
+ className: t22,
3718
3734
  children: [
3719
- t19,
3720
- t20,
3721
- t21
3735
+ t23,
3736
+ t24,
3737
+ t25
3722
3738
  ]
3723
3739
  });
3724
- $[20] = t19;
3725
- $[21] = t20;
3726
- $[22] = t21;
3727
- $[23] = t22;
3728
- } else t22 = $[23];
3740
+ $[24] = t22;
3741
+ $[25] = t23;
3742
+ $[26] = t24;
3743
+ $[27] = t25;
3744
+ $[28] = t26;
3745
+ } else t26 = $[28];
3729
3746
  const T0 = _ark_ui_react_portal.Portal;
3730
- const t23 = _ark_ui_react_combobox.Combobox;
3731
- const t24 = ds_autocomplete_module_default;
3732
- const t25 = _ark_ui_react_combobox.Combobox;
3733
- const t26 = ds_autocomplete_module_default;
3734
- let t27;
3735
- if ($[24] !== loading || $[25] !== loadingMessage) {
3736
- t27 = loading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3747
+ const t27 = _ark_ui_react_combobox.Combobox;
3748
+ const t28 = ds_autocomplete_module_default;
3749
+ const t29 = _ark_ui_react_combobox.Combobox;
3750
+ const t30 = ds_autocomplete_module_default;
3751
+ let t31;
3752
+ if ($[29] !== loading || $[30] !== loadingMessage) {
3753
+ t31 = loading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3737
3754
  className: ds_autocomplete_module_default.loading,
3738
3755
  children: loadingMessage
3739
3756
  });
3740
- $[24] = loading;
3741
- $[25] = loadingMessage;
3742
- $[26] = t27;
3743
- } else t27 = $[26];
3744
- const t28 = !loading && collection.items.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3757
+ $[29] = loading;
3758
+ $[30] = loadingMessage;
3759
+ $[31] = t31;
3760
+ } else t31 = $[31];
3761
+ const t32 = !loading && collection.items.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3745
3762
  className: ds_autocomplete_module_default.noMatches,
3746
3763
  children: noMatchesMessage
3747
3764
  });
3748
- const t29 = !loading && collection.items.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_combobox.Combobox.ItemGroup, {
3765
+ const t33 = !loading && collection.items.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_combobox.Combobox.ItemGroup, {
3749
3766
  className: ds_autocomplete_module_default.itemGroup,
3750
3767
  children: collection.items.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_combobox.Combobox.Item, {
3751
3768
  item: option,
@@ -3764,44 +3781,44 @@ const DsAutocomplete = (t0) => {
3764
3781
  })]
3765
3782
  }, option.value))
3766
3783
  });
3767
- let t30;
3768
- if ($[27] !== t25.Content || $[28] !== t26.content || $[29] !== t27 || $[30] !== t28 || $[31] !== t29) {
3769
- t30 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(t25.Content, {
3770
- className: t26.content,
3784
+ let t34;
3785
+ if ($[32] !== t29.Content || $[33] !== t30.content || $[34] !== t31 || $[35] !== t32 || $[36] !== t33) {
3786
+ t34 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(t29.Content, {
3787
+ className: t30.content,
3771
3788
  children: [
3772
- t27,
3773
- t28,
3774
- t29
3789
+ t31,
3790
+ t32,
3791
+ t33
3775
3792
  ]
3776
3793
  });
3777
- $[27] = t25.Content;
3778
- $[28] = t26.content;
3779
- $[29] = t27;
3780
- $[30] = t28;
3781
- $[31] = t29;
3782
- $[32] = t30;
3783
- } else t30 = $[32];
3784
- let t31;
3785
- if ($[33] !== t23.Positioner || $[34] !== t24.positioner || $[35] !== t30) {
3786
- t31 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(t23.Positioner, {
3787
- className: t24.positioner,
3788
- children: t30
3789
- });
3790
- $[33] = t23.Positioner;
3791
- $[34] = t24.positioner;
3792
- $[35] = t30;
3793
- $[36] = t31;
3794
- } else t31 = $[36];
3795
- let t32;
3796
- if ($[37] !== T0 || $[38] !== t31) {
3797
- t32 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(T0, { children: t31 });
3798
- $[37] = T0;
3799
- $[38] = t31;
3800
- $[39] = t32;
3801
- } else t32 = $[39];
3802
- let t33;
3803
- 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) {
3804
- t33 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(t17.Root, {
3794
+ $[32] = t29.Content;
3795
+ $[33] = t30.content;
3796
+ $[34] = t31;
3797
+ $[35] = t32;
3798
+ $[36] = t33;
3799
+ $[37] = t34;
3800
+ } else t34 = $[37];
3801
+ let t35;
3802
+ if ($[38] !== t27.Positioner || $[39] !== t28.positioner || $[40] !== t34) {
3803
+ t35 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(t27.Positioner, {
3804
+ className: t28.positioner,
3805
+ children: t34
3806
+ });
3807
+ $[38] = t27.Positioner;
3808
+ $[39] = t28.positioner;
3809
+ $[40] = t34;
3810
+ $[41] = t35;
3811
+ } else t35 = $[41];
3812
+ let t36;
3813
+ if ($[42] !== T0 || $[43] !== t35) {
3814
+ t36 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(T0, { children: t35 });
3815
+ $[42] = T0;
3816
+ $[43] = t35;
3817
+ $[44] = t36;
3818
+ } else t36 = $[44];
3819
+ let t37;
3820
+ 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) {
3821
+ t37 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(t18.Root, {
3805
3822
  id,
3806
3823
  collection,
3807
3824
  className: rootClass,
@@ -3811,33 +3828,40 @@ const DsAutocomplete = (t0) => {
3811
3828
  onInputValueChange: handleInputValueChange,
3812
3829
  onValueChange: handleValueChange,
3813
3830
  onOpenChange: handleOpenChange,
3814
- closeOnSelect: t18,
3815
- children: [t22, t32]
3816
- });
3817
- $[40] = collection;
3818
- $[41] = disabled;
3819
- $[42] = handleInputValueChange;
3820
- $[43] = handleOpenChange;
3821
- $[44] = handleValueChange;
3822
- $[45] = id;
3823
- $[46] = invalid;
3824
- $[47] = rootClass;
3825
- $[48] = style;
3826
- $[49] = t17.Root;
3827
- $[50] = t22;
3828
- $[51] = t32;
3829
- $[52] = t33;
3830
- } else t33 = $[52];
3831
- return t33;
3831
+ closeOnSelect: t19,
3832
+ children: [t26, t36]
3833
+ });
3834
+ $[45] = collection;
3835
+ $[46] = disabled;
3836
+ $[47] = handleInputValueChange;
3837
+ $[48] = handleOpenChange;
3838
+ $[49] = handleValueChange;
3839
+ $[50] = id;
3840
+ $[51] = invalid;
3841
+ $[52] = rootClass;
3842
+ $[53] = style;
3843
+ $[54] = t18.Root;
3844
+ $[55] = t26;
3845
+ $[56] = t36;
3846
+ $[57] = t37;
3847
+ } else t37 = $[57];
3848
+ return t37;
3832
3849
  };
3833
3850
  DsAutocomplete.displayName = "DsAutocomplete";
3834
- function _temp$17(item) {
3851
+ function _temp$18(item) {
3835
3852
  return item.label;
3836
3853
  }
3837
3854
  function _temp2$9(item_0) {
3838
3855
  return item_0.value;
3839
3856
  }
3840
3857
  //#endregion
3858
+ //#region src/components/ds-autocomplete/ds-autocomplete.types.ts
3859
+ const autocompleteSizes = [
3860
+ "small",
3861
+ "default",
3862
+ "large"
3863
+ ];
3864
+ //#endregion
3841
3865
  //#region src/components/ds-avatar/ds-avatar.module.scss
3842
3866
  var ds_avatar_module_default = {
3843
3867
  "avatar": "VcKEMW_avatar",
@@ -3936,11 +3960,11 @@ const DsAvatar = (t0) => {
3936
3960
  return t11;
3937
3961
  };
3938
3962
  DsAvatar.displayName = "DsAvatar";
3939
- function _temp$16(w) {
3963
+ function _temp$17(w) {
3940
3964
  return w[0];
3941
3965
  }
3942
3966
  function _temp2$8(name_0) {
3943
- return name_0.trim().split(" ").map(_temp$16).join("");
3967
+ return name_0.trim().split(" ").map(_temp$17).join("");
3944
3968
  }
3945
3969
  //#endregion
3946
3970
  //#region src/components/ds-avatar/ds-avatar.types.ts
@@ -4012,7 +4036,7 @@ const DsAvatarGroup = (t0) => {
4012
4036
  t6 = remainingCount > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTooltip, {
4013
4037
  content: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4014
4038
  className: ds_avatar_group_module_default.tooltipList,
4015
- children: hiddenAvatars.map(_temp$15)
4039
+ children: hiddenAvatars.map(_temp$16)
4016
4040
  }),
4017
4041
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
4018
4042
  className: (0, classnames.default)(ds_avatar_group_module_default.moreAvatar, ds_avatar_group_module_default[size], ds_avatar_group_module_default[type]),
@@ -4046,7 +4070,7 @@ const DsAvatarGroup = (t0) => {
4046
4070
  return t7;
4047
4071
  };
4048
4072
  DsAvatarGroup.displayName = "DsAvatarGroup";
4049
- function _temp$15(avatar_0, index_0) {
4073
+ function _temp$16(avatar_0, index_0) {
4050
4074
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
4051
4075
  variant: "body-xs-reg",
4052
4076
  children: avatar_0.name
@@ -4100,6 +4124,7 @@ var ds_text_input_module_default = {
4100
4124
  "iconButton": "zbxt3W_iconButton",
4101
4125
  "indicator": "zbxt3W_indicator",
4102
4126
  "input": "zbxt3W_input",
4127
+ "large": "zbxt3W_large",
4103
4128
  "small": "zbxt3W_small",
4104
4129
  "textInputContainer": "zbxt3W_textInputContainer",
4105
4130
  "trigger": "zbxt3W_trigger"
@@ -4107,7 +4132,7 @@ var ds_text_input_module_default = {
4107
4132
  //#endregion
4108
4133
  //#region src/components/ds-text-input/ds-text-input.tsx
4109
4134
  const DsTextInput = (t0) => {
4110
- const $ = (0, react_compiler_runtime.c)(42);
4135
+ const $ = (0, react_compiler_runtime.c)(43);
4111
4136
  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;
4112
4137
  const size = t1 === void 0 ? "default" : t1;
4113
4138
  const type = t2 === void 0 ? "text" : t2;
@@ -4123,51 +4148,54 @@ const DsTextInput = (t0) => {
4123
4148
  const InputWrapper = slots?.inputWrapper ?? react.Fragment;
4124
4149
  const t7 = size === "small";
4125
4150
  const t8 = size === "default";
4126
- let t9;
4127
- if ($[2] !== className || $[3] !== t7 || $[4] !== t8) {
4128
- t9 = (0, classnames.default)(ds_text_input_module_default.textInputContainer, {
4151
+ const t9 = size === "large";
4152
+ let t10;
4153
+ if ($[2] !== className || $[3] !== t7 || $[4] !== t8 || $[5] !== t9) {
4154
+ t10 = (0, classnames.default)(ds_text_input_module_default.textInputContainer, {
4129
4155
  [ds_text_input_module_default.small]: t7,
4130
- [ds_text_input_module_default.default]: t8
4156
+ [ds_text_input_module_default.default]: t8,
4157
+ [ds_text_input_module_default.large]: t9
4131
4158
  }, className);
4132
4159
  $[2] = className;
4133
4160
  $[3] = t7;
4134
4161
  $[4] = t8;
4135
4162
  $[5] = t9;
4136
- } else t9 = $[5];
4137
- const containerClass = t9;
4138
- let t10;
4139
- if ($[6] !== onChange || $[7] !== onValueChange) {
4140
- t10 = (event) => {
4163
+ $[6] = t10;
4164
+ } else t10 = $[6];
4165
+ const containerClass = t10;
4166
+ let t11;
4167
+ if ($[7] !== onChange || $[8] !== onValueChange) {
4168
+ t11 = (event) => {
4141
4169
  const newValue = event.target.value;
4142
4170
  onChange?.(event);
4143
4171
  onValueChange?.(newValue);
4144
4172
  };
4145
- $[6] = onChange;
4146
- $[7] = onValueChange;
4147
- $[8] = t10;
4148
- } else t10 = $[8];
4149
- const handleChange = t10;
4150
- let t11;
4151
- if ($[9] !== slots) {
4152
- t11 = slots?.startAdornment && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4173
+ $[7] = onChange;
4174
+ $[8] = onValueChange;
4175
+ $[9] = t11;
4176
+ } else t11 = $[9];
4177
+ const handleChange = t11;
4178
+ let t12;
4179
+ if ($[10] !== slots) {
4180
+ t12 = slots?.startAdornment && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4153
4181
  className: ds_text_input_module_default.adornment,
4154
4182
  children: slots.startAdornment
4155
4183
  });
4156
- $[9] = slots;
4157
- $[10] = t11;
4158
- } else t11 = $[10];
4159
- let t12;
4160
- if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
4161
- t12 = (0, classnames.default)(ds_text_input_module_default.input);
4184
+ $[10] = slots;
4162
4185
  $[11] = t12;
4163
4186
  } else t12 = $[11];
4164
4187
  let t13;
4165
- 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) {
4166
- t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
4188
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
4189
+ t13 = (0, classnames.default)(ds_text_input_module_default.input);
4190
+ $[12] = t13;
4191
+ } else t13 = $[12];
4192
+ let t14;
4193
+ 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) {
4194
+ t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
4167
4195
  id,
4168
4196
  ref,
4169
4197
  name,
4170
- className: t12,
4198
+ className: t13,
4171
4199
  type,
4172
4200
  value,
4173
4201
  defaultValue,
@@ -4184,66 +4212,70 @@ const DsTextInput = (t0) => {
4184
4212
  onChange: handleChange,
4185
4213
  tabIndex
4186
4214
  });
4187
- $[12] = defaultValue;
4188
- $[13] = disabled;
4189
- $[14] = handleChange;
4190
- $[15] = id;
4191
- $[16] = max;
4192
- $[17] = maxLength;
4193
- $[18] = min;
4194
- $[19] = minLength;
4195
- $[20] = name;
4196
- $[21] = onBlur;
4197
- $[22] = onFocus;
4198
- $[23] = onKeyDown;
4199
- $[24] = placeholder;
4200
- $[25] = readOnly;
4201
- $[26] = ref;
4202
- $[27] = tabIndex;
4203
- $[28] = type;
4204
- $[29] = value;
4205
- $[30] = t13;
4206
- } else t13 = $[30];
4207
- let t14;
4208
- if ($[31] !== InputWrapper || $[32] !== t13) {
4209
- t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InputWrapper, { children: t13 });
4210
- $[31] = InputWrapper;
4211
- $[32] = t13;
4212
- $[33] = t14;
4213
- } else t14 = $[33];
4215
+ $[13] = defaultValue;
4216
+ $[14] = disabled;
4217
+ $[15] = handleChange;
4218
+ $[16] = id;
4219
+ $[17] = max;
4220
+ $[18] = maxLength;
4221
+ $[19] = min;
4222
+ $[20] = minLength;
4223
+ $[21] = name;
4224
+ $[22] = onBlur;
4225
+ $[23] = onFocus;
4226
+ $[24] = onKeyDown;
4227
+ $[25] = placeholder;
4228
+ $[26] = readOnly;
4229
+ $[27] = ref;
4230
+ $[28] = tabIndex;
4231
+ $[29] = type;
4232
+ $[30] = value;
4233
+ $[31] = t14;
4234
+ } else t14 = $[31];
4214
4235
  let t15;
4215
- if ($[34] !== slots) {
4216
- t15 = slots?.endAdornment && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4236
+ if ($[32] !== InputWrapper || $[33] !== t14) {
4237
+ t15 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InputWrapper, { children: t14 });
4238
+ $[32] = InputWrapper;
4239
+ $[33] = t14;
4240
+ $[34] = t15;
4241
+ } else t15 = $[34];
4242
+ let t16;
4243
+ if ($[35] !== slots) {
4244
+ t16 = slots?.endAdornment && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4217
4245
  className: ds_text_input_module_default.adornment,
4218
4246
  children: slots.endAdornment
4219
4247
  });
4220
- $[34] = slots;
4221
- $[35] = t15;
4222
- } else t15 = $[35];
4223
- let t16;
4224
- if ($[36] !== containerClass || $[37] !== style || $[38] !== t11 || $[39] !== t14 || $[40] !== t15) {
4225
- t16 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
4248
+ $[35] = slots;
4249
+ $[36] = t16;
4250
+ } else t16 = $[36];
4251
+ let t17;
4252
+ if ($[37] !== containerClass || $[38] !== style || $[39] !== t12 || $[40] !== t15 || $[41] !== t16) {
4253
+ t17 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
4226
4254
  className: containerClass,
4227
4255
  style,
4228
4256
  children: [
4229
- t11,
4230
- t14,
4231
- t15
4257
+ t12,
4258
+ t15,
4259
+ t16
4232
4260
  ]
4233
4261
  });
4234
- $[36] = containerClass;
4235
- $[37] = style;
4236
- $[38] = t11;
4237
- $[39] = t14;
4262
+ $[37] = containerClass;
4263
+ $[38] = style;
4264
+ $[39] = t12;
4238
4265
  $[40] = t15;
4239
4266
  $[41] = t16;
4240
- } else t16 = $[41];
4241
- return t16;
4267
+ $[42] = t17;
4268
+ } else t17 = $[42];
4269
+ return t17;
4242
4270
  };
4243
4271
  DsTextInput.displayName = "DsTextInput";
4244
4272
  //#endregion
4245
4273
  //#region src/components/ds-text-input/ds-text-input.types.ts
4246
- const textInputSizes = ["small", "default"];
4274
+ const textInputSizes = [
4275
+ "small",
4276
+ "default",
4277
+ "large"
4278
+ ];
4247
4279
  //#endregion
4248
4280
  //#region src/components/ds-dropdown-menu/ds-dropdown-menu.tsx
4249
4281
  const GroupContext = (0, react.createContext)(null);
@@ -4607,7 +4639,7 @@ const ItemGroupLabel = (t0) => {
4607
4639
  className: t1,
4608
4640
  style,
4609
4641
  onClick: toggle,
4610
- onKeyDown: _temp$14,
4642
+ onKeyDown: _temp$15,
4611
4643
  children: [t2, t5]
4612
4644
  })
4613
4645
  });
@@ -4922,7 +4954,7 @@ DsDropdownMenu.ItemGroupLabel.displayName = "DsDropdownMenu.ItemGroupLabel";
4922
4954
  DsDropdownMenu.ItemGroupContent.displayName = "DsDropdownMenu.ItemGroupContent";
4923
4955
  DsDropdownMenu.Separator.displayName = "DsDropdownMenu.Separator";
4924
4956
  DsDropdownMenuLegacy.displayName = "DsDropdownMenuLegacy";
4925
- function _temp$14(e) {
4957
+ function _temp$15(e) {
4926
4958
  return e.stopPropagation();
4927
4959
  }
4928
4960
  function _temp2$7(e) {
@@ -4988,7 +5020,7 @@ const DsBreadcrumb = (t0) => {
4988
5020
  placeholder: "Search",
4989
5021
  value: search,
4990
5022
  onValueChange: setSearch,
4991
- onKeyDown: _temp$13,
5023
+ onKeyDown: _temp$14,
4992
5024
  slots: { startAdornment: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
4993
5025
  icon: "search",
4994
5026
  size: "tiny"
@@ -5045,7 +5077,7 @@ const DsBreadcrumb = (t0) => {
5045
5077
  return t4;
5046
5078
  };
5047
5079
  DsBreadcrumb.displayName = "DsBreadcrumb";
5048
- function _temp$13(e) {
5080
+ function _temp$14(e) {
5049
5081
  return e.stopPropagation();
5050
5082
  }
5051
5083
  //#endregion
@@ -5501,7 +5533,7 @@ const iconSizeMap = Object.freeze({
5501
5533
  * @summary action button with color/variant/size, icon-only, loading and selected states
5502
5534
  */
5503
5535
  const DsButtonV3$1 = (t0) => {
5504
- const $ = (0, react_compiler_runtime.c)(37);
5536
+ const $ = (0, react_compiler_runtime.c)(39);
5505
5537
  let children;
5506
5538
  let className;
5507
5539
  let disabled;
@@ -5515,8 +5547,9 @@ const DsButtonV3$1 = (t0) => {
5515
5547
  let t4;
5516
5548
  let t5;
5517
5549
  let t6;
5550
+ let t7;
5518
5551
  if ($[0] !== t0) {
5519
- ({ref, className, style, children, icon, disabled, loading: t1, color: t2, variant: t3, size: t4, selected: t5, type: t6, ...rest} = t0);
5552
+ ({ref, className, style, children, icon, disabled, loading: t1, color: t2, variant: t3, size: t4, selected: t5, highEmphasis: t6, type: t7, ...rest} = t0);
5520
5553
  $[0] = t0;
5521
5554
  $[1] = children;
5522
5555
  $[2] = className;
@@ -5531,6 +5564,7 @@ const DsButtonV3$1 = (t0) => {
5531
5564
  $[11] = t4;
5532
5565
  $[12] = t5;
5533
5566
  $[13] = t6;
5567
+ $[14] = t7;
5534
5568
  } else {
5535
5569
  children = $[1];
5536
5570
  className = $[2];
@@ -5545,80 +5579,86 @@ const DsButtonV3$1 = (t0) => {
5545
5579
  t4 = $[11];
5546
5580
  t5 = $[12];
5547
5581
  t6 = $[13];
5582
+ t7 = $[14];
5548
5583
  }
5549
5584
  const loading = t1 === void 0 ? false : t1;
5550
5585
  const color = t2 === void 0 ? "default" : t2;
5551
5586
  const variant = t3 === void 0 ? "primary" : t3;
5552
5587
  const size = t4 === void 0 ? "medium" : t4;
5553
5588
  const selected = t5 === void 0 ? false : t5;
5554
- const type = t6 === void 0 ? "button" : t6;
5589
+ const highEmphasis = t6 === void 0 ? false : t6;
5590
+ const type = t7 === void 0 ? "button" : t7;
5555
5591
  const isIconOnly = icon !== void 0 && !children;
5556
- const t7 = disabled || loading;
5557
- const t8 = loading || void 0;
5558
- let t9;
5559
- if ($[14] !== className) {
5560
- t9 = (0, classnames.default)(ds_button_v3_module_default.root, className);
5561
- $[14] = className;
5562
- $[15] = t9;
5563
- } else t9 = $[15];
5564
- const t10 = selected ? "true" : void 0;
5565
- const t11 = isIconOnly || void 0;
5566
- const t12 = loading && !disabled ? "" : void 0;
5567
- let t13;
5568
- if ($[16] !== icon || $[17] !== loading || $[18] !== size) {
5569
- t13 = loading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsSpinner, {}) : icon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
5592
+ const t8 = disabled || loading;
5593
+ const t9 = loading || void 0;
5594
+ let t10;
5595
+ if ($[15] !== className) {
5596
+ t10 = (0, classnames.default)(ds_button_v3_module_default.root, className);
5597
+ $[15] = className;
5598
+ $[16] = t10;
5599
+ } else t10 = $[16];
5600
+ const t11 = selected ? "true" : void 0;
5601
+ const t12 = highEmphasis ? "true" : void 0;
5602
+ const t13 = isIconOnly || void 0;
5603
+ const t14 = loading && !disabled ? "" : void 0;
5604
+ let t15;
5605
+ if ($[17] !== icon || $[18] !== loading || $[19] !== size) {
5606
+ t15 = loading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsSpinner, {}) : icon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
5570
5607
  icon,
5571
5608
  size: iconSizeMap[size],
5572
5609
  "aria-hidden": true
5573
5610
  });
5574
- $[16] = icon;
5575
- $[17] = loading;
5576
- $[18] = size;
5577
- $[19] = t13;
5578
- } else t13 = $[19];
5579
- let t14;
5580
- 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) {
5581
- t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
5611
+ $[17] = icon;
5612
+ $[18] = loading;
5613
+ $[19] = size;
5614
+ $[20] = t15;
5615
+ } else t15 = $[20];
5616
+ let t16;
5617
+ 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) {
5618
+ t16 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
5582
5619
  ref,
5583
5620
  type,
5584
- disabled: t7,
5585
- "aria-busy": t8,
5621
+ disabled: t8,
5622
+ "aria-busy": t9,
5586
5623
  "aria-pressed": selected,
5587
- className: t9,
5624
+ className: t10,
5588
5625
  style,
5589
5626
  "data-color": color,
5590
5627
  "data-variant": variant,
5591
5628
  "data-size": size,
5592
- "data-selected": t10,
5593
- "data-icon-only": t11,
5594
- "data-loading": t12,
5629
+ "data-selected": t11,
5630
+ "data-high-emphasis": t12,
5631
+ "data-icon-only": t13,
5632
+ "data-loading": t14,
5595
5633
  ...rest,
5596
- children: [t13, children]
5597
- });
5598
- $[20] = children;
5599
- $[21] = color;
5600
- $[22] = ref;
5601
- $[23] = rest;
5602
- $[24] = selected;
5603
- $[25] = size;
5604
- $[26] = style;
5605
- $[27] = t10;
5606
- $[28] = t11;
5607
- $[29] = t12;
5608
- $[30] = t13;
5609
- $[31] = t7;
5610
- $[32] = t8;
5611
- $[33] = t9;
5612
- $[34] = type;
5613
- $[35] = variant;
5614
- $[36] = t14;
5615
- } else t14 = $[36];
5616
- return t14;
5634
+ children: [t15, children]
5635
+ });
5636
+ $[21] = children;
5637
+ $[22] = color;
5638
+ $[23] = ref;
5639
+ $[24] = rest;
5640
+ $[25] = selected;
5641
+ $[26] = size;
5642
+ $[27] = style;
5643
+ $[28] = t10;
5644
+ $[29] = t11;
5645
+ $[30] = t12;
5646
+ $[31] = t13;
5647
+ $[32] = t14;
5648
+ $[33] = t15;
5649
+ $[34] = t8;
5650
+ $[35] = t9;
5651
+ $[36] = type;
5652
+ $[37] = variant;
5653
+ $[38] = t16;
5654
+ } else t16 = $[38];
5655
+ return t16;
5617
5656
  };
5618
5657
  //#endregion
5619
5658
  //#region src/components/ds-button-v3/ds-button-v3.types.ts
5620
5659
  const buttonV3Variants = [
5621
5660
  "primary",
5661
+ "primary-subtle",
5622
5662
  "secondary",
5623
5663
  "tertiary"
5624
5664
  ];
@@ -5941,7 +5981,7 @@ const DEFAULT_LOCALE$1 = Object.freeze({
5941
5981
  pinButtonLabel: "Pin side menu",
5942
5982
  unpinButtonLabel: "Unpin side menu"
5943
5983
  });
5944
- const DsCatalogLayout = (t0) => {
5984
+ const DsCatalogLayoutRoot = (t0) => {
5945
5985
  const $ = (0, react_compiler_runtime.c)(17);
5946
5986
  let className;
5947
5987
  let rest;
@@ -6316,12 +6356,14 @@ Body$3.displayName = "DsCatalogLayout.Body";
6316
6356
  SideMenu$1.displayName = "DsCatalogLayout.SideMenu";
6317
6357
  Content$1.displayName = "DsCatalogLayout.Content";
6318
6358
  ContentHeader.displayName = "DsCatalogLayout.ContentHeader";
6319
- DsCatalogLayout.Header = Header$3;
6320
- DsCatalogLayout.Body = Body$3;
6321
- DsCatalogLayout.SideMenu = SideMenu$1;
6322
- DsCatalogLayout.Content = Content$1;
6323
- DsCatalogLayout.ContentHeader = ContentHeader;
6324
- DsCatalogLayout.displayName = "DsCatalogLayout";
6359
+ const DsCatalogLayout = Object.assign(DsCatalogLayoutRoot, {
6360
+ displayName: "DsCatalogLayout",
6361
+ Header: Header$3,
6362
+ Body: Body$3,
6363
+ SideMenu: SideMenu$1,
6364
+ Content: Content$1,
6365
+ ContentHeader
6366
+ });
6325
6367
  //#endregion
6326
6368
  //#region src/components/ds-checkbox/ds-checkbox.module.scss
6327
6369
  var ds_checkbox_module_default = {
@@ -7313,7 +7355,7 @@ const DsCommentThread = (t0) => {
7313
7355
  const bottomRef = (0, react.useRef)(null);
7314
7356
  let t1;
7315
7357
  if ($[0] !== messages) {
7316
- t1 = messages.find(_temp$12) || messages[0];
7358
+ t1 = messages.find(_temp$13) || messages[0];
7317
7359
  $[0] = messages;
7318
7360
  $[1] = t1;
7319
7361
  } else t1 = $[1];
@@ -7454,7 +7496,7 @@ const DsCommentThread = (t0) => {
7454
7496
  return t22;
7455
7497
  };
7456
7498
  DsCommentThread.displayName = "DsCommentThread";
7457
- function _temp$12(m) {
7499
+ function _temp$13(m) {
7458
7500
  return m.isInitialMessage;
7459
7501
  }
7460
7502
  //#endregion
@@ -8178,7 +8220,7 @@ const DsCommentCard = (t0) => {
8178
8220
  const { numericId, author, createdAt, messages, referenceTag, isActionRequired } = comment;
8179
8221
  let t4;
8180
8222
  if ($[0] !== messages) {
8181
- t4 = messages.find(_temp$11) || messages[0];
8223
+ t4 = messages.find(_temp$12) || messages[0];
8182
8224
  $[0] = messages;
8183
8225
  $[1] = t4;
8184
8226
  } else t4 = $[1];
@@ -8503,7 +8545,7 @@ const DsCommentCard = (t0) => {
8503
8545
  return t34;
8504
8546
  };
8505
8547
  DsCommentCard.displayName = "DsCommentCard";
8506
- function _temp$11(m) {
8548
+ function _temp$12(m) {
8507
8549
  return m.isInitialMessage;
8508
8550
  }
8509
8551
  function _temp2$6(m_0) {
@@ -8714,7 +8756,7 @@ const useArkDialogBodyLockCleanup = (open, enabled) => {
8714
8756
  };
8715
8757
  //#endregion
8716
8758
  //#region src/components/ds-drawer/ds-drawer.tsx
8717
- const DsDrawer = (t0) => {
8759
+ const DsDrawerRoot = (t0) => {
8718
8760
  const $ = (0, react_compiler_runtime.c)(28);
8719
8761
  const { open, onOpenChange, onOpenAutoFocus, columns: t1, position: t2, backdrop: t3, closeOnEscape: t4, closeOnInteractOutside: t5, portal: t6, style, className, children } = t0;
8720
8762
  const columns = t1 === void 0 ? 4 : t1;
@@ -9002,14 +9044,16 @@ Toolbar.displayName = "DsDrawer.Toolbar";
9002
9044
  Body$2.displayName = "DsDrawer.Body";
9003
9045
  Footer$2.displayName = "DsDrawer.Footer";
9004
9046
  Actions$1.displayName = "DsDrawer.Actions";
9005
- DsDrawer.Header = Header$2;
9006
- DsDrawer.Title = Title$1;
9007
- DsDrawer.CloseTrigger = CloseTrigger$1;
9008
- DsDrawer.Toolbar = Toolbar;
9009
- DsDrawer.Body = Body$2;
9010
- DsDrawer.Footer = Footer$2;
9011
- DsDrawer.Actions = Actions$1;
9012
- DsDrawer.displayName = "DsDrawer";
9047
+ const DsDrawer = Object.assign(DsDrawerRoot, {
9048
+ displayName: "DsDrawer",
9049
+ Header: Header$2,
9050
+ Title: Title$1,
9051
+ CloseTrigger: CloseTrigger$1,
9052
+ Toolbar,
9053
+ Body: Body$2,
9054
+ Footer: Footer$2,
9055
+ Actions: Actions$1
9056
+ });
9013
9057
  //#endregion
9014
9058
  //#region src/components/ds-tag-filter/ds-tag-filter.module.scss
9015
9059
  var ds_tag_filter_module_default = {
@@ -9549,7 +9593,7 @@ var ds_modal_module_default = {
9549
9593
  * Supports custom header, footer, and body content with grid-based sizing.
9550
9594
  * Use columns prop to control modal width (1-12 grid columns).
9551
9595
  */
9552
- const DsModal = (t0) => {
9596
+ const DsModalRoot = (t0) => {
9553
9597
  const $ = (0, react_compiler_runtime.c)(20);
9554
9598
  const { open, columns: t1, dividers: t2, style, className, modal: t3, closeOnEscape, closeOnInteractOutside: t4, children, onOpenChange } = t0;
9555
9599
  const columns = t1 === void 0 ? 6 : t1;
@@ -9778,13 +9822,15 @@ CloseTrigger.displayName = "DsModal.CloseTrigger";
9778
9822
  Body$1.displayName = "DsModal.Body";
9779
9823
  Footer$1.displayName = "DsModal.Footer";
9780
9824
  Actions.displayName = "DsModal.Actions";
9781
- DsModal.Header = Header$1;
9782
- DsModal.Title = Title;
9783
- DsModal.CloseTrigger = CloseTrigger;
9784
- DsModal.Body = Body$1;
9785
- DsModal.Footer = Footer$1;
9786
- DsModal.Actions = Actions;
9787
- DsModal.displayName = "DsModal";
9825
+ const DsModal = Object.assign(DsModalRoot, {
9826
+ displayName: "DsModal",
9827
+ Header: Header$1,
9828
+ Title,
9829
+ CloseTrigger,
9830
+ Body: Body$1,
9831
+ Footer: Footer$1,
9832
+ Actions
9833
+ });
9788
9834
  //#endregion
9789
9835
  //#region src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.scss
9790
9836
  var ds_tabs_list_module_default = { "tabList": "vT68YW_tabList" };
@@ -9947,7 +9993,7 @@ const DsTabsTab = (t0) => {
9947
9993
  })
9948
9994
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsDropdownMenu.Content, {
9949
9995
  className: ds_tabs_tab_module_default.menuContent,
9950
- children: menuActionItems.map(_temp$10)
9996
+ children: menuActionItems.map(_temp$11)
9951
9997
  })]
9952
9998
  });
9953
9999
  $[17] = handleMenuActionSelect;
@@ -9986,7 +10032,7 @@ const DsTabsTab = (t0) => {
9986
10032
  return t6;
9987
10033
  };
9988
10034
  DsTabsTab.displayName = "DsTabs.Tab";
9989
- function _temp$10(item) {
10035
+ function _temp$11(item) {
9990
10036
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsDropdownMenu.Item, {
9991
10037
  value: item.value,
9992
10038
  disabled: item.disabled,
@@ -10513,7 +10559,7 @@ const YearView$1 = () => {
10513
10559
  return t0;
10514
10560
  };
10515
10561
  DsDateInput.displayName = "DsDateInput";
10516
- function _temp$9(weekDay, id) {
10562
+ function _temp$10(weekDay, id) {
10517
10563
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableHeader, {
10518
10564
  className: ds_date_input_module_default.tableHeader,
10519
10565
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
@@ -10548,7 +10594,7 @@ function _temp4$2(datePicker) {
10548
10594
  className: ds_date_input_module_default.tableHead,
10549
10595
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableRow, {
10550
10596
  className: ds_date_input_module_default.tableRow,
10551
- children: datePicker.weekDays.map(_temp$9)
10597
+ children: datePicker.weekDays.map(_temp$10)
10552
10598
  })
10553
10599
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableBody, {
10554
10600
  className: ds_date_input_module_default.tableBody,
@@ -11191,7 +11237,7 @@ const DsCommentsDrawer = (t0) => {
11191
11237
  authorsMap.set(comment.author.id, comment.author.name);
11192
11238
  comment.labels?.forEach((label) => labelsSet.add(label));
11193
11239
  });
11194
- availableAuthors = Array.from(authorsMap.entries()).map(_temp$8);
11240
+ availableAuthors = Array.from(authorsMap.entries()).map(_temp$9);
11195
11241
  availableLabels = Array.from(labelsSet);
11196
11242
  let filteredComments = comments;
11197
11243
  if (!showResolved) filteredComments = filteredComments.filter(_temp2$4);
@@ -11544,7 +11590,7 @@ const DsCommentsDrawer = (t0) => {
11544
11590
  return t18;
11545
11591
  };
11546
11592
  DsCommentsDrawer.displayName = "DsCommentsDrawer";
11547
- function _temp$8(t0) {
11593
+ function _temp$9(t0) {
11548
11594
  const [id, name] = t0;
11549
11595
  return {
11550
11596
  id,
@@ -11565,11 +11611,7 @@ function _temp5$1(c_1) {
11565
11611
  }
11566
11612
  //#endregion
11567
11613
  //#region src/components/ds-confirmation/ds-confirmation.tsx
11568
- /**
11569
- * @deprecated DsConfirmation is deprecated. Use DsModal instead.
11570
- * @see {@link ../ds-modal} for the replacement component.
11571
- */
11572
- const DsConfirmation = (props) => {
11614
+ const DsConfirmationRoot = (props) => {
11573
11615
  const $ = (0, react_compiler_runtime.c)(2);
11574
11616
  let t0;
11575
11617
  if ($[0] !== props) {
@@ -11584,13 +11626,19 @@ const DsConfirmation = (props) => {
11584
11626
  } else t0 = $[1];
11585
11627
  return t0;
11586
11628
  };
11587
- DsConfirmation.Header = DsModal.Header;
11588
- DsConfirmation.Title = DsModal.Title;
11589
- DsConfirmation.CloseTrigger = DsModal.CloseTrigger;
11590
- DsConfirmation.Body = DsModal.Body;
11591
- DsConfirmation.Footer = DsModal.Footer;
11592
- DsConfirmation.Actions = DsModal.Actions;
11593
- DsConfirmation.displayName = "DsConfirmation";
11629
+ /**
11630
+ * @deprecated DsConfirmation is deprecated. Use DsModal instead.
11631
+ * @see {@link ../ds-modal} for the replacement component.
11632
+ */
11633
+ const DsConfirmation = Object.assign(DsConfirmationRoot, {
11634
+ displayName: "DsConfirmation",
11635
+ Header: DsModal.Header,
11636
+ Title: DsModal.Title,
11637
+ CloseTrigger: DsModal.CloseTrigger,
11638
+ Body: DsModal.Body,
11639
+ Footer: DsModal.Footer,
11640
+ Actions: DsModal.Actions
11641
+ });
11594
11642
  //#endregion
11595
11643
  //#region src/components/ds-date-picker/ds-date-picker.utils.ts
11596
11644
  const toIntlDate = (date) => date ? (0, _internationalized_date.fromDate)(date, (0, _internationalized_date.getLocalTimeZone)()) : date;
@@ -12346,7 +12394,7 @@ const DayView = (t0) => {
12346
12394
  className: calendar_table_module_default.table,
12347
12395
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableHead, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableRow, {
12348
12396
  className: calendar_table_module_default.tableRow,
12349
- children: datePicker.weekDays.map(_temp$7)
12397
+ children: datePicker.weekDays.map(_temp$8)
12350
12398
  }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableBody, {
12351
12399
  className: calendar_table_module_default.tableBody,
12352
12400
  children: datePicker.weeks.map(_temp3$3)
@@ -12361,7 +12409,7 @@ const DayView = (t0) => {
12361
12409
  } else t1 = $[1];
12362
12410
  return t1;
12363
12411
  };
12364
- function _temp$7(weekDay, idx) {
12412
+ function _temp$8(weekDay, idx) {
12365
12413
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableHeader, {
12366
12414
  className: calendar_table_module_default.tableHeader,
12367
12415
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
@@ -12405,7 +12453,7 @@ const MonthView = () => {
12405
12453
  } else t0 = $[0];
12406
12454
  return t0;
12407
12455
  };
12408
- function _temp$6(month, monthIdx) {
12456
+ function _temp$7(month, monthIdx) {
12409
12457
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableCell, {
12410
12458
  value: month.value,
12411
12459
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableCellTrigger, {
@@ -12420,7 +12468,7 @@ function _temp$6(month, monthIdx) {
12420
12468
  function _temp2$2(months, rowIdx) {
12421
12469
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableRow, {
12422
12470
  className: calendar_table_module_default.tableRow,
12423
- children: months.map(_temp$6)
12471
+ children: months.map(_temp$7)
12424
12472
  }, rowIdx);
12425
12473
  }
12426
12474
  function _temp3$2(datePicker) {
@@ -12452,7 +12500,7 @@ const YearView = () => {
12452
12500
  } else t0 = $[0];
12453
12501
  return t0;
12454
12502
  };
12455
- function _temp$5(year, yearIdx) {
12503
+ function _temp$6(year, yearIdx) {
12456
12504
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableCell, {
12457
12505
  value: year.value,
12458
12506
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableCellTrigger, {
@@ -12467,7 +12515,7 @@ function _temp$5(year, yearIdx) {
12467
12515
  function _temp2$1(years, rowIdx) {
12468
12516
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableRow, {
12469
12517
  className: calendar_table_module_default.tableRow,
12470
- children: years.map(_temp$5)
12518
+ children: years.map(_temp$6)
12471
12519
  }, rowIdx);
12472
12520
  }
12473
12521
  function _temp3$1(datePicker) {
@@ -12943,6 +12991,7 @@ var ds_select_module_default = {
12943
12991
  "item": "KdTZ_G_item",
12944
12992
  "itemIcon": "KdTZ_G_itemIcon",
12945
12993
  "itemValue": "KdTZ_G_itemValue",
12994
+ "large": "KdTZ_G_large",
12946
12995
  "multiSelectItemsContainer": "KdTZ_G_multiSelectItemsContainer",
12947
12996
  "searchIcon": "KdTZ_G_searchIcon",
12948
12997
  "searchInput": "KdTZ_G_searchInput",
@@ -13054,7 +13103,7 @@ const SELECT_ALL_OPTION = {
13054
13103
  value: SELECT_ALL_VALUE
13055
13104
  };
13056
13105
  const DsSelect = (t0) => {
13057
- const $ = (0, react_compiler_runtime.c)(29);
13106
+ const $ = (0, react_compiler_runtime.c)(30);
13058
13107
  const { id, options: userOptions, value, style, size, clearable, onClear, onBlur, className, placeholder: t1, disabled, renderOption, ...multiselectProps } = t0;
13059
13108
  const placeholder = t1 === void 0 ? "Click to select a value" : t1;
13060
13109
  const [searchTerm, setSearchTerm] = (0, react.useState)("");
@@ -13062,7 +13111,7 @@ const DsSelect = (t0) => {
13062
13111
  const internalOptions = multiselectProps.multiple ? [SELECT_ALL_OPTION, ...userOptions] : userOptions;
13063
13112
  const collection = (0, _ark_ui_react_select.createListCollection)({
13064
13113
  items: internalOptions,
13065
- itemToValue: _temp$4
13114
+ itemToValue: _temp$5
13066
13115
  });
13067
13116
  let t2;
13068
13117
  if ($[0] !== searchTerm) {
@@ -13124,29 +13173,31 @@ const DsSelect = (t0) => {
13124
13173
  });
13125
13174
  };
13126
13175
  const t4 = size === "small" && ds_select_module_default.small;
13127
- let t5;
13128
- if ($[3] !== className || $[4] !== t4) {
13129
- t5 = (0, classnames.default)(ds_select_module_default.control, t4, className);
13176
+ const t5 = size === "large" && ds_select_module_default.large;
13177
+ let t6;
13178
+ if ($[3] !== className || $[4] !== t4 || $[5] !== t5) {
13179
+ t6 = (0, classnames.default)(ds_select_module_default.control, t4, t5, className);
13130
13180
  $[3] = className;
13131
13181
  $[4] = t4;
13132
13182
  $[5] = t5;
13133
- } else t5 = $[5];
13134
- const t6 = size === "small" ? "small" : "medium";
13135
- let t7;
13136
- if ($[6] !== t6) {
13137
- t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_select.Select.Indicator, {
13183
+ $[6] = t6;
13184
+ } else t6 = $[6];
13185
+ const t7 = size === "small" ? "small" : "medium";
13186
+ let t8;
13187
+ if ($[7] !== t7) {
13188
+ t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_select.Select.Indicator, {
13138
13189
  className: ds_select_module_default.triggerIcon,
13139
13190
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
13140
13191
  icon: "keyboard_arrow_down",
13141
- size: t6
13192
+ size: t7
13142
13193
  })
13143
13194
  });
13144
- $[6] = t6;
13145
13195
  $[7] = t7;
13146
- } else t7 = $[7];
13147
- let t8;
13148
- if ($[8] !== clearable || $[9] !== onClear || $[10] !== size) {
13149
- t8 = clearable && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_select.Select.ClearTrigger, {
13196
+ $[8] = t8;
13197
+ } else t8 = $[8];
13198
+ let t9;
13199
+ if ($[9] !== clearable || $[10] !== onClear || $[11] !== size) {
13200
+ t9 = clearable && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_select.Select.ClearTrigger, {
13150
13201
  className: ds_select_module_default.clearIcon,
13151
13202
  onClick: onClear,
13152
13203
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
@@ -13154,19 +13205,19 @@ const DsSelect = (t0) => {
13154
13205
  size: size === "small" ? "small" : "medium"
13155
13206
  })
13156
13207
  });
13157
- $[8] = clearable;
13158
- $[9] = onClear;
13159
- $[10] = size;
13160
- $[11] = t8;
13161
- } else t8 = $[11];
13208
+ $[9] = clearable;
13209
+ $[10] = onClear;
13210
+ $[11] = size;
13211
+ $[12] = t9;
13212
+ } else t9 = $[12];
13162
13213
  const T0 = _ark_ui_react_portal.Portal;
13163
- const t9 = _ark_ui_react_select.Select;
13164
- const t10 = ds_select_module_default;
13165
- const t11 = _ark_ui_react_select.Select;
13166
- const t12 = ds_select_module_default;
13167
- let t13;
13168
- if ($[12] !== searchTerm || $[13] !== userOptions.length) {
13169
- t13 = userOptions.length > SEARCH_THRESHOLD && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
13214
+ const t10 = _ark_ui_react_select.Select;
13215
+ const t11 = ds_select_module_default;
13216
+ const t12 = _ark_ui_react_select.Select;
13217
+ const t13 = ds_select_module_default;
13218
+ let t14;
13219
+ if ($[13] !== searchTerm || $[14] !== userOptions.length) {
13220
+ t14 = userOptions.length > SEARCH_THRESHOLD && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
13170
13221
  className: ds_select_module_default.searchInput,
13171
13222
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTextInput, {
13172
13223
  placeholder: "Search",
@@ -13179,17 +13230,17 @@ const DsSelect = (t0) => {
13179
13230
  }) }
13180
13231
  })
13181
13232
  });
13182
- $[12] = searchTerm;
13183
- $[13] = userOptions.length;
13184
- $[14] = t13;
13185
- } else t13 = $[14];
13186
- const t14 = multiselectProps.multiple && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectItemsChips, {
13233
+ $[13] = searchTerm;
13234
+ $[14] = userOptions.length;
13235
+ $[15] = t14;
13236
+ } else t14 = $[15];
13237
+ const t15 = multiselectProps.multiple && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectItemsChips, {
13187
13238
  onValueChange: multiselectProps.onValueChange,
13188
13239
  showAll: showAllItems,
13189
13240
  onShowAll: () => setShowAllItems(true),
13190
13241
  count: 6
13191
13242
  });
13192
- const t15 = filteredOptions.map((item_0) => {
13243
+ const t16 = filteredOptions.map((item_0) => {
13193
13244
  const checked = getItemCheckedState({
13194
13245
  item: item_0,
13195
13246
  select,
@@ -13213,52 +13264,52 @@ const DsSelect = (t0) => {
13213
13264
  })
13214
13265
  }, collection.getItemValue(item_0));
13215
13266
  });
13216
- let t16;
13217
- if ($[15] !== t11.Content || $[16] !== t12.content || $[17] !== t13 || $[18] !== t14 || $[19] !== t15) {
13218
- t16 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(t11.Content, {
13219
- className: t12.content,
13267
+ let t17;
13268
+ if ($[16] !== t12.Content || $[17] !== t13.content || $[18] !== t14 || $[19] !== t15 || $[20] !== t16) {
13269
+ t17 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(t12.Content, {
13270
+ className: t13.content,
13220
13271
  children: [
13221
- t13,
13222
13272
  t14,
13223
- t15
13273
+ t15,
13274
+ t16
13224
13275
  ]
13225
13276
  });
13226
- $[15] = t11.Content;
13227
- $[16] = t12.content;
13228
- $[17] = t13;
13277
+ $[16] = t12.Content;
13278
+ $[17] = t13.content;
13229
13279
  $[18] = t14;
13230
13280
  $[19] = t15;
13231
13281
  $[20] = t16;
13232
- } else t16 = $[20];
13233
- let t17;
13234
- if ($[21] !== t10.viewport || $[22] !== t16 || $[23] !== t9.Positioner) {
13235
- t17 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(t9.Positioner, {
13236
- className: t10.viewport,
13237
- children: t16
13282
+ $[21] = t17;
13283
+ } else t17 = $[21];
13284
+ let t18;
13285
+ if ($[22] !== t10.Positioner || $[23] !== t11.viewport || $[24] !== t17) {
13286
+ t18 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(t10.Positioner, {
13287
+ className: t11.viewport,
13288
+ children: t17
13238
13289
  });
13239
- $[21] = t10.viewport;
13240
- $[22] = t16;
13241
- $[23] = t9.Positioner;
13290
+ $[22] = t10.Positioner;
13291
+ $[23] = t11.viewport;
13242
13292
  $[24] = t17;
13243
- } else t17 = $[24];
13244
- let t18;
13245
- if ($[25] !== T0 || $[26] !== t17) {
13246
- t18 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(T0, { children: t17 });
13247
- $[25] = T0;
13248
- $[26] = t17;
13249
- $[27] = t18;
13250
- } else t18 = $[27];
13293
+ $[25] = t18;
13294
+ } else t18 = $[25];
13251
13295
  let t19;
13252
- if ($[28] === Symbol.for("react.memo_cache_sentinel")) {
13253
- t19 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_select.Select.HiddenSelect, { style: { display: "none" } });
13296
+ if ($[26] !== T0 || $[27] !== t18) {
13297
+ t19 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(T0, { children: t18 });
13298
+ $[26] = T0;
13299
+ $[27] = t18;
13254
13300
  $[28] = t19;
13255
13301
  } else t19 = $[28];
13302
+ let t20;
13303
+ if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
13304
+ t20 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_select.Select.HiddenSelect, { style: { display: "none" } });
13305
+ $[29] = t20;
13306
+ } else t20 = $[29];
13256
13307
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_select.Select.RootProvider, {
13257
13308
  value: select,
13258
13309
  lazyMount: true,
13259
13310
  children: [
13260
13311
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_select.Select.Control, {
13261
- className: t5,
13312
+ className: t6,
13262
13313
  style,
13263
13314
  onBlur,
13264
13315
  onKeyDown: (e) => {
@@ -13274,11 +13325,11 @@ const DsSelect = (t0) => {
13274
13325
  id,
13275
13326
  className: ds_select_module_default.trigger,
13276
13327
  "aria-labelledby": null,
13277
- children: [renderTriggerValue(), t7]
13278
- }), t8]
13328
+ children: [renderTriggerValue(), t8]
13329
+ }), t9]
13279
13330
  }),
13280
- t18,
13281
- t19
13331
+ t19,
13332
+ t20
13282
13333
  ]
13283
13334
  });
13284
13335
  };
@@ -13288,7 +13339,7 @@ function getItemCheckedState({ item, select, options }) {
13288
13339
  return select.hasSelectedItems ? "indeterminate" : false;
13289
13340
  }
13290
13341
  DsSelect.displayName = "DsSelect";
13291
- function _temp$4(item) {
13342
+ function _temp$5(item) {
13292
13343
  return item.value;
13293
13344
  }
13294
13345
  function _temp2(value_0) {
@@ -13310,6 +13361,7 @@ var ds_number_input_module_default = {
13310
13361
  "iconButton": "XMQUTG_iconButton",
13311
13362
  "indicator": "XMQUTG_indicator",
13312
13363
  "input": "XMQUTG_input",
13364
+ "large": "XMQUTG_large",
13313
13365
  "small": "XMQUTG_small",
13314
13366
  "textInputContainer": "XMQUTG_textInputContainer",
13315
13367
  "trigger": "XMQUTG_trigger"
@@ -13317,7 +13369,7 @@ var ds_number_input_module_default = {
13317
13369
  //#endregion
13318
13370
  //#region src/components/ds-number-input/ds-number-input.tsx
13319
13371
  const DsNumberInput = (t0) => {
13320
- const $ = (0, react_compiler_runtime.c)(33);
13372
+ const $ = (0, react_compiler_runtime.c)(36);
13321
13373
  const { id, ref, name, size: t1, onBlur, onChange, onValueChange, className, style: t2, placeholder, disabled: t3, min, max, step, value, defaultValue } = t0;
13322
13374
  const size = t1 === void 0 ? "default" : t1;
13323
13375
  let t4;
@@ -13342,26 +13394,32 @@ const DsNumberInput = (t0) => {
13342
13394
  $[5] = t7;
13343
13395
  } else t7 = $[5];
13344
13396
  const containerClass = t7;
13345
- const t8 = typeof value !== "undefined" ? String(value) : void 0;
13346
- const t9 = typeof defaultValue !== "undefined" ? String(defaultValue) : void 0;
13347
- let t10;
13348
- if ($[6] !== onValueChange) {
13349
- t10 = (details) => onValueChange?.(details.valueAsNumber);
13350
- $[6] = onValueChange;
13351
- $[7] = t10;
13352
- } else t10 = $[7];
13397
+ let t8;
13398
+ if ($[6] !== id) {
13399
+ t8 = { input: id };
13400
+ $[6] = id;
13401
+ $[7] = t8;
13402
+ } else t8 = $[7];
13403
+ const t9 = typeof value !== "undefined" ? String(value) : void 0;
13404
+ const t10 = typeof defaultValue !== "undefined" ? String(defaultValue) : void 0;
13353
13405
  let t11;
13354
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
13355
- t11 = (0, classnames.default)(ds_number_input_module_default.iconButton);
13356
- $[8] = t11;
13357
- } else t11 = $[8];
13406
+ if ($[8] !== onValueChange) {
13407
+ t11 = (details) => onValueChange?.(details.valueAsNumber);
13408
+ $[8] = onValueChange;
13409
+ $[9] = t11;
13410
+ } else t11 = $[9];
13358
13411
  let t12;
13359
- if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
13360
- t12 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.DecrementTrigger, {
13412
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
13413
+ t12 = (0, classnames.default)(ds_number_input_module_default.iconButton);
13414
+ $[10] = t12;
13415
+ } else t12 = $[10];
13416
+ let t13;
13417
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
13418
+ t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.DecrementTrigger, {
13361
13419
  asChild: true,
13362
13420
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
13363
13421
  type: "button",
13364
- className: t11,
13422
+ className: t12,
13365
13423
  "aria-label": "Decrease value",
13366
13424
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
13367
13425
  icon: "remove",
@@ -13369,42 +13427,42 @@ const DsNumberInput = (t0) => {
13369
13427
  })
13370
13428
  })
13371
13429
  });
13372
- $[9] = t12;
13373
- } else t12 = $[9];
13374
- let t13;
13375
- if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
13376
- t13 = (0, classnames.default)(ds_number_input_module_default.input);
13377
- $[10] = t13;
13378
- } else t13 = $[10];
13430
+ $[11] = t13;
13431
+ } else t13 = $[11];
13379
13432
  let t14;
13380
- if ($[11] !== name || $[12] !== onBlur || $[13] !== onChange || $[14] !== placeholder || $[15] !== ref) {
13381
- t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Input, {
13433
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
13434
+ t14 = (0, classnames.default)(ds_number_input_module_default.input);
13435
+ $[12] = t14;
13436
+ } else t14 = $[12];
13437
+ let t15;
13438
+ if ($[13] !== name || $[14] !== onBlur || $[15] !== onChange || $[16] !== placeholder || $[17] !== ref) {
13439
+ t15 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Input, {
13382
13440
  ref,
13383
13441
  name,
13384
- className: t13,
13442
+ className: t14,
13385
13443
  placeholder,
13386
13444
  onBlur,
13387
13445
  onChange
13388
13446
  });
13389
- $[11] = name;
13390
- $[12] = onBlur;
13391
- $[13] = onChange;
13392
- $[14] = placeholder;
13393
- $[15] = ref;
13394
- $[16] = t14;
13395
- } else t14 = $[16];
13396
- let t15;
13397
- if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
13398
- t15 = (0, classnames.default)(ds_number_input_module_default.iconButton);
13399
- $[17] = t15;
13400
- } else t15 = $[17];
13447
+ $[13] = name;
13448
+ $[14] = onBlur;
13449
+ $[15] = onChange;
13450
+ $[16] = placeholder;
13451
+ $[17] = ref;
13452
+ $[18] = t15;
13453
+ } else t15 = $[18];
13401
13454
  let t16;
13402
- if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
13403
- t16 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.IncrementTrigger, {
13455
+ if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
13456
+ t16 = (0, classnames.default)(ds_number_input_module_default.iconButton);
13457
+ $[19] = t16;
13458
+ } else t16 = $[19];
13459
+ let t17;
13460
+ if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
13461
+ t17 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.IncrementTrigger, {
13404
13462
  asChild: true,
13405
13463
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
13406
13464
  type: "button",
13407
- className: t15,
13465
+ className: t16,
13408
13466
  "aria-label": "Increase value",
13409
13467
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
13410
13468
  icon: "add",
@@ -13412,52 +13470,54 @@ const DsNumberInput = (t0) => {
13412
13470
  })
13413
13471
  })
13414
13472
  });
13415
- $[18] = t16;
13416
- } else t16 = $[18];
13417
- let t17;
13418
- if ($[19] !== containerClass || $[20] !== style || $[21] !== t14) {
13419
- t17 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Control, {
13473
+ $[20] = t17;
13474
+ } else t17 = $[20];
13475
+ let t18;
13476
+ if ($[21] !== containerClass || $[22] !== style || $[23] !== t15) {
13477
+ t18 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Control, {
13420
13478
  asChild: true,
13421
13479
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13422
13480
  className: containerClass,
13423
13481
  style,
13424
13482
  children: [
13425
- t12,
13426
- t14,
13427
- t16
13483
+ t13,
13484
+ t15,
13485
+ t17
13428
13486
  ]
13429
13487
  })
13430
13488
  });
13431
- $[19] = containerClass;
13432
- $[20] = style;
13433
- $[21] = t14;
13434
- $[22] = t17;
13435
- } else t17 = $[22];
13436
- let t18;
13437
- if ($[23] !== disabled || $[24] !== id || $[25] !== max || $[26] !== min || $[27] !== step || $[28] !== t10 || $[29] !== t17 || $[30] !== t8 || $[31] !== t9) {
13438
- t18 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Root, {
13489
+ $[21] = containerClass;
13490
+ $[22] = style;
13491
+ $[23] = t15;
13492
+ $[24] = t18;
13493
+ } else t18 = $[24];
13494
+ let t19;
13495
+ if ($[25] !== disabled || $[26] !== id || $[27] !== max || $[28] !== min || $[29] !== step || $[30] !== t10 || $[31] !== t11 || $[32] !== t18 || $[33] !== t8 || $[34] !== t9) {
13496
+ t19 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Root, {
13439
13497
  id,
13498
+ ids: t8,
13440
13499
  min,
13441
13500
  max,
13442
13501
  step,
13443
13502
  disabled,
13444
- value: t8,
13445
- defaultValue: t9,
13446
- onValueChange: t10,
13447
- children: t17
13503
+ value: t9,
13504
+ defaultValue: t10,
13505
+ onValueChange: t11,
13506
+ children: t18
13448
13507
  });
13449
- $[23] = disabled;
13450
- $[24] = id;
13451
- $[25] = max;
13452
- $[26] = min;
13453
- $[27] = step;
13454
- $[28] = t10;
13455
- $[29] = t17;
13456
- $[30] = t8;
13457
- $[31] = t9;
13508
+ $[25] = disabled;
13509
+ $[26] = id;
13510
+ $[27] = max;
13511
+ $[28] = min;
13512
+ $[29] = step;
13513
+ $[30] = t10;
13514
+ $[31] = t11;
13458
13515
  $[32] = t18;
13459
- } else t18 = $[32];
13460
- return t18;
13516
+ $[33] = t8;
13517
+ $[34] = t9;
13518
+ $[35] = t19;
13519
+ } else t19 = $[35];
13520
+ return t19;
13461
13521
  };
13462
13522
  DsNumberInput.displayName = "DsNumberInput";
13463
13523
  //#endregion
@@ -13467,6 +13527,7 @@ var ds_password_input_module_default = {
13467
13527
  "iconButton": "v5YZUq_iconButton",
13468
13528
  "indicator": "v5YZUq_indicator",
13469
13529
  "input": "v5YZUq_input",
13530
+ "large": "v5YZUq_large",
13470
13531
  "small": "v5YZUq_small",
13471
13532
  "textInputContainer": "v5YZUq_textInputContainer",
13472
13533
  "trigger": "v5YZUq_trigger"
@@ -13650,7 +13711,7 @@ const DsFormControlDescription = (t0) => {
13650
13711
  } else t2 = $[4];
13651
13712
  return t2;
13652
13713
  };
13653
- const DsFormControl = (t0) => {
13714
+ const DsFormControlRoot = (t0) => {
13654
13715
  const $ = (0, react_compiler_runtime.c)(23);
13655
13716
  const { id, status, label, hideLabel: t1, required: t2, slots, message, messageIcon: t3, className, style, children } = t0;
13656
13717
  const hideLabel = t1 === void 0 ? false : t1;
@@ -13736,18 +13797,20 @@ const DsFormControl = (t0) => {
13736
13797
  } else t10 = $[22];
13737
13798
  return t10;
13738
13799
  };
13739
- DsFormControl.TextInput = controlify(DsTextInput);
13740
- DsFormControl.NumberInput = controlify(DsNumberInput);
13741
- DsFormControl.PasswordInput = controlify(DsPasswordInput);
13742
- /** @deprecated DsDateInput is deprecated. Use DsDatePicker or DsDateRangePicker instead. */
13743
- DsFormControl.DateInput = controlify(DsDateInput);
13744
- DsFormControl.DatePicker = controlify(DsDatePicker);
13745
- DsFormControl.TimePicker = controlify(DsTimePicker);
13746
- DsFormControl.Textarea = controlify(DsTextarea);
13747
- DsFormControl.Select = controlify(DsSelect);
13748
- DsFormControl.Description = DsFormControlDescription;
13749
- DsFormControl.displayName = "DsFormControl";
13750
- DsFormControl.Description.displayName = "DsFormControl.Description";
13800
+ DsFormControlDescription.displayName = "DsFormControl.Description";
13801
+ const DsFormControl = Object.assign(DsFormControlRoot, {
13802
+ displayName: "DsFormControl",
13803
+ TextInput: controlify(DsTextInput),
13804
+ NumberInput: controlify(DsNumberInput),
13805
+ PasswordInput: controlify(DsPasswordInput),
13806
+ /** @deprecated DsDateInput is deprecated. Use DsDatePicker or DsDateRangePicker instead. */
13807
+ DateInput: controlify(DsDateInput),
13808
+ DatePicker: controlify(DsDatePicker),
13809
+ TimePicker: controlify(DsTimePicker),
13810
+ Textarea: controlify(DsTextarea),
13811
+ Select: controlify(DsSelect),
13812
+ Description: DsFormControlDescription
13813
+ });
13751
13814
  //#endregion
13752
13815
  //#region src/components/ds-form-control/ds-form-control.types.ts
13753
13816
  const controlStatuses = [
@@ -14534,7 +14597,7 @@ const FileUploadItem = (t0) => {
14534
14597
  } else t20 = $[46];
14535
14598
  let t21;
14536
14599
  if ($[47] !== errors || $[48] !== status) {
14537
- t21 = status === "error" && errors?.length && errors.map(_temp$3);
14600
+ t21 = status === "error" && errors?.length && errors.map(_temp$4);
14538
14601
  $[47] = errors;
14539
14602
  $[48] = status;
14540
14603
  $[49] = t21;
@@ -14577,7 +14640,7 @@ const FileUploadItem = (t0) => {
14577
14640
  } else t23 = $[60];
14578
14641
  return t23;
14579
14642
  };
14580
- function _temp$3(error) {
14643
+ function _temp$4(error) {
14581
14644
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
14582
14645
  className: file_upload_item_module_default.errorMessage,
14583
14646
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
@@ -17354,7 +17417,7 @@ const DsRadioGroupLegacy = (t0) => {
17354
17417
  } else t3 = $[3];
17355
17418
  let t4;
17356
17419
  if ($[4] !== options) {
17357
- t4 = options.map(_temp$2);
17420
+ t4 = options.map(_temp$3);
17358
17421
  $[4] = options;
17359
17422
  $[5] = t4;
17360
17423
  } else t4 = $[5];
@@ -17397,7 +17460,7 @@ const DsRadioGroup = {
17397
17460
  DsRadioGroup.Root.displayName = "DsRadioGroup.Root";
17398
17461
  DsRadioGroup.Item.displayName = "DsRadioGroup.Item";
17399
17462
  DsRadioGroupLegacy.displayName = "DsRadioGroupLegacy";
17400
- function _temp$2(option) {
17463
+ function _temp$3(option) {
17401
17464
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_radio_group.RadioGroup.Item, {
17402
17465
  value: option.value,
17403
17466
  disabled: option.disabled,
@@ -17657,7 +17720,7 @@ const useIsOverflowing = (text) => {
17657
17720
  const observer = new ResizeObserver(measure);
17658
17721
  observer.observe(element);
17659
17722
  const frame = requestAnimationFrame(measure);
17660
- document.fonts.ready.then(measure).catch(_temp$1);
17723
+ document.fonts.ready.then(measure).catch(_temp$2);
17661
17724
  document.fonts.addEventListener("loadingdone", measure);
17662
17725
  return () => {
17663
17726
  cancelAnimationFrame(frame);
@@ -17685,7 +17748,7 @@ const useIsOverflowing = (text) => {
17685
17748
  } else t2 = $[4];
17686
17749
  return t2;
17687
17750
  };
17688
- function _temp$1() {}
17751
+ function _temp$2() {}
17689
17752
  //#endregion
17690
17753
  //#region src/components/ds-site-node/ds-site-node.module.scss
17691
17754
  var ds_site_node_module_default = {
@@ -18047,6 +18110,254 @@ DsSkeleton.Text.displayName = "DsSkeleton.Text";
18047
18110
  DsSkeleton.Circle.displayName = "DsSkeleton.Circle";
18048
18111
  DsSkeleton.Rect.displayName = "DsSkeleton.Rect";
18049
18112
  //#endregion
18113
+ //#region src/components/ds-slider/ds-slider.utils.ts
18114
+ /**
18115
+ * Normalizes the public value (a number or a `[min, max]` tuple) into the
18116
+ * `number[]` shape Ark's slider works with. Returns `undefined` when no value
18117
+ * is provided so controlled/uncontrolled detection stays intact.
18118
+ */
18119
+ const toArray = (value) => {
18120
+ if (value === void 0) return;
18121
+ return Array.isArray(value) ? value : [value];
18122
+ };
18123
+ //#endregion
18124
+ //#region src/components/ds-slider/ds-slider.module.scss
18125
+ var ds_slider_module_default = {
18126
+ "control": "_7ZtIQW_control",
18127
+ "header": "_7ZtIQW_header",
18128
+ "large": "_7ZtIQW_large",
18129
+ "range": "_7ZtIQW_range",
18130
+ "root": "_7ZtIQW_root",
18131
+ "small": "_7ZtIQW_small",
18132
+ "thumb": "_7ZtIQW_thumb",
18133
+ "track": "_7ZtIQW_track",
18134
+ "valueText": "_7ZtIQW_valueText"
18135
+ };
18136
+ //#endregion
18137
+ //#region src/components/ds-slider/ds-slider.tsx
18138
+ /**
18139
+ * @summary Selects a numeric value or a numeric interval by dragging thumbs along a track.
18140
+ *
18141
+ * Use for picking a number or interval from a known continuous range where visual
18142
+ * adjustment beats typing (filter ranges, thresholds, capacity limits). For exact
18143
+ * numeric entry use DsNumberInput; for a few discrete options use DsSegmentGroup.
18144
+ */
18145
+ const DsSlider$1 = (t0) => {
18146
+ const $ = (0, react_compiler_runtime.c)(69);
18147
+ 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;
18148
+ const type = t1 === void 0 ? "value" : t1;
18149
+ const size = t2 === void 0 ? "medium" : t2;
18150
+ const min = t3 === void 0 ? 0 : t3;
18151
+ const max = t4 === void 0 ? 100 : t4;
18152
+ const step = t5 === void 0 ? 1 : t5;
18153
+ const disabled = t6 === void 0 ? false : t6;
18154
+ const formatValue = t7 === void 0 ? String : t7;
18155
+ const isRange = type === "range";
18156
+ let t8;
18157
+ if ($[0] !== value) {
18158
+ t8 = toArray(value);
18159
+ $[0] = value;
18160
+ $[1] = t8;
18161
+ } else t8 = $[1];
18162
+ const controlledValue = t8;
18163
+ let t9;
18164
+ if ($[2] !== isRange || $[3] !== max || $[4] !== min) {
18165
+ t9 = isRange ? [min, max] : [min];
18166
+ $[2] = isRange;
18167
+ $[3] = max;
18168
+ $[4] = min;
18169
+ $[5] = t9;
18170
+ } else t9 = $[5];
18171
+ const fallbackValue = t9;
18172
+ let t10;
18173
+ if ($[6] !== isRange || $[7] !== max || $[8] !== min) {
18174
+ t10 = (next) => isRange ? [next[0] ?? min, next[1] ?? max] : next[0] ?? min;
18175
+ $[6] = isRange;
18176
+ $[7] = max;
18177
+ $[8] = min;
18178
+ $[9] = t10;
18179
+ } else t10 = $[9];
18180
+ const toPublicValue = t10;
18181
+ let t11;
18182
+ if ($[10] !== controlledValue || $[11] !== onValueChange || $[12] !== toPublicValue) {
18183
+ t11 = controlledValue !== void 0 ? (next_0) => onValueChange?.(toPublicValue(next_0)) : void 0;
18184
+ $[10] = controlledValue;
18185
+ $[11] = onValueChange;
18186
+ $[12] = toPublicValue;
18187
+ $[13] = t11;
18188
+ } else t11 = $[13];
18189
+ let t12;
18190
+ if ($[14] !== defaultValue || $[15] !== fallbackValue) {
18191
+ t12 = toArray(defaultValue) ?? fallbackValue;
18192
+ $[14] = defaultValue;
18193
+ $[15] = fallbackValue;
18194
+ $[16] = t12;
18195
+ } else t12 = $[16];
18196
+ const [values, setValues] = useControlled(controlledValue, t11, t12);
18197
+ let t13;
18198
+ if ($[17] !== controlledValue || $[18] !== onValueChange || $[19] !== setValues || $[20] !== toPublicValue) {
18199
+ t13 = (details) => {
18200
+ setValues(details.value);
18201
+ if (controlledValue === void 0) onValueChange?.(toPublicValue(details.value));
18202
+ };
18203
+ $[17] = controlledValue;
18204
+ $[18] = onValueChange;
18205
+ $[19] = setValues;
18206
+ $[20] = toPublicValue;
18207
+ $[21] = t13;
18208
+ } else t13 = $[21];
18209
+ const handleValueChange = t13;
18210
+ let t14;
18211
+ if ($[22] !== formatValue || $[23] !== isRange || $[24] !== max || $[25] !== min || $[26] !== values[0] || $[27] !== values[1]) {
18212
+ t14 = isRange ? `${formatValue(values[0] ?? min)}-${formatValue(values[1] ?? max)}` : formatValue(values[0] ?? min);
18213
+ $[22] = formatValue;
18214
+ $[23] = isRange;
18215
+ $[24] = max;
18216
+ $[25] = min;
18217
+ $[26] = values[0];
18218
+ $[27] = values[1];
18219
+ $[28] = t14;
18220
+ } else t14 = $[28];
18221
+ const valueText = t14;
18222
+ const textColor = disabled ? "disabled" : "main";
18223
+ let t15;
18224
+ if ($[29] !== isRange || $[30] !== label || $[31] !== thumbLabels) {
18225
+ t15 = isRange ? thumbLabels : label ? [label] : thumbLabels;
18226
+ $[29] = isRange;
18227
+ $[30] = label;
18228
+ $[31] = thumbLabels;
18229
+ $[32] = t15;
18230
+ } else t15 = $[32];
18231
+ const thumbAriaLabels = t15;
18232
+ const t16 = size === "small";
18233
+ const t17 = size === "large";
18234
+ let t18;
18235
+ if ($[33] !== className || $[34] !== t16 || $[35] !== t17) {
18236
+ t18 = (0, classnames.default)(ds_slider_module_default.root, {
18237
+ [ds_slider_module_default.small]: t16,
18238
+ [ds_slider_module_default.large]: t17
18239
+ }, className);
18240
+ $[33] = className;
18241
+ $[34] = t16;
18242
+ $[35] = t17;
18243
+ $[36] = t18;
18244
+ } else t18 = $[36];
18245
+ const rootClass = t18;
18246
+ let t19;
18247
+ if ($[37] !== onValueChangeEnd || $[38] !== toPublicValue) {
18248
+ t19 = (details_0) => onValueChangeEnd?.(toPublicValue(details_0.value));
18249
+ $[37] = onValueChangeEnd;
18250
+ $[38] = toPublicValue;
18251
+ $[39] = t19;
18252
+ } else t19 = $[39];
18253
+ let t20;
18254
+ if ($[40] !== label || $[41] !== textColor) {
18255
+ t20 = label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
18256
+ variant: "body-sm-md",
18257
+ color: textColor,
18258
+ children: label
18259
+ });
18260
+ $[40] = label;
18261
+ $[41] = textColor;
18262
+ $[42] = t20;
18263
+ } else t20 = $[42];
18264
+ let t21;
18265
+ if ($[43] !== textColor || $[44] !== valueText) {
18266
+ t21 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
18267
+ variant: "body-sm-md",
18268
+ color: textColor,
18269
+ className: ds_slider_module_default.valueText,
18270
+ children: valueText
18271
+ });
18272
+ $[43] = textColor;
18273
+ $[44] = valueText;
18274
+ $[45] = t21;
18275
+ } else t21 = $[45];
18276
+ let t22;
18277
+ if ($[46] !== t20 || $[47] !== t21) {
18278
+ t22 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
18279
+ className: ds_slider_module_default.header,
18280
+ children: [t20, t21]
18281
+ });
18282
+ $[46] = t20;
18283
+ $[47] = t21;
18284
+ $[48] = t22;
18285
+ } else t22 = $[48];
18286
+ let t23;
18287
+ if ($[49] === Symbol.for("react.memo_cache_sentinel")) {
18288
+ t23 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_slider.Slider.Track, {
18289
+ className: ds_slider_module_default.track,
18290
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_slider.Slider.Range, { className: ds_slider_module_default.range })
18291
+ });
18292
+ $[49] = t23;
18293
+ } else t23 = $[49];
18294
+ let t24;
18295
+ if ($[50] !== values) {
18296
+ t24 = values.map(_temp$1);
18297
+ $[50] = values;
18298
+ $[51] = t24;
18299
+ } else t24 = $[51];
18300
+ let t25;
18301
+ if ($[52] !== t24) {
18302
+ t25 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_slider.Slider.Control, {
18303
+ className: ds_slider_module_default.control,
18304
+ children: [t23, t24]
18305
+ });
18306
+ $[52] = t24;
18307
+ $[53] = t25;
18308
+ } else t25 = $[53];
18309
+ let t26;
18310
+ 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) {
18311
+ t26 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_slider.Slider.Root, {
18312
+ ref,
18313
+ className: rootClass,
18314
+ style,
18315
+ value: values,
18316
+ min,
18317
+ max,
18318
+ step,
18319
+ name,
18320
+ disabled,
18321
+ "aria-label": thumbAriaLabels,
18322
+ onValueChange: handleValueChange,
18323
+ onValueChangeEnd: t19,
18324
+ children: [t22, t25]
18325
+ });
18326
+ $[54] = disabled;
18327
+ $[55] = handleValueChange;
18328
+ $[56] = max;
18329
+ $[57] = min;
18330
+ $[58] = name;
18331
+ $[59] = ref;
18332
+ $[60] = rootClass;
18333
+ $[61] = step;
18334
+ $[62] = style;
18335
+ $[63] = t19;
18336
+ $[64] = t22;
18337
+ $[65] = t25;
18338
+ $[66] = thumbAriaLabels;
18339
+ $[67] = values;
18340
+ $[68] = t26;
18341
+ } else t26 = $[68];
18342
+ return t26;
18343
+ };
18344
+ DsSlider$1.displayName = "DsSlider";
18345
+ function _temp$1(_, index) {
18346
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_slider.Slider.Thumb, {
18347
+ index,
18348
+ className: ds_slider_module_default.thumb,
18349
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_slider.Slider.HiddenInput, {})
18350
+ }, index);
18351
+ }
18352
+ //#endregion
18353
+ //#region src/components/ds-slider/index.ts
18354
+ const DsSlider = withResponsiveProps(DsSlider$1, [
18355
+ "size",
18356
+ "step",
18357
+ "thumbLabels"
18358
+ ]);
18359
+ DsSlider.displayName = "DsSlider";
18360
+ //#endregion
18050
18361
  //#region src/components/ds-smart-tabs/ds-smart-tabs.module.scss
18051
18362
  var ds_smart_tabs_module_default = {
18052
18363
  "active": "yjt8Lq_active",
@@ -18221,7 +18532,7 @@ const DsSmartTab = (t0) => {
18221
18532
  /**
18222
18533
  * Design system SmartTabs component
18223
18534
  */
18224
- const DsSmartTabs = (t0) => {
18535
+ const DsSmartTabsRoot = (t0) => {
18225
18536
  const $ = (0, react_compiler_runtime.c)(22);
18226
18537
  let activeTab;
18227
18538
  let children;
@@ -18297,8 +18608,10 @@ const DsSmartTabs = (t0) => {
18297
18608
  return t6;
18298
18609
  };
18299
18610
  DsSmartTab.displayName = "DsSmartTabs.Tab";
18300
- DsSmartTabs.Tab = DsSmartTab;
18301
- DsSmartTabs.displayName = "DsSmartTabs";
18611
+ const DsSmartTabs = Object.assign(DsSmartTabsRoot, {
18612
+ displayName: "DsSmartTabs",
18613
+ Tab: DsSmartTab
18614
+ });
18302
18615
  //#endregion
18303
18616
  //#region src/components/ds-smart-tabs/ds-smart-tabs.types.ts
18304
18617
  const colors = [
@@ -19947,7 +20260,10 @@ var ds_table_header_module_default = {
19947
20260
  "filterActive": "-2rCNG_filterActive",
19948
20261
  "filterTriggerContainer": "-2rCNG_filterTriggerContainer",
19949
20262
  "groupStart": "-2rCNG_groupStart",
20263
+ "header": "-2rCNG_header",
19950
20264
  "headerCell": "-2rCNG_headerCell",
20265
+ "headerLabel": "-2rCNG_headerLabel",
20266
+ "headerLabelStack": "-2rCNG_headerLabelStack",
19951
20267
  "headerRow": "-2rCNG_headerRow",
19952
20268
  "headerRowNoBorder": "-2rCNG_headerRowNoBorder",
19953
20269
  "headerRowVirtualized": "-2rCNG_headerRowVirtualized",
@@ -19956,7 +20272,6 @@ var ds_table_header_module_default = {
19956
20272
  "pageButtonIconContainer": "-2rCNG_pageButtonIconContainer",
19957
20273
  "selectHeaderCell": "-2rCNG_selectHeaderCell",
19958
20274
  "sortableHeader": "-2rCNG_sortableHeader",
19959
- "stickyHeader": "-2rCNG_stickyHeader",
19960
20275
  "virtualizedHeader": "-2rCNG_virtualizedHeader"
19961
20276
  };
19962
20277
  //#endregion
@@ -19974,16 +20289,15 @@ var ds_table_shared_module_default = {
19974
20289
  "rotate-90": "WQ6Axa_rotate-90"
19975
20290
  };
19976
20291
  //#endregion
19977
- //#region src/components/ds-table/context/ds-table-context.ts
19978
- const DsTableContext = (0, react.createContext)(null);
19979
- const useDsTableContext = () => {
19980
- const context = (0, react.useContext)(DsTableContext);
19981
- if (!context) throw new Error("useDsTableContext must be used within DsTable");
19982
- return context;
19983
- };
20292
+ //#region src/components/ds-table/hooks/use-editing-state.ts
20293
+ /** Shown when an async `onCellEdit` commit rejects with a non-`Error` reason. */
20294
+ const EDIT_FALLBACK_ERROR = "Save failed";
20295
+ const isThenable = (value) => typeof value === "object" && value !== null && typeof value.then === "function";
20296
+ /** Prefer a thrown `Error`'s message; fall back to a generic string otherwise. */
20297
+ const extractErrorMessage = (reason, fallback) => reason instanceof Error && reason.message ? reason.message : fallback;
19984
20298
  /**
19985
20299
  * Hoisted editing state for single-cell-at-a-time inline editing.
19986
- * Lives on {@link DsTableContext} so cell renderers and editors share one provider.
20300
+ * Surfaced on DsTableContext so cell renderers and editors share one provider.
19987
20301
  */
19988
20302
  const useEditingState = (onCellEdit, onCellValidate) => {
19989
20303
  const [editing, setEditing] = (0, react.useState)(null);
@@ -19993,6 +20307,12 @@ const useEditingState = (onCellEdit, onCellValidate) => {
19993
20307
  onCellValidateRef.current = onCellValidate;
19994
20308
  const editingRef = (0, react.useRef)(editing);
19995
20309
  editingRef.current = editing;
20310
+ const generationRef = (0, react.useRef)(0);
20311
+ const abortRef = (0, react.useRef)(null);
20312
+ const abortPending = (0, react.useCallback)(() => {
20313
+ abortRef.current?.abort();
20314
+ abortRef.current = null;
20315
+ }, []);
19996
20316
  return {
19997
20317
  editing,
19998
20318
  beginEdit: (0, react.useCallback)((cell) => {
@@ -20000,56 +20320,230 @@ const useEditingState = (onCellEdit, onCellValidate) => {
20000
20320
  if (current) {
20001
20321
  if (current.cell.row.id === cell.row.id && current.cell.column.id === cell.column.id) return;
20002
20322
  }
20323
+ abortPending();
20324
+ generationRef.current += 1;
20003
20325
  setEditing({
20004
20326
  cell,
20005
20327
  draftValue: cell.getValue(),
20006
- error: null
20328
+ error: null,
20329
+ pending: false
20007
20330
  });
20008
- }, []),
20331
+ }, [abortPending]),
20009
20332
  setDraft: (0, react.useCallback)((value) => {
20010
20333
  const current = editingRef.current;
20011
20334
  if (!current) return;
20335
+ const error = onCellValidateRef.current?.(current.cell.row.original, current.cell.column.id, value) ?? null;
20012
20336
  setEditing({
20013
20337
  ...current,
20014
20338
  draftValue: value,
20015
- error: null
20339
+ error
20016
20340
  });
20017
20341
  }, []),
20018
20342
  commit: (0, react.useCallback)((overrideValue) => {
20019
20343
  const current = editingRef.current;
20020
- if (!current) return;
20344
+ if (!current || current.pending) return;
20021
20345
  const valueToCommit = overrideValue !== void 0 ? overrideValue : current.draftValue;
20022
- const error = onCellValidateRef.current?.(current.cell.row.original, current.cell.column.id, valueToCommit) ?? null;
20023
- if (error !== null) {
20346
+ const validationError = onCellValidateRef.current?.(current.cell.row.original, current.cell.column.id, valueToCommit) ?? null;
20347
+ if (validationError !== null) {
20024
20348
  setEditing({
20025
20349
  ...current,
20026
20350
  draftValue: valueToCommit,
20027
- error
20351
+ error: validationError,
20352
+ pending: false
20028
20353
  });
20029
20354
  return;
20030
20355
  }
20031
- onCellEditRef.current?.(current.cell.row.original, current.cell.column.id, valueToCommit);
20032
- setEditing(null);
20033
- }, []),
20356
+ generationRef.current += 1;
20357
+ const token = generationRef.current;
20358
+ abortPending();
20359
+ const controller = new AbortController();
20360
+ abortRef.current = controller;
20361
+ const { signal } = controller;
20362
+ const isStale = () => generationRef.current !== token;
20363
+ const settle = () => {
20364
+ if (abortRef.current === controller) abortRef.current = null;
20365
+ };
20366
+ const showError = (error) => {
20367
+ settle();
20368
+ if (isStale()) return;
20369
+ const live = editingRef.current;
20370
+ setEditing(live ? {
20371
+ ...live,
20372
+ draftValue: valueToCommit,
20373
+ error,
20374
+ pending: false
20375
+ } : null);
20376
+ };
20377
+ const editResult = onCellEditRef.current?.(current.cell.row.original, current.cell.column.id, valueToCommit, signal);
20378
+ const applyEditResult = (error) => {
20379
+ if (error !== null) {
20380
+ showError(error);
20381
+ return;
20382
+ }
20383
+ settle();
20384
+ if (isStale()) return;
20385
+ setEditing(null);
20386
+ };
20387
+ if (!isThenable(editResult)) {
20388
+ applyEditResult(editResult ?? null);
20389
+ return;
20390
+ }
20391
+ setEditing({
20392
+ ...current,
20393
+ draftValue: valueToCommit,
20394
+ error: null,
20395
+ pending: true
20396
+ });
20397
+ editResult.then((value) => {
20398
+ applyEditResult(value ?? null);
20399
+ }, (reason) => {
20400
+ applyEditResult(extractErrorMessage(reason, EDIT_FALLBACK_ERROR));
20401
+ });
20402
+ }, [abortPending]),
20034
20403
  cancel: (0, react.useCallback)(() => {
20404
+ abortPending();
20405
+ generationRef.current += 1;
20035
20406
  setEditing(null);
20036
- }, [])
20407
+ }, [abortPending])
20037
20408
  };
20038
20409
  };
20039
20410
  //#endregion
20411
+ //#region src/components/ds-table/context/ds-table-context.tsx
20412
+ const DsTableContext = (0, react.createContext)(null);
20413
+ const useDsTableContext = () => {
20414
+ const context = (0, react.useContext)(DsTableContext);
20415
+ if (!context) throw new Error("useDsTableContext must be used within DsTable");
20416
+ return context;
20417
+ };
20418
+ /**
20419
+ * Assembles {@link DsTableContext} from public table props plus derived grouping
20420
+ * and resize slices. Owns inline-edit state. Picks context fields from
20421
+ * `tableProps` and ignores the rest (`columns`, `data`, etc.).
20422
+ */
20423
+ const DsTableContextProvider = ({ tableProps, derived, children }) => {
20424
+ const { stickyHeader, bordered, fullWidth, rowSize, expandable, selectable, reorderable, showSelectAllCheckbox, loading, onRowClick, onRowDoubleClick, primaryRowActions, secondaryRowActions, renderExpandedRow, virtualized, activeRowId, locale, onCellEdit, onCellValidate } = tableProps;
20425
+ const { collapsedColumnGroups, onToggleColumnGroup } = derived.grouping;
20426
+ const { resizableColumns, resizeSizingReady, resizeContainerRef, onResizeHover, onResizeDragStart, onResizeReset, onResizeKeyboardNudge } = derived.resize;
20427
+ const { editing, beginEdit, setDraft, commit, cancel } = useEditingState(onCellEdit, onCellValidate);
20428
+ const contextValue = (0, react.useMemo)(() => ({
20429
+ stickyHeader,
20430
+ bordered,
20431
+ fullWidth,
20432
+ rowSize,
20433
+ expandable,
20434
+ selectable,
20435
+ reorderable,
20436
+ showSelectAllCheckbox,
20437
+ loading,
20438
+ onRowClick: loading ? void 0 : onRowClick,
20439
+ onRowDoubleClick: loading ? void 0 : onRowDoubleClick,
20440
+ primaryRowActions,
20441
+ secondaryRowActions,
20442
+ renderExpandedRow,
20443
+ virtualized,
20444
+ activeRowId,
20445
+ collapsedColumnGroups,
20446
+ onToggleColumnGroup,
20447
+ locale,
20448
+ onCellEdit,
20449
+ resizableColumns,
20450
+ resizeSizingReady,
20451
+ resizeContainerRef,
20452
+ onResizeHover,
20453
+ onResizeDragStart,
20454
+ onResizeReset,
20455
+ onResizeKeyboardNudge,
20456
+ editing,
20457
+ beginEdit,
20458
+ setDraft,
20459
+ commit,
20460
+ cancel
20461
+ }), [
20462
+ stickyHeader,
20463
+ bordered,
20464
+ fullWidth,
20465
+ rowSize,
20466
+ expandable,
20467
+ selectable,
20468
+ reorderable,
20469
+ showSelectAllCheckbox,
20470
+ loading,
20471
+ onRowClick,
20472
+ onRowDoubleClick,
20473
+ primaryRowActions,
20474
+ secondaryRowActions,
20475
+ renderExpandedRow,
20476
+ virtualized,
20477
+ activeRowId,
20478
+ collapsedColumnGroups,
20479
+ onToggleColumnGroup,
20480
+ locale,
20481
+ onCellEdit,
20482
+ resizableColumns,
20483
+ resizeSizingReady,
20484
+ resizeContainerRef,
20485
+ onResizeHover,
20486
+ onResizeDragStart,
20487
+ onResizeReset,
20488
+ onResizeKeyboardNudge,
20489
+ editing,
20490
+ beginEdit,
20491
+ setDraft,
20492
+ commit,
20493
+ cancel
20494
+ ]);
20495
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableContext.Provider, {
20496
+ value: contextValue,
20497
+ children
20498
+ });
20499
+ };
20500
+ DsTableContextProvider.displayName = "DsTableContextProvider";
20501
+ /**
20502
+ * Column id used for the synthetic expander column injected when `expandable` is set.
20503
+ */
20504
+ const EXPANDER_COLUMN_ID = "expander";
20505
+ /**
20506
+ * Column id used for the synthetic selection column injected when `selectable` is set.
20507
+ */
20508
+ const SELECT_COLUMN_ID = "select";
20509
+ /**
20510
+ * Column id used for the synthetic reorder column injected when `reorderable` is set
20511
+ * (non-virtualized tables only).
20512
+ */
20513
+ const REORDER_COLUMN_ID = "reorder";
20514
+ /**
20515
+ * Injected utility leaf ids (`select`, `expander`, `reorder`). Present in internal
20516
+ * sizing for layout; omitted from the public `onColumnSizingChange` payload.
20517
+ */
20518
+ const BUILTIN_COLUMN_IDS = Object.freeze(/* @__PURE__ */ new Set([
20519
+ SELECT_COLUMN_ID,
20520
+ EXPANDER_COLUMN_ID,
20521
+ REORDER_COLUMN_ID
20522
+ ]));
20523
+ //#endregion
20040
20524
  //#region src/components/ds-table/utils/column-size.ts
20525
+ const DEFAULT_MAX_COLUMN_SIZE = Number.MAX_SAFE_INTEGER;
20041
20526
  /**
20042
- * Generates the appropriate style object for a table column/cell based on its size
20527
+ * Whether a column should use a fixed width rather than fill (`flex: 1`).
20043
20528
  *
20044
- * Custom-sized columns get a fixed `width` plus `minWidth` and `flexShrink: 0` so
20045
- * they enforce horizontal overflow on the table container. Default-sized columns
20046
- * grow to fill the row evenly via `flex: 1`.
20529
+ * True when the user has resized it (`columnSizing` entry), or when the raw
20530
+ * column def authored `size` (`meta.hasExplicitSize`). TanStack merges a
20531
+ * default size of 150 onto every column, so `columnDef.size` alone cannot
20532
+ * tell authored 150px from an unsized fill column.
20533
+ */
20534
+ const isExplicitColumnWidth = (column, columnSizing) => {
20535
+ if (columnSizing[column.id] !== void 0) return true;
20536
+ return column.columnDef.meta?.hasExplicitSize === true;
20537
+ };
20538
+ /**
20539
+ * Style for a table column/cell based on its size and whether that size is explicit.
20047
20540
  *
20048
- * @param columnSize - The size of the column
20049
- * @returns Style object for the column/cell
20541
+ * Explicit columns get a fixed `width` plus `minWidth` and `flexShrink: 0` so they
20542
+ * enforce horizontal overflow on the table container. Fill columns grow evenly via
20543
+ * `flex: 1`.
20050
20544
  */
20051
- const getColumnSizeStyle = (columnSize) => {
20052
- if (columnSize !== _tanstack_react_table.defaultColumnSizing.size) return {
20545
+ const getColumnSizeStyle = (columnSize, isExplicit) => {
20546
+ if (isExplicit) return {
20053
20547
  width: columnSize,
20054
20548
  minWidth: columnSize,
20055
20549
  flexShrink: 0
@@ -20059,35 +20553,116 @@ const getColumnSizeStyle = (columnSize) => {
20059
20553
  minWidth: 0
20060
20554
  };
20061
20555
  };
20556
+ const getHeaderSizeCssVar = (headerId) => `--header-${headerId}-size`;
20557
+ const getColumnSizeCssVar = (columnId) => `--col-${columnId}-size`;
20062
20558
  /**
20063
- * Column id used for the synthetic expander column injected when `expandable` is set.
20559
+ * Pixel width via a CSS variable on an ancestor, so frozen (memoized) cells still
20560
+ * track live resize without React reconciling each row.
20064
20561
  */
20065
- const EXPANDER_COLUMN_ID = "expander";
20562
+ const getResizableHeaderStyle = (headerId) => ({
20563
+ width: `calc(var(${getHeaderSizeCssVar(headerId)}) * 1px)`,
20564
+ minWidth: `calc(var(${getHeaderSizeCssVar(headerId)}) * 1px)`,
20565
+ flexShrink: 0
20566
+ });
20567
+ const getResizableColumnStyle = (columnId) => ({
20568
+ width: `calc(var(${getColumnSizeCssVar(columnId)}) * 1px)`,
20569
+ minWidth: `calc(var(${getColumnSizeCssVar(columnId)}) * 1px)`,
20570
+ flexShrink: 0
20571
+ });
20572
+ const getHeaderCellSizeStyle = (headerId, columnSize, isExplicit, resizeSizingReady) => {
20573
+ if (resizeSizingReady) return getResizableHeaderStyle(headerId);
20574
+ return getColumnSizeStyle(columnSize, isExplicit);
20575
+ };
20576
+ const getBodyCellSizeStyle = (columnId, columnSize, isExplicit, resizeSizingReady) => {
20577
+ if (resizeSizingReady) return getResizableColumnStyle(columnId);
20578
+ return getColumnSizeStyle(columnSize, isExplicit);
20579
+ };
20066
20580
  /**
20067
- * Column id used for the synthetic selection column injected when `selectable` is set.
20581
+ * TanStack v8 performant-resize map: header ids for header cells, column ids for
20582
+ * body cells. Values are unitless px; consumers use `calc(var(...) * 1px)`.
20068
20583
  */
20069
- const SELECT_COLUMN_ID = "select";
20584
+ const getColumnSizeCssVars = (headers) => {
20585
+ const colSizes = {};
20586
+ for (const header of headers) {
20587
+ colSizes[getHeaderSizeCssVar(header.id)] = header.getSize();
20588
+ colSizes[getColumnSizeCssVar(header.column.id)] = header.column.getSize();
20589
+ }
20590
+ return colSizes;
20591
+ };
20070
20592
  /**
20071
- * Column id used for the synthetic reorder column injected when `reorderable` is set
20072
- * (non-virtualized tables only).
20593
+ * TanStack `getSize()` formula: `min(max(minSize, width), maxSize)`. Defaults
20594
+ * match DsTable (`RESIZE_MIN_COLUMN_WIDTH`, unlimited max).
20073
20595
  */
20074
- const REORDER_COLUMN_ID = "reorder";
20596
+ const clampColumnSize = (width, minSize = 52, maxSize = DEFAULT_MAX_COLUMN_SIZE) => Math.min(Math.max(minSize, width), maxSize);
20597
+ /**
20598
+ * Clamps every finite entry in `sizing` to that leaf's `minSize` / `maxSize`.
20599
+ * Non-finite widths are omitted so they do not poison state. Ids missing from
20600
+ * `columns` use the table defaults.
20601
+ */
20602
+ const clampColumnSizing = (sizing, columns) => {
20603
+ const boundsById = new Map(columns.map((column) => [column.id, column.columnDef]));
20604
+ const next = {};
20605
+ for (const [id, width] of Object.entries(sizing)) {
20606
+ if (!Number.isFinite(width)) continue;
20607
+ const bounds = boundsById.get(id);
20608
+ next[id] = clampColumnSize(width, bounds?.minSize ?? 52, bounds?.maxSize ?? DEFAULT_MAX_COLUMN_SIZE);
20609
+ }
20610
+ return next;
20611
+ };
20612
+ /**
20613
+ * Width to restore on double-click: explicit `columnDef.size`, otherwise the
20614
+ * snapshotted measured width.
20615
+ */
20616
+ const getResizeOriginSize = (column, measuredWidth) => {
20617
+ if (isExplicitColumnWidth(column, {})) return column.columnDef.size;
20618
+ return measuredWidth;
20619
+ };
20620
+ /**
20621
+ * Measured leaf header widths keyed by column id. Group header cells share
20622
+ * `data-column-id` with a different id, so only `leafColumnIds` are read.
20623
+ */
20624
+ const measureLeafHeaderWidths = (tableEl, leafColumnIds) => {
20625
+ const widths = {};
20626
+ for (const id of leafColumnIds) {
20627
+ const cell = tableEl.querySelector(`thead th[data-column-id="${CSS.escape(id)}"]`);
20628
+ if (cell instanceof HTMLElement) widths[id] = cell.getBoundingClientRect().width;
20629
+ }
20630
+ return widths;
20631
+ };
20632
+ /**
20633
+ * Sizing entries for leaves that are not yet in `existing`. Does not overwrite
20634
+ * user-resized (or previously snapshotted) ids.
20635
+ */
20636
+ const collectMissingLeafSizing = (measured, existing) => {
20637
+ const next = {};
20638
+ for (const [id, width] of Object.entries(measured)) if (existing[id] === void 0) next[id] = Math.round(width);
20639
+ return next;
20640
+ };
20641
+ /**
20642
+ * Copy of `columnSizing` without injected utility leaves. Use at the public
20643
+ * `onColumnSizingChange` boundary so consumers persist only their own columns.
20644
+ */
20645
+ const omitBuiltinColumnSizing = (columnSizing) => {
20646
+ const next = {};
20647
+ for (const [id, size] of Object.entries(columnSizing)) if (!BUILTIN_COLUMN_IDS.has(id)) next[id] = size;
20648
+ return next;
20649
+ };
20075
20650
  //#endregion
20076
20651
  //#region src/components/ds-table/grouping/utils/column-group.ts
20077
20652
  /**
20078
20653
  * Builds the flex style for a group header cell so it lines up with the combined
20079
20654
  * width of its visible leaf columns.
20080
20655
  *
20081
- * Fixed-width leaves contribute to `flexBasis`; default-sized leaves each add one
20082
- * unit of `flexGrow`, mirroring how {@link getColumnSizeStyle} sizes leaf cells so
20083
- * both header rows distribute free space identically.
20656
+ * Fixed-width leaves contribute to `flexBasis`; fill leaves each add one unit of
20657
+ * `flexGrow`, mirroring how {@link getColumnSizeStyle} sizes leaf cells so both
20658
+ * header rows distribute free space identically.
20084
20659
  */
20085
- const getGroupColumnSizeStyle = (leafColumns) => {
20660
+ const getGroupColumnSizeStyle = (leafColumns, columnSizing) => {
20086
20661
  let fixedWidth = 0;
20087
20662
  let flexCount = 0;
20088
20663
  for (const leaf of leafColumns) {
20089
20664
  const size = leaf.getSize();
20090
- if (size !== _tanstack_react_table.defaultColumnSizing.size) fixedWidth += size;
20665
+ if (isExplicitColumnWidth(leaf, columnSizing)) fixedWidth += size;
20091
20666
  else flexCount += 1;
20092
20667
  }
20093
20668
  if (flexCount === 0) return {
@@ -20175,85 +20750,239 @@ const useColumnGroups = ({ columns, collapsedColumnGroups, onCollapsedColumnGrou
20175
20750
  */
20176
20751
  const defaultDsTableLocale = Object.freeze({
20177
20752
  collapseColumnGroup: "Collapse column group",
20178
- expandColumnGroup: "Expand column group"
20753
+ expandColumnGroup: "Expand column group",
20754
+ resizeColumn: "Resize column"
20179
20755
  });
20180
20756
  //#endregion
20181
- //#region src/components/ds-table/components/ds-table-group-header-cell/ds-table-group-header-cell.module.scss
20182
- var ds_table_group_header_cell_module_default = {
20183
- "collapseToggle": "HuJ4KG_collapseToggle",
20184
- "groupHeaderCell": "HuJ4KG_groupHeaderCell",
20185
- "groupHeaderContent": "HuJ4KG_groupHeaderContent",
20186
- "groupLabel": "HuJ4KG_groupLabel"
20187
- };
20757
+ //#region src/components/ds-table/components/ds-table-resize-handle/ds-table-resize-handle.module.scss
20758
+ var ds_table_resize_handle_module_default = { "resizeHandle": "vDdhQW_resizeHandle" };
20188
20759
  //#endregion
20189
- //#region src/components/ds-table/components/ds-table-group-header-cell/ds-table-group-header-cell.tsx
20190
- const DsTableGroupHeaderCell = ({ header }) => {
20191
- const { collapsedColumnGroups, onToggleColumnGroup, locale } = useDsTableContext();
20192
- const groupId = header.column.id;
20193
- const groupStyle = getGroupColumnSizeStyle(header.column.getLeafColumns().filter((leaf) => leaf.getIsVisible()));
20194
- const isCollapsible = header.column.columnDef.meta?.group?.collapsible ?? false;
20195
- const isCollapsed = collapsedColumnGroups?.includes(groupId) ?? false;
20196
- const mergedLocale = {
20760
+ //#region src/components/ds-table/components/ds-table-resize-handle/ds-table-resize-handle.tsx
20761
+ const clientPointFromEvent = (event) => {
20762
+ if (event instanceof MouseEvent) return {
20763
+ x: event.clientX,
20764
+ y: event.clientY
20765
+ };
20766
+ if (typeof TouchEvent !== "undefined" && event instanceof TouchEvent) {
20767
+ const touch = event.changedTouches[0];
20768
+ return touch ? {
20769
+ x: touch.clientX,
20770
+ y: touch.clientY
20771
+ } : null;
20772
+ }
20773
+ return null;
20774
+ };
20775
+ /**
20776
+ * Handle straddling the right edge of a resizable header cell.
20777
+ *
20778
+ * Drag is TanStack v8 `header.getResizeHandler()`. Hover drives the full-height
20779
+ * overlay; double-click restores snapshot origin widths for this header's
20780
+ * leaves. As a focusable `separator`, Arrow keys nudge the width (Shift for a
20781
+ * larger step) for keyboard operability (WCAG 2.1.1).
20782
+ */
20783
+ const DsTableResizeHandle = ({ header }) => {
20784
+ const { resizeContainerRef, onResizeHover, onResizeDragStart, onResizeReset, onResizeKeyboardNudge, locale } = useDsTableContext();
20785
+ const handleRef = (0, react.useRef)(null);
20786
+ const isPointerOverRef = (0, react.useRef)(false);
20787
+ const detachDragEndRef = (0, react.useRef)(null);
20788
+ (0, react.useEffect)(() => () => {
20789
+ detachDragEndRef.current?.();
20790
+ }, []);
20791
+ const label = {
20197
20792
  ...defaultDsTableLocale,
20198
20793
  ...locale
20794
+ }.resizeColumn;
20795
+ const measureCellRightOffset = () => {
20796
+ const containerEl = resizeContainerRef?.current;
20797
+ const cellEl = handleRef.current?.closest("th");
20798
+ if (!containerEl || !cellEl) return null;
20799
+ return cellEl.getBoundingClientRect().right - containerEl.getBoundingClientRect().left + containerEl.scrollLeft;
20199
20800
  };
20200
- const toggleLabel = isCollapsed ? mergedLocale.expandColumnGroup : mergedLocale.collapseColumnGroup;
20201
- const handleToggle = () => onToggleColumnGroup?.(groupId);
20202
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableHead, {
20203
- className: ds_table_group_header_cell_module_default.groupHeaderCell,
20204
- style: groupStyle,
20205
- colSpan: header.colSpan,
20206
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
20207
- className: ds_table_group_header_cell_module_default.groupHeaderContent,
20208
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
20209
- className: ds_table_group_header_cell_module_default.groupLabel,
20210
- children: (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext())
20211
- }), isCollapsible && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsButtonV3, {
20212
- variant: "secondary",
20213
- size: "tiny",
20214
- icon: isCollapsed ? "chevron_right" : "chevron_left",
20215
- className: ds_table_group_header_cell_module_default.collapseToggle,
20216
- "aria-label": toggleLabel,
20217
- "aria-expanded": !isCollapsed,
20801
+ const reportHover = () => {
20802
+ const offset = measureCellRightOffset();
20803
+ if (offset === null) return;
20804
+ onResizeHover?.(header.column.id, offset);
20805
+ };
20806
+ const clearHover = () => {
20807
+ isPointerOverRef.current = false;
20808
+ onResizeHover?.(null, null);
20809
+ };
20810
+ const syncHoverAtPoint = (clientX, clientY) => {
20811
+ const handleEl = handleRef.current;
20812
+ const hit = (handleEl?.ownerDocument ?? document).elementFromPoint(clientX, clientY);
20813
+ if (handleEl && hit && (hit === handleEl || handleEl.contains(hit))) {
20814
+ isPointerOverRef.current = true;
20815
+ reportHover();
20816
+ return;
20817
+ }
20818
+ clearHover();
20819
+ };
20820
+ const attachDragEndListeners = () => {
20821
+ detachDragEndRef.current?.();
20822
+ const doc = handleRef.current?.ownerDocument ?? document;
20823
+ const onDragEnd = (event) => {
20824
+ detachDragEndRef.current?.();
20825
+ detachDragEndRef.current = null;
20826
+ const point = clientPointFromEvent(event);
20827
+ clearHover();
20828
+ (handleRef.current?.ownerDocument.defaultView ?? window).requestAnimationFrame(() => {
20829
+ if (!point) return;
20830
+ syncHoverAtPoint(point.x, point.y);
20831
+ });
20832
+ };
20833
+ doc.addEventListener("mouseup", onDragEnd);
20834
+ doc.addEventListener("touchend", onDragEnd);
20835
+ detachDragEndRef.current = () => {
20836
+ doc.removeEventListener("mouseup", onDragEnd);
20837
+ doc.removeEventListener("touchend", onDragEnd);
20838
+ };
20839
+ };
20840
+ const handlePointerEnter = () => {
20841
+ isPointerOverRef.current = true;
20842
+ reportHover();
20843
+ };
20844
+ const handlePointerLeave = () => {
20845
+ clearHover();
20846
+ };
20847
+ const startDrag = () => {
20848
+ const offset = measureCellRightOffset();
20849
+ if (offset !== null) onResizeDragStart?.(offset);
20850
+ };
20851
+ const handlePointerDown = (event) => {
20852
+ if (event.pointerType === "touch") return;
20853
+ event.stopPropagation();
20854
+ startDrag();
20855
+ header.getResizeHandler(handleRef.current?.ownerDocument ?? document)(event);
20856
+ attachDragEndListeners();
20857
+ };
20858
+ const handleTouchStart = (event) => {
20859
+ event.stopPropagation();
20860
+ startDrag();
20861
+ header.getResizeHandler(handleRef.current?.ownerDocument ?? document)(event);
20862
+ attachDragEndListeners();
20863
+ };
20864
+ const handleReset = (event) => {
20865
+ event.preventDefault();
20866
+ event.stopPropagation();
20867
+ const leafIds = header.column.getLeafColumns().map((column) => column.id);
20868
+ onResizeReset?.(leafIds);
20869
+ if (isPointerOverRef.current) reportHover();
20870
+ else clearHover();
20871
+ };
20872
+ const handleKeyDown = (event) => {
20873
+ if (event.key !== "ArrowLeft" && event.key !== "ArrowRight") return;
20874
+ event.preventDefault();
20875
+ event.stopPropagation();
20876
+ const step = event.shiftKey ? 40 : 10;
20877
+ const delta = event.key === "ArrowRight" ? step : -step;
20878
+ onResizeKeyboardNudge?.(header.column.id, delta);
20879
+ };
20880
+ const isLeaf = header.subHeaders.length === 0;
20881
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
20882
+ ref: handleRef,
20883
+ role: "separator",
20884
+ "aria-orientation": "vertical",
20885
+ "aria-label": label,
20886
+ tabIndex: 0,
20887
+ "aria-valuenow": Math.round(header.getSize()),
20888
+ "aria-valuemin": isLeaf ? header.column.columnDef.minSize ?? 52 : void 0,
20889
+ className: ds_table_resize_handle_module_default.resizeHandle,
20890
+ onPointerDown: handlePointerDown,
20891
+ onPointerEnter: handlePointerEnter,
20892
+ onPointerLeave: handlePointerLeave,
20893
+ onTouchStart: handleTouchStart,
20894
+ onClick: (event) => event.stopPropagation(),
20895
+ onDoubleClick: handleReset,
20896
+ onKeyDown: handleKeyDown
20897
+ });
20898
+ };
20899
+ //#endregion
20900
+ //#region src/components/ds-table/components/ds-table-group-header-cell/ds-table-group-header-cell.module.scss
20901
+ var ds_table_group_header_cell_module_default = {
20902
+ "collapseToggle": "HuJ4KG_collapseToggle",
20903
+ "groupHeaderCell": "HuJ4KG_groupHeaderCell",
20904
+ "groupHeaderContent": "HuJ4KG_groupHeaderContent",
20905
+ "groupLabel": "HuJ4KG_groupLabel"
20906
+ };
20907
+ //#endregion
20908
+ //#region src/components/ds-table/components/ds-table-group-header-cell/ds-table-group-header-cell.tsx
20909
+ const DsTableGroupHeaderCell = ({ header }) => {
20910
+ const { collapsedColumnGroups, onToggleColumnGroup, locale, resizableColumns, resizeSizingReady } = useDsTableContext();
20911
+ const groupId = header.column.id;
20912
+ const visibleLeafColumns = header.column.getLeafColumns().filter((leaf) => leaf.getIsVisible());
20913
+ const groupStyle = resizeSizingReady ? getResizableHeaderStyle(header.id) : getGroupColumnSizeStyle(visibleLeafColumns, {});
20914
+ const isCollapsible = header.column.columnDef.meta?.group?.collapsible ?? false;
20915
+ const isCollapsed = collapsedColumnGroups?.includes(groupId) ?? false;
20916
+ const canResize = resizableColumns && !isCollapsed && header.column.getCanResize();
20917
+ const mergedLocale = {
20918
+ ...defaultDsTableLocale,
20919
+ ...locale
20920
+ };
20921
+ const toggleLabel = isCollapsed ? mergedLocale.expandColumnGroup : mergedLocale.collapseColumnGroup;
20922
+ const handleToggle = () => onToggleColumnGroup?.(groupId);
20923
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(TableHead, {
20924
+ "data-column-id": groupId,
20925
+ className: ds_table_group_header_cell_module_default.groupHeaderCell,
20926
+ style: groupStyle,
20927
+ colSpan: header.colSpan,
20928
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
20929
+ className: ds_table_group_header_cell_module_default.groupHeaderContent,
20930
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
20931
+ className: ds_table_group_header_cell_module_default.groupLabel,
20932
+ children: (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext())
20933
+ }), isCollapsible && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsButtonV3, {
20934
+ variant: "secondary",
20935
+ size: "tiny",
20936
+ icon: isCollapsed ? "chevron_right" : "chevron_left",
20937
+ className: ds_table_group_header_cell_module_default.collapseToggle,
20938
+ "aria-label": toggleLabel,
20939
+ "aria-expanded": !isCollapsed,
20218
20940
  title: toggleLabel,
20219
20941
  onClick: handleToggle
20220
20942
  })]
20221
- })
20943
+ }), canResize && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableResizeHandle, { header })]
20222
20944
  });
20223
20945
  };
20224
20946
  //#endregion
20225
20947
  //#region src/components/ds-table/components/ds-table-header/ds-table-header.tsx
20226
20948
  const DsTableHeader = ({ table }) => {
20227
- const { stickyHeader, bordered, virtualized } = useDsTableContext();
20949
+ const { bordered, virtualized, resizableColumns, resizeSizingReady } = useDsTableContext();
20228
20950
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableHeader, {
20229
- className: (0, classnames.default)(stickyHeader && ds_table_header_module_default.stickyHeader, virtualized && ds_table_header_module_default.virtualizedHeader),
20951
+ className: (0, classnames.default)(ds_table_header_module_default.header, virtualized && ds_table_header_module_default.virtualizedHeader),
20230
20952
  children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableRow, {
20231
20953
  className: (0, classnames.default)(ds_table_header_module_default.headerRow, !bordered && ds_table_header_module_default.headerRowNoBorder, virtualized && ds_table_header_module_default.headerRowVirtualized),
20232
20954
  children: headerGroup.headers.map((header) => {
20955
+ const columnSizing = table.getState().columnSizing;
20233
20956
  if (header.isPlaceholder) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableHead, {
20234
20957
  className: ds_table_header_module_default.headerCell,
20235
- style: getColumnSizeStyle(header.getSize())
20958
+ style: getHeaderCellSizeStyle(header.id, header.getSize(), isExplicitColumnWidth(header.column, resizeSizingReady ? columnSizing : {}), !!resizeSizingReady)
20236
20959
  }, header.id);
20237
20960
  if (header.subHeaders.length > 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableGroupHeaderCell, { header }, header.id);
20238
- const headerStyle = getColumnSizeStyle(header.column.getSize());
20961
+ const headerStyle = getHeaderCellSizeStyle(header.id, header.column.getSize(), isExplicitColumnWidth(header.column, resizeSizingReady ? columnSizing : {}), !!resizeSizingReady);
20239
20962
  const canSort = header.column.getCanSort();
20963
+ const canResize = resizableColumns && header.column.getCanResize();
20240
20964
  const isSelectColumn = header.column.id === SELECT_COLUMN_ID;
20241
20965
  const isGroupStart = isFirstLeafColumnOfGroup(header.column);
20242
20966
  const metaFilter = header.column.columnDef.meta?.filter;
20243
20967
  const resolvedFilter = metaFilter && "render" in metaFilter ? metaFilter : void 0;
20244
20968
  const hasActiveColumnFilter = resolvedFilter?.hasActiveFilter ?? false;
20245
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableHead, {
20969
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(TableHead, {
20970
+ "data-column-id": header.column.id,
20246
20971
  className: (0, classnames.default)(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),
20247
20972
  onClick: header.column.getToggleSortingHandler(),
20248
20973
  style: headerStyle,
20249
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
20974
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
20250
20975
  className: ds_table_header_module_default.headerSortContainer,
20251
20976
  children: [
20252
20977
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsStack, {
20253
20978
  direction: "column",
20254
20979
  justifyContent: "center",
20255
20980
  width: "100%",
20256
- children: (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext())
20981
+ className: ds_table_header_module_default.headerLabelStack,
20982
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
20983
+ className: ds_table_header_module_default.headerLabel,
20984
+ children: (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext())
20985
+ })
20257
20986
  }),
20258
20987
  canSort && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
20259
20988
  className: ds_table_header_module_default.pageButtonIconContainer,
@@ -20279,17 +21008,34 @@ const DsTableHeader = ({ table }) => {
20279
21008
  })
20280
21009
  })
20281
21010
  ]
20282
- })
21011
+ }), canResize && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableResizeHandle, { header })]
20283
21012
  }, header.id);
20284
21013
  })
20285
21014
  }, headerGroup.id))
20286
21015
  });
20287
21016
  };
20288
21017
  //#endregion
21018
+ //#region src/components/ds-table/components/ds-table-resize-overlay/ds-table-resize-overlay.module.scss
21019
+ var ds_table_resize_overlay_module_default = { "resizeOverlay": "DO-LLa_resizeOverlay" };
21020
+ //#endregion
21021
+ //#region src/components/ds-table/components/ds-table-resize-overlay/ds-table-resize-overlay.tsx
21022
+ /**
21023
+ * Full-height divider that tracks the active column's right edge during hover
21024
+ * and drag resize.
21025
+ */
21026
+ const DsTableResizeOverlay = ({ offset, phase }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
21027
+ className: ds_table_resize_overlay_module_default.resizeOverlay,
21028
+ style: { left: offset },
21029
+ "data-resize-overlay": true,
21030
+ "data-resize-phase": phase,
21031
+ "aria-hidden": true
21032
+ });
21033
+ //#endregion
20289
21034
  //#region src/components/ds-table/ds-table.module.scss
20290
21035
  var ds_table_module_default = {
20291
21036
  "bulkActionsVisible": "iL9mtW_bulkActionsVisible",
20292
21037
  "container": "iL9mtW_container",
21038
+ "controls": "iL9mtW_controls",
20293
21039
  "dataTableContainer": "iL9mtW_dataTableContainer",
20294
21040
  "emptyState": "iL9mtW_emptyState",
20295
21041
  "fullWidth": "iL9mtW_fullWidth",
@@ -20299,6 +21045,28 @@ var ds_table_module_default = {
20299
21045
  "virtualizedContainer": "iL9mtW_virtualizedContainer"
20300
21046
  };
20301
21047
  //#endregion
21048
+ //#region src/components/ds-table/ds-table-defaults.ts
21049
+ /**
21050
+ * Applies the documented `DsTable` prop defaults. Call once at the table
21051
+ * boundary so orchestration and context see the same resolved values.
21052
+ */
21053
+ const applyDsTableDefaults = (props) => ({
21054
+ ...props,
21055
+ virtualized: props.virtualized ?? false,
21056
+ stickyHeader: props.stickyHeader ?? true,
21057
+ bordered: props.bordered ?? true,
21058
+ fullWidth: props.fullWidth ?? true,
21059
+ rowSize: props.rowSize ?? "medium",
21060
+ loading: props.loading ?? false,
21061
+ expandable: props.expandable ?? false,
21062
+ selectable: props.selectable ?? false,
21063
+ showSelectAllCheckbox: props.showSelectAllCheckbox ?? true,
21064
+ primaryRowActions: props.primaryRowActions ?? [],
21065
+ actions: props.actions ?? [],
21066
+ reorderable: props.reorderable ?? false,
21067
+ resizableColumns: props.resizableColumns ?? false
21068
+ });
21069
+ //#endregion
20302
21070
  //#region src/components/ds-table/components/edit/ds-table-editable-cell/ds-table-editable-cell.module.scss
20303
21071
  var ds_table_editable_cell_module_default = {
20304
21072
  "editButton": "g5FEoW_editButton",
@@ -20364,12 +21132,16 @@ var ds_table_editing_cell_module_default = {
20364
21132
  //#endregion
20365
21133
  //#region src/components/ds-table/components/edit/ds-table-editing-cell/ds-table-editing-cell.tsx
20366
21134
  const DsTableEditingCell = ({ cell }) => {
20367
- const { commit, cancel } = useDsTableContext();
21135
+ const { commit, cancel, editing } = useDsTableContext();
20368
21136
  const columnDef = cell.column.columnDef;
20369
21137
  const editAnchorRef = (0, react.useRef)(null);
21138
+ const isActiveCell = editing?.cell.id === cell.id;
21139
+ const isPending = isActiveCell && editing.pending;
21140
+ const hasError = isActiveCell && editing.error !== null;
20370
21141
  const handleSubmit = (event) => {
20371
21142
  event.preventDefault();
20372
21143
  event.stopPropagation();
21144
+ if (isPending || hasError) return;
20373
21145
  commit();
20374
21146
  };
20375
21147
  (0, react.useEffect)(() => {
@@ -20421,6 +21193,8 @@ const DsTableEditingCell = ({ cell }) => {
20421
21193
  variant: "tertiary",
20422
21194
  size: "small",
20423
21195
  icon: "check",
21196
+ loading: isPending,
21197
+ disabled: hasError,
20424
21198
  "aria-label": "Confirm edit",
20425
21199
  onClick: (event) => {
20426
21200
  event.stopPropagation();
@@ -20566,7 +21340,7 @@ const DsRowDragHandle = ({ isDragging, attributes, listeners, style }) => {
20566
21340
  });
20567
21341
  };
20568
21342
  const DsTableRow = ({ ref, row, isSelected }) => {
20569
- const { reorderable, onRowClick, onRowDoubleClick, renderExpandedRow, bordered, rowSize, primaryRowActions, secondaryRowActions, activeRowId, loading } = useDsTableContext();
21343
+ const { reorderable, onRowClick, onRowDoubleClick, renderExpandedRow, bordered, rowSize, primaryRowActions, secondaryRowActions, activeRowId, loading, resizeSizingReady } = useDsTableContext();
20570
21344
  const isExpanded = row.getIsExpanded();
20571
21345
  const isActive = activeRowId === row.id;
20572
21346
  const { attributes, listeners, setNodeRef, transform, transition, isDragging } = (0, _dnd_kit_sortable.useSortable)({
@@ -20595,7 +21369,8 @@ const DsTableRow = ({ ref, row, isSelected }) => {
20595
21369
  onClick: () => onRowClick?.(row.original),
20596
21370
  onDoubleClick: () => onRowDoubleClick?.(row.original),
20597
21371
  children: row.getVisibleCells().map((cell, idx) => {
20598
- const cellStyle = getColumnSizeStyle(cell.column.getSize());
21372
+ const columnSizing = cell.getContext().table.getState().columnSizing;
21373
+ const cellStyle = getBodyCellSizeStyle(cell.column.id, cell.column.getSize(), isExplicitColumnWidth(cell.column, resizeSizingReady ? columnSizing : {}), !!resizeSizingReady);
20599
21374
  if (cell.column.id === "reorder") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsRowDragHandle, {
20600
21375
  isDragging,
20601
21376
  attributes,
@@ -20627,56 +21402,6 @@ const DsTableRow = ({ ref, row, isSelected }) => {
20627
21402
  })] });
20628
21403
  };
20629
21404
  //#endregion
20630
- //#region src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.module.scss
20631
- var ds_table_row_expandable_cell_module_default = { "button": "enUIjW_button" };
20632
- //#endregion
20633
- //#region src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.tsx
20634
- const DsTableRowExpandableCell = ({ row, buttonClassName }) => {
20635
- const isExpanded = row.getIsExpanded();
20636
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsButton, {
20637
- design: "v1.2",
20638
- buttonType: "tertiary",
20639
- size: "small",
20640
- className: (0, classnames.default)(ds_table_row_expandable_cell_module_default.button, buttonClassName),
20641
- onClick: (e) => {
20642
- e.stopPropagation();
20643
- row.toggleExpanded();
20644
- },
20645
- onDoubleClick: (e) => {
20646
- e.stopPropagation();
20647
- },
20648
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
20649
- icon: "chevron_right",
20650
- size: "small",
20651
- className: (0, classnames.default)(ds_table_shared_module_default.pageButtonIcon, isExpanded && "rotate-90")
20652
- })
20653
- });
20654
- };
20655
- //#endregion
20656
- //#region src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.tsx
20657
- const DsTableRowSelectableCell = ({ row }) => {
20658
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsCheckbox, {
20659
- className: ds_table_shared_module_default.checkboxContainer,
20660
- checked: row.getIsSelected(),
20661
- disabled: !row.getCanSelect(),
20662
- onCheckedChange: (checked) => row.toggleSelected(!!checked),
20663
- onClick: (e) => e.stopPropagation(),
20664
- onDoubleClick: (e) => e.stopPropagation()
20665
- });
20666
- };
20667
- //#endregion
20668
- //#region src/components/ds-table/components/ds-table-header-selectable-cell/ds-table-header-selectable-cell.tsx
20669
- const DsTableHeaderSelectableCell = ({ table }) => {
20670
- const checked = table.getIsAllRowsSelected() ? true : table.getIsSomeRowsSelected() ? "indeterminate" : false;
20671
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsCheckbox, {
20672
- className: ds_table_shared_module_default.checkboxContainer,
20673
- checked,
20674
- onCheckedChange: (nextChecked) => table.toggleAllRowsSelected(!!nextChecked),
20675
- onClick: (e) => e.stopPropagation(),
20676
- onDoubleClick: (e) => e.stopPropagation()
20677
- });
20678
- };
20679
- //#endregion
20680
21405
  //#region src/components/ds-table/hooks/use-drag-and-drop.tsx
20681
21406
  const DragWrapper = ({ children, onDragEnd, sensors }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_dnd_kit_core.DndContext, {
20682
21407
  collisionDetection: _dnd_kit_core.closestCenter,
@@ -20721,6 +21446,201 @@ function useDragAndDrop({ isDragEnabled, onOrderChange, items }) {
20721
21446
  };
20722
21447
  }
20723
21448
  //#endregion
21449
+ //#region src/components/ds-table/hooks/use-column-resize.ts
21450
+ const INITIAL_COLUMN_SIZING_INFO = {
21451
+ startOffset: null,
21452
+ startSize: null,
21453
+ deltaOffset: null,
21454
+ deltaPercentage: null,
21455
+ isResizingColumn: false,
21456
+ columnSizingStart: []
21457
+ };
21458
+ /**
21459
+ * Owns column-resize state, TanStack sizing handlers, origin snapshots, seed
21460
+ * measurement, hover/drag overlay model, and the context slice consumed by
21461
+ * resize handles.
21462
+ *
21463
+ * Call before `useReactTable`, spread `tableOptions` / `state` into it, then
21464
+ * `bind(table)` during render for CSS vars, overlay, and context.
21465
+ */
21466
+ const useColumnResize = ({ enabled, columnSizing: columnSizingProp, onColumnSizingChange, columns, columnVisibility }) => {
21467
+ const [columnResizeState, setColumnResizeState] = (0, react.useState)({
21468
+ columnSizing: {},
21469
+ columnSizingInfo: INITIAL_COLUMN_SIZING_INFO
21470
+ });
21471
+ const { columnSizing: internalColumnSizing, columnSizingInfo } = columnResizeState;
21472
+ const columnSizing = (0, react.useMemo)(() => columnSizingProp ? {
21473
+ ...columnSizingProp,
21474
+ ...internalColumnSizing
21475
+ } : internalColumnSizing, [columnSizingProp, internalColumnSizing]);
21476
+ const [resizeHover, setResizeHover] = (0, react.useState)(null);
21477
+ const dragStartOffsetRef = (0, react.useRef)(null);
21478
+ const resizeOriginSizingRef = (0, react.useRef)({});
21479
+ const containerRef = (0, react.useRef)(null);
21480
+ const tableRef = (0, react.useRef)(null);
21481
+ const columnSizingRef = (0, react.useRef)(columnSizing);
21482
+ columnSizingRef.current = columnSizing;
21483
+ const columnSizingInfoRef = (0, react.useRef)(columnSizingInfo);
21484
+ columnSizingInfoRef.current = columnSizingInfo;
21485
+ const onColumnSizingChangeRef = (0, react.useRef)(onColumnSizingChange);
21486
+ onColumnSizingChangeRef.current = onColumnSizingChange;
21487
+ const leafSizeBoundsRef = (0, react.useRef)([]);
21488
+ const handleColumnSizingChange = (0, react.useCallback)((updaterOrValue) => {
21489
+ const clamped = clampColumnSizing(typeof updaterOrValue === "function" ? updaterOrValue(columnSizingRef.current) : updaterOrValue, leafSizeBoundsRef.current);
21490
+ columnSizingRef.current = clamped;
21491
+ setColumnResizeState((prev) => ({
21492
+ ...prev,
21493
+ columnSizing: clamped
21494
+ }));
21495
+ }, []);
21496
+ const handleColumnSizingInfoChange = (0, react.useCallback)((updaterOrValue) => {
21497
+ const prevInfo = columnSizingInfoRef.current;
21498
+ const nextInfo = typeof updaterOrValue === "function" ? updaterOrValue(prevInfo) : updaterOrValue;
21499
+ const ended = Boolean(prevInfo.isResizingColumn) && nextInfo.isResizingColumn === false;
21500
+ columnSizingInfoRef.current = nextInfo;
21501
+ setColumnResizeState((prev) => ({
21502
+ ...prev,
21503
+ columnSizingInfo: nextInfo
21504
+ }));
21505
+ if (ended) onColumnSizingChangeRef.current?.(omitBuiltinColumnSizing(columnSizingRef.current));
21506
+ }, []);
21507
+ const handleResizeHover = (0, react.useCallback)((columnId, offset) => {
21508
+ setResizeHover(columnId === null || offset === null ? null : {
21509
+ columnId,
21510
+ offset
21511
+ });
21512
+ }, []);
21513
+ const handleResizeDragStart = (0, react.useCallback)((offset) => {
21514
+ dragStartOffsetRef.current = offset;
21515
+ }, []);
21516
+ const handleResizeReset = (0, react.useCallback)((columnIds) => {
21517
+ const next = { ...columnSizingRef.current };
21518
+ for (const id of columnIds) {
21519
+ const origin = resizeOriginSizingRef.current[id];
21520
+ if (origin !== void 0) next[id] = origin;
21521
+ }
21522
+ const clamped = clampColumnSizing(next, leafSizeBoundsRef.current);
21523
+ handleColumnSizingChange(clamped);
21524
+ onColumnSizingChangeRef.current?.(omitBuiltinColumnSizing(clamped));
21525
+ }, [handleColumnSizingChange]);
21526
+ const handleResizeKeyboardNudge = (0, react.useCallback)((columnId, delta) => {
21527
+ const table = tableRef.current;
21528
+ const column = table?.getColumn(columnId);
21529
+ if (!table || !column) return;
21530
+ const leaves = column.getLeafColumns().filter((leaf) => leaf.getIsVisible() && leaf.getCanResize());
21531
+ const totalSize = leaves.reduce((sum, leaf) => sum + leaf.getSize(), 0);
21532
+ if (leaves.length === 0 || totalSize <= 0) return;
21533
+ const next = { ...columnSizingRef.current };
21534
+ for (const leaf of leaves) {
21535
+ const size = leaf.getSize();
21536
+ next[leaf.id] = Math.round(size + delta * (size / totalSize));
21537
+ }
21538
+ const clamped = clampColumnSizing(next, leafSizeBoundsRef.current);
21539
+ handleColumnSizingChange(clamped);
21540
+ onColumnSizingChangeRef.current?.(omitBuiltinColumnSizing(clamped));
21541
+ }, [handleColumnSizingChange]);
21542
+ (0, react.useLayoutEffect)(() => {
21543
+ if (!enabled) return;
21544
+ const container = containerRef.current;
21545
+ const table = tableRef.current;
21546
+ if (!container || !table) return;
21547
+ const seedMissingLeaves = () => {
21548
+ if (container.getBoundingClientRect().width === 0) return false;
21549
+ const tableEl = container.querySelector("table");
21550
+ if (!(tableEl instanceof HTMLElement)) return false;
21551
+ const leaves = table.getVisibleLeafColumns();
21552
+ const measured = measureLeafHeaderWidths(tableEl, leaves.map((column) => column.id));
21553
+ for (const column of leaves) {
21554
+ const measuredWidth = measured[column.id];
21555
+ if (measuredWidth === void 0 || resizeOriginSizingRef.current[column.id] !== void 0) continue;
21556
+ resizeOriginSizingRef.current[column.id] = getResizeOriginSize(column, Math.round(measuredWidth));
21557
+ }
21558
+ const missing = collectMissingLeafSizing(measured, columnSizingRef.current);
21559
+ if (Object.keys(missing).length > 0) handleColumnSizingChange((prev) => ({
21560
+ ...clampColumnSizing(missing, leafSizeBoundsRef.current),
21561
+ ...prev
21562
+ }));
21563
+ return true;
21564
+ };
21565
+ if (seedMissingLeaves()) return;
21566
+ const observer = new ResizeObserver(() => {
21567
+ if (seedMissingLeaves()) observer.disconnect();
21568
+ });
21569
+ observer.observe(container);
21570
+ return () => observer.disconnect();
21571
+ }, [
21572
+ enabled,
21573
+ columns,
21574
+ columnVisibility,
21575
+ handleColumnSizingChange
21576
+ ]);
21577
+ const tableOptions = (0, react.useMemo)(() => ({
21578
+ enableColumnResizing: enabled,
21579
+ columnResizeMode: "onChange",
21580
+ ...enabled ? { defaultColumn: { minSize: 52 } } : {},
21581
+ onColumnSizingChange: handleColumnSizingChange,
21582
+ onColumnSizingInfoChange: handleColumnSizingInfoChange
21583
+ }), [
21584
+ enabled,
21585
+ handleColumnSizingChange,
21586
+ handleColumnSizingInfoChange
21587
+ ]);
21588
+ const bind = (table) => {
21589
+ tableRef.current = table;
21590
+ leafSizeBoundsRef.current = table.getAllLeafColumns();
21591
+ const visibleLeafIds = table.getVisibleLeafColumns().map((column) => column.id);
21592
+ const resizeSizingReady = enabled && visibleLeafIds.length > 0 && visibleLeafIds.every((id) => columnSizing[id] !== void 0);
21593
+ const columnSizeVars = resizeSizingReady ? {
21594
+ ...getColumnSizeCssVars(table.getFlatHeaders()),
21595
+ width: table.getTotalSize()
21596
+ } : void 0;
21597
+ if (!enabled) return {
21598
+ columnSizeVars: void 0,
21599
+ activeResize: null,
21600
+ context: {
21601
+ resizableColumns: false,
21602
+ resizeSizingReady: false,
21603
+ resizeContainerRef: containerRef,
21604
+ onResizeHover: handleResizeHover,
21605
+ onResizeDragStart: handleResizeDragStart,
21606
+ onResizeReset: handleResizeReset,
21607
+ onResizeKeyboardNudge: handleResizeKeyboardNudge
21608
+ }
21609
+ };
21610
+ const isResizingColumn = columnSizingInfo.isResizingColumn;
21611
+ const resizingHeader = typeof isResizingColumn === "string" ? table.getFlatHeaders().find((header) => header.column.id === isResizingColumn) : void 0;
21612
+ const startSize = columnSizingInfo.startSize;
21613
+ const clampedResizeDelta = resizingHeader && startSize !== null ? resizingHeader.getSize() - startSize : columnSizingInfo.deltaOffset ?? 0;
21614
+ return {
21615
+ columnSizeVars,
21616
+ activeResize: isResizingColumn && dragStartOffsetRef.current !== null ? {
21617
+ offset: dragStartOffsetRef.current + clampedResizeDelta,
21618
+ phase: "dragging"
21619
+ } : resizeHover ? {
21620
+ offset: resizeHover.offset,
21621
+ phase: "hover"
21622
+ } : null,
21623
+ context: {
21624
+ resizableColumns: enabled,
21625
+ resizeSizingReady,
21626
+ resizeContainerRef: containerRef,
21627
+ onResizeHover: handleResizeHover,
21628
+ onResizeDragStart: handleResizeDragStart,
21629
+ onResizeReset: handleResizeReset,
21630
+ onResizeKeyboardNudge: handleResizeKeyboardNudge
21631
+ }
21632
+ };
21633
+ };
21634
+ return {
21635
+ tableOptions,
21636
+ state: {
21637
+ columnSizing,
21638
+ columnSizingInfo
21639
+ },
21640
+ bind
21641
+ };
21642
+ };
21643
+ //#endregion
20724
21644
  //#region src/components/ds-table/components/ds-table-body-virtualized/ds-table-body-virtualized.module.scss
20725
21645
  var ds_table_body_virtualized_module_default = {
20726
21646
  "body": "vRRk8q_body",
@@ -20750,7 +21670,7 @@ var ds_table_row_virtualized_module_default = {
20750
21670
  //#endregion
20751
21671
  //#region src/components/ds-table/components/ds-table-row-virtualized/ds-table-row-virtualized.tsx
20752
21672
  const DsTableRowVirtualized = ({ row, isSelected, rowsMapRef, rowHeightsMapRef, rowVirtualizer, virtualRow, isExpandedRowContent }) => {
20753
- const { bordered, rowSize, activeRowId, primaryRowActions, secondaryRowActions, renderExpandedRow, onRowClick, onRowDoubleClick, loading } = useDsTableContext();
21673
+ const { bordered, rowSize, activeRowId, primaryRowActions, secondaryRowActions, renderExpandedRow, onRowClick, onRowDoubleClick, loading, resizeSizingReady } = useDsTableContext();
20754
21674
  const isExpanded = row.getIsExpanded();
20755
21675
  const isActive = activeRowId === row.id;
20756
21676
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableRow, {
@@ -20774,8 +21694,9 @@ const DsTableRowVirtualized = ({ row, isSelected, rowsMapRef, rowHeightsMapRef,
20774
21694
  onDoubleClick: isExpandedRowContent ? void 0 : () => onRowDoubleClick?.(row.original),
20775
21695
  children: isExpandedRowContent ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, { children: renderExpandedRow?.(row.original) }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: row.getVisibleCells().map((cell, idx) => {
20776
21696
  const isLastColumn = idx === row.getVisibleCells().length - 1;
21697
+ const columnSizing = cell.getContext().table.getState().columnSizing;
20777
21698
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, {
20778
- style: getColumnSizeStyle(cell.column.getSize()),
21699
+ style: getBodyCellSizeStyle(cell.column.id, cell.column.getSize(), isExplicitColumnWidth(cell.column, resizeSizingReady ? columnSizing : {}), !!resizeSizingReady),
20779
21700
  className: (0, classnames.default)(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),
20780
21701
  children: isLastColumn ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableCell, {
20781
21702
  row,
@@ -20914,6 +21835,194 @@ function DsTableBody({ ref, rowVirtualizer, rowsMapRef, rowHeightsMapRef, rowsAn
20914
21835
  });
20915
21836
  }
20916
21837
  //#endregion
21838
+ //#region src/components/ds-table/components/ds-table-header-selectable-cell/ds-table-header-selectable-cell.tsx
21839
+ const DsTableHeaderSelectableCell = ({ table }) => {
21840
+ const checked = table.getIsAllRowsSelected() ? true : table.getIsSomeRowsSelected() ? "indeterminate" : false;
21841
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsCheckbox, {
21842
+ className: ds_table_shared_module_default.checkboxContainer,
21843
+ checked,
21844
+ onCheckedChange: (nextChecked) => table.toggleAllRowsSelected(!!nextChecked),
21845
+ onClick: (e) => e.stopPropagation(),
21846
+ onDoubleClick: (e) => e.stopPropagation()
21847
+ });
21848
+ };
21849
+ //#endregion
21850
+ //#region src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.module.scss
21851
+ var ds_table_row_expandable_cell_module_default = { "button": "enUIjW_button" };
21852
+ //#endregion
21853
+ //#region src/components/ds-table/components/ds-table-row-expandable-cell/ds-table-row-expandable-cell.tsx
21854
+ const DsTableRowExpandableCell = ({ row, buttonClassName }) => {
21855
+ const isExpanded = row.getIsExpanded();
21856
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsButton, {
21857
+ design: "v1.2",
21858
+ buttonType: "tertiary",
21859
+ size: "small",
21860
+ className: (0, classnames.default)(ds_table_row_expandable_cell_module_default.button, buttonClassName),
21861
+ onClick: (e) => {
21862
+ e.stopPropagation();
21863
+ row.toggleExpanded();
21864
+ },
21865
+ onDoubleClick: (e) => {
21866
+ e.stopPropagation();
21867
+ },
21868
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
21869
+ icon: "chevron_right",
21870
+ size: "small",
21871
+ className: (0, classnames.default)(ds_table_shared_module_default.pageButtonIcon, isExpanded && "rotate-90")
21872
+ })
21873
+ });
21874
+ };
21875
+ //#endregion
21876
+ //#region src/components/ds-table/components/ds-table-row-selectable-cell/ds-table-row-selectable-cell.tsx
21877
+ const DsTableRowSelectableCell = ({ row }) => {
21878
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsCheckbox, {
21879
+ className: ds_table_shared_module_default.checkboxContainer,
21880
+ checked: row.getIsSelected(),
21881
+ disabled: !row.getCanSelect(),
21882
+ onCheckedChange: (checked) => row.toggleSelected(!!checked),
21883
+ onClick: (e) => e.stopPropagation(),
21884
+ onDoubleClick: (e) => e.stopPropagation()
21885
+ });
21886
+ };
21887
+ //#endregion
21888
+ //#region src/components/ds-table/utils/table-columns.tsx
21889
+ const EXPLICIT_SIZE_META = { hasExplicitSize: true };
21890
+ /**
21891
+ * Clones leaf defs that authored `size` so `meta.hasExplicitSize` survives
21892
+ * TanStack’s default-size merge. Group defs are cloned only to recurse;
21893
+ * unsized leaves are returned as-is.
21894
+ */
21895
+ const stampExplicitSize = (columns) => columns.map((column) => {
21896
+ if ("columns" in column && column.columns) return {
21897
+ ...column,
21898
+ columns: stampExplicitSize(column.columns)
21899
+ };
21900
+ if (column.size === void 0) return column;
21901
+ return {
21902
+ ...column,
21903
+ meta: {
21904
+ ...column.meta,
21905
+ ...EXPLICIT_SIZE_META
21906
+ }
21907
+ };
21908
+ });
21909
+ /**
21910
+ * Prepends the builtin select / expander / reorder columns when those features
21911
+ * are on. Reorder is omitted for virtualized tables. Unshift order yields
21912
+ * visual order: reorder, expander, select, then consumer columns.
21913
+ */
21914
+ const getAugmentedColumns = (columns, { selectable, expandable, reorderable, virtualized, showSelectAllCheckbox }) => {
21915
+ const augmentedColumns = stampExplicitSize(columns);
21916
+ if (selectable) augmentedColumns.unshift({
21917
+ id: SELECT_COLUMN_ID,
21918
+ size: 36,
21919
+ minSize: 36,
21920
+ maxSize: 36,
21921
+ enableSorting: false,
21922
+ enableResizing: false,
21923
+ meta: EXPLICIT_SIZE_META,
21924
+ header: ({ table }) => showSelectAllCheckbox ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableHeaderSelectableCell, { table }) : null,
21925
+ cell: ({ row }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRowSelectableCell, { row })
21926
+ });
21927
+ if (expandable) augmentedColumns.unshift({
21928
+ id: EXPANDER_COLUMN_ID,
21929
+ size: 36,
21930
+ minSize: 36,
21931
+ maxSize: 36,
21932
+ enableSorting: false,
21933
+ enableResizing: false,
21934
+ meta: EXPLICIT_SIZE_META,
21935
+ header: () => null,
21936
+ cell: ({ row }) => row.getCanExpand() ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRowExpandableCell, { row }) : null
21937
+ });
21938
+ if (reorderable && !virtualized) augmentedColumns.unshift({
21939
+ id: REORDER_COLUMN_ID,
21940
+ size: 60,
21941
+ minSize: 60,
21942
+ maxSize: 60,
21943
+ enableSorting: false,
21944
+ enableResizing: false,
21945
+ meta: EXPLICIT_SIZE_META,
21946
+ header: "Order",
21947
+ cell: () => null
21948
+ });
21949
+ return augmentedColumns;
21950
+ };
21951
+ /**
21952
+ * Replaces each leaf `cell` with `loadingCell` (or a default text skeleton).
21953
+ * Group columns are cloned with the same transform applied to their children.
21954
+ */
21955
+ const toSkeletonColumns = (columns) => columns.map((column) => "columns" in column && column.columns ? {
21956
+ ...column,
21957
+ columns: toSkeletonColumns(column.columns)
21958
+ } : {
21959
+ ...column,
21960
+ cell: column.loadingCell ?? (() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsSkeletonText, { width: "60%" }))
21961
+ });
21962
+ const createSkeletonRows = () => Array.from({ length: 5 }, (_, i) => ({ id: `ds-table-skeleton-${String(i)}` }));
21963
+ //#endregion
21964
+ //#region src/components/ds-table/utils/table-api.ts
21965
+ const createTableApi = (table) => ({
21966
+ selectRow: (rowId) => {
21967
+ table.getRow(rowId).toggleSelected(true);
21968
+ },
21969
+ deselectRow: (rowId) => {
21970
+ table.getRow(rowId).toggleSelected(false);
21971
+ },
21972
+ selectAllRows: () => {
21973
+ table.toggleAllRowsSelected(true);
21974
+ },
21975
+ deselectAllRows: () => {
21976
+ table.toggleAllRowsSelected(false);
21977
+ },
21978
+ selectRows: (rowIds) => {
21979
+ const selection = {};
21980
+ rowIds.forEach((id) => selection[id] = true);
21981
+ table.setRowSelection(selection);
21982
+ },
21983
+ getSelectedRows: () => {
21984
+ return table.getFilteredSelectedRowModel().rows.map((r) => r.original);
21985
+ },
21986
+ expandRow: (rowId) => {
21987
+ table.getRow(rowId).toggleExpanded(true);
21988
+ },
21989
+ collapseRow: (rowId) => {
21990
+ table.getRow(rowId).toggleExpanded(false);
21991
+ },
21992
+ expandAllRows: () => {
21993
+ table.toggleAllRowsExpanded(true);
21994
+ },
21995
+ collapseAllRows: () => {
21996
+ table.toggleAllRowsExpanded(false);
21997
+ },
21998
+ expandRows: (rowIds) => {
21999
+ const expansion = {};
22000
+ rowIds.forEach((id) => expansion[id] = true);
22001
+ table.setExpanded(expansion);
22002
+ }
22003
+ });
22004
+ //#endregion
22005
+ //#region src/components/ds-table/utils/frozen-body.ts
22006
+ /**
22007
+ * `React.memo` comparator for the table body during a column-resize drag.
22008
+ *
22009
+ * While a column is being resized, sizing is applied through CSS variables on
22010
+ * the table element, so body rows do not need to re-render — freezing them keeps
22011
+ * dragging smooth. `table` is a stable mutable instance (ref-equal across
22012
+ * renders), so comparing it is meaningless and it is skipped; every other prop
22013
+ * must be referentially unchanged to freeze. That way parent-driven updates mid-
22014
+ * drag (`rowSelection`, `emptyState`, `onScroll`, `infiniteScroll`, ...) are not
22015
+ * dropped.
22016
+ */
22017
+ const areBodiesFrozen = (prev, next) => {
22018
+ if (!next.table.getState().columnSizingInfo.isResizingColumn) return false;
22019
+ const prevProps = prev;
22020
+ const nextProps = next;
22021
+ const keys = /* @__PURE__ */ new Set([...Object.keys(prevProps), ...Object.keys(nextProps)]);
22022
+ for (const key of keys) if (key !== "table" && prevProps[key] !== nextProps[key]) return false;
22023
+ return true;
22024
+ };
22025
+ //#endregion
20917
22026
  //#region src/components/ds-table/ds-table.tsx
20918
22027
  const ROW_SIZE_HEIGHT_MAP = {
20919
22028
  small: 36,
@@ -20923,7 +22032,9 @@ const ROW_SIZE_HEIGHT_MAP = {
20923
22032
  /**
20924
22033
  * Design system Table component
20925
22034
  */
20926
- 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 }) => {
22035
+ const DsTable = (props) => {
22036
+ const tableProps = applyDsTableDefaults(props);
22037
+ 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;
20927
22038
  const [data, setData] = react.useState(tableData);
20928
22039
  const [sorting, setSorting] = react.useState([]);
20929
22040
  const [internalColumnFilters, setInternalColumnFilters] = react.useState([]);
@@ -20937,7 +22048,6 @@ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = fal
20937
22048
  },
20938
22049
  items: data
20939
22050
  });
20940
- const tableContainerRef = react.useRef(null);
20941
22051
  const columnFilters = externalColumnFilters ?? internalColumnFilters;
20942
22052
  const handleColumnFiltersChange = (updaterOrValue) => {
20943
22053
  const newFilters = typeof updaterOrValue === "function" ? updaterOrValue(columnFilters) : updaterOrValue;
@@ -20969,63 +22079,31 @@ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = fal
20969
22079
  setRowSelection(newRowSelection);
20970
22080
  onSelectionChange?.(newRowSelection);
20971
22081
  };
20972
- const hasExpanderColumn = !!expandable;
20973
- const hasSelectColumn = !!selectable;
20974
- const hasReorderColumn = reorderable && !virtualized;
20975
- const columns = (0, react.useMemo)(() => {
20976
- const augmentedColumns = [...columnsProp];
20977
- if (hasSelectColumn) {
20978
- const selectColumn = {
20979
- id: SELECT_COLUMN_ID,
20980
- size: 36,
20981
- enableSorting: false,
20982
- enableResizing: false,
20983
- header: ({ table }) => showSelectAllCheckbox ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableHeaderSelectableCell, { table }) : null,
20984
- cell: ({ row }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRowSelectableCell, { row })
20985
- };
20986
- augmentedColumns.unshift(selectColumn);
20987
- }
20988
- if (hasExpanderColumn) {
20989
- const expanderColumn = {
20990
- id: EXPANDER_COLUMN_ID,
20991
- size: 36,
20992
- enableSorting: false,
20993
- enableResizing: false,
20994
- header: () => null,
20995
- cell: ({ row }) => row.getCanExpand() ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRowExpandableCell, { row }) : null
20996
- };
20997
- augmentedColumns.unshift(expanderColumn);
20998
- }
20999
- if (hasReorderColumn) {
21000
- const reorderColumn = {
21001
- id: REORDER_COLUMN_ID,
21002
- size: 60,
21003
- enableSorting: false,
21004
- enableResizing: false,
21005
- header: "Order",
21006
- cell: () => null
21007
- };
21008
- augmentedColumns.unshift(reorderColumn);
21009
- }
21010
- return augmentedColumns;
21011
- }, [
22082
+ const hasSelectColumn = Boolean(selectable);
22083
+ const hasExpanderColumn = Boolean(expandable);
22084
+ const columns = (0, react.useMemo)(() => getAugmentedColumns(columnsProp, {
22085
+ selectable: hasSelectColumn,
22086
+ expandable: hasExpanderColumn,
22087
+ reorderable,
22088
+ virtualized,
22089
+ showSelectAllCheckbox
22090
+ }), [
21012
22091
  columnsProp,
21013
- hasExpanderColumn,
21014
- hasReorderColumn,
21015
22092
  hasSelectColumn,
22093
+ hasExpanderColumn,
22094
+ reorderable,
22095
+ virtualized,
21016
22096
  showSelectAllCheckbox
21017
22097
  ]);
21018
- const skeletonColumns = (0, react.useMemo)(() => {
21019
- const toSkeleton = (cols) => cols.map((column) => "columns" in column && column.columns ? {
21020
- ...column,
21021
- columns: toSkeleton(column.columns)
21022
- } : {
21023
- ...column,
21024
- cell: column.loadingCell ?? (() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsSkeletonText, { width: "60%" }))
21025
- });
21026
- return toSkeleton(columns);
21027
- }, [columns]);
21028
- const skeletonData = (0, react.useMemo)(() => Array.from({ length: 5 }, (_, i) => ({ id: `ds-table-skeleton-${String(i)}` })), []);
22098
+ const skeletonColumns = (0, react.useMemo)(() => toSkeletonColumns(columns), [columns]);
22099
+ const skeletonData = (0, react.useMemo)(() => createSkeletonRows(), []);
22100
+ const resize = useColumnResize({
22101
+ enabled: resizableColumns,
22102
+ columnSizing,
22103
+ onColumnSizingChange,
22104
+ columns,
22105
+ columnVisibility
22106
+ });
21029
22107
  const table = (0, _tanstack_react_table.useReactTable)({
21030
22108
  data: loading ? skeletonData : reorderable ? data : tableData,
21031
22109
  columns: loading ? skeletonColumns : columns,
@@ -21039,115 +22117,88 @@ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = fal
21039
22117
  getRowId: (row) => row.id,
21040
22118
  getExpandedRowModel: (0, _tanstack_react_table.getExpandedRowModel)(),
21041
22119
  getRowCanExpand: typeof expandable === "function" ? (row) => expandable(row.original) : () => expandable,
22120
+ ...resize.tableOptions,
21042
22121
  state: {
21043
22122
  sorting,
21044
22123
  columnFilters,
21045
22124
  columnVisibility,
21046
- rowSelection
22125
+ rowSelection,
22126
+ ...resize.state
21047
22127
  },
21048
22128
  enableRowSelection: typeof selectable === "function" ? (row) => selectable(row.original) : selectable
21049
22129
  });
21050
- (0, react.useImperativeHandle)(ref, () => ({
21051
- selectRow: (rowId) => {
21052
- table.getRow(rowId).toggleSelected(true);
21053
- },
21054
- deselectRow: (rowId) => {
21055
- table.getRow(rowId).toggleSelected(false);
21056
- },
21057
- selectAllRows: () => {
21058
- table.toggleAllRowsSelected(true);
21059
- },
21060
- deselectAllRows: () => {
21061
- table.toggleAllRowsSelected(false);
21062
- },
21063
- selectRows: (rowIds) => {
21064
- const selection = {};
21065
- rowIds.forEach((id) => selection[id] = true);
21066
- table.setRowSelection(selection);
21067
- },
21068
- getSelectedRows: () => {
21069
- return table.getFilteredSelectedRowModel().rows.map((r) => r.original);
21070
- },
21071
- expandRow: (rowId) => {
21072
- table.getRow(rowId).toggleExpanded(true);
21073
- },
21074
- collapseRow: (rowId) => {
21075
- table.getRow(rowId).toggleExpanded(false);
21076
- },
21077
- expandAllRows: () => {
21078
- table.toggleAllRowsExpanded(true);
21079
- },
21080
- collapseAllRows: () => {
21081
- table.toggleAllRowsExpanded(false);
21082
- },
21083
- expandRows: (rowIds) => {
21084
- const expansion = {};
21085
- rowIds.forEach((id) => expansion[id] = true);
21086
- table.setExpanded(expansion);
21087
- }
21088
- }), [table]);
21089
- const { rows, rowsById } = table.getRowModel();
21090
- const renderEmptyState = () => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableRow, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, {
21091
- colSpan: columns.length,
21092
- className: ds_table_module_default.emptyState,
21093
- children: emptyState || "No results."
21094
- }) });
22130
+ const { columnSizeVars, activeResize, context: resizeContext } = resize.bind(table);
22131
+ (0, react.useImperativeHandle)(ref, () => createTableApi(table), [table]);
22132
+ const { rowsById } = table.getRowModel();
21095
22133
  const selectedRows = Object.entries(rowSelection).filter(([, selected]) => selected).map(([key]) => rowsById[key]?.original).filter((v) => !!v);
21096
22134
  const isBulkActionsVisible = selectable && actions.length > 0 && selectedRows.length > 0;
21097
- const editingState = useEditingState(onCellEdit, onCellValidate);
21098
- const contextValue = {
21099
- stickyHeader,
21100
- bordered,
21101
- fullWidth,
21102
- rowSize,
21103
- expandable,
21104
- selectable,
21105
- reorderable,
21106
- showSelectAllCheckbox,
21107
- loading,
21108
- onRowClick: loading ? void 0 : onRowClick,
21109
- onRowDoubleClick: loading ? void 0 : onRowDoubleClick,
21110
- primaryRowActions,
21111
- secondaryRowActions,
21112
- renderExpandedRow,
21113
- virtualized,
21114
- activeRowId,
21115
- collapsedColumnGroups,
21116
- onToggleColumnGroup: toggleColumnGroup,
21117
- locale,
21118
- onCellEdit,
21119
- ...editingState
21120
- };
21121
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableContext.Provider, {
21122
- value: contextValue,
22135
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableContextProvider, {
22136
+ tableProps,
22137
+ derived: {
22138
+ grouping: {
22139
+ collapsedColumnGroups,
22140
+ onToggleColumnGroup: toggleColumnGroup
22141
+ },
22142
+ resize: resizeContext
22143
+ },
21123
22144
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
21124
- ref: tableContainerRef,
21125
- className: (0, classnames.default)(ds_table_module_default.container, !virtualized && ds_table_module_default.dataTableContainer, virtualized && ds_table_module_default.virtualizedContainer, isBulkActionsVisible && ds_table_module_default.bulkActionsVisible, className),
21126
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragWrapper, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Table, {
21127
- className: (0, classnames.default)(fullWidth && ds_table_module_default.fullWidth, !bordered && ds_table_module_default.tableNoBorder),
21128
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableHeader, { table }), virtualized ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableBodyVirtualized, {
21129
- table,
21130
- emptyState,
21131
- estimateSize: virtualizedOptions?.estimateSize || ROW_SIZE_HEIGHT_MAP[rowSize],
21132
- overscan: virtualizedOptions?.overscan,
21133
- onScroll,
21134
- rowSelection,
21135
- infiniteScroll
21136
- }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableBody, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SortableWrapper, { children: rows.length ? rows.map((row) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRow, {
21137
- row,
21138
- isSelected: !!rowSelection[row.id]
21139
- }, row.id)) : renderEmptyState() }) })]
21140
- }) }), selectable && actions.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableBulkActions, {
21141
- numSelectedRows: selectedRows.length,
21142
- actions: actions.map((action) => ({
21143
- ...action,
21144
- onClick: () => action.onClick(selectedRows)
21145
- })),
21146
- onClearSelection: table.resetRowSelection
21147
- })]
22145
+ className: (0, classnames.default)(ds_table_module_default.container, isBulkActionsVisible && ds_table_module_default.bulkActionsVisible, className),
22146
+ children: [
22147
+ controls && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
22148
+ className: ds_table_module_default.controls,
22149
+ children: controls
22150
+ }),
22151
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
22152
+ ref: resizeContext.resizeContainerRef,
22153
+ className: (0, classnames.default)(!virtualized && ds_table_module_default.dataTableContainer, virtualized && ds_table_module_default.virtualizedContainer),
22154
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragWrapper, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Table, {
22155
+ className: (0, classnames.default)(fullWidth && ds_table_module_default.fullWidth, !bordered && ds_table_module_default.tableNoBorder),
22156
+ style: columnSizeVars,
22157
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableHeader, { table }), virtualized ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MemoizedDsTableBodyVirtualized, {
22158
+ table,
22159
+ emptyState,
22160
+ estimateSize: virtualizedOptions?.estimateSize || ROW_SIZE_HEIGHT_MAP[rowSize],
22161
+ overscan: virtualizedOptions?.overscan,
22162
+ onScroll,
22163
+ rowSelection,
22164
+ infiniteScroll
22165
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MemoizedDsTableRowsBody, {
22166
+ table,
22167
+ rowSelection,
22168
+ emptyState,
22169
+ SortableWrapper
22170
+ })]
22171
+ }) }), activeResize ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableResizeOverlay, {
22172
+ offset: activeResize.offset,
22173
+ phase: activeResize.phase
22174
+ }) : null]
22175
+ }),
22176
+ selectable && actions.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableBulkActions, {
22177
+ numSelectedRows: selectedRows.length,
22178
+ actions: actions.map((action) => ({
22179
+ ...action,
22180
+ onClick: () => action.onClick(selectedRows)
22181
+ })),
22182
+ onClearSelection: table.resetRowSelection
22183
+ })
22184
+ ]
21148
22185
  })
21149
22186
  });
21150
22187
  };
22188
+ const DsTableRowsBody = ({ table, rowSelection, emptyState, SortableWrapper }) => {
22189
+ const { rows } = table.getRowModel();
22190
+ const columnCount = table.getVisibleLeafColumns().length;
22191
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableBody, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SortableWrapper, { children: rows.length ? rows.map((row) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableRow, {
22192
+ row,
22193
+ isSelected: !!rowSelection[row.id]
22194
+ }, row.id)) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableRow, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableCell, {
22195
+ colSpan: columnCount,
22196
+ className: ds_table_module_default.emptyState,
22197
+ children: emptyState || "No results."
22198
+ }) }) }) });
22199
+ };
22200
+ const MemoizedDsTableRowsBody = react.memo(DsTableRowsBody, areBodiesFrozen);
22201
+ const MemoizedDsTableBodyVirtualized = react.memo(DsTableBodyVirtualized, areBodiesFrozen);
21151
22202
  DsTable.displayName = "DsTable";
21152
22203
  //#endregion
21153
22204
  //#region src/components/ds-table/hooks/use-cell-editor.ts
@@ -21162,6 +22213,7 @@ const useCellEditor = ({ cellContext }) => {
21162
22213
  const isActiveCell = ctx.editing !== null && ctx.editing.cell.row.id === row.id && ctx.editing.cell.column.id === column.id;
21163
22214
  const value = isActiveCell && ctx.editing ? ctx.editing.draftValue : getValue();
21164
22215
  const error = isActiveCell && ctx.editing ? ctx.editing.error : null;
22216
+ const isPending = isActiveCell && ctx.editing ? ctx.editing.pending : false;
21165
22217
  const setValue = (next) => {
21166
22218
  ctx.setDraft(next);
21167
22219
  };
@@ -21177,6 +22229,7 @@ const useCellEditor = ({ cellContext }) => {
21177
22229
  return {
21178
22230
  value,
21179
22231
  error,
22232
+ isPending,
21180
22233
  setValue,
21181
22234
  commit,
21182
22235
  cancel,
@@ -21208,7 +22261,7 @@ const TableEditFormControl = ({ cellContext, error, children }) => {
21208
22261
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-text.tsx
21209
22262
  /** Text input editor for table cells. Render via `ColumnDef.editCell`. */
21210
22263
  const DsTableEditCellText = ({ cellContext, placeholder, maxLength }) => {
21211
- const { value, setValue, error } = useCellEditor({ cellContext });
22264
+ const { value, setValue, error, isPending } = useCellEditor({ cellContext });
21212
22265
  const inputRef = (0, react.useRef)(null);
21213
22266
  (0, react.useEffect)(() => {
21214
22267
  const input = inputRef.current;
@@ -21225,6 +22278,7 @@ const DsTableEditCellText = ({ cellContext, placeholder, maxLength }) => {
21225
22278
  value,
21226
22279
  placeholder,
21227
22280
  maxLength,
22281
+ disabled: isPending,
21228
22282
  onValueChange: setValue,
21229
22283
  slots: error ? { endAdornment: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
21230
22284
  icon: "error",
@@ -21238,7 +22292,7 @@ DsTableEditCellText.displayName = "DsTableEditCellText";
21238
22292
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-number.tsx
21239
22293
  /** Number input editor for table cells. Render via `ColumnDef.editCell`. */
21240
22294
  const DsTableEditCellNumber = ({ cellContext, min, max, step }) => {
21241
- const { value, setValue, error } = useCellEditor({ cellContext });
22295
+ const { value, setValue, error, isPending } = useCellEditor({ cellContext });
21242
22296
  const inputRef = (0, react.useRef)(null);
21243
22297
  (0, react.useEffect)(() => {
21244
22298
  const input = inputRef.current;
@@ -21256,6 +22310,7 @@ const DsTableEditCellNumber = ({ cellContext, min, max, step }) => {
21256
22310
  min,
21257
22311
  max,
21258
22312
  step,
22313
+ disabled: isPending,
21259
22314
  onValueChange: setValue
21260
22315
  })
21261
22316
  });
@@ -21265,7 +22320,7 @@ DsTableEditCellNumber.displayName = "DsTableEditCellNumber";
21265
22320
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-select.tsx
21266
22321
  /** Select editor for table cells. Render via `ColumnDef.editCell`. */
21267
22322
  const DsTableEditCellSelect = ({ cellContext, options, placeholder }) => {
21268
- const { value, setValue, error } = useCellEditor({ cellContext });
22323
+ const { value, setValue, error, isPending } = useCellEditor({ cellContext });
21269
22324
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableEditFormControl, {
21270
22325
  cellContext,
21271
22326
  error,
@@ -21274,6 +22329,7 @@ const DsTableEditCellSelect = ({ cellContext, options, placeholder }) => {
21274
22329
  value,
21275
22330
  options,
21276
22331
  placeholder,
22332
+ disabled: isPending,
21277
22333
  onValueChange: setValue
21278
22334
  })
21279
22335
  });
@@ -21283,7 +22339,7 @@ DsTableEditCellSelect.displayName = "DsTableEditCellSelect";
21283
22339
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-date.tsx
21284
22340
  /** Date picker editor for table cells. Render via `ColumnDef.editCell`. */
21285
22341
  const DsTableEditCellDate = ({ cellContext, min, max, placeholder }) => {
21286
- const { value, setValue, error } = useCellEditor({ cellContext });
22342
+ const { value, setValue, error, isPending } = useCellEditor({ cellContext });
21287
22343
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableEditFormControl, {
21288
22344
  cellContext,
21289
22345
  error,
@@ -21293,6 +22349,7 @@ const DsTableEditCellDate = ({ cellContext, min, max, placeholder }) => {
21293
22349
  min,
21294
22350
  max,
21295
22351
  placeholder,
22352
+ disabled: isPending,
21296
22353
  onChange: setValue,
21297
22354
  slotProps: error ? { input: { slots: { endAdornment: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
21298
22355
  icon: "error",
@@ -21306,10 +22363,10 @@ DsTableEditCellDate.displayName = "DsTableEditCellDate";
21306
22363
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-checkbox.tsx
21307
22364
  /** Checkbox editor for table cells. Render via `ColumnDef.editCell`. */
21308
22365
  const DsTableEditCellCheckbox = ({ cellContext, disabled }) => {
21309
- const { value, setValue } = useCellEditor({ cellContext });
22366
+ const { value, setValue, isPending } = useCellEditor({ cellContext });
21310
22367
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsCheckbox, {
21311
22368
  checked: value,
21312
- disabled,
22369
+ disabled: disabled || isPending,
21313
22370
  onCheckedChange: (checked) => setValue(checked === true)
21314
22371
  });
21315
22372
  };
@@ -21733,8 +22790,8 @@ var ds_tree_module_default = {
21733
22790
  //#endregion
21734
22791
  //#region src/components/ds-tree/ds-tree.tsx
21735
22792
  const DsTreeRoot = (t0) => {
21736
- const $ = (0, react_compiler_runtime.c)(23);
21737
- 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;
22793
+ const $ = (0, react_compiler_runtime.c)(26);
22794
+ 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;
21738
22795
  const size = t1 === void 0 ? "medium" : t1;
21739
22796
  const selectionMode = t2 === void 0 ? "single" : t2;
21740
22797
  const expandOnClick = t3 === void 0 ? true : t3;
@@ -21747,7 +22804,7 @@ const DsTreeRoot = (t0) => {
21747
22804
  $[1] = t6;
21748
22805
  } else t6 = $[1];
21749
22806
  let t7;
21750
- 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) {
22807
+ 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) {
21751
22808
  t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_tree_view.TreeView.Root, {
21752
22809
  ref,
21753
22810
  collection,
@@ -21762,6 +22819,9 @@ const DsTreeRoot = (t0) => {
21762
22819
  checkedValue,
21763
22820
  defaultCheckedValue,
21764
22821
  onCheckedChange,
22822
+ focusedValue,
22823
+ defaultFocusedValue,
22824
+ onFocusChange,
21765
22825
  typeahead,
21766
22826
  lazyMount,
21767
22827
  unmountOnExit,
@@ -21775,23 +22835,26 @@ const DsTreeRoot = (t0) => {
21775
22835
  $[4] = collection;
21776
22836
  $[5] = defaultCheckedValue;
21777
22837
  $[6] = defaultExpandedValue;
21778
- $[7] = defaultSelectedValue;
21779
- $[8] = expandOnClick;
21780
- $[9] = expandedValue;
21781
- $[10] = lazyMount;
21782
- $[11] = onCheckedChange;
21783
- $[12] = onExpandedChange;
21784
- $[13] = onSelectionChange;
21785
- $[14] = ref;
21786
- $[15] = selectedValue;
21787
- $[16] = selectionMode;
21788
- $[17] = size;
21789
- $[18] = style;
21790
- $[19] = t6;
21791
- $[20] = typeahead;
21792
- $[21] = unmountOnExit;
21793
- $[22] = t7;
21794
- } else t7 = $[22];
22838
+ $[7] = defaultFocusedValue;
22839
+ $[8] = defaultSelectedValue;
22840
+ $[9] = expandOnClick;
22841
+ $[10] = expandedValue;
22842
+ $[11] = focusedValue;
22843
+ $[12] = lazyMount;
22844
+ $[13] = onCheckedChange;
22845
+ $[14] = onExpandedChange;
22846
+ $[15] = onFocusChange;
22847
+ $[16] = onSelectionChange;
22848
+ $[17] = ref;
22849
+ $[18] = selectedValue;
22850
+ $[19] = selectionMode;
22851
+ $[20] = size;
22852
+ $[21] = style;
22853
+ $[22] = t6;
22854
+ $[23] = typeahead;
22855
+ $[24] = unmountOnExit;
22856
+ $[25] = t7;
22857
+ } else t7 = $[25];
21795
22858
  return t7;
21796
22859
  };
21797
22860
  const DsTreeTree = (t0) => {
@@ -22270,7 +23333,7 @@ var ds_vertical_tabs_module_default = {
22270
23333
  * </DsVerticalTabs>
22271
23334
  * ```
22272
23335
  */
22273
- const DsVerticalTabs = (t0) => {
23336
+ const DsVerticalTabsRoot = (t0) => {
22274
23337
  const $ = (0, react_compiler_runtime.c)(8);
22275
23338
  const { value, onValueChange, className, style, children } = t0;
22276
23339
  let t1;
@@ -22376,10 +23439,12 @@ const DsVerticalTabsContent = (t0) => {
22376
23439
  DsVerticalTabsList.displayName = "DsVerticalTabs.List";
22377
23440
  DsVerticalTabsTab.displayName = "DsVerticalTabs.Tab";
22378
23441
  DsVerticalTabsContent.displayName = "DsVerticalTabs.Content";
22379
- DsVerticalTabs.List = DsVerticalTabsList;
22380
- DsVerticalTabs.Tab = DsVerticalTabsTab;
22381
- DsVerticalTabs.Content = DsVerticalTabsContent;
22382
- DsVerticalTabs.displayName = "DsVerticalTabs";
23442
+ const DsVerticalTabs = Object.assign(DsVerticalTabsRoot, {
23443
+ displayName: "DsVerticalTabs",
23444
+ List: DsVerticalTabsList,
23445
+ Tab: DsVerticalTabsTab,
23446
+ Content: DsVerticalTabsContent
23447
+ });
22383
23448
  //#endregion
22384
23449
  //#region src/components/ds-workspace-layout/ds-workspace-layout.module.scss
22385
23450
  var ds_workspace_layout_module_default = {
@@ -22410,7 +23475,7 @@ const DEFAULT_LOCALE = Object.freeze({
22410
23475
  pinButtonLabel: "Pin side menu",
22411
23476
  unpinButtonLabel: "Unpin side menu"
22412
23477
  });
22413
- const DsWorkspaceLayout = (t0) => {
23478
+ const DsWorkspaceLayoutRoot = (t0) => {
22414
23479
  const $ = (0, react_compiler_runtime.c)(17);
22415
23480
  let className;
22416
23481
  let rest;
@@ -22803,14 +23868,16 @@ Footer.displayName = "DsWorkspaceLayout.Footer";
22803
23868
  Body.displayName = "DsWorkspaceLayout.Body";
22804
23869
  SideMenu.displayName = "DsWorkspaceLayout.SideMenu";
22805
23870
  LeftPanel.displayName = "DsWorkspaceLayout.LeftPanel";
22806
- DsWorkspaceLayout.Header = Header;
22807
- DsWorkspaceLayout.SubHeader = SubHeader;
22808
- DsWorkspaceLayout.Content = Content;
22809
- DsWorkspaceLayout.Footer = Footer;
22810
- DsWorkspaceLayout.Body = Body;
22811
- DsWorkspaceLayout.SideMenu = SideMenu;
22812
- DsWorkspaceLayout.LeftPanel = LeftPanel;
22813
- DsWorkspaceLayout.displayName = "DsWorkspaceLayout";
23871
+ const DsWorkspaceLayout = Object.assign(DsWorkspaceLayoutRoot, {
23872
+ displayName: "DsWorkspaceLayout",
23873
+ Header,
23874
+ SubHeader,
23875
+ Content,
23876
+ Footer,
23877
+ Body,
23878
+ SideMenu,
23879
+ LeftPanel
23880
+ });
22814
23881
  //#endregion
22815
23882
  exports.BREAKPOINT_LG = BREAKPOINT_LG;
22816
23883
  exports.DsAlertBanner = DsAlertBanner;
@@ -22868,6 +23935,7 @@ exports.DsSkeleton = DsSkeleton;
22868
23935
  exports.DsSkeletonCircle = DsSkeletonCircle;
22869
23936
  exports.DsSkeletonRect = DsSkeletonRect;
22870
23937
  exports.DsSkeletonText = DsSkeletonText;
23938
+ exports.DsSlider = DsSlider;
22871
23939
  exports.DsSmartTabs = DsSmartTabs;
22872
23940
  exports.DsSpinner = DsSpinner;
22873
23941
  exports.DsSplitButton = DsSplitButton;
@@ -22907,6 +23975,7 @@ exports.FileUpload = FileUpload;
22907
23975
  exports.FileUploadError = FileUploadError;
22908
23976
  exports.RetryableFileUploadError = RetryableFileUploadError;
22909
23977
  exports.alertBannerVariants = alertBannerVariants;
23978
+ exports.autocompleteSizes = autocompleteSizes;
22910
23979
  exports.breakpoints = breakpoints;
22911
23980
  exports.buttonV3Colors = buttonV3Colors;
22912
23981
  exports.buttonV3Sizes = buttonV3Sizes;