@dmsi/wedgekit-react 0.0.25 → 0.0.27

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 (217) hide show
  1. package/dist/{chunk-KDEPZ6I7.js → chunk-2S2Z3L56.js} +5 -1
  2. package/dist/{chunk-TU55CHXU.js → chunk-4JLU7TAC.js} +3 -1
  3. package/dist/{chunk-Z2LOGSGE.js → chunk-4N2PED4P.js} +15 -3
  4. package/dist/{chunk-U42SKNR6.js → chunk-57WRM337.js} +68 -30
  5. package/dist/{chunk-ZFGGZXB6.js → chunk-AY7ELVQY.js} +5 -2
  6. package/dist/{chunk-I2UVVKQI.js → chunk-CHTO7PW4.js} +3 -2
  7. package/dist/{chunk-WIDBAFBU.js → chunk-FWPJ73IK.js} +3 -1
  8. package/dist/{chunk-5TLFMKSR.js → chunk-INYI65WW.js} +15 -5
  9. package/dist/{chunk-TJ44JJCB.js → chunk-J6LETUNM.js} +5 -2
  10. package/dist/{chunk-T6HZARR7.js → chunk-MZJS2ZAU.js} +6 -3
  11. package/dist/{chunk-ZCBSLV7U.js → chunk-O4M2GISS.js} +5 -2
  12. package/dist/{chunk-OUTEIXV4.js → chunk-OUSNH76S.js} +11 -3
  13. package/dist/{chunk-YDREJNAS.js → chunk-PDDZ5PMY.js} +18 -4
  14. package/dist/{chunk-4RD5ZF2V.js → chunk-QBIEU25R.js} +10 -4
  15. package/dist/chunk-QUPHLL7D.js +61 -0
  16. package/dist/{chunk-OISE6NMA.js → chunk-QV2EFOYF.js} +17 -6
  17. package/dist/{chunk-YZQNTOIF.js → chunk-QZGUMB7T.js} +10 -5
  18. package/dist/{chunk-S7R37IUP.js → chunk-S5K22XTH.js} +5 -2
  19. package/dist/{chunk-GCPJH5R6.js → chunk-S5KPS4IQ.js} +22 -7
  20. package/dist/{chunk-VELXLFMJ.js → chunk-SAMX4YGM.js} +4 -1
  21. package/dist/{chunk-TWP6YSFO.js → chunk-SKHSGGO3.js} +14 -6
  22. package/dist/chunk-TVDFTRGL.js +57 -0
  23. package/dist/{chunk-N32PXOA5.js → chunk-UT7XCBZF.js} +9 -4
  24. package/dist/{chunk-L4UM372R.js → chunk-VC3R5EUH.js} +3 -0
  25. package/dist/{chunk-UIQ733QP.js → chunk-VG4EPHJA.js} +7 -3
  26. package/dist/components/Breadcrumbs.cjs +29 -9
  27. package/dist/components/Breadcrumbs.js +29 -9
  28. package/dist/components/Button.cjs +6 -3
  29. package/dist/components/Button.js +1 -1
  30. package/dist/components/CalendarRange.cjs +11 -3
  31. package/dist/components/CalendarRange.js +1 -1
  32. package/dist/components/Caption.cjs +53 -9
  33. package/dist/components/Caption.js +53 -9
  34. package/dist/components/Checkbox.cjs +15 -6
  35. package/dist/components/Checkbox.js +2 -2
  36. package/dist/components/ContentTab.cjs +20 -7
  37. package/dist/components/ContentTab.js +2 -2
  38. package/dist/components/ContentTabs.cjs +32 -18
  39. package/dist/components/ContentTabs.js +14 -13
  40. package/dist/components/DMSiLogo.cjs +22 -4
  41. package/dist/components/DMSiLogo.js +9 -5
  42. package/dist/components/DataGrid.cjs +374 -243
  43. package/dist/components/DataGrid.js +283 -226
  44. package/dist/components/DataGridCell.cjs +79 -21
  45. package/dist/components/DataGridCell.js +7 -7
  46. package/dist/components/DataTable.cjs +197 -139
  47. package/dist/components/DataTable.js +197 -139
  48. package/dist/components/DateInput.cjs +36 -10
  49. package/dist/components/DateInput.js +7 -3
  50. package/dist/components/DateRangeInput.cjs +36 -10
  51. package/dist/components/DateRangeInput.js +7 -3
  52. package/dist/components/DebugJson.cjs +21 -13
  53. package/dist/components/DebugJson.js +21 -13
  54. package/dist/components/Display.cjs +5 -2
  55. package/dist/components/Display.js +1 -1
  56. package/dist/components/EditingContext.cjs +4 -1
  57. package/dist/components/EditingContext.js +4 -1
  58. package/dist/components/FilterGroup.cjs +102 -32
  59. package/dist/components/FilterGroup.js +41 -17
  60. package/dist/components/FullViewportBox.cjs +10 -2
  61. package/dist/components/FullViewportBox.js +10 -2
  62. package/dist/components/Grid.cjs +3 -1
  63. package/dist/components/Grid.js +3 -1
  64. package/dist/components/Heading.cjs +5 -2
  65. package/dist/components/Heading.js +1 -1
  66. package/dist/components/HorizontalDivider.cjs +2 -2
  67. package/dist/components/HorizontalDivider.js +2 -2
  68. package/dist/components/Input.cjs +21 -7
  69. package/dist/components/Input.js +2 -2
  70. package/dist/components/InputGroup.cjs +13 -6
  71. package/dist/components/InputGroup.js +9 -5
  72. package/dist/components/Label.cjs +5 -2
  73. package/dist/components/Label.js +1 -1
  74. package/dist/components/List.cjs +3 -2
  75. package/dist/components/List.js +3 -2
  76. package/dist/components/LogoAgilityTopBar.cjs +22 -4
  77. package/dist/components/LogoAgilityTopBar.js +9 -5
  78. package/dist/components/LogoDMSiTopBar.cjs +22 -4
  79. package/dist/components/LogoDMSiTopBar.js +1 -1
  80. package/dist/components/LogoMillworkTopBar.cjs +22 -4
  81. package/dist/components/LogoMillworkTopBar.js +9 -5
  82. package/dist/components/MainBar.cjs +2 -0
  83. package/dist/components/MainBar.js +2 -0
  84. package/dist/components/Menu.cjs +3 -0
  85. package/dist/components/Menu.js +1 -1
  86. package/dist/components/MenuOption.cjs +28 -7
  87. package/dist/components/MenuOption.js +3 -3
  88. package/dist/components/MobileDataGrid.cjs +101 -46
  89. package/dist/components/MobileDataGrid.js +23 -11
  90. package/dist/components/Modal.cjs +96 -51
  91. package/dist/components/Modal.js +19 -7
  92. package/dist/components/ModalButtons.cjs +43 -26
  93. package/dist/components/ModalButtons.js +2 -2
  94. package/dist/components/ModalContent.cjs +3 -1
  95. package/dist/components/ModalContent.js +1 -1
  96. package/dist/components/ModalHeader.cjs +40 -25
  97. package/dist/components/ModalHeader.js +3 -3
  98. package/dist/components/ModalScrim.cjs +3 -1
  99. package/dist/components/ModalScrim.js +1 -1
  100. package/dist/components/NavigationTab.cjs +9 -3
  101. package/dist/components/NavigationTab.js +2 -2
  102. package/dist/components/NavigationTabs.cjs +15 -7
  103. package/dist/components/NavigationTabs.js +8 -6
  104. package/dist/components/NestedMenu.cjs +28 -7
  105. package/dist/components/NestedMenu.js +3 -3
  106. package/dist/components/Notification.cjs +84 -38
  107. package/dist/components/Notification.js +8 -4
  108. package/dist/components/OptionPill.cjs +24 -6
  109. package/dist/components/OptionPill.js +3 -3
  110. package/dist/components/Paragraph.cjs +7 -3
  111. package/dist/components/Paragraph.js +1 -1
  112. package/dist/components/Password.cjs +33 -11
  113. package/dist/components/Password.js +14 -6
  114. package/dist/components/ProjectBar.cjs +3 -1
  115. package/dist/components/ProjectBar.js +3 -1
  116. package/dist/components/Radio.cjs +13 -7
  117. package/dist/components/Radio.js +7 -5
  118. package/dist/components/Search.cjs +34 -12
  119. package/dist/components/Search.js +3 -3
  120. package/dist/components/Select.cjs +25 -7
  121. package/dist/components/Select.js +3 -3
  122. package/dist/components/SideMenu.cjs +6 -1
  123. package/dist/components/SideMenu.js +6 -1
  124. package/dist/components/SideMenuGroup.cjs +96 -49
  125. package/dist/components/SideMenuGroup.js +31 -19
  126. package/dist/components/SideMenuItem.cjs +99 -43
  127. package/dist/components/SideMenuItem.js +32 -12
  128. package/dist/components/Stack.cjs +91 -30
  129. package/dist/components/Stack.js +1 -1
  130. package/dist/components/StatusPill.cjs +13 -6
  131. package/dist/components/StatusPill.js +9 -5
  132. package/dist/components/Stepper.cjs +35 -17
  133. package/dist/components/Stepper.js +11 -10
  134. package/dist/components/Subheader.cjs +5 -2
  135. package/dist/components/Subheader.js +1 -1
  136. package/dist/components/Surface.cjs +5 -2
  137. package/dist/components/Surface.js +5 -2
  138. package/dist/components/Swatch.cjs +1544 -1308
  139. package/dist/components/Swatch.js +1469 -1275
  140. package/dist/components/Textarea.cjs +5 -2
  141. package/dist/components/Textarea.js +5 -2
  142. package/dist/components/Theme.cjs +3 -2
  143. package/dist/components/Theme.js +1 -1
  144. package/dist/components/Time.cjs +98 -40
  145. package/dist/components/Time.js +18 -6
  146. package/dist/components/Toast.cjs +38 -15
  147. package/dist/components/Toast.js +23 -10
  148. package/dist/components/Tooltip.cjs +5 -4
  149. package/dist/components/Tooltip.js +1 -1
  150. package/dist/components/TopBar.cjs +16 -8
  151. package/dist/components/TopBar.js +12 -5
  152. package/package.json +1 -1
  153. package/src/components/Breadcrumbs.tsx +24 -15
  154. package/src/components/Button.tsx +7 -3
  155. package/src/components/CalendarRange.tsx +9 -0
  156. package/src/components/Caption.tsx +36 -6
  157. package/src/components/Checkbox.tsx +7 -2
  158. package/src/components/ContentTab.tsx +13 -3
  159. package/src/components/ContentTabs.tsx +11 -8
  160. package/src/components/DMSiLogo.tsx +2 -1
  161. package/src/components/DataGrid.tsx +85 -23
  162. package/src/components/DataGridCell.tsx +15 -2
  163. package/src/components/DataTable.tsx +64 -14
  164. package/src/components/DateInput.tsx +5 -1
  165. package/src/components/DateRangeInput.tsx +5 -1
  166. package/src/components/DebugJson.tsx +7 -3
  167. package/src/components/Display.tsx +3 -0
  168. package/src/components/EditingContext.tsx +8 -6
  169. package/src/components/FilterGroup.tsx +23 -3
  170. package/src/components/FullViewportBox.tsx +6 -1
  171. package/src/components/Grid.tsx +3 -0
  172. package/src/components/Heading.tsx +3 -0
  173. package/src/components/HorizontalDivider.tsx +4 -2
  174. package/src/components/Input.tsx +19 -10
  175. package/src/components/InputGroup.tsx +8 -4
  176. package/src/components/Label.tsx +3 -0
  177. package/src/components/Link.tsx +1 -0
  178. package/src/components/List.tsx +7 -1
  179. package/src/components/LogoAgilityTopBar.tsx +2 -1
  180. package/src/components/LogoDMSiTopBar.tsx +2 -1
  181. package/src/components/LogoMillworkTopBar.tsx +2 -1
  182. package/src/components/MainBar.tsx +3 -0
  183. package/src/components/Menu.tsx +3 -0
  184. package/src/components/MenuOption.tsx +72 -58
  185. package/src/components/MobileDataGrid.tsx +15 -4
  186. package/src/components/Modal.tsx +10 -1
  187. package/src/components/ModalButtons.tsx +12 -1
  188. package/src/components/ModalContent.tsx +3 -0
  189. package/src/components/ModalHeader.tsx +16 -6
  190. package/src/components/ModalScrim.tsx +3 -0
  191. package/src/components/NavigationTab.tsx +6 -3
  192. package/src/components/NavigationTabs.tsx +5 -2
  193. package/src/components/Notification.tsx +4 -0
  194. package/src/components/OptionPill.tsx +9 -1
  195. package/src/components/Paragraph.tsx +3 -0
  196. package/src/components/Password.tsx +9 -3
  197. package/src/components/ProjectBar.tsx +3 -0
  198. package/src/components/Radio.tsx +3 -2
  199. package/src/components/Search.tsx +56 -41
  200. package/src/components/Select.tsx +6 -1
  201. package/src/components/SideMenu.tsx +7 -1
  202. package/src/components/SideMenuGroup.tsx +13 -2
  203. package/src/components/SideMenuItem.tsx +15 -2
  204. package/src/components/Stack.tsx +8 -3
  205. package/src/components/StatusPill.tsx +4 -2
  206. package/src/components/Stepper.tsx +5 -5
  207. package/src/components/Subheader.tsx +3 -0
  208. package/src/components/Surface.tsx +3 -0
  209. package/src/components/Swatch.tsx +415 -140
  210. package/src/components/Textarea.tsx +6 -3
  211. package/src/components/Theme.tsx +3 -1
  212. package/src/components/Time.tsx +21 -5
  213. package/src/components/Toast.tsx +29 -14
  214. package/src/components/Tooltip.tsx +46 -32
  215. package/src/components/TopBar.tsx +7 -3
  216. package/dist/chunk-DBYSGYST.js +0 -47
  217. package/dist/chunk-UK3WG7HQ.js +0 -48
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Label
3
- } from "./chunk-S7R37IUP.js";
3
+ } from "./chunk-S5K22XTH.js";
4
4
  import {
5
5
  Icon
6
6
  } from "./chunk-IGQVA7SC.js";
