@drivenets/design-system 0.15.0 → 0.17.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 (206) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/index.cjs +1092 -381
  3. package/dist/index.d.cts +886 -1204
  4. package/dist/index.d.cts.map +1 -1
  5. package/dist/index.d.ts +886 -1204
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1076 -377
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.css +1 -1
  10. package/package.json +36 -34
  11. package/src/components/ds-alert-banner/ds-alert-banner.tsx +16 -6
  12. package/src/components/ds-autocomplete/ds-autocomplete.figma.ts +36 -0
  13. package/src/components/ds-autocomplete/ds-autocomplete.tsx +2 -0
  14. package/src/components/ds-avatar/ds-avatar.figma.ts +30 -0
  15. package/src/components/ds-avatar/ds-avatar.tsx +6 -1
  16. package/src/components/ds-avatar/ds-avatar.types.ts +5 -2
  17. package/src/components/ds-avatar-group/ds-avatar-group.figma.ts +27 -0
  18. package/src/components/ds-avatar-group/ds-avatar-group.tsx +6 -1
  19. package/src/components/ds-avatar-group/ds-avatar-group.types.ts +3 -1
  20. package/src/components/ds-breadcrumb/ds-breadcrumb.figma.ts +19 -0
  21. package/src/components/ds-breadcrumb/ds-breadcrumb.tsx +2 -0
  22. package/src/components/ds-button/ds-button.tsx +2 -0
  23. package/src/components/ds-button-v3/ds-button-v3.figma.ts +3 -3
  24. package/src/components/ds-button-v3/ds-button-v3.tsx +6 -0
  25. package/src/components/ds-button-v3/index.ts +2 -0
  26. package/src/components/ds-card/ds-card.tsx +7 -3
  27. package/src/components/ds-card/figma/ds-card-content.figma.ts +2 -2
  28. package/src/components/ds-card/figma/ds-card-footer.figma.ts +2 -2
  29. package/src/components/ds-card/figma/ds-card-header.figma.ts +2 -2
  30. package/src/components/ds-card/figma/ds-card.figma.ts +2 -2
  31. package/src/components/ds-catalog-layout/ds-catalog-layout.figma.ts +51 -0
  32. package/src/components/ds-catalog-layout/ds-catalog-layout.tsx +15 -6
  33. package/src/components/ds-checkbox/ds-checkbox-level-2.figma.ts +40 -0
  34. package/src/components/ds-checkbox/ds-checkbox.figma.ts +45 -0
  35. package/src/components/ds-checkbox/ds-checkbox.module.scss +1 -1
  36. package/src/components/ds-checkbox/ds-checkbox.tsx +9 -1
  37. package/src/components/ds-checkbox-group/ds-checkbox-group.figma.ts +15 -0
  38. package/src/components/ds-checkbox-group/ds-checkbox-group.tsx +2 -0
  39. package/src/components/ds-chip/ds-chip.tsx +2 -0
  40. package/src/components/ds-chip-group/ds-chip-group.tsx +2 -0
  41. package/src/components/ds-comment-bubble/components/ds-comment-thread/ds-comment-thread.tsx +1 -0
  42. package/src/components/ds-comment-bubble/components/ds-thread-item/ds-thread-item.tsx +1 -0
  43. package/src/components/ds-comment-bubble/ds-comment-bubble.tsx +1 -0
  44. package/src/components/ds-comment-card/ds-comment-card.tsx +1 -0
  45. package/src/components/ds-comment-indicator/ds-comment-indicator.tsx +1 -0
  46. package/src/components/ds-comments-drawer/components/comments-filter-modal/index.ts +0 -1
  47. package/src/components/ds-comments-drawer/ds-comments-drawer.tsx +1 -0
  48. package/src/components/ds-confirmation/ds-confirmation.tsx +13 -10
  49. package/src/components/ds-date-input/ds-date-input.tsx +2 -0
  50. package/src/components/ds-date-picker/ds-date-picker.figma.ts +2 -2
  51. package/src/components/ds-date-picker/ds-date-picker.tsx +9 -0
  52. package/src/components/ds-date-picker/ds-date-picker.types.ts +1 -1
  53. package/src/components/ds-date-range-picker/ds-date-range-picker.tsx +2 -0
  54. package/src/components/ds-dialog/ds-dialog.tsx +9 -0
  55. package/src/components/ds-dialog/ds-dialog.types.ts +1 -1
  56. package/src/components/ds-divider/ds-divider.figma.ts +19 -0
  57. package/src/components/ds-divider/ds-divider.tsx +2 -0
  58. package/src/components/ds-drawer/ds-drawer.tsx +19 -8
  59. package/src/components/ds-drawer/figma/ds-drawer-content.figma.ts +15 -0
  60. package/src/components/ds-drawer/figma/ds-drawer-footer.figma.ts +19 -0
  61. package/src/components/ds-drawer/figma/ds-drawer-header.figma.ts +16 -0
  62. package/src/components/ds-drawer/figma/ds-drawer.figma.ts +36 -0
  63. package/src/components/ds-dropdown-menu/ds-dropdown-menu.module.scss +12 -3
  64. package/src/components/ds-dropdown-menu/ds-dropdown-menu.tsx +24 -6
  65. package/src/components/ds-dropdown-menu/ds-dropdown-menu.types.ts +10 -1
  66. package/src/components/ds-dropdown-menu/figma/ds-dropdown-menu-footer.figma.ts +11 -0
  67. package/src/components/ds-dropdown-menu/figma/ds-dropdown-menu-group.figma.ts +23 -0
  68. package/src/components/ds-dropdown-menu/figma/ds-dropdown-menu-item.figma.ts +29 -0
  69. package/src/components/ds-dropdown-menu/figma/ds-dropdown-menu-separator.figma.ts +11 -0
  70. package/src/components/ds-dropdown-menu/figma/ds-dropdown-menu.figma.ts +24 -0
  71. package/src/components/ds-expandable-text-input/ds-expandable-text-input.figma.ts +24 -0
  72. package/src/components/ds-expandable-text-input/ds-expandable-text-input.tsx +1 -0
  73. package/src/components/ds-file-upload/components/file-upload-item/index.ts +0 -1
  74. package/src/components/ds-file-upload/ds-file-upload.figma.ts +29 -0
  75. package/src/components/ds-file-upload/ds-file-upload.tsx +2 -0
  76. package/src/components/ds-filter-status-icon/ds-filter-status-icon.figma.ts +22 -0
  77. package/src/components/ds-filter-status-icon/ds-filter-status-icon.tsx +1 -0
  78. package/src/components/ds-form-control/ds-form-control.figma.ts +2 -2
  79. package/src/components/ds-form-control/ds-form-control.tsx +16 -11
  80. package/src/components/ds-grid/index.ts +3 -0
  81. package/src/components/ds-icon/ds-icon.tsx +2 -0
  82. package/src/components/ds-icon/figma/ds-icon-material.figma.batch.ts +1 -1
  83. package/src/components/ds-icon/figma/ds-icon-special.figma.batch.ts +1 -1
  84. package/src/components/ds-key-value-pair/ds-key-value-pair.figma.ts +24 -0
  85. package/src/components/ds-key-value-pair/ds-key-value-pair.tsx +2 -0
  86. package/src/components/ds-loader/ds-loader.figma.ts +11 -0
  87. package/src/components/ds-loader/ds-loader.tsx +2 -0
  88. package/src/components/ds-modal/ds-modal.tsx +17 -7
  89. package/src/components/ds-modal/figma/ds-modal-content.figma.ts +2 -2
  90. package/src/components/ds-modal/figma/ds-modal-footer.figma.ts +2 -2
  91. package/src/components/ds-modal/figma/ds-modal-header.figma.ts +2 -2
  92. package/src/components/ds-modal/figma/ds-modal.figma.ts +2 -2
  93. package/src/components/ds-number-input/ds-number-input.tsx +3 -0
  94. package/src/components/ds-panel/ds-panel.figma.ts +16 -0
  95. package/src/components/ds-panel/index.ts +2 -0
  96. package/src/components/ds-password-input/ds-password-input.tsx +2 -0
  97. package/src/components/ds-popover/ds-popover.tsx +9 -0
  98. package/src/components/ds-popover/figma/ds-popover-content-item.figma.ts +18 -0
  99. package/src/components/ds-popover/figma/ds-popover-content.figma.ts +15 -0
  100. package/src/components/ds-popover/figma/ds-popover-footer.figma.ts +19 -0
  101. package/src/components/ds-popover/figma/ds-popover-header.figma.ts +16 -0
  102. package/src/components/ds-popover/figma/ds-popover.figma.ts +34 -0
  103. package/src/components/ds-progress-arc/ds-progress-arc.figma.ts +23 -0
  104. package/src/components/ds-progress-arc/ds-progress-arc.tsx +2 -0
  105. package/src/components/ds-progress-donut/ds-progress-donut.figma.ts +45 -0
  106. package/src/components/ds-progress-donut/ds-progress-donut.tsx +2 -0
  107. package/src/components/ds-progress-linear/ds-progress-linear.figma.ts +26 -0
  108. package/src/components/ds-progress-linear/ds-progress-linear.tsx +2 -0
  109. package/src/components/ds-progress-task-bar/ds-progress-task-bar.figma.ts +2 -2
  110. package/src/components/ds-progress-task-bar/ds-progress-task-bar.tsx +2 -0
  111. package/src/components/ds-radio-group/ds-radio-group.tsx +3 -0
  112. package/src/components/ds-radio-group/figma/ds-radio-group-item.figma.ts +24 -0
  113. package/src/components/ds-radio-group/figma/ds-radio-group.figma.ts +14 -0
  114. package/src/components/ds-segment-group/ds-segment-group.tsx +3 -0
  115. package/src/components/ds-segment-group/figma/ds-segment-group-item.figma.ts +25 -0
  116. package/src/components/ds-segment-group/figma/ds-segment-group.figma.ts +23 -0
  117. package/src/components/ds-select/ds-select.figma.ts +2 -2
  118. package/src/components/ds-select/ds-select.tsx +2 -0
  119. package/src/components/ds-site-node/ds-site-node.figma.ts +27 -0
  120. package/src/components/ds-site-node/ds-site-node.module.scss +59 -0
  121. package/src/components/ds-site-node/ds-site-node.tsx +73 -0
  122. package/src/components/ds-site-node/ds-site-node.types.ts +36 -0
  123. package/src/components/ds-site-node/hooks/use-is-overflowing.ts +31 -0
  124. package/src/components/ds-site-node/index.ts +3 -0
  125. package/src/components/ds-skeleton/ds-skeleton-circle.tsx +2 -0
  126. package/src/components/ds-skeleton/ds-skeleton-rect.tsx +2 -0
  127. package/src/components/ds-skeleton/ds-skeleton-text.tsx +2 -0
  128. package/src/components/ds-skeleton/ds-skeleton.ts +7 -1
  129. package/src/components/ds-smart-tabs/ds-smart-tabs.tsx +7 -2
  130. package/src/components/ds-spinner/ds-spinner.figma.ts +19 -0
  131. package/src/components/ds-spinner/ds-spinner.tsx +2 -0
  132. package/src/components/ds-split-button/ds-split-button.figma.ts +2 -2
  133. package/src/components/ds-split-button/ds-split-button.tsx +6 -0
  134. package/src/components/ds-status-badge/ds-status-badge.tsx +2 -0
  135. package/src/components/ds-status-badge-v2/ds-status-badge-v2.figma.ts +2 -2
  136. package/src/components/ds-status-badge-v2/index.ts +2 -0
  137. package/src/components/ds-stepper/components/ds-step-content.tsx +2 -0
  138. package/src/components/ds-stepper/components/ds-step-next-button.tsx +2 -0
  139. package/src/components/ds-stepper/components/ds-step.tsx +2 -0
  140. package/src/components/ds-stepper/ds-stepper.figma.ts +38 -0
  141. package/src/components/ds-stepper/ds-stepper.tsx +1 -0
  142. package/src/components/ds-system-status/ds-system-status.tsx +2 -0
  143. package/src/components/ds-table/components/ds-table-group-header-cell/index.ts +0 -1
  144. package/src/components/ds-table/components/ds-table-header/ds-table-header.module.scss +2 -2
  145. package/src/components/ds-table/components/ds-table-header/ds-table-header.tsx +2 -4
  146. package/src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-checkbox.tsx +1 -0
  147. package/src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-date.tsx +1 -0
  148. package/src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-number.tsx +1 -0
  149. package/src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-select.tsx +1 -0
  150. package/src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-text.tsx +1 -0
  151. package/src/components/ds-table/components/edit/ds-table-editable-cell/ds-table-editable-cell.tsx +1 -0
  152. package/src/components/ds-table/components/edit/ds-table-editing-cell/ds-table-editing-cell.tsx +1 -0
  153. package/src/components/ds-table/ds-table.module.scss +15 -0
  154. package/src/components/ds-table/ds-table.tsx +39 -34
  155. package/src/components/ds-table/ds-table.types.ts +6 -0
  156. package/src/components/ds-table/figma/ds-table-expandable.figma.ts +2 -2
  157. package/src/components/ds-table/figma/ds-table.figma.ts +2 -2
  158. package/src/components/ds-table/index.ts +3 -0
  159. package/src/components/ds-tabs/components/ds-tabs-content/ds-tabs-content.tsx +2 -0
  160. package/src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.tsx +2 -0
  161. package/src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.tsx +2 -0
  162. package/src/components/ds-tabs/ds-tabs.tsx +2 -0
  163. package/src/components/ds-tabs/figma/ds-tabs-tab-vertical.figma.ts +2 -2
  164. package/src/components/ds-tabs/figma/ds-tabs-tab.figma.ts +2 -2
  165. package/src/components/ds-tabs/figma/ds-tabs-vertical.figma.ts +2 -2
  166. package/src/components/ds-tabs/figma/ds-tabs.figma.ts +2 -2
  167. package/src/components/ds-tag/ds-tag.tsx +2 -0
  168. package/src/components/ds-tag-filter/ds-tag-filter.tsx +2 -0
  169. package/src/components/ds-text-input/ds-input-field-v02.figma.ts +87 -0
  170. package/src/components/ds-text-input/ds-text-input.figma.ts +2 -2
  171. package/src/components/ds-text-input/ds-text-input.tsx +2 -0
  172. package/src/components/ds-textarea/ds-textarea.tsx +2 -0
  173. package/src/components/ds-time-picker/ds-time-picker.figma.ts +2 -2
  174. package/src/components/ds-time-picker/ds-time-picker.tsx +2 -0
  175. package/src/components/ds-toast/ds-toast-context.tsx +1 -0
  176. package/src/components/ds-toast/ds-toast.figma.ts +34 -0
  177. package/src/components/ds-toast/ds-toast.tsx +3 -0
  178. package/src/components/ds-toggle/ds-toggle.figma.ts +39 -0
  179. package/src/components/ds-toggle/ds-toggle.tsx +2 -0
  180. package/src/components/ds-tooltip/ds-tooltip.figma.ts +16 -0
  181. package/src/components/ds-tooltip/ds-tooltip.module.scss +8 -1
  182. package/src/components/ds-tooltip/ds-tooltip.tsx +35 -15
  183. package/src/components/ds-tooltip/ds-tooltip.types.ts +40 -0
  184. package/src/components/ds-tree/ds-tree.module.scss +2 -2
  185. package/src/components/ds-tree/ds-tree.tsx +22 -0
  186. package/src/components/ds-tree/ds-tree.types.ts +16 -0
  187. package/src/components/ds-typography/ds-typography.config.ts +1 -1
  188. package/src/components/ds-typography/ds-typography.figma.ts +63 -0
  189. package/src/components/ds-typography/ds-typography.module.scss +16 -0
  190. package/src/components/ds-typography/ds-typography.tsx +64 -7
  191. package/src/components/ds-typography/ds-typography.types.ts +13 -0
  192. package/src/components/ds-typography/hooks/use-truncation.ts +151 -0
  193. package/src/components/ds-user-card/ds-user-card.figma.ts +16 -0
  194. package/src/components/ds-user-card/ds-user-card.module.scss +25 -0
  195. package/src/components/ds-user-card/ds-user-card.tsx +31 -0
  196. package/src/components/ds-user-card/ds-user-card.types.ts +26 -0
  197. package/src/components/ds-user-card/index.ts +2 -0
  198. package/src/components/ds-vertical-tabs/ds-vertical-tabs.tsx +17 -4
  199. package/src/components/ds-workspace-layout/ds-workspace-layout.tsx +19 -8
  200. package/src/index.ts +2 -0
  201. package/src/styles/_root.scss +468 -363
  202. package/src/styles/shared/_dropdown.scss +2 -2
  203. package/src/styles/styles.scss +0 -3
  204. package/src/styles/_colors.scss +0 -65
  205. package/src/styles/_root_new.scss +0 -451
  206. package/src/styles/_spacing.scss +0 -47
package/dist/index.cjs CHANGED
@@ -23,25 +23,24 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
23
23
  //#endregion
24
24
  let react_compiler_runtime = require("react/compiler-runtime");
25
25
  let classnames = require("classnames");
26
- classnames = __toESM(classnames);
26
+ classnames = __toESM(classnames, 1);
27
27
  let react_jsx_runtime = require("react/jsx-runtime");
28
28
  let react = require("react");
29
29
  react = __toESM(react, 1);
30
30
  let _ark_ui_react = require("@ark-ui/react");
31
+ let _ark_ui_react_tooltip = require("@ark-ui/react/tooltip");
32
+ let _ark_ui_react_portal = require("@ark-ui/react/portal");
31
33
  let _ark_ui_react_combobox = require("@ark-ui/react/combobox");
32
34
  let _ark_ui_react_locale = require("@ark-ui/react/locale");
33
35
  let _ark_ui_react_highlight = require("@ark-ui/react/highlight");
34
- let _ark_ui_react_portal = require("@ark-ui/react/portal");
35
36
  let _ark_ui_react_avatar = require("@ark-ui/react/avatar");
36
- let _radix_ui_react_tooltip = require("@radix-ui/react-tooltip");
37
- _radix_ui_react_tooltip = __toESM(_radix_ui_react_tooltip);
38
37
  let _tanstack_react_router = require("@tanstack/react-router");
39
38
  let _radix_ui_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
40
- _radix_ui_react_dropdown_menu = __toESM(_radix_ui_react_dropdown_menu);
39
+ _radix_ui_react_dropdown_menu = __toESM(_radix_ui_react_dropdown_menu, 1);
41
40
  let _ark_ui_react_menu = require("@ark-ui/react/menu");
42
41
  let _ark_ui_react_checkbox = require("@ark-ui/react/checkbox");
43
42
  let _radix_ui_react_dialog = require("@radix-ui/react-dialog");
44
- _radix_ui_react_dialog = __toESM(_radix_ui_react_dialog);
43
+ _radix_ui_react_dialog = __toESM(_radix_ui_react_dialog, 1);
45
44
  let _radix_ui_react_visually_hidden = require("@radix-ui/react-visually-hidden");
46
45
  let _ark_ui_react_dialog = require("@ark-ui/react/dialog");
47
46
  let react_dom = require("react-dom");
@@ -51,7 +50,7 @@ let _internationalized_date = require("@internationalized/date");
51
50
  let _ark_ui_react_popover = require("@ark-ui/react/popover");
