@dmsi/wedgekit-react 0.0.26 → 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
@@ -204,20 +204,23 @@ var Heading = (_a) => {
204
204
  as,
205
205
  color,
206
206
  align,
207
- variant = "heading1"
207
+ variant = "heading1",
208
+ id
208
209
  } = _b, props = __objRest(_b, [
209
210
  "className",
210
211
  "children",
211
212
  "as",
212
213
  "color",
213
214
  "align",
214
- "variant"
215
+ "variant",
216
+ "id"
215
217
  ]);
216
218
  const defaultElement = variant === "heading1" ? "h1" : variant === "heading2" ? "h2" : "h3";
217
219
  const Element = as != null ? as : defaultElement;
218
220
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
219
221
  Element,
220
222
  __spreadProps(__spreadValues({
223
+ id,
221
224
  className: (0, import_clsx2.default)(
222
225
  typography[variant],
223
226
  className,
@@ -257,7 +260,8 @@ var Button = (_a) => {
257
260
  children,
258
261
  iconOnly = false,
259
262
  colorClassName,
260
- href
263
+ href,
264
+ id
261
265
  } = _b, props = __objRest(_b, [
262
266
  "variant",
263
267
  "as",
@@ -270,7 +274,8 @@ var Button = (_a) => {
270
274
  "children",
271
275
  "iconOnly",
272
276
  "colorClassName",
273
- "href"
277
+ "href",
278
+ "id"
274
279
  ]);
275
280
  const primaryVariantStyles = variant === "primary" && (0, import_clsx3.default)(
276
281
  (colorClassName == null ? void 0 : colorClassName.trim()) ? colorClassName : "text-text-on-action-primary-normal",
@@ -360,6 +365,7 @@ var Button = (_a) => {
360
365
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
361
366
  Element,
362
367
  __spreadProps(__spreadValues({
368
+ id,
363
369
  type: Element === "button" ? "button" : void 0,
364
370
  className: buttonClasses
365
371
  }, props), {
@@ -367,7 +373,7 @@ var Button = (_a) => {
367
373
  href,
368
374
  children: [
369
375
  leftIcon && leftIcon,
370
- !iconOnly && children && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: labelClasses, children }),
376
+ !iconOnly && children && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { id: id ? `${id}-label` : void 0, className: labelClasses, children }),
371
377
  rightIcon && rightIcon
372
378
  ]
373
379
  })
@@ -414,27 +420,36 @@ var ModalHeader = ({
414
420
  title,
415
421
  hideCloseIcon,
416
422
  headerIcon,
417
- onClose
423
+ onClose,
424
+ id
418
425
  }) => {
419
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: (0, import_clsx5.default)(
420
- "flex justify-between items-center",
421
- layoutPaddding,
422
- layoutGroupGap
423
- ), children: [
424
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: (0, import_clsx5.default)("flex items-center", layoutGroupGap), children: [
425
- headerIcon,
426
- title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Heading2, { as: "p", children: title })
427
- ] }),
428
- !hideCloseIcon && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
429
- Button,
430
- {
431
- iconOnly: true,
432
- variant: "tertiary",
433
- onClick: onClose,
434
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-icon-primary-normal contents", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { name: "close", size: 24 }) })
435
- }
436
- )
437
- ] });
426
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
427
+ "div",
428
+ {
429
+ id,
430
+ className: (0, import_clsx5.default)(
431
+ "flex justify-between items-center",
432
+ layoutPaddding,
433
+ layoutGroupGap
434
+ ),
435
+ children: [
436
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: (0, import_clsx5.default)("flex items-center", layoutGroupGap), children: [
437
+ headerIcon,
438
+ title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Heading2, { id: id ? `${id}-title` : void 0, as: "p", children: title })
439
+ ] }),
440
+ !hideCloseIcon && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
441
+ Button,
442
+ {
443
+ id: id ? `${id}-close-button` : void 0,
444
+ iconOnly: true,
445
+ variant: "tertiary",
446
+ onClick: onClose,
447
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-icon-primary-normal contents", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { name: "close", size: 24 }) })
448
+ }
449
+ )
450
+ ]
451
+ }
452
+ );
438
453
  };
439
454
  ModalHeader.displayName = "ModalHeader";
440
455
 
@@ -443,11 +458,13 @@ var import_clsx6 = __toESM(require("clsx"), 1);
443
458
  var import_jsx_runtime5 = require("react/jsx-runtime");