@@ -62,6 +62,7 @@ function formatCurrencyDisplay(value) {
62
62
  import { jsx, jsxs } from "react/jsx-runtime";
63
63
  var InputBase = (_a) => {
64
64
  var _b = _a, {
65
+ id,
65
66
  before,
66
67
  after,
67
68
  type,
@@ -78,6 +79,7 @@ var InputBase = (_a) => {
78
79
  wrapperClassName,
79
80
  focus
80
81
  } = _b, props = __objRest(_b, [
82
+ "id",
81
83
  "before",
82
84
  "after",
83
85
  "type",
@@ -99,6 +101,7 @@ var InputBase = (_a) => {
99
101
  "data-focus": focus || null
100
102
  };
101
103
  const inputRef = useRef(null);
104
+ const inputId = `${id}-input`;
102
105
  useEffect(() => {
103
106
  var _a2;
104
107
  const input = inputRef.current;
@@ -139,6 +142,8 @@ var InputBase = (_a) => {
139
142
  return /* @__PURE__ */ jsxs(
140
143
  "label",
141
144
  {
145
+ id,
146
+ htmlFor: inputId,
142
147
  ref: inputContainerRef,
143
148
  className: clsx(
144
149
  "w-full flex flex-col",
@@ -152,6 +157,7 @@ var InputBase = (_a) => {
152
157
  /* @__PURE__ */ jsx(
153
158
  Label,
154
159
  {
160
+ id: id ? `${id}-label` : void 0,
155
161
  className: clsx(
156
162
  props.disabled || props.readOnly ? "cursor-default" : "cursor-pointer"
157
163
  ),
@@ -188,7 +194,7 @@ var InputBase = (_a) => {
188
194
  type,
189
195
  required
190
196
  }, props), attributes), {
191
- id: props.id,
197
+ id: inputId,
192
198
  className: clsx(
193
199
  "flex-1 outline-none w-full max-w-full min-h-6 min-w-0",
194
200
  "[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",
@@ -206,7 +212,7 @@ var InputBase = (_a) => {
206
212
  ]
207
213
  }
208
214
  ),
209
- caption
215
+ caption && /* @__PURE__ */ jsx("div", { id: id ? `${id}-caption` : void 0, children: caption })
210
216
  ]
211
217
  }
212
218
  );
@@ -220,7 +226,8 @@ var Input = (_a) => {
220
226
  value: propValue,
221
227
  onChange,
222
228
  onBlur,
223
- onClear
229
+ onClear,
230
+ id
224
231
  } = _b, props = __objRest(_b, [
225
232
  "variant",
226
233
  "decimals",
@@ -229,7 +236,8 @@ var Input = (_a) => {
229
236
  "value",
230
237
  "onChange",
231
238
  "onBlur",
232
- "onClear"
239
+ "onClear",
240
+ "id"
233
241
  ]);
234
242
  const [internalValue, setInternalValue] = useState("");
235
243
  const [displayValue, setDisplayValue] = useState("");
@@ -255,7 +263,9 @@ var Input = (_a) => {
255
263
  }, [propValue, decimals, variant]);
256
264
  const getInputProps = () => {
257
265
  var _a2;
258
- const baseProps = __spreadProps(__spreadValues(__spreadValues({}, props), getDecimalPlaceholder(decimals)), {
266
+ const baseProps = __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, props), {
267
+ id
268
+ }), getDecimalPlaceholder(decimals)), {
259
269
  value: propValue
260
270
  });
261
271
  switch (variant) {
@@ -302,6 +312,7 @@ var Input = (_a) => {
302
312
  return hasValue && !props.readOnly ? /* @__PURE__ */ jsx(
303
313
  Icon,
304
314
  {
315
+ id: id ? `${id}-clear-button` : void 0,
305
316
  name: "close",
306
317
  onClick: handleSearchReset,
307
318
  className: "cursor-pointer absolute right-2 bottom-2/4 translate-y-2/4"
@@ -5,10 +5,15 @@ import {
5
5
 
6
6
  // src/components/Tooltip.tsx
7
7
  import clsx from "clsx";
8
- import { useEffect, useRef, useState } from "react";
8
+ import {
9
+ useEffect,
10
+ useRef,
11
+ useState
12
+ } from "react";
9
13
  import { createPortal } from "react-dom";
10
14
  import { jsx, jsxs } from "react/jsx-runtime";
11
15
  var Tooltip = ({
16
+ id,
12
17
  message,
13
18
  position = "top",
14
19
  children,
@@ -17,7 +22,6 @@ var Tooltip = ({
17
22
  }) => {
18
23
  const ref = useRef(null);
19
24
  const tooltipRef = useRef(null);
20
- const [isTruncated, setIsTruncated] = useState(false);
21
25
  const [tooltipPosition, setTooltipPosition] = useState({ top: 0, left: 0 });
22
26
  const [isVisible, setIsVisible] = useState(false);
23
27
  const [removeOpacity, setRemoveOpacity] = useState(false);
@@ -75,6 +79,7 @@ var Tooltip = ({
75
79
  return /* @__PURE__ */ jsxs(
76
80
  "div",
77
81
  {
82
+ id,
78
83
  ref,
79
84
  className: "relative inline-grid grid-cols-[auto_1fr] items-center",
80
85
  onMouseEnter: handleMouseEnter,
@@ -85,6 +90,7 @@ var Tooltip = ({
85
90
  /* @__PURE__ */ jsx(
86
91
  "div",
87
92
  {
93
+ id: id ? `${id}-message` : void 0,
88
94
  ref: tooltipRef,
89
95
  style: {
90
96
  position: "fixed",
@@ -110,9 +116,8 @@ var Tooltip = ({
110
116
  if (showOnTruncation && ref.current) {
111
117
  const paragraph = ref.current.querySelector("p");
112
118
  if (paragraph) {
113
- const isTruncated2 = paragraph.scrollWidth > paragraph.clientWidth;
114
- setIsTruncated(isTruncated2);
115
- return isTruncated2;
119
+ const isTruncated = paragraph.scrollWidth > paragraph.clientWidth;
120
+ return isTruncated;
116
121
  }
117
122
  }
118
123
  return false;
@@ -17,18 +17,21 @@ var Label = (_a) => {
17
17
  padded,
18
18
  className,
19
19
  color,
20
- align
20
+ align,
21
+ id
21
22
  } = _b, props = __objRest(_b, [
22
23
  "as",
23
24
  "padded",
24
25
  "className",
25
26
  "color",
26
- "align"
27
+ "align",
28
+ "id"
27
29
  ]);
28
30
  const Element = as;
29
31
  return /* @__PURE__ */ jsx(
30
32
  Element,
31
33
  __spreadProps(__spreadValues({
34
+ id,
32
35
  className: clsx(
33
36
  typography.label,
34
37
  align === "left" && "text-left",
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  Menu
3
- } from "./chunk-L4UM372R.js";
3
+ } from "./chunk-VC3R5EUH.js";
4
4
  import {
5
5
  useSubMenuSystem
6
6
  } from "./chunk-Z4UCFUF7.js";
7
7
  import {
8
8
  MenuOption
9
- } from "./chunk-YDREJNAS.js";
9
+ } from "./chunk-PDDZ5PMY.js";
10
10
  import {
11
11
  Search
12
- } from "./chunk-TWP6YSFO.js";
12
+ } from "./chunk-SKHSGGO3.js";
13
13
  import {
14
14
  CSS
15
15
  } from "./chunk-WVUIIBRR.js";
@@ -39,6 +39,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
39
39
  var DataGridCell = memo(
40
40
  (_a) => {
41
41
  var _b = _a, {
42
+ id,
42
43
  type = "default",
43
44
  component = "static",
44
45
  children,
@@ -54,6 +55,7 @@ var DataGridCell = memo(
54
55
  center,
55
56
  width
56
57
  } = _b, props = __objRest(_b, [
58
+ "id",
57
59
  "type",
58
60
  "component",
59
61
  "children",
@@ -135,6 +137,7 @@ var DataGridCell = memo(
135
137
  return /* @__PURE__ */ jsx(
136
138
  Element,
137
139
  __spreadProps(__spreadValues({
140
+ id,
138
141
  className: clsx("flex", !width && "flex-1"),
139
142
  style: { width }
140
143
  }, props), {
@@ -162,11 +165,13 @@ function DraggableCellHeader(_a) {
162
165
  var _b = _a, {
163
166
  header,
164
167
  children,
165
- locked = false
168
+ locked = false,
169
+ id
166
170
  } = _b, props = __objRest(_b, [
167
171
  "header",
168
172
  "children",
169
- "locked"
173
+ "locked",
174
+ "id"
170
175
  ]);
171
176
  var _a2;
172
177
  const { attributes, isDragging, listeners, setNodeRef, transform, node } = useSortable({
@@ -204,6 +209,7 @@ function DraggableCellHeader(_a) {
204
209
  return /* @__PURE__ */ jsxs(
205
210
  DataGridCell,
206
211
  __spreadProps(__spreadValues(__spreadValues(__spreadProps(__spreadValues({
212
+ id,
207
213
  locked,
208
214
  type: "header",
209
215
  component: "header",
@@ -219,6 +225,7 @@ function DraggableCellHeader(_a) {
219
225
  header.column.getCanFilter() && /* @__PURE__ */ jsx(
220
226
  Menu,
221
227
  {
228
+ id: id ? `${id}-menu` : void 0,
222
229
  ref: menuRootRef,
223
230
  positionTo: node,
224
231
  show: showMenu,
@@ -226,12 +233,16 @@ function DraggableCellHeader(_a) {
226
233
  mobileHide,
227
234
  children: /* @__PURE__ */ jsx(
228
235
  MenuOption,
229
- __spreadProps(__spreadValues({}, subMenuListeners), {
236
+ __spreadProps(__spreadValues({
237
+ id: id ? `${id}-filter-option` : void 0
238
+ }, subMenuListeners), {
230
239
  subMenu: (_b2) => {
231
240
  var _c = _b2, { menuId, subMenuLevel } = _c, props2 = __objRest(_c, ["menuId", "subMenuLevel"]);
232
241
  return /* @__PURE__ */ jsxs(
233
242
  Menu,
234
- __spreadProps(__spreadValues({}, props2), {
243
+ __spreadProps(__spreadValues({
244
+ id: id ? `${id}-filter-submenu` : void 0
245
+ }, props2), {
235
246
  show: isMenuActive(menuId, subMenuLevel),
236
247
  ref: (el) => {
237
248
  registerSubMenu(menuId, el);
@@ -240,6 +251,7 @@ function DraggableCellHeader(_a) {
240
251
  /* @__PURE__ */ jsx("div", { className: clsx(paddingUsingComponentGap), children: /* @__PURE__ */ jsx(
241
252
  Search,
242
253
  {
254
+ id: id ? `${id}-filter-search` : void 0,
243
255
  onChange: (event) => {
244
256
  setFilter(event.target.value);
245
257
  },
@@ -254,6 +266,7 @@ function DraggableCellHeader(_a) {
254
266
  /* @__PURE__ */ jsx(
255
267
  MenuOption,
256
268
  {
269
+ id: id ? `${id}-filter-contains` : void 0,
257
270
  onClick: handleFilterFnChange,
258
271
  before: menuOptionIcon("includesString"),
259
272
  children: "Contains"
@@ -262,6 +275,7 @@ function DraggableCellHeader(_a) {
262
275
  /* @__PURE__ */ jsx(
263
276
  MenuOption,
264
277
  {
278
+ id: id ? `${id}-filter-startswith` : void 0,
265
279
  onClick: handleFilterFnChange,
266
280
  before: menuOptionIcon("startsWith"),
267
281
  children: "Starts with"
@@ -270,6 +284,7 @@ function DraggableCellHeader(_a) {
270
284
  /* @__PURE__ */ jsx(
271
285
  MenuOption,
272
286
  {
287
+ id: id ? `${id}-filter-endswith` : void 0,
273
288
  onClick: handleFilterFnChange,
274
289
  before: menuOptionIcon("endsWith"),
275
290
  children: "Ends with"
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Button
3
- } from "./chunk-T6HZARR7.js";
3
+ } from "./chunk-MZJS2ZAU.js";
4
4
  import {
5
5
  Icon
6
6
  } from "./chunk-IGQVA7SC.js";
@@ -15,6 +15,7 @@ import clsx from "clsx";
15
15
  import { jsx } from "react/jsx-runtime";
16
16
  var NavigationTab = (_a) => {
17
17
  var _b = _a, {
18
+ id,
18
19
  label,
19
20
  onClick,
20
21
  selected = false,
@@ -22,6 +23,7 @@ var NavigationTab = (_a) => {
22
23
  disabled = false,
23
24
  href
24
25
  } = _b, props = __objRest(_b, [
26
+ "id",
25
27
  "label",
26
28
  "onClick",
27
29
  "selected",
@@ -64,6 +66,7 @@ var NavigationTab = (_a) => {
64
66
  return /* @__PURE__ */ jsx(
65
67
  Button,
66
68
  __spreadProps(__spreadValues({
69
+ id,
67
70
  variant: "tertiary-critical",
68
71
  colorClassName: textClassName,
69
72
  className: clsx(
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Input
3
- } from "./chunk-OISE6NMA.js";
3
+ } from "./chunk-QV2EFOYF.js";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadValues
@@ -16,23 +16,23 @@ import {
16
16
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
17
17
  var Search = (_a) => {
18
18
  var _b = _a, {
19
+ id,
19
20
  label,
20
21
  error,
21
22
  children,
22
23
  readOnly,
23
24
  renderMenu,
24
25
  onClick,
25
- className,
26
26
  wrapperClassName,
27
27
  removeRoundness
28
28
  } = _b, props = __objRest(_b, [
29
+ "id",
29
30
  "label",
30
31
  "error",
31
32
  "children",
32
33
  "readOnly",
33
34
  "renderMenu",
34
35
  "onClick",
35
- "className",
36
36
  "wrapperClassName",
37
37
  "removeRoundness"
38
38
  ]);
@@ -55,6 +55,7 @@ var Search = (_a) => {
55
55
  /* @__PURE__ */ jsx(
56
56
  Input,
57
57
  __spreadValues({
58
+ id,
58
59
  variant: "search",
59
60
  inputContainerRef,
60
61
  ref: inputRef,
@@ -78,10 +79,14 @@ var Search = (_a) => {
78
79
  setShow(true);
79
80
  if (["ArrowUp", "ArrowDown"].includes(e.key)) {
80
81
  e.preventDefault();
81
- const menu = document.querySelector(`[data-menu="${searchMenuName}"]`);
82
+ const menu = document.querySelector(
83
+ `[data-menu="${searchMenuName}"]`
84
+ );
82
85
  const selectedMenuOption = menu == null ? void 0 : menu.querySelector("[data-selected]");
83
86
  if (selectedMenuOption) {
84
- const allMenuOptions = Array.from((menu == null ? void 0 : menu.querySelectorAll('[role="menuitem"]')) || []);
87
+ const allMenuOptions = Array.from(
88
+ (menu == null ? void 0 : menu.querySelectorAll('[role="menuitem"]')) || []
89
+ );
85
90
  const currentIndex = allMenuOptions.indexOf(selectedMenuOption);
86
91
  let targetOption;
87
92
  if (e.key === "ArrowDown") {
@@ -91,7 +96,9 @@ var Search = (_a) => {
91
96
  }
92
97
  targetOption == null ? void 0 : targetOption.focus();
93
98
  } else {
94
- const toFocusMenuOption = e.key === "ArrowDown" ? menu == null ? void 0 : menu.querySelector('[role="menuitem"]') : menu == null ? void 0 : menu.querySelector('[role="menuitem"]:last-child');
99
+ const toFocusMenuOption = e.key === "ArrowDown" ? menu == null ? void 0 : menu.querySelector('[role="menuitem"]') : menu == null ? void 0 : menu.querySelector(
100
+ '[role="menuitem"]:last-child'
101
+ );
95
102
  toFocusMenuOption == null ? void 0 : toFocusMenuOption.focus();
96
103
  }
97
104
  }
@@ -103,6 +110,7 @@ var Search = (_a) => {
103
110
  }, props)
104
111
  ),
105
112
  renderMenu ? renderMenu({
113
+ id: `${id}-menu`,
106
114
  positionTo: inputContainerRef,
107
115
  show,
108
116
  setShow,
@@ -0,0 +1,57 @@
1
+ import {
2
+ Heading2
3
+ } from "./chunk-J6LETUNM.js";
4
+ import {
5
+ Button
6
+ } from "./chunk-MZJS2ZAU.js";
7
+ import {
8
+ Icon
9
+ } from "./chunk-IGQVA7SC.js";
10
+ import {
11
+ layoutGroupGap,
12
+ layoutPaddding
13
+ } from "./chunk-RDLEIAQU.js";
14
+
15
+ // src/components/ModalHeader.tsx
16
+ import clsx from "clsx";
17
+ import { jsx, jsxs } from "react/jsx-runtime";
18
+ var ModalHeader = ({
19
+ title,
20
+ hideCloseIcon,
21
+ headerIcon,
22
+ onClose,
23
+ id
24
+ }) => {
25
+ return /* @__PURE__ */ jsxs(
26
+ "div",
27
+ {
28
+ id,
29
+ className: clsx(
30
+ "flex justify-between items-center",
31
+ layoutPaddding,
32
+ layoutGroupGap
33
+ ),
34
+ children: [
35
+ /* @__PURE__ */ jsxs("div", { className: clsx("flex items-center", layoutGroupGap), children: [
36
+ headerIcon,
37
+ title && /* @__PURE__ */ jsx(Heading2, { id: id ? `${id}-title` : void 0, as: "p", children: title })
38
+ ] }),
39
+ !hideCloseIcon && /* @__PURE__ */ jsx(
40
+ Button,
41
+ {
42
+ id: id ? `${id}-close-button` : void 0,
43
+ iconOnly: true,
44
+ variant: "tertiary",
45
+ onClick: onClose,
46
+ leftIcon: /* @__PURE__ */ jsx("span", { className: "text-icon-primary-normal contents", children: /* @__PURE__ */ jsx(Icon, { name: "close", size: 24 }) })
47
+ }
48
+ )
49
+ ]
50
+ }
51
+ );
52
+ };
53
+ ModalHeader.displayName = "ModalHeader";
54
+
55
+ export {
56
+ ModalHeader
57
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Paragraph
3
- } from "./chunk-UIQ733QP.js";
3
+ } from "./chunk-VG4EPHJA.js";
4
4
  import {
5
5
  Icon
6
6
  } from "./chunk-IGQVA7SC.js";
@@ -25,7 +25,8 @@ var Checkbox = (_a) => {
25
25
  checked,
26
26
  onChange,
27
27
  indeterminate,
28
- paragraphClassName
28
+ paragraphClassName,
29
+ id
29
30
  } = _b, props = __objRest(_b, [
30
31
  "label",
31
32
  "error",
@@ -34,7 +35,8 @@ var Checkbox = (_a) => {
34
35
  "checked",
35
36
  "onChange",
36
37
  "indeterminate",
37
- "paragraphClassName"
38
+ "paragraphClassName",
39
+ "id"
38
40
  ]);
39
41
  const selected = indeterminate || checked;
40
42
  const normalClassName = clsx(
@@ -62,6 +64,8 @@ var Checkbox = (_a) => {
62
64
  return /* @__PURE__ */ jsxs(
63
65
  "label",
64
66
  {
67
+ id,
68
+ htmlFor: `${id}-input`,
65
69
  className: clsx(
66
70
  "flex items-center",
67
71
  componentGap,
@@ -73,12 +77,12 @@ var Checkbox = (_a) => {
73
77
  /* @__PURE__ */ jsx(
74
78
  "input",
75
79
  __spreadValues({
80
+ id: id ? `${id}-input` : void 0,
76
81
  type: "checkbox",
77
82
  className: "sr-only peer",
78
83
  disabled,
79
84
  checked: selected,
80
85
  onChange: handleOnChange,
81
- id: props.id,
82
86
  "data-indeterminate": indeterminate
83
87
  }, props)
84
88
  ),
@@ -104,6 +108,7 @@ var Checkbox = (_a) => {
104
108
  label && /* @__PURE__ */ jsx(
105
109
  Paragraph,
106
110
  {
111
+ id: id ? `${id}-label` : void 0,
107
112
  as: "span",
108
113
  padded: true,
109
114
  className: clsx(
@@ -24,6 +24,7 @@ import { createPortal } from "react-dom";
24
24
  import { jsxs } from "react/jsx-runtime";
25
25
  var Menu = (_a) => {
26
26
  var _b = _a, {
27
+ id,
27
28
  children,
28
29
  className,
29
30
  ref,
@@ -40,6 +41,7 @@ var Menu = (_a) => {
40
41
  autoFocusOff,
41
42
  menuName
42
43
  } = _b, props = __objRest(_b, [
44
+ "id",
43
45
  "children",
44
46
  "className",
45
47
  "ref",
@@ -119,6 +121,7 @@ var Menu = (_a) => {
119
121
  /* @__PURE__ */ jsxs(
120
122
  "div",
121
123
  __spreadProps(__spreadValues({
124
+ id,
122
125
  ref: setRefs,
123
126
  className: clsx(
124
127
  "shadow-4 rounded-base bg-background-grouped-primary-normal overflow-x-hidden overflow-y-auto flex flex-col outline-0",
@@ -20,7 +20,8 @@ var Paragraph = (_a) => {
20
20
  tall,
21
21
  addOverflow,
22
22
  children,
23
- as = "p"
23
+ as = "p",
24
+ id
24
25
  } = _b, props = __objRest(_b, [
25
26
  "className",
26
27
  "color",
@@ -29,12 +30,15 @@ var Paragraph = (_a) => {
29
30
  "tall",
30
31
  "addOverflow",
31
32
  "children",
32
- "as"
33
+ "as",
34
+ "id"
33
35
  ]);
34
36
  const Element = as;
35
37
  return /* @__PURE__ */ jsx(
36
38
  Element,
37
- __spreadProps(__spreadValues({}, props), {
39
+ __spreadProps(__spreadValues({
40
+ id
41
+ }, props), {
38
42
  className: clsx(
39
43
  typography.paragraph,
40
44
  className,
@@ -306,25 +306,35 @@ function Icon(_a) {
306
306
 
307
307
  // src/components/Breadcrumbs.tsx
308
308
  var import_jsx_runtime3 = require("react/jsx-runtime");
309
- var Breadcrumb = ({ href, children, onClick }) => {
309
+ var Breadcrumb = ({
310
+ href,
311
+ children,
312
+ onClick,
313
+ id
314
+ }) => {
310
315
  const linkPadding = (0, import_clsx4.default)(
311
316
  "!text-text-link-normal whitespace-nowrap",
312
317
  "py-[calc(var(--spacing-mobile-component-padding)_+_3px)]",
313
318
  "desktop:py-[calc(var(--spacing-desktop-component-padding)_+_3px)]",
314
319
  "compact:py-[calc(var(--spacing-desktop-compact-component-padding)_+_3px)]"
315
320
  );
316
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("li", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Link, { className: linkPadding, href, onClick, children }) }, href);
321
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("li", { id, className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
322
+ Link,
323
+ {
324
+ id: id ? `${id}-link` : void 0,
325
+ className: linkPadding,
326
+ href,
327
+ onClick,
328
+ children
329
+ }
330
+ ) }, href);
317
331
  };
318
- var Chevron = () => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("li", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon, { name: "chevron_right", size: 16 }) });
319
- var Breadcrumbs = ({
320
- asCardStyle,
321
- crumbs
322
- }) => {
332
+ var Chevron = () => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("li", { className: "flex items-center", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon, { name: "chevron_right", size: 16 }) });
333
+ var Breadcrumbs = ({ asCardStyle, id, crumbs }) => {
323
334
  const scrollableElement = import_react.default.useRef(null);
324
335
  const [isOverflow, setIsOverflow] = (0, import_react.useState)(false);
325
336
  (0, import_react.useLayoutEffect)(() => {
326
337
  var _a, _b, _c;
327
- console.log(scrollableElement.current);
328
338
  (_c = scrollableElement.current) == null ? void 0 : _c.scrollTo({
329
339
  left: (_b = (_a = scrollableElement.current) == null ? void 0 : _a.scrollWidth) != null ? _b : 0,
330
340
  behavior: "instant"
@@ -340,6 +350,7 @@ var Breadcrumbs = ({
340
350
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
341
351
  "nav",
342
352
  {
353
+ id,
343
354
  className: (0, import_clsx4.default)(
344
355
  "relative select-none flex items-center max-w-full w-full",
345
356
  {
@@ -361,6 +372,7 @@ var Breadcrumbs = ({
361
372
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
362
373
  "ol",
363
374
  {
375
+ id: id ? `${id}-list` : void 0,
364
376
  className: "flex items-center overflow-x-scroll",
365
377
  style: { scrollbarWidth: "none" },
366
378
  onScroll: updateOverflow,
@@ -371,7 +383,15 @@ var Breadcrumbs = ({
371
383
  const { href, children, onClick } = crumb;
372
384
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react.default.Fragment, { children: [
373
385
  index > 0 && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Chevron, {}),
374
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Breadcrumb, { href, onClick, children })
386
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
387
+ Breadcrumb,
388
+ {
389
+ href,
390
+ onClick,
391
+ id: id ? `${id}-crumb-${index}` : void 0,
392
+ children
393
+ }
394
+ )
375
395
  ] }, index);
376
396
  })
377
397
  }