@dmsi/wedgekit-react 0.0.552 → 0.0.554

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 (151) hide show
  1. package/dist/{chunk-7COWXCPA.js → chunk-45SH6WHE.js} +3 -3
  2. package/dist/{chunk-KJ5OQPPV.js → chunk-63WMDTVQ.js} +1 -1
  3. package/dist/{chunk-FJFZBIRG.js → chunk-7ZCXZDJD.js} +3 -3
  4. package/dist/{chunk-FWCVZWE6.js → chunk-7ZL4GBAD.js} +3 -3
  5. package/dist/{chunk-5BRIDIUA.js → chunk-AGHBLWDZ.js} +3 -3
  6. package/dist/{chunk-QYKOR7LE.js → chunk-CQLRGYHM.js} +3 -3
  7. package/dist/{chunk-XRE52QTN.js → chunk-D5V3PUQQ.js} +6 -6
  8. package/dist/{chunk-Y3EFHKAG.js → chunk-DWICBU2V.js} +1 -1
  9. package/dist/{chunk-CMMQTIVM.js → chunk-EJOPJIRO.js} +3 -3
  10. package/dist/{chunk-K4SIZGMK.js → chunk-EQ2RAI53.js} +1 -1
  11. package/dist/{chunk-SBGGDIE3.js → chunk-FIVKYEC3.js} +7 -7
  12. package/dist/{chunk-QMMPHXVE.js → chunk-GVIXW2QS.js} +3 -3
  13. package/dist/{chunk-ZIPJMN2E.js → chunk-GYQA4UIK.js} +6 -6
  14. package/dist/{chunk-45AHDOAU.js → chunk-HVYK7COK.js} +9 -3
  15. package/dist/{chunk-AKJUBFJK.js → chunk-KV7LAH3T.js} +3 -3
  16. package/dist/{chunk-AX4M7X4Z.js → chunk-MTGNBARV.js} +5 -2
  17. package/dist/{chunk-MHXYGKWA.js → chunk-Q3G6Z5DM.js} +1 -1
  18. package/dist/{chunk-4DXOA7NZ.js → chunk-RZ5EIDX4.js} +1 -1
  19. package/dist/{chunk-PJL5XESN.js → chunk-TL4M56HJ.js} +1 -1
  20. package/dist/{chunk-WNGFRQ4Y.js → chunk-TXPN24PW.js} +13 -13
  21. package/dist/{chunk-Z2QAJY5I.js → chunk-UAMI54FE.js} +1 -1
  22. package/dist/chunk-XJF4S3RB.js +82 -0
  23. package/dist/chunk-XR733AKC.js +82 -0
  24. package/dist/{chunk-7SFFUICM.js → chunk-YLC7OHW2.js} +6 -6
  25. package/dist/chunk-ZCJWOHFN.js +139 -0
  26. package/dist/{chunk-JADOJNBI.js → chunk-ZDXJXDZT.js} +4 -4
  27. package/dist/components/AccessCard.cjs +661 -0
  28. package/dist/components/AccessCard.js +13 -0
  29. package/dist/components/AccessCardGroup.cjs +365 -0
  30. package/dist/components/AccessCardGroup.js +11 -0
  31. package/dist/components/Accordion.cjs +5 -2
  32. package/dist/components/Accordion.js +2 -2
  33. package/dist/components/Alert.cjs +64 -28
  34. package/dist/components/Alert.js +4 -3
  35. package/dist/components/Button.cjs +38 -5
  36. package/dist/components/Button.js +2 -1
  37. package/dist/components/CalendarRange.cjs +298 -128
  38. package/dist/components/CalendarRange.css +44 -0
  39. package/dist/components/CalendarRange.js +28 -24
  40. package/dist/components/CompactImagesPreview.cjs +5 -2
  41. package/dist/components/CompactImagesPreview.js +2 -2
  42. package/dist/components/ContentTab.cjs +42 -9
  43. package/dist/components/ContentTab.js +3 -2
  44. package/dist/components/ContentTabs.cjs +47 -14
  45. package/dist/components/ContentTabs.js +3 -2
  46. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.cjs +281 -111
  47. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.css +44 -0
  48. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.js +28 -24
  49. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.cjs +291 -121
  50. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.css +44 -0
  51. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.js +28 -24
  52. package/dist/components/DataGrid/PinnedColumns.cjs +306 -136
  53. package/dist/components/DataGrid/PinnedColumns.css +44 -0
  54. package/dist/components/DataGrid/PinnedColumns.js +28 -24
  55. package/dist/components/DataGrid/TableBody/LoadingCell.cjs +282 -112
  56. package/dist/components/DataGrid/TableBody/LoadingCell.css +44 -0
  57. package/dist/components/DataGrid/TableBody/LoadingCell.js +28 -24
  58. package/dist/components/DataGrid/TableBody/TableBodyRow.cjs +288 -118
  59. package/dist/components/DataGrid/TableBody/TableBodyRow.css +44 -0
  60. package/dist/components/DataGrid/TableBody/TableBodyRow.js +28 -24
  61. package/dist/components/DataGrid/TableBody/index.cjs +303 -133
  62. package/dist/components/DataGrid/TableBody/index.css +44 -0
  63. package/dist/components/DataGrid/TableBody/index.js +28 -24
  64. package/dist/components/DataGrid/index.cjs +392 -222
  65. package/dist/components/DataGrid/index.css +44 -0
  66. package/dist/components/DataGrid/index.js +28 -24
  67. package/dist/components/DataGrid/utils.cjs +282 -112
  68. package/dist/components/DataGrid/utils.css +44 -0
  69. package/dist/components/DataGrid/utils.js +28 -24
  70. package/dist/components/DataGridCell.js +3 -3
  71. package/dist/components/DateInput.cjs +311 -141
  72. package/dist/components/DateInput.css +44 -0
  73. package/dist/components/DateInput.js +28 -24
  74. package/dist/components/DateRangeInput.cjs +317 -147
  75. package/dist/components/DateRangeInput.css +44 -0
  76. package/dist/components/DateRangeInput.js +28 -24
  77. package/dist/components/FilterGroup.cjs +87 -52
  78. package/dist/components/FilterGroup.js +6 -5
  79. package/dist/components/InputGroup.cjs +1 -1
  80. package/dist/components/InputGroup.js +1 -1
  81. package/dist/components/ListGroup.cjs +5 -2
  82. package/dist/components/ListGroup.js +2 -2
  83. package/dist/components/MenuOption.js +2 -2
  84. package/dist/components/MobileDataGrid/ColumnList.cjs +5 -2
  85. package/dist/components/MobileDataGrid/ColumnList.js +3 -3
  86. package/dist/components/MobileDataGrid/ColumnSelector/index.cjs +288 -118
  87. package/dist/components/MobileDataGrid/ColumnSelector/index.css +44 -0
  88. package/dist/components/MobileDataGrid/ColumnSelector/index.js +28 -24
  89. package/dist/components/MobileDataGrid/MobileDataGridCard/index.cjs +5 -2
  90. package/dist/components/MobileDataGrid/MobileDataGridCard/index.js +2 -2
  91. package/dist/components/MobileDataGrid/MobileDataGridHeader.cjs +293 -120
  92. package/dist/components/MobileDataGrid/MobileDataGridHeader.css +44 -0
  93. package/dist/components/MobileDataGrid/MobileDataGridHeader.js +28 -24
  94. package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.cjs +5 -2
  95. package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.js +2 -2
  96. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.cjs +94 -58
  97. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.js +8 -7
  98. package/dist/components/MobileDataGrid/index.cjs +372 -199
  99. package/dist/components/MobileDataGrid/index.css +44 -0
  100. package/dist/components/MobileDataGrid/index.js +28 -24
  101. package/dist/components/Modal.cjs +64 -29
  102. package/dist/components/Modal.js +5 -4
  103. package/dist/components/ModalButtons.cjs +47 -14
  104. package/dist/components/ModalButtons.js +3 -2
  105. package/dist/components/ModalHeader.cjs +47 -12
  106. package/dist/components/ModalHeader.js +3 -2
  107. package/dist/components/NavigationTab.cjs +43 -10
  108. package/dist/components/NavigationTab.js +3 -2
  109. package/dist/components/NavigationTabs.cjs +48 -15
  110. package/dist/components/NavigationTabs.js +3 -2
  111. package/dist/components/NestedMenu.cjs +48 -13
  112. package/dist/components/NestedMenu.js +6 -5
  113. package/dist/components/Notification.cjs +68 -32
  114. package/dist/components/Notification.js +7 -6
  115. package/dist/components/OptionPill.cjs +48 -13
  116. package/dist/components/OptionPill.js +3 -2
  117. package/dist/components/PDFViewer/DownloadIcon.cjs +46 -13
  118. package/dist/components/PDFViewer/DownloadIcon.js +3 -2
  119. package/dist/components/PDFViewer/PDFElement.cjs +5 -2
  120. package/dist/components/PDFViewer/PDFElement.js +2 -2
  121. package/dist/components/PDFViewer/PDFNavigation.cjs +64 -28
  122. package/dist/components/PDFViewer/PDFNavigation.js +4 -3
  123. package/dist/components/PDFViewer/index.cjs +69 -61
  124. package/dist/components/PDFViewer/index.js +11 -11
  125. package/dist/components/ProductImagePreview/index.cjs +5 -2
  126. package/dist/components/ProductImagePreview/index.js +5 -5
  127. package/dist/components/Radio.js +5 -134
  128. package/dist/components/SideMenuGroup.cjs +5 -2
  129. package/dist/components/SideMenuGroup.js +1 -1
  130. package/dist/components/SideMenuItem.cjs +5 -2
  131. package/dist/components/SideMenuItem.js +3 -3
  132. package/dist/components/SimpleTable.cjs +5 -2
  133. package/dist/components/SimpleTable.js +2 -2
  134. package/dist/components/Stack.cjs +5 -2
  135. package/dist/components/Stack.js +1 -1
  136. package/dist/components/Stepper.cjs +73 -40
  137. package/dist/components/Stepper.js +4 -3
  138. package/dist/components/Swatch.cjs +5 -2
  139. package/dist/components/Swatch.js +3 -3
  140. package/dist/components/Time.cjs +5 -2
  141. package/dist/components/Time.js +2 -2
  142. package/dist/components/Toast.cjs +51 -16
  143. package/dist/components/Toast.js +4 -3
  144. package/dist/components/Upload.cjs +46 -38
  145. package/dist/components/Upload.js +6 -6
  146. package/dist/components/index.cjs +537 -231
  147. package/dist/components/index.css +44 -0
  148. package/dist/components/index.js +40 -30
  149. package/dist/index.css +44 -0
  150. package/package.json +1 -1
  151. package/dist/{chunk-EZ4KZYKG.js → chunk-YWQEMS2C.js} +3 -3