52
51
  let _ark_ui_react_select = require("@ark-ui/react/select");
53
52
  let _radix_ui_react_collapsible = require("@radix-ui/react-collapsible");
54
- _radix_ui_react_collapsible = __toESM(_radix_ui_react_collapsible);
53
+ _radix_ui_react_collapsible = __toESM(_radix_ui_react_collapsible, 1);
55
54
  let _ark_ui_react_radio_group = require("@ark-ui/react/radio-group");
56
55
  let _ark_ui_react_segment_group = require("@ark-ui/react/segment-group");
57
56
  let _zag_js_steps = require("@zag-js/steps");
@@ -2887,6 +2886,7 @@ const DsIcon = (t0) => {
2887
2886
  } else t8 = $[29];
2888
2887
  return t8;
2889
2888
  };
2889
+ DsIcon.displayName = "DsIcon";
2890
2890
  //#endregion
2891
2891
  //#region src/components/ds-typography/ds-typography.config.ts
2892
2892
  const typographyVariantConfig = {
@@ -2983,7 +2983,7 @@ const typographyVariantConfig = {
2983
2983
  component: _ark_ui_react.ark.h4
2984
2984
  }
2985
2985
  };
2986
- /** Semantic text colors backed by `--font-*` tokens in `_root_new.scss`. */
2986
+ /** Semantic text colors backed by `--font-*` tokens in `_root.scss`. */
2987
2987
  const typographyColors = [
2988
2988
  "main",
2989
2989
  "secondary",
@@ -3003,6 +3003,228 @@ const typographyColors = [
3003
3003
  "code"
3004
3004
  ];
3005
3005
  //#endregion
3006
+ //#region src/components/ds-typography/hooks/use-truncation.ts
3007
+ const OVERFLOW_TOLERANCE_PX = 1;
3008
+ const FALLBACK_LINE_HEIGHT_RATIO = 1.2;
3009
+ const DEFAULT_FONT_SIZE_PX = 16;
3010
+ const ELLIPSIS = "…";
3011
+ const ellipsisWidthCache = /* @__PURE__ */ new Map();
3012
+ let ellipsisMeasureSpan = null;
3013
+ const measureEllipsisWidth = (computed) => {
3014
+ const cacheKey = `${computed.fontStyle}|${computed.fontWeight}|${computed.fontSize}|${computed.fontFamily}|${computed.letterSpacing}`;
3015
+ const cached = ellipsisWidthCache.get(cacheKey);
3016
+ if (cached !== void 0) return cached;
3017
+ ellipsisMeasureSpan ??= document.createElement("span");
3018
+ const span = ellipsisMeasureSpan;
3019
+ span.textContent = ELLIPSIS;
3020
+ span.style.position = "absolute";
3021
+ span.style.visibility = "hidden";
3022
+ span.style.whiteSpace = "pre";
3023
+ span.style.fontStyle = computed.fontStyle;
3024
+ span.style.fontWeight = computed.fontWeight;
3025
+ span.style.fontSize = computed.fontSize;
3026
+ span.style.fontFamily = computed.fontFamily;
3027
+ span.style.letterSpacing = computed.letterSpacing;
3028
+ document.body.appendChild(span);
3029
+ const width = span.getBoundingClientRect().width;
3030
+ span.remove();
3031
+ ellipsisWidthCache.set(cacheKey, width);
3032
+ return width;
3033
+ };
3034
+ let measureRange = null;
3035
+ const measureFittingPrefixRight = (textNode, maxRight) => {
3036
+ measureRange ??= document.createRange();
3037
+ const range = measureRange;
3038
+ let low = 0;
3039
+ let high = textNode.length;
3040
+ let fittingLength = 0;
3041
+ while (low <= high) {
3042
+ const mid = low + high >>> 1;
3043
+ range.setStart(textNode, 0);
3044
+ range.setEnd(textNode, mid);
3045
+ if (range.getBoundingClientRect().right <= maxRight) {
3046
+ fittingLength = mid;
3047
+ low = mid + 1;
3048
+ } else high = mid - 1;
3049
+ }
3050
+ range.setStart(textNode, 0);
3051
+ range.setEnd(textNode, fittingLength);
3052
+ return range.getBoundingClientRect().right;
3053
+ };
3054
+ const getFirstTextNode = (element) => element.firstChild instanceof Text ? element.firstChild : null;
3055
+ const useTruncation = (ref, enabled, deps = []) => {
3056
+ const [isTruncated, setIsTruncated] = (0, react.useState)(false);
3057
+ (0, react.useLayoutEffect)(() => {
3058
+ const element = ref.current;
3059
+ if (!enabled || !element) {
3060
+ setIsTruncated(false);
3061
+ return;
3062
+ }
3063
+ const measure = () => {
3064
+ const overflowsHorizontally = element.scrollWidth - element.clientWidth > OVERFLOW_TOLERANCE_PX;
3065
+ const overflowsVertically = element.scrollHeight - element.clientHeight > OVERFLOW_TOLERANCE_PX;
3066
+ setIsTruncated(overflowsHorizontally || overflowsVertically);
3067
+ };
3068
+ const rafId = requestAnimationFrame(measure);
3069
+ const resizeObserver = new ResizeObserver(() => requestAnimationFrame(measure));
3070
+ resizeObserver.observe(element);
3071
+ return () => {
3072
+ cancelAnimationFrame(rafId);
3073
+ resizeObserver.disconnect();
3074
+ };
3075
+ }, [
3076
+ ref,
3077
+ enabled,
3078
+ ...deps
3079
+ ]);
3080
+ return {
3081
+ isTruncated,
3082
+ getAnchorRect: (0, react.useCallback)(() => {
3083
+ const element = ref.current;
3084
+ if (!element) return null;
3085
+ const rect = element.getBoundingClientRect();
3086
+ const computed = getComputedStyle(element);
3087
+ const paddingRight = parseFloat(computed.paddingRight) || 0;
3088
+ const borderRight = parseFloat(computed.borderRightWidth) || 0;
3089
+ const paddingBottom = parseFloat(computed.paddingBottom) || 0;
3090
+ const borderBottom = parseFloat(computed.borderBottomWidth) || 0;
3091
+ const fontSize = parseFloat(computed.fontSize) || DEFAULT_FONT_SIZE_PX;
3092
+ const lineHeight = parseFloat(computed.lineHeight) || fontSize * FALLBACK_LINE_HEIGHT_RATIO;
3093
+ const contentRight = rect.right - paddingRight - borderRight;
3094
+ const ellipsisWidth = measureEllipsisWidth(computed);
3095
+ const textNode = getFirstTextNode(element);
3096
+ return {
3097
+ x: computed.whiteSpace === "nowrap" && textNode ? measureFittingPrefixRight(textNode, contentRight - ellipsisWidth) + ellipsisWidth / 2 : contentRight - ellipsisWidth / 2,
3098
+ y: rect.bottom - paddingBottom - borderBottom - lineHeight,
3099
+ width: 0,
3100
+ height: lineHeight
3101
+ };
3102
+ }, [ref])
3103
+ };
3104
+ };
3105
+ //#endregion
3106
+ //#region src/utils/merge-refs.ts
3107
+ const mergeRefs = (...refs) => {
3108
+ return (value) => {
3109
+ refs.filter((r) => !!r).forEach((ref) => {
3110
+ if (typeof ref === "function") ref(value);
3111
+ else ref.current = value;
3112
+ });
3113
+ };
3114
+ };
3115
+ //#endregion
3116
+ //#region src/components/ds-tooltip/ds-tooltip.module.scss
3117
+ var ds_tooltip_module_default = {
3118
+ "arrow": "rUPoLa_arrow",
3119
+ "text": "rUPoLa_text",
3120
+ "tooltip": "rUPoLa_tooltip"
3121
+ };
3122
+ //#endregion
3123
+ //#region src/components/ds-tooltip/ds-tooltip.tsx
3124
+ const OPEN_DELAY_MS = 200;
3125
+ const CLOSE_DELAY_MS = 0;
3126
+ const TOOLTIP_GUTTER_PX = 0;
3127
+ const DsTooltip = (t0) => {
3128
+ const $ = (0, react_compiler_runtime.c)(19);
3129
+ const { content, children, placement: t1, disabled: t2, getAnchorRect, slotProps } = t0;
3130
+ const placement = t1 === void 0 ? "top" : t1;
3131
+ const disabled = t2 === void 0 ? false : t2;
3132
+ if (content === void 0) return children;
3133
+ const t3 = getAnchorRect ?? void 0;
3134
+ let t4;
3135
+ if ($[0] !== placement || $[1] !== t3) {
3136
+ t4 = {
3137
+ placement,
3138
+ gutter: TOOLTIP_GUTTER_PX,
3139
+ getAnchorRect: t3
3140
+ };
3141
+ $[0] = placement;
3142
+ $[1] = t3;
3143
+ $[2] = t4;
3144
+ } else t4 = $[2];
3145
+ let t5;
3146
+ if ($[3] !== children) {
3147
+ t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_tooltip.Tooltip.Trigger, {
3148
+ asChild: true,
3149
+ children
3150
+ });
3151
+ $[3] = children;
3152
+ $[4] = t5;
3153
+ } else t5 = $[4];
3154
+ const t6 = slotProps?.content?.className;
3155
+ let t7;
3156
+ if ($[5] !== t6) {
3157
+ t7 = (0, classnames.default)(ds_tooltip_module_default.tooltip, t6);
3158
+ $[5] = t6;
3159
+ $[6] = t7;
3160
+ } else t7 = $[6];
3161
+ const t8 = slotProps?.content?.style;
3162
+ let t9;
3163
+ if ($[7] !== content) {
3164
+ t9 = (0, react.isValidElement)(content) ? content : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
3165
+ className: ds_tooltip_module_default.text,
3166
+ children: content
3167
+ });
3168
+ $[7] = content;
3169
+ $[8] = t9;
3170
+ } else t9 = $[8];
3171
+ let t10;
3172
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
3173
+ t10 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_tooltip.Tooltip.Arrow, {
3174
+ className: ds_tooltip_module_default.arrow,
3175
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_tooltip.Tooltip.ArrowTip, {})
3176
+ });
3177
+ $[9] = t10;
3178
+ } else t10 = $[9];
3179
+ let t11;
3180
+ if ($[10] !== t7 || $[11] !== t8 || $[12] !== t9) {
3181
+ t11 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_portal.Portal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_tooltip.Tooltip.Positioner, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_tooltip.Tooltip.Content, {
3182
+ className: t7,
3183
+ style: t8,
3184
+ children: [t9, t10]
3185
+ }) }) });
3186
+ $[10] = t7;
3187
+ $[11] = t8;
3188
+ $[12] = t9;
3189
+ $[13] = t11;
3190
+ } else t11 = $[13];
3191
+ let t12;
3192
+ if ($[14] !== disabled || $[15] !== t11 || $[16] !== t4 || $[17] !== t5) {
3193
+ t12 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_tooltip.Tooltip.Root, {
3194
+ openDelay: OPEN_DELAY_MS,
3195
+ closeDelay: CLOSE_DELAY_MS,
3196
+ disabled,
3197
+ positioning: t4,
3198
+ lazyMount: true,
3199
+ unmountOnExit: true,
3200
+ children: [t5, t11]
3201
+ });
3202
+ $[14] = disabled;
3203
+ $[15] = t11;
3204
+ $[16] = t4;
3205
+ $[17] = t5;
3206
+ $[18] = t12;
3207
+ } else t12 = $[18];
3208
+ return t12;
3209
+ };
3210
+ DsTooltip.displayName = "DsTooltip";
3211
+ //#endregion
3212
+ //#region src/components/ds-tooltip/ds-tooltip.types.ts
3213
+ const tooltipPlacements = [
3214
+ "top",
3215
+ "top-start",
3216
+ "top-end",
3217
+ "bottom",
3218
+ "bottom-start",
3219
+ "bottom-end",
3220
+ "left",
3221
+ "left-start",
3222
+ "left-end",
3223
+ "right",
3224
+ "right-start",
3225
+ "right-end"
3226
+ ];
3227
+ //#endregion
3006
3228
  //#region src/components/ds-typography/ds-typography.module.scss
3007
3229
  var ds_typography_module_default = {
3008
3230
  "body-md-bold": "X6xyRq_body-md-bold",
@@ -3027,14 +3249,17 @@ var ds_typography_module_default = {
3027
3249
  "heading1": "X6xyRq_heading1",
3028
3250
  "heading2": "X6xyRq_heading2",
3029
3251
  "heading3": "X6xyRq_heading3",
3030
- "heading4": "X6xyRq_heading4"
3252
+ "heading4": "X6xyRq_heading4",
3253
+ "truncateMultiline": "X6xyRq_truncateMultiline",
3254
+ "truncateSingle": "X6xyRq_truncateSingle"
3031
3255
  };
3032
3256
  //#endregion
3033
3257
  //#region src/components/ds-typography/ds-typography.tsx
3034
3258
  const semanticColorSet = new Set(typographyColors);
3035
3259
  const resolveColor = (color) => semanticColorSet.has(color) ? `var(--font-${color})` : color;
3260
+ const resolveLineClamp = (truncate) => typeof truncate === "number" ? Math.max(1, Math.floor(truncate)) : 1;
3036
3261
  const DsTypography = (t0) => {
3037
- const $ = (0, react_compiler_runtime.c)(23);
3262
+ const $ = (0, react_compiler_runtime.c)(34);
3038
3263
  let children;
3039
3264
  let className;
3040
3265
  let color;
@@ -3042,9 +3267,12 @@ const DsTypography = (t0) => {
3042
3267
  let ref;
3043
3268
  let style;
3044
3269
  let t1;
3270
+ let t2;
3271
+ let t3;
3272
+ let tooltipContent;
3045
3273
  let variant;
3046
3274
  if ($[0] !== t0) {
3047
- ({ref, variant, asChild: t1, className, style, color, children, ...props} = t0);
3275
+ ({ref, variant, asChild: t1, className, style, color, truncate: t2, tooltip: t3, tooltipContent, children, ...props} = t0);
3048
3276
  $[0] = t0;
3049
3277
  $[1] = children;
3050
3278
  $[2] = className;
@@ -3053,7 +3281,10 @@ const DsTypography = (t0) => {
3053
3281
  $[5] = ref;
3054
3282
  $[6] = style;
3055
3283
  $[7] = t1;
3056
- $[8] = variant;
3284
+ $[8] = t2;
3285
+ $[9] = t3;
3286
+ $[10] = tooltipContent;
3287
+ $[11] = variant;
3057
3288
  } else {
3058
3289
  children = $[1];
3059
3290
  className = $[2];
@@ -3062,56 +3293,102 @@ const DsTypography = (t0) => {
3062
3293
  ref = $[5];
3063
3294
  style = $[6];
3064
3295
  t1 = $[7];
3065
- variant = $[8];
3296
+ t2 = $[8];
3297
+ t3 = $[9];
3298
+ tooltipContent = $[10];
3299
+ variant = $[11];
3066
3300
  }
3067
3301
  const asChild = t1 === void 0 ? false : t1;
3302
+ const truncate = t2 === void 0 ? false : t2;
3303
+ const tooltip = t3 === void 0 ? false : t3;
3068
3304
  const Component = typographyVariantConfig[variant].component;
3069
- const t2 = ds_typography_module_default[variant];
3070
- let t3;
3071
- if ($[9] !== className || $[10] !== t2) {
3072
- t3 = (0, classnames.default)(t2, className);
3073
- $[9] = className;
3074
- $[10] = t2;
3075
- $[11] = t3;
3076
- } else t3 = $[11];
3305
+ const internalRef = (0, react.useRef)(null);
3306
+ const truncationEnabled = truncate !== false;
3307
+ const lineClamp = resolveLineClamp(truncate);
3308
+ const isMultiline = truncationEnabled && lineClamp > 1;
3309
+ const tooltipEnabled = truncationEnabled && tooltip;
3077
3310
  let t4;
3078
- if ($[12] !== color || $[13] !== style) {
3079
- t4 = color ? {
3080
- color: resolveColor(color),
3081
- ...style
3082
- } : style;
3083
- $[12] = color;
3084
- $[13] = style;
3311
+ if ($[12] !== children || $[13] !== truncate) {
3312
+ t4 = [children, truncate];
3313
+ $[12] = children;
3314
+ $[13] = truncate;
3085
3315
  $[14] = t4;
3086
3316
  } else t4 = $[14];
3317
+ const { isTruncated, getAnchorRect } = useTruncation(internalRef, tooltipEnabled, t4);
3318
+ let resolvedStyle;
3319
+ if (color || isMultiline || style) {
3320
+ resolvedStyle = {};
3321
+ if (color) resolvedStyle.color = resolveColor(color);
3322
+ if (isMultiline) Object.assign(resolvedStyle, { "--ds-typography-line-clamp": lineClamp });
3323
+ if (style) Object.assign(resolvedStyle, style);
3324
+ }
3325
+ const truncateClass = truncationEnabled ? isMultiline ? ds_typography_module_default.truncateMultiline : ds_typography_module_default.truncateSingle : void 0;
3087
3326
  let t5;
3088
- if ($[15] !== Component || $[16] !== asChild || $[17] !== children || $[18] !== props || $[19] !== ref || $[20] !== t3 || $[21] !== t4) {
3089
- t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Component, {
3090
- ref,
3327
+ if ($[15] !== ref) {
3328
+ t5 = mergeRefs(ref, internalRef);
3329
+ $[15] = ref;
3330
+ $[16] = t5;
3331
+ } else t5 = $[16];
3332
+ const t6 = ds_typography_module_default[variant];
3333
+ let t7;
3334
+ if ($[17] !== className || $[18] !== t6 || $[19] !== truncateClass) {
3335
+ t7 = (0, classnames.default)(t6, truncateClass, className);
3336
+ $[17] = className;
3337
+ $[18] = t6;
3338
+ $[19] = truncateClass;
3339
+ $[20] = t7;
3340
+ } else t7 = $[20];
3341
+ let t8;
3342
+ if ($[21] !== Component || $[22] !== asChild || $[23] !== children || $[24] !== props || $[25] !== resolvedStyle || $[26] !== t5 || $[27] !== t7) {
3343
+ t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Component, {
3344
+ ref: t5,
3091
3345
  asChild,
3092
- className: t3,
3093
- style: t4,
3346
+ className: t7,
3347
+ style: resolvedStyle,
3094
3348
  ...props,
3095
3349
  children
3096
3350
  });
3097
- $[15] = Component;
3098
- $[16] = asChild;
3099
- $[17] = children;
3100
- $[18] = props;
3101
- $[19] = ref;
3102
- $[20] = t3;
3103
- $[21] = t4;
3104
- $[22] = t5;
3105
- } else t5 = $[22];
3106
- return t5;
3351
+ $[21] = Component;
3352
+ $[22] = asChild;
3353
+ $[23] = children;
3354
+ $[24] = props;
3355
+ $[25] = resolvedStyle;
3356
+ $[26] = t5;
3357
+ $[27] = t7;
3358
+ $[28] = t8;
3359
+ } else t8 = $[28];
3360
+ const element = t8;
3361
+ if (!tooltipEnabled) return element;
3362
+ const t9 = tooltipContent ?? children;
3363
+ const t10 = !isTruncated;
3364
+ let t11;
3365
+ if ($[29] !== element || $[30] !== getAnchorRect || $[31] !== t10 || $[32] !== t9) {
3366
+ t11 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTooltip, {
3367
+ content: t9,
3368
+ placement: "top",
3369
+ disabled: t10,
3370
+ getAnchorRect,
3371
+ children: element
3372
+ });
3373
+ $[29] = element;
3374
+ $[30] = getAnchorRect;
3375
+ $[31] = t10;
3376
+ $[32] = t9;
3377
+ $[33] = t11;
3378
+ } else t11 = $[33];
3379
+ return t11;
3107
3380
  };
3381
+ DsTypography.displayName = "DsTypography";
3108
3382
  //#endregion
3109
3383
  //#region src/components/ds-alert-banner/ds-alert-banner.tsx
3110
3384
  /**
3111
- * Design system AlertBanner component
3112
- * Controlled component that displays alert messages with different variants
3385
+ * @summary Controlled banner for surfacing contextual status messages.
3386
+ *
3387
+ * Renders as an inline bordered card or a full-width global bar, with five
3388
+ * severity variants, an optional icon, and an optional close button. Compose the
3389
+ * content with `DsAlertBanner.Title`, `DsAlertBanner.Body`, and `DsAlertBanner.Actions`.
3113
3390
  */
3114
- const DsAlertBanner = (t0) => {
3391
+ const DsAlertBannerRoot = (t0) => {
3115
3392
  const $ = (0, react_compiler_runtime.c)(20);
3116
3393
  const { open, onOpenChange, inline: t1, variant: t2, icon, closable: t3, className, style: t4, children } = t0;
3117
3394
  const inline = t1 === void 0 ? false : t1;
@@ -3270,9 +3547,15 @@ const Actions$3 = (t0) => {
3270
3547
  } else t2 = $[5];
3271
3548
  return t2;
3272
3549
  };
3273
- DsAlertBanner.Title = Title$2;
3274
- DsAlertBanner.Body = Body$5;
3275
- DsAlertBanner.Actions = Actions$3;
3550
+ Title$2.displayName = "DsAlertBanner.Title";
3551
+ Body$5.displayName = "DsAlertBanner.Body";
3552
+ Actions$3.displayName = "DsAlertBanner.Actions";
3553
+ const DsAlertBanner = Object.assign(DsAlertBannerRoot, {
3554
+ displayName: "DsAlertBanner",
3555
+ Title: Title$2,
3556
+ Body: Body$5,
3557
+ Actions: Actions$3
3558
+ });
3276
3559
  //#endregion
3277
3560
  //#region src/components/ds-alert-banner/ds-alert-banner.types.ts
3278
3561
  const alertBannerVariants = [
@@ -3337,7 +3620,7 @@ const DsAutocomplete = (t0) => {
3337
3620
  const filterUtils = (0, _ark_ui_react_locale.useFilter)(t12);
3338
3621
  const collection = (0, _ark_ui_react_combobox.createListCollection)({
3339
3622
  items: filterText ? options.filter((opt) => filterUtils.contains(opt.label, filterText)) : options,
3340
- itemToString: _temp$16,
3623
+ itemToString: _temp$17,
3341
3624
  itemToValue: _temp2$9
3342
3625
  });
3343
3626
  let t13;
@@ -3549,7 +3832,8 @@ const DsAutocomplete = (t0) => {
3549
3832
  } else t33 = $[52];
3550
3833
  return t33;
3551
3834
  };
3552
- function _temp$16(item) {
3835
+ DsAutocomplete.displayName = "DsAutocomplete";
3836
+ function _temp$17(item) {
3553
3837
  return item.label;
3554
3838
  }
3555
3839
  function _temp2$9(item_0) {
@@ -3570,79 +3854,13 @@ var ds_avatar_module_default = {
3570
3854
  "xsm": "VcKEMW_xsm"
3571
3855
  };
3572
3856
  //#endregion
3573
- //#region src/components/ds-tooltip/ds-tooltip.module.scss
3574
- var ds_tooltip_module_default = {
3575
- "arrow": "rUPoLa_arrow",
3576
- "tooltip": "rUPoLa_tooltip"
3577
- };
3578
- //#endregion
3579
- //#region src/components/ds-tooltip/ds-tooltip.tsx
3580
- const DsTooltip = (t0) => {
3581
- const $ = (0, react_compiler_runtime.c)(14);
3582
- const { content, children, slotProps } = t0;
3583
- if (content === void 0) return children;
3584
- let t1;
3585
- if ($[0] !== children) {
3586
- t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_tooltip.Trigger, {
3587
- asChild: true,
3588
- children
3589
- });
3590
- $[0] = children;
3591
- $[1] = t1;
3592
- } else t1 = $[1];
3593
- const t2 = slotProps?.content?.className;
3594
- let t3;
3595
- if ($[2] !== t2) {
3596
- t3 = (0, classnames.default)(ds_tooltip_module_default.tooltip, t2);
3597
- $[2] = t2;
3598
- $[3] = t3;
3599
- } else t3 = $[3];
3600
- const t4 = slotProps?.content?.style;
3601
- let t5;
3602
- if ($[4] !== content) {
3603
- t5 = (0, react.isValidElement)(content) ? content : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
3604
- variant: "body-xs-reg",
3605
- children: content
3606
- });
3607
- $[4] = content;
3608
- $[5] = t5;
3609
- } else t5 = $[5];
3610
- let t6;
3611
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
3612
- t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_tooltip.Arrow, { className: ds_tooltip_module_default.arrow });
3613
- $[6] = t6;
3614
- } else t6 = $[6];
3615
- let t7;
3616
- if ($[7] !== t3 || $[8] !== t4 || $[9] !== t5) {
3617
- t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_tooltip.Portal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_radix_ui_react_tooltip.Content, {
3618
- className: t3,
3619
- style: t4,
3620
- side: "top",
3621
- align: "center",
3622
- sideOffset: 4,
3623
- children: [t5, t6]
3624
- }) });
3625
- $[7] = t3;
3626
- $[8] = t4;
3627
- $[9] = t5;
3628
- $[10] = t7;
3629
- } else t7 = $[10];
3630
- let t8;
3631
- if ($[11] !== t1 || $[12] !== t7) {
3632
- t8 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_radix_ui_react_tooltip.Provider, {
3633
- delayDuration: 200,
3634
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_radix_ui_react_tooltip.Root, { children: [t1, t7] })
3635
- });
3636
- $[11] = t1;
3637
- $[12] = t7;
3638
- $[13] = t8;
3639
- } else t8 = $[13];
3640
- return t8;
3641
- };
3642
- //#endregion
3643
3857
  //#region src/components/ds-avatar/ds-avatar.tsx