444
459
  function ModalContent({
445
460
  fixedHeightScrolling,
446
- children
461
+ children,
462
+ id
447
463
  }) {
448
464
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
449
465
  "div",
450
466
  {
467
+ id,
451
468
  className: (0, import_clsx6.default)(
452
469
  "flex-grow desktop:flex-grow-0",
453
470
  layoutPaddding,
@@ -465,30 +482,44 @@ var import_jsx_runtime6 = require("react/jsx-runtime");
465
482
  var ModalButtons = ({
466
483
  onClose,
467
484
  onContinue,
468
- customActions
485
+ customActions,
486
+ id
469
487
  }) => {
470
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: (0, import_clsx7.default)("border-t border-neutral-300 flex justify-end", layoutPaddding, layoutGroupGap), children: customActions != null ? customActions : /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
471
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
472
- Button,
473
- {
474
- variant: "secondary",
475
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { name: "close", size: 24 }),
476
- onClick: onClose,
477
- className: "max-sm:w-full",
478
- children: "Close"
479
- }
480
- ),
481
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
482
- Button,
483
- {
484
- variant: "primary",
485
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { name: "check", size: 24 }),
486
- className: "max-sm:w-full",
487
- onClick: onContinue,
488
- children: "Continue"
489
- }
490
- )
491
- ] }) });
488
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
489
+ "div",
490
+ {
491
+ id,
492
+ className: (0, import_clsx7.default)(
493
+ "border-t border-neutral-300 flex justify-end",
494
+ layoutPaddding,
495
+ layoutGroupGap
496
+ ),
497
+ children: customActions != null ? customActions : /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
498
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
499
+ Button,
500
+ {
501
+ id: id ? `${id}-close-button` : void 0,
502
+ variant: "secondary",
503
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { name: "close", size: 24 }),
504
+ onClick: onClose,
505
+ className: "max-sm:w-full",
506
+ children: "Close"
507
+ }
508
+ ),
509
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
510
+ Button,
511
+ {
512
+ id: id ? `${id}-continue-button` : void 0,
513
+ variant: "primary",
514
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Icon, { name: "check", size: 24 }),
515
+ className: "max-sm:w-full",
516
+ onClick: onContinue,
517
+ children: "Continue"
518
+ }
519
+ )
520
+ ] })
521
+ }
522
+ );
492
523
  };
493
524
  ModalButtons.displayName = "ModalButtons";
494
525
 