@@ -260,7 +260,39 @@ Heading3.displayName = "Heading3";
260
260
 
261
261
  // src/components/Button.tsx
262
262
  var import_clsx3 = __toESM(require("clsx"), 1);
263
+
264
+ // src/components/Spinner.tsx
263
265
  var import_jsx_runtime2 = require("react/jsx-runtime");
266
+ var Spinner = ({ size = "small", testid }) => {
267
+ const dimension = size === "large" ? 48 : 24;
268
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
269
+ "svg",
270
+ {
271
+ "data-testid": testid,
272
+ width: dimension,
273
+ height: dimension,
274
+ viewBox: "0 0 24 24",
275
+ xmlns: "http://www.w3.org/2000/svg",
276
+ fill: "#1D1E1E",
277
+ className: "spinner",
278
+ "aria-label": "Loading",
279
+ children: [
280
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
281
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
282
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
283
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
284
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
285
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
286
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
287
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
288
+ ]
289
+ }
290
+ );
291
+ };
292
+ Spinner.displayName = "Spinner";
293
+
294
+ // src/components/Button.tsx
295
+ var import_jsx_runtime3 = require("react/jsx-runtime");
264
296
  var Button = (_a) => {
265
297
  var _b = _a, {
266
298
  variant = "primary",
@@ -276,7 +308,8 @@ var Button = (_a) => {
276
308
  colorClassName,
277
309
  href,
278
310
  id,
279
- testid
311
+ testid,
312
+ isLoading
280
313
  } = _b, props = __objRest(_b, [
281
314
  "variant",
282
315
  "as",
@@ -291,7 +324,8 @@ var Button = (_a) => {
291
324
  "colorClassName",
292
325
  "href",
293
326
  "id",
294
- "testid"
327
+ "testid",
328
+ "isLoading"
295
329
  ]);
296
330
  const primaryVariantStyles = variant === "primary" && (0, import_clsx3.default)(
297
331
  (colorClassName == null ? void 0 : colorClassName.trim()) ? colorClassName : "text-text-on-action-primary-normal",
@@ -375,7 +409,7 @@ var Button = (_a) => {
375
409
  typography.buttonLabel
376
410
  );
377
411
  const Element = href && !as ? "a" : as;
378
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
412
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
379
413
  Element,
380
414
  __spreadProps(__spreadValues({
381
415
  id,
@@ -389,7 +423,8 @@ var Button = (_a) => {
389
423
  "data-theme": variant === "navigation" ? "brand" : void 0,
390
424
  children: [
391
425
  leftIcon && leftIcon,
392
- !iconOnly && children && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { id: id ? `${id}-label` : void 0, "data-testid": testid ? `${testid}-label` : void 0, className: labelClasses, children }),
426
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Spinner, { size: "small" }),
427
+ !iconOnly && !isLoading && children && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { id: id ? `${id}-label` : void 0, "data-testid": testid ? `${testid}-label` : void 0, className: labelClasses, children }),
393
428
  rightIcon && rightIcon
394
429
  ]
395
430
  })
@@ -399,7 +434,7 @@ Button.displayName = "Button";
399
434
 
400
435
  // src/components/Icon.tsx
401
436
  var import_clsx4 = __toESM(require("clsx"), 1);
402
- var import_jsx_runtime3 = require("react/jsx-runtime");
437
+ var import_jsx_runtime4 = require("react/jsx-runtime");
403
438
  function Icon(_a) {
404
439
  var _b = _a, {
405
440
  name,
@@ -414,7 +449,7 @@ function Icon(_a) {
414
449
  ]);
415
450
  const variantStyle = variant === "filled" ? '"FILL" 1' : '"FILL" 0';
416
451
  const weightStyle = size === 16 ? '"wght" 400' : '"wght" 300';
417
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
452
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
418
453
  "span",
419
454
  __spreadProps(__spreadValues({}, props), {
420
455
  "data-testid": testid,
@@ -434,7 +469,7 @@ function Icon(_a) {
434
469
 
435
470
  // src/components/ModalHeader.tsx
436
471
  var import_clsx5 = __toESM(require("clsx"), 1);
437
- var import_jsx_runtime4 = require("react/jsx-runtime");
472
+ var import_jsx_runtime5 = require("react/jsx-runtime");
438
473
  var ModalHeader = ({
439
474
  title,
440
475
  hideCloseIcon,
@@ -447,7 +482,7 @@ var ModalHeader = ({
447
482
  titleAs: TitleComponent
448
483
  }) => {
449
484
  const Title = TitleComponent || Heading2;
450
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
485
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
451
486
  "div",
452
487
  {
453
488
  id,
@@ -462,9 +497,9 @@ var ModalHeader = ({
462
497
  headerClassname
463
498
  ),
464
499
  children: [
465
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: (0, import_clsx5.default)("flex items-center flex-1", layoutGroupGap), children: [
500
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: (0, import_clsx5.default)("flex items-center flex-1", layoutGroupGap), children: [
466
501
  headerIcon,
467
- title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
502
+ title && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
468
503
  Title,
469
504
  {
470
505
  id: id ? `${id}-title` : void 0,
@@ -474,7 +509,7 @@ var ModalHeader = ({
474
509
  }
475
510
  )
476
511
  ] }),
477
- !hideCloseIcon && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
512
+ !hideCloseIcon && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
478
513
  Button,
479
514
  {
480
515
  id: id ? `${id}-close-button` : void 0,
@@ -482,7 +517,7 @@ var ModalHeader = ({
482
517
  iconOnly: true,
483
518
  variant: "tertiary",
484
519
  onClick: onClose,
485
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-brand-text-action-primary-normal desktop:text-icon-primary-normal contents", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { name: "close", size: 24 }) })
520
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "text-brand-text-action-primary-normal desktop:text-icon-primary-normal contents", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Icon, { name: "close", size: 24 }) })
486
521
  }
487
522
  )
488
523
  ]
@@ -1,9 +1,10 @@
1
1
  import {
2
2
  ModalHeader
3
- } from "../chunk-CMMQTIVM.js";
3
+ } from "../chunk-EJOPJIRO.js";
4
4
  import "../chunk-MXSJF6TW.js";
5
+ import "../chunk-HVYK7COK.js";
6
+ import "../chunk-SBRRNFOP.js";
5
7
  import "../chunk-NKUETCDA.js";
6
- import "../chunk-45AHDOAU.js";
7
8
  import "../chunk-7KWFEH56.js";
8
9
  import "../chunk-ORMEWXMH.js";
9
10
  export {
@@ -207,8 +207,38 @@ var gapUsingContainerPadding = (0, import_clsx.default)(
207
207
  "gap-mobile-container-padding desktop:gap-desktop-container-padding compact:gap-desktop-compact-container-padding"
208
208
  );
209
209
 
210
- // src/components/Button.tsx
210
+ // src/components/Spinner.tsx
211
211
  var import_jsx_runtime = require("react/jsx-runtime");
212
+ var Spinner = ({ size = "small", testid }) => {
213
+ const dimension = size === "large" ? 48 : 24;
214
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
215
+ "svg",
216
+ {
217
+ "data-testid": testid,
218
+ width: dimension,
219
+ height: dimension,
220
+ viewBox: "0 0 24 24",
221
+ xmlns: "http://www.w3.org/2000/svg",
222
+ fill: "#1D1E1E",
223
+ className: "spinner",
224
+ "aria-label": "Loading",
225
+ children: [
226
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
227
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
228
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
229
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
230
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
231
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
232
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
233
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
234
+ ]
235
+ }
236
+ );
237
+ };
238
+ Spinner.displayName = "Spinner";
239
+
240
+ // src/components/Button.tsx
241
+ var import_jsx_runtime2 = require("react/jsx-runtime");
212
242
  var Button = (_a) => {
213
243
  var _b = _a, {
214
244
  variant = "primary",
@@ -224,7 +254,8 @@ var Button = (_a) => {
224
254
  colorClassName,
225
255
  href,
226
256
  id,
227
- testid
257
+ testid,
258
+ isLoading
228
259
  } = _b, props = __objRest(_b, [
229
260
  "variant",
230
261
  "as",
@@ -239,7 +270,8 @@ var Button = (_a) => {
239
270
  "colorClassName",
240
271
  "href",
241
272
  "id",
242
- "testid"
273
+ "testid",
274
+ "isLoading"
243
275
  ]);
244
276
  const primaryVariantStyles = variant === "primary" && (0, import_clsx2.default)(
245
277
  (colorClassName == null ? void 0 : colorClassName.trim()) ? colorClassName : "text-text-on-action-primary-normal",
@@ -323,7 +355,7 @@ var Button = (_a) => {
323
355
  typography.buttonLabel
324
356
  );
325
357
  const Element = href && !as ? "a" : as;
326
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
358
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
327
359
  Element,
328
360
  __spreadProps(__spreadValues({
329
361
  id,
@@ -337,7 +369,8 @@ var Button = (_a) => {
337
369
  "data-theme": variant === "navigation" ? "brand" : void 0,
338
370
  children: [
339
371
  leftIcon && leftIcon,
340
- !iconOnly && children && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { id: id ? `${id}-label` : void 0, "data-testid": testid ? `${testid}-label` : void 0, className: labelClasses, children }),
372
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Spinner, { size: "small" }),
373
+ !iconOnly && !isLoading && children && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { id: id ? `${id}-label` : void 0, "data-testid": testid ? `${testid}-label` : void 0, className: labelClasses, children }),
341
374
  rightIcon && rightIcon
342
375
  ]
343
376
  })
@@ -347,7 +380,7 @@ Button.displayName = "Button";
347
380
 
348
381
  // src/components/Icon.tsx
349
382
  var import_clsx3 = __toESM(require("clsx"), 1);
350
- var import_jsx_runtime2 = require("react/jsx-runtime");
383
+ var import_jsx_runtime3 = require("react/jsx-runtime");
351
384
  function Icon(_a) {
352
385
  var _b = _a, {
353
386
  name,
@@ -362,7 +395,7 @@ function Icon(_a) {
362
395
  ]);
363
396
  const variantStyle = variant === "filled" ? '"FILL" 1' : '"FILL" 0';
364
397
  const weightStyle = size === 16 ? '"wght" 400' : '"wght" 300';
365
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
398
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
366
399
  "span",
367
400
  __spreadProps(__spreadValues({}, props), {
368
401
  "data-testid": testid,
@@ -381,7 +414,7 @@ function Icon(_a) {
381
414
  }
382
415
 
383
416
  // src/components/NavigationTab.tsx
384
- var import_jsx_runtime3 = require("react/jsx-runtime");
417
+ var import_jsx_runtime4 = require("react/jsx-runtime");
385
418
  var NavigationTab = (_a) => {
386
419
  var _b = _a, {
387
420
  id,
@@ -434,7 +467,7 @@ var NavigationTab = (_a) => {
434
467
  "--color-text-on-action-primary-hover": "var(--color-brand-500)",
435
468
  "--color-text-on-action-primary-active": "var(--color-brand-300)"
436
469
  };
437
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
470
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
438
471
  Button,
439
472
  __spreadProps(__spreadValues({
440
473
  id,
@@ -451,7 +484,7 @@ var NavigationTab = (_a) => {
451
484
  ),
452
485
  style: tokenOverrides,
453
486
  classNameLabel: "px-1",
454
- rightIcon: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon, { name: "close", size: 16 }),
487
+ rightIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { name: "close", size: 16 }),
455
488
  onClick,
456
489
  disabled
457
490
  }, props), {
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  NavigationTab
3
- } from "../chunk-QMMPHXVE.js";
3
+ } from "../chunk-GVIXW2QS.js";
4
+ import "../chunk-HVYK7COK.js";
5
+ import "../chunk-SBRRNFOP.js";
4
6
  import "../chunk-NKUETCDA.js";
5
- import "../chunk-45AHDOAU.js";
6
7
  import "../chunk-7KWFEH56.js";
7
8
  import "../chunk-ORMEWXMH.js";
8
9
  export {
@@ -212,8 +212,38 @@ var gapUsingContainerPadding = (0, import_clsx.default)(
212
212
  "gap-mobile-container-padding desktop:gap-desktop-container-padding compact:gap-desktop-compact-container-padding"
213
213
  );
214
214
 
215
- // src/components/Button.tsx
215
+ // src/components/Spinner.tsx
216
216
  var import_jsx_runtime = require("react/jsx-runtime");
217
+ var Spinner = ({ size = "small", testid }) => {
218
+ const dimension = size === "large" ? 48 : 24;
219
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
220
+ "svg",
221
+ {
222
+ "data-testid": testid,
223
+ width: dimension,
224
+ height: dimension,
225
+ viewBox: "0 0 24 24",
226
+ xmlns: "http://www.w3.org/2000/svg",
227
+ fill: "#1D1E1E",
228
+ className: "spinner",
229
+ "aria-label": "Loading",
230
+ children: [
231
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
232
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
233
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
234
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
235
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
236
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
237
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
238
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
239
+ ]
240
+ }
241
+ );
242
+ };
243
+ Spinner.displayName = "Spinner";
244
+
245
+ // src/components/Button.tsx
246
+ var import_jsx_runtime2 = require("react/jsx-runtime");
217
247
  var Button = (_a) => {
218
248
  var _b = _a, {
219
249
  variant = "primary",
@@ -229,7 +259,8 @@ var Button = (_a) => {
229
259
  colorClassName,
230
260
  href,
231
261
  id,
232
- testid
262
+ testid,
263
+ isLoading
233
264
  } = _b, props = __objRest(_b, [
234
265
  "variant",
235
266
  "as",
@@ -244,7 +275,8 @@ var Button = (_a) => {
244
275
  "colorClassName",
245
276
  "href",
246
277
  "id",
247
- "testid"
278
+ "testid",
279
+ "isLoading"
248
280
  ]);
249
281
  const primaryVariantStyles = variant === "primary" && (0, import_clsx2.default)(
250
282
  (colorClassName == null ? void 0 : colorClassName.trim()) ? colorClassName : "text-text-on-action-primary-normal",
@@ -328,7 +360,7 @@ var Button = (_a) => {
328
360
  typography.buttonLabel
329
361
  );
330
362
  const Element = href && !as ? "a" : as;
331
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
363
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
332
364
  Element,
333
365
  __spreadProps(__spreadValues({
334
366
  id,
@@ -342,7 +374,8 @@ var Button = (_a) => {
342
374
  "data-theme": variant === "navigation" ? "brand" : void 0,
343
375
  children: [
344
376
  leftIcon && leftIcon,
345
- !iconOnly && children && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { id: id ? `${id}-label` : void 0, "data-testid": testid ? `${testid}-label` : void 0, className: labelClasses, children }),
377
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Spinner, { size: "small" }),
378
+ !iconOnly && !isLoading && children && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { id: id ? `${id}-label` : void 0, "data-testid": testid ? `${testid}-label` : void 0, className: labelClasses, children }),
346
379
  rightIcon && rightIcon
347
380
  ]
348
381
  })
@@ -352,7 +385,7 @@ Button.displayName = "Button";
352
385
 
353
386
  // src/components/Icon.tsx
354
387
  var import_clsx3 = __toESM(require("clsx"), 1);
355
- var import_jsx_runtime2 = require("react/jsx-runtime");
388
+ var import_jsx_runtime3 = require("react/jsx-runtime");
356
389
  function Icon(_a) {
357
390
  var _b = _a, {
358
391
  name,
@@ -367,7 +400,7 @@ function Icon(_a) {
367
400
  ]);
368
401
  const variantStyle = variant === "filled" ? '"FILL" 1' : '"FILL" 0';
369
402
  const weightStyle = size === 16 ? '"wght" 400' : '"wght" 300';
370
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
403
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
371
404
  "span",
372
405
  __spreadProps(__spreadValues({}, props), {
373
406
  "data-testid": testid,
@@ -386,7 +419,7 @@ function Icon(_a) {
386
419
  }
387
420
 
388
421
  // src/components/NavigationTab.tsx
389
- var import_jsx_runtime3 = require("react/jsx-runtime");
422
+ var import_jsx_runtime4 = require("react/jsx-runtime");
390
423
  var NavigationTab = (_a) => {
391
424
  var _b = _a, {
392
425
  id,
@@ -439,7 +472,7 @@ var NavigationTab = (_a) => {
439
472
  "--color-text-on-action-primary-hover": "var(--color-brand-500)",
440
473
  "--color-text-on-action-primary-active": "var(--color-brand-300)"
441
474
  };
442
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
475
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
443
476
  Button,
444
477
  __spreadProps(__spreadValues({
445
478
  id,
@@ -456,7 +489,7 @@ var NavigationTab = (_a) => {
456
489
  ),
457
490
  style: tokenOverrides,
458
491
  classNameLabel: "px-1",
459
- rightIcon: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon, { name: "close", size: 16 }),
492
+ rightIcon: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { name: "close", size: 16 }),
460
493
  onClick,
461
494
  disabled
462
495
  }, props), {
@@ -469,7 +502,7 @@ var NavigationTab = (_a) => {
469
502
  NavigationTab.displayName = "NavigationTab";
470
503
 
471
504
  // src/components/NavigationTabs.tsx
472
- var import_jsx_runtime4 = require("react/jsx-runtime");
505
+ var import_jsx_runtime5 = require("react/jsx-runtime");
473
506
  var NavigationTabs = ({
474
507
  id,
475
508
  testid,
@@ -485,15 +518,15 @@ var NavigationTabs = ({
485
518
  };
486
519
  const selectedContent = (_c = tabs.find((tab) => tab.id === selectedTab)) == null ? void 0 : _c.content;
487
520
  const selectedTabHasHref = (_d = tabs.find((tab) => tab.id === selectedTab)) == null ? void 0 : _d.href;
488
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { id, "data-testid": testid, children: [
489
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
521
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { id, "data-testid": testid, children: [
522
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
490
523
  "div",
491
524
  {
492
525
  className: (0, import_clsx5.default)(
493
526
  "flex items-center relative overflow-x-auto overflow-y-hidden",
494
527
  componentGap
495
528
  ),
496
- children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
529
+ children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
497
530
  NavigationTab,
498
531
  {
499
532
  id: id ? `${id}-tab-${tab.id}` : void 0,
@@ -508,7 +541,7 @@ var NavigationTabs = ({
508
541
  ))
509
542
  }
510
543
  ) }),
511
- selectedContent && !selectedTabHasHref && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mt-2", children: selectedContent })
544
+ selectedContent && !selectedTabHasHref && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "mt-2", children: selectedContent })
512
545
  ] });
513
546
  };
514
547
  NavigationTabs.displayName = "NavigationTabs";
@@ -1,9 +1,10 @@
1
1
  "use client";
2
2
  import {
3
3
  NavigationTab
4
- } from "../chunk-QMMPHXVE.js";
4
+ } from "../chunk-GVIXW2QS.js";
5
+ import "../chunk-HVYK7COK.js";
6
+ import "../chunk-SBRRNFOP.js";
5
7
  import "../chunk-NKUETCDA.js";
6
- import "../chunk-45AHDOAU.js";
7
8
  import {
8
9
  componentGap
9
10
  } from "../chunk-7KWFEH56.js";
@@ -711,7 +711,39 @@ function highlightMatch(text, searchValue) {
711
711
 
712
712
  // src/components/Button.tsx
713
713
  var import_clsx7 = __toESM(require("clsx"), 1);
714
+
715
+ // src/components/Spinner.tsx
714
716
  var import_jsx_runtime6 = require("react/jsx-runtime");
717
+ var Spinner = ({ size = "small", testid }) => {
718
+ const dimension = size === "large" ? 48 : 24;
719
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
720
+ "svg",
721
+ {
722
+ "data-testid": testid,
723
+ width: dimension,
724
+ height: dimension,
725
+ viewBox: "0 0 24 24",
726
+ xmlns: "http://www.w3.org/2000/svg",
727
+ fill: "#1D1E1E",
728
+ className: "spinner",
729
+ "aria-label": "Loading",
730
+ children: [
731
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
732
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
733
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
734
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
735
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
736
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
737
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
738
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
739
+ ]
740
+ }
741
+ );
742
+ };
743
+ Spinner.displayName = "Spinner";
744
+
745
+ // src/components/Button.tsx
746
+ var import_jsx_runtime7 = require("react/jsx-runtime");
715
747
  var Button = (_a) => {
716
748
  var _b = _a, {
717
749
  variant = "primary",
@@ -727,7 +759,8 @@ var Button = (_a) => {
727
759
  colorClassName,
728
760
  href,
729
761
  id,
730
- testid
762
+ testid,
763
+ isLoading
731
764
  } = _b, props = __objRest(_b, [
732
765
  "variant",
733
766
  "as",
@@ -742,7 +775,8 @@ var Button = (_a) => {
742
775
  "colorClassName",
743
776
  "href",
744
777
  "id",
745
- "testid"
778
+ "testid",
779
+ "isLoading"
746
780
  ]);
747
781
  const primaryVariantStyles = variant === "primary" && (0, import_clsx7.default)(
748
782
  (colorClassName == null ? void 0 : colorClassName.trim()) ? colorClassName : "text-text-on-action-primary-normal",
@@ -826,7 +860,7 @@ var Button = (_a) => {
826
860
  typography.buttonLabel
827
861
  );
828
862
  const Element = href && !as ? "a" : as;
829
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
863
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
830
864
  Element,
831
865
  __spreadProps(__spreadValues({
832
866
  id,
@@ -840,7 +874,8 @@ var Button = (_a) => {
840
874
  "data-theme": variant === "navigation" ? "brand" : void 0,
841
875
  children: [
842
876
  leftIcon && leftIcon,
843
- !iconOnly && children && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { id: id ? `${id}-label` : void 0, "data-testid": testid ? `${testid}-label` : void 0, className: labelClasses, children }),
877
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Spinner, { size: "small" }),
878
+ !iconOnly && !isLoading && children && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { id: id ? `${id}-label` : void 0, "data-testid": testid ? `${testid}-label` : void 0, className: labelClasses, children }),
844
879
  rightIcon && rightIcon
845
880
  ]
846
881
  })
@@ -849,7 +884,7 @@ var Button = (_a) => {
849
884
  Button.displayName = "Button";
850
885
 
851
886
  // src/components/NestedMenu.tsx
852
- var import_jsx_runtime7 = require("react/jsx-runtime");
887
+ var import_jsx_runtime8 = require("react/jsx-runtime");
853
888
  function NestedMenu(props) {
854
889
  var _a;
855
890
  const { onMenuClick, currentMenu, testid } = props;
@@ -895,13 +930,13 @@ function NestedMenu(props) {
895
930
  item && __spreadValues(__spreadValues({}, item), !isPrevious && { previousMenu: currentMenu })
896
931
  );
897
932
  }
898
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col w-full", children: [
899
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
933
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-col w-full", children: [
934
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
900
935
  MenuOption,
901
936
  {
902
937
  testid: testid ? `${testid}-back` : void 0,
903
938
  variant: "normal",
904
- before: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
939
+ before: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
905
940
  Icon,
906
941
  {
907
942
  name: "chevron_left",
@@ -914,10 +949,10 @@ function NestedMenu(props) {
914
949
  return handleMenuClick((_a2 = currentMenu.previousMenu) != null ? _a2 : null, true);
915
950
  },
916
951
  selected: selectedIndex === -1,
917
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Label, { color: "text-action-normal", children: currentMenu.previousMenu ? currentMenu.previousMenu.label : "Main Menu" })
952
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Label, { color: "text-action-normal", children: currentMenu.previousMenu ? currentMenu.previousMenu.label : "Main Menu" })
918
953
  }
919
954
  ),
920
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
955
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
921
956
  MenuOption,
922
957
  {
923
958
  variant: "action",
@@ -927,13 +962,13 @@ function NestedMenu(props) {
927
962
  ),
928
963
  (currentMenu.subEntries || []).map((item, idx) => {
929
964
  var _a2;
930
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
965
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
931
966
  MenuOption,
932
967
  {
933
968
  testid: testid ? `${testid}-${item.label}` : void 0,
934
969
  variant: "normal",
935
970
  onClick: () => handleMenuClick(item),
936
- after: ((_a2 = item.subEntries) == null ? void 0 : _a2.length) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
971
+ after: ((_a2 = item.subEntries) == null ? void 0 : _a2.length) && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
937
972
  Button,
938
973
  {
939
974
  iconOnly: true,
@@ -944,7 +979,7 @@ function NestedMenu(props) {
944
979
  onMenuClick(item, "subEntry");
945
980
  },
946
981
  className: "!p-0 w-full justify-end",
947
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Icon, { name: "chevron_right", className: "icon", size: 24 })
982
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Icon, { name: "chevron_right", className: "icon", size: 24 })
948
983
  }
949
984
  ),
950
985
  selected: selectedIndex === idx,
@@ -1,24 +1,25 @@
1
1
  "use client";
2
2
  import {
3
3
  MenuOption
4
- } from "../chunk-EZ4KZYKG.js";
4
+ } from "../chunk-YWQEMS2C.js";
5
5
  import {
6
6
  Label
7
7
  } from "../chunk-HXGJVYGQ.js";
8
- import "../chunk-PS6UJZVH.js";
9
8
  import {
10
9
  useKeydown
11
10
  } from "../chunk-YD2JJ2VL.js";
12
11
  import "../chunk-VXWSAIB5.js";
13
12
  import "../chunk-DQRQZE6O.js";
14
13
  import "../chunk-5UH6QUFB.js";
14
+ import "../chunk-PS6UJZVH.js";
15
+ import {
16
+ Button
17
+ } from "../chunk-HVYK7COK.js";
18
+ import "../chunk-SBRRNFOP.js";
15
19
  import "../chunk-WMPWWFUJ.js";
16
20
  import {
17
21
  Icon
18
22
  } from "../chunk-NKUETCDA.js";
19
- import {
20
- Button
21
- } from "../chunk-45AHDOAU.js";
22
23
  import "../chunk-7KWFEH56.js";
23
24
  import {
24
25
  __spreadValues