3644
3858
  /**
3645
- * DsAvatar component for displaying user profile pictures or initials
3859
+ * @summary Displays a user's profile picture, falling back to initials.
3860
+ *
3861
+ * Renders a circular or rounded avatar from an image `src`. When the image is
3862
+ * missing or fails to load, the trimmed initials derived from `name` are shown
3863
+ * instead, and `name` is surfaced in a tooltip on hover.
3646
3864
  */
3647
3865
  const DsAvatar = (t0) => {
3648
3866
  const $ = (0, react_compiler_runtime.c)(23);
@@ -3719,13 +3937,25 @@ const DsAvatar = (t0) => {
3719
3937
  } else t11 = $[22];
3720
3938
  return t11;
3721
3939
  };
3722
- function _temp$15(w) {
3940
+ DsAvatar.displayName = "DsAvatar";
3941
+ function _temp$16(w) {
3723
3942
  return w[0];
3724
3943
  }
3725
3944
  function _temp2$8(name_0) {
3726
- return name_0.trim().split(" ").map(_temp$15).join("");
3945
+ return name_0.trim().split(" ").map(_temp$16).join("");
3727
3946
  }
3728
3947
  //#endregion
3948
+ //#region src/components/ds-avatar/ds-avatar.types.ts
3949
+ const dsAvatarSizes = [
3950
+ "xsm",
3951
+ "sm",
3952
+ "regular",
3953
+ "md",
3954
+ "lg",
3955
+ "xl"
3956
+ ];
3957
+ const dsAvatarTypes = ["circle", "rounded"];
3958
+ //#endregion
3729
3959
  //#region src/components/ds-avatar-group/ds-avatar-group.module.scss
3730
3960
  var ds_avatar_group_module_default = {
3731
3961
  "avatarGroup": "DPz7HW_avatarGroup",
@@ -3744,7 +3974,11 @@ var ds_avatar_group_module_default = {
3744
3974
  //#endregion
3745
3975
  //#region src/components/ds-avatar-group/ds-avatar-group.tsx
3746
3976
  /**
3747
- * DsAvatarGroup component for displaying a list of avatars with overlap
3977
+ * @summary Overlapping avatars with overflow collapse and tooltip.
3978
+ *
3979
+ * Renders a row of {@link DsAvatar} members that share `size` and `type`. When
3980
+ * `avatars.length` exceeds `max`, the remainder collapse behind a `+N`
3981
+ * indicator; hovering it lists the hidden names in a tooltip.
3748
3982
  */
3749
3983
  const DsAvatarGroup = (t0) => {
3750
3984
  const $ = (0, react_compiler_runtime.c)(17);
@@ -3780,7 +4014,7 @@ const DsAvatarGroup = (t0) => {
3780
4014
  t6 = remainingCount > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTooltip, {
3781
4015
  content: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
3782
4016
  className: ds_avatar_group_module_default.tooltipList,
3783
- children: hiddenAvatars.map(_temp$14)
4017
+ children: hiddenAvatars.map(_temp$15)
3784
4018
  }),
3785
4019
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3786
4020
  className: (0, classnames.default)(ds_avatar_group_module_default.moreAvatar, ds_avatar_group_module_default[size], ds_avatar_group_module_default[type]),
@@ -3813,7 +4047,8 @@ const DsAvatarGroup = (t0) => {
3813
4047
  } else t7 = $[16];
3814
4048
  return t7;
3815
4049
  };
3816
- function _temp$14(avatar_0, index_0) {
4050
+ DsAvatarGroup.displayName = "DsAvatarGroup";
4051
+ function _temp$15(avatar_0, index_0) {
3817
4052
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
3818
4053
  variant: "body-xs-reg",
3819
4054
  children: avatar_0.name
@@ -3836,6 +4071,8 @@ var ds_breadcrumb_module_default = {
3836
4071
  //#region src/components/ds-dropdown-menu/ds-dropdown-menu.module.scss
3837
4072
  var ds_dropdown_menu_module_default = {
3838
4073
  "actions": "AkHUyG_actions",
4074
+ "actionsRow": "AkHUyG_actionsRow",
4075
+ "actionsStretch": "AkHUyG_actionsStretch",
3839
4076
  "collapse": "AkHUyG_collapse",
3840
4077
  "content": "AkHUyG_content",
3841
4078
  "contentLegacy": "AkHUyG_contentLegacy",
@@ -4005,6 +4242,7 @@ const DsTextInput = (t0) => {
4005
4242
  } else t16 = $[41];
4006
4243
  return t16;
4007
4244
  };
4245
+ DsTextInput.displayName = "DsTextInput";
4008
4246
  //#endregion
4009
4247
  //#region src/components/ds-text-input/ds-text-input.types.ts
4010
4248
  const textInputSizes = ["small", "default"];
@@ -4209,32 +4447,33 @@ const Header$5 = (t0) => {
4209
4447
  return t2;
4210
4448
  };
4211
4449
  /**
4212
- * Actions component - footer container for action buttons
4450
+ * Actions component - sticky bottom slot for action buttons (`align="end"`) or
4451
+ * full-width elements like a logout item (`align="stretch"`).
4213
4452
  */
4214
4453
  const Actions$2 = (t0) => {
4215
- const $ = (0, react_compiler_runtime.c)(6);
4216
- const { children, className, style } = t0;
4217
- let t1;
4218
- if ($[0] !== className) {
4219
- t1 = (0, classnames.default)(ds_dropdown_menu_module_default.actions, className);
4454
+ const $ = (0, react_compiler_runtime.c)(7);
4455
+ const { children, align: t1, className, style } = t0;
4456
+ const t2 = (t1 === void 0 ? "end" : t1) === "stretch" ? ds_dropdown_menu_module_default.actionsStretch : ds_dropdown_menu_module_default.actionsRow;
4457
+ let t3;
4458
+ if ($[0] !== className || $[1] !== t2) {
4459
+ t3 = (0, classnames.default)(ds_dropdown_menu_module_default.actions, t2, className);
4220
4460
  $[0] = className;
4221
- $[1] = t1;
4222
- } else t1 = $[1];
4223
- let t2;
4224
- if ($[2] !== children || $[3] !== style || $[4] !== t1) {
4225
- t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4226
- className: t1,
4461
+ $[1] = t2;
4462
+ $[2] = t3;
4463
+ } else t3 = $[2];
4464
+ let t4;
4465
+ if ($[3] !== children || $[4] !== style || $[5] !== t3) {
4466
+ t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
4467
+ className: t3,
4227
4468
  style,
4228
- role: "menu",
4229
- "aria-label": "Menu actions",
4230
4469
  children
4231
4470
  });
4232
- $[2] = children;
4233
- $[3] = style;
4234
- $[4] = t1;
4235
- $[5] = t2;
4236
- } else t2 = $[5];
4237
- return t2;
4471
+ $[3] = children;
4472
+ $[4] = style;
4473
+ $[5] = t3;
4474
+ $[6] = t4;
4475
+ } else t4 = $[6];
4476
+ return t4;
4238
4477
  };
4239
4478
  /**
4240
4479
  * ItemGroup component - collapsible group container
@@ -4370,7 +4609,7 @@ const ItemGroupLabel = (t0) => {
4370
4609
  className: t1,
4371
4610
  style,
4372
4611
  onClick: toggle,
4373
- onKeyDown: _temp$13,
4612
+ onKeyDown: _temp$14,
4374
4613
  children: [t2, t5]
4375
4614
  })
4376
4615
  });
@@ -4672,7 +4911,20 @@ const DsDropdownMenu = {
4672
4911
  ItemGroupContent,
4673
4912
  Separator
4674
4913
  };
4675
- function _temp$13(e) {
4914
+ DsDropdownMenu.Root.displayName = "DsDropdownMenu.Root";
4915
+ DsDropdownMenu.Trigger.displayName = "DsDropdownMenu.Trigger";
4916
+ DsDropdownMenu.Content.displayName = "DsDropdownMenu.Content";
4917
+ DsDropdownMenu.Item.displayName = "DsDropdownMenu.Item";
4918
+ DsDropdownMenu.ItemIndicator.displayName = "DsDropdownMenu.ItemIndicator";
4919
+ DsDropdownMenu.TriggerItem.displayName = "DsDropdownMenu.TriggerItem";
4920
+ DsDropdownMenu.Header.displayName = "DsDropdownMenu.Header";
4921
+ DsDropdownMenu.Actions.displayName = "DsDropdownMenu.Actions";
4922
+ DsDropdownMenu.ItemGroup.displayName = "DsDropdownMenu.ItemGroup";
4923
+ DsDropdownMenu.ItemGroupLabel.displayName = "DsDropdownMenu.ItemGroupLabel";
4924
+ DsDropdownMenu.ItemGroupContent.displayName = "DsDropdownMenu.ItemGroupContent";
4925
+ DsDropdownMenu.Separator.displayName = "DsDropdownMenu.Separator";
4926
+ DsDropdownMenuLegacy.displayName = "DsDropdownMenuLegacy";
4927
+ function _temp$14(e) {
4676
4928
  return e.stopPropagation();
4677
4929
  }
4678
4930
  function _temp2$7(e) {
@@ -4681,6 +4933,7 @@ function _temp2$7(e) {
4681
4933
  //#endregion
4682
4934
  //#region src/components/ds-dropdown-menu/ds-dropdown-menu.types.ts
4683
4935
  const dropdownMenuItemVariants = ["default", "error"];
4936
+ const dropdownMenuActionsAlignments = ["end", "stretch"];
4684
4937
  //#endregion
4685
4938
  //#region src/components/ds-breadcrumb/ds-breadcrumb.tsx
4686
4939
  /**
@@ -4737,7 +4990,7 @@ const DsBreadcrumb = (t0) => {
4737
4990
  placeholder: "Search",
4738
4991
  value: search,
4739
4992
  onValueChange: setSearch,
4740
- onKeyDown: _temp$12,
4993
+ onKeyDown: _temp$13,
4741
4994
  slots: { startAdornment: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
4742
4995
  icon: "search",
4743
4996
  size: "tiny"
@@ -4793,7 +5046,8 @@ const DsBreadcrumb = (t0) => {
4793
5046
  } else t4 = $[16];
4794
5047
  return t4;
4795
5048
  };
4796
- function _temp$12(e) {
5049
+ DsBreadcrumb.displayName = "DsBreadcrumb";
5050
+ function _temp$13(e) {
4797
5051
  return e.stopPropagation();
4798
5052
  }
4799
5053
  //#endregion
@@ -5104,6 +5358,7 @@ const DsButton = (props) => {
5104
5358
  } else t0 = $[3];
5105
5359
  return t0;
5106
5360
  };
5361
+ DsButton.displayName = "DsButton";
5107
5362
  //#endregion
5108
5363
  //#region src/components/ds-spinner/ds-spinner.module.scss
5109
5364
  var ds_spinner_module_default = {
@@ -5222,6 +5477,7 @@ const DsSpinner = (t0) => {
5222
5477
  } else t11 = $[24];
5223
5478
  return t11;
5224
5479
  };
5480
+ DsSpinner.displayName = "DsSpinner";
5225
5481
  //#endregion
5226
5482
  //#region src/components/ds-spinner/ds-spinner.types.ts
5227
5483
  const spinnerSizes = [
@@ -5240,6 +5496,12 @@ const iconSizeMap = Object.freeze({
5240
5496
  small: "tiny",
5241
5497
  tiny: "tiny"
5242
5498
  });
5499
+ /**
5500
+ * Button for user-triggered actions that do not navigate to another route.
5501
+ * Supports color palettes, emphasis variants, sizes, icon-only layout, loading and selected states.
5502
+ *
5503
+ * @summary action button with color/variant/size, icon-only, loading and selected states
5504
+ */
5243
5505
  const DsButtonV3$1 = (t0) => {
5244
5506
  const $ = (0, react_compiler_runtime.c)(37);
5245
5507
  let children;
@@ -5376,6 +5638,7 @@ const buttonV3Sizes = [
5376
5638
  //#endregion
5377
5639
  //#region src/components/ds-button-v3/index.ts
5378
5640
  const DsButtonV3 = withResponsiveProps(DsButtonV3$1, ["size"]);
5641
+ DsButtonV3.displayName = "DsButtonV3";
5379
5642
  //#endregion
5380
5643
  //#region src/components/ds-card/ds-card.module.scss
5381
5644
  var ds_card_module_default = {
@@ -5499,9 +5762,8 @@ const Root$2 = (t0) => {
5499
5762
  return t14;
5500
5763
  };
5501
5764
  /**
5502
- * Card header - contains title and extra content.
5503
- * Use with DsCard.Title and DsCard.Extra for standard layout,
5504
- * or provide custom children for full flexibility.
5765
+ * Card header — title row and optional trailing content.
5766
+ * Provide custom children for full layout flexibility.
5505
5767
  */
5506
5768
  const Header$4 = (t0) => {
5507
5769
  const $ = (0, react_compiler_runtime.c)(12);
@@ -5632,6 +5894,10 @@ const Footer$3 = (t0) => {
5632
5894
  } else t2 = $[11];
5633
5895
  return t2;
5634
5896
  };
5897
+ Root$2.displayName = "DsCard.Root";
5898
+ Header$4.displayName = "DsCard.Header";
5899
+ Body$4.displayName = "DsCard.Body";
5900
+ Footer$3.displayName = "DsCard.Footer";
5635
5901
  const DsCard = {
5636
5902
  Root: Root$2,
5637
5903
  Header: Header$4,
@@ -5677,7 +5943,7 @@ const DEFAULT_LOCALE$1 = Object.freeze({
5677
5943
  pinButtonLabel: "Pin side menu",
5678
5944
  unpinButtonLabel: "Unpin side menu"
5679
5945
  });
5680
- const DsCatalogLayout = (t0) => {
5946
+ const DsCatalogLayoutRoot = (t0) => {
5681
5947
  const $ = (0, react_compiler_runtime.c)(17);
5682
5948
  let className;
5683
5949
  let rest;
@@ -6047,11 +6313,19 @@ const ContentHeader = (t0) => {
6047
6313
  } else t6 = $[21];
6048
6314
  return t6;
6049
6315
  };
6050
- DsCatalogLayout.Header = Header$3;
6051
- DsCatalogLayout.Body = Body$3;
6052
- DsCatalogLayout.SideMenu = SideMenu$1;
6053
- DsCatalogLayout.Content = Content$1;
6054
- DsCatalogLayout.ContentHeader = ContentHeader;
6316
+ Header$3.displayName = "DsCatalogLayout.Header";
6317
+ Body$3.displayName = "DsCatalogLayout.Body";
6318
+ SideMenu$1.displayName = "DsCatalogLayout.SideMenu";
6319
+ Content$1.displayName = "DsCatalogLayout.Content";
6320
+ ContentHeader.displayName = "DsCatalogLayout.ContentHeader";
6321
+ const DsCatalogLayout = Object.assign(DsCatalogLayoutRoot, {
6322
+ displayName: "DsCatalogLayout",
6323
+ Header: Header$3,
6324
+ Body: Body$3,
6325
+ SideMenu: SideMenu$1,
6326
+ Content: Content$1,
6327
+ ContentHeader
6328
+ });
6055
6329
  //#endregion
6056
6330
  //#region src/components/ds-checkbox/ds-checkbox.module.scss
6057
6331
  var ds_checkbox_module_default = {
@@ -6067,7 +6341,13 @@ var ds_checkbox_module_default = {
6067
6341
  //#endregion
6068
6342
  //#region src/components/ds-checkbox/ds-checkbox.tsx
6069
6343
  /**
6070
- * Design system Checkbox component
6344
+ * @summary Checkbox for single and grouped selection
6345
+ *
6346
+ * Checkbox for boolean and multi-select inputs. Use standalone for a single
6347
+ * toggle, or compose inside `DsCheckboxGroup` for multi-select lists. Import
6348
+ * `useCheckboxSelectAll` from `ds-checkbox-group` for parent "select all"
6349
+ * checkboxes. `checked` accepts `true`, `false`, or `"indeterminate"`.
6350
+ *
6071
6351
  */
6072
6352
  const DsCheckbox = (t0) => {
6073
6353
  const $ = (0, react_compiler_runtime.c)(25);
@@ -6184,6 +6464,7 @@ const DsCheckbox = (t0) => {
6184
6464
  } else t10 = $[24];
6185
6465
  return t10;
6186
6466
  };
6467
+ DsCheckbox.displayName = "DsCheckbox";
6187
6468
  //#endregion
6188
6469
  //#region src/components/ds-checkbox/ds-checkbox.types.ts
6189
6470
  const checkboxVariants = ["default", "warning"];
@@ -6237,6 +6518,7 @@ const DsCheckboxGroup = (t0) => {
6237
6518
  } else t4 = $[11];
6238
6519
  return t4;
6239
6520
  };
6521
+ DsCheckboxGroup.displayName = "DsCheckboxGroup";
6240
6522
  //#endregion
6241
6523
  //#region src/components/ds-checkbox-group/hooks/use-checkbox-select-all.ts
6242
6524
  /**
@@ -6391,6 +6673,7 @@ const DsChip = (t0) => {
6391
6673
  } else t17 = $[28];
6392
6674
  return t17;
6393
6675
  };
6676
+ DsChip.displayName = "DsChip";
6394
6677
  //#endregion
6395
6678
  //#region src/components/ds-chip-group/ds-chip-group.module.scss
6396
6679
  var ds_chip_group_module_default = {
@@ -6432,7 +6715,8 @@ const useChipRowCalculation = ({ chipsWrapperRef, totalFilters }) => {
6432
6715
  total = next;
6433
6716
  } else total += next;
6434
6717
  }
6435
- setVisibleCount(Math.max(1, line < 2 ? index : index - 1));
6718
+ const result = Math.max(1, line < 2 ? index : index - 1);
6719
+ setVisibleCount(result);
6436
6720
  };
6437
6721
  const rafId = requestAnimationFrame(() => {
6438
6722
  calculateVisibleChips();
@@ -6535,6 +6819,7 @@ const DsChipGroup = ({ items, label = "Filtered by:", onClearAll, onItemDelete,
6535
6819
  ]
6536
6820
  });
6537
6821
  };
6822
+ DsChipGroup.displayName = "DsChipGroup";
6538
6823
  //#endregion
6539
6824
  //#region src/components/ds-comment-bubble/ds-comment-bubble.module.scss
6540
6825
  var ds_comment_bubble_module_default = {
@@ -6660,6 +6945,7 @@ const DsTextarea = (t0) => {
6660
6945
  } else t7 = $[21];
6661
6946
  return t7;
6662
6947
  };
6948
+ DsTextarea.displayName = "DsTextarea";
6663
6949
  //#endregion
6664
6950
  //#region src/utils/format-relative-time.ts
6665
6951
  const SECONDS_PER_MINUTE = 60;
@@ -6924,6 +7210,7 @@ const DsThreadItem = (t0) => {
6924
7210
  } else t18 = $[51];
6925
7211
  return t18;
6926
7212
  };
7213
+ DsThreadItem.displayName = "DsThreadItem";
6927
7214
  //#endregion
6928
7215
  //#region src/components/ds-comment-bubble/hooks/use-click-outside.ts
6929
7216
  const useClickOutside = (ref, onClickOutside, t0) => {
@@ -7030,7 +7317,7 @@ const DsCommentThread = (t0) => {
7030
7317
  const bottomRef = (0, react.useRef)(null);
7031
7318
  let t1;
7032
7319
  if ($[0] !== messages) {
7033
- t1 = messages.find(_temp$11) || messages[0];
7320
+ t1 = messages.find(_temp$12) || messages[0];
7034
7321
  $[0] = messages;
7035
7322
  $[1] = t1;
7036
7323
  } else t1 = $[1];
@@ -7170,7 +7457,8 @@ const DsCommentThread = (t0) => {
7170
7457
  } else t22 = $[36];
7171
7458
  return t22;
7172
7459
  };
7173
- function _temp$11(m) {
7460
+ DsCommentThread.displayName = "DsCommentThread";
7461
+ function _temp$12(m) {
7174
7462
  return m.isInitialMessage;
7175
7463
  }
7176
7464
  //#endregion
@@ -7512,6 +7800,7 @@ const DsTag = (t0) => {
7512
7800
  } else t28 = $[63];
7513
7801
  return t28;
7514
7802
  };
7803
+ DsTag.displayName = "DsTag";
7515
7804
  //#endregion
7516
7805
  //#region src/components/ds-tag/ds-tag.types.ts
7517
7806
  const tagSizes = ["medium", "small"];
@@ -7522,16 +7811,6 @@ const tagVariants = [
7522
7811
  "key-value"
7523
7812
  ];
7524
7813
  //#endregion
7525
- //#region src/utils/merge-refs.ts
7526
- const mergeRefs = (...refs) => {
7527
- return (value) => {
7528
- refs.filter((r) => !!r).forEach((ref) => {
7529
- if (typeof ref === "function") ref(value);
7530
- else ref.current = value;
7531
- });
7532
- };
7533
- };
7534
- //#endregion
7535
7814
  //#region src/components/ds-comment-bubble/ds-comment-bubble.tsx
7536
7815
  const DsCommentBubble = (t0) => {
7537
7816
  const $ = (0, react_compiler_runtime.c)(74);
@@ -7869,6 +8148,7 @@ const DsCommentBubble = (t0) => {
7869
8148
  } else t20 = $[73];
7870
8149
  return t20;
7871
8150
  };
8151
+ DsCommentBubble.displayName = "DsCommentBubble";
7872
8152
  //#endregion
7873
8153
  //#region src/components/ds-comment-card/ds-comment-card.module.scss
7874
8154
  var ds_comment_card_module_default = {
@@ -7902,7 +8182,7 @@ const DsCommentCard = (t0) => {
7902
8182
  const { numericId, author, createdAt, messages, referenceTag, isActionRequired } = comment;
7903
8183
  let t4;
7904
8184
  if ($[0] !== messages) {
7905
- t4 = messages.find(_temp$10) || messages[0];
8185
+ t4 = messages.find(_temp$11) || messages[0];
7906
8186
  $[0] = messages;
7907
8187
  $[1] = t4;
7908
8188
  } else t4 = $[1];
@@ -8226,7 +8506,8 @@ const DsCommentCard = (t0) => {
8226
8506
  } else t34 = $[78];
8227
8507
  return t34;
8228
8508
  };
8229
- function _temp$10(m) {
8509
+ DsCommentCard.displayName = "DsCommentCard";
8510
+ function _temp$11(m) {
8230
8511
  return m.isInitialMessage;
8231
8512
  }
8232
8513
  function _temp2$6(m_0) {
@@ -8315,6 +8596,7 @@ const DsCommentIndicator = (t0) => {
8315
8596
  } else t7 = $[16];
8316
8597
  return t7;
8317
8598
  };
8599
+ DsCommentIndicator.displayName = "DsCommentIndicator";
8318
8600
  //#endregion
8319
8601
  //#region src/components/ds-comments-drawer/ds-comments-drawer.module.scss
8320
8602
  var ds_comments_drawer_module_default = {
@@ -8436,7 +8718,7 @@ const useArkDialogBodyLockCleanup = (open, enabled) => {
8436
8718
  };
8437
8719
  //#endregion
8438
8720
  //#region src/components/ds-drawer/ds-drawer.tsx
8439
- const DsDrawer = (t0) => {
8721
+ const DsDrawerRoot = (t0) => {
8440
8722
  const $ = (0, react_compiler_runtime.c)(28);
8441
8723
  const { open, onOpenChange, onOpenAutoFocus, columns: t1, position: t2, backdrop: t3, closeOnEscape: t4, closeOnInteractOutside: t5, portal: t6, style, className, children } = t0;
8442
8724
  const columns = t1 === void 0 ? 4 : t1;
@@ -8717,13 +8999,23 @@ const Actions$1 = (t0) => {
8717
8999
  } else t2 = $[5];
8718
9000
  return t2;
8719
9001
  };
8720
- DsDrawer.Header = Header$2;
8721
- DsDrawer.Title = Title$1;
8722
- DsDrawer.CloseTrigger = CloseTrigger$1;
8723
- DsDrawer.Toolbar = Toolbar;
8724
- DsDrawer.Body = Body$2;
8725
- DsDrawer.Footer = Footer$2;
8726
- DsDrawer.Actions = Actions$1;
9002
+ Header$2.displayName = "DsDrawer.Header";
9003
+ Title$1.displayName = "DsDrawer.Title";
9004
+ CloseTrigger$1.displayName = "DsDrawer.CloseTrigger";
9005
+ Toolbar.displayName = "DsDrawer.Toolbar";
9006
+ Body$2.displayName = "DsDrawer.Body";
9007
+ Footer$2.displayName = "DsDrawer.Footer";
9008
+ Actions$1.displayName = "DsDrawer.Actions";
9009
+ const DsDrawer = Object.assign(DsDrawerRoot, {
9010
+ displayName: "DsDrawer",
9011
+ Header: Header$2,
9012
+ Title: Title$1,
9013
+ CloseTrigger: CloseTrigger$1,
9014
+ Toolbar,
9015
+ Body: Body$2,
9016
+ Footer: Footer$2,
9017
+ Actions: Actions$1
9018
+ });
8727
9019
  //#endregion
8728
9020
  //#region src/components/ds-tag-filter/ds-tag-filter.module.scss
8729
9021
  var ds_tag_filter_module_default = {
@@ -8816,9 +9108,10 @@ const useTagOverflowCalculation = (t0) => {
8816
9108
  return;
8817
9109
  }
8818
9110
  const { count } = fitTagsInRow(tagWidths, getContainerAvailableWidth(container), gap);
9111
+ const hasOverflow = count < tagWidths.length;
8819
9112
  setState({
8820
9113
  visibleTagCount: count,
8821
- hasOverflow: count < tagWidths.length
9114
+ hasOverflow
8822
9115
  });
8823
9116
  };
8824
9117
  $[1] = containerRef;
@@ -9115,6 +9408,7 @@ const DsTagFilter = (t0) => {
9115
9408
  } else t25 = $[61];
9116
9409
  return t25;
9117
9410
  };
9411
+ DsTagFilter.displayName = "DsTagFilter";
9118
9412
  //#endregion
9119
9413
  //#region src/components/ds-comments-drawer/comments-filters.ts
9120
9414
  const initialFilterState = {
@@ -9261,7 +9555,7 @@ var ds_modal_module_default = {
9261
9555
  * Supports custom header, footer, and body content with grid-based sizing.
9262
9556
  * Use columns prop to control modal width (1-12 grid columns).
9263
9557
  */
9264
- const DsModal = (t0) => {
9558
+ const DsModalRoot = (t0) => {
9265
9559
  const $ = (0, react_compiler_runtime.c)(20);
9266
9560
  const { open, columns: t1, dividers: t2, style, className, modal: t3, closeOnEscape, closeOnInteractOutside: t4, children, onOpenChange } = t0;
9267
9561
  const columns = t1 === void 0 ? 6 : t1;
@@ -9484,12 +9778,21 @@ const Actions = (t0) => {
9484
9778
  } else t2 = $[5];
9485
9779
  return t2;
9486
9780
  };
9487
- DsModal.Header = Header$1;
9488
- DsModal.Title = Title;
9489
- DsModal.CloseTrigger = CloseTrigger;
9490
- DsModal.Body = Body$1;
9491
- DsModal.Footer = Footer$1;
9492
- DsModal.Actions = Actions;
9781
+ Header$1.displayName = "DsModal.Header";
9782
+ Title.displayName = "DsModal.Title";
9783
+ CloseTrigger.displayName = "DsModal.CloseTrigger";
9784
+ Body$1.displayName = "DsModal.Body";
9785
+ Footer$1.displayName = "DsModal.Footer";
9786
+ Actions.displayName = "DsModal.Actions";
9787
+ const DsModal = Object.assign(DsModalRoot, {
9788
+ displayName: "DsModal",
9789
+ Header: Header$1,
9790
+ Title,
9791
+ CloseTrigger,
9792
+ Body: Body$1,
9793
+ Footer: Footer$1,
9794
+ Actions
9795
+ });
9493
9796
  //#endregion
9494
9797
  //#region src/components/ds-tabs/components/ds-tabs-list/ds-tabs-list.module.scss
9495
9798
  var ds_tabs_list_module_default = { "tabList": "vT68YW_tabList" };
@@ -9526,6 +9829,7 @@ const DsTabsList = (t0) => {
9526
9829
  } else t3 = $[6];
9527
9830
  return t3;
9528
9831
  };
9832
+ DsTabsList.displayName = "DsTabs.List";
9529
9833
  //#endregion
9530
9834
  //#region src/components/ds-tabs/components/ds-tabs-tab/ds-tabs-tab.module.scss
9531
9835
  var ds_tabs_tab_module_default = {
@@ -9651,7 +9955,7 @@ const DsTabsTab = (t0) => {
9651
9955
  })
9652
9956
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsDropdownMenu.Content, {
9653
9957
  className: ds_tabs_tab_module_default.menuContent,
9654
- children: menuActionItems.map(_temp$9)
9958
+ children: menuActionItems.map(_temp$10)
9655
9959
  })]
9656
9960
  });
9657
9961
  $[17] = handleMenuActionSelect;
@@ -9689,7 +9993,8 @@ const DsTabsTab = (t0) => {
9689
9993
  } else t6 = $[29];
9690
9994
  return t6;
9691
9995
  };
9692
- function _temp$9(item) {
9996
+ DsTabsTab.displayName = "DsTabs.Tab";
9997
+ function _temp$10(item) {
9693
9998
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsDropdownMenu.Item, {
9694
9999
  value: item.value,
9695
10000
  disabled: item.disabled,
@@ -9733,6 +10038,7 @@ const DsTabsContent = (t0) => {
9733
10038
  } else t2 = $[6];
9734
10039
  return t2;
9735
10040
  };
10041
+ DsTabsContent.displayName = "DsTabs.Content";
9736
10042
  //#endregion
9737
10043
  //#region src/components/ds-tabs/ds-tabs.module.scss
9738
10044
  var ds_tabs_module_default = { "root": "gZYmYG_root" };
@@ -9785,6 +10091,7 @@ const DsTabsRoot = (t0) => {
9785
10091
  } else t5 = $[12];
9786
10092
  return t5;
9787
10093
  };
10094
+ DsTabsRoot.displayName = "DsTabs.Root";
9788
10095
  const DsTabs = {
9789
10096
  Root: DsTabsRoot,
9790
10097
  List: DsTabsList,
@@ -10213,7 +10520,8 @@ const YearView$1 = () => {
10213
10520
  } else t0 = $[0];
10214
10521
  return t0;
10215
10522
  };
10216
- function _temp$8(weekDay, id) {
10523
+ DsDateInput.displayName = "DsDateInput";
10524
+ function _temp$9(weekDay, id) {
10217
10525
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableHeader, {
10218
10526
  className: ds_date_input_module_default.tableHeader,
10219
10527
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
@@ -10248,7 +10556,7 @@ function _temp4$2(datePicker) {
10248
10556
  className: ds_date_input_module_default.tableHead,
10249
10557
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableRow, {
10250
10558
  className: ds_date_input_module_default.tableRow,
10251
- children: datePicker.weekDays.map(_temp$8)
10559
+ children: datePicker.weekDays.map(_temp$9)
10252
10560
  })
10253
10561
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableBody, {
10254
10562
  className: ds_date_input_module_default.tableBody,
@@ -10891,7 +11199,7 @@ const DsCommentsDrawer = (t0) => {
10891
11199
  authorsMap.set(comment.author.id, comment.author.name);
10892
11200
  comment.labels?.forEach((label) => labelsSet.add(label));
10893
11201
  });
10894
- availableAuthors = Array.from(authorsMap.entries()).map(_temp$7);
11202
+ availableAuthors = Array.from(authorsMap.entries()).map(_temp$8);
10895
11203
  availableLabels = Array.from(labelsSet);
10896
11204
  let filteredComments = comments;
10897
11205
  if (!showResolved) filteredComments = filteredComments.filter(_temp2$4);
@@ -10965,7 +11273,10 @@ const DsCommentsDrawer = (t0) => {
10965
11273
  if ($[49] !== appliedFilters || $[50] !== filterTags) {
10966
11274
  t21 = (item) => {
10967
11275
  const tag = filterTags.find((c_2) => c_2.id === item.id);
10968
- if (tag) setAppliedFilters(removeTag(appliedFilters, tag));
11276
+ if (tag) {
11277
+ const newFilters = removeTag(appliedFilters, tag);
11278
+ setAppliedFilters(newFilters);
11279
+ }
10969
11280
  };
10970
11281
  $[49] = appliedFilters;
10971
11282
  $[50] = filterTags;
@@ -11240,7 +11551,8 @@ const DsCommentsDrawer = (t0) => {
11240
11551
  } else t18 = $[101];
11241
11552
  return t18;
11242
11553
  };
11243
- function _temp$7(t0) {
11554
+ DsCommentsDrawer.displayName = "DsCommentsDrawer";
11555
+ function _temp$8(t0) {
11244
11556
  const [id, name] = t0;
11245
11557
  return {
11246
11558
  id,
@@ -11261,11 +11573,7 @@ function _temp5$1(c_1) {
11261
11573
  }
11262
11574
  //#endregion
11263
11575
  //#region src/components/ds-confirmation/ds-confirmation.tsx
11264
- /**
11265
- * @deprecated DsConfirmation is deprecated. Use DsModal instead.
11266
- * @see {@link ../ds-modal} for the replacement component.
11267
- */
11268
- const DsConfirmation = (props) => {
11576
+ const DsConfirmationRoot = (props) => {
11269
11577
  const $ = (0, react_compiler_runtime.c)(2);
11270
11578
  let t0;
11271
11579
  if ($[0] !== props) {
@@ -11280,12 +11588,19 @@ const DsConfirmation = (props) => {
11280
11588
  } else t0 = $[1];
11281
11589
  return t0;
11282
11590
  };
11283
- DsConfirmation.Header = DsModal.Header;
11284
- DsConfirmation.Title = DsModal.Title;
11285
- DsConfirmation.CloseTrigger = DsModal.CloseTrigger;
11286
- DsConfirmation.Body = DsModal.Body;
11287
- DsConfirmation.Footer = DsModal.Footer;
11288
- DsConfirmation.Actions = DsModal.Actions;
11591
+ /**
11592
+ * @deprecated DsConfirmation is deprecated. Use DsModal instead.
11593
+ * @see {@link ../ds-modal} for the replacement component.
11594
+ */
11595
+ const DsConfirmation = Object.assign(DsConfirmationRoot, {
11596
+ displayName: "DsConfirmation",
11597
+ Header: DsModal.Header,
11598
+ Title: DsModal.Title,
11599
+ CloseTrigger: DsModal.CloseTrigger,
11600
+ Body: DsModal.Body,
11601
+ Footer: DsModal.Footer,
11602
+ Actions: DsModal.Actions
11603
+ });
11289
11604
  //#endregion
11290
11605
  //#region src/components/ds-date-picker/ds-date-picker.utils.ts
11291
11606
  const toIntlDate = (date) => date ? (0, _internationalized_date.fromDate)(date, (0, _internationalized_date.getLocalTimeZone)()) : date;
@@ -11942,6 +12257,7 @@ const DsTimePicker = (props) => {
11942
12257
  } else t26 = $[71];
11943
12258
  return t26;
11944
12259
  };
12260
+ DsTimePicker.displayName = "DsTimePicker";
11945
12261
  //#endregion
11946
12262
  //#region src/components/ds-date-picker/ds-date-picker.module.scss
11947
12263
  var ds_date_picker_module_default = {
@@ -12040,7 +12356,7 @@ const DayView = (t0) => {
12040
12356
  className: calendar_table_module_default.table,
12041
12357
  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, {
12042
12358
  className: calendar_table_module_default.tableRow,
12043
- children: datePicker.weekDays.map(_temp$6)
12359
+ children: datePicker.weekDays.map(_temp$7)
12044
12360
  }) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableBody, {
12045
12361
  className: calendar_table_module_default.tableBody,
12046
12362
  children: datePicker.weeks.map(_temp3$3)
@@ -12055,7 +12371,7 @@ const DayView = (t0) => {
12055
12371
  } else t1 = $[1];
12056
12372
  return t1;
12057
12373
  };
12058
- function _temp$6(weekDay, idx) {
12374
+ function _temp$7(weekDay, idx) {
12059
12375
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableHeader, {
12060
12376
  className: calendar_table_module_default.tableHeader,
12061
12377
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
@@ -12099,7 +12415,7 @@ const MonthView = () => {
12099
12415
  } else t0 = $[0];
12100
12416
  return t0;
12101
12417
  };
12102
- function _temp$5(month, monthIdx) {
12418
+ function _temp$6(month, monthIdx) {
12103
12419
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableCell, {
12104
12420
  value: month.value,
12105
12421
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableCellTrigger, {
@@ -12114,7 +12430,7 @@ function _temp$5(month, monthIdx) {
12114
12430
  function _temp2$2(months, rowIdx) {
12115
12431
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableRow, {
12116
12432
  className: calendar_table_module_default.tableRow,
12117
- children: months.map(_temp$5)
12433
+ children: months.map(_temp$6)
12118
12434
  }, rowIdx);
12119
12435
  }
12120
12436
  function _temp3$2(datePicker) {
@@ -12146,7 +12462,7 @@ const YearView = () => {
12146
12462
  } else t0 = $[0];
12147
12463
  return t0;
12148
12464
  };
12149
- function _temp$4(year, yearIdx) {
12465
+ function _temp$5(year, yearIdx) {
12150
12466
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableCell, {
12151
12467
  value: year.value,
12152
12468
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableCellTrigger, {
@@ -12161,7 +12477,7 @@ function _temp$4(year, yearIdx) {
12161
12477
  function _temp2$1(years, rowIdx) {
12162
12478
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_date_picker.DatePicker.TableRow, {
12163
12479
  className: calendar_table_module_default.tableRow,
12164
- children: years.map(_temp$4)
12480
+ children: years.map(_temp$5)
12165
12481
  }, rowIdx);
12166
12482
  }
12167
12483
  function _temp3$1(datePicker) {
@@ -12175,6 +12491,13 @@ function _temp3$1(datePicker) {
12175
12491
  }
12176
12492
  //#endregion
12177
12493
  //#region src/components/ds-date-picker/ds-date-picker.tsx
12494
+ /**
12495
+ * @summary Date and optional time input with calendar popover and manual typing.
12496
+ *
12497
+ * Supports controlled (`value` + `onChange`) and uncontrolled (`defaultValue`) modes.
12498
+ * Pass `withTime` to include a nested time picker. A clear button appears when a
12499
+ * value is set unless `hideClearButton` is set.
12500
+ */
12178
12501
  const DsDatePicker = (t0) => {
12179
12502
  const $ = (0, react_compiler_runtime.c)(123);
12180
12503
  let _defaultValue;
@@ -12313,7 +12636,10 @@ const DsDatePicker = (t0) => {
12313
12636
  min,
12314
12637
  max,
12315
12638
  withTime
12316
- })) setValue(parseDate(text));
12639
+ })) {
12640
+ const parsedValue = parseDate(text);
12641
+ setValue(parsedValue);
12642
+ }
12317
12643
  };
12318
12644
  $[37] = max;
12319
12645
  $[38] = min;
@@ -12615,6 +12941,7 @@ const DsDatePicker = (t0) => {
12615
12941
  } else t39 = $[122];
12616
12942
  return t39;
12617
12943
  };
12944
+ DsDatePicker.displayName = "DsDatePicker";
12618
12945
  //#endregion
12619
12946
  //#region src/components/ds-select/ds-select.module.scss
12620
12947
  var ds_select_module_default = {
@@ -12745,7 +13072,7 @@ const DsSelect = (t0) => {
12745
13072
  const internalOptions = multiselectProps.multiple ? [SELECT_ALL_OPTION, ...userOptions] : userOptions;
12746
13073
  const collection = (0, _ark_ui_react_select.createListCollection)({
12747
13074
  items: internalOptions,
12748
- itemToValue: _temp$3
13075
+ itemToValue: _temp$4
12749
13076
  });
12750
13077
  let t2;
12751
13078
  if ($[0] !== searchTerm) {
@@ -12970,7 +13297,8 @@ function getItemCheckedState({ item, select, options }) {
12970
13297
  if (select.selectedItems.length === options.length - 1) return true;
12971
13298
  return select.hasSelectedItems ? "indeterminate" : false;
12972
13299
  }
12973
- function _temp$3(item) {
13300
+ DsSelect.displayName = "DsSelect";
13301
+ function _temp$4(item) {
12974
13302
  return item.value;
12975
13303
  }
12976
13304
  function _temp2(value_0) {
@@ -12999,7 +13327,7 @@ var ds_number_input_module_default = {
12999
13327
  //#endregion
13000
13328
  //#region src/components/ds-number-input/ds-number-input.tsx
13001
13329
  const DsNumberInput = (t0) => {
13002
- const $ = (0, react_compiler_runtime.c)(33);
13330
+ const $ = (0, react_compiler_runtime.c)(36);
13003
13331
  const { id, ref, name, size: t1, onBlur, onChange, onValueChange, className, style: t2, placeholder, disabled: t3, min, max, step, value, defaultValue } = t0;
13004
13332
  const size = t1 === void 0 ? "default" : t1;
13005
13333
  let t4;
@@ -13024,26 +13352,32 @@ const DsNumberInput = (t0) => {
13024
13352
  $[5] = t7;
13025
13353
  } else t7 = $[5];
13026
13354
  const containerClass = t7;
13027
- const t8 = typeof value !== "undefined" ? String(value) : void 0;
13028
- const t9 = typeof defaultValue !== "undefined" ? String(defaultValue) : void 0;
13029
- let t10;
13030
- if ($[6] !== onValueChange) {
13031
- t10 = (details) => onValueChange?.(details.valueAsNumber);
13032
- $[6] = onValueChange;
13033
- $[7] = t10;
13034
- } else t10 = $[7];
13355
+ let t8;
13356
+ if ($[6] !== id) {
13357
+ t8 = { input: id };
13358
+ $[6] = id;
13359
+ $[7] = t8;
13360
+ } else t8 = $[7];
13361
+ const t9 = typeof value !== "undefined" ? String(value) : void 0;
13362
+ const t10 = typeof defaultValue !== "undefined" ? String(defaultValue) : void 0;
13035
13363
  let t11;
13036
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
13037
- t11 = (0, classnames.default)(ds_number_input_module_default.iconButton);
13038
- $[8] = t11;
13039
- } else t11 = $[8];
13364
+ if ($[8] !== onValueChange) {
13365
+ t11 = (details) => onValueChange?.(details.valueAsNumber);
13366
+ $[8] = onValueChange;
13367
+ $[9] = t11;
13368
+ } else t11 = $[9];
13040
13369
  let t12;
13041
- if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
13042
- t12 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.DecrementTrigger, {
13370
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
13371
+ t12 = (0, classnames.default)(ds_number_input_module_default.iconButton);
13372
+ $[10] = t12;
13373
+ } else t12 = $[10];
13374
+ let t13;
13375
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
13376
+ t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.DecrementTrigger, {
13043
13377
  asChild: true,
13044
13378
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
13045
13379
  type: "button",
13046
- className: t11,
13380
+ className: t12,
13047
13381
  "aria-label": "Decrease value",
13048
13382
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
13049
13383
  icon: "remove",
@@ -13051,42 +13385,42 @@ const DsNumberInput = (t0) => {
13051
13385
  })
13052
13386
  })
13053
13387
  });
13054
- $[9] = t12;
13055
- } else t12 = $[9];
13056
- let t13;
13057
- if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
13058
- t13 = (0, classnames.default)(ds_number_input_module_default.input);
13059
- $[10] = t13;
13060
- } else t13 = $[10];
13388
+ $[11] = t13;
13389
+ } else t13 = $[11];
13061
13390
  let t14;
13062
- if ($[11] !== name || $[12] !== onBlur || $[13] !== onChange || $[14] !== placeholder || $[15] !== ref) {
13063
- t14 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Input, {
13391
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
13392
+ t14 = (0, classnames.default)(ds_number_input_module_default.input);
13393
+ $[12] = t14;
13394
+ } else t14 = $[12];
13395
+ let t15;
13396
+ if ($[13] !== name || $[14] !== onBlur || $[15] !== onChange || $[16] !== placeholder || $[17] !== ref) {
13397
+ t15 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Input, {
13064
13398
  ref,
13065
13399
  name,
13066
- className: t13,
13400
+ className: t14,
13067
13401
  placeholder,
13068
13402
  onBlur,
13069
13403
  onChange
13070
13404
  });
13071
- $[11] = name;
13072
- $[12] = onBlur;
13073
- $[13] = onChange;
13074
- $[14] = placeholder;
13075
- $[15] = ref;
13076
- $[16] = t14;
13077
- } else t14 = $[16];
13078
- let t15;
13079
- if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
13080
- t15 = (0, classnames.default)(ds_number_input_module_default.iconButton);
13081
- $[17] = t15;
13082
- } else t15 = $[17];
13405
+ $[13] = name;
13406
+ $[14] = onBlur;
13407
+ $[15] = onChange;
13408
+ $[16] = placeholder;
13409
+ $[17] = ref;
13410
+ $[18] = t15;
13411
+ } else t15 = $[18];
13083
13412
  let t16;
13084
- if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
13085
- t16 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.IncrementTrigger, {
13413
+ if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
13414
+ t16 = (0, classnames.default)(ds_number_input_module_default.iconButton);
13415
+ $[19] = t16;
13416
+ } else t16 = $[19];
13417
+ let t17;
13418
+ if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
13419
+ t17 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.IncrementTrigger, {
13086
13420
  asChild: true,
13087
13421
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
13088
13422
  type: "button",
13089
- className: t15,
13423
+ className: t16,
13090
13424
  "aria-label": "Increase value",
13091
13425
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
13092
13426
  icon: "add",
@@ -13094,53 +13428,56 @@ const DsNumberInput = (t0) => {
13094
13428
  })
13095
13429
  })
13096
13430
  });
13097
- $[18] = t16;
13098
- } else t16 = $[18];
13099
- let t17;
13100
- if ($[19] !== containerClass || $[20] !== style || $[21] !== t14) {
13101
- t17 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Control, {
13431
+ $[20] = t17;
13432
+ } else t17 = $[20];
13433
+ let t18;
13434
+ if ($[21] !== containerClass || $[22] !== style || $[23] !== t15) {
13435
+ t18 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Control, {
13102
13436
  asChild: true,
13103
13437
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
13104
13438
  className: containerClass,
13105
13439
  style,
13106
13440
  children: [
13107
- t12,
13108
- t14,
13109
- t16
13441
+ t13,
13442
+ t15,
13443
+ t17
13110
13444
  ]
13111
13445
  })
13112
13446
  });
13113
- $[19] = containerClass;
13114
- $[20] = style;
13115
- $[21] = t14;
13116
- $[22] = t17;
13117
- } else t17 = $[22];
13118
- let t18;
13119
- if ($[23] !== disabled || $[24] !== id || $[25] !== max || $[26] !== min || $[27] !== step || $[28] !== t10 || $[29] !== t17 || $[30] !== t8 || $[31] !== t9) {
13120
- t18 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Root, {
13447
+ $[21] = containerClass;
13448
+ $[22] = style;
13449
+ $[23] = t15;
13450
+ $[24] = t18;
13451
+ } else t18 = $[24];
13452
+ let t19;
13453
+ if ($[25] !== disabled || $[26] !== id || $[27] !== max || $[28] !== min || $[29] !== step || $[30] !== t10 || $[31] !== t11 || $[32] !== t18 || $[33] !== t8 || $[34] !== t9) {
13454
+ t19 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react.NumberInput.Root, {
13121
13455
  id,
13456
+ ids: t8,
13122
13457
  min,
13123
13458
  max,
13124
13459
  step,
13125
13460
  disabled,
13126
- value: t8,
13127
- defaultValue: t9,
13128
- onValueChange: t10,
13129
- children: t17
13461
+ value: t9,
13462
+ defaultValue: t10,
13463
+ onValueChange: t11,
13464
+ children: t18
13130
13465
  });
13131
- $[23] = disabled;
13132
- $[24] = id;
13133
- $[25] = max;
13134
- $[26] = min;
13135
- $[27] = step;
13136
- $[28] = t10;
13137
- $[29] = t17;
13138
- $[30] = t8;
13139
- $[31] = t9;
13466
+ $[25] = disabled;
13467
+ $[26] = id;
13468
+ $[27] = max;
13469
+ $[28] = min;
13470
+ $[29] = step;
13471
+ $[30] = t10;
13472
+ $[31] = t11;
13140
13473
  $[32] = t18;
13141
- } else t18 = $[32];
13142
- return t18;
13474
+ $[33] = t8;
13475
+ $[34] = t9;
13476
+ $[35] = t19;
13477
+ } else t19 = $[35];
13478
+ return t19;
13143
13479
  };
13480
+ DsNumberInput.displayName = "DsNumberInput";
13144
13481
  //#endregion
13145
13482
  //#region src/components/ds-password-input/ds-password-input.module.scss
13146
13483
  var ds_password_input_module_default = {
@@ -13264,6 +13601,7 @@ const DsPasswordInput = (t0) => {
13264
13601
  } else t13 = $[26];
13265
13602
  return t13;
13266
13603
  };
13604
+ DsPasswordInput.displayName = "DsPasswordInput";
13267
13605
  //#endregion
13268
13606
  //#region src/components/ds-form-control/ds-form-control.module.scss
13269
13607
  var ds_form_control_module_default = {
@@ -13330,7 +13668,7 @@ const DsFormControlDescription = (t0) => {
13330
13668
  } else t2 = $[4];
13331
13669
  return t2;
13332
13670
  };
13333
- const DsFormControl = (t0) => {
13671
+ const DsFormControlRoot = (t0) => {
13334
13672
  const $ = (0, react_compiler_runtime.c)(23);
13335
13673
  const { id, status, label, hideLabel: t1, required: t2, slots, message, messageIcon: t3, className, style, children } = t0;
13336
13674
  const hideLabel = t1 === void 0 ? false : t1;
@@ -13416,16 +13754,20 @@ const DsFormControl = (t0) => {
13416
13754
  } else t10 = $[22];
13417
13755
  return t10;
13418
13756
  };
13419
- DsFormControl.TextInput = controlify(DsTextInput);
13420
- DsFormControl.NumberInput = controlify(DsNumberInput);
13421
- DsFormControl.PasswordInput = controlify(DsPasswordInput);
13422
- /** @deprecated DsDateInput is deprecated. Use DsDatePicker or DsDateRangePicker instead. */
13423
- DsFormControl.DateInput = controlify(DsDateInput);
13424
- DsFormControl.DatePicker = controlify(DsDatePicker);
13425
- DsFormControl.TimePicker = controlify(DsTimePicker);
13426
- DsFormControl.Textarea = controlify(DsTextarea);
13427
- DsFormControl.Select = controlify(DsSelect);
13428
- DsFormControl.Description = DsFormControlDescription;
13757
+ DsFormControlDescription.displayName = "DsFormControl.Description";
13758
+ const DsFormControl = Object.assign(DsFormControlRoot, {
13759
+ displayName: "DsFormControl",
13760
+ TextInput: controlify(DsTextInput),
13761
+ NumberInput: controlify(DsNumberInput),
13762
+ PasswordInput: controlify(DsPasswordInput),
13763
+ /** @deprecated DsDateInput is deprecated. Use DsDatePicker or DsDateRangePicker instead. */
13764
+ DateInput: controlify(DsDateInput),
13765
+ DatePicker: controlify(DsDatePicker),
13766
+ TimePicker: controlify(DsTimePicker),
13767
+ Textarea: controlify(DsTextarea),
13768
+ Select: controlify(DsSelect),
13769
+ Description: DsFormControlDescription
13770
+ });
13429
13771
  //#endregion
13430
13772
  //#region src/components/ds-form-control/ds-form-control.types.ts
13431
13773
  const controlStatuses = [
@@ -13660,6 +14002,7 @@ const DsDateRangePicker = (t0) => {
13660
14002
  } else t29 = $[61];
13661
14003
  return t29;
13662
14004
  };
14005
+ DsDateRangePicker.displayName = "DsDateRangePicker";
13663
14006
  //#endregion
13664
14007
  //#region src/components/ds-dialog/ds-dialog.module.scss
13665
14008
  var ds_dialog_module_default = {
@@ -13671,6 +14014,13 @@ var ds_dialog_module_default = {
13671
14014
  };
13672
14015
  //#endregion
13673
14016
  //#region src/components/ds-dialog/ds-dialog.tsx
14017
+ /**
14018
+ * @summary Lightweight controlled dialog for simple panels and popovers.
14019
+ *
14020
+ * Renders a Radix dialog with required accessible title, optional description,
14021
+ * and custom body content. Use for focused overlays and menu-style panels.
14022
+ * Prefer `DsModal` when you need structured header, body, and footer sections.
14023
+ */
13674
14024
  const DsDialog = ({ open, onOpenChange, title, hideTitle, description, hideDescription, children, className, anchorRef, customPosition, modal = true }) => {
13675
14025
  let style = {};
13676
14026
  if (customPosition) style = {
@@ -13717,6 +14067,7 @@ const DsDialog = ({ open, onOpenChange, title, hideTitle, description, hideDescr
13717
14067
  })] })
13718
14068
  });
13719
14069
  };
14070
+ DsDialog.displayName = "DsDialog";
13720
14071
  //#endregion
13721
14072
  //#region src/components/ds-divider/ds-divider.module.scss
13722
14073
  var ds_divider_module_default = {
@@ -13761,6 +14112,7 @@ const DsDivider = (t0) => {
13761
14112
  } else t4 = $[8];
13762
14113
  return t4;
13763
14114
  };
14115
+ DsDivider.displayName = "DsDivider";
13764
14116
  //#endregion
13765
14117
  //#region src/components/ds-expandable-text-input/ds-expandable-text-input.module.scss
13766
14118
  var ds_expandable_text_input_module_default = {
@@ -13937,6 +14289,7 @@ function InputExpander(t0) {
13937
14289
  } else t1 = $[1];
13938
14290
  return t1;
13939
14291
  }
14292
+ DsExpandableTextInput.displayName = "DsExpandableTextInput";
13940
14293
  //#endregion
13941
14294
  //#region src/components/ds-file-upload/utils/get-error-message.ts
13942
14295
  const FILE_ERROR_MESSAGES = {
@@ -14201,7 +14554,7 @@ const FileUploadItem = (t0) => {
14201
14554
  } else t20 = $[46];
14202
14555
  let t21;
14203
14556
  if ($[47] !== errors || $[48] !== status) {
14204
- t21 = status === "error" && errors?.length && errors.map(_temp$2);
14557
+ t21 = status === "error" && errors?.length && errors.map(_temp$3);
14205
14558
  $[47] = errors;
14206
14559
  $[48] = status;
14207
14560
  $[49] = t21;
@@ -14244,7 +14597,7 @@ const FileUploadItem = (t0) => {
14244
14597
  } else t23 = $[60];
14245
14598
  return t23;
14246
14599
  };
14247
- function _temp$2(error) {
14600
+ function _temp$3(error) {
14248
14601
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
14249
14602
  className: file_upload_item_module_default.errorMessage,
14250
14603
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsIcon, {
@@ -14738,10 +15091,11 @@ function useFileUpload({ adapter, autoUpload = true, maxConcurrent = 3, maxFiles
14738
15091
  filesToAdd = files_0.slice(0, availableSlots);
14739
15092
  rejectedFiles = files_0.slice(availableSlots);
14740
15093
  } else return files_0;
14741
- addRejectedFiles(rejectedFiles.map((file_3) => ({
15094
+ const rejectedFilesWithErrors = rejectedFiles.map((file_3) => ({
14742
15095
  file: file_3,
14743
15096
  errors: ["TOO_MANY_FILES"]
14744
- })));
15097
+ }));
15098
+ addRejectedFiles(rejectedFilesWithErrors);
14745
15099
  return filesToAdd;
14746
15100
  };
14747
15101
  const addNewFiles = (filesToUpload) => {
@@ -14756,8 +15110,10 @@ function useFileUpload({ adapter, autoUpload = true, maxConcurrent = 3, maxFiles
14756
15110
  };
14757
15111
  const addFiles = (newFiles_1) => {
14758
15112
  const addedFiles = getAddedFiles(newFiles_1);
14759
- markDuplicates(getDuplicatedFiles(newFiles_1));
14760
- const uploadedFiles_1 = addNewFiles(markMaxFiles(addedFiles));
15113
+ const duplicateFiles = getDuplicatedFiles(newFiles_1);
15114
+ markDuplicates(duplicateFiles);
15115
+ const filesToAdd_0 = markMaxFiles(addedFiles);
15116
+ const uploadedFiles_1 = addNewFiles(filesToAdd_0);
14761
15117
  uploadNewFiles(uploadedFiles_1);
14762
15118
  return uploadedFiles_1;
14763
15119
  };
@@ -15002,6 +15358,7 @@ const DsFileUpload = (t0) => {
15002
15358
  } else t5 = $[32];
15003
15359
  return t5;
15004
15360
  };
15361
+ DsFileUpload.displayName = "DsFileUpload";
15005
15362
  //#endregion
15006
15363
  //#region src/components/ds-filter-status-icon/ds-filter-status-icon.module.scss
15007
15364
  var ds_filter_status_icon_module_default = {
@@ -15056,6 +15413,7 @@ const DsFilterStatusIcon = (t0) => {
15056
15413
  } else t6 = $[8];
15057
15414
  return t6;
15058
15415
  };
15416
+ DsFilterStatusIcon.displayName = "DsFilterStatusIcon";
15059
15417
  //#endregion
15060
15418
  //#region src/components/ds-filter-status-icon/ds-filter-status-icon.types.ts
15061
15419
  const filterStatuses = [
@@ -15098,6 +15456,8 @@ const DsGridItemBase = ({ children, colSpan, colStart, rowSpan, rowStart, classN
15098
15456
  //#region src/components/ds-grid/index.ts
15099
15457
  const DsGrid = withResponsiveProps(DsGridBase, ["gutter", "margin"]);
15100
15458
  const DsGridItem = withResponsiveProps(DsGridItemBase, ["colSpan", "rowSpan"]);
15459
+ DsGrid.displayName = "DsGrid";
15460
+ DsGridItem.displayName = "DsGridItem";
15101
15461
  //#endregion
15102
15462
  //#region src/components/ds-key-value-pair/ds-key-value-pair.module.scss
15103
15463
  var ds_key_value_pair_module_default = {
@@ -15192,6 +15552,7 @@ const DsKeyValuePair = (t0) => {
15192
15552
  } else t11 = $[21];
15193
15553
  return t11;
15194
15554
  };
15555
+ DsKeyValuePair.displayName = "DsKeyValuePair";
15195
15556
  //#endregion
15196
15557
  //#region src/components/ds-key-value-pair/ds-key-value-pair.types.ts
15197
15558
  const dsKeyValuePairOrientations = ["vertical", "horizontal"];
@@ -15351,6 +15712,7 @@ const DsLoader = (t0) => {
15351
15712
  } else t4 = $[11];
15352
15713
  return t4;
15353
15714
  };
15715
+ DsLoader.displayName = "DsLoader";
15354
15716
  //#endregion
15355
15717
  //#region src/components/ds-loader/ds-loader.types.ts
15356
15718
  const loaderVariants = ["spinner", "pulsing"];
@@ -15582,6 +15944,7 @@ function DsPanelCollapseButton(t0) {
15582
15944
  //#endregion
15583
15945
  //#region src/components/ds-panel/index.ts
15584
15946
  const DsPanel = withResponsiveProps(DsPanelBase, ["width"]);
15947
+ DsPanel.displayName = "DsPanel";
15585
15948
  //#endregion
15586
15949
  //#region src/components/ds-popover/ds-popover.module.scss
15587
15950
  var ds_popover_module_default = {
@@ -15891,6 +16254,14 @@ const DsPopoverLegacy = (t0) => {
15891
16254
  } else t5 = $[9];
15892
16255
  return t5;
15893
16256
  };
16257
+ DsPopoverLegacy.displayName = "DsPopover";
16258
+ DsPopoverRoot.displayName = "DsPopover.Root";
16259
+ DsPopoverTrigger.displayName = "DsPopover.Trigger";
16260
+ DsPopoverPanel.displayName = "DsPopover.Panel";
16261
+ DsPopoverHeader.displayName = "DsPopover.Header";
16262
+ DsPopoverContent.displayName = "DsPopover.Content";
16263
+ DsPopoverContentItem.displayName = "DsPopover.ContentItem";
16264
+ DsPopoverFooter.displayName = "DsPopover.Footer";
15894
16265
  const DsPopover = Object.assign(DsPopoverLegacy, {
15895
16266
  Root: DsPopoverRoot,
15896
16267
  Trigger: DsPopoverTrigger,
@@ -16201,6 +16572,7 @@ const DsProgressArc = (t0) => {
16201
16572
  } else t20 = $[64];
16202
16573
  return t20;
16203
16574
  };
16575
+ DsProgressArc.displayName = "DsProgressArc";
16204
16576
  //#endregion
16205
16577
  //#region src/components/ds-progress-arc/ds-progress-arc.types.ts
16206
16578
  const progressArcSizes = ["small", "medium"];
@@ -16335,6 +16707,7 @@ const DsProgressDonut = (t0) => {
16335
16707
  } else t14 = $[25];
16336
16708
  return t14;
16337
16709
  };
16710
+ DsProgressDonut.displayName = "DsProgressDonut";
16338
16711
  //#endregion
16339
16712
  //#region src/components/ds-progress-donut/ds-progress-donut.types.ts
16340
16713
  const progressDonutSizes = ["small", "medium"];
@@ -16538,6 +16911,7 @@ const DsProgressLinear = (t0) => {
16538
16911
  } else t19 = $[36];
16539
16912
  return t19;
16540
16913
  };
16914
+ DsProgressLinear.displayName = "DsProgressLinear";
16541
16915
  //#endregion
16542
16916
  //#region src/components/ds-progress-linear/ds-progress-linear.types.ts
16543
16917
  const progressLinearVariants = [
@@ -16809,6 +17183,7 @@ const DsProgressTaskBar = (t0) => {
16809
17183
  } else t21 = $[38];
16810
17184
  return t21;
16811
17185
  };
17186
+ DsProgressTaskBar.displayName = "DsProgressTaskBar";
16812
17187
  //#endregion
16813
17188
  //#region src/components/ds-radio-group/ds-radio-group.module.scss
16814
17189
  var ds_radio_group_module_default = {
@@ -16999,7 +17374,7 @@ const DsRadioGroupLegacy = (t0) => {
16999
17374
  } else t3 = $[3];
17000
17375
  let t4;
17001
17376
  if ($[4] !== options) {
17002
- t4 = options.map(_temp$1);
17377
+ t4 = options.map(_temp$2);
17003
17378
  $[4] = options;
17004
17379
  $[5] = t4;
17005
17380
  } else t4 = $[5];
@@ -17039,7 +17414,10 @@ const DsRadioGroup = {
17039
17414
  Root: Root$1,
17040
17415
  Item: Item$1
17041
17416
  };
17042
- function _temp$1(option) {
17417
+ DsRadioGroup.Root.displayName = "DsRadioGroup.Root";
17418
+ DsRadioGroup.Item.displayName = "DsRadioGroup.Item";
17419
+ DsRadioGroupLegacy.displayName = "DsRadioGroupLegacy";
17420
+ function _temp$2(option) {
17043
17421
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ark_ui_react_radio_group.RadioGroup.Item, {
17044
17422
  value: option.value,
17045
17423
  disabled: option.disabled,
@@ -17280,6 +17658,155 @@ const DsSegmentGroup = {
17280
17658
  Item,
17281
17659
  ItemText
17282
17660
  };
17661
+ DsSegmentGroup.Root.displayName = "DsSegmentGroup.Root";
17662
+ DsSegmentGroup.Item.displayName = "DsSegmentGroup.Item";
17663
+ DsSegmentGroup.ItemText.displayName = "DsSegmentGroup.ItemText";
17664
+ //#endregion
17665
+ //#region src/components/ds-site-node/hooks/use-is-overflowing.ts
17666
+ const useIsOverflowing = (text) => {
17667
+ const $ = (0, react_compiler_runtime.c)(5);
17668
+ const ref = (0, react.useRef)(null);
17669
+ const [isOverflowing, setIsOverflowing] = (0, react.useState)(false);
17670
+ let t0;
17671
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
17672
+ t0 = () => {
17673
+ const element = ref.current;
17674
+ if (!element) return;
17675
+ const measure = () => setIsOverflowing(element.scrollWidth > element.clientWidth);
17676
+ measure();
17677
+ const observer = new ResizeObserver(measure);
17678
+ observer.observe(element);
17679
+ const frame = requestAnimationFrame(measure);
17680
+ document.fonts.ready.then(measure).catch(_temp$1);
17681
+ document.fonts.addEventListener("loadingdone", measure);
17682
+ return () => {
17683
+ cancelAnimationFrame(frame);
17684
+ observer.disconnect();
17685
+ document.fonts.removeEventListener("loadingdone", measure);
17686
+ };
17687
+ };
17688
+ $[0] = t0;
17689
+ } else t0 = $[0];
17690
+ let t1;
17691
+ if ($[1] !== text) {
17692
+ t1 = [text];
17693
+ $[1] = text;
17694
+ $[2] = t1;
17695
+ } else t1 = $[2];
17696
+ (0, react.useLayoutEffect)(t0, t1);
17697
+ let t2;
17698
+ if ($[3] !== isOverflowing) {
17699
+ t2 = {
17700
+ ref,
17701
+ isOverflowing
17702
+ };
17703
+ $[3] = isOverflowing;
17704
+ $[4] = t2;
17705
+ } else t2 = $[4];
17706
+ return t2;
17707
+ };
17708
+ function _temp$1() {}
17709
+ //#endregion
17710
+ //#region src/components/ds-site-node/ds-site-node.module.scss
17711
+ var ds_site_node_module_default = {
17712
+ "node": "_9jr5kG_node",
17713
+ "overflow": "_9jr5kG_overflow",
17714
+ "pill": "_9jr5kG_pill",
17715
+ "pillMuted": "_9jr5kG_pillMuted",
17716
+ "selected": "_9jr5kG_selected",
17717
+ "siteCode": "_9jr5kG_siteCode"
17718
+ };
17719
+ //#endregion
17720
+ //#region src/components/ds-site-node/ds-site-node.tsx
17721
+ const DsSiteNode = (t0) => {
17722
+ const $ = (0, react_compiler_runtime.c)(21);
17723
+ const { ref, state: t1, tier, siteCode, overflowLabel, className, style, "aria-label": ariaLabel, onClick } = t0;
17724
+ const state = t1 === void 0 ? "default" : t1;
17725
+ const isOverflow = state === "overflow";
17726
+ const isSelected = state === "selected";
17727
+ const isMuted = state === "muted";
17728
+ const { ref: siteCodeRef, isOverflowing } = useIsOverflowing(siteCode);
17729
+ let t2;
17730
+ if ($[0] !== className || $[1] !== isOverflow || $[2] !== isSelected) {
17731
+ t2 = (0, classnames.default)(ds_site_node_module_default.node, {
17732
+ [ds_site_node_module_default.selected]: isSelected,
17733
+ [ds_site_node_module_default.overflow]: isOverflow
17734
+ }, className);
17735
+ $[0] = className;
17736
+ $[1] = isOverflow;
17737
+ $[2] = isSelected;
17738
+ $[3] = t2;
17739
+ } else t2 = $[3];
17740
+ const t3 = isSelected ? true : void 0;
17741
+ let t4;
17742
+ if ($[4] !== isMuted || $[5] !== isOverflow || $[6] !== isOverflowing || $[7] !== isSelected || $[8] !== overflowLabel || $[9] !== siteCode || $[10] !== siteCodeRef || $[11] !== tier) {
17743
+ t4 = isOverflow ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
17744
+ variant: "body-sm-reg",
17745
+ color: "secondary",
17746
+ children: overflowLabel
17747
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsStack, {
17748
+ direction: "row",
17749
+ alignItems: "center",
17750
+ justifyContent: "center",
17751
+ className: (0, classnames.default)(ds_site_node_module_default.pill, { [ds_site_node_module_default.pillMuted]: isMuted }),
17752
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
17753
+ variant: "body-xs-md",
17754
+ color: isMuted ? "on-disabled" : "on-action",
17755
+ children: tier
17756
+ })
17757
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
17758
+ ref: siteCodeRef,
17759
+ className: ds_site_node_module_default.siteCode,
17760
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTooltip, {
17761
+ content: isOverflowing ? siteCode : void 0,
17762
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
17763
+ variant: "body-sm-bold",
17764
+ color: isSelected ? "main" : "secondary",
17765
+ children: siteCode
17766
+ })
17767
+ })
17768
+ })] });
17769
+ $[4] = isMuted;
17770
+ $[5] = isOverflow;
17771
+ $[6] = isOverflowing;
17772
+ $[7] = isSelected;
17773
+ $[8] = overflowLabel;
17774
+ $[9] = siteCode;
17775
+ $[10] = siteCodeRef;
17776
+ $[11] = tier;
17777
+ $[12] = t4;
17778
+ } else t4 = $[12];
17779
+ let t5;
17780
+ if ($[13] !== ariaLabel || $[14] !== onClick || $[15] !== ref || $[16] !== style || $[17] !== t2 || $[18] !== t3 || $[19] !== t4) {
17781
+ t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
17782
+ ref,
17783
+ type: "button",
17784
+ className: t2,
17785
+ style,
17786
+ "aria-label": ariaLabel,
17787
+ "aria-current": t3,
17788
+ onClick,
17789
+ children: t4
17790
+ });
17791
+ $[13] = ariaLabel;
17792
+ $[14] = onClick;
17793
+ $[15] = ref;
17794
+ $[16] = style;
17795
+ $[17] = t2;
17796
+ $[18] = t3;
17797
+ $[19] = t4;
17798
+ $[20] = t5;
17799
+ } else t5 = $[20];
17800
+ return t5;
17801
+ };
17802
+ //#endregion
17803
+ //#region src/components/ds-site-node/ds-site-node.types.ts
17804
+ const siteNodeStates = [
17805
+ "default",
17806
+ "selected",
17807
+ "muted",
17808
+ "overflow"
17809
+ ];
17283
17810
  //#endregion
17284
17811
  //#region src/components/ds-skeleton/ds-skeleton.types.ts
17285
17812
  const skeletonColorVariants = ["gray", "blue"];
@@ -17428,6 +17955,7 @@ const DsSkeletonText = (t0) => {
17428
17955
  } else t10 = $[14];
17429
17956
  return t10;
17430
17957
  };
17958
+ DsSkeletonText.displayName = "DsSkeletonText";
17431
17959
  //#endregion
17432
17960
  //#region src/components/ds-skeleton/ds-skeleton-circle.tsx
17433
17961
  /**
@@ -17476,6 +18004,7 @@ const DsSkeletonCircle = (t0) => {
17476
18004
  } else t8 = $[9];
17477
18005
  return t8;
17478
18006
  };
18007
+ DsSkeletonCircle.displayName = "DsSkeletonCircle";
17479
18008
  //#endregion
17480
18009
  //#region src/components/ds-skeleton/ds-skeleton-rect.tsx
17481
18010
  /**
@@ -17526,13 +18055,17 @@ const DsSkeletonRect = (t0) => {
17526
18055
  } else t9 = $[10];
17527
18056
  return t9;
17528
18057
  };
18058
+ DsSkeletonRect.displayName = "DsSkeletonRect";
17529
18059
  //#endregion
17530
18060
  //#region src/components/ds-skeleton/ds-skeleton.ts
17531
- var ds_skeleton_default = {
18061
+ const DsSkeleton = {
17532
18062
  Text: DsSkeletonText,
17533
18063
  Circle: DsSkeletonCircle,
17534
18064
  Rect: DsSkeletonRect
17535
18065
  };
18066
+ DsSkeleton.Text.displayName = "DsSkeleton.Text";
18067
+ DsSkeleton.Circle.displayName = "DsSkeleton.Circle";
18068
+ DsSkeleton.Rect.displayName = "DsSkeleton.Rect";
17536
18069
  //#endregion
17537
18070
  //#region src/components/ds-smart-tabs/ds-smart-tabs.module.scss
17538
18071
  var ds_smart_tabs_module_default = {
@@ -17708,7 +18241,7 @@ const DsSmartTab = (t0) => {
17708
18241
  /**
17709
18242
  * Design system SmartTabs component
17710
18243
  */
17711
- const DsSmartTabs = (t0) => {
18244
+ const DsSmartTabsRoot = (t0) => {
17712
18245
  const $ = (0, react_compiler_runtime.c)(22);
17713
18246
  let activeTab;
17714
18247
  let children;
@@ -17783,7 +18316,11 @@ const DsSmartTabs = (t0) => {
17783
18316
  } else t6 = $[21];
17784
18317
  return t6;
17785
18318
  };
17786
- DsSmartTabs.Tab = DsSmartTab;
18319
+ DsSmartTab.displayName = "DsSmartTabs.Tab";
18320
+ const DsSmartTabs = Object.assign(DsSmartTabsRoot, {
18321
+ displayName: "DsSmartTabs",
18322
+ Tab: DsSmartTab
18323
+ });
17787
18324
  //#endregion
17788
18325
  //#region src/components/ds-smart-tabs/ds-smart-tabs.types.ts
17789
18326
  const colors = [
@@ -17809,6 +18346,12 @@ var ds_split_button_module_default = {
17809
18346
  };
17810
18347
  //#endregion
17811
18348
  //#region src/components/ds-split-button/ds-split-button.tsx
18349
+ /**
18350
+ * Secondary action button paired with a dropdown select for choosing a related option.
18351
+ * Both slots share a size and disabled state controlled by the split button.
18352
+ *
18353
+ * @summary split action button with a primary action and an option select
18354
+ */
17812
18355
  const DsSplitButton$1 = (t0) => {
17813
18356
  const $ = (0, react_compiler_runtime.c)(33);
17814
18357
  const { ref, className, style, size: t1, disabled, slotProps } = t0;
@@ -18018,6 +18561,7 @@ const DsStatusBadge = (t0) => {
18018
18561
  } else t12 = $[15];
18019
18562
  return t12;
18020
18563
  };
18564
+ DsStatusBadge.displayName = "DsStatusBadge";
18021
18565
  //#endregion
18022
18566
  //#region src/components/ds-status-badge-v2/ds-status-badge-v2.module.scss
18023
18567
  var ds_status_badge_v2_module_default = {
@@ -18179,6 +18723,7 @@ const statusBadgeV2Sizes = ["medium", "small"];
18179
18723
  //#endregion
18180
18724
  //#region src/components/ds-status-badge-v2/index.ts
18181
18725
  const DsStatusBadgeV2 = withResponsiveProps(DsStatusBadgeV2$1, ["size"]);
18726
+ DsStatusBadgeV2.displayName = "DsStatusBadgeV2";
18182
18727
  //#endregion
18183
18728
  //#region src/components/ds-stepper/ds-stepper.module.scss
18184
18729
  var ds_stepper_module_default = {
@@ -18340,6 +18885,7 @@ function DsStepper(t0) {
18340
18885
  } else t10 = $[27];
18341
18886
  return t10;
18342
18887
  }
18888
+ DsStepper.displayName = "DsStepper";
18343
18889
  //#endregion
18344
18890
  //#region src/components/ds-stepper/components/ds-step-separator.tsx
18345
18891
  function DsStepSeparator(t0) {
@@ -18538,6 +19084,7 @@ function DsStep(t0) {
18538
19084
  } else t18 = $[47];
18539
19085
  return t18;
18540
19086
  }
19087
+ DsStep.displayName = "DsStep";
18541
19088
  //#endregion
18542
19089
  //#region src/components/ds-stepper/components/ds-step-label.tsx
18543
19090
  function DsStepLabel(t0) {
@@ -18627,6 +19174,7 @@ function DsStepContent(t0) {
18627
19174
  } else t5 = $[15];
18628
19175
  return t5;
18629
19176
  }
19177
+ DsStepContent.displayName = "DsStepContent";
18630
19178
  //#endregion
18631
19179
  //#region src/components/ds-stepper/components/ds-step-next-button.tsx
18632
19180
  function DsNextStepButton(t0) {
@@ -18669,6 +19217,7 @@ function DsNextStepButton(t0) {
18669
19217
  } else t3 = $[10];
18670
19218
  return t3;
18671
19219
  }
19220
+ DsNextStepButton.displayName = "DsNextStepButton";
18672
19221
  //#endregion
18673
19222
  //#region src/components/ds-system-status/ds-system-status.module.scss
18674
19223
  var ds_system_status_module_default = {
@@ -18740,6 +19289,7 @@ const DsSystemStatus = (t0) => {
18740
19289
  } else t6 = $[8];
18741
19290
  return t6;
18742
19291
  };
19292
+ DsSystemStatus.displayName = "DsSystemStatus";
18743
19293
  //#endregion
18744
19294
  //#region src/components/ds-system-status/ds-system-status.types.ts
18745
19295
  /**
@@ -19122,11 +19672,12 @@ function useTableFilters({ filterAdapters, baseColumns, appliedFilters: external
19122
19672
  }));
19123
19673
  };
19124
19674
  const applyFilters = () => {
19125
- setAppliedFilters(_filterAdapters.reduce((acc, adapter) => {
19675
+ const filtersToApply = _filterAdapters.reduce((acc, adapter) => {
19126
19676
  const value = draftFilters[adapter.id];
19127
19677
  if (adapter.getActiveFiltersCount(value) > 0) acc[adapter.id] = value;
19128
19678
  return acc;
19129
- }, {}));
19679
+ }, {});
19680
+ setAppliedFilters(filtersToApply);
19130
19681
  setPendingFilters({});
19131
19682
  };
19132
19683
  const clearAll = () => {
@@ -19138,10 +19689,11 @@ function useTableFilters({ filterAdapters, baseColumns, appliedFilters: external
19138
19689
  const adapter = _filterAdapters.find((a) => a.id === filterId);
19139
19690
  if (!adapter) return;
19140
19691
  const draftValue = draftFilters[filterId];
19141
- setAppliedFilters(adapter.getActiveFiltersCount(draftValue) > 0 ? {
19692
+ const next = adapter.getActiveFiltersCount(draftValue) > 0 ? {
19142
19693
  ...appliedFilters,
19143
19694
  [filterId]: draftValue
19144
- } : omitKey(appliedFilters, filterId));
19695
+ } : omitKey(appliedFilters, filterId);
19696
+ setAppliedFilters(next);
19145
19697
  setPendingFilters((prev) => omitKey(prev, filterId));
19146
19698
  };
19147
19699
  const cancelColumnFilter = (filterId) => {
@@ -19164,10 +19716,11 @@ function useTableFilters({ filterAdapters, baseColumns, appliedFilters: external
19164
19716
  const currentValue = appliedFilters[filterKey];
19165
19717
  if (currentValue === void 0) return;
19166
19718
  const newValue = adapter.fromChip(chip, currentValue);
19167
- setAppliedFilters(adapter.getActiveFiltersCount(newValue) === 0 ? Object.fromEntries(Object.entries(appliedFilters).filter(([key]) => key !== filterKey)) : {
19719
+ const newFilters = adapter.getActiveFiltersCount(newValue) === 0 ? Object.fromEntries(Object.entries(appliedFilters).filter(([key]) => key !== filterKey)) : {
19168
19720
  ...appliedFilters,
19169
19721
  [filterKey]: newValue
19170
- });
19722
+ };
19723
+ setAppliedFilters(newFilters);
19171
19724
  };
19172
19725
  const renderForId = (filterId) => {
19173
19726
  const adapter = _filterAdapters.find((a) => a.id === filterId);
@@ -19416,6 +19969,7 @@ var ds_table_header_module_default = {
19416
19969
  "filterActive": "-2rCNG_filterActive",
19417
19970
  "filterTriggerContainer": "-2rCNG_filterTriggerContainer",
19418
19971
  "groupStart": "-2rCNG_groupStart",
19972
+ "header": "-2rCNG_header",
19419
19973
  "headerCell": "-2rCNG_headerCell",
19420
19974
  "headerRow": "-2rCNG_headerRow",
19421
19975
  "headerRowNoBorder": "-2rCNG_headerRowNoBorder",
@@ -19425,7 +19979,6 @@ var ds_table_header_module_default = {
19425
19979
  "pageButtonIconContainer": "-2rCNG_pageButtonIconContainer",
19426
19980
  "selectHeaderCell": "-2rCNG_selectHeaderCell",
19427
19981
  "sortableHeader": "-2rCNG_sortableHeader",
19428
- "stickyHeader": "-2rCNG_stickyHeader",
19429
19982
  "virtualizedHeader": "-2rCNG_virtualizedHeader"
19430
19983
  };
19431
19984
  //#endregion
@@ -19628,7 +20181,8 @@ const getCollapsedColumnVisibility = (columns, collapsedGroupIds) => {
19628
20181
  const useColumnGroups = ({ columns, collapsedColumnGroups, onCollapsedColumnGroupsChange }) => {
19629
20182
  const [collapsed, setCollapsed] = useControlled(collapsedColumnGroups, onCollapsedColumnGroupsChange, getInitialCollapsedGroups(columns));
19630
20183
  const toggleColumnGroup = (groupId) => {
19631
- setCollapsed(collapsed.includes(groupId) ? collapsed.filter((id) => id !== groupId) : [...collapsed, groupId]);
20184
+ const next = collapsed.includes(groupId) ? collapsed.filter((id) => id !== groupId) : [...collapsed, groupId];
20185
+ setCollapsed(next);
19632
20186
  };
19633
20187
  return {
19634
20188
  collapsedColumnGroups: collapsed,
@@ -19692,9 +20246,9 @@ const DsTableGroupHeaderCell = ({ header }) => {
19692
20246
  //#endregion
19693
20247
  //#region src/components/ds-table/components/ds-table-header/ds-table-header.tsx
19694
20248
  const DsTableHeader = ({ table }) => {
19695
- const { stickyHeader, bordered, virtualized } = useDsTableContext();
20249
+ const { bordered, virtualized } = useDsTableContext();
19696
20250
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableHeader, {
19697
- className: (0, classnames.default)(stickyHeader && ds_table_header_module_default.stickyHeader, virtualized && ds_table_header_module_default.virtualizedHeader),
20251
+ className: (0, classnames.default)(ds_table_header_module_default.header, virtualized && ds_table_header_module_default.virtualizedHeader),
19698
20252
  children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TableRow, {
19699
20253
  className: (0, classnames.default)(ds_table_header_module_default.headerRow, !bordered && ds_table_header_module_default.headerRowNoBorder, virtualized && ds_table_header_module_default.headerRowVirtualized),
19700
20254
  children: headerGroup.headers.map((header) => {
@@ -19758,6 +20312,7 @@ const DsTableHeader = ({ table }) => {
19758
20312
  var ds_table_module_default = {
19759
20313
  "bulkActionsVisible": "iL9mtW_bulkActionsVisible",
19760
20314
  "container": "iL9mtW_container",
20315
+ "controls": "iL9mtW_controls",
19761
20316
  "dataTableContainer": "iL9mtW_dataTableContainer",
19762
20317
  "emptyState": "iL9mtW_emptyState",
19763
20318
  "fullWidth": "iL9mtW_fullWidth",
@@ -19819,6 +20374,7 @@ const DsTableEditableCell = ({ cell, children }) => {
19819
20374
  })]
19820
20375
  });
19821
20376
  };
20377
+ DsTableEditableCell.displayName = "DsTableEditableCell";
19822
20378
  //#endregion
19823
20379
  //#region src/components/ds-table/components/edit/ds-table-editing-cell/ds-table-editing-cell.module.scss
19824
20380
  var ds_table_editing_cell_module_default = {
@@ -19899,6 +20455,7 @@ const DsTableEditingCell = ({ cell }) => {
19899
20455
  })
19900
20456
  });
19901
20457
  };
20458
+ DsTableEditingCell.displayName = "DsTableEditingCell";
19902
20459
  //#endregion
19903
20460
  //#region src/components/ds-table/components/ds-table-cell/ds-table-cell.module.scss
19904
20461
  var ds_table_cell_module_default = {
@@ -20389,7 +20946,7 @@ const ROW_SIZE_HEIGHT_MAP = {
20389
20946
  /**
20390
20947
  * Design system Table component
20391
20948
  */
20392
- 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 }) => {
20949
+ const DsTable = ({ ref, columns: columnsProp, data: tableData, controls, 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 }) => {
20393
20950
  const [data, setData] = react.useState(tableData);
20394
20951
  const [sorting, setSorting] = react.useState([]);
20395
20952
  const [internalColumnFilters, setInternalColumnFilters] = react.useState([]);
@@ -20587,33 +21144,44 @@ const DsTable = ({ ref, columns: columnsProp, data: tableData, virtualized = fal
20587
21144
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableContext.Provider, {
20588
21145
  value: contextValue,
20589
21146
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
20590
- ref: tableContainerRef,
20591
- 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),
20592
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragWrapper, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Table, {
20593
- className: (0, classnames.default)(fullWidth && ds_table_module_default.fullWidth, !bordered && ds_table_module_default.tableNoBorder),
20594
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableHeader, { table }), virtualized ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableBodyVirtualized, {
20595
- table,
20596
- emptyState,
20597
- estimateSize: virtualizedOptions?.estimateSize || ROW_SIZE_HEIGHT_MAP[rowSize],
20598
- overscan: virtualizedOptions?.overscan,
20599
- onScroll,
20600
- rowSelection,
20601
- infiniteScroll
20602
- }) : /* @__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, {
20603
- row,
20604
- isSelected: !!rowSelection[row.id]
20605
- }, row.id)) : renderEmptyState() }) })]
20606
- }) }), selectable && actions.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableBulkActions, {
20607
- numSelectedRows: selectedRows.length,
20608
- actions: actions.map((action) => ({
20609
- ...action,
20610
- onClick: () => action.onClick(selectedRows)
20611
- })),
20612
- onClearSelection: table.resetRowSelection
20613
- })]
21147
+ className: (0, classnames.default)(ds_table_module_default.container, isBulkActionsVisible && ds_table_module_default.bulkActionsVisible, className),
21148
+ children: [
21149
+ controls && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
21150
+ className: ds_table_module_default.controls,
21151
+ children: controls
21152
+ }),
21153
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
21154
+ ref: tableContainerRef,
21155
+ className: (0, classnames.default)(!virtualized && ds_table_module_default.dataTableContainer, virtualized && ds_table_module_default.virtualizedContainer),
21156
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragWrapper, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Table, {
21157
+ className: (0, classnames.default)(fullWidth && ds_table_module_default.fullWidth, !bordered && ds_table_module_default.tableNoBorder),
21158
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableHeader, { table }), virtualized ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableBodyVirtualized, {
21159
+ table,
21160
+ emptyState,
21161
+ estimateSize: virtualizedOptions?.estimateSize || ROW_SIZE_HEIGHT_MAP[rowSize],
21162
+ overscan: virtualizedOptions?.overscan,
21163
+ onScroll,
21164
+ rowSelection,
21165
+ infiniteScroll
21166
+ }) : /* @__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, {
21167
+ row,
21168
+ isSelected: !!rowSelection[row.id]
21169
+ }, row.id)) : renderEmptyState() }) })]
21170
+ }) })
21171
+ }),
21172
+ selectable && actions.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTableBulkActions, {
21173
+ numSelectedRows: selectedRows.length,
21174
+ actions: actions.map((action) => ({
21175
+ ...action,
21176
+ onClick: () => action.onClick(selectedRows)
21177
+ })),
21178
+ onClearSelection: table.resetRowSelection
21179
+ })
21180
+ ]
20614
21181
  })
20615
21182
  });
20616
21183
  };
21184
+ DsTable.displayName = "DsTable";
20617
21185
  //#endregion
20618
21186
  //#region src/components/ds-table/hooks/use-cell-editor.ts
20619
21187
  /**
@@ -20698,6 +21266,7 @@ const DsTableEditCellText = ({ cellContext, placeholder, maxLength }) => {
20698
21266
  })
20699
21267
  });
20700
21268
  };
21269
+ DsTableEditCellText.displayName = "DsTableEditCellText";
20701
21270
  //#endregion
20702
21271
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-number.tsx
20703
21272
  /** Number input editor for table cells. Render via `ColumnDef.editCell`. */
@@ -20724,6 +21293,7 @@ const DsTableEditCellNumber = ({ cellContext, min, max, step }) => {
20724
21293
  })
20725
21294
  });
20726
21295
  };
21296
+ DsTableEditCellNumber.displayName = "DsTableEditCellNumber";
20727
21297
  //#endregion
20728
21298
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-select.tsx
20729
21299
  /** Select editor for table cells. Render via `ColumnDef.editCell`. */
@@ -20741,6 +21311,7 @@ const DsTableEditCellSelect = ({ cellContext, options, placeholder }) => {
20741
21311
  })
20742
21312
  });
20743
21313
  };