@@ -500,11 +531,13 @@ var ModalScrim = ({
500
531
  size = "small",
501
532
  children,
502
533
  onClick,
503
- ref
534
+ ref,
535
+ id
504
536
  }) => {
505
537
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
506
538
  "div",
507
539
  {
540
+ id,
508
541
  className: (0, import_clsx8.default)(
509
542
  "overflow-y-auto h-screen transition-[visibility,opacity,background] ease-in-out duration-100 grid place-content-center desktop:p-4 group bg-neutral-600/50 fixed opacity-0",
510
543
  !show && " pointer-events-none",
@@ -643,6 +676,7 @@ var sizes = {
643
676
  }
644
677
  };
645
678
  var Modal = ({
679
+ id,
646
680
  title,
647
681
  open = false,
648
682
  size = "small",
@@ -750,6 +784,7 @@ var Modal = ({
750
784
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
751
785
  ModalScrim,
752
786
  {
787
+ id: id ? `${id}-scrim` : void 0,
753
788
  size,
754
789
  ref: bgRef,
755
790
  show: open,
@@ -757,6 +792,7 @@ var Modal = ({
757
792
  children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
758
793
  "div",
759
794
  {
795
+ id,
760
796
  ref: modalRef,
761
797
  className: (0, import_clsx9.default)(
762
798
  "bg-white shadow-md rounded-sm flex flex-col overflow-hidden w-full opacity-0 h-fit",
@@ -769,16 +805,25 @@ var Modal = ({
769
805
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
770
806
  ModalHeader,
771
807
  {
808
+ id: id ? `${id}-header` : void 0,
772
809
  title,
773
810
  onClose: handleClose,
774
811
  hideCloseIcon,
775
812
  headerIcon
776
813
  }
777
814
  ),
778
- children && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ModalContent, { fixedHeightScrolling: computedFixedHeightScrolling, children }),
815
+ children && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
816
+ ModalContent,
817
+ {
818
+ id: id ? `${id}-content` : void 0,
819
+ fixedHeightScrolling: computedFixedHeightScrolling,
820
+ children
821
+ }
822
+ ),
779
823
  showButtons && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
780
824
  ModalButtons,
781
825
  {
826
+ id: id ? `${id}-buttons` : void 0,
782
827
  onClose: handleClose,
783
828
  onContinue,
784
829
  customActions
@@ -4,24 +4,24 @@ import {
4
4
  } from "../chunk-4RJKB7LC.js";
5
5
  import {
6
6
  ModalContent
7
- } from "../chunk-WIDBAFBU.js";
7
+ } from "../chunk-FWPJ73IK.js";
8
8
  import {
9
9
  ModalHeader
10
- } from "../chunk-UK3WG7HQ.js";
10
+ } from "../chunk-TVDFTRGL.js";
11
11
  import {
12
12
  ModalScrim
13
- } from "../chunk-TU55CHXU.js";
13
+ } from "../chunk-4JLU7TAC.js";
14
14
  import {
15
15
  ModalButtons
16
- } from "../chunk-DBYSGYST.js";
17
- import "../chunk-TJ44JJCB.js";
16
+ } from "../chunk-QUPHLL7D.js";
17
+ import "../chunk-J6LETUNM.js";
18
18
  import {
19
19
  useMatchesMobile
20
20
  } from "../chunk-SEKKGFM6.js";
21
21
  import {
22
22
  findDocumentRoot
23
23
  } from "../chunk-4T7F5BZZ.js";
24
- import "../chunk-T6HZARR7.js";
24
+ import "../chunk-MZJS2ZAU.js";
25
25
  import "../chunk-IGQVA7SC.js";
26
26
  import "../chunk-RDLEIAQU.js";
27
27
  import "../chunk-ORMEWXMH.js";
@@ -90,6 +90,7 @@ var sizes = {
90
90
  }
91
91
  };
92
92
  var Modal = ({
93
+ id,
93
94
  title,
94
95
  open = false,
95
96
  size = "small",
@@ -197,6 +198,7 @@ var Modal = ({
197
198
  /* @__PURE__ */ jsx(
198
199
  ModalScrim,
199
200
  {
201
+ id: id ? `${id}-scrim` : void 0,
200
202
  size,
201
203
  ref: bgRef,
202
204
  show: open,
@@ -204,6 +206,7 @@ var Modal = ({
204
206
  children: /* @__PURE__ */ jsxs(
205
207
  "div",
206
208
  {
209
+ id,
207
210
  ref: modalRef,
208
211
  className: clsx(
209
212
  "bg-white shadow-md rounded-sm flex flex-col overflow-hidden w-full opacity-0 h-fit",
@@ -216,16 +219,25 @@ var Modal = ({
216
219
  /* @__PURE__ */ jsx(
217
220
  ModalHeader,
218
221
  {
222
+ id: id ? `${id}-header` : void 0,
219
223
  title,
220
224
  onClose: handleClose,
221
225
  hideCloseIcon,
222
226
  headerIcon
223
227
  }
224
228
  ),
225
- children && /* @__PURE__ */ jsx(ModalContent, { fixedHeightScrolling: computedFixedHeightScrolling, children }),
229
+ children && /* @__PURE__ */ jsx(
230
+ ModalContent,
231
+ {
232
+ id: id ? `${id}-content` : void 0,
233
+ fixedHeightScrolling: computedFixedHeightScrolling,
234
+ children
235
+ }
236
+ ),
226
237
  showButtons && /* @__PURE__ */ jsx(
227
238
  ModalButtons,
228
239
  {
240
+ id: id ? `${id}-buttons` : void 0,
229
241
  onClose: handleClose,
230
242
  onContinue,
231
243
  customActions
@@ -208,7 +208,8 @@ var Button = (_a) => {
208
208
  children,
209
209
  iconOnly = false,
210
210
  colorClassName,
211
- href
211
+ href,
212
+ id
212
213
  } = _b, props = __objRest(_b, [
213
214
  "variant",
214
215
  "as",
@@ -221,7 +222,8 @@ var Button = (_a) => {
221
222
  "children",
222
223
  "iconOnly",
223
224
  "colorClassName",
224
- "href"
225
+ "href",
226
+ "id"
225
227
  ]);
226
228
  const primaryVariantStyles = variant === "primary" && (0, import_clsx2.default)(
227
229
  (colorClassName == null ? void 0 : colorClassName.trim()) ? colorClassName : "text-text-on-action-primary-normal",
@@ -311,6 +313,7 @@ var Button = (_a) => {
311
313
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
312
314
  Element,
313
315
  __spreadProps(__spreadValues({
316
+ id,
314
317
  type: Element === "button" ? "button" : void 0,
315
318
  className: buttonClasses
316
319
  }, props), {
@@ -318,7 +321,7 @@ var Button = (_a) => {
318
321
  href,
319
322
  children: [
320
323
  leftIcon && leftIcon,
321
- !iconOnly && children && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: labelClasses, children }),
324
+ !iconOnly && children && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { id: id ? `${id}-label` : void 0, className: labelClasses, children }),
322
325
  rightIcon && rightIcon
323
326
  ]
324
327
  })
@@ -363,30 +366,44 @@ var import_jsx_runtime3 = require("react/jsx-runtime");
363
366
  var ModalButtons = ({
364
367
  onClose,
365
368
  onContinue,
366
- customActions
369
+ customActions,
370
+ id
367
371
  }) => {
368
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: (0, import_clsx4.default)("border-t border-neutral-300 flex justify-end", layoutPaddding, layoutGroupGap), children: customActions != null ? customActions : /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
369
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
370
- Button,
371
- {
372
- variant: "secondary",
373
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon, { name: "close", size: 24 }),
374
- onClick: onClose,
375
- className: "max-sm:w-full",
376
- children: "Close"
377
- }
378
- ),
379
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
380
- Button,
381
- {
382
- variant: "primary",
383
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon, { name: "check", size: 24 }),
384
- className: "max-sm:w-full",
385
- onClick: onContinue,
386
- children: "Continue"
387
- }
388
- )
389
- ] }) });
372
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
373
+ "div",
374
+ {
375
+ id,
376
+ className: (0, import_clsx4.default)(
377
+ "border-t border-neutral-300 flex justify-end",
378
+ layoutPaddding,
379
+ layoutGroupGap
380
+ ),
381
+ children: customActions != null ? customActions : /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
382
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
383
+ Button,
384
+ {
385
+ id: id ? `${id}-close-button` : void 0,
386
+ variant: "secondary",
387
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon, { name: "close", size: 24 }),
388
+ onClick: onClose,
389
+ className: "max-sm:w-full",
390
+ children: "Close"
391
+ }
392
+ ),
393
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
394
+ Button,
395
+ {
396
+ id: id ? `${id}-continue-button` : void 0,
397
+ variant: "primary",
398
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon, { name: "check", size: 24 }),
399
+ className: "max-sm:w-full",
400
+ onClick: onContinue,
401
+ children: "Continue"
402
+ }
403
+ )
404
+ ] })
405
+ }
406
+ );
390
407
  };
391
408
  ModalButtons.displayName = "ModalButtons";
392
409
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ModalButtons
3
- } from "../chunk-DBYSGYST.js";
4
- import "../chunk-T6HZARR7.js";
3
+ } from "../chunk-QUPHLL7D.js";
4
+ import "../chunk-MZJS2ZAU.js";
5
5
  import "../chunk-IGQVA7SC.js";
6
6
  import "../chunk-RDLEIAQU.js";
7
7
  import "../chunk-ORMEWXMH.js";
@@ -165,11 +165,13 @@ var gapUsingContainerPadding = (0, import_clsx.default)(
165
165
  var import_jsx_runtime = require("react/jsx-runtime");
166
166
  function ModalContent({
167
167
  fixedHeightScrolling,
168
- children
168
+ children,
169
+ id
169
170
  }) {
170
171
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
171
172
  "div",
172
173
  {
174
+ id,
173
175
  className: (0, import_clsx2.default)(
174
176
  "flex-grow desktop:flex-grow-0",
175
177
  layoutPaddding,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ModalContent
3
- } from "../chunk-WIDBAFBU.js";
3
+ } from "../chunk-FWPJ73IK.js";
4
4
  import "../chunk-RDLEIAQU.js";
5
5
  import "../chunk-ORMEWXMH.js";
6
6
  export {
@@ -201,20 +201,23 @@ var Heading = (_a) => {
201
201
  as,
202
202
  color,
203
203
  align,
204
- variant = "heading1"
204
+ variant = "heading1",
205
+ id
205
206
  } = _b, props = __objRest(_b, [
206
207
  "className",
207
208
  "children",
208
209
  "as",
209
210
  "color",
210
211
  "align",
211
- "variant"
212
+ "variant",
213
+ "id"
212
214
  ]);
213
215
  const defaultElement = variant === "heading1" ? "h1" : variant === "heading2" ? "h2" : "h3";
214
216
  const Element = as != null ? as : defaultElement;
215
217
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
216
218
  Element,
217
219
  __spreadProps(__spreadValues({
220
+ id,
218
221
  className: (0, import_clsx2.default)(
219
222
  typography[variant],
220
223
  className,
@@ -254,7 +257,8 @@ var Button = (_a) => {
254
257
  children,
255
258
  iconOnly = false,
256
259
  colorClassName,
257
- href
260
+ href,
261
+ id
258
262
  } = _b, props = __objRest(_b, [
259
263
  "variant",
260
264
  "as",
@@ -267,7 +271,8 @@ var Button = (_a) => {
267
271
  "children",
268
272
  "iconOnly",
269
273
  "colorClassName",
270
- "href"
274
+ "href",
275
+ "id"
271
276
  ]);
272
277
  const primaryVariantStyles = variant === "primary" && (0, import_clsx3.default)(
273
278
  (colorClassName == null ? void 0 : colorClassName.trim()) ? colorClassName : "text-text-on-action-primary-normal",
@@ -357,6 +362,7 @@ var Button = (_a) => {
357
362
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
358
363
  Element,
359
364
  __spreadProps(__spreadValues({
365
+ id,
360
366
  type: Element === "button" ? "button" : void 0,
361
367
  className: buttonClasses
362
368
  }, props), {
@@ -364,7 +370,7 @@ var Button = (_a) => {
364
370
  href,
365
371
  children: [
366
372
  leftIcon && leftIcon,
367
- !iconOnly && children && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: labelClasses, children }),
373
+ !iconOnly && children && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { id: id ? `${id}-label` : void 0, className: labelClasses, children }),
368
374
  rightIcon && rightIcon
369
375
  ]
370
376
  })
@@ -411,27 +417,36 @@ var ModalHeader = ({
411
417
  title,
412
418
  hideCloseIcon,
413
419
  headerIcon,
414
- onClose
420
+ onClose,
421
+ id
415
422
  }) => {
416
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: (0, import_clsx5.default)(
417
- "flex justify-between items-center",
418
- layoutPaddding,
419
- layoutGroupGap
420
- ), children: [
421
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: (0, import_clsx5.default)("flex items-center", layoutGroupGap), children: [
422
- headerIcon,
423
- title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Heading2, { as: "p", children: title })
424
- ] }),
425
- !hideCloseIcon && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
426
- Button,
427
- {
428
- iconOnly: true,
429
- variant: "tertiary",
430
- onClick: onClose,
431
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-icon-primary-normal contents", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { name: "close", size: 24 }) })
432
- }
433
- )
434
- ] });
423
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
424
+ "div",
425
+ {
426
+ id,
427
+ className: (0, import_clsx5.default)(
428
+ "flex justify-between items-center",
429
+ layoutPaddding,
430
+ layoutGroupGap
431
+ ),
432
+ children: [
433
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: (0, import_clsx5.default)("flex items-center", layoutGroupGap), children: [
434
+ headerIcon,
435
+ title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Heading2, { id: id ? `${id}-title` : void 0, as: "p", children: title })
436
+ ] }),
437
+ !hideCloseIcon && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
438
+ Button,
439
+ {
440
+ id: id ? `${id}-close-button` : void 0,
441
+ iconOnly: true,
442
+ variant: "tertiary",
443
+ onClick: onClose,
444
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-icon-primary-normal contents", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { name: "close", size: 24 }) })
445
+ }
446
+ )
447
+ ]
448
+ }
449
+ );
435
450
  };
436
451
  ModalHeader.displayName = "ModalHeader";
437
452
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ModalHeader
3
- } from "../chunk-UK3WG7HQ.js";
4
- import "../chunk-TJ44JJCB.js";
5
- import "../chunk-T6HZARR7.js";
3
+ } from "../chunk-TVDFTRGL.js";
4
+ import "../chunk-J6LETUNM.js";
5
+ import "../chunk-MZJS2ZAU.js";
6
6
  import "../chunk-IGQVA7SC.js";
7
7
  import "../chunk-RDLEIAQU.js";
8
8
  import "../chunk-ORMEWXMH.js";
@@ -40,11 +40,13 @@ var ModalScrim = ({
40
40
  size = "small",
41
41
  children,
42
42
  onClick,
43
- ref
43
+ ref,
44
+ id
44
45
  }) => {
45
46
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
46
47
  "div",
47
48
  {
49
+ id,
48
50
  className: (0, import_clsx.default)(
49
51
  "overflow-y-auto h-screen transition-[visibility,opacity,background] ease-in-out duration-100 grid place-content-center desktop:p-4 group bg-neutral-600/50 fixed opacity-0",
50
52
  !show && " pointer-events-none",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ModalScrim
3
- } from "../chunk-TU55CHXU.js";
3
+ } from "../chunk-4JLU7TAC.js";
4
4
  import "../chunk-ORMEWXMH.js";
5
5
  export {
6
6
  ModalScrim