21314
+ DsTableEditCellSelect.displayName = "DsTableEditCellSelect";
20744
21315
  //#endregion
20745
21316
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-date.tsx
20746
21317
  /** Date picker editor for table cells. Render via `ColumnDef.editCell`. */
@@ -20763,6 +21334,7 @@ const DsTableEditCellDate = ({ cellContext, min, max, placeholder }) => {
20763
21334
  })
20764
21335
  });
20765
21336
  };
21337
+ DsTableEditCellDate.displayName = "DsTableEditCellDate";
20766
21338
  //#endregion
20767
21339
  //#region src/components/ds-table/components/edit/cell-editors/ds-table-edit-cell-checkbox.tsx
20768
21340
  /** Checkbox editor for table cells. Render via `ColumnDef.editCell`. */
@@ -20774,6 +21346,7 @@ const DsTableEditCellCheckbox = ({ cellContext, disabled }) => {
20774
21346
  onCheckedChange: (checked) => setValue(checked === true)
20775
21347
  });
20776
21348
  };
21349
+ DsTableEditCellCheckbox.displayName = "DsTableEditCellCheckbox";
20777
21350
  //#endregion
20778
21351
  //#region src/components/ds-toast/ds-toast.module.scss
20779
21352
  var ds_toast_module_default = {
@@ -20899,6 +21472,8 @@ const DsToastGroup = (t0) => {
20899
21472
  } else t1 = $[1];
20900
21473
  return t1;
20901
21474
  };
21475
+ DsToast.displayName = "DsToast";
21476
+ DsToastGroup.displayName = "DsToastGroup";
20902
21477
  function _temp(toast) {
20903
21478
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsToast, { ...toast });
20904
21479
  }
@@ -20977,6 +21552,7 @@ const useToaster = () => {
20977
21552
  if (!context) throw new Error("useToast must be used within a ToastProvider");
20978
21553
  return context;
20979
21554
  };
21555
+ DsToastProvider.displayName = "DsToastProvider";
20980
21556
  //#endregion
20981
21557
  //#region src/components/ds-toggle/ds-toggle.module.scss
20982
21558
  var ds_toggle_module_default = {
@@ -21164,6 +21740,7 @@ const DsToggle = (t0) => {
21164
21740
  } else t15 = $[47];
21165
21741
  return t15;
21166
21742
  };
21743
+ DsToggle.displayName = "DsToggle";
21167
21744
  //#endregion
21168
21745
  //#region src/components/ds-tree/ds-tree.module.scss
21169
21746
  var ds_tree_module_default = {
@@ -21189,8 +21766,8 @@ var ds_tree_module_default = {
21189
21766
  //#endregion
21190
21767
  //#region src/components/ds-tree/ds-tree.tsx
21191
21768
  const DsTreeRoot = (t0) => {
21192
- const $ = (0, react_compiler_runtime.c)(23);
21193
- 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;
21769
+ const $ = (0, react_compiler_runtime.c)(26);
21770
+ 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;
21194
21771
  const size = t1 === void 0 ? "medium" : t1;
21195
21772
  const selectionMode = t2 === void 0 ? "single" : t2;
21196
21773
  const expandOnClick = t3 === void 0 ? true : t3;
@@ -21203,7 +21780,7 @@ const DsTreeRoot = (t0) => {
21203
21780
  $[1] = t6;
21204
21781
  } else t6 = $[1];
21205
21782
  let t7;
21206
- 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) {
21783
+ 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) {
21207
21784
  t7 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ark_ui_react_tree_view.TreeView.Root, {
21208
21785
  ref,
21209
21786
  collection,
@@ -21218,6 +21795,9 @@ const DsTreeRoot = (t0) => {
21218
21795
  checkedValue,
21219
21796
  defaultCheckedValue,
21220
21797
  onCheckedChange,
21798
+ focusedValue,
21799
+ defaultFocusedValue,
21800
+ onFocusChange,
21221
21801
  typeahead,
21222
21802
  lazyMount,
21223
21803
  unmountOnExit,
@@ -21231,23 +21811,26 @@ const DsTreeRoot = (t0) => {
21231
21811
  $[4] = collection;
21232
21812
  $[5] = defaultCheckedValue;
21233
21813
  $[6] = defaultExpandedValue;
21234
- $[7] = defaultSelectedValue;
21235
- $[8] = expandOnClick;
21236
- $[9] = expandedValue;
21237
- $[10] = lazyMount;
21238
- $[11] = onCheckedChange;
21239
- $[12] = onExpandedChange;
21240
- $[13] = onSelectionChange;
21241
- $[14] = ref;
21242
- $[15] = selectedValue;
21243
- $[16] = selectionMode;
21244
- $[17] = size;
21245
- $[18] = style;
21246
- $[19] = t6;
21247
- $[20] = typeahead;
21248
- $[21] = unmountOnExit;
21249
- $[22] = t7;
21250
- } else t7 = $[22];
21814
+ $[7] = defaultFocusedValue;
21815
+ $[8] = defaultSelectedValue;
21816
+ $[9] = expandOnClick;
21817
+ $[10] = expandedValue;
21818
+ $[11] = focusedValue;
21819
+ $[12] = lazyMount;
21820
+ $[13] = onCheckedChange;
21821
+ $[14] = onExpandedChange;
21822
+ $[15] = onFocusChange;
21823
+ $[16] = onSelectionChange;
21824
+ $[17] = ref;
21825
+ $[18] = selectedValue;
21826
+ $[19] = selectionMode;
21827
+ $[20] = size;
21828
+ $[21] = style;
21829
+ $[22] = t6;
21830
+ $[23] = typeahead;
21831
+ $[24] = unmountOnExit;
21832
+ $[25] = t7;
21833
+ } else t7 = $[25];
21251
21834
  return t7;
21252
21835
  };
21253
21836
  const DsTreeTree = (t0) => {
@@ -21572,6 +22155,21 @@ const DsTreeItemAction = (t0) => {
21572
22155
  } else t3 = $[8];
21573
22156
  return t3;
21574
22157
  };
22158
+ DsTreeRoot.displayName = "DsTree.Root";
22159
+ DsTreeTree.displayName = "DsTree.Tree";
22160
+ Object.defineProperty(_ark_ui_react_tree_view.TreeView.NodeProvider, "displayName", { value: "DsTree.NodeProvider" });
22161
+ Object.defineProperty(_ark_ui_react_tree_view.TreeView.NodeContext, "displayName", { value: "DsTree.NodeContext" });
22162
+ DsTreeBranch.displayName = "DsTree.Branch";
22163
+ DsTreeBranchControl.displayName = "DsTree.BranchControl";
22164
+ DsTreeBranchIndicator.displayName = "DsTree.BranchIndicator";
22165
+ DsTreeBranchText.displayName = "DsTree.BranchText";
22166
+ DsTreeBranchContent.displayName = "DsTree.BranchContent";
22167
+ DsTreeBranchIndentGuide.displayName = "DsTree.BranchIndentGuide";
22168
+ DsTreeItem.displayName = "DsTree.Item";
22169
+ DsTreeItemText.displayName = "DsTree.ItemText";
22170
+ DsTreeItemIndicator.displayName = "DsTree.ItemIndicator";
22171
+ DsTreeItemAction.displayName = "DsTree.ItemAction";
22172
+ DsTreeNodeCheckbox.displayName = "DsTree.NodeCheckbox";
21575
22173
  const DsTree = {
21576
22174
  Root: DsTreeRoot,
21577
22175
  Tree: DsTreeTree,
@@ -21601,6 +22199,90 @@ const createDsTreeCollection = (nodes) => (0, _ark_ui_react_tree_view.createTree
21601
22199
  }
21602
22200
  });
21603
22201
  //#endregion
22202
+ //#region src/components/ds-user-card/ds-user-card.module.scss
22203
+ var ds_user_card_module_default = {
22204
+ "name": "rM_jtW_name",
22205
+ "subtitle": "rM_jtW_subtitle",
22206
+ "text": "rM_jtW_text",
22207
+ "userCard": "rM_jtW_userCard"
22208
+ };
22209
+ //#endregion
22210
+ //#region src/components/ds-user-card/ds-user-card.tsx
22211
+ /**
22212
+ * @summary Compact identity header pairing an avatar with a name and optional subtitle.
22213
+ *
22214
+ * Presentational card used as the header of a user menu. Renders a medium
22215
+ * `DsAvatar` (initials fallback derived from `name`) beside a two-line text
22216
+ * block; both lines truncate with an ellipsis when they overflow.
22217
+ */
22218
+ const DsUserCard = (t0) => {
22219
+ const $ = (0, react_compiler_runtime.c)(17);
22220
+ const { name, subtitle, src, className, style } = t0;
22221
+ let t1;
22222
+ if ($[0] !== className) {
22223
+ t1 = (0, classnames.default)(ds_user_card_module_default.userCard, className);
22224
+ $[0] = className;
22225
+ $[1] = t1;
22226
+ } else t1 = $[1];
22227
+ let t2;
22228
+ if ($[2] !== name || $[3] !== src) {
22229
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsAvatar, {
22230
+ name,
22231
+ src,
22232
+ size: "md"
22233
+ });
22234
+ $[2] = name;
22235
+ $[3] = src;
22236
+ $[4] = t2;
22237
+ } else t2 = $[4];
22238
+ let t3;
22239
+ if ($[5] !== name) {
22240
+ t3 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
22241
+ variant: "heading4",
22242
+ color: "main",
22243
+ className: ds_user_card_module_default.name,
22244
+ children: name
22245
+ });
22246
+ $[5] = name;
22247
+ $[6] = t3;
22248
+ } else t3 = $[6];
22249
+ let t4;
22250
+ if ($[7] !== subtitle) {
22251
+ t4 = subtitle && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DsTypography, {
22252
+ variant: "body-xs-reg",
22253
+ color: "secondary",
22254
+ className: ds_user_card_module_default.subtitle,
22255
+ children: subtitle
22256
+ });
22257
+ $[7] = subtitle;
22258
+ $[8] = t4;
22259
+ } else t4 = $[8];
22260
+ let t5;
22261
+ if ($[9] !== t3 || $[10] !== t4) {
22262
+ t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
22263
+ className: ds_user_card_module_default.text,
22264
+ children: [t3, t4]
22265
+ });
22266
+ $[9] = t3;
22267
+ $[10] = t4;
22268
+ $[11] = t5;
22269
+ } else t5 = $[11];
22270
+ let t6;
22271
+ if ($[12] !== style || $[13] !== t1 || $[14] !== t2 || $[15] !== t5) {
22272
+ t6 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
22273
+ className: t1,
22274
+ style,
22275
+ children: [t2, t5]
22276
+ });
22277
+ $[12] = style;
22278
+ $[13] = t1;
22279
+ $[14] = t2;
22280
+ $[15] = t5;
22281
+ $[16] = t6;
22282
+ } else t6 = $[16];
22283
+ return t6;
22284
+ };
22285
+ //#endregion
21604
22286
  //#region src/components/ds-vertical-tabs/ds-vertical-tabs.module.scss
21605
22287
  var ds_vertical_tabs_module_default = {
21606
22288
  "selected": "xVkVWa_selected",
@@ -21627,7 +22309,7 @@ var ds_vertical_tabs_module_default = {
21627
22309
  * </DsVerticalTabs>
21628
22310
  * ```
21629
22311
  */
21630
- const DsVerticalTabs = (t0) => {
22312
+ const DsVerticalTabsRoot = (t0) => {
21631
22313
  const $ = (0, react_compiler_runtime.c)(8);
21632
22314
  const { value, onValueChange, className, style, children } = t0;
21633
22315
  let t1;
@@ -21730,9 +22412,15 @@ const DsVerticalTabsContent = (t0) => {
21730
22412
  } else t1 = $[3];
21731
22413
  return t1;
21732
22414
  };
21733
- DsVerticalTabs.List = DsVerticalTabsList;
21734
- DsVerticalTabs.Tab = DsVerticalTabsTab;
21735
- DsVerticalTabs.Content = DsVerticalTabsContent;
22415
+ DsVerticalTabsList.displayName = "DsVerticalTabs.List";
22416
+ DsVerticalTabsTab.displayName = "DsVerticalTabs.Tab";
22417
+ DsVerticalTabsContent.displayName = "DsVerticalTabs.Content";
22418
+ const DsVerticalTabs = Object.assign(DsVerticalTabsRoot, {
22419
+ displayName: "DsVerticalTabs",
22420
+ List: DsVerticalTabsList,
22421
+ Tab: DsVerticalTabsTab,
22422
+ Content: DsVerticalTabsContent
22423
+ });
21736
22424
  //#endregion
21737
22425
  //#region src/components/ds-workspace-layout/ds-workspace-layout.module.scss
21738
22426
  var ds_workspace_layout_module_default = {
@@ -21763,7 +22451,7 @@ const DEFAULT_LOCALE = Object.freeze({
21763
22451
  pinButtonLabel: "Pin side menu",
21764
22452
  unpinButtonLabel: "Unpin side menu"
21765
22453
  });
21766
- const DsWorkspaceLayout = (t0) => {
22454
+ const DsWorkspaceLayoutRoot = (t0) => {
21767
22455
  const $ = (0, react_compiler_runtime.c)(17);
21768
22456
  let className;
21769
22457
  let rest;
@@ -22149,13 +22837,23 @@ const LeftPanel = (t0) => {
22149
22837
  } else t4 = $[11];
22150
22838
  return t4;
22151
22839
  };
22152
- DsWorkspaceLayout.Header = Header;
22153
- DsWorkspaceLayout.SubHeader = SubHeader;
22154
- DsWorkspaceLayout.Content = Content;
22155
- DsWorkspaceLayout.Footer = Footer;
22156
- DsWorkspaceLayout.Body = Body;
22157
- DsWorkspaceLayout.SideMenu = SideMenu;
22158
- DsWorkspaceLayout.LeftPanel = LeftPanel;
22840
+ Header.displayName = "DsWorkspaceLayout.Header";
22841
+ SubHeader.displayName = "DsWorkspaceLayout.SubHeader";
22842
+ Content.displayName = "DsWorkspaceLayout.Content";
22843
+ Footer.displayName = "DsWorkspaceLayout.Footer";
22844
+ Body.displayName = "DsWorkspaceLayout.Body";
22845
+ SideMenu.displayName = "DsWorkspaceLayout.SideMenu";
22846
+ LeftPanel.displayName = "DsWorkspaceLayout.LeftPanel";
22847
+ const DsWorkspaceLayout = Object.assign(DsWorkspaceLayoutRoot, {
22848
+ displayName: "DsWorkspaceLayout",
22849
+ Header,
22850
+ SubHeader,
22851
+ Content,
22852
+ Footer,
22853
+ Body,
22854
+ SideMenu,
22855
+ LeftPanel
22856
+ });
22159
22857
  //#endregion
22160
22858
  exports.BREAKPOINT_LG = BREAKPOINT_LG;
22161
22859
  exports.DsAlertBanner = DsAlertBanner;
@@ -22208,7 +22906,8 @@ exports.DsRadioGroup = DsRadioGroup;
22208
22906
  exports.DsRadioGroupLegacy = DsRadioGroupLegacy;
22209
22907
  exports.DsSegmentGroup = DsSegmentGroup;
22210
22908
  exports.DsSelect = DsSelect;
22211
- exports.DsSkeleton = ds_skeleton_default;
22909
+ exports.DsSiteNode = DsSiteNode;
22910
+ exports.DsSkeleton = DsSkeleton;
22212
22911
  exports.DsSkeletonCircle = DsSkeletonCircle;
22213
22912
  exports.DsSkeletonRect = DsSkeletonRect;
22214
22913
  exports.DsSkeletonText = DsSkeletonText;
@@ -22243,6 +22942,7 @@ exports.DsToggle = DsToggle;
22243
22942
  exports.DsTooltip = DsTooltip;
22244
22943
  exports.DsTree = DsTree;
22245
22944
  exports.DsTypography = DsTypography;
22945
+ exports.DsUserCard = DsUserCard;
22246
22946
  exports.DsVerticalTabs = DsVerticalTabs;
22247
22947
  exports.DsWorkspaceLayout = DsWorkspaceLayout;
22248
22948
  exports.FatalFileUploadError = FatalFileUploadError;
@@ -22259,12 +22959,21 @@ exports.checkboxVariants = checkboxVariants;
22259
22959
  exports.colors = colors;
22260
22960
  exports.controlStatuses = controlStatuses;
22261
22961
  exports.createCheckboxFilterAdapter = createCheckboxFilterAdapter;
22962
+ Object.defineProperty(exports, "createColumnHelper", {
22963
+ enumerable: true,
22964
+ get: function() {
22965
+ return _tanstack_react_table.createColumnHelper;
22966
+ }
22967
+ });
22262
22968
  exports.createDsTreeCollection = createDsTreeCollection;
22263
22969
  exports.createDualRangeFilterAdapter = createDualRangeFilterAdapter;
22264
22970
  exports.createFilterAdapter = createFilterAdapter;
22265
22971
  exports.customIcons = customIcons;
22266
22972
  exports.defaultDsTableLocale = defaultDsTableLocale;
22973
+ exports.dropdownMenuActionsAlignments = dropdownMenuActionsAlignments;
22267
22974
  exports.dropdownMenuItemVariants = dropdownMenuItemVariants;
22975
+ exports.dsAvatarSizes = dsAvatarSizes;
22976
+ exports.dsAvatarTypes = dsAvatarTypes;
22268
22977
  exports.dsKeyValuePairOrientations = dsKeyValuePairOrientations;
22269
22978
  exports.filterStatuses = filterStatuses;
22270
22979
  exports.formatTime = formatTime;
@@ -22283,6 +22992,7 @@ exports.progressDonutVariants = progressDonutVariants;
22283
22992
  exports.progressLinearSizes = progressLinearSizes;
22284
22993
  exports.progressLinearVariants = progressLinearVariants;
22285
22994
  exports.resolveResponsiveValue = resolveResponsiveValue;
22995
+ exports.siteNodeStates = siteNodeStates;
22286
22996
  exports.skeletonColorVariants = skeletonColorVariants;
22287
22997
  exports.skeletonRadiusVariants = skeletonRadiusVariants;
22288
22998
  exports.spinnerSizes = spinnerSizes;
@@ -22295,6 +23005,7 @@ exports.tagSizes = tagSizes;
22295
23005
  exports.tagVariants = tagVariants;
22296
23006
  exports.taskBarStatuses = taskBarStatuses;
22297
23007
  exports.textInputSizes = textInputSizes;
23008
+ exports.tooltipPlacements = tooltipPlacements;
22298
23009
  exports.useBreakpoint = useBreakpoint;
22299
23010
  exports.useCellEditor = useCellEditor;
22300
23011
  exports.useCheckboxSelectAll = useCheckboxSelectAll;