@aivenio/aquarium 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/_variables.scss +1 -1
  2. package/dist/_variables_timescale.scss +1 -1
  3. package/dist/atoms.cjs +162 -94
  4. package/dist/atoms.mjs +161 -94
  5. package/dist/src/atoms/Navigation/Navigation.d.ts +20 -0
  6. package/dist/src/atoms/Navigation/Navigation.js +49 -0
  7. package/dist/src/atoms/PageHeader/PageHeader.d.ts +13 -0
  8. package/dist/src/atoms/PageHeader/PageHeader.js +43 -0
  9. package/dist/src/atoms/index.d.ts +1 -0
  10. package/dist/src/atoms/index.js +2 -1
  11. package/dist/src/molecules/Button/Button.d.ts +1 -1
  12. package/dist/src/molecules/Button/Button.js +4 -4
  13. package/dist/src/molecules/DataList/DataList.d.ts +3 -3
  14. package/dist/src/molecules/DataList/DataList.js +19 -6
  15. package/dist/src/molecules/DataTable/DataTable.d.ts +3 -3
  16. package/dist/src/molecules/DataTable/DataTable.js +18 -6
  17. package/dist/src/molecules/DropdownMenu/DropdownMenu.d.ts +11 -5
  18. package/dist/src/molecules/DropdownMenu/DropdownMenu.js +2 -1
  19. package/dist/src/molecules/Navigation/Navigation.d.ts +19 -0
  20. package/dist/src/molecules/Navigation/Navigation.js +27 -0
  21. package/dist/src/molecules/PageHeader/PageHeader.d.ts +2 -0
  22. package/dist/src/molecules/PageHeader/PageHeader.js +10 -9
  23. package/dist/src/molecules/Stepper/Stepper.js +2 -1
  24. package/dist/src/molecules/index.d.ts +1 -0
  25. package/dist/src/molecules/index.js +2 -1
  26. package/dist/src/utils/table/types.d.ts +16 -1
  27. package/dist/src/utils/table/types.js +1 -1
  28. package/dist/styles.css +24 -11
  29. package/dist/styles_timescaledb.css +24 -11
  30. package/dist/system.cjs +1570 -1395
  31. package/dist/system.mjs +1571 -1397
  32. package/dist/tsconfig.module.tsbuildinfo +1 -1
  33. package/dist/types/tailwindGenerated.d.ts +1 -1
  34. package/package.json +2 -2
package/dist/system.cjs CHANGED
@@ -1458,6 +1458,22 @@ var require_questionMark = __commonJS({
1458
1458
  }
1459
1459
  });
1460
1460
 
1461
+ // src/icons/more.js
1462
+ var require_more = __commonJS({
1463
+ "src/icons/more.js"(exports) {
1464
+ "use strict";
1465
+ var data = {
1466
+ "body": '<path fill="currentColor" d="M3.5 13a2.5 2.5 0 100-5 2.5 2.5 0 000 5Zm14 0a2.5 2.5 0 100-5 2.5 2.5 0 000 5Zm-7 0a2.5 2.5 0 100-5 2.5 2.5 0 000 5Z"/>',
1467
+ "left": 0,
1468
+ "top": 0,
1469
+ "width": 20,
1470
+ "height": 20
1471
+ };
1472
+ exports.__esModule = true;
1473
+ exports.default = data;
1474
+ }
1475
+ });
1476
+
1461
1477
  // src/icons/smallCross.js
1462
1478
  var require_smallCross = __commonJS({
1463
1479
  "src/icons/smallCross.js"(exports) {
@@ -1570,7 +1586,7 @@ __export(system_exports, {
1570
1586
  Divider: () => Divider2,
1571
1587
  Dropdown: () => Dropdown,
1572
1588
  DropdownButton: () => DropdownButton,
1573
- DropdownMenu: () => DropdownMenu3,
1589
+ DropdownMenu: () => DropdownMenu2,
1574
1590
  Element: () => Element,
1575
1591
  EmptyState: () => EmptyState,
1576
1592
  EmptyStateLayout: () => EmptyStateLayout,
@@ -1592,7 +1608,7 @@ __export(system_exports, {
1592
1608
  LabelControl: () => LabelControl,
1593
1609
  LineClamp: () => LineClamp2,
1594
1610
  Link: () => Link2,
1595
- List: () => List,
1611
+ List: () => List2,
1596
1612
  ListItem: () => ListItem,
1597
1613
  Modal: () => Modal2,
1598
1614
  ModalTab: () => ModalTab,
@@ -1604,9 +1620,10 @@ __export(system_exports, {
1604
1620
  MultiSelectBase: () => MultiSelectBase,
1605
1621
  NativeSelect: () => NativeSelect,
1606
1622
  NativeSelectBase: () => NativeSelectBase,
1623
+ Navigation: () => Navigation2,
1607
1624
  OneLineBanner: () => OneLineBanner,
1608
1625
  Option: () => Option,
1609
- PageHeader: () => PageHeader,
1626
+ PageHeader: () => PageHeader2,
1610
1627
  Pagination: () => Pagination,
1611
1628
  Popover: () => Popover2,
1612
1629
  PopoverDialog: () => PopoverDialog2,
@@ -1621,7 +1638,7 @@ __export(system_exports, {
1621
1638
  SecondaryButton: () => SecondaryButton,
1622
1639
  SecondaryDropdownButton: () => SecondaryDropdownButton,
1623
1640
  SecondaryGhostButton: () => SecondaryGhostButton,
1624
- Section: () => Section3,
1641
+ Section: () => Section4,
1625
1642
  SegmentedControl: () => SegmentedControl,
1626
1643
  SegmentedControlGroup: () => SegmentedControlGroup,
1627
1644
  Select: () => Select2,
@@ -1712,7 +1729,7 @@ __export(molecules_exports, {
1712
1729
  Divider: () => Divider2,
1713
1730
  Dropdown: () => Dropdown,
1714
1731
  DropdownButton: () => DropdownButton,
1715
- DropdownMenu: () => DropdownMenu3,
1732
+ DropdownMenu: () => DropdownMenu2,
1716
1733
  Element: () => Element,
1717
1734
  EmptyState: () => EmptyState,
1718
1735
  EmptyStateLayout: () => EmptyStateLayout,
@@ -1730,7 +1747,7 @@ __export(molecules_exports, {
1730
1747
  InputBase: () => InputBase,
1731
1748
  LineClamp: () => LineClamp2,
1732
1749
  Link: () => Link2,
1733
- List: () => List,
1750
+ List: () => List2,
1734
1751
  ListItem: () => ListItem,
1735
1752
  Modal: () => Modal2,
1736
1753
  ModalTab: () => ModalTab,
@@ -1742,9 +1759,10 @@ __export(molecules_exports, {
1742
1759
  MultiSelectBase: () => MultiSelectBase,
1743
1760
  NativeSelect: () => NativeSelect,
1744
1761
  NativeSelectBase: () => NativeSelectBase,
1762
+ Navigation: () => Navigation2,
1745
1763
  OneLineBanner: () => OneLineBanner,
1746
1764
  Option: () => Option,
1747
- PageHeader: () => PageHeader,
1765
+ PageHeader: () => PageHeader2,
1748
1766
  Pagination: () => Pagination,
1749
1767
  Popover: () => Popover2,
1750
1768
  PopoverDialog: () => PopoverDialog2,
@@ -1758,7 +1776,7 @@ __export(molecules_exports, {
1758
1776
  SecondaryButton: () => SecondaryButton,
1759
1777
  SecondaryDropdownButton: () => SecondaryDropdownButton,
1760
1778
  SecondaryGhostButton: () => SecondaryGhostButton,
1761
- Section: () => Section3,
1779
+ Section: () => Section4,
1762
1780
  SegmentedControl: () => SegmentedControl,
1763
1781
  SegmentedControlGroup: () => SegmentedControlGroup,
1764
1782
  Select: () => Select2,
@@ -3215,17 +3233,20 @@ var asButton = (Component, isDropdownButton) => {
3215
3233
  className: classNames(
3216
3234
  UNSAFE_className,
3217
3235
  !isIconOnlyButton && COLOR_CLASSNAMES[kind],
3218
- tw("inline-block border-0 rounded-sm transition whitespace-nowrap focus:outline-none relative", {
3219
- "text-grey-70 p-2 active:text-grey-70 active:bg-transparent hover:text-grey-90 hover:bg-grey-0 focus-visible:text-grey-90 focus-visible:bg-grey-0 disabled:text-grey-20 disabled:bg-transparent": isIconOnlyButton,
3220
- "typography-default-strong": !dense && !isIconOnlyButton && kind !== "text",
3221
- "typography-small-strong": dense && !isIconOnlyButton,
3222
- "py-3 px-4": !dense && isButton,
3223
- "py-2 px-3": dense && isButton,
3224
- "py-3": !dense && isGhost,
3225
- "py-2": dense && isGhost,
3226
- "block w-full": fullWidth && !isIconOnlyButton,
3227
- "cursor-not-allowed": !!disabled || !!loading2
3228
- })
3236
+ tw(
3237
+ "inline-block border-0 rounded-sm transition whitespace-nowrap focus:outline-none relative text-center",
3238
+ {
3239
+ "text-grey-70 p-2 active:text-grey-70 active:bg-transparent hover:text-grey-90 hover:bg-grey-0 focus-visible:text-grey-90 focus-visible:bg-grey-0 disabled:text-grey-20 disabled:bg-transparent": isIconOnlyButton,
3240
+ "typography-default-strong": !dense && !isIconOnlyButton && kind !== "text",
3241
+ "typography-small-strong": dense && !isIconOnlyButton && kind !== "text",
3242
+ "py-3 px-4": !dense && isButton,
3243
+ "py-2 px-3": dense && isButton,
3244
+ "py-3": !dense && isGhost,
3245
+ "py-2": dense && isGhost,
3246
+ "block w-full": fullWidth && !isIconOnlyButton,
3247
+ "cursor-not-allowed": !!disabled || !!loading2
3248
+ }
3249
+ )
3229
3250
  ),
3230
3251
  "aria-label": isIconOnlyButton ? ariaLabel != null ? ariaLabel : tooltip : ariaLabel,
3231
3252
  disabled: disabled || loading2
@@ -5351,100 +5372,549 @@ var Container2 = ({ maxWidth = "xl", children }) => /* @__PURE__ */ import_react
5351
5372
  }, children);
5352
5373
 
5353
5374
  // src/molecules/DataList/DataList.tsx
5354
- var import_react53 = __toESM(require("react"));
5375
+ var import_react57 = __toESM(require("react"));
5376
+ var import_compact = __toESM(require("lodash/compact"));
5377
+ var import_isFunction = __toESM(require("lodash/isFunction"));
5355
5378
 
5356
- // src/molecules/Template/Template.tsx
5379
+ // src/molecules/DropdownMenu/DropdownMenu.tsx
5380
+ var import_react51 = __toESM(require("react"));
5381
+ var import_i18n = require("@react-aria/i18n");
5382
+ var import_interactions2 = require("@react-aria/interactions");
5383
+ var import_menu = require("@react-aria/menu");
5384
+ var import_separator = require("@react-aria/separator");
5385
+ var import_utils3 = require("@react-aria/utils");
5386
+ var import_collections = require("@react-stately/collections");
5387
+ var import_menu2 = require("@react-stately/menu");
5388
+ var import_tree = require("@react-stately/tree");
5389
+
5390
+ // src/molecules/Input/Input.tsx
5391
+ var import_react49 = __toESM(require("react"));
5392
+ var import_omit6 = __toESM(require("lodash/omit"));
5393
+ var import_toString = __toESM(require("lodash/toString"));
5394
+ var import_uniqueId3 = __toESM(require("lodash/uniqueId"));
5395
+
5396
+ // src/utils/form/InputAdornment/InputAdornment.tsx
5357
5397
  var import_react48 = __toESM(require("react"));
5358
- var Template = ({
5359
- children,
5360
- columns,
5361
- alignSelf,
5362
- alignContent,
5363
- alignItems,
5364
- justifySelf,
5365
- gap,
5366
- columnGap,
5367
- rowGap,
5368
- fullHeight
5369
- }) => {
5370
- const gridTemplateColumns = typeof columns === "number" ? "1fr ".repeat(columns) : columns.map((column) => typeof column === "number" ? `${column}px` : column === "auto" ? column : `${column}fr`).join(" ");
5371
- const styles = useStyle({
5372
- height: fullHeight ? "100%" : void 0,
5373
- display: "grid",
5374
- gridTemplateColumns,
5375
- alignSelf,
5376
- alignContent,
5377
- alignItems,
5378
- justifySelf,
5379
- gap,
5380
- rowGap,
5381
- columnGap
5382
- });
5383
- return /* @__PURE__ */ import_react48.default.createElement("div", {
5384
- style: __spreadValues({}, styles)
5385
- }, children);
5398
+ var import_cross4 = __toESM(require_cross());
5399
+ var import_error2 = __toESM(require_error());
5400
+ var import_search2 = __toESM(require_search());
5401
+ var import_tick3 = __toESM(require_tick());
5402
+ var InputAdornment = ({ placement = "right", className, dense, children }) => {
5403
+ return /* @__PURE__ */ import_react48.default.createElement("span", {
5404
+ className: classNames(className, "absolute inset-y-0 grow-0 text-grey-40 flex items-center mx-3", {
5405
+ "right-0": placement === "right",
5406
+ "left-0": placement === "left",
5407
+ "typography-small": dense,
5408
+ "typography-default-strong": !dense
5409
+ })
5410
+ }, /* @__PURE__ */ import_react48.default.createElement(Flexbox, {
5411
+ gap: "3",
5412
+ wrap: "wrap"
5413
+ }, children));
5386
5414
  };
5415
+ var SearchIcon = ({ onClick }) => /* @__PURE__ */ import_react48.default.createElement(Icon, {
5416
+ icon: import_search2.default,
5417
+ color: "grey-30",
5418
+ "data-testid": "icon-search",
5419
+ onClick
5420
+ });
5421
+ var ResetIcon = ({ onClick }) => /* @__PURE__ */ import_react48.default.createElement(Icon, {
5422
+ className: "hover:cursor-pointer",
5423
+ icon: import_cross4.default,
5424
+ color: "grey-30",
5425
+ "data-testid": "icon-reset",
5426
+ onClick
5427
+ });
5387
5428
 
5388
- // src/atoms/DataList/DataList.tsx
5389
- var import_react51 = __toESM(require("react"));
5429
+ // src/molecules/Input/Input.tsx
5430
+ var createInput = (displayName, opts = {}) => {
5431
+ const InputComponent = (0, import_react49.forwardRef)(
5432
+ (_a, ref) => {
5433
+ var _b = _a, {
5434
+ type = "text",
5435
+ maxLength,
5436
+ valid = true,
5437
+ required = false,
5438
+ endAdornment,
5439
+ disabled = false,
5440
+ readOnly = false
5441
+ } = _b, props = __objRest(_b, [
5442
+ "type",
5443
+ "maxLength",
5444
+ "valid",
5445
+ "required",
5446
+ "endAdornment",
5447
+ "disabled",
5448
+ "readOnly"
5449
+ ]);
5450
+ var _a2;
5451
+ const inputRef = import_react49.default.useRef(null);
5452
+ (0, import_react49.useImperativeHandle)(ref, () => inputRef.current);
5453
+ const handleReset = () => {
5454
+ var _a3;
5455
+ const el = inputRef.current;
5456
+ if (el) {
5457
+ const lastValue = el.value;
5458
+ el.value = "";
5459
+ (_a3 = el._valueTracker) == null ? void 0 : _a3.setValue(lastValue);
5460
+ el.dispatchEvent(new Event("change", { bubbles: true }));
5461
+ el.focus();
5462
+ }
5463
+ };
5464
+ return /* @__PURE__ */ import_react49.default.createElement("span", {
5465
+ className: tw("relative block")
5466
+ }, opts.adornment && /* @__PURE__ */ import_react49.default.createElement(InputAdornment, {
5467
+ placement: "left"
5468
+ }, opts.adornment), /* @__PURE__ */ import_react49.default.createElement("input", __spreadProps(__spreadValues({
5469
+ ref: inputRef,
5470
+ type
5471
+ }, props), {
5472
+ disabled,
5473
+ maxLength,
5474
+ required,
5475
+ readOnly,
5476
+ className: classNames(
5477
+ {
5478
+ "pl-7": opts.adornment
5479
+ },
5480
+ getCommonInputStyles({ readOnly, valid }),
5481
+ props.className
5482
+ )
5483
+ })), opts.canReset && (props.value || ((_a2 = inputRef.current) == null ? void 0 : _a2.value)) && /* @__PURE__ */ import_react49.default.createElement(InputAdornment, null, /* @__PURE__ */ import_react49.default.createElement(ResetIcon, {
5484
+ onClick: handleReset
5485
+ })), !opts.canReset && endAdornment && /* @__PURE__ */ import_react49.default.createElement(InputAdornment, null, endAdornment));
5486
+ }
5487
+ );
5488
+ InputComponent.displayName = displayName;
5489
+ InputComponent.Skeleton = () => /* @__PURE__ */ import_react49.default.createElement(Skeleton, {
5490
+ height: 38
5491
+ });
5492
+ return InputComponent;
5493
+ };
5494
+ var InputBase = createInput("InputBase");
5495
+ var SearchInput = createInput("SearchInput", { adornment: /* @__PURE__ */ import_react49.default.createElement(SearchIcon, null), canReset: true });
5496
+ var Input2 = import_react49.default.forwardRef((_a, ref) => {
5497
+ var _b = _a, { readOnly = false } = _b, props = __objRest(_b, ["readOnly"]);
5498
+ var _a2, _b2, _c;
5499
+ const [value, setValue] = (0, import_react49.useState)((_b2 = (_a2 = props.value) != null ? _a2 : props.defaultValue) != null ? _b2 : "");
5500
+ const id = (0, import_react49.useRef)((_c = props.id) != null ? _c : `input-${(0, import_uniqueId3.default)()}`);
5501
+ const errorMessageId = (0, import_uniqueId3.default)();
5502
+ const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
5503
+ const _d = getLabelControlProps(props), { "data-testid": dataTestId } = _d, labelControlProps = __objRest(_d, ["data-testid"]);
5504
+ const baseProps = (0, import_omit6.default)(props, Object.keys(labelControlProps));
5505
+ return /* @__PURE__ */ import_react49.default.createElement(LabelControl, __spreadValues({
5506
+ id: `${id.current}-label`,
5507
+ htmlFor: id.current,
5508
+ messageId: errorMessageId,
5509
+ length: value !== void 0 ? (0, import_toString.default)(value).length : void 0
5510
+ }, labelControlProps), /* @__PURE__ */ import_react49.default.createElement(InputBase, __spreadProps(__spreadValues(__spreadValues({
5511
+ ref
5512
+ }, baseProps), errorProps), {
5513
+ id: id.current,
5514
+ "data-testid": dataTestId,
5515
+ onChange: (e) => {
5516
+ var _a3;
5517
+ setValue(e.currentTarget.value);
5518
+ (_a3 = props.onChange) == null ? void 0 : _a3.call(props, e);
5519
+ },
5520
+ disabled: props.disabled,
5521
+ maxLength: props.maxLength,
5522
+ required: props.required,
5523
+ valid: props.valid,
5524
+ readOnly
5525
+ })));
5526
+ });
5527
+ Input2.displayName = "Input";
5528
+ Input2.Skeleton = () => /* @__PURE__ */ import_react49.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react49.default.createElement(InputBase.Skeleton, null));
5529
+ Input2.Skeleton.displayName = "Input.Skeleton";
5390
5530
 
5391
- // src/atoms/Table/Table.tsx
5531
+ // src/atoms/DropdownMenu/DropdownMenu.tsx
5392
5532
  var import_react50 = __toESM(require("react"));
5393
-
5394
- // src/atoms/RadioButton/RadioButton.tsx
5395
- var import_react49 = __toESM(require("react"));
5396
- var RadioButton = import_react49.default.forwardRef(
5533
+ var import_tick4 = __toESM(require_tick());
5534
+ var DropdownMenu = import_react50.default.forwardRef(
5397
5535
  (_a, ref) => {
5398
- var _b = _a, { id, children, name, disabled = false, readOnly = false } = _b, props = __objRest(_b, ["id", "children", "name", "disabled", "readOnly"]);
5399
- return /* @__PURE__ */ import_react49.default.createElement("input", __spreadProps(__spreadValues({
5400
- id,
5536
+ var _b = _a, { maxHeight = "450px", minWidth = "125px", maxWidth, className, children } = _b, props = __objRest(_b, ["maxHeight", "minWidth", "maxWidth", "className", "children"]);
5537
+ return /* @__PURE__ */ import_react50.default.createElement("div", __spreadValues({
5401
5538
  ref,
5402
- type: "radio",
5403
- name
5404
- }, props), {
5405
- className: classNames(
5406
- tw(
5407
- "inline-flex justify-center items-center self-center appearance-none",
5408
- "w-5 h-5 p-[3px] rounded-full cursor-pointer border border-grey-20",
5409
- "outline-none focus:border-info-70 checked:bg-navyBlue-100 checked:shadow-whiteInset",
5410
- {
5411
- "hover:border-grey-50 checked:border-navyBlue-100": !disabled,
5412
- "cursor-not-allowed border-grey-5 bg-grey-0 checked:bg-opacity-40": disabled
5413
- }
5414
- )
5415
- ),
5416
- readOnly,
5417
- disabled
5539
+ style: { maxHeight, minWidth, maxWidth },
5540
+ className: classNames(className, "bg-white w-full flex flex-col overflow-x-hidden typography-small text-grey-70")
5541
+ }, props), children);
5542
+ }
5543
+ );
5544
+ var ContentContainer = ({ children }) => /* @__PURE__ */ import_react50.default.createElement("div", {
5545
+ className: tw("p-3 overflow-y-auto overflow-x-hidden")
5546
+ }, children);
5547
+ DropdownMenu.ContentContainer = ContentContainer;
5548
+ var List = import_react50.default.forwardRef(
5549
+ (_a, ref) => {
5550
+ var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
5551
+ return /* @__PURE__ */ import_react50.default.createElement("ul", __spreadValues({
5552
+ ref,
5553
+ className: classNames(className, "outline-none ring-0")
5554
+ }, props), children);
5555
+ }
5556
+ );
5557
+ DropdownMenu.List = List;
5558
+ var Group2 = import_react50.default.forwardRef(
5559
+ (_a, ref) => {
5560
+ var _b = _a, { className, title, titleProps, children } = _b, props = __objRest(_b, ["className", "title", "titleProps", "children"]);
5561
+ return /* @__PURE__ */ import_react50.default.createElement("li", __spreadValues({
5562
+ ref
5563
+ }, props), title && /* @__PURE__ */ import_react50.default.createElement("div", __spreadValues({
5564
+ className: classNames(className, "p-3 text-grey-40 uppercase cursor-default typography-caption", {
5565
+ "text-grey-20": props.disabled
5566
+ })
5567
+ }, titleProps), title), children);
5568
+ }
5569
+ );
5570
+ DropdownMenu.Group = Group2;
5571
+ var Item2 = import_react50.default.forwardRef(
5572
+ (_a, ref) => {
5573
+ var _b = _a, { kind, highlighted, selected, className, icon, children } = _b, props = __objRest(_b, ["kind", "highlighted", "selected", "className", "icon", "children"]);
5574
+ return /* @__PURE__ */ import_react50.default.createElement("li", __spreadValues({
5575
+ ref,
5576
+ className: classNames(className, "flex items-center gap-x-3 p-3 outline-none", {
5577
+ "cursor-pointer hover:bg-grey-0": !props.disabled,
5578
+ "bg-grey-0": highlighted,
5579
+ "text-primary-80": kind === "action",
5580
+ "text-grey-20 cursor-not-allowed": props.disabled
5581
+ })
5582
+ }, props), icon && /* @__PURE__ */ import_react50.default.createElement(InlineIcon, {
5583
+ icon
5584
+ }), /* @__PURE__ */ import_react50.default.createElement("span", {
5585
+ className: tw("grow")
5586
+ }, children), selected && /* @__PURE__ */ import_react50.default.createElement(InlineIcon, {
5587
+ icon: import_tick4.default
5418
5588
  }));
5419
5589
  }
5420
5590
  );
5421
-
5422
- // src/atoms/Table/Table.tsx
5423
- var import_chevronDown3 = __toESM(require_chevronDown());
5424
- var import_chevronUp2 = __toESM(require_chevronUp());
5425
- var HeadContext = import_react50.default.createContext(null);
5426
- var tableClassNames = tw("w-full relative typography-default border-spacing-0");
5427
- var Table = (_a) => {
5428
- var _b = _a, { children, ariaLabel, className } = _b, rest = __objRest(_b, ["children", "ariaLabel", "className"]);
5429
- return /* @__PURE__ */ import_react50.default.createElement("table", __spreadProps(__spreadValues({}, rest), {
5430
- className: classNames(tableClassNames, className),
5431
- "aria-label": ariaLabel
5432
- }), children);
5591
+ DropdownMenu.Item = Item2;
5592
+ var Description = ({ disabled, children }) => /* @__PURE__ */ import_react50.default.createElement(Typography2.Caption, {
5593
+ color: disabled ? "grey-20" : "grey-40"
5594
+ }, children);
5595
+ DropdownMenu.Description = Description;
5596
+ var Separator = (_a) => {
5597
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5598
+ return /* @__PURE__ */ import_react50.default.createElement("li", __spreadProps(__spreadValues({}, props), {
5599
+ className: classNames(className, tw("m-3 block bg-grey-5 h-[1px]"))
5600
+ }));
5433
5601
  };
5434
- var TableHead = (_a) => {
5435
- var _b = _a, { children, sticky } = _b, rest = __objRest(_b, ["children", "sticky"]);
5436
- return /* @__PURE__ */ import_react50.default.createElement("thead", __spreadValues({}, rest), /* @__PURE__ */ import_react50.default.createElement("tr", null, /* @__PURE__ */ import_react50.default.createElement(HeadContext.Provider, {
5437
- value: { children, sticky }
5438
- }, children)));
5602
+ DropdownMenu.Separator = Separator;
5603
+ var EmptyStateContainer2 = (_a) => {
5604
+ var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
5605
+ return /* @__PURE__ */ import_react50.default.createElement("div", __spreadValues({
5606
+ className: classNames(tw("border border-dashed border-grey-10 p-3"), className)
5607
+ }, props), children);
5608
+ };
5609
+ DropdownMenu.EmptyStateContainer = EmptyStateContainer2;
5610
+
5611
+ // src/molecules/DropdownMenu/utils.ts
5612
+ var import_list = require("@react-stately/list");
5613
+ var filterCollection = (collection, inputValue, filter) => {
5614
+ return new import_list.ListCollection(filterNodes(collection, inputValue, filter));
5615
+ };
5616
+ var filterNodes = (nodes, inputValue, filter) => {
5617
+ const filteredNode = [];
5618
+ for (const node of nodes) {
5619
+ if (node.type === "section" && node.hasChildNodes) {
5620
+ const filtered = filterNodes(node.childNodes, inputValue, filter);
5621
+ if ([...filtered].length > 0) {
5622
+ filteredNode.push(__spreadProps(__spreadValues({}, node), { childNodes: filtered }));
5623
+ }
5624
+ } else if (node.type !== "section" && filter(node.textValue, inputValue)) {
5625
+ filteredNode.push(__spreadValues({}, node));
5626
+ }
5627
+ }
5628
+ return filteredNode;
5629
+ };
5630
+
5631
+ // src/molecules/DropdownMenu/DropdownMenu.tsx
5632
+ var DropdownMenu2 = (_a) => {
5633
+ var _b = _a, {
5634
+ onAction,
5635
+ selectionMode,
5636
+ selection,
5637
+ onSelectionChange,
5638
+ placement = "bottom-left",
5639
+ minWidth,
5640
+ maxWidth,
5641
+ searchable = false,
5642
+ emptyState,
5643
+ header,
5644
+ footer,
5645
+ children
5646
+ } = _b, props = __objRest(_b, [
5647
+ "onAction",
5648
+ "selectionMode",
5649
+ "selection",
5650
+ "onSelectionChange",
5651
+ "placement",
5652
+ "minWidth",
5653
+ "maxWidth",
5654
+ "searchable",
5655
+ "emptyState",
5656
+ "header",
5657
+ "footer",
5658
+ "children"
5659
+ ]);
5660
+ const triggerRef = import_react51.default.useRef(null);
5661
+ const [trigger, items] = extractTriggerAndItems(children);
5662
+ const state = (0, import_menu2.useMenuTriggerState)(props);
5663
+ const { menuTriggerProps, menuProps } = (0, import_menu.useMenuTrigger)({}, state, triggerRef);
5664
+ return /* @__PURE__ */ import_react51.default.createElement("div", null, /* @__PURE__ */ import_react51.default.createElement(import_interactions2.PressResponder, __spreadValues({
5665
+ ref: triggerRef,
5666
+ onPress: () => state.toggle()
5667
+ }, menuTriggerProps), /* @__PURE__ */ import_react51.default.createElement(TriggerWrapper, null, trigger.props.children)), state.isOpen && /* @__PURE__ */ import_react51.default.createElement(PopoverOverlay, {
5668
+ triggerRef,
5669
+ state,
5670
+ placement,
5671
+ focusable: false
5672
+ }, /* @__PURE__ */ import_react51.default.createElement(MenuWrapper, __spreadValues({
5673
+ onAction,
5674
+ selectionMode,
5675
+ selection,
5676
+ onSelectionChange,
5677
+ searchable,
5678
+ emptyState,
5679
+ minWidth,
5680
+ maxWidth,
5681
+ header,
5682
+ footer
5683
+ }, menuProps), items.props.children)));
5684
+ };
5685
+ DropdownMenu2.displayName = "DropdownMenu";
5686
+ var MenuTrigger = () => null;
5687
+ var MenuItems = () => null;
5688
+ DropdownMenu2.Trigger = MenuTrigger;
5689
+ DropdownMenu2.Trigger.displayName = "DropdownMenu.Trigger";
5690
+ DropdownMenu2.Items = MenuItems;
5691
+ DropdownMenu2.Items.displayName = "DropdownMenu.Items";
5692
+ DropdownMenu2.Item = import_collections.Item;
5693
+ DropdownMenu2.Item.displayName = "DropdownMenu.Item";
5694
+ DropdownMenu2.Section = import_collections.Section;
5695
+ DropdownMenu2.Section.displayName = "DropdownMenu.Section";
5696
+ var TriggerWrapper = (_a) => {
5697
+ var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
5698
+ const ref = import_react51.default.useRef(null);
5699
+ const { pressProps } = (0, import_interactions2.usePress)(__spreadProps(__spreadValues({}, props), { ref }));
5700
+ const trigger = import_react51.default.Children.only(children);
5701
+ if (!trigger || !import_react51.default.isValidElement(trigger)) {
5702
+ throw new Error("<DropdownMenu.Trigger> must have valid child");
5703
+ }
5704
+ return import_react51.default.cloneElement(trigger, __spreadValues({ ref }, (0, import_utils3.mergeProps)(pressProps, props)));
5705
+ };
5706
+ var isSectionNode = (item) => item.type === "section";
5707
+ var isItemNode = (item) => item.type === "item";
5708
+ var MenuWrapper = (_a) => {
5709
+ var _b = _a, {
5710
+ selection: selectedKeys,
5711
+ minWidth,
5712
+ maxWidth,
5713
+ searchable,
5714
+ emptyState,
5715
+ header,
5716
+ footer
5717
+ } = _b, props = __objRest(_b, [
5718
+ "selection",
5719
+ "minWidth",
5720
+ "maxWidth",
5721
+ "searchable",
5722
+ "emptyState",
5723
+ "header",
5724
+ "footer"
5725
+ ]);
5726
+ const ref = import_react51.default.useRef(null);
5727
+ const disabledKeys = getDisabledItemKeys(props.children);
5728
+ const state = (0, import_tree.useTreeState)(__spreadValues({
5729
+ disabledKeys,
5730
+ selectedKeys
5731
+ }, props));
5732
+ const { menuProps } = (0, import_menu.useMenu)(props, state, ref);
5733
+ const { contains } = (0, import_i18n.useFilter)({ sensitivity: "base" });
5734
+ const [search, setSearch] = import_react51.default.useState("");
5735
+ const filteredCollection = import_react51.default.useMemo(
5736
+ () => searchable ? filterCollection(state.collection, search, contains) : state.collection,
5737
+ [state.collection, search, contains]
5738
+ );
5739
+ return /* @__PURE__ */ import_react51.default.createElement(DropdownMenu, {
5740
+ minWidth: minWidth !== void 0 ? `${minWidth}px` : void 0,
5741
+ maxWidth: maxWidth !== void 0 ? `${maxWidth}px` : void 0
5742
+ }, header, /* @__PURE__ */ import_react51.default.createElement(DropdownMenu.ContentContainer, null, searchable && /* @__PURE__ */ import_react51.default.createElement(SearchInput, {
5743
+ "aria-label": "search",
5744
+ value: search,
5745
+ onChange: (e) => setSearch(e.target.value),
5746
+ className: tw("mb-5")
5747
+ }), filteredCollection.size === 0 && emptyState && /* @__PURE__ */ import_react51.default.createElement(DropdownMenu.EmptyStateContainer, null, emptyState), /* @__PURE__ */ import_react51.default.createElement(DropdownMenu.List, __spreadValues({
5748
+ ref
5749
+ }, menuProps), Array.from(filteredCollection).map((item) => {
5750
+ if (isSectionNode(item)) {
5751
+ return /* @__PURE__ */ import_react51.default.createElement(SectionWrapper, {
5752
+ key: item.key,
5753
+ section: item,
5754
+ state
5755
+ });
5756
+ } else if (isItemNode(item)) {
5757
+ return /* @__PURE__ */ import_react51.default.createElement(ItemWrapper, {
5758
+ key: item.key,
5759
+ item,
5760
+ state
5761
+ });
5762
+ }
5763
+ }))), footer);
5764
+ };
5765
+ var ItemWrapper = ({ item, state }) => {
5766
+ const ref = import_react51.default.useRef(null);
5767
+ const { menuItemProps, descriptionProps, isSelected, isFocused, isDisabled } = (0, import_menu.useMenuItem)(
5768
+ { key: item.key, closeOnSelect: item.props.closeOnSelect },
5769
+ state,
5770
+ ref
5771
+ );
5772
+ const { icon, description, kind = "default" } = item.props;
5773
+ return /* @__PURE__ */ import_react51.default.createElement(DropdownMenu.Item, __spreadProps(__spreadValues({
5774
+ ref
5775
+ }, menuItemProps), {
5776
+ kind,
5777
+ selected: isSelected,
5778
+ highlighted: isFocused,
5779
+ disabled: isDisabled,
5780
+ icon
5781
+ }), item.rendered, description && /* @__PURE__ */ import_react51.default.createElement(DropdownMenu.Description, __spreadValues({
5782
+ disabled: isDisabled
5783
+ }, descriptionProps), description));
5784
+ };
5785
+ var SectionWrapper = ({ section, state }) => {
5786
+ const { itemProps, headingProps, groupProps } = (0, import_menu.useMenuSection)({
5787
+ "heading": section.rendered,
5788
+ "aria-label": section["aria-label"]
5789
+ });
5790
+ const { separatorProps } = (0, import_separator.useSeparator)({
5791
+ elementType: "li"
5792
+ });
5793
+ return /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, section.key !== state.collection.getFirstKey() && /* @__PURE__ */ import_react51.default.createElement(DropdownMenu.Separator, __spreadValues({}, separatorProps)), /* @__PURE__ */ import_react51.default.createElement(DropdownMenu.Group, __spreadValues({
5794
+ title: section.rendered,
5795
+ titleProps: headingProps
5796
+ }, itemProps), /* @__PURE__ */ import_react51.default.createElement("ul", __spreadValues({}, groupProps), Array.from(section.childNodes).map((node) => /* @__PURE__ */ import_react51.default.createElement(ItemWrapper, {
5797
+ key: node.key,
5798
+ item: node,
5799
+ state
5800
+ })))));
5801
+ };
5802
+ var extractTriggerAndItems = (children) => {
5803
+ const [trigger, items] = import_react51.default.Children.toArray(children);
5804
+ if (!isComponentType(trigger, MenuTrigger) || !isComponentType(items, MenuItems)) {
5805
+ throw new Error("<DropdownMenu> must have <DropdownMenu.Trigger> and <DropdownMenu.Items> defined");
5806
+ }
5807
+ return [trigger, items];
5808
+ };
5809
+ var getDisabledItemKeys = (children) => {
5810
+ const keys = import_react51.default.Children.map(children, (child) => {
5811
+ var _a, _b;
5812
+ if (!child || typeof child === "function") {
5813
+ return null;
5814
+ }
5815
+ if (isComponentType(child, import_collections.Item) && child.props.disabled) {
5816
+ return (_b = (_a = child.key) == null ? void 0 : _a.toString()) != null ? _b : null;
5817
+ }
5818
+ if (isComponentType(child, import_collections.Section)) {
5819
+ return getDisabledItemKeys(child.props.children);
5820
+ }
5821
+ return null;
5822
+ });
5823
+ return keys.flat().filter((key) => key !== null);
5824
+ };
5825
+
5826
+ // src/molecules/Template/Template.tsx
5827
+ var import_react52 = __toESM(require("react"));
5828
+ var Template = ({
5829
+ children,
5830
+ columns,
5831
+ alignSelf,
5832
+ alignContent,
5833
+ alignItems,
5834
+ justifySelf,
5835
+ gap,
5836
+ columnGap,
5837
+ rowGap,
5838
+ fullHeight
5839
+ }) => {
5840
+ const gridTemplateColumns = typeof columns === "number" ? "1fr ".repeat(columns) : columns.map((column) => typeof column === "number" ? `${column}px` : column === "auto" ? column : `${column}fr`).join(" ");
5841
+ const styles = useStyle({
5842
+ height: fullHeight ? "100%" : void 0,
5843
+ display: "grid",
5844
+ gridTemplateColumns,
5845
+ alignSelf,
5846
+ alignContent,
5847
+ alignItems,
5848
+ justifySelf,
5849
+ gap,
5850
+ rowGap,
5851
+ columnGap
5852
+ });
5853
+ return /* @__PURE__ */ import_react52.default.createElement("div", {
5854
+ style: __spreadValues({}, styles)
5855
+ }, children);
5856
+ };
5857
+
5858
+ // src/atoms/DataList/DataList.tsx
5859
+ var import_react55 = __toESM(require("react"));
5860
+
5861
+ // src/atoms/Table/Table.tsx
5862
+ var import_react54 = __toESM(require("react"));
5863
+
5864
+ // src/atoms/RadioButton/RadioButton.tsx
5865
+ var import_react53 = __toESM(require("react"));
5866
+ var RadioButton = import_react53.default.forwardRef(
5867
+ (_a, ref) => {
5868
+ var _b = _a, { id, children, name, disabled = false, readOnly = false } = _b, props = __objRest(_b, ["id", "children", "name", "disabled", "readOnly"]);
5869
+ return /* @__PURE__ */ import_react53.default.createElement("input", __spreadProps(__spreadValues({
5870
+ id,
5871
+ ref,
5872
+ type: "radio",
5873
+ name
5874
+ }, props), {
5875
+ className: classNames(
5876
+ tw(
5877
+ "inline-flex justify-center items-center self-center appearance-none",
5878
+ "w-5 h-5 p-[3px] rounded-full cursor-pointer border border-grey-20",
5879
+ "outline-none focus:border-info-70 checked:bg-navyBlue-100 checked:shadow-whiteInset",
5880
+ {
5881
+ "hover:border-grey-50 checked:border-navyBlue-100": !disabled,
5882
+ "cursor-not-allowed border-grey-5 bg-grey-0 checked:bg-opacity-40": disabled
5883
+ }
5884
+ )
5885
+ ),
5886
+ readOnly,
5887
+ disabled
5888
+ }));
5889
+ }
5890
+ );
5891
+
5892
+ // src/atoms/Table/Table.tsx
5893
+ var import_chevronDown3 = __toESM(require_chevronDown());
5894
+ var import_chevronUp2 = __toESM(require_chevronUp());
5895
+ var HeadContext = import_react54.default.createContext(null);
5896
+ var tableClassNames = tw("w-full relative typography-default border-spacing-0");
5897
+ var Table = (_a) => {
5898
+ var _b = _a, { children, ariaLabel, className } = _b, rest = __objRest(_b, ["children", "ariaLabel", "className"]);
5899
+ return /* @__PURE__ */ import_react54.default.createElement("table", __spreadProps(__spreadValues({}, rest), {
5900
+ className: classNames(tableClassNames, className),
5901
+ "aria-label": ariaLabel
5902
+ }), children);
5903
+ };
5904
+ var TableHead = (_a) => {
5905
+ var _b = _a, { children, sticky } = _b, rest = __objRest(_b, ["children", "sticky"]);
5906
+ return /* @__PURE__ */ import_react54.default.createElement("thead", __spreadValues({}, rest), /* @__PURE__ */ import_react54.default.createElement("tr", null, /* @__PURE__ */ import_react54.default.createElement(HeadContext.Provider, {
5907
+ value: { children, sticky }
5908
+ }, children)));
5439
5909
  };
5440
5910
  var TableBody = (_a) => {
5441
5911
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
5442
- return /* @__PURE__ */ import_react50.default.createElement("tbody", __spreadValues({}, rest), children);
5912
+ return /* @__PURE__ */ import_react54.default.createElement("tbody", __spreadValues({}, rest), children);
5443
5913
  };
5444
5914
  var rowClassNames = tw("children:border-grey-10 group children:last:border-b-0 hover:bg-grey-0");
5445
5915
  var TableRow = (_a) => {
5446
5916
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
5447
- return /* @__PURE__ */ import_react50.default.createElement("tr", __spreadProps(__spreadValues({}, rest), {
5917
+ return /* @__PURE__ */ import_react54.default.createElement("tr", __spreadProps(__spreadValues({}, rest), {
5448
5918
  className: classNames(rowClassNames, className)
5449
5919
  }), children);
5450
5920
  };
@@ -5471,15 +5941,15 @@ var getHeadCellClassNames = (sticky = true, stickyColumn) => {
5471
5941
  };
5472
5942
  var TableCell = (_a) => {
5473
5943
  var _b = _a, { children, className, stickyColumn, align = "left" } = _b, rest = __objRest(_b, ["children", "className", "stickyColumn", "align"]);
5474
- const headContext = import_react50.default.useContext(HeadContext);
5475
- return headContext ? /* @__PURE__ */ import_react50.default.createElement("th", __spreadProps(__spreadValues({}, rest), {
5944
+ const headContext = import_react54.default.useContext(HeadContext);
5945
+ return headContext ? /* @__PURE__ */ import_react54.default.createElement("th", __spreadProps(__spreadValues({}, rest), {
5476
5946
  className: classNames(
5477
5947
  cellClassNames,
5478
5948
  getHeadCellClassNames(headContext.sticky, stickyColumn),
5479
5949
  getAlignClassNames(align),
5480
5950
  className
5481
5951
  )
5482
- }), children) : /* @__PURE__ */ import_react50.default.createElement("td", __spreadProps(__spreadValues({}, rest), {
5952
+ }), children) : /* @__PURE__ */ import_react54.default.createElement("td", __spreadProps(__spreadValues({}, rest), {
5483
5953
  className: classNames(
5484
5954
  cellClassNames,
5485
5955
  getBodyCellClassNames(true, stickyColumn),
@@ -5490,11 +5960,11 @@ var TableCell = (_a) => {
5490
5960
  };
5491
5961
  var TableSelectCell = (_a) => {
5492
5962
  var _b = _a, { ariaLabel } = _b, props = __objRest(_b, ["ariaLabel"]);
5493
- return /* @__PURE__ */ import_react50.default.createElement(Table.Cell, {
5963
+ return /* @__PURE__ */ import_react54.default.createElement(Table.Cell, {
5494
5964
  className: tw("leading-[0px]")
5495
- }, props.type === "radio" ? /* @__PURE__ */ import_react50.default.createElement(RadioButton, __spreadValues({
5965
+ }, props.type === "radio" ? /* @__PURE__ */ import_react54.default.createElement(RadioButton, __spreadValues({
5496
5966
  "aria-label": ariaLabel
5497
- }, props)) : /* @__PURE__ */ import_react50.default.createElement(Checkbox, __spreadValues({
5967
+ }, props)) : /* @__PURE__ */ import_react54.default.createElement(Checkbox, __spreadValues({
5498
5968
  "aria-label": ariaLabel
5499
5969
  }, props)));
5500
5970
  };
@@ -5504,39 +5974,39 @@ var getSortCellIconClassNames = (active) => {
5504
5974
  };
5505
5975
  var TableSortCell = (_a) => {
5506
5976
  var _b = _a, { children, direction = "none", onClick } = _b, rest = __objRest(_b, ["children", "direction", "onClick"]);
5507
- return /* @__PURE__ */ import_react50.default.createElement(Table.Cell, __spreadProps(__spreadValues({}, rest), {
5977
+ return /* @__PURE__ */ import_react54.default.createElement(Table.Cell, __spreadProps(__spreadValues({}, rest), {
5508
5978
  "aria-sort": direction
5509
- }), /* @__PURE__ */ import_react50.default.createElement("span", {
5979
+ }), /* @__PURE__ */ import_react54.default.createElement("span", {
5510
5980
  className: getSortCellButtonClassNames(rest.align),
5511
5981
  role: "button",
5512
5982
  tabIndex: -1,
5513
5983
  onClick
5514
- }, children, /* @__PURE__ */ import_react50.default.createElement("div", {
5984
+ }, children, /* @__PURE__ */ import_react54.default.createElement("div", {
5515
5985
  "data-sort-icons": true,
5516
5986
  className: tw("flex flex-col", {
5517
5987
  "invisible group-hover:visible": direction === "none"
5518
5988
  })
5519
- }, /* @__PURE__ */ import_react50.default.createElement(InlineIcon, {
5989
+ }, /* @__PURE__ */ import_react54.default.createElement(InlineIcon, {
5520
5990
  icon: import_chevronUp2.default,
5521
5991
  className: getSortCellIconClassNames(direction === "descending")
5522
- }), /* @__PURE__ */ import_react50.default.createElement(InlineIcon, {
5992
+ }), /* @__PURE__ */ import_react54.default.createElement(InlineIcon, {
5523
5993
  icon: import_chevronDown3.default,
5524
5994
  className: getSortCellIconClassNames(direction === "ascending")
5525
5995
  }))));
5526
5996
  };
5527
- var Item2 = ({ image, imageAlt, imageSize = 35, title, caption }) => /* @__PURE__ */ import_react50.default.createElement("div", {
5997
+ var Item4 = ({ image, imageAlt, imageSize = 35, title, caption }) => /* @__PURE__ */ import_react54.default.createElement("div", {
5528
5998
  className: tw("flex gap-4 items-center")
5529
- }, image && /* @__PURE__ */ import_react50.default.createElement("img", {
5999
+ }, image && /* @__PURE__ */ import_react54.default.createElement("img", {
5530
6000
  src: image,
5531
6001
  alt: imageAlt,
5532
6002
  style: { width: imageSize, height: imageSize }
5533
- }), /* @__PURE__ */ import_react50.default.createElement("div", null, title, caption && /* @__PURE__ */ import_react50.default.createElement(Typography2.Caption, null, caption)));
5534
- Table.Head = import_react50.default.memo(TableHead);
5535
- Table.Body = import_react50.default.memo(TableBody);
5536
- Table.Row = import_react50.default.memo(TableRow);
5537
- Table.Cell = import_react50.default.memo(TableCell);
5538
- Table.SortCell = import_react50.default.memo(TableSortCell);
5539
- Table.SelectCell = import_react50.default.memo(TableSelectCell);
6003
+ }), /* @__PURE__ */ import_react54.default.createElement("div", null, title, caption && /* @__PURE__ */ import_react54.default.createElement(Typography2.Caption, null, caption)));
6004
+ Table.Head = import_react54.default.memo(TableHead);
6005
+ Table.Body = import_react54.default.memo(TableBody);
6006
+ Table.Row = import_react54.default.memo(TableRow);
6007
+ Table.Cell = import_react54.default.memo(TableCell);
6008
+ Table.SortCell = import_react54.default.memo(TableSortCell);
6009
+ Table.SelectCell = import_react54.default.memo(TableSelectCell);
5540
6010
 
5541
6011
  // src/atoms/DataList/DataList.tsx
5542
6012
  var import_chevronDown4 = __toESM(require_chevronDown());
@@ -5548,7 +6018,7 @@ var getAlignClassNames2 = (align) => tw("flex items-center", {
5548
6018
  });
5549
6019
  var DataList = (_a) => {
5550
6020
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
5551
- return /* @__PURE__ */ import_react51.default.createElement("div", __spreadValues({}, rest));
6021
+ return /* @__PURE__ */ import_react55.default.createElement("div", __spreadValues({}, rest));
5552
6022
  };
5553
6023
  var HeadCell = (_a) => {
5554
6024
  var _b = _a, {
@@ -5562,7 +6032,7 @@ var HeadCell = (_a) => {
5562
6032
  "align",
5563
6033
  "stickyColumn"
5564
6034
  ]);
5565
- return /* @__PURE__ */ import_react51.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6035
+ return /* @__PURE__ */ import_react55.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
5566
6036
  role: "cell",
5567
6037
  className: classNames(
5568
6038
  cellClassNames,
@@ -5580,1122 +6050,713 @@ var Cell = (_a) => {
5580
6050
  } = _b, rest = __objRest(_b, [
5581
6051
  "className",
5582
6052
  "align",
5583
- "stickyColumn"
5584
- ]);
5585
- return /* @__PURE__ */ import_react51.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
5586
- role: "cell",
5587
- className: classNames(
5588
- cellClassNames,
5589
- getBodyCellClassNames(false, stickyColumn),
5590
- getAlignClassNames2(align),
5591
- tw("border-grey-10 group-hover:bg-grey-0 group-last:border-b-0"),
5592
- className
5593
- )
5594
- }));
5595
- };
5596
- var Row = (_a) => {
5597
- var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
5598
- return /* @__PURE__ */ import_react51.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
5599
- className: classNames(tw("contents group"), className),
5600
- role: "row"
5601
- }));
5602
- };
5603
- var SortCell = (_a) => {
5604
- var _b = _a, { children, direction = "none", onClick, sticky } = _b, rest = __objRest(_b, ["children", "direction", "onClick", "sticky"]);
5605
- return /* @__PURE__ */ import_react51.default.createElement(HeadCell, __spreadProps(__spreadValues({}, rest), {
5606
- "aria-sort": direction,
5607
- role: "cell",
5608
- sticky
5609
- }), /* @__PURE__ */ import_react51.default.createElement("span", {
5610
- className: getSortCellButtonClassNames(rest.align),
5611
- role: "button",
5612
- tabIndex: -1,
5613
- onClick
5614
- }, children, /* @__PURE__ */ import_react51.default.createElement("div", {
5615
- "data-sort-icons": true,
5616
- className: tw("flex flex-col", {
5617
- "invisible group-hover:visible": direction === "none"
5618
- })
5619
- }, /* @__PURE__ */ import_react51.default.createElement(InlineIcon, {
5620
- icon: import_chevronUp3.default,
5621
- className: getSortCellIconClassNames(direction === "descending")
5622
- }), /* @__PURE__ */ import_react51.default.createElement(InlineIcon, {
5623
- icon: import_chevronDown4.default,
5624
- className: getSortCellIconClassNames(direction === "ascending")
5625
- }))));
5626
- };
5627
- DataList.HeadCell = HeadCell;
5628
- DataList.SortCell = SortCell;
5629
- DataList.Cell = Cell;
5630
- DataList.Row = Row;
5631
-
5632
- // src/utils/object.ts
5633
- var renameProperty = (oldProp, newProp, _a) => {
5634
- var _b = _a, { [oldProp]: oldValue } = _b, rest = __objRest(_b, [__restKey(oldProp)]);
5635
- return __spreadValues({
5636
- [newProp]: oldValue
5637
- }, rest);
5638
- };
5639
-
5640
- // src/utils/table/types.ts
5641
- var toSortDirection = (direction) => direction === "ascending" ? "asc" : direction === "descending" ? "desc" : false;
5642
- var cellProps = (column) => ({
5643
- key: column.key || column.headerName,
5644
- align: column.type === "number" || column.type === "action" ? "right" : "left",
5645
- stickyColumn: column.sticky
5646
- });
5647
- var columnIsFieldColumn = (column) => Boolean(column && column.field);
5648
-
5649
- // src/utils/table/useTableSort.tsx
5650
- var import_react52 = __toESM(require("react"));
5651
- var useTableSort = () => {
5652
- const [sort, setSort] = import_react52.default.useState();
5653
- const handleSortClick = (column) => {
5654
- if (sort && sort.column.headerName === column.headerName) {
5655
- if (sort.direction === "ascending") {
5656
- setSort({ column, direction: "descending" });
5657
- } else {
5658
- setSort(void 0);
5659
- }
5660
- } else {
5661
- setSort({ column, direction: "ascending" });
5662
- }
5663
- };
5664
- return [sort, handleSortClick];
5665
- };
5666
-
5667
- // src/utils/table/utils.ts
5668
- var import_orderBy2 = __toESM(require("lodash/orderBy"));
5669
- var sortRowsBy = (rows, sort) => {
5670
- if (!sort) {
5671
- return rows;
5672
- }
5673
- const sortFunction = sort.column.sort;
5674
- if (sortFunction) {
5675
- return [...rows].sort((a, b) => sortFunction(a, b, sort.direction));
5676
- } else if (columnIsFieldColumn(sort.column)) {
5677
- return (0, import_orderBy2.default)(rows, [sort.column.field], [toSortDirection(sort.direction)]);
5678
- }
5679
- return rows;
5680
- };
5681
-
5682
- // src/molecules/DataList/DataList.tsx
5683
- var DataList2 = ({
5684
- columns,
5685
- rows,
5686
- sticky
5687
- }) => {
5688
- const [sort, updateSort] = useTableSort();
5689
- const sortedRows = sortRowsBy(rows, sort);
5690
- const templateColumns = columns.map((column) => {
5691
- var _a;
5692
- return (_a = column.width) != null ? _a : "auto";
5693
- });
5694
- return /* @__PURE__ */ import_react53.default.createElement(Template, {
5695
- columns: templateColumns
5696
- }, columns.map(
5697
- (column) => columnIsFieldColumn(column) && column.sortable || column.sort ? /* @__PURE__ */ import_react53.default.createElement(DataList.SortCell, __spreadValues({
5698
- direction: sort && sort.column.headerName === column.headerName ? sort.direction : "none",
5699
- onClick: () => updateSort(column),
5700
- sticky
5701
- }, cellProps(column)), column.headerName) : /* @__PURE__ */ import_react53.default.createElement(DataList.HeadCell, __spreadProps(__spreadValues({}, cellProps(column)), {
5702
- sticky
5703
- }), column.headerName)
5704
- ), /* @__PURE__ */ import_react53.default.createElement(List, {
5705
- items: sortedRows,
5706
- renderItem: (row, index) => /* @__PURE__ */ import_react53.default.createElement(DataList.Row, {
5707
- key: row.id
5708
- }, /* @__PURE__ */ import_react53.default.createElement(List, {
5709
- items: columns,
5710
- renderItem: (column) => column.type === "status" ? /* @__PURE__ */ import_react53.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react53.default.createElement(StatusChip, __spreadValues({
5711
- dense: true
5712
- }, column.status(row, index, sortedRows)))) : column.type === "action" ? /* @__PURE__ */ import_react53.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react53.default.createElement(SecondaryButton, __spreadValues({
5713
- dense: true
5714
- }, renameProperty("text", "children", column.action(row, index, sortedRows))))) : column.type === "custom" ? /* @__PURE__ */ import_react53.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), column.UNSAFE_render(row, index, sortedRows)) : column.type === "item" ? /* @__PURE__ */ import_react53.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react53.default.createElement(Item2, __spreadValues({}, column.item(row, index, sortedRows)))) : /* @__PURE__ */ import_react53.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), column.formatter ? column.formatter(row[column.field], row, index, sortedRows) : row[column.field])
5715
- }))
5716
- }));
5717
- };
5718
-
5719
- // src/molecules/DataTable/DataTable.tsx
5720
- var import_react56 = __toESM(require("react"));
5721
-
5722
- // src/molecules/Table/Table.tsx
5723
- var import_react55 = __toESM(require("react"));
5724
-
5725
- // src/utils/table/useScrollTarget.ts
5726
- var import_react54 = __toESM(require("react"));
5727
- var useScrollTarget = (callback) => {
5728
- const targetRef = import_react54.default.useRef(null);
5729
- import_react54.default.useLayoutEffect(() => {
5730
- const observer = new IntersectionObserver((entries) => entries[0].isIntersecting && callback && callback(), {
5731
- root: null,
5732
- rootMargin: `0px 0px 200px 0px`
5733
- });
5734
- if (targetRef.current) {
5735
- observer.observe(targetRef.current);
5736
- }
5737
- return () => observer.disconnect();
5738
- }, []);
5739
- return targetRef;
5740
- };
5741
-
5742
- // src/molecules/Table/Table.tsx
5743
- var Table2 = (_a) => {
5744
- var _b = _a, { children, onPrev, onNext } = _b, rest = __objRest(_b, ["children", "onPrev", "onNext"]);
5745
- const bottomRef = useScrollTarget(onNext);
5746
- const topRef = useScrollTarget(onPrev);
5747
- return /* @__PURE__ */ import_react55.default.createElement("div", {
5748
- className: "relative w-full"
5749
- }, /* @__PURE__ */ import_react55.default.createElement("div", {
5750
- ref: topRef,
5751
- className: tw("absolute top-0 h-1 w-full left-0 bg-transparent")
5752
- }), /* @__PURE__ */ import_react55.default.createElement(Table, __spreadValues({}, rest), children), /* @__PURE__ */ import_react55.default.createElement("div", {
5753
- ref: bottomRef,
5754
- className: tw("absolute bottom-0 h-1 w-full left-0 bg-transparent")
5755
- }));
5756
- };
5757
- Table2.Head = Table.Head;
5758
- Table2.Body = Table.Body;
5759
- Table2.Row = Table.Row;
5760
- Table2.Cell = Table.Cell;
5761
- Table2.SortCell = Table.SortCell;
5762
- Table2.SelectCell = Table.SelectCell;
5763
-
5764
- // src/molecules/DataTable/DataTable.tsx
5765
- var DataTable = (_a) => {
5766
- var _b = _a, {
5767
- columns,
5768
- rows,
5769
- noWrap = false,
5770
- layout = "auto",
5771
- sticky
5772
- } = _b, rest = __objRest(_b, [
5773
- "columns",
5774
- "rows",
5775
- "noWrap",
5776
- "layout",
5777
- "sticky"
5778
- ]);
5779
- const [sort, updateSort] = useTableSort();
5780
- const sortedRows = sortRowsBy(rows, sort);
5781
- return /* @__PURE__ */ import_react56.default.createElement(Table2, __spreadProps(__spreadValues({}, rest), {
5782
- className: tw({
5783
- "whitespace-nowrap": noWrap,
5784
- "table-auto": layout === "auto",
5785
- "table-fixed": layout === "fixed"
5786
- })
5787
- }), /* @__PURE__ */ import_react56.default.createElement(Table2.Head, {
5788
- sticky
5789
- }, columns.map(
5790
- (column) => columnIsFieldColumn(column) && column.sortable || column.sort ? /* @__PURE__ */ import_react56.default.createElement(Table2.SortCell, __spreadValues({
5791
- direction: sort && sort.column.headerName === column.headerName ? sort.direction : "none",
5792
- onClick: () => updateSort(column),
5793
- style: { width: column.width },
5794
- "aria-label": column.headerInvisible ? column.headerName : void 0
5795
- }, cellProps(column)), !column.headerInvisible && column.headerName) : /* @__PURE__ */ import_react56.default.createElement(Table2.Cell, __spreadProps(__spreadValues({}, cellProps(column)), {
5796
- style: { width: column.width },
5797
- "aria-label": column.headerInvisible ? column.headerName : void 0
5798
- }), !column.headerInvisible && column.headerName)
5799
- )), /* @__PURE__ */ import_react56.default.createElement(Table2.Body, null, /* @__PURE__ */ import_react56.default.createElement(List, {
5800
- items: sortedRows,
5801
- renderItem: (row, index) => /* @__PURE__ */ import_react56.default.createElement(Table2.Row, {
5802
- key: row.id
5803
- }, /* @__PURE__ */ import_react56.default.createElement(List, {
5804
- items: columns,
5805
- renderItem: (column) => column.type === "status" ? /* @__PURE__ */ import_react56.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react56.default.createElement(StatusChip, __spreadValues({
5806
- dense: true
5807
- }, column.status(row, index, sortedRows)))) : column.type === "action" ? /* @__PURE__ */ import_react56.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react56.default.createElement(SecondaryButton, __spreadValues({
5808
- dense: true
5809
- }, renameProperty("text", "children", column.action(row, index, sortedRows))))) : column.type === "custom" ? /* @__PURE__ */ import_react56.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), column.UNSAFE_render(row, index, sortedRows)) : column.type === "item" ? /* @__PURE__ */ import_react56.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react56.default.createElement(Item2, __spreadValues({}, column.item(row, index, sortedRows)))) : /* @__PURE__ */ import_react56.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), column.formatter ? column.formatter(row[column.field], row, index, sortedRows) : row[column.field])
5810
- }))
5811
- })));
5812
- };
5813
-
5814
- // src/molecules/Dialog/Dialog.tsx
5815
- var import_react58 = __toESM(require("react"));
5816
- var import_dialog = require("@react-aria/dialog");
5817
- var import_overlays6 = require("@react-aria/overlays");
5818
- var import_utils5 = require("@react-aria/utils");
5819
- var import_overlays7 = require("@react-stately/overlays");
5820
- var import_omit6 = __toESM(require("lodash/omit"));
5821
-
5822
- // src/atoms/Dialog/Dialog.tsx
5823
- var import_confirm2 = __toESM(require_confirm());
5824
- var import_error2 = __toESM(require_error());
5825
- var import_warningSign2 = __toESM(require_warningSign());
5826
- var DIALOG_ICONS_AND_COLORS = {
5827
- confirmation: {
5828
- icon: import_confirm2.default,
5829
- color: "info-70"
5830
- },
5831
- warning: {
5832
- icon: import_warningSign2.default,
5833
- color: "secondary-70"
5834
- },
5835
- danger: {
5836
- icon: import_error2.default,
5837
- color: "error-70"
5838
- }
5839
- };
5840
-
5841
- // src/atoms/Modal/Modal.tsx
5842
- var import_react57 = __toESM(require("react"));
5843
- var Modal = (_a) => {
5844
- var _b = _a, { children, className, open } = _b, rest = __objRest(_b, ["children", "className", "open"]);
5845
- return open ? /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6053
+ "stickyColumn"
6054
+ ]);
6055
+ return /* @__PURE__ */ import_react55.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6056
+ role: "cell",
5846
6057
  className: classNames(
5847
- tw("inset-0 overflow-y-auto z-modal flex justify-center items-center fixed py-7"),
6058
+ cellClassNames,
6059
+ getBodyCellClassNames(false, stickyColumn),
6060
+ getAlignClassNames2(align),
6061
+ tw("border-grey-10 group-hover:bg-grey-0 group-last:border-b-0"),
5848
6062
  className
5849
6063
  )
5850
- }), children) : null;
5851
- };
5852
- Modal.BackDrop = (_a) => {
5853
- var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
5854
- return /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
5855
- className: classNames(tw("-z-10 fixed min-w-full min-h-full bg-navyBlue-100 opacity-70"), className)
5856
6064
  }));
5857
6065
  };
5858
- Modal.Dialog = import_react57.default.forwardRef(
5859
- (_a, ref) => {
5860
- var _b = _a, { children, className, size = "sm" } = _b, rest = __objRest(_b, ["children", "className", "size"]);
5861
- return /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({
5862
- ref,
5863
- "aria-modal": "true"
5864
- }, rest), {
5865
- className: classNames(
5866
- tw("relative bg-white rounded mx-7 w-full max-h-full flex flex-col"),
5867
- {
5868
- "max-w-[600px]": size === "sm",
5869
- "max-w-[940px]": size === "md",
5870
- "min-h-full": size === "full"
5871
- },
5872
- className
5873
- )
5874
- }), children);
5875
- }
5876
- );
5877
- Modal.Header = (_a) => {
5878
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
5879
- return /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
5880
- className: classNames(tw("px-7 py-6 gap-3 flex items-center"), className)
5881
- }), children);
5882
- };
5883
- Modal.HeaderImage = (_a) => {
5884
- var _b = _a, { backgroundImage, className } = _b, rest = __objRest(_b, ["backgroundImage", "className"]);
5885
- const common = tw("h-[120px] min-h-[120px] w-full ");
5886
- return backgroundImage ? /* @__PURE__ */ import_react57.default.createElement("img", __spreadProps(__spreadValues({
5887
- "aria-hidden": true,
5888
- src: backgroundImage != null ? backgroundImage : void 0
5889
- }, rest), {
5890
- className: classNames(common, tw("object-cover"), className)
5891
- })) : /* @__PURE__ */ import_react57.default.createElement("div", {
5892
- className: classNames(common, tw("bg-grey-5"), className)
5893
- });
5894
- };
5895
- Modal.CloseButtonContainer = (_a) => {
6066
+ var Row = (_a) => {
5896
6067
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
5897
- return /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
5898
- className: classNames(tw("absolute top-[20px] right-[28px]"), className)
6068
+ return /* @__PURE__ */ import_react55.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6069
+ className: classNames(tw("contents group"), className),
6070
+ role: "row"
5899
6071
  }));
5900
6072
  };
5901
- Modal.Title = (_a) => {
5902
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
5903
- return /* @__PURE__ */ import_react57.default.createElement(Typography, __spreadValues({
5904
- htmlTag: "h2",
5905
- variant: "subheading",
5906
- color: "grey-90",
5907
- className: classNames(tw("leading-none"), className)
5908
- }, rest), children);
5909
- };
5910
- Modal.Subtitle = (_a) => {
5911
- var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
5912
- return /* @__PURE__ */ import_react57.default.createElement(Typography, __spreadValues({
5913
- variant: "small",
5914
- color: "grey-60"
5915
- }, rest), children);
5916
- };
5917
- Modal.TitleContainer = (_a) => {
5918
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
5919
- return /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
5920
- className: classNames(tw("flex flex-col grow gap-2"), className)
5921
- }), children);
5922
- };
5923
- Modal.Body = (_a) => {
5924
- var _b = _a, { children, className, noFooter = false, maxHeight, style } = _b, rest = __objRest(_b, ["children", "className", "noFooter", "maxHeight", "style"]);
5925
- return /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
5926
- className: classNames(tw("px-7 grow overflow-y-auto", { "pb-6": noFooter }), className),
5927
- style: __spreadValues({ maxHeight }, style)
5928
- }), children);
5929
- };
5930
- Modal.Footer = (_a) => {
5931
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
5932
- return /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
5933
- className: classNames(tw("px-7 py-6"), className)
5934
- }), children);
5935
- };
5936
- Modal.Actions = (_a) => {
5937
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
5938
- return /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
5939
- className: classNames(tw("flex gap-4 justify-end"), className)
5940
- }), children);
5941
- };
5942
-
5943
- // src/molecules/Dialog/Dialog.tsx
5944
- var Dialog = (props) => {
5945
- const ref = import_react58.default.useRef(null);
5946
- const state = (0, import_overlays7.useOverlayTriggerState)({ isOpen: props.open });
5947
- const { modalProps, underlayProps } = (0, import_overlays6.useModalOverlay)({}, state, ref);
5948
- if (!state.isOpen) {
5949
- return null;
5950
- }
5951
- return /* @__PURE__ */ import_react58.default.createElement(import_overlays6.Overlay, null, /* @__PURE__ */ import_react58.default.createElement(Modal, {
5952
- open: true
5953
- }, /* @__PURE__ */ import_react58.default.createElement(Modal.BackDrop, __spreadValues({}, underlayProps)), /* @__PURE__ */ import_react58.default.createElement(Modal.Dialog, __spreadValues({
5954
- ref,
5955
- size: "sm"
5956
- }, modalProps), /* @__PURE__ */ import_react58.default.createElement(DialogWrapper, __spreadValues({}, props)))));
5957
- };
5958
- var DialogWrapper = ({
5959
- title,
5960
- type = "confirmation",
5961
- children,
5962
- primaryAction,
5963
- secondaryAction
5964
- }) => {
5965
- const ref = import_react58.default.useRef(null);
5966
- const labelledBy = (0, import_utils5.useId)();
5967
- const describedBy = (0, import_utils5.useId)();
5968
- const { dialogProps } = (0, import_dialog.useDialog)(
5969
- { "role": "alertdialog", "aria-labelledby": labelledBy, "aria-describedby": describedBy },
5970
- ref
5971
- );
5972
- return /* @__PURE__ */ import_react58.default.createElement("div", __spreadProps(__spreadValues({
5973
- ref
5974
- }, dialogProps), {
5975
- className: tw("outline-none")
5976
- }), /* @__PURE__ */ import_react58.default.createElement(Modal.Header, null, /* @__PURE__ */ import_react58.default.createElement(Icon, {
5977
- icon: DIALOG_ICONS_AND_COLORS[type].icon,
5978
- color: DIALOG_ICONS_AND_COLORS[type].color,
5979
- fontSize: 20
5980
- }), /* @__PURE__ */ import_react58.default.createElement(Modal.Title, {
5981
- id: labelledBy,
5982
- variant: "large-strong",
5983
- color: DIALOG_ICONS_AND_COLORS[type].color
5984
- }, title)), /* @__PURE__ */ import_react58.default.createElement(Modal.Body, {
5985
- id: describedBy
5986
- }, children), /* @__PURE__ */ import_react58.default.createElement(Modal.Footer, null, /* @__PURE__ */ import_react58.default.createElement(Modal.Actions, null, secondaryAction && /* @__PURE__ */ import_react58.default.createElement(GhostButton, __spreadValues({
5987
- key: secondaryAction.text
5988
- }, (0, import_omit6.default)(secondaryAction, "text")), secondaryAction.text), /* @__PURE__ */ import_react58.default.createElement(SecondaryButton, __spreadValues({
5989
- key: primaryAction.text
5990
- }, (0, import_omit6.default)(primaryAction, "text")), primaryAction.text))));
5991
- };
5992
-
5993
- // src/molecules/Divider/Divider.tsx
5994
- var import_react59 = __toESM(require("react"));
5995
- var sizeClasses = {
5996
- horizontal: {
5997
- 1: "h-1px",
5998
- 2: "h-1",
5999
- 4: "h-2",
6000
- 8: "h-3",
6001
- 16: "h-5",
6002
- 24: "h-6"
6003
- },
6004
- vertical: {
6005
- 1: "w-1px",
6006
- 2: "w-1",
6007
- 4: "w-2",
6008
- 8: "w-3",
6009
- 16: "w-5",
6010
- 24: "w-6"
6011
- }
6012
- };
6013
- var Divider2 = (_a) => {
6014
- var _b = _a, { direction = "horizontal", size = 1 } = _b, props = __objRest(_b, ["direction", "size"]);
6015
- const sizeClass = sizeClasses[direction][size];
6016
- return /* @__PURE__ */ import_react59.default.createElement("div", __spreadProps(__spreadValues({}, props), {
6017
- className: tw(`bg-grey-5 ${sizeClass}`, {
6018
- "block w-full": direction === "horizontal",
6019
- "inline-block h-full": direction === "vertical"
6073
+ var SortCell = (_a) => {
6074
+ var _b = _a, { children, direction = "none", onClick, sticky } = _b, rest = __objRest(_b, ["children", "direction", "onClick", "sticky"]);
6075
+ return /* @__PURE__ */ import_react55.default.createElement(HeadCell, __spreadProps(__spreadValues({}, rest), {
6076
+ "aria-sort": direction,
6077
+ role: "cell",
6078
+ sticky
6079
+ }), /* @__PURE__ */ import_react55.default.createElement("span", {
6080
+ className: getSortCellButtonClassNames(rest.align),
6081
+ role: "button",
6082
+ tabIndex: -1,
6083
+ onClick
6084
+ }, children, /* @__PURE__ */ import_react55.default.createElement("div", {
6085
+ "data-sort-icons": true,
6086
+ className: tw("flex flex-col", {
6087
+ "invisible group-hover:visible": direction === "none"
6020
6088
  })
6021
- }));
6089
+ }, /* @__PURE__ */ import_react55.default.createElement(InlineIcon, {
6090
+ icon: import_chevronUp3.default,
6091
+ className: getSortCellIconClassNames(direction === "descending")
6092
+ }), /* @__PURE__ */ import_react55.default.createElement(InlineIcon, {
6093
+ icon: import_chevronDown4.default,
6094
+ className: getSortCellIconClassNames(direction === "ascending")
6095
+ }))));
6022
6096
  };
6097
+ DataList.HeadCell = HeadCell;
6098
+ DataList.SortCell = SortCell;
6099
+ DataList.Cell = Cell;
6100
+ DataList.Row = Row;
6023
6101
 
6024
- // src/molecules/Dropdown/Dropdown.tsx
6025
- var import_react63 = __toESM(require("react"));
6026
-
6027
- // src/molecules/Popover/Popover.tsx
6028
- var import_react62 = __toESM(require("react"));
6029
- var import_interactions2 = require("@react-aria/interactions");
6030
- var import_overlays8 = require("@react-aria/overlays");
6031
- var import_utils6 = require("@react-aria/utils");
6032
- var import_overlays9 = require("@react-stately/overlays");
6033
-
6034
- // src/molecules/Popover/Dialog.tsx
6035
- var import_react60 = __toESM(require("react"));
6036
- var import_dialog2 = require("@react-aria/dialog");
6037
- var Dialog2 = ({ children }) => {
6038
- const ref = import_react60.default.useRef(null);
6039
- const { dialogProps } = (0, import_dialog2.useDialog)({}, ref);
6040
- return /* @__PURE__ */ import_react60.default.createElement("div", __spreadProps(__spreadValues({
6041
- ref
6042
- }, dialogProps), {
6043
- className: tw("outline-none")
6044
- }), children);
6102
+ // src/utils/object.ts
6103
+ var renameProperty = (oldProp, newProp, _a) => {
6104
+ var _b = _a, { [oldProp]: oldValue } = _b, rest = __objRest(_b, [__restKey(oldProp)]);
6105
+ return __spreadValues({
6106
+ [newProp]: oldValue
6107
+ }, rest);
6045
6108
  };
6046
6109
 
6047
- // src/molecules/Popover/PopoverContext.tsx
6048
- var import_react61 = require("react");
6049
- var PopoverContext = (0, import_react61.createContext)(null);
6050
- var usePopoverContext = () => {
6051
- const ctx = (0, import_react61.useContext)(PopoverContext);
6052
- if (ctx === null) {
6053
- throw new Error("PopoverContext was used outside of provider.");
6054
- }
6055
- return ctx;
6056
- };
6110
+ // src/utils/table/types.ts
6111
+ var toSortDirection = (direction) => direction === "ascending" ? "asc" : direction === "descending" ? "desc" : false;
6112
+ var cellProps = (column) => ({
6113
+ key: column.key || column.headerName,
6114
+ align: column.type === "number" || column.type === "action" ? "right" : "left",
6115
+ stickyColumn: column.sticky
6116
+ });
6117
+ var columnIsFieldColumn = (column) => Boolean(column && column.field);
6057
6118
 
6058
- // src/molecules/Popover/Popover.tsx
6059
- var Popover2 = (props) => {
6060
- const {
6061
- id,
6062
- type,
6063
- placement = "bottom-left",
6064
- containFocus = true,
6065
- isKeyboardDismissDisabled = false,
6066
- targetRef,
6067
- offset,
6068
- crossOffset,
6069
- shouldFlip
6070
- } = props;
6071
- const triggerRef = (0, import_react62.useRef)(null);
6072
- const state = (0, import_overlays9.useOverlayTriggerState)(props);
6073
- const { triggerProps, overlayProps } = (0, import_overlays8.useOverlayTrigger)({ type: type != null ? type : "dialog" }, state, triggerRef);
6074
- return /* @__PURE__ */ import_react62.default.createElement(PopoverContext.Provider, {
6075
- value: {
6076
- state
6077
- }
6078
- }, import_react62.default.Children.map(props.children, (child) => {
6079
- if (isComponentType(child, Popover2.Trigger)) {
6080
- return /* @__PURE__ */ import_react62.default.createElement(import_interactions2.PressResponder, __spreadValues({
6081
- ref: triggerRef
6082
- }, triggerProps), /* @__PURE__ */ import_react62.default.createElement(PopoverTriggerWrapper, {
6083
- "data-testid": props["data-testid"],
6084
- "aria-controls": id
6085
- }, child.props.children));
6086
- }
6087
- if (isComponentType(child, Popover2.Panel)) {
6088
- return state.isOpen && /* @__PURE__ */ import_react62.default.createElement(PopoverOverlay, __spreadValues({
6089
- triggerRef: targetRef != null ? targetRef : triggerRef,
6090
- state,
6091
- placement,
6092
- isNonModal: !containFocus,
6093
- autoFocus: !containFocus,
6094
- isKeyboardDismissDisabled,
6095
- className: child.props.className,
6096
- offset,
6097
- crossOffset,
6098
- shouldFlip
6099
- }, overlayProps), containFocus ? /* @__PURE__ */ import_react62.default.createElement(Dialog2, null, child.props.children) : child.props.children);
6119
+ // src/utils/table/useTableSort.tsx
6120
+ var import_react56 = __toESM(require("react"));
6121
+ var useTableSort = () => {
6122
+ const [sort, setSort] = import_react56.default.useState();
6123
+ const handleSortClick = (column) => {
6124
+ if (sort && sort.column.headerName === column.headerName) {
6125
+ if (sort.direction === "ascending") {
6126
+ setSort({ column, direction: "descending" });
6127
+ } else {
6128
+ setSort(void 0);
6129
+ }
6130
+ } else {
6131
+ setSort({ column, direction: "ascending" });
6100
6132
  }
6101
- throw new Error("Invalid children element type");
6102
- }));
6103
- };
6104
- var Trigger = () => null;
6105
- Trigger.displayName = "Popover.Trigger";
6106
- Popover2.Trigger = Trigger;
6107
- var Panel = () => null;
6108
- Panel.displayName = "Popover.Panel";
6109
- Popover2.Panel = Panel;
6110
- var asPopoverButton = (Component, displayName) => {
6111
- const PopoverButton2 = (props) => {
6112
- const { onClick } = props;
6113
- const { state } = usePopoverContext();
6114
- const handleClick = (e) => {
6115
- state.close();
6116
- onClick == null ? void 0 : onClick(e);
6117
- };
6118
- return /* @__PURE__ */ import_react62.default.createElement(Component, __spreadProps(__spreadValues({}, props), {
6119
- onClick: handleClick
6120
- }));
6121
6133
  };
6122
- PopoverButton2.displayName = displayName;
6123
- return PopoverButton2;
6124
- };
6125
- var PopoverButton = asPopoverButton(Button, "PopoverButton");
6126
- Popover2.Button = PopoverButton;
6127
- var PopoverTriggerWrapper = (_a) => {
6128
- var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
6129
- var _a2;
6130
- const ref = (0, import_react62.useRef)(null);
6131
- const trigger = import_react62.default.Children.only(children);
6132
- const { pressProps } = (0, import_interactions2.usePress)(__spreadProps(__spreadValues({}, rest), { ref }));
6133
- return import_react62.default.cloneElement(trigger, __spreadProps(__spreadValues({
6134
- "ref": ref
6135
- }, (0, import_utils6.mergeProps)(pressProps, trigger.props)), {
6136
- "aria-controls": (_a2 = rest["aria-controls"]) != null ? _a2 : pressProps["aria-controls"]
6137
- }));
6134
+ return [sort, handleSortClick];
6138
6135
  };
6139
6136
 
6140
- // src/molecules/Dropdown/Dropdown.tsx
6141
- var Dropdown = ({ children, content, placement = "bottom-left" }) => {
6142
- return /* @__PURE__ */ import_react63.default.createElement(Popover2, {
6143
- type: "menu",
6144
- placement
6145
- }, /* @__PURE__ */ import_react63.default.createElement(Popover2.Trigger, null, children), /* @__PURE__ */ import_react63.default.createElement(Popover2.Panel, null, content));
6137
+ // src/utils/table/utils.ts
6138
+ var import_orderBy2 = __toESM(require("lodash/orderBy"));
6139
+ var sortRowsBy = (rows, sort) => {
6140
+ if (!sort) {
6141
+ return rows;
6142
+ }
6143
+ const sortFunction = sort.column.sort;
6144
+ if (sortFunction) {
6145
+ return [...rows].sort((a, b) => sortFunction(a, b, sort.direction));
6146
+ } else if (columnIsFieldColumn(sort.column)) {
6147
+ return (0, import_orderBy2.default)(rows, [sort.column.field], [toSortDirection(sort.direction)]);
6148
+ }
6149
+ return rows;
6146
6150
  };
6147
- var DropdownMenu = ({
6148
- title,
6149
- children,
6150
- contentId,
6151
- triggerId,
6152
- setClose = () => void 0
6151
+
6152
+ // src/molecules/DataList/DataList.tsx
6153
+ var import_more = __toESM(require_more());
6154
+ var DataList2 = ({
6155
+ columns,
6156
+ rows,
6157
+ sticky,
6158
+ menu,
6159
+ onAction
6153
6160
  }) => {
6154
- const menuRef = import_react63.default.useRef(null);
6155
- import_react63.default.useEffect(() => {
6156
- const id = setTimeout(() => {
6157
- var _a, _b, _c;
6158
- return (_c = (_b = (_a = menuRef.current) == null ? void 0 : _a.children) == null ? void 0 : _b[0]) == null ? void 0 : _c.focus();
6159
- });
6160
- return () => clearTimeout(id);
6161
- }, [menuRef.current]);
6162
- return /* @__PURE__ */ import_react63.default.createElement("div", {
6163
- style: { minWidth: "250px" },
6164
- className: tw("py-3 bg-white")
6165
- }, !!title && /* @__PURE__ */ import_react63.default.createElement("div", {
6166
- className: tw("px-4 py-4 text-left text-grey-100 typography-default-strong")
6167
- }, title), /* @__PURE__ */ import_react63.default.createElement("ol", {
6168
- role: "menu",
6169
- ref: menuRef,
6170
- id: contentId,
6171
- "aria-labelledby": triggerId
6172
- }, import_react63.default.Children.map(children, (child) => {
6173
- return import_react63.default.cloneElement(child, { setClose });
6174
- })));
6175
- };
6176
- var DropdownItem = (_a) => {
6177
- var _b = _a, {
6178
- children,
6179
- disabled = false,
6180
- tooltip,
6181
- tooltipPlacement,
6182
- color = "default",
6183
- onSelect,
6184
- setClose = () => void 0
6185
- } = _b, props = __objRest(_b, [
6186
- "children",
6187
- "disabled",
6188
- "tooltip",
6189
- "tooltipPlacement",
6190
- "color",
6191
- "onSelect",
6192
- "setClose"
6161
+ const [sort, updateSort] = useTableSort();
6162
+ const sortedRows = sortRowsBy(rows, sort);
6163
+ const templateColumns = (0, import_compact.default)([
6164
+ ...columns.map((column) => {
6165
+ var _a;
6166
+ return (_a = column.width) != null ? _a : "auto";
6167
+ }),
6168
+ menu ? "auto" : void 0
6193
6169
  ]);
6194
- const { state } = usePopoverContext();
6195
- const handleSelect = () => {
6196
- onSelect == null ? void 0 : onSelect();
6197
- state.close();
6198
- setClose();
6199
- };
6200
- const handleKeyDown = (event) => {
6201
- const target = event.target;
6202
- const parent = target.parentElement;
6203
- const first = parent.firstChild;
6204
- const last = parent.lastChild;
6205
- const next = target.nextElementSibling;
6206
- const prev = target.previousElementSibling;
6207
- if (event.key === "ArrowUp") {
6208
- prev ? prev.focus() : last.focus();
6209
- } else if (event.key === "ArrowDown") {
6210
- next ? next.focus() : first.focus();
6211
- } else if (event.key === "Tab") {
6212
- event.preventDefault();
6213
- event.stopPropagation();
6214
- } else if (event.key === "Home" || event.key === "PageUp") {
6215
- first.focus();
6216
- } else if (event.key === "End" || event.key === "PageDown") {
6217
- last.focus();
6218
- } else if (event.key === "Enter") {
6219
- !disabled && handleSelect();
6220
- }
6221
- };
6222
- const handleClick = (e) => {
6223
- e.stopPropagation();
6224
- if (!disabled) {
6225
- handleSelect();
6226
- }
6227
- };
6228
- const itemContent = /* @__PURE__ */ import_react63.default.createElement("div", {
6229
- className: tw("py-3 px-4")
6230
- }, children);
6231
- return /* @__PURE__ */ import_react63.default.createElement("li", __spreadProps(__spreadValues({
6232
- role: "menuitem",
6233
- tabIndex: -1,
6234
- onClick: handleClick,
6235
- onKeyDown: handleKeyDown
6236
- }, props), {
6237
- className: tw("typography-small flex items-center focus:ring-0", {
6238
- "text-grey-70 cursor-pointer hover:bg-grey-0": !disabled,
6239
- "text-grey-10 cursor-not-allowed": disabled,
6240
- "text-primary-70 hover:text-primary-80": color === "danger" && !disabled
6241
- })
6242
- }), tooltip ? /* @__PURE__ */ import_react63.default.createElement(Tooltip, {
6243
- content: tooltip,
6244
- placement: tooltipPlacement,
6245
- inline: false
6246
- }, /* @__PURE__ */ import_react63.default.createElement("div", {
6247
- tabIndex: 0,
6248
- className: tw("grow")
6249
- }, itemContent)) : itemContent);
6170
+ return /* @__PURE__ */ import_react57.default.createElement(Template, {
6171
+ columns: templateColumns
6172
+ }, columns.map(
6173
+ (column) => columnIsFieldColumn(column) && column.sortable || column.sort ? /* @__PURE__ */ import_react57.default.createElement(DataList.SortCell, __spreadValues({
6174
+ direction: sort && sort.column.headerName === column.headerName ? sort.direction : "none",
6175
+ onClick: () => updateSort(column),
6176
+ sticky
6177
+ }, cellProps(column)), column.headerName) : /* @__PURE__ */ import_react57.default.createElement(DataList.HeadCell, __spreadProps(__spreadValues({}, cellProps(column)), {
6178
+ sticky
6179
+ }), column.headerName)
6180
+ ), menu && /* @__PURE__ */ import_react57.default.createElement(DataList.HeadCell, {
6181
+ align: "right",
6182
+ "aria-label": "Context menu"
6183
+ }), /* @__PURE__ */ import_react57.default.createElement(List2, {
6184
+ items: sortedRows,
6185
+ renderItem: (row, index) => /* @__PURE__ */ import_react57.default.createElement(DataList.Row, {
6186
+ key: row.id
6187
+ }, /* @__PURE__ */ import_react57.default.createElement(List2, {
6188
+ items: columns,
6189
+ renderItem: (column) => column.type === "status" ? /* @__PURE__ */ import_react57.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react57.default.createElement(StatusChip, __spreadValues({
6190
+ dense: true
6191
+ }, column.status(row, index, sortedRows)))) : column.type === "action" ? /* @__PURE__ */ import_react57.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react57.default.createElement(SecondaryButton, __spreadValues({
6192
+ dense: true
6193
+ }, renameProperty("text", "children", column.action(row, index, sortedRows))))) : column.type === "custom" ? /* @__PURE__ */ import_react57.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), column.UNSAFE_render(row, index, sortedRows)) : column.type === "item" ? /* @__PURE__ */ import_react57.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react57.default.createElement(Item4, __spreadValues({}, column.item(row, index, sortedRows)))) : /* @__PURE__ */ import_react57.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), column.formatter ? column.formatter(row[column.field], row, index, sortedRows) : row[column.field])
6194
+ }), menu && /* @__PURE__ */ import_react57.default.createElement(DataList.Cell, {
6195
+ align: "right"
6196
+ }, /* @__PURE__ */ import_react57.default.createElement(DropdownMenu2, {
6197
+ onAction: (action) => onAction == null ? void 0 : onAction(action, row, index)
6198
+ }, /* @__PURE__ */ import_react57.default.createElement(DropdownMenu2.Trigger, null, /* @__PURE__ */ import_react57.default.createElement(IconButton, {
6199
+ "aria-label": "menu",
6200
+ icon: import_more.default
6201
+ })), (0, import_isFunction.default)(menu) ? menu(row, index) : menu)))
6202
+ }));
6250
6203
  };
6251
- Dropdown.Menu = DropdownMenu;
6252
- Dropdown.Item = DropdownItem;
6253
6204
 
6254
- // src/molecules/DropdownMenu/DropdownMenu.tsx
6255
- var import_react67 = __toESM(require("react"));
6256
- var import_i18n = require("@react-aria/i18n");
6257
- var import_interactions3 = require("@react-aria/interactions");
6258
- var import_menu = require("@react-aria/menu");
6259
- var import_separator = require("@react-aria/separator");
6260
- var import_utils8 = require("@react-aria/utils");
6261
- var import_collections = require("@react-stately/collections");
6262
- var import_menu2 = require("@react-stately/menu");
6263
- var import_tree = require("@react-stately/tree");
6264
-
6265
- // src/molecules/Input/Input.tsx
6266
- var import_react65 = __toESM(require("react"));
6267
- var import_omit7 = __toESM(require("lodash/omit"));
6268
- var import_toString = __toESM(require("lodash/toString"));
6269
- var import_uniqueId3 = __toESM(require("lodash/uniqueId"));
6205
+ // src/molecules/DataTable/DataTable.tsx
6206
+ var import_react60 = __toESM(require("react"));
6207
+ var import_compact2 = __toESM(require("lodash/compact"));
6208
+ var import_isFunction2 = __toESM(require("lodash/isFunction"));
6270
6209
 
6271
- // src/utils/form/InputAdornment/InputAdornment.tsx
6272
- var import_react64 = __toESM(require("react"));
6273
- var import_cross4 = __toESM(require_cross());
6274
- var import_error3 = __toESM(require_error());
6275
- var import_search2 = __toESM(require_search());
6276
- var import_tick3 = __toESM(require_tick());
6277
- var InputAdornment = ({ placement = "right", className, dense, children }) => {
6278
- return /* @__PURE__ */ import_react64.default.createElement("span", {
6279
- className: classNames(className, "absolute inset-y-0 grow-0 text-grey-40 flex items-center mx-3", {
6280
- "right-0": placement === "right",
6281
- "left-0": placement === "left",
6282
- "typography-small": dense,
6283
- "typography-default-strong": !dense
6284
- })
6285
- }, /* @__PURE__ */ import_react64.default.createElement(Flexbox, {
6286
- gap: "3",
6287
- wrap: "wrap"
6288
- }, children));
6289
- };
6290
- var SearchIcon = ({ onClick }) => /* @__PURE__ */ import_react64.default.createElement(Icon, {
6291
- icon: import_search2.default,
6292
- color: "grey-30",
6293
- "data-testid": "icon-search",
6294
- onClick
6295
- });
6296
- var ResetIcon = ({ onClick }) => /* @__PURE__ */ import_react64.default.createElement(Icon, {
6297
- className: "hover:cursor-pointer",
6298
- icon: import_cross4.default,
6299
- color: "grey-30",
6300
- "data-testid": "icon-reset",
6301
- onClick
6302
- });
6210
+ // src/molecules/Table/Table.tsx
6211
+ var import_react59 = __toESM(require("react"));
6303
6212
 
6304
- // src/molecules/Input/Input.tsx
6305
- var createInput = (displayName, opts = {}) => {
6306
- const InputComponent = (0, import_react65.forwardRef)(
6307
- (_a, ref) => {
6308
- var _b = _a, {
6309
- type = "text",
6310
- maxLength,
6311
- valid = true,
6312
- required = false,
6313
- endAdornment,
6314
- disabled = false,
6315
- readOnly = false
6316
- } = _b, props = __objRest(_b, [
6317
- "type",
6318
- "maxLength",
6319
- "valid",
6320
- "required",
6321
- "endAdornment",
6322
- "disabled",
6323
- "readOnly"
6324
- ]);
6325
- var _a2;
6326
- const inputRef = import_react65.default.useRef(null);
6327
- (0, import_react65.useImperativeHandle)(ref, () => inputRef.current);
6328
- const handleReset = () => {
6329
- var _a3;
6330
- const el = inputRef.current;
6331
- if (el) {
6332
- const lastValue = el.value;
6333
- el.value = "";
6334
- (_a3 = el._valueTracker) == null ? void 0 : _a3.setValue(lastValue);
6335
- el.dispatchEvent(new Event("change", { bubbles: true }));
6336
- el.focus();
6337
- }
6338
- };
6339
- return /* @__PURE__ */ import_react65.default.createElement("span", {
6340
- className: tw("relative block")
6341
- }, opts.adornment && /* @__PURE__ */ import_react65.default.createElement(InputAdornment, {
6342
- placement: "left"
6343
- }, opts.adornment), /* @__PURE__ */ import_react65.default.createElement("input", __spreadProps(__spreadValues({
6344
- ref: inputRef,
6345
- type
6346
- }, props), {
6347
- disabled,
6348
- maxLength,
6349
- required,
6350
- readOnly,
6351
- className: classNames(
6352
- {
6353
- "pl-7": opts.adornment
6354
- },
6355
- getCommonInputStyles({ readOnly, valid }),
6356
- props.className
6357
- )
6358
- })), opts.canReset && (props.value || ((_a2 = inputRef.current) == null ? void 0 : _a2.value)) && /* @__PURE__ */ import_react65.default.createElement(InputAdornment, null, /* @__PURE__ */ import_react65.default.createElement(ResetIcon, {
6359
- onClick: handleReset
6360
- })), !opts.canReset && endAdornment && /* @__PURE__ */ import_react65.default.createElement(InputAdornment, null, endAdornment));
6213
+ // src/utils/table/useScrollTarget.ts
6214
+ var import_react58 = __toESM(require("react"));
6215
+ var useScrollTarget = (callback) => {
6216
+ const targetRef = import_react58.default.useRef(null);
6217
+ import_react58.default.useLayoutEffect(() => {
6218
+ const observer = new IntersectionObserver((entries) => entries[0].isIntersecting && callback && callback(), {
6219
+ root: null,
6220
+ rootMargin: `0px 0px 200px 0px`
6221
+ });
6222
+ if (targetRef.current) {
6223
+ observer.observe(targetRef.current);
6361
6224
  }
6362
- );
6363
- InputComponent.displayName = displayName;
6364
- InputComponent.Skeleton = () => /* @__PURE__ */ import_react65.default.createElement(Skeleton, {
6365
- height: 38
6366
- });
6367
- return InputComponent;
6225
+ return () => observer.disconnect();
6226
+ }, []);
6227
+ return targetRef;
6368
6228
  };
6369
- var InputBase = createInput("InputBase");
6370
- var SearchInput = createInput("SearchInput", { adornment: /* @__PURE__ */ import_react65.default.createElement(SearchIcon, null), canReset: true });
6371
- var Input2 = import_react65.default.forwardRef((_a, ref) => {
6372
- var _b = _a, { readOnly = false } = _b, props = __objRest(_b, ["readOnly"]);
6373
- var _a2, _b2, _c;
6374
- const [value, setValue] = (0, import_react65.useState)((_b2 = (_a2 = props.value) != null ? _a2 : props.defaultValue) != null ? _b2 : "");
6375
- const id = (0, import_react65.useRef)((_c = props.id) != null ? _c : `input-${(0, import_uniqueId3.default)()}`);
6376
- const errorMessageId = (0, import_uniqueId3.default)();
6377
- const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
6378
- const _d = getLabelControlProps(props), { "data-testid": dataTestId } = _d, labelControlProps = __objRest(_d, ["data-testid"]);
6379
- const baseProps = (0, import_omit7.default)(props, Object.keys(labelControlProps));
6380
- return /* @__PURE__ */ import_react65.default.createElement(LabelControl, __spreadValues({
6381
- id: `${id.current}-label`,
6382
- htmlFor: id.current,
6383
- messageId: errorMessageId,
6384
- length: value !== void 0 ? (0, import_toString.default)(value).length : void 0
6385
- }, labelControlProps), /* @__PURE__ */ import_react65.default.createElement(InputBase, __spreadProps(__spreadValues(__spreadValues({
6386
- ref
6387
- }, baseProps), errorProps), {
6388
- id: id.current,
6389
- "data-testid": dataTestId,
6390
- onChange: (e) => {
6391
- var _a3;
6392
- setValue(e.currentTarget.value);
6393
- (_a3 = props.onChange) == null ? void 0 : _a3.call(props, e);
6394
- },
6395
- disabled: props.disabled,
6396
- maxLength: props.maxLength,
6397
- required: props.required,
6398
- valid: props.valid,
6399
- readOnly
6229
+
6230
+ // src/molecules/Table/Table.tsx
6231
+ var Table2 = (_a) => {
6232
+ var _b = _a, { children, onPrev, onNext } = _b, rest = __objRest(_b, ["children", "onPrev", "onNext"]);
6233
+ const bottomRef = useScrollTarget(onNext);
6234
+ const topRef = useScrollTarget(onPrev);
6235
+ return /* @__PURE__ */ import_react59.default.createElement("div", {
6236
+ className: "relative w-full"
6237
+ }, /* @__PURE__ */ import_react59.default.createElement("div", {
6238
+ ref: topRef,
6239
+ className: tw("absolute top-0 h-1 w-full left-0 bg-transparent")
6240
+ }), /* @__PURE__ */ import_react59.default.createElement(Table, __spreadValues({}, rest), children), /* @__PURE__ */ import_react59.default.createElement("div", {
6241
+ ref: bottomRef,
6242
+ className: tw("absolute bottom-0 h-1 w-full left-0 bg-transparent")
6243
+ }));
6244
+ };
6245
+ Table2.Head = Table.Head;
6246
+ Table2.Body = Table.Body;
6247
+ Table2.Row = Table.Row;
6248
+ Table2.Cell = Table.Cell;
6249
+ Table2.SortCell = Table.SortCell;
6250
+ Table2.SelectCell = Table.SelectCell;
6251
+
6252
+ // src/molecules/DataTable/DataTable.tsx
6253
+ var import_more2 = __toESM(require_more());
6254
+ var DataTable = (_a) => {
6255
+ var _b = _a, {
6256
+ columns,
6257
+ rows,
6258
+ noWrap = false,
6259
+ layout = "auto",
6260
+ sticky,
6261
+ menu,
6262
+ onAction
6263
+ } = _b, rest = __objRest(_b, [
6264
+ "columns",
6265
+ "rows",
6266
+ "noWrap",
6267
+ "layout",
6268
+ "sticky",
6269
+ "menu",
6270
+ "onAction"
6271
+ ]);
6272
+ const [sort, updateSort] = useTableSort();
6273
+ const sortedRows = sortRowsBy(rows, sort);
6274
+ return /* @__PURE__ */ import_react60.default.createElement(Table2, __spreadProps(__spreadValues({}, rest), {
6275
+ className: tw({
6276
+ "whitespace-nowrap": noWrap,
6277
+ "table-auto": layout === "auto",
6278
+ "table-fixed": layout === "fixed"
6279
+ })
6280
+ }), /* @__PURE__ */ import_react60.default.createElement(Table2.Head, {
6281
+ sticky
6282
+ }, (0, import_compact2.default)([
6283
+ ...columns.map(
6284
+ (column) => columnIsFieldColumn(column) && column.sortable || column.sort ? /* @__PURE__ */ import_react60.default.createElement(Table2.SortCell, __spreadValues({
6285
+ direction: sort && sort.column.headerName === column.headerName ? sort.direction : "none",
6286
+ onClick: () => updateSort(column),
6287
+ style: { width: column.width },
6288
+ "aria-label": column.headerInvisible ? column.headerName : void 0
6289
+ }, cellProps(column)), !column.headerInvisible && column.headerName) : /* @__PURE__ */ import_react60.default.createElement(Table2.Cell, __spreadProps(__spreadValues({}, cellProps(column)), {
6290
+ style: { width: column.width },
6291
+ "aria-label": column.headerInvisible ? column.headerName : void 0
6292
+ }), !column.headerInvisible && column.headerName)
6293
+ ),
6294
+ menu ? /* @__PURE__ */ import_react60.default.createElement(Table2.Cell, {
6295
+ key: "__contextMenu",
6296
+ align: "right",
6297
+ "aria-label": "Context menu"
6298
+ }) : null
6299
+ ])), /* @__PURE__ */ import_react60.default.createElement(Table2.Body, null, /* @__PURE__ */ import_react60.default.createElement(List2, {
6300
+ items: sortedRows,
6301
+ renderItem: (row, index) => /* @__PURE__ */ import_react60.default.createElement(Table2.Row, {
6302
+ key: row.id
6303
+ }, /* @__PURE__ */ import_react60.default.createElement(List2, {
6304
+ items: columns,
6305
+ renderItem: (column) => column.type === "status" ? /* @__PURE__ */ import_react60.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react60.default.createElement(StatusChip, __spreadValues({
6306
+ dense: true
6307
+ }, column.status(row, index, sortedRows)))) : column.type === "action" ? /* @__PURE__ */ import_react60.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react60.default.createElement(SecondaryButton, __spreadValues({
6308
+ dense: true
6309
+ }, renameProperty("text", "children", column.action(row, index, sortedRows))))) : column.type === "custom" ? /* @__PURE__ */ import_react60.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), column.UNSAFE_render(row, index, sortedRows)) : column.type === "item" ? /* @__PURE__ */ import_react60.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react60.default.createElement(Item4, __spreadValues({}, column.item(row, index, sortedRows)))) : /* @__PURE__ */ import_react60.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), column.formatter ? column.formatter(row[column.field], row, index, sortedRows) : row[column.field])
6310
+ }), menu && /* @__PURE__ */ import_react60.default.createElement(Table2.Cell, {
6311
+ align: "right"
6312
+ }, /* @__PURE__ */ import_react60.default.createElement(DropdownMenu2, {
6313
+ onAction: (action) => onAction == null ? void 0 : onAction(action, row, index)
6314
+ }, /* @__PURE__ */ import_react60.default.createElement(DropdownMenu2.Trigger, null, /* @__PURE__ */ import_react60.default.createElement(IconButton, {
6315
+ "aria-label": "menu",
6316
+ icon: import_more2.default
6317
+ })), (0, import_isFunction2.default)(menu) ? menu(row, index) : menu)))
6400
6318
  })));
6401
- });
6402
- Input2.displayName = "Input";
6403
- Input2.Skeleton = () => /* @__PURE__ */ import_react65.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react65.default.createElement(InputBase.Skeleton, null));
6404
- Input2.Skeleton.displayName = "Input.Skeleton";
6319
+ };
6405
6320
 
6406
- // src/atoms/DropdownMenu/DropdownMenu.tsx
6407
- var import_react66 = __toESM(require("react"));
6408
- var import_tick4 = __toESM(require_tick());
6409
- var DropdownMenu2 = import_react66.default.forwardRef(
6410
- (_a, ref) => {
6411
- var _b = _a, { maxHeight = "450px", minWidth = "125px", maxWidth, className, children } = _b, props = __objRest(_b, ["maxHeight", "minWidth", "maxWidth", "className", "children"]);
6412
- return /* @__PURE__ */ import_react66.default.createElement("div", __spreadValues({
6413
- ref,
6414
- style: { maxHeight, minWidth, maxWidth },
6415
- className: classNames(className, "bg-white w-full flex flex-col overflow-x-hidden typography-small text-grey-70")
6416
- }, props), children);
6321
+ // src/molecules/Dialog/Dialog.tsx
6322
+ var import_react62 = __toESM(require("react"));
6323
+ var import_dialog = require("@react-aria/dialog");
6324
+ var import_overlays6 = require("@react-aria/overlays");
6325
+ var import_utils8 = require("@react-aria/utils");
6326
+ var import_overlays7 = require("@react-stately/overlays");
6327
+ var import_omit7 = __toESM(require("lodash/omit"));
6328
+
6329
+ // src/atoms/Dialog/Dialog.tsx
6330
+ var import_confirm2 = __toESM(require_confirm());
6331
+ var import_error3 = __toESM(require_error());
6332
+ var import_warningSign2 = __toESM(require_warningSign());
6333
+ var DIALOG_ICONS_AND_COLORS = {
6334
+ confirmation: {
6335
+ icon: import_confirm2.default,
6336
+ color: "info-70"
6337
+ },
6338
+ warning: {
6339
+ icon: import_warningSign2.default,
6340
+ color: "secondary-70"
6341
+ },
6342
+ danger: {
6343
+ icon: import_error3.default,
6344
+ color: "error-70"
6417
6345
  }
6418
- );
6419
- var ContentContainer = ({ children }) => /* @__PURE__ */ import_react66.default.createElement("div", {
6420
- className: tw("p-3 overflow-y-auto overflow-x-hidden")
6421
- }, children);
6422
- DropdownMenu2.ContentContainer = ContentContainer;
6423
- var List2 = import_react66.default.forwardRef(
6346
+ };
6347
+
6348
+ // src/atoms/Modal/Modal.tsx
6349
+ var import_react61 = __toESM(require("react"));
6350
+ var Modal = (_a) => {
6351
+ var _b = _a, { children, className, open } = _b, rest = __objRest(_b, ["children", "className", "open"]);
6352
+ return open ? /* @__PURE__ */ import_react61.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6353
+ className: classNames(
6354
+ tw("inset-0 overflow-y-auto z-modal flex justify-center items-center fixed py-7"),
6355
+ className
6356
+ )
6357
+ }), children) : null;
6358
+ };
6359
+ Modal.BackDrop = (_a) => {
6360
+ var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
6361
+ return /* @__PURE__ */ import_react61.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6362
+ className: classNames(tw("-z-10 fixed min-w-full min-h-full bg-navyBlue-100 opacity-70"), className)
6363
+ }));
6364
+ };
6365
+ Modal.Dialog = import_react61.default.forwardRef(
6424
6366
  (_a, ref) => {
6425
- var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
6426
- return /* @__PURE__ */ import_react66.default.createElement("ul", __spreadValues({
6367
+ var _b = _a, { children, className, size = "sm" } = _b, rest = __objRest(_b, ["children", "className", "size"]);
6368
+ return /* @__PURE__ */ import_react61.default.createElement("div", __spreadProps(__spreadValues({
6427
6369
  ref,
6428
- className: classNames(className, "outline-none ring-0")
6429
- }, props), children);
6370
+ "aria-modal": "true"
6371
+ }, rest), {
6372
+ className: classNames(
6373
+ tw("relative bg-white rounded mx-7 w-full max-h-full flex flex-col"),
6374
+ {
6375
+ "max-w-[600px]": size === "sm",
6376
+ "max-w-[940px]": size === "md",
6377
+ "min-h-full": size === "full"
6378
+ },
6379
+ className
6380
+ )
6381
+ }), children);
6430
6382
  }
6431
6383
  );
6432
- DropdownMenu2.List = List2;
6433
- var Group2 = import_react66.default.forwardRef(
6434
- (_a, ref) => {
6435
- var _b = _a, { className, title, titleProps, children } = _b, props = __objRest(_b, ["className", "title", "titleProps", "children"]);
6436
- return /* @__PURE__ */ import_react66.default.createElement("li", __spreadValues({
6437
- ref
6438
- }, props), title && /* @__PURE__ */ import_react66.default.createElement("div", __spreadValues({
6439
- className: classNames(className, "p-3 text-grey-40 uppercase cursor-default typography-caption", {
6440
- "text-grey-20": props.disabled
6441
- })
6442
- }, titleProps), title), children);
6384
+ Modal.Header = (_a) => {
6385
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
6386
+ return /* @__PURE__ */ import_react61.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6387
+ className: classNames(tw("px-7 py-6 gap-3 flex items-center"), className)
6388
+ }), children);
6389
+ };
6390
+ Modal.HeaderImage = (_a) => {
6391
+ var _b = _a, { backgroundImage, className } = _b, rest = __objRest(_b, ["backgroundImage", "className"]);
6392
+ const common = tw("h-[120px] min-h-[120px] w-full ");
6393
+ return backgroundImage ? /* @__PURE__ */ import_react61.default.createElement("img", __spreadProps(__spreadValues({
6394
+ "aria-hidden": true,
6395
+ src: backgroundImage != null ? backgroundImage : void 0
6396
+ }, rest), {
6397
+ className: classNames(common, tw("object-cover"), className)
6398
+ })) : /* @__PURE__ */ import_react61.default.createElement("div", {
6399
+ className: classNames(common, tw("bg-grey-5"), className)
6400
+ });
6401
+ };
6402
+ Modal.CloseButtonContainer = (_a) => {
6403
+ var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
6404
+ return /* @__PURE__ */ import_react61.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6405
+ className: classNames(tw("absolute top-[20px] right-[28px]"), className)
6406
+ }));
6407
+ };
6408
+ Modal.Title = (_a) => {
6409
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
6410
+ return /* @__PURE__ */ import_react61.default.createElement(Typography, __spreadValues({
6411
+ htmlTag: "h2",
6412
+ variant: "subheading",
6413
+ color: "grey-90",
6414
+ className: classNames(tw("leading-none"), className)
6415
+ }, rest), children);
6416
+ };
6417
+ Modal.Subtitle = (_a) => {
6418
+ var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
6419
+ return /* @__PURE__ */ import_react61.default.createElement(Typography, __spreadValues({
6420
+ variant: "small",
6421
+ color: "grey-60"
6422
+ }, rest), children);
6423
+ };
6424
+ Modal.TitleContainer = (_a) => {
6425
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
6426
+ return /* @__PURE__ */ import_react61.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6427
+ className: classNames(tw("flex flex-col grow gap-2"), className)
6428
+ }), children);
6429
+ };
6430
+ Modal.Body = (_a) => {
6431
+ var _b = _a, { children, className, noFooter = false, maxHeight, style } = _b, rest = __objRest(_b, ["children", "className", "noFooter", "maxHeight", "style"]);
6432
+ return /* @__PURE__ */ import_react61.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6433
+ className: classNames(tw("px-7 grow overflow-y-auto", { "pb-6": noFooter }), className),
6434
+ style: __spreadValues({ maxHeight }, style)
6435
+ }), children);
6436
+ };
6437
+ Modal.Footer = (_a) => {
6438
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
6439
+ return /* @__PURE__ */ import_react61.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6440
+ className: classNames(tw("px-7 py-6"), className)
6441
+ }), children);
6442
+ };
6443
+ Modal.Actions = (_a) => {
6444
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
6445
+ return /* @__PURE__ */ import_react61.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
6446
+ className: classNames(tw("flex gap-4 justify-end"), className)
6447
+ }), children);
6448
+ };
6449
+
6450
+ // src/molecules/Dialog/Dialog.tsx
6451
+ var Dialog = (props) => {
6452
+ const ref = import_react62.default.useRef(null);
6453
+ const state = (0, import_overlays7.useOverlayTriggerState)({ isOpen: props.open });
6454
+ const { modalProps, underlayProps } = (0, import_overlays6.useModalOverlay)({}, state, ref);
6455
+ if (!state.isOpen) {
6456
+ return null;
6443
6457
  }
6444
- );
6445
- DropdownMenu2.Group = Group2;
6446
- var Item3 = import_react66.default.forwardRef(
6447
- (_a, ref) => {
6448
- var _b = _a, { kind, highlighted, selected, className, icon, children } = _b, props = __objRest(_b, ["kind", "highlighted", "selected", "className", "icon", "children"]);
6449
- return /* @__PURE__ */ import_react66.default.createElement("li", __spreadValues({
6450
- ref,
6451
- className: classNames(className, "flex items-center gap-x-3 p-3 outline-none", {
6452
- "cursor-pointer hover:bg-grey-0": !props.disabled,
6453
- "bg-grey-0": highlighted,
6454
- "text-primary-80": kind === "action",
6455
- "text-grey-20 cursor-not-allowed": props.disabled
6456
- })
6457
- }, props), icon && /* @__PURE__ */ import_react66.default.createElement(InlineIcon, {
6458
- icon
6459
- }), /* @__PURE__ */ import_react66.default.createElement("span", {
6460
- className: tw("grow")
6461
- }, children), selected && /* @__PURE__ */ import_react66.default.createElement(InlineIcon, {
6462
- icon: import_tick4.default
6463
- }));
6458
+ return /* @__PURE__ */ import_react62.default.createElement(import_overlays6.Overlay, null, /* @__PURE__ */ import_react62.default.createElement(Modal, {
6459
+ open: true
6460
+ }, /* @__PURE__ */ import_react62.default.createElement(Modal.BackDrop, __spreadValues({}, underlayProps)), /* @__PURE__ */ import_react62.default.createElement(Modal.Dialog, __spreadValues({
6461
+ ref,
6462
+ size: "sm"
6463
+ }, modalProps), /* @__PURE__ */ import_react62.default.createElement(DialogWrapper, __spreadValues({}, props)))));
6464
+ };
6465
+ var DialogWrapper = ({
6466
+ title,
6467
+ type = "confirmation",
6468
+ children,
6469
+ primaryAction,
6470
+ secondaryAction
6471
+ }) => {
6472
+ const ref = import_react62.default.useRef(null);
6473
+ const labelledBy = (0, import_utils8.useId)();
6474
+ const describedBy = (0, import_utils8.useId)();
6475
+ const { dialogProps } = (0, import_dialog.useDialog)(
6476
+ { "role": "alertdialog", "aria-labelledby": labelledBy, "aria-describedby": describedBy },
6477
+ ref
6478
+ );
6479
+ return /* @__PURE__ */ import_react62.default.createElement("div", __spreadProps(__spreadValues({
6480
+ ref
6481
+ }, dialogProps), {
6482
+ className: tw("outline-none")
6483
+ }), /* @__PURE__ */ import_react62.default.createElement(Modal.Header, null, /* @__PURE__ */ import_react62.default.createElement(Icon, {
6484
+ icon: DIALOG_ICONS_AND_COLORS[type].icon,
6485
+ color: DIALOG_ICONS_AND_COLORS[type].color,
6486
+ fontSize: 20
6487
+ }), /* @__PURE__ */ import_react62.default.createElement(Modal.Title, {
6488
+ id: labelledBy,
6489
+ variant: "large-strong",
6490
+ color: DIALOG_ICONS_AND_COLORS[type].color
6491
+ }, title)), /* @__PURE__ */ import_react62.default.createElement(Modal.Body, {
6492
+ id: describedBy
6493
+ }, children), /* @__PURE__ */ import_react62.default.createElement(Modal.Footer, null, /* @__PURE__ */ import_react62.default.createElement(Modal.Actions, null, secondaryAction && /* @__PURE__ */ import_react62.default.createElement(GhostButton, __spreadValues({
6494
+ key: secondaryAction.text
6495
+ }, (0, import_omit7.default)(secondaryAction, "text")), secondaryAction.text), /* @__PURE__ */ import_react62.default.createElement(SecondaryButton, __spreadValues({
6496
+ key: primaryAction.text
6497
+ }, (0, import_omit7.default)(primaryAction, "text")), primaryAction.text))));
6498
+ };
6499
+
6500
+ // src/molecules/Divider/Divider.tsx
6501
+ var import_react63 = __toESM(require("react"));
6502
+ var sizeClasses = {
6503
+ horizontal: {
6504
+ 1: "h-1px",
6505
+ 2: "h-1",
6506
+ 4: "h-2",
6507
+ 8: "h-3",
6508
+ 16: "h-5",
6509
+ 24: "h-6"
6510
+ },
6511
+ vertical: {
6512
+ 1: "w-1px",
6513
+ 2: "w-1",
6514
+ 4: "w-2",
6515
+ 8: "w-3",
6516
+ 16: "w-5",
6517
+ 24: "w-6"
6464
6518
  }
6465
- );
6466
- DropdownMenu2.Item = Item3;
6467
- var Description = ({ disabled, children }) => /* @__PURE__ */ import_react66.default.createElement(Typography2.Caption, {
6468
- color: disabled ? "grey-20" : "grey-40"
6469
- }, children);
6470
- DropdownMenu2.Description = Description;
6471
- var Separator = (_a) => {
6472
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6473
- return /* @__PURE__ */ import_react66.default.createElement("li", __spreadProps(__spreadValues({}, props), {
6474
- className: classNames(className, tw("m-3 block bg-grey-5 h-[1px]"))
6475
- }));
6476
6519
  };
6477
- DropdownMenu2.Separator = Separator;
6478
- var EmptyStateContainer2 = (_a) => {
6479
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6480
- return /* @__PURE__ */ import_react66.default.createElement("div", __spreadValues({
6481
- className: classNames(tw("border border-dashed border-grey-10 p-3"), className)
6482
- }, props), children);
6520
+ var Divider2 = (_a) => {
6521
+ var _b = _a, { direction = "horizontal", size = 1 } = _b, props = __objRest(_b, ["direction", "size"]);
6522
+ const sizeClass = sizeClasses[direction][size];
6523
+ return /* @__PURE__ */ import_react63.default.createElement("div", __spreadProps(__spreadValues({}, props), {
6524
+ className: tw(`bg-grey-5 ${sizeClass}`, {
6525
+ "block w-full": direction === "horizontal",
6526
+ "inline-block h-full": direction === "vertical"
6527
+ })
6528
+ }));
6483
6529
  };
6484
- DropdownMenu2.EmptyStateContainer = EmptyStateContainer2;
6485
6530
 
6486
- // src/molecules/DropdownMenu/utils.ts
6487
- var import_list = require("@react-stately/list");
6488
- var filterCollection = (collection, inputValue, filter) => {
6489
- return new import_list.ListCollection(filterNodes(collection, inputValue, filter));
6531
+ // src/molecules/Dropdown/Dropdown.tsx
6532
+ var import_react67 = __toESM(require("react"));
6533
+
6534
+ // src/molecules/Popover/Popover.tsx
6535
+ var import_react66 = __toESM(require("react"));
6536
+ var import_interactions3 = require("@react-aria/interactions");
6537
+ var import_overlays8 = require("@react-aria/overlays");
6538
+ var import_utils9 = require("@react-aria/utils");
6539
+ var import_overlays9 = require("@react-stately/overlays");
6540
+
6541
+ // src/molecules/Popover/Dialog.tsx
6542
+ var import_react64 = __toESM(require("react"));
6543
+ var import_dialog2 = require("@react-aria/dialog");
6544
+ var Dialog2 = ({ children }) => {
6545
+ const ref = import_react64.default.useRef(null);
6546
+ const { dialogProps } = (0, import_dialog2.useDialog)({}, ref);
6547
+ return /* @__PURE__ */ import_react64.default.createElement("div", __spreadProps(__spreadValues({
6548
+ ref
6549
+ }, dialogProps), {
6550
+ className: tw("outline-none")
6551
+ }), children);
6490
6552
  };
6491
- var filterNodes = (nodes, inputValue, filter) => {
6492
- const filteredNode = [];
6493
- for (const node of nodes) {
6494
- if (node.type === "section" && node.hasChildNodes) {
6495
- const filtered = filterNodes(node.childNodes, inputValue, filter);
6496
- if ([...filtered].length > 0) {
6497
- filteredNode.push(__spreadProps(__spreadValues({}, node), { childNodes: filtered }));
6498
- }
6499
- } else if (node.type !== "section" && filter(node.textValue, inputValue)) {
6500
- filteredNode.push(__spreadValues({}, node));
6501
- }
6553
+
6554
+ // src/molecules/Popover/PopoverContext.tsx
6555
+ var import_react65 = require("react");
6556
+ var PopoverContext = (0, import_react65.createContext)(null);
6557
+ var usePopoverContext = () => {
6558
+ const ctx = (0, import_react65.useContext)(PopoverContext);
6559
+ if (ctx === null) {
6560
+ throw new Error("PopoverContext was used outside of provider.");
6502
6561
  }
6503
- return filteredNode;
6562
+ return ctx;
6504
6563
  };
6505
6564
 
6506
- // src/molecules/DropdownMenu/DropdownMenu.tsx
6507
- var DropdownMenu3 = (_a) => {
6508
- var _b = _a, {
6509
- onAction,
6510
- selectionMode,
6511
- selection,
6512
- onSelectionChange,
6565
+ // src/molecules/Popover/Popover.tsx
6566
+ var Popover2 = (props) => {
6567
+ const {
6568
+ id,
6569
+ type,
6513
6570
  placement = "bottom-left",
6514
- minWidth,
6515
- maxWidth,
6516
- searchable = false,
6517
- emptyState,
6518
- header,
6519
- footer,
6520
- children
6521
- } = _b, props = __objRest(_b, [
6522
- "onAction",
6523
- "selectionMode",
6524
- "selection",
6525
- "onSelectionChange",
6526
- "placement",
6527
- "minWidth",
6528
- "maxWidth",
6529
- "searchable",
6530
- "emptyState",
6531
- "header",
6532
- "footer",
6533
- "children"
6534
- ]);
6535
- const triggerRef = import_react67.default.useRef(null);
6536
- const [trigger, items] = extractTriggerAndItems(children);
6537
- const state = (0, import_menu2.useMenuTriggerState)(props);
6538
- const { menuTriggerProps, menuProps } = (0, import_menu.useMenuTrigger)({}, state, triggerRef);
6539
- return /* @__PURE__ */ import_react67.default.createElement("div", null, /* @__PURE__ */ import_react67.default.createElement(import_interactions3.PressResponder, __spreadValues({
6540
- ref: triggerRef,
6541
- onPress: () => state.toggle()
6542
- }, menuTriggerProps), /* @__PURE__ */ import_react67.default.createElement(TriggerWrapper, null, trigger.props.children)), state.isOpen && /* @__PURE__ */ import_react67.default.createElement(PopoverOverlay, {
6543
- triggerRef,
6544
- state,
6545
- placement,
6546
- focusable: false
6547
- }, /* @__PURE__ */ import_react67.default.createElement(MenuWrapper, __spreadValues({
6548
- onAction,
6549
- selectionMode,
6550
- selection,
6551
- onSelectionChange,
6552
- searchable,
6553
- emptyState,
6554
- minWidth,
6555
- maxWidth,
6556
- header,
6557
- footer
6558
- }, menuProps), items.props.children)));
6559
- };
6560
- var MenuTrigger = () => null;
6561
- var MenuItems = () => null;
6562
- DropdownMenu3.Trigger = MenuTrigger;
6563
- DropdownMenu3.Trigger.displayName = "DropdownMenu.Trigger";
6564
- DropdownMenu3.Items = MenuItems;
6565
- DropdownMenu3.Items.displayName = "DropdownMenu.Items";
6566
- DropdownMenu3.Item = import_collections.Item;
6567
- DropdownMenu3.Item.displayName = "DropdownMenu.Item";
6568
- DropdownMenu3.Section = import_collections.Section;
6569
- DropdownMenu3.Section.displayName = "DropdownMenu.Section";
6570
- var TriggerWrapper = (_a) => {
6571
- var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
6572
- const ref = import_react67.default.useRef(null);
6573
- const { pressProps } = (0, import_interactions3.usePress)(__spreadProps(__spreadValues({}, props), { ref }));
6574
- const trigger = import_react67.default.Children.only(children);
6575
- if (!trigger || !import_react67.default.isValidElement(trigger)) {
6576
- throw new Error("<DropdownMenu.Trigger> must have valid child");
6577
- }
6578
- return import_react67.default.cloneElement(trigger, __spreadValues({ ref }, (0, import_utils8.mergeProps)(pressProps, props)));
6579
- };
6580
- var isSectionNode = (item) => item.type === "section";
6581
- var isItemNode = (item) => item.type === "item";
6582
- var MenuWrapper = (_a) => {
6583
- var _b = _a, {
6584
- selection: selectedKeys,
6585
- minWidth,
6586
- maxWidth,
6587
- searchable,
6588
- emptyState,
6589
- header,
6590
- footer
6591
- } = _b, props = __objRest(_b, [
6592
- "selection",
6593
- "minWidth",
6594
- "maxWidth",
6595
- "searchable",
6596
- "emptyState",
6597
- "header",
6598
- "footer"
6599
- ]);
6600
- const ref = import_react67.default.useRef(null);
6601
- const disabledKeys = getDisabledItemKeys(props.children);
6602
- const state = (0, import_tree.useTreeState)(__spreadValues({
6603
- disabledKeys,
6604
- selectedKeys
6605
- }, props));
6606
- const { menuProps } = (0, import_menu.useMenu)(props, state, ref);
6607
- const { contains } = (0, import_i18n.useFilter)({ sensitivity: "base" });
6608
- const [search, setSearch] = import_react67.default.useState("");
6609
- const filteredCollection = import_react67.default.useMemo(
6610
- () => searchable ? filterCollection(state.collection, search, contains) : state.collection,
6611
- [state.collection, search, contains]
6612
- );
6613
- return /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2, {
6614
- minWidth: minWidth !== void 0 ? `${minWidth}px` : void 0,
6615
- maxWidth: maxWidth !== void 0 ? `${maxWidth}px` : void 0
6616
- }, header, /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2.ContentContainer, null, searchable && /* @__PURE__ */ import_react67.default.createElement(SearchInput, {
6617
- "aria-label": "search",
6618
- value: search,
6619
- onChange: (e) => setSearch(e.target.value),
6620
- className: tw("mb-5")
6621
- }), filteredCollection.size === 0 && emptyState && /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2.EmptyStateContainer, null, emptyState), /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2.List, __spreadValues({
6622
- ref
6623
- }, menuProps), Array.from(filteredCollection).map((item) => {
6624
- if (isSectionNode(item)) {
6625
- return /* @__PURE__ */ import_react67.default.createElement(SectionWrapper, {
6626
- key: item.key,
6627
- section: item,
6628
- state
6629
- });
6630
- } else if (isItemNode(item)) {
6631
- return /* @__PURE__ */ import_react67.default.createElement(ItemWrapper, {
6632
- key: item.key,
6633
- item,
6634
- state
6635
- });
6571
+ containFocus = true,
6572
+ isKeyboardDismissDisabled = false,
6573
+ targetRef,
6574
+ offset,
6575
+ crossOffset,
6576
+ shouldFlip
6577
+ } = props;
6578
+ const triggerRef = (0, import_react66.useRef)(null);
6579
+ const state = (0, import_overlays9.useOverlayTriggerState)(props);
6580
+ const { triggerProps, overlayProps } = (0, import_overlays8.useOverlayTrigger)({ type: type != null ? type : "dialog" }, state, triggerRef);
6581
+ return /* @__PURE__ */ import_react66.default.createElement(PopoverContext.Provider, {
6582
+ value: {
6583
+ state
6636
6584
  }
6637
- }))), footer);
6585
+ }, import_react66.default.Children.map(props.children, (child) => {
6586
+ if (isComponentType(child, Popover2.Trigger)) {
6587
+ return /* @__PURE__ */ import_react66.default.createElement(import_interactions3.PressResponder, __spreadValues({
6588
+ ref: triggerRef
6589
+ }, triggerProps), /* @__PURE__ */ import_react66.default.createElement(PopoverTriggerWrapper, {
6590
+ "data-testid": props["data-testid"],
6591
+ "aria-controls": id
6592
+ }, child.props.children));
6593
+ }
6594
+ if (isComponentType(child, Popover2.Panel)) {
6595
+ return state.isOpen && /* @__PURE__ */ import_react66.default.createElement(PopoverOverlay, __spreadValues({
6596
+ triggerRef: targetRef != null ? targetRef : triggerRef,
6597
+ state,
6598
+ placement,
6599
+ isNonModal: !containFocus,
6600
+ autoFocus: !containFocus,
6601
+ isKeyboardDismissDisabled,
6602
+ className: child.props.className,
6603
+ offset,
6604
+ crossOffset,
6605
+ shouldFlip
6606
+ }, overlayProps), containFocus ? /* @__PURE__ */ import_react66.default.createElement(Dialog2, null, child.props.children) : child.props.children);
6607
+ }
6608
+ throw new Error("Invalid children element type");
6609
+ }));
6638
6610
  };
6639
- var ItemWrapper = ({ item, state }) => {
6640
- const ref = import_react67.default.useRef(null);
6641
- const { menuItemProps, descriptionProps, isSelected, isFocused, isDisabled } = (0, import_menu.useMenuItem)(
6642
- { key: item.key, closeOnSelect: item.props.closeOnSelect },
6643
- state,
6644
- ref
6645
- );
6646
- const { icon, description, kind = "default" } = item.props;
6647
- return /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2.Item, __spreadProps(__spreadValues({
6648
- ref
6649
- }, menuItemProps), {
6650
- kind,
6651
- selected: isSelected,
6652
- highlighted: isFocused,
6653
- disabled: isDisabled,
6654
- icon
6655
- }), item.rendered, description && /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2.Description, __spreadValues({
6656
- disabled: isDisabled
6657
- }, descriptionProps), description));
6611
+ var Trigger = () => null;
6612
+ Trigger.displayName = "Popover.Trigger";
6613
+ Popover2.Trigger = Trigger;
6614
+ var Panel = () => null;
6615
+ Panel.displayName = "Popover.Panel";
6616
+ Popover2.Panel = Panel;
6617
+ var asPopoverButton = (Component, displayName) => {
6618
+ const PopoverButton2 = (props) => {
6619
+ const { onClick } = props;
6620
+ const { state } = usePopoverContext();
6621
+ const handleClick = (e) => {
6622
+ state.close();
6623
+ onClick == null ? void 0 : onClick(e);
6624
+ };
6625
+ return /* @__PURE__ */ import_react66.default.createElement(Component, __spreadProps(__spreadValues({}, props), {
6626
+ onClick: handleClick
6627
+ }));
6628
+ };
6629
+ PopoverButton2.displayName = displayName;
6630
+ return PopoverButton2;
6658
6631
  };
6659
- var SectionWrapper = ({ section, state }) => {
6660
- const { itemProps, headingProps, groupProps } = (0, import_menu.useMenuSection)({
6661
- "heading": section.rendered,
6662
- "aria-label": section["aria-label"]
6663
- });
6664
- const { separatorProps } = (0, import_separator.useSeparator)({
6665
- elementType: "li"
6666
- });
6667
- return /* @__PURE__ */ import_react67.default.createElement(import_react67.default.Fragment, null, section.key !== state.collection.getFirstKey() && /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2.Separator, __spreadValues({}, separatorProps)), /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2.Group, __spreadValues({
6668
- title: section.rendered,
6669
- titleProps: headingProps
6670
- }, itemProps), /* @__PURE__ */ import_react67.default.createElement("ul", __spreadValues({}, groupProps), Array.from(section.childNodes).map((node) => /* @__PURE__ */ import_react67.default.createElement(ItemWrapper, {
6671
- key: node.key,
6672
- item: node,
6673
- state
6674
- })))));
6632
+ var PopoverButton = asPopoverButton(Button, "PopoverButton");
6633
+ Popover2.Button = PopoverButton;
6634
+ var PopoverTriggerWrapper = (_a) => {
6635
+ var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
6636
+ var _a2;
6637
+ const ref = (0, import_react66.useRef)(null);
6638
+ const trigger = import_react66.default.Children.only(children);
6639
+ const { pressProps } = (0, import_interactions3.usePress)(__spreadProps(__spreadValues({}, rest), { ref }));
6640
+ return import_react66.default.cloneElement(trigger, __spreadProps(__spreadValues({
6641
+ "ref": ref
6642
+ }, (0, import_utils9.mergeProps)(pressProps, trigger.props)), {
6643
+ "aria-controls": (_a2 = rest["aria-controls"]) != null ? _a2 : pressProps["aria-controls"]
6644
+ }));
6675
6645
  };
6676
- var extractTriggerAndItems = (children) => {
6677
- const [trigger, items] = import_react67.default.Children.toArray(children);
6678
- if (!isComponentType(trigger, MenuTrigger) || !isComponentType(items, MenuItems)) {
6679
- throw new Error("<DropdownMenu> must have <DropdownMenu.Trigger> and <DropdownMenu.Items> defined");
6680
- }
6681
- return [trigger, items];
6646
+
6647
+ // src/molecules/Dropdown/Dropdown.tsx
6648
+ var Dropdown = ({ children, content, placement = "bottom-left" }) => {
6649
+ return /* @__PURE__ */ import_react67.default.createElement(Popover2, {
6650
+ type: "menu",
6651
+ placement
6652
+ }, /* @__PURE__ */ import_react67.default.createElement(Popover2.Trigger, null, children), /* @__PURE__ */ import_react67.default.createElement(Popover2.Panel, null, content));
6682
6653
  };
6683
- var getDisabledItemKeys = (children) => {
6684
- const keys = import_react67.default.Children.map(children, (child) => {
6685
- var _a, _b;
6686
- if (!child || typeof child === "function") {
6687
- return null;
6688
- }
6689
- if (isComponentType(child, import_collections.Item) && child.props.disabled) {
6690
- return (_b = (_a = child.key) == null ? void 0 : _a.toString()) != null ? _b : null;
6654
+ var DropdownMenu3 = ({
6655
+ title,
6656
+ children,
6657
+ contentId,
6658
+ triggerId,
6659
+ setClose = () => void 0
6660
+ }) => {
6661
+ const menuRef = import_react67.default.useRef(null);
6662
+ import_react67.default.useEffect(() => {
6663
+ const id = setTimeout(() => {
6664
+ var _a, _b, _c;
6665
+ return (_c = (_b = (_a = menuRef.current) == null ? void 0 : _a.children) == null ? void 0 : _b[0]) == null ? void 0 : _c.focus();
6666
+ });
6667
+ return () => clearTimeout(id);
6668
+ }, [menuRef.current]);
6669
+ return /* @__PURE__ */ import_react67.default.createElement("div", {
6670
+ style: { minWidth: "250px" },
6671
+ className: tw("py-3 bg-white")
6672
+ }, !!title && /* @__PURE__ */ import_react67.default.createElement("div", {
6673
+ className: tw("px-4 py-4 text-left text-grey-100 typography-default-strong")
6674
+ }, title), /* @__PURE__ */ import_react67.default.createElement("ol", {
6675
+ role: "menu",
6676
+ ref: menuRef,
6677
+ id: contentId,
6678
+ "aria-labelledby": triggerId
6679
+ }, import_react67.default.Children.map(children, (child) => {
6680
+ return import_react67.default.cloneElement(child, { setClose });
6681
+ })));
6682
+ };
6683
+ var DropdownItem = (_a) => {
6684
+ var _b = _a, {
6685
+ children,
6686
+ disabled = false,
6687
+ tooltip,
6688
+ tooltipPlacement,
6689
+ color = "default",
6690
+ onSelect,
6691
+ setClose = () => void 0
6692
+ } = _b, props = __objRest(_b, [
6693
+ "children",
6694
+ "disabled",
6695
+ "tooltip",
6696
+ "tooltipPlacement",
6697
+ "color",
6698
+ "onSelect",
6699
+ "setClose"
6700
+ ]);
6701
+ const { state } = usePopoverContext();
6702
+ const handleSelect = () => {
6703
+ onSelect == null ? void 0 : onSelect();
6704
+ state.close();
6705
+ setClose();
6706
+ };
6707
+ const handleKeyDown = (event) => {
6708
+ const target = event.target;
6709
+ const parent = target.parentElement;
6710
+ const first = parent.firstChild;
6711
+ const last = parent.lastChild;
6712
+ const next = target.nextElementSibling;
6713
+ const prev = target.previousElementSibling;
6714
+ if (event.key === "ArrowUp") {
6715
+ prev ? prev.focus() : last.focus();
6716
+ } else if (event.key === "ArrowDown") {
6717
+ next ? next.focus() : first.focus();
6718
+ } else if (event.key === "Tab") {
6719
+ event.preventDefault();
6720
+ event.stopPropagation();
6721
+ } else if (event.key === "Home" || event.key === "PageUp") {
6722
+ first.focus();
6723
+ } else if (event.key === "End" || event.key === "PageDown") {
6724
+ last.focus();
6725
+ } else if (event.key === "Enter") {
6726
+ !disabled && handleSelect();
6691
6727
  }
6692
- if (isComponentType(child, import_collections.Section)) {
6693
- return getDisabledItemKeys(child.props.children);
6728
+ };
6729
+ const handleClick = (e) => {
6730
+ e.stopPropagation();
6731
+ if (!disabled) {
6732
+ handleSelect();
6694
6733
  }
6695
- return null;
6696
- });
6697
- return keys.flat().filter((key) => key !== null);
6734
+ };
6735
+ const itemContent = /* @__PURE__ */ import_react67.default.createElement("div", {
6736
+ className: tw("py-3 px-4")
6737
+ }, children);
6738
+ return /* @__PURE__ */ import_react67.default.createElement("li", __spreadProps(__spreadValues({
6739
+ role: "menuitem",
6740
+ tabIndex: -1,
6741
+ onClick: handleClick,
6742
+ onKeyDown: handleKeyDown
6743
+ }, props), {
6744
+ className: tw("typography-small flex items-center focus:ring-0", {
6745
+ "text-grey-70 cursor-pointer hover:bg-grey-0": !disabled,
6746
+ "text-grey-10 cursor-not-allowed": disabled,
6747
+ "text-primary-70 hover:text-primary-80": color === "danger" && !disabled
6748
+ })
6749
+ }), tooltip ? /* @__PURE__ */ import_react67.default.createElement(Tooltip, {
6750
+ content: tooltip,
6751
+ placement: tooltipPlacement,
6752
+ inline: false
6753
+ }, /* @__PURE__ */ import_react67.default.createElement("div", {
6754
+ tabIndex: 0,
6755
+ className: tw("grow")
6756
+ }, itemContent)) : itemContent);
6698
6757
  };
6758
+ Dropdown.Menu = DropdownMenu3;
6759
+ Dropdown.Item = DropdownItem;
6699
6760
 
6700
6761
  // src/molecules/EmptyState/EmptyState.tsx
6701
6762
  var import_react69 = __toESM(require("react"));
@@ -6911,7 +6972,7 @@ var Link2 = (props) => /* @__PURE__ */ import_react73.default.createElement(Link
6911
6972
 
6912
6973
  // src/molecules/List/List.tsx
6913
6974
  var import_react74 = __toESM(require("react"));
6914
- var List = ({ items, renderItem, container = import_react74.default.Fragment }) => {
6975
+ var List2 = ({ items, renderItem, container = import_react74.default.Fragment }) => {
6915
6976
  const Component = container;
6916
6977
  return /* @__PURE__ */ import_react74.default.createElement(Component, null, items.map(renderItem));
6917
6978
  };
@@ -7901,12 +7962,140 @@ var NativeSelectSkeleton = () => /* @__PURE__ */ import_react81.default.createEl
7901
7962
  NativeSelect.Skeleton = NativeSelectSkeleton;
7902
7963
  NativeSelect.Skeleton.displayName = "NativeSelect.Skeleton";
7903
7964
 
7904
- // src/molecules/PageHeader/PageHeader.tsx
7965
+ // src/molecules/Navigation/Navigation.tsx
7966
+ var import_react83 = __toESM(require("react"));
7967
+
7968
+ // src/atoms/Navigation/Navigation.tsx
7905
7969
  var import_react82 = __toESM(require("react"));
7970
+ var Navigation = (_a) => {
7971
+ var _b = _a, { className, children } = _b, rest = __objRest(_b, ["className", "children"]);
7972
+ return /* @__PURE__ */ import_react82.default.createElement("nav", {
7973
+ className: classNames(tw("bg-grey-0 h-full"))
7974
+ }, /* @__PURE__ */ import_react82.default.createElement("ul", __spreadProps(__spreadValues({}, rest), {
7975
+ className: classNames(tw("flex flex-col h-full"), className),
7976
+ role: "menu"
7977
+ }), children));
7978
+ };
7979
+ var Header = (_a) => {
7980
+ var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
7981
+ return /* @__PURE__ */ import_react82.default.createElement("li", __spreadProps(__spreadValues({}, rest), {
7982
+ role: "presentation",
7983
+ className: classNames(tw("px-6 py-5"), className)
7984
+ }));
7985
+ };
7986
+ var Footer = (_a) => {
7987
+ var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
7988
+ return /* @__PURE__ */ import_react82.default.createElement("li", __spreadProps(__spreadValues({}, rest), {
7989
+ role: "presentation",
7990
+ className: classNames(tw("px-6 py-5 mt-auto"), className)
7991
+ }));
7992
+ };
7993
+ var Section2 = (_a) => {
7994
+ var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
7995
+ return /* @__PURE__ */ import_react82.default.createElement("li", {
7996
+ role: "presentation"
7997
+ }, /* @__PURE__ */ import_react82.default.createElement("ul", __spreadProps(__spreadValues({}, rest), {
7998
+ role: "group",
7999
+ className: classNames(tw(" py-5 flex flex-col"), className)
8000
+ })));
8001
+ };
8002
+ var Divider3 = (_a) => {
8003
+ var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
8004
+ return /* @__PURE__ */ import_react82.default.createElement("li", __spreadProps(__spreadValues({
8005
+ role: "separator"
8006
+ }, rest), {
8007
+ className: classNames(tw("border-t-2 border-grey-5"), className)
8008
+ }));
8009
+ };
8010
+ var Item5 = (_a) => {
8011
+ var _b = _a, { className, active } = _b, rest = __objRest(_b, ["className", "active"]);
8012
+ return /* @__PURE__ */ import_react82.default.createElement("li", {
8013
+ role: "presentation"
8014
+ }, /* @__PURE__ */ import_react82.default.createElement("a", __spreadProps(__spreadValues({}, rest), {
8015
+ role: "menuitem",
8016
+ className: classNames(
8017
+ tw("py-3 px-6 hover:bg-grey-5 cursor-pointer flex gap-4 items-center typography-small focusable", {
8018
+ "text-grey-60": !active,
8019
+ "text-primary-80": !!active
8020
+ }),
8021
+ className
8022
+ )
8023
+ })));
8024
+ };
8025
+ Navigation.Header = Header;
8026
+ Navigation.Footer = Footer;
8027
+ Navigation.Section = Section2;
8028
+ Navigation.Item = Item5;
8029
+ Navigation.Divider = Divider3;
8030
+
8031
+ // src/molecules/Navigation/Navigation.tsx
8032
+ var Navigation2 = (props) => /* @__PURE__ */ import_react83.default.createElement(Navigation, __spreadValues({}, props));
8033
+ var Item6 = (_a) => {
8034
+ var _b = _a, { children, icon } = _b, rest = __objRest(_b, ["children", "icon"]);
8035
+ return /* @__PURE__ */ import_react83.default.createElement(Navigation.Item, __spreadValues({}, rest), icon && /* @__PURE__ */ import_react83.default.createElement(InlineIcon, {
8036
+ icon
8037
+ }), children);
8038
+ };
8039
+ Navigation2.Item = Item6;
8040
+ Navigation2.Divider = Navigation.Divider;
8041
+ Navigation2.Footer = Navigation.Footer;
8042
+ Navigation2.Header = Navigation.Header;
8043
+ Navigation2.Section = Navigation.Section;
8044
+
8045
+ // src/molecules/PageHeader/PageHeader.tsx
8046
+ var import_react85 = __toESM(require("react"));
7906
8047
  var import_castArray3 = __toESM(require("lodash/castArray"));
7907
8048
  var import_omit13 = __toESM(require("lodash/omit"));
7908
- var PageHeader = ({
8049
+
8050
+ // src/atoms/PageHeader/PageHeader.tsx
8051
+ var import_react84 = __toESM(require("react"));
8052
+ var PageHeader = (_a) => {
8053
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8054
+ return /* @__PURE__ */ import_react84.default.createElement("div", __spreadValues({
8055
+ className: classNames(tw("flex flex-row gap-4 pb-6"), className)
8056
+ }, rest), children);
8057
+ };
8058
+ PageHeader.Container = (_a) => {
8059
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8060
+ return /* @__PURE__ */ import_react84.default.createElement("div", __spreadValues({
8061
+ className: classNames(tw("flex flex-col grow gap-0"), className)
8062
+ }, rest), children);
8063
+ };
8064
+ PageHeader.TitleContainer = (_a) => {
8065
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8066
+ return /* @__PURE__ */ import_react84.default.createElement("div", __spreadValues({
8067
+ className: classNames(tw("flex flex-col justify-center gap-2"), className)
8068
+ }, rest), children);
8069
+ };
8070
+ PageHeader.Title = (_a) => {
8071
+ var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
8072
+ return /* @__PURE__ */ import_react84.default.createElement(Typography2.Heading, __spreadProps(__spreadValues({}, rest), {
8073
+ color: "grey-100"
8074
+ }), children);
8075
+ };
8076
+ PageHeader.Subtitle = (_a) => {
8077
+ var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
8078
+ return /* @__PURE__ */ import_react84.default.createElement(Typography2.Small, __spreadProps(__spreadValues({}, rest), {
8079
+ color: "grey-70"
8080
+ }), children);
8081
+ };
8082
+ PageHeader.Chips = (_a) => {
8083
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8084
+ return /* @__PURE__ */ import_react84.default.createElement("div", __spreadValues({
8085
+ className: classNames(tw("flex gap-3"), className)
8086
+ }, rest), children);
8087
+ };
8088
+ PageHeader.Actions = (_a) => {
8089
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8090
+ return /* @__PURE__ */ import_react84.default.createElement("div", __spreadValues({
8091
+ className: classNames(tw("flex flex-row gap-4 self-start"), className)
8092
+ }, rest), children);
8093
+ };
8094
+
8095
+ // src/molecules/PageHeader/PageHeader.tsx
8096
+ var PageHeader2 = ({
7909
8097
  title,
8098
+ subtitle,
7910
8099
  image,
7911
8100
  imageAlt,
7912
8101
  primaryAction,
@@ -7914,48 +8103,32 @@ var PageHeader = ({
7914
8103
  chips = [],
7915
8104
  breadcrumbs
7916
8105
  }) => {
7917
- return /* @__PURE__ */ import_react82.default.createElement(Flexbox, {
7918
- direction: "row",
7919
- gap: "4",
7920
- paddingBottom: "6"
7921
- }, /* @__PURE__ */ import_react82.default.createElement(Flexbox, {
7922
- className: tw("grow"),
7923
- direction: "column",
7924
- gap: "0"
7925
- }, breadcrumbs && /* @__PURE__ */ import_react82.default.createElement(Breadcrumbs, null, breadcrumbs), /* @__PURE__ */ import_react82.default.createElement(Flexbox, {
8106
+ return /* @__PURE__ */ import_react85.default.createElement(PageHeader, null, /* @__PURE__ */ import_react85.default.createElement(PageHeader.Container, null, breadcrumbs && /* @__PURE__ */ import_react85.default.createElement(Breadcrumbs, null, breadcrumbs), /* @__PURE__ */ import_react85.default.createElement(Flexbox, {
7926
8107
  gap: "5"
7927
- }, image && /* @__PURE__ */ import_react82.default.createElement("img", {
8108
+ }, image && /* @__PURE__ */ import_react85.default.createElement("img", {
7928
8109
  src: image,
7929
8110
  alt: imageAlt,
7930
8111
  className: tw("w-[56px] h-[56px]")
7931
- }), /* @__PURE__ */ import_react82.default.createElement(Flexbox, {
7932
- direction: "column",
7933
- justifyContent: "center"
7934
- }, /* @__PURE__ */ import_react82.default.createElement(Typography2.Heading, null, title), chips.length > 0 && /* @__PURE__ */ import_react82.default.createElement(Flexbox, {
7935
- gap: "3"
7936
- }, chips.map((chip) => /* @__PURE__ */ import_react82.default.createElement(Chip2, {
8112
+ }), /* @__PURE__ */ import_react85.default.createElement(PageHeader.TitleContainer, null, /* @__PURE__ */ import_react85.default.createElement(PageHeader.Title, null, title), chips.length > 0 && /* @__PURE__ */ import_react85.default.createElement(PageHeader.Chips, null, chips.map((chip) => /* @__PURE__ */ import_react85.default.createElement(Chip2, {
7937
8113
  key: chip,
7938
8114
  dense: true,
7939
8115
  text: chip
7940
- })))))), (secondaryActions || primaryAction) && /* @__PURE__ */ import_react82.default.createElement(Flexbox, {
7941
- gap: "4",
7942
- className: tw("self-start")
7943
- }, secondaryActions && (0, import_castArray3.default)(secondaryActions).filter(Boolean).map((_a) => {
8116
+ }))), subtitle && /* @__PURE__ */ import_react85.default.createElement(PageHeader.Subtitle, null, subtitle)))), (secondaryActions || primaryAction) && /* @__PURE__ */ import_react85.default.createElement(PageHeader.Actions, null, secondaryActions && (0, import_castArray3.default)(secondaryActions).filter(Boolean).map((_a) => {
7944
8117
  var _b = _a, { text } = _b, action = __objRest(_b, ["text"]);
7945
- return /* @__PURE__ */ import_react82.default.createElement(SecondaryButton, __spreadValues({
8118
+ return /* @__PURE__ */ import_react85.default.createElement(SecondaryButton, __spreadValues({
7946
8119
  key: text
7947
8120
  }, action), text);
7948
- }), primaryAction && /* @__PURE__ */ import_react82.default.createElement(PrimaryButton, __spreadValues({
8121
+ }), primaryAction && /* @__PURE__ */ import_react85.default.createElement(PrimaryButton, __spreadValues({
7949
8122
  key: primaryAction.text
7950
8123
  }, (0, import_omit13.default)(primaryAction, "text")), primaryAction.text)));
7951
8124
  };
7952
8125
 
7953
8126
  // src/molecules/Pagination/Pagination.tsx
7954
- var import_react84 = __toESM(require("react"));
8127
+ var import_react87 = __toESM(require("react"));
7955
8128
  var import_clamp = __toESM(require("lodash/clamp"));
7956
8129
 
7957
8130
  // src/molecules/Select/Select.tsx
7958
- var import_react83 = __toESM(require("react"));
8131
+ var import_react86 = __toESM(require("react"));
7959
8132
  var import_downshift3 = require("downshift");
7960
8133
  var import_defaults = __toESM(require("lodash/defaults"));
7961
8134
  var import_isArray = __toESM(require("lodash/isArray"));
@@ -7971,10 +8144,10 @@ var hasOptionGroups = (val) => {
7971
8144
  };
7972
8145
  var defaultRenderOption = (item, props, { selectedItem }, { getOptionKey, getValue, optionToString = getOptionLabelBuiltin }) => {
7973
8146
  var _a, _b;
7974
- return /* @__PURE__ */ import_react83.default.createElement(Select.Item, __spreadValues({
8147
+ return /* @__PURE__ */ import_react86.default.createElement(Select.Item, __spreadValues({
7975
8148
  key: (_b = (_a = getOptionKey == null ? void 0 : getOptionKey(item)) != null ? _a : getValue == null ? void 0 : getValue(item)) != null ? _b : optionToString(item),
7976
8149
  selected: item === selectedItem
7977
- }, props), hasIconProperty(item) && /* @__PURE__ */ import_react83.default.createElement(InlineIcon, {
8150
+ }, props), hasIconProperty(item) && /* @__PURE__ */ import_react86.default.createElement(InlineIcon, {
7978
8151
  icon: item.icon
7979
8152
  }), optionToString(item));
7980
8153
  };
@@ -8045,9 +8218,9 @@ var _SelectBase = (props) => {
8045
8218
  "children",
8046
8219
  "labelWrapper"
8047
8220
  ]);
8048
- const [hasFocus, setFocus] = (0, import_react83.useState)(false);
8049
- const targetRef = (0, import_react83.useRef)(null);
8050
- const menuRef = (0, import_react83.useRef)(null);
8221
+ const [hasFocus, setFocus] = (0, import_react86.useState)(false);
8222
+ const targetRef = (0, import_react86.useRef)(null);
8223
+ const menuRef = (0, import_react86.useRef)(null);
8051
8224
  const items = hasOptionGroups(options) ? options.flatMap((g) => g.options) : options;
8052
8225
  const findItemByValue = (val) => {
8053
8226
  if (val === null) {
@@ -8093,13 +8266,13 @@ var _SelectBase = (props) => {
8093
8266
  },
8094
8267
  withDefaults
8095
8268
  );
8096
- const renderGroup = (group) => /* @__PURE__ */ import_react83.default.createElement(import_react83.default.Fragment, {
8269
+ const renderGroup = (group) => /* @__PURE__ */ import_react86.default.createElement(import_react86.default.Fragment, {
8097
8270
  key: group.label
8098
- }, /* @__PURE__ */ import_react83.default.createElement(Select.Group, null, group.label), group.options.map((opt) => renderItem(opt, items.indexOf(opt))));
8099
- const input = /* @__PURE__ */ import_react83.default.createElement(Select.InputContainer, __spreadProps(__spreadValues({}, getToggleButtonProps({ disabled: disabled || readOnly, ref: targetRef })), {
8271
+ }, /* @__PURE__ */ import_react86.default.createElement(Select.Group, null, group.label), group.options.map((opt) => renderItem(opt, items.indexOf(opt))));
8272
+ const input = /* @__PURE__ */ import_react86.default.createElement(Select.InputContainer, __spreadProps(__spreadValues({}, getToggleButtonProps({ disabled: disabled || readOnly, ref: targetRef })), {
8100
8273
  variant: disabled ? "disabled" : !valid ? "error" : readOnly ? "readOnly" : hasFocus ? "focused" : "default",
8101
8274
  tabIndex: 0
8102
- }), /* @__PURE__ */ import_react83.default.createElement(Select.Input, __spreadProps(__spreadValues({
8275
+ }), /* @__PURE__ */ import_react86.default.createElement(Select.Input, __spreadProps(__spreadValues({
8103
8276
  id,
8104
8277
  name
8105
8278
  }, rest), {
@@ -8111,26 +8284,26 @@ var _SelectBase = (props) => {
8111
8284
  tabIndex: -1,
8112
8285
  onFocus: () => setFocus(true),
8113
8286
  onBlur: () => setFocus(false)
8114
- })), !readOnly && /* @__PURE__ */ import_react83.default.createElement(Select.Toggle, {
8287
+ })), !readOnly && /* @__PURE__ */ import_react86.default.createElement(Select.Toggle, {
8115
8288
  disabled,
8116
8289
  isOpen,
8117
8290
  tabIndex: -1
8118
8291
  }));
8119
8292
  const menuProps = getMenuProps({ ref: menuRef }, { suppressRefError: !isOpen });
8120
- return /* @__PURE__ */ import_react83.default.createElement("div", {
8293
+ return /* @__PURE__ */ import_react86.default.createElement("div", {
8121
8294
  className: tw("relative")
8122
- }, labelWrapper ? import_react83.default.cloneElement(labelWrapper, { children: input }) : input, isOpen && /* @__PURE__ */ import_react83.default.createElement(PopoverOverlay, {
8295
+ }, labelWrapper ? import_react86.default.cloneElement(labelWrapper, { children: input }) : input, isOpen && /* @__PURE__ */ import_react86.default.createElement(PopoverOverlay, {
8123
8296
  state,
8124
8297
  triggerRef: targetRef,
8125
8298
  placement: "bottom-left",
8126
8299
  shouldFlip: true,
8127
8300
  style: { width: (_b = targetRef.current) == null ? void 0 : _b.offsetWidth }
8128
- }, /* @__PURE__ */ import_react83.default.createElement(Select.Menu, __spreadValues({
8301
+ }, /* @__PURE__ */ import_react86.default.createElement(Select.Menu, __spreadValues({
8129
8302
  ref: menuRef,
8130
8303
  maxHeight
8131
- }, menuProps), options.length === 0 && /* @__PURE__ */ import_react83.default.createElement(Select.EmptyStateContainer, null, emptyState), options.length > 0 && !hasOptionGroups(options) && options.map(renderItem), options.length > 0 && hasOptionGroups(options) && options.map(renderGroup), actions.length > 0 && /* @__PURE__ */ import_react83.default.createElement(import_react83.default.Fragment, null, /* @__PURE__ */ import_react83.default.createElement(Select.Divider, {
8304
+ }, menuProps), options.length === 0 && /* @__PURE__ */ import_react86.default.createElement(Select.EmptyStateContainer, null, emptyState), options.length > 0 && !hasOptionGroups(options) && options.map(renderItem), options.length > 0 && hasOptionGroups(options) && options.map(renderGroup), actions.length > 0 && /* @__PURE__ */ import_react86.default.createElement(import_react86.default.Fragment, null, /* @__PURE__ */ import_react86.default.createElement(Select.Divider, {
8132
8305
  onMouseOver: () => setHighlightedIndex(-1)
8133
- }), actions.map((act, index) => /* @__PURE__ */ import_react83.default.createElement(Select.ActionItem, __spreadProps(__spreadValues({
8306
+ }), actions.map((act, index) => /* @__PURE__ */ import_react86.default.createElement(Select.ActionItem, __spreadProps(__spreadValues({
8134
8307
  key: `${index}`
8135
8308
  }, act), {
8136
8309
  onMouseOver: () => setHighlightedIndex(-1),
@@ -8140,10 +8313,10 @@ var _SelectBase = (props) => {
8140
8313
  }
8141
8314
  }), act.label))))));
8142
8315
  };
8143
- var SelectBase = (props) => /* @__PURE__ */ import_react83.default.createElement(_SelectBase, __spreadProps(__spreadValues({}, props), {
8316
+ var SelectBase = (props) => /* @__PURE__ */ import_react86.default.createElement(_SelectBase, __spreadProps(__spreadValues({}, props), {
8144
8317
  labelWrapper: void 0
8145
8318
  }));
8146
- var SelectBaseSkeleton = () => /* @__PURE__ */ import_react83.default.createElement(Skeleton, {
8319
+ var SelectBaseSkeleton = () => /* @__PURE__ */ import_react86.default.createElement(Skeleton, {
8147
8320
  height: 38
8148
8321
  });
8149
8322
  SelectBase.Skeleton = SelectBaseSkeleton;
@@ -8154,26 +8327,26 @@ var Select2 = (_a) => {
8154
8327
  "options"
8155
8328
  ]);
8156
8329
  var _a2;
8157
- const id = (0, import_react83.useRef)((_a2 = props.id) != null ? _a2 : `select-${(0, import_uniqueId7.default)()}`);
8330
+ const id = (0, import_react86.useRef)((_a2 = props.id) != null ? _a2 : `select-${(0, import_uniqueId7.default)()}`);
8158
8331
  const errorMessageId = (0, import_uniqueId7.default)();
8159
8332
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
8160
8333
  const labelProps = getLabelControlProps(props);
8161
8334
  const baseProps = (0, import_omit14.default)(props, Object.keys(labelProps));
8162
8335
  const legacyError = labelProps.error !== void 0 && labelProps.valid === false;
8163
8336
  const variant = !labelProps.valid || legacyError ? "error" : labelProps.disabled ? "disabled" : "default";
8164
- const label = /* @__PURE__ */ import_react83.default.createElement(Label, __spreadValues({
8337
+ const label = /* @__PURE__ */ import_react86.default.createElement(Label, __spreadValues({
8165
8338
  id: `${id.current}-label`,
8166
8339
  htmlFor: `${id.current}-input`,
8167
8340
  variant,
8168
8341
  messageId: errorMessageId
8169
8342
  }, labelProps));
8170
- return /* @__PURE__ */ import_react83.default.createElement(FormControl, null, /* @__PURE__ */ import_react83.default.createElement(_SelectBase, __spreadProps(__spreadValues(__spreadValues({}, baseProps), errorProps), {
8343
+ return /* @__PURE__ */ import_react86.default.createElement(FormControl, null, /* @__PURE__ */ import_react86.default.createElement(_SelectBase, __spreadProps(__spreadValues(__spreadValues({}, baseProps), errorProps), {
8171
8344
  id: `${id.current}-input`,
8172
8345
  options,
8173
8346
  disabled: props.disabled,
8174
8347
  valid: props.valid,
8175
8348
  labelWrapper: label
8176
- })), /* @__PURE__ */ import_react83.default.createElement(HelperText, {
8349
+ })), /* @__PURE__ */ import_react86.default.createElement(HelperText, {
8177
8350
  messageId: errorMessageId,
8178
8351
  error: !labelProps.valid,
8179
8352
  helperText: labelProps.helperText,
@@ -8182,7 +8355,7 @@ var Select2 = (_a) => {
8182
8355
  reserveSpaceForError: labelProps.reserveSpaceForError
8183
8356
  }));
8184
8357
  };
8185
- var SelectSkeleton = () => /* @__PURE__ */ import_react83.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react83.default.createElement(SelectBase.Skeleton, null));
8358
+ var SelectSkeleton = () => /* @__PURE__ */ import_react86.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react86.default.createElement(SelectBase.Skeleton, null));
8186
8359
  Select2.Skeleton = SelectSkeleton;
8187
8360
  Select2.Skeleton.displayName = "Select.Skeleton";
8188
8361
 
@@ -8201,23 +8374,23 @@ var Pagination = ({
8201
8374
  pageSizes,
8202
8375
  onPageSizeChange
8203
8376
  }) => {
8204
- const [value, setValue] = import_react84.default.useState(currentPage);
8205
- import_react84.default.useEffect(() => {
8377
+ const [value, setValue] = import_react87.default.useState(currentPage);
8378
+ import_react87.default.useEffect(() => {
8206
8379
  setValue(currentPage);
8207
8380
  }, [currentPage]);
8208
- return /* @__PURE__ */ import_react84.default.createElement(Box, {
8381
+ return /* @__PURE__ */ import_react87.default.createElement(Box, {
8209
8382
  className: tw("grid grid-cols-[200px_1fr_200px]"),
8210
8383
  backgroundColor: "grey-0",
8211
8384
  padding: "4"
8212
- }, pageSizes && onPageSizeChange && typeof pageSize === "number" ? /* @__PURE__ */ import_react84.default.createElement(Box, {
8385
+ }, pageSizes && onPageSizeChange && typeof pageSize === "number" ? /* @__PURE__ */ import_react87.default.createElement(Box, {
8213
8386
  display: "flex",
8214
8387
  alignItems: "center",
8215
8388
  gap: "4"
8216
- }, /* @__PURE__ */ import_react84.default.createElement(Typography2.Small, {
8389
+ }, /* @__PURE__ */ import_react87.default.createElement(Typography2.Small, {
8217
8390
  color: "grey-50"
8218
- }, "Items per page "), /* @__PURE__ */ import_react84.default.createElement("div", {
8391
+ }, "Items per page "), /* @__PURE__ */ import_react87.default.createElement("div", {
8219
8392
  className: tw("max-w-[70px]")
8220
- }, /* @__PURE__ */ import_react84.default.createElement(SelectBase, {
8393
+ }, /* @__PURE__ */ import_react87.default.createElement(SelectBase, {
8221
8394
  options: pageSizes.map((size) => size.toString()),
8222
8395
  value: pageSize.toString(),
8223
8396
  onChange: (size) => {
@@ -8228,26 +8401,26 @@ var Pagination = ({
8228
8401
  }
8229
8402
  }
8230
8403
  }
8231
- }))) : /* @__PURE__ */ import_react84.default.createElement("div", null), /* @__PURE__ */ import_react84.default.createElement(Box, {
8404
+ }))) : /* @__PURE__ */ import_react87.default.createElement("div", null), /* @__PURE__ */ import_react87.default.createElement(Box, {
8232
8405
  display: "flex",
8233
8406
  justifyContent: "center",
8234
8407
  alignItems: "center",
8235
8408
  className: tw("grow")
8236
- }, /* @__PURE__ */ import_react84.default.createElement(IconButton, {
8409
+ }, /* @__PURE__ */ import_react87.default.createElement(IconButton, {
8237
8410
  "aria-label": "First",
8238
8411
  onClick: () => onPageChange(1),
8239
8412
  icon: import_chevronBackward.default,
8240
8413
  disabled: !hasPreviousPage
8241
- }), /* @__PURE__ */ import_react84.default.createElement(IconButton, {
8414
+ }), /* @__PURE__ */ import_react87.default.createElement(IconButton, {
8242
8415
  "aria-label": "Previous",
8243
8416
  onClick: () => onPageChange(currentPage - 1),
8244
8417
  icon: import_chevronLeft3.default,
8245
8418
  disabled: !hasPreviousPage
8246
- }), /* @__PURE__ */ import_react84.default.createElement(Box, {
8419
+ }), /* @__PURE__ */ import_react87.default.createElement(Box, {
8247
8420
  paddingX: "4"
8248
- }, /* @__PURE__ */ import_react84.default.createElement(Typography2.Small, {
8421
+ }, /* @__PURE__ */ import_react87.default.createElement(Typography2.Small, {
8249
8422
  color: "grey-60"
8250
- }, "Page")), /* @__PURE__ */ import_react84.default.createElement(InputBase, {
8423
+ }, "Page")), /* @__PURE__ */ import_react87.default.createElement(InputBase, {
8251
8424
  className: classNames(tw("text-center max-w-[40px]"), "no-arrows"),
8252
8425
  type: "number",
8253
8426
  min: 1,
@@ -8264,67 +8437,67 @@ var Pagination = ({
8264
8437
  const newPage = !isNaN(numberValue) ? (0, import_clamp.default)(numberValue, 1, totalPages) : 1;
8265
8438
  onPageChange(newPage);
8266
8439
  }
8267
- }), /* @__PURE__ */ import_react84.default.createElement(Box, {
8440
+ }), /* @__PURE__ */ import_react87.default.createElement(Box, {
8268
8441
  paddingX: "4"
8269
- }, /* @__PURE__ */ import_react84.default.createElement(Typography2.Small, {
8442
+ }, /* @__PURE__ */ import_react87.default.createElement(Typography2.Small, {
8270
8443
  color: "grey-60"
8271
- }, "of ", totalPages)), /* @__PURE__ */ import_react84.default.createElement(IconButton, {
8444
+ }, "of ", totalPages)), /* @__PURE__ */ import_react87.default.createElement(IconButton, {
8272
8445
  "aria-label": "Next",
8273
8446
  onClick: () => onPageChange(currentPage + 1),
8274
8447
  icon: import_chevronRight3.default,
8275
8448
  disabled: !hasNextPage
8276
- }), /* @__PURE__ */ import_react84.default.createElement(IconButton, {
8449
+ }), /* @__PURE__ */ import_react87.default.createElement(IconButton, {
8277
8450
  "aria-label": "Last",
8278
8451
  onClick: () => onPageChange(totalPages),
8279
8452
  icon: import_chevronForward.default,
8280
8453
  disabled: !hasNextPage
8281
- })), /* @__PURE__ */ import_react84.default.createElement("div", null));
8454
+ })), /* @__PURE__ */ import_react87.default.createElement("div", null));
8282
8455
  };
8283
8456
 
8284
8457
  // src/molecules/PopoverDialog/PopoverDialog.tsx
8285
- var import_react86 = __toESM(require("react"));
8458
+ var import_react89 = __toESM(require("react"));
8286
8459
  var import_omit15 = __toESM(require("lodash/omit"));
8287
8460
 
8288
8461
  // src/atoms/PopoverDialog/PopoverDialog.tsx
8289
- var import_react85 = __toESM(require("react"));
8290
- var Header = (_a) => {
8462
+ var import_react88 = __toESM(require("react"));
8463
+ var Header2 = (_a) => {
8291
8464
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8292
- return /* @__PURE__ */ import_react85.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8465
+ return /* @__PURE__ */ import_react88.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8293
8466
  className: classNames(tw("p-5 gap-3 flex items-center"), className)
8294
8467
  }), children);
8295
8468
  };
8296
8469
  var Title = (_a) => {
8297
8470
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8298
- return /* @__PURE__ */ import_react85.default.createElement(Typography, __spreadProps(__spreadValues({}, rest), {
8471
+ return /* @__PURE__ */ import_react88.default.createElement(Typography, __spreadProps(__spreadValues({}, rest), {
8299
8472
  htmlTag: "h1",
8300
8473
  variant: "small-strong"
8301
8474
  }), children);
8302
8475
  };
8303
8476
  var Body = (_a) => {
8304
8477
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8305
- return /* @__PURE__ */ import_react85.default.createElement(Typography, __spreadProps(__spreadValues({}, rest), {
8478
+ return /* @__PURE__ */ import_react88.default.createElement(Typography, __spreadProps(__spreadValues({}, rest), {
8306
8479
  htmlTag: "div",
8307
8480
  variant: "caption",
8308
8481
  className: classNames(tw("px-5 overflow-y-auto"), className)
8309
8482
  }), children);
8310
8483
  };
8311
- var Footer = (_a) => {
8484
+ var Footer2 = (_a) => {
8312
8485
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8313
- return /* @__PURE__ */ import_react85.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8486
+ return /* @__PURE__ */ import_react88.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8314
8487
  className: classNames(tw("p-5"), className)
8315
8488
  }), children);
8316
8489
  };
8317
8490
  var Actions2 = (_a) => {
8318
8491
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8319
- return /* @__PURE__ */ import_react85.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8492
+ return /* @__PURE__ */ import_react88.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8320
8493
  className: classNames(tw("flex gap-4"), className)
8321
8494
  }), children);
8322
8495
  };
8323
8496
  var PopoverDialog = {
8324
- Header,
8497
+ Header: Header2,
8325
8498
  Title,
8326
8499
  Body,
8327
- Footer,
8500
+ Footer: Footer2,
8328
8501
  Actions: Actions2
8329
8502
  };
8330
8503
 
@@ -8332,13 +8505,13 @@ var PopoverDialog = {
8332
8505
  var PopoverDialog2 = ({ placement, open, title, secondaryAction, primaryAction, children }) => {
8333
8506
  const wrapPromptWithBody = (child) => {
8334
8507
  if (isComponentType(child, PopoverDialog2.Prompt)) {
8335
- return /* @__PURE__ */ import_react86.default.createElement(Popover2.Panel, {
8508
+ return /* @__PURE__ */ import_react89.default.createElement(Popover2.Panel, {
8336
8509
  className: tw("max-w-[300px]")
8337
- }, /* @__PURE__ */ import_react86.default.createElement(PopoverDialog.Header, null, /* @__PURE__ */ import_react86.default.createElement(PopoverDialog.Title, null, title)), child, /* @__PURE__ */ import_react86.default.createElement(PopoverDialog.Footer, null, /* @__PURE__ */ import_react86.default.createElement(PopoverDialog.Actions, null, secondaryAction && /* @__PURE__ */ import_react86.default.createElement(Popover2.Button, __spreadValues({
8510
+ }, /* @__PURE__ */ import_react89.default.createElement(PopoverDialog.Header, null, /* @__PURE__ */ import_react89.default.createElement(PopoverDialog.Title, null, title)), child, /* @__PURE__ */ import_react89.default.createElement(PopoverDialog.Footer, null, /* @__PURE__ */ import_react89.default.createElement(PopoverDialog.Actions, null, secondaryAction && /* @__PURE__ */ import_react89.default.createElement(Popover2.Button, __spreadValues({
8338
8511
  kind: "secondary-ghost",
8339
8512
  key: secondaryAction.text,
8340
8513
  dense: true
8341
- }, (0, import_omit15.default)(secondaryAction, "text")), secondaryAction.text), /* @__PURE__ */ import_react86.default.createElement(Popover2.Button, __spreadValues({
8514
+ }, (0, import_omit15.default)(secondaryAction, "text")), secondaryAction.text), /* @__PURE__ */ import_react89.default.createElement(Popover2.Button, __spreadValues({
8342
8515
  kind: "ghost",
8343
8516
  key: primaryAction.text,
8344
8517
  dense: true
@@ -8346,15 +8519,15 @@ var PopoverDialog2 = ({ placement, open, title, secondaryAction, primaryAction,
8346
8519
  }
8347
8520
  return child;
8348
8521
  };
8349
- return /* @__PURE__ */ import_react86.default.createElement(Popover2, {
8522
+ return /* @__PURE__ */ import_react89.default.createElement(Popover2, {
8350
8523
  type: "dialog",
8351
8524
  isOpen: open,
8352
8525
  placement,
8353
8526
  containFocus: true
8354
- }, import_react86.default.Children.map(children, wrapPromptWithBody));
8527
+ }, import_react89.default.Children.map(children, wrapPromptWithBody));
8355
8528
  };
8356
8529
  PopoverDialog2.Trigger = Popover2.Trigger;
8357
- var Prompt = ({ children }) => /* @__PURE__ */ import_react86.default.createElement(PopoverDialog.Body, null, children);
8530
+ var Prompt = ({ children }) => /* @__PURE__ */ import_react89.default.createElement(PopoverDialog.Body, null, children);
8358
8531
  Prompt.displayName = "PopoverDialog.Prompt";
8359
8532
  PopoverDialog2.Prompt = Prompt;
8360
8533
 
@@ -8363,14 +8536,14 @@ var import_react_dom = require("react-dom");
8363
8536
  var Portal = ({ children, to }) => (0, import_react_dom.createPortal)(children, to);
8364
8537
 
8365
8538
  // src/molecules/ProgressBar/ProgressBar.tsx
8366
- var import_react88 = __toESM(require("react"));
8539
+ var import_react91 = __toESM(require("react"));
8367
8540
 
8368
8541
  // src/atoms/ProgressBar/ProgressBar.tsx
8369
- var import_react87 = __toESM(require("react"));
8542
+ var import_react90 = __toESM(require("react"));
8370
8543
  var import_clamp2 = __toESM(require("lodash/clamp"));
8371
8544
  var ProgressBar = (_a) => {
8372
8545
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8373
- return /* @__PURE__ */ import_react87.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8546
+ return /* @__PURE__ */ import_react90.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8374
8547
  className: classNames(
8375
8548
  tw("relative flex items-center w-full bg-grey-0 h-2 rounded-full overflow-hidden"),
8376
8549
  className
@@ -8386,7 +8559,7 @@ var STATUS_COLORS = {
8386
8559
  ProgressBar.Indicator = (_a) => {
8387
8560
  var _b = _a, { min, max, value, "aria-label": ariaLabel, status, className } = _b, rest = __objRest(_b, ["min", "max", "value", "aria-label", "status", "className"]);
8388
8561
  const completedPercentage = (0, import_clamp2.default)((value - min) / (max - min) * 100, 0, 100);
8389
- return /* @__PURE__ */ import_react87.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8562
+ return /* @__PURE__ */ import_react90.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8390
8563
  className: classNames(
8391
8564
  tw("h-2 rounded-full transition-all ease-in-out delay-150"),
8392
8565
  STATUS_COLORS[status],
@@ -8402,11 +8575,11 @@ ProgressBar.Indicator = (_a) => {
8402
8575
  };
8403
8576
  ProgressBar.Labels = (_a) => {
8404
8577
  var _b = _a, { children, startLabel, endLabel, className } = _b, rest = __objRest(_b, ["children", "startLabel", "endLabel", "className"]);
8405
- return /* @__PURE__ */ import_react87.default.createElement("div", {
8578
+ return /* @__PURE__ */ import_react90.default.createElement("div", {
8406
8579
  className: classNames(tw("flex flex-row"), className)
8407
- }, /* @__PURE__ */ import_react87.default.createElement("span", __spreadProps(__spreadValues({}, rest), {
8580
+ }, /* @__PURE__ */ import_react90.default.createElement("span", __spreadProps(__spreadValues({}, rest), {
8408
8581
  className: tw("grow text-grey-70 typography-caption")
8409
- }), startLabel), /* @__PURE__ */ import_react87.default.createElement("span", __spreadProps(__spreadValues({}, rest), {
8582
+ }), startLabel), /* @__PURE__ */ import_react90.default.createElement("span", __spreadProps(__spreadValues({}, rest), {
8410
8583
  className: tw("grow text-grey-70 typography-caption text-right")
8411
8584
  }), endLabel));
8412
8585
  };
@@ -8424,7 +8597,7 @@ var ProgressBar2 = (props) => {
8424
8597
  if (min > max) {
8425
8598
  throw new Error("`min` value provided to `ProgressBar` is greater than `max` value.");
8426
8599
  }
8427
- const progress = /* @__PURE__ */ import_react88.default.createElement(ProgressBar, null, /* @__PURE__ */ import_react88.default.createElement(ProgressBar.Indicator, {
8600
+ const progress = /* @__PURE__ */ import_react91.default.createElement(ProgressBar, null, /* @__PURE__ */ import_react91.default.createElement(ProgressBar.Indicator, {
8428
8601
  status: value === max ? completedStatus : progresStatus,
8429
8602
  min,
8430
8603
  max,
@@ -8434,13 +8607,13 @@ var ProgressBar2 = (props) => {
8434
8607
  if (props.dense) {
8435
8608
  return progress;
8436
8609
  }
8437
- return /* @__PURE__ */ import_react88.default.createElement("div", null, progress, /* @__PURE__ */ import_react88.default.createElement(ProgressBar.Labels, {
8610
+ return /* @__PURE__ */ import_react91.default.createElement("div", null, progress, /* @__PURE__ */ import_react91.default.createElement(ProgressBar.Labels, {
8438
8611
  className: tw("py-2"),
8439
8612
  startLabel: props.startLabel,
8440
8613
  endLabel: props.endLabel
8441
8614
  }));
8442
8615
  };
8443
- var ProgressBarSkeleton = () => /* @__PURE__ */ import_react88.default.createElement(Skeleton, {
8616
+ var ProgressBarSkeleton = () => /* @__PURE__ */ import_react91.default.createElement(Skeleton, {
8444
8617
  height: 4,
8445
8618
  display: "block"
8446
8619
  });
@@ -8448,13 +8621,13 @@ ProgressBar2.Skeleton = ProgressBarSkeleton;
8448
8621
  ProgressBar2.Skeleton.displayName = "ProgressBar.Skeleton";
8449
8622
 
8450
8623
  // src/molecules/RadioButton/RadioButton.tsx
8451
- var import_react89 = __toESM(require("react"));
8452
- var RadioButton2 = import_react89.default.forwardRef(
8624
+ var import_react92 = __toESM(require("react"));
8625
+ var RadioButton2 = import_react92.default.forwardRef(
8453
8626
  (_a, ref) => {
8454
8627
  var _b = _a, { name, id, readOnly = false, disabled = false, caption, children, "aria-label": ariaLabel } = _b, props = __objRest(_b, ["name", "id", "readOnly", "disabled", "caption", "children", "aria-label"]);
8455
8628
  var _a2;
8456
8629
  const isChecked = (_a2 = props.checked) != null ? _a2 : props.defaultChecked;
8457
- return !readOnly || isChecked ? /* @__PURE__ */ import_react89.default.createElement(ControlLabel, {
8630
+ return !readOnly || isChecked ? /* @__PURE__ */ import_react92.default.createElement(ControlLabel, {
8458
8631
  htmlFor: id,
8459
8632
  label: children,
8460
8633
  "aria-label": ariaLabel,
@@ -8462,7 +8635,7 @@ var RadioButton2 = import_react89.default.forwardRef(
8462
8635
  readOnly,
8463
8636
  disabled,
8464
8637
  style: { gap: "0 8px" }
8465
- }, !readOnly && /* @__PURE__ */ import_react89.default.createElement(RadioButton, __spreadProps(__spreadValues({
8638
+ }, !readOnly && /* @__PURE__ */ import_react92.default.createElement(RadioButton, __spreadProps(__spreadValues({
8466
8639
  id,
8467
8640
  ref,
8468
8641
  name
@@ -8473,12 +8646,12 @@ var RadioButton2 = import_react89.default.forwardRef(
8473
8646
  }
8474
8647
  );
8475
8648
  RadioButton2.displayName = "RadioButton";
8476
- var RadioButtonSkeleton = () => /* @__PURE__ */ import_react89.default.createElement("div", {
8649
+ var RadioButtonSkeleton = () => /* @__PURE__ */ import_react92.default.createElement("div", {
8477
8650
  className: tw("flex gap-3")
8478
- }, /* @__PURE__ */ import_react89.default.createElement(Skeleton, {
8651
+ }, /* @__PURE__ */ import_react92.default.createElement(Skeleton, {
8479
8652
  height: 20,
8480
8653
  width: 20
8481
- }), /* @__PURE__ */ import_react89.default.createElement(Skeleton, {
8654
+ }), /* @__PURE__ */ import_react92.default.createElement(Skeleton, {
8482
8655
  height: 20,
8483
8656
  width: 150
8484
8657
  }));
@@ -8486,10 +8659,10 @@ RadioButton2.Skeleton = RadioButtonSkeleton;
8486
8659
  RadioButton2.Skeleton.displayName = "RadioButton.Skeleton";
8487
8660
 
8488
8661
  // src/molecules/RadioButtonGroup/RadioButtonGroup.tsx
8489
- var import_react90 = __toESM(require("react"));
8662
+ var import_react93 = __toESM(require("react"));
8490
8663
  var import_uniqueId8 = __toESM(require("lodash/uniqueId"));
8491
8664
  var isRadioButton = (c) => {
8492
- return import_react90.default.isValidElement(c) && c.type === RadioButton2;
8665
+ return import_react93.default.isValidElement(c) && c.type === RadioButton2;
8493
8666
  };
8494
8667
  var RadioButtonGroup = (_a) => {
8495
8668
  var _b = _a, {
@@ -8512,7 +8685,7 @@ var RadioButtonGroup = (_a) => {
8512
8685
  "children"
8513
8686
  ]);
8514
8687
  var _a2;
8515
- const [value, setValue] = import_react90.default.useState((_a2 = _value != null ? _value : defaultValue) != null ? _a2 : "");
8688
+ const [value, setValue] = import_react93.default.useState((_a2 = _value != null ? _value : defaultValue) != null ? _a2 : "");
8516
8689
  const errorMessageId = (0, import_uniqueId8.default)();
8517
8690
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
8518
8691
  const labelControlProps = getLabelControlProps(props);
@@ -8523,14 +8696,14 @@ var RadioButtonGroup = (_a) => {
8523
8696
  setValue(e.target.value);
8524
8697
  onChange == null ? void 0 : onChange(e.target.value);
8525
8698
  };
8526
- const content = import_react90.default.Children.map(children, (c) => {
8699
+ const content = import_react93.default.Children.map(children, (c) => {
8527
8700
  var _a3, _b2, _c;
8528
8701
  if (!isRadioButton(c)) {
8529
8702
  return null;
8530
8703
  }
8531
8704
  const defaultChecked = defaultValue === void 0 ? void 0 : c.props.value === defaultValue;
8532
8705
  const checked = value === void 0 ? void 0 : c.props.value === value;
8533
- return import_react90.default.cloneElement(c, {
8706
+ return import_react93.default.cloneElement(c, {
8534
8707
  name,
8535
8708
  defaultChecked: (_a3 = c.props.defaultChecked) != null ? _a3 : defaultChecked,
8536
8709
  checked: (_b2 = c.props.checked) != null ? _b2 : checked,
@@ -8539,11 +8712,11 @@ var RadioButtonGroup = (_a) => {
8539
8712
  readOnly
8540
8713
  });
8541
8714
  });
8542
- return /* @__PURE__ */ import_react90.default.createElement(LabelControl, __spreadValues(__spreadValues({
8715
+ return /* @__PURE__ */ import_react93.default.createElement(LabelControl, __spreadValues(__spreadValues({
8543
8716
  fieldset: true
8544
- }, labelControlProps), errorProps), cols && /* @__PURE__ */ import_react90.default.createElement(InputGroup, {
8717
+ }, labelControlProps), errorProps), cols && /* @__PURE__ */ import_react93.default.createElement(InputGroup, {
8545
8718
  cols
8546
- }, content), !cols && /* @__PURE__ */ import_react90.default.createElement(Flexbox, {
8719
+ }, content), !cols && /* @__PURE__ */ import_react93.default.createElement(Flexbox, {
8547
8720
  direction,
8548
8721
  alignItems: "flex-start",
8549
8722
  colGap: "8",
@@ -8552,12 +8725,12 @@ var RadioButtonGroup = (_a) => {
8552
8725
  }, content));
8553
8726
  };
8554
8727
  var RadioButtonGroupSkeleton = ({ direction = "row", options = 2 }) => {
8555
- return /* @__PURE__ */ import_react90.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react90.default.createElement("div", {
8728
+ return /* @__PURE__ */ import_react93.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react93.default.createElement("div", {
8556
8729
  className: tw("flex flex-wrap", {
8557
8730
  "flex-row gap-8": direction === "row",
8558
8731
  "flex-col gap-2": direction === "column"
8559
8732
  })
8560
- }, Array.from({ length: options }).map((_, key) => /* @__PURE__ */ import_react90.default.createElement(RadioButton2.Skeleton, {
8733
+ }, Array.from({ length: options }).map((_, key) => /* @__PURE__ */ import_react93.default.createElement(RadioButton2.Skeleton, {
8561
8734
  key
8562
8735
  }))));
8563
8736
  };
@@ -8565,68 +8738,68 @@ RadioButtonGroup.Skeleton = RadioButtonGroupSkeleton;
8565
8738
  RadioButtonGroup.Skeleton.displayName = "RadioButtonGroup.Skeleton";
8566
8739
 
8567
8740
  // src/molecules/Section/Section.tsx
8568
- var import_react92 = __toESM(require("react"));
8741
+ var import_react95 = __toESM(require("react"));
8569
8742
  var import_castArray4 = __toESM(require("lodash/castArray"));
8570
8743
 
8571
8744
  // src/atoms/Section/Section.tsx
8572
- var import_react91 = __toESM(require("react"));
8573
- var Section2 = (_a) => {
8745
+ var import_react94 = __toESM(require("react"));
8746
+ var Section3 = (_a) => {
8574
8747
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
8575
- return /* @__PURE__ */ import_react91.default.createElement(Box, __spreadValues({
8748
+ return /* @__PURE__ */ import_react94.default.createElement(Box, __spreadValues({
8576
8749
  borderColor: "grey-5",
8577
8750
  borderWidth: "1px"
8578
8751
  }, rest), children);
8579
8752
  };
8580
- Section2.Header = (_a) => {
8753
+ Section3.Header = (_a) => {
8581
8754
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8582
- return /* @__PURE__ */ import_react91.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8755
+ return /* @__PURE__ */ import_react94.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8583
8756
  className: classNames(tw("px-6 py-5 flex gap-5 justify-between items-center"), className)
8584
8757
  }), children);
8585
8758
  };
8586
- Section2.TitleContainer = (_a) => {
8759
+ Section3.TitleContainer = (_a) => {
8587
8760
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8588
- return /* @__PURE__ */ import_react91.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8761
+ return /* @__PURE__ */ import_react94.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8589
8762
  className: classNames(tw("flex flex-col grow gap-2"), className)
8590
8763
  }), children);
8591
8764
  };
8592
- Section2.Title = (_a) => {
8765
+ Section3.Title = (_a) => {
8593
8766
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
8594
- return /* @__PURE__ */ import_react91.default.createElement(Typography2.Subheading, __spreadProps(__spreadValues({}, rest), {
8767
+ return /* @__PURE__ */ import_react94.default.createElement(Typography2.Subheading, __spreadProps(__spreadValues({}, rest), {
8595
8768
  color: "black"
8596
8769
  }), children);
8597
8770
  };
8598
- Section2.Subtitle = (_a) => {
8771
+ Section3.Subtitle = (_a) => {
8599
8772
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
8600
- return /* @__PURE__ */ import_react91.default.createElement(Typography2.SmallText, __spreadProps(__spreadValues({}, rest), {
8773
+ return /* @__PURE__ */ import_react94.default.createElement(Typography2.SmallText, __spreadProps(__spreadValues({}, rest), {
8601
8774
  color: "grey-70"
8602
8775
  }), children);
8603
8776
  };
8604
- Section2.Actions = (_a) => {
8777
+ Section3.Actions = (_a) => {
8605
8778
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8606
- return /* @__PURE__ */ import_react91.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8779
+ return /* @__PURE__ */ import_react94.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8607
8780
  className: classNames(tw("flex gap-4 justify-end"), className)
8608
8781
  }), children);
8609
8782
  };
8610
- Section2.Body = (_a) => {
8783
+ Section3.Body = (_a) => {
8611
8784
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
8612
- return /* @__PURE__ */ import_react91.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8785
+ return /* @__PURE__ */ import_react94.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8613
8786
  className: classNames(tw("p-6"), className)
8614
- }), /* @__PURE__ */ import_react91.default.createElement(Typography, {
8787
+ }), /* @__PURE__ */ import_react94.default.createElement(Typography, {
8615
8788
  htmlTag: "div",
8616
8789
  color: "grey-70"
8617
8790
  }, children));
8618
8791
  };
8619
8792
 
8620
8793
  // src/molecules/Section/Section.tsx
8621
- var Section3 = ({ title, subtitle, actions, children }) => /* @__PURE__ */ import_react92.default.createElement(Section2, null, title && /* @__PURE__ */ import_react92.default.createElement(import_react92.default.Fragment, null, /* @__PURE__ */ import_react92.default.createElement(Section2.Header, null, /* @__PURE__ */ import_react92.default.createElement(Section2.TitleContainer, null, /* @__PURE__ */ import_react92.default.createElement(Section2.Title, null, title), subtitle && /* @__PURE__ */ import_react92.default.createElement(Section2.Subtitle, null, subtitle)), /* @__PURE__ */ import_react92.default.createElement(Section2.Actions, null, actions && (0, import_castArray4.default)(actions).filter(Boolean).map((_a) => {
8794
+ var Section4 = ({ title, subtitle, actions, children }) => /* @__PURE__ */ import_react95.default.createElement(Section3, null, title && /* @__PURE__ */ import_react95.default.createElement(import_react95.default.Fragment, null, /* @__PURE__ */ import_react95.default.createElement(Section3.Header, null, /* @__PURE__ */ import_react95.default.createElement(Section3.TitleContainer, null, /* @__PURE__ */ import_react95.default.createElement(Section3.Title, null, title), subtitle && /* @__PURE__ */ import_react95.default.createElement(Section3.Subtitle, null, subtitle)), /* @__PURE__ */ import_react95.default.createElement(Section3.Actions, null, actions && (0, import_castArray4.default)(actions).filter(Boolean).map((_a) => {
8622
8795
  var _b = _a, { text } = _b, action = __objRest(_b, ["text"]);
8623
- return /* @__PURE__ */ import_react92.default.createElement(SecondaryButton, __spreadValues({
8796
+ return /* @__PURE__ */ import_react95.default.createElement(SecondaryButton, __spreadValues({
8624
8797
  key: text
8625
8798
  }, action), text);
8626
- }))), /* @__PURE__ */ import_react92.default.createElement(Divider2, null)), /* @__PURE__ */ import_react92.default.createElement(Section2.Body, null, children));
8799
+ }))), /* @__PURE__ */ import_react95.default.createElement(Divider2, null)), /* @__PURE__ */ import_react95.default.createElement(Section3.Body, null, children));
8627
8800
 
8628
8801
  // src/molecules/SegmentedControl/SegmentedControl.tsx
8629
- var import_react93 = __toESM(require("react"));
8802
+ var import_react96 = __toESM(require("react"));
8630
8803
  var SegmentedControl = (_a) => {
8631
8804
  var _b = _a, {
8632
8805
  children,
@@ -8643,7 +8816,7 @@ var SegmentedControl = (_a) => {
8643
8816
  "selected",
8644
8817
  "className"
8645
8818
  ]);
8646
- return /* @__PURE__ */ import_react93.default.createElement("button", __spreadProps(__spreadValues({
8819
+ return /* @__PURE__ */ import_react96.default.createElement("button", __spreadProps(__spreadValues({
8647
8820
  type: "button"
8648
8821
  }, rest), {
8649
8822
  className: classNames(
@@ -8674,11 +8847,11 @@ var SegmentedControlGroup = (_a) => {
8674
8847
  "border border-grey-20 text-grey-50": variant === "outlined",
8675
8848
  "bg-grey-0": variant === "raised"
8676
8849
  });
8677
- return /* @__PURE__ */ import_react93.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8850
+ return /* @__PURE__ */ import_react96.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8678
8851
  className: classNames(classes2, className)
8679
- }), import_react93.default.Children.map(
8852
+ }), import_react96.default.Children.map(
8680
8853
  children,
8681
- (child) => import_react93.default.cloneElement(child, {
8854
+ (child) => import_react96.default.cloneElement(child, {
8682
8855
  dense,
8683
8856
  variant,
8684
8857
  onClick: () => onChange(child.props.value),
@@ -8716,10 +8889,10 @@ var getCommonClassNames = (dense, selected) => tw(
8716
8889
  );
8717
8890
 
8718
8891
  // src/molecules/Spacing/Spacing.tsx
8719
- var import_react94 = __toESM(require("react"));
8892
+ var import_react97 = __toESM(require("react"));
8720
8893
  var Spacing = (_a) => {
8721
8894
  var _b = _a, { gap, row } = _b, rest = __objRest(_b, ["gap", "row"]);
8722
- return /* @__PURE__ */ import_react94.default.createElement(Box, __spreadProps(__spreadValues({}, rest), {
8895
+ return /* @__PURE__ */ import_react97.default.createElement(Box, __spreadProps(__spreadValues({}, rest), {
8723
8896
  display: "flex",
8724
8897
  flexDirection: row ? "row" : "column",
8725
8898
  gap
@@ -8727,14 +8900,14 @@ var Spacing = (_a) => {
8727
8900
  };
8728
8901
 
8729
8902
  // src/molecules/Stepper/Stepper.tsx
8730
- var import_react96 = __toESM(require("react"));
8903
+ var import_react99 = __toESM(require("react"));
8731
8904
 
8732
8905
  // src/atoms/Stepper/Stepper.tsx
8733
- var import_react95 = __toESM(require("react"));
8906
+ var import_react98 = __toESM(require("react"));
8734
8907
  var import_tick5 = __toESM(require_tick());
8735
8908
  var Stepper = (_a) => {
8736
8909
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
8737
- return /* @__PURE__ */ import_react95.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8910
+ return /* @__PURE__ */ import_react98.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8738
8911
  className: classNames(className)
8739
8912
  }));
8740
8913
  };
@@ -8748,7 +8921,7 @@ var ConnectorContainer = (_a) => {
8748
8921
  "completed",
8749
8922
  "dense"
8750
8923
  ]);
8751
- return /* @__PURE__ */ import_react95.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8924
+ return /* @__PURE__ */ import_react98.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8752
8925
  className: classNames(
8753
8926
  tw("absolute w-full -left-1/2", {
8754
8927
  "top-[3px] px-[14px]": Boolean(dense),
@@ -8760,7 +8933,7 @@ var ConnectorContainer = (_a) => {
8760
8933
  };
8761
8934
  var Connector = (_a) => {
8762
8935
  var _b = _a, { children, className, completed, dense } = _b, rest = __objRest(_b, ["children", "className", "completed", "dense"]);
8763
- return /* @__PURE__ */ import_react95.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8936
+ return /* @__PURE__ */ import_react98.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8764
8937
  className: classNames(
8765
8938
  tw("w-full", {
8766
8939
  "bg-grey-20": !completed,
@@ -8774,7 +8947,7 @@ var Connector = (_a) => {
8774
8947
  };
8775
8948
  var Step = (_a) => {
8776
8949
  var _b = _a, { className, state } = _b, rest = __objRest(_b, ["className", "state"]);
8777
- return /* @__PURE__ */ import_react95.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8950
+ return /* @__PURE__ */ import_react98.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8778
8951
  className: classNames(
8779
8952
  tw("flex flex-col items-center text-grey-90 relative text-center", {
8780
8953
  "text-grey-20": state === "inactive"
@@ -8795,13 +8968,13 @@ var getDenseClassNames = (state) => tw("h-[8px] w-[8px]", {
8795
8968
  });
8796
8969
  var Indicator = (_a) => {
8797
8970
  var _b = _a, { children, className, state, dense } = _b, rest = __objRest(_b, ["children", "className", "state", "dense"]);
8798
- return /* @__PURE__ */ import_react95.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8971
+ return /* @__PURE__ */ import_react98.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
8799
8972
  className: classNames(
8800
8973
  tw("rounded-full flex justify-center items-center mx-2 mb-3"),
8801
8974
  dense ? getDenseClassNames(state) : getClassNames(state),
8802
8975
  className
8803
8976
  )
8804
- }), state === "completed" ? /* @__PURE__ */ import_react95.default.createElement(InlineIcon, {
8977
+ }), state === "completed" ? /* @__PURE__ */ import_react98.default.createElement(InlineIcon, {
8805
8978
  icon: import_tick5.default
8806
8979
  }) : dense ? null : children);
8807
8980
  };
@@ -8812,46 +8985,47 @@ Stepper.ConnectorContainer = ConnectorContainer;
8812
8985
 
8813
8986
  // src/molecules/Stepper/Stepper.tsx
8814
8987
  var Stepper2 = ({ children, activeIndex, dense }) => {
8815
- const steps = import_react96.default.Children.count(children);
8816
- return /* @__PURE__ */ import_react96.default.createElement(Stepper, {
8988
+ const steps = import_react99.default.Children.count(children);
8989
+ return /* @__PURE__ */ import_react99.default.createElement(Stepper, {
8817
8990
  role: "list"
8818
- }, /* @__PURE__ */ import_react96.default.createElement(Template, {
8991
+ }, /* @__PURE__ */ import_react99.default.createElement(Template, {
8819
8992
  columns: steps
8820
- }, import_react96.default.Children.map(children, (child, index) => {
8993
+ }, import_react99.default.Children.map(children, (child, index) => {
8821
8994
  if (!isComponentType(child, Step2)) {
8822
8995
  return new Error("<Stepper> can only have <Stepper.Step> components as children");
8823
8996
  } else {
8824
8997
  const state = index > activeIndex ? "inactive" : index === activeIndex ? "active" : "completed";
8825
- return /* @__PURE__ */ import_react96.default.createElement(Stepper.Step, {
8998
+ return /* @__PURE__ */ import_react99.default.createElement(Stepper.Step, {
8826
8999
  state,
8827
9000
  "aria-current": state === "active" ? "step" : false,
8828
9001
  role: "listitem"
8829
- }, index > 0 && index <= steps && /* @__PURE__ */ import_react96.default.createElement(Stepper.ConnectorContainer, {
9002
+ }, index > 0 && index <= steps && /* @__PURE__ */ import_react99.default.createElement(Stepper.ConnectorContainer, {
8830
9003
  dense
8831
- }, /* @__PURE__ */ import_react96.default.createElement(Stepper.ConnectorContainer.Connector, {
9004
+ }, /* @__PURE__ */ import_react99.default.createElement(Stepper.ConnectorContainer.Connector, {
8832
9005
  completed: state === "completed" || state === "active"
8833
- })), /* @__PURE__ */ import_react96.default.createElement(Stepper.Step.Indicator, {
9006
+ })), /* @__PURE__ */ import_react99.default.createElement(Stepper.Step.Indicator, {
8834
9007
  state,
8835
9008
  dense
8836
9009
  }, index + 1), child.props.children);
8837
9010
  }
8838
9011
  })));
8839
9012
  };
9013
+ Stepper2.displayName = "Stepper";
8840
9014
  var Step2 = () => null;
8841
9015
  Step2.displayName = "Stepper.Step";
8842
9016
  Stepper2.Step = Step2;
8843
9017
 
8844
9018
  // src/molecules/Switch/Switch.tsx
8845
- var import_react98 = __toESM(require("react"));
9019
+ var import_react101 = __toESM(require("react"));
8846
9020
 
8847
9021
  // src/atoms/Switch/Switch.tsx
8848
- var import_react97 = __toESM(require("react"));
8849
- var Switch = import_react97.default.forwardRef(
9022
+ var import_react100 = __toESM(require("react"));
9023
+ var Switch = import_react100.default.forwardRef(
8850
9024
  (_a, ref) => {
8851
9025
  var _b = _a, { id, children, name, disabled = false, readOnly = false } = _b, props = __objRest(_b, ["id", "children", "name", "disabled", "readOnly"]);
8852
- return /* @__PURE__ */ import_react97.default.createElement("span", {
9026
+ return /* @__PURE__ */ import_react100.default.createElement("span", {
8853
9027
  className: tw("relative inline-flex justify-center items-center self-center group")
8854
- }, /* @__PURE__ */ import_react97.default.createElement("input", __spreadProps(__spreadValues({
9028
+ }, /* @__PURE__ */ import_react100.default.createElement("input", __spreadProps(__spreadValues({
8855
9029
  id,
8856
9030
  ref,
8857
9031
  type: "checkbox",
@@ -8870,7 +9044,7 @@ var Switch = import_react97.default.forwardRef(
8870
9044
  ),
8871
9045
  readOnly,
8872
9046
  disabled
8873
- })), /* @__PURE__ */ import_react97.default.createElement("span", {
9047
+ })), /* @__PURE__ */ import_react100.default.createElement("span", {
8874
9048
  className: tw(
8875
9049
  "pointer-events-none rounded-full absolute inline-block transition duration-300 h-4 w-4 transform peer-checked/switch:translate-x-5",
8876
9050
  "bg-white peer-disabled/switch:bg-grey-0 left-2 peer-checked/switch:left-1",
@@ -8883,12 +9057,12 @@ var Switch = import_react97.default.forwardRef(
8883
9057
  );
8884
9058
 
8885
9059
  // src/molecules/Switch/Switch.tsx
8886
- var Switch2 = import_react98.default.forwardRef(
9060
+ var Switch2 = import_react101.default.forwardRef(
8887
9061
  (_a, ref) => {
8888
9062
  var _b = _a, { id, name, caption, readOnly = false, disabled = false, children, "aria-label": ariaLabel } = _b, props = __objRest(_b, ["id", "name", "caption", "readOnly", "disabled", "children", "aria-label"]);
8889
9063
  var _a2;
8890
9064
  const isChecked = (_a2 = props.checked) != null ? _a2 : props.defaultChecked;
8891
- return !readOnly || isChecked ? /* @__PURE__ */ import_react98.default.createElement(ControlLabel, {
9065
+ return !readOnly || isChecked ? /* @__PURE__ */ import_react101.default.createElement(ControlLabel, {
8892
9066
  htmlFor: id,
8893
9067
  label: children,
8894
9068
  "aria-label": ariaLabel,
@@ -8896,7 +9070,7 @@ var Switch2 = import_react98.default.forwardRef(
8896
9070
  readOnly,
8897
9071
  disabled,
8898
9072
  style: { gap: "0 8px" }
8899
- }, !readOnly && /* @__PURE__ */ import_react98.default.createElement(Switch, __spreadProps(__spreadValues({
9073
+ }, !readOnly && /* @__PURE__ */ import_react101.default.createElement(Switch, __spreadProps(__spreadValues({
8900
9074
  id,
8901
9075
  ref,
8902
9076
  name
@@ -8907,12 +9081,12 @@ var Switch2 = import_react98.default.forwardRef(
8907
9081
  }
8908
9082
  );
8909
9083
  Switch2.displayName = "Switch";
8910
- var SwitchSkeleton = () => /* @__PURE__ */ import_react98.default.createElement("div", {
9084
+ var SwitchSkeleton = () => /* @__PURE__ */ import_react101.default.createElement("div", {
8911
9085
  className: tw("flex gap-3")
8912
- }, /* @__PURE__ */ import_react98.default.createElement(Skeleton, {
9086
+ }, /* @__PURE__ */ import_react101.default.createElement(Skeleton, {
8913
9087
  height: 20,
8914
9088
  width: 35
8915
- }), /* @__PURE__ */ import_react98.default.createElement(Skeleton, {
9089
+ }), /* @__PURE__ */ import_react101.default.createElement(Skeleton, {
8916
9090
  height: 20,
8917
9091
  width: 150
8918
9092
  }));
@@ -8920,7 +9094,7 @@ Switch2.Skeleton = SwitchSkeleton;
8920
9094
  Switch2.Skeleton.displayName = "Switch.Skeleton ";
8921
9095
 
8922
9096
  // src/molecules/SwitchGroup/SwitchGroup.tsx
8923
- var import_react99 = __toESM(require("react"));
9097
+ var import_react102 = __toESM(require("react"));
8924
9098
  var import_uniqueId9 = __toESM(require("lodash/uniqueId"));
8925
9099
  var SwitchGroup = (_a) => {
8926
9100
  var _b = _a, {
@@ -8939,7 +9113,7 @@ var SwitchGroup = (_a) => {
8939
9113
  "children"
8940
9114
  ]);
8941
9115
  var _a2;
8942
- const [selectedItems, setSelectedItems] = (0, import_react99.useState)((_a2 = value != null ? value : defaultValue) != null ? _a2 : []);
9116
+ const [selectedItems, setSelectedItems] = (0, import_react102.useState)((_a2 = value != null ? value : defaultValue) != null ? _a2 : []);
8943
9117
  if (value !== void 0 && value !== selectedItems) {
8944
9118
  setSelectedItems(value);
8945
9119
  }
@@ -8952,11 +9126,11 @@ var SwitchGroup = (_a) => {
8952
9126
  setSelectedItems(updated);
8953
9127
  onChange == null ? void 0 : onChange(updated);
8954
9128
  };
8955
- return /* @__PURE__ */ import_react99.default.createElement(LabelControl, __spreadValues(__spreadValues({
9129
+ return /* @__PURE__ */ import_react102.default.createElement(LabelControl, __spreadValues(__spreadValues({
8956
9130
  fieldset: true
8957
- }, labelControlProps), errorProps), /* @__PURE__ */ import_react99.default.createElement(InputGroup, {
9131
+ }, labelControlProps), errorProps), /* @__PURE__ */ import_react102.default.createElement(InputGroup, {
8958
9132
  cols
8959
- }, import_react99.default.Children.map(children, (c) => {
9133
+ }, import_react102.default.Children.map(children, (c) => {
8960
9134
  var _a3, _b2, _c, _d;
8961
9135
  if (!isComponentType(c, Switch2)) {
8962
9136
  return null;
@@ -8964,7 +9138,7 @@ var SwitchGroup = (_a) => {
8964
9138
  const str = (_a3 = c.props.value) == null ? void 0 : _a3.toString();
8965
9139
  const defaultChecked = defaultValue === void 0 ? void 0 : str !== void 0 && defaultValue.includes(str);
8966
9140
  const checked = value === void 0 ? void 0 : str !== void 0 && value.includes(str);
8967
- return import_react99.default.cloneElement(c, {
9141
+ return import_react102.default.cloneElement(c, {
8968
9142
  defaultChecked: (_b2 = c.props.defaultChecked) != null ? _b2 : defaultChecked,
8969
9143
  checked: (_c = c.props.checked) != null ? _c : checked,
8970
9144
  onChange: (_d = c.props.onChange) != null ? _d : handleChange,
@@ -8974,9 +9148,9 @@ var SwitchGroup = (_a) => {
8974
9148
  })));
8975
9149
  };
8976
9150
  var SwitchGroupSkeleton = ({ options = 2 }) => {
8977
- return /* @__PURE__ */ import_react99.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react99.default.createElement("div", {
9151
+ return /* @__PURE__ */ import_react102.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react102.default.createElement("div", {
8978
9152
  className: tw("flex flex-wrap flex-col gap-2")
8979
- }, Array.from({ length: options }).map((_, key) => /* @__PURE__ */ import_react99.default.createElement(Switch2.Skeleton, {
9153
+ }, Array.from({ length: options }).map((_, key) => /* @__PURE__ */ import_react102.default.createElement(Switch2.Skeleton, {
8980
9154
  key
8981
9155
  }))));
8982
9156
  };
@@ -8984,10 +9158,10 @@ SwitchGroup.Skeleton = SwitchGroupSkeleton;
8984
9158
  SwitchGroup.Skeleton.displayName = "SwitchGroup.Skeleton";
8985
9159
 
8986
9160
  // src/molecules/TagLabel/TagLabel.tsx
8987
- var import_react100 = __toESM(require("react"));
9161
+ var import_react103 = __toESM(require("react"));
8988
9162
  var TagLabel = (_a) => {
8989
9163
  var _b = _a, { title, dense = false } = _b, rest = __objRest(_b, ["title", "dense"]);
8990
- return /* @__PURE__ */ import_react100.default.createElement("span", __spreadProps(__spreadValues({}, rest), {
9164
+ return /* @__PURE__ */ import_react103.default.createElement("span", __spreadProps(__spreadValues({}, rest), {
8991
9165
  className: tw("rounded-full text-white bg-primary-70", {
8992
9166
  "py-2 px-4 typography-caption": !dense,
8993
9167
  "py-2 px-3 typography-caption-small": dense
@@ -8996,14 +9170,14 @@ var TagLabel = (_a) => {
8996
9170
  };
8997
9171
 
8998
9172
  // src/molecules/Textarea/Textarea.tsx
8999
- var import_react101 = __toESM(require("react"));
9173
+ var import_react104 = __toESM(require("react"));
9000
9174
  var import_omit16 = __toESM(require("lodash/omit"));
9001
9175
  var import_toString2 = __toESM(require("lodash/toString"));
9002
9176
  var import_uniqueId10 = __toESM(require("lodash/uniqueId"));
9003
- var TextareaBase = import_react101.default.forwardRef(
9177
+ var TextareaBase = import_react104.default.forwardRef(
9004
9178
  (_a, ref) => {
9005
9179
  var _b = _a, { readOnly = false, valid = true } = _b, props = __objRest(_b, ["readOnly", "valid"]);
9006
- return /* @__PURE__ */ import_react101.default.createElement("textarea", __spreadProps(__spreadValues({
9180
+ return /* @__PURE__ */ import_react104.default.createElement("textarea", __spreadProps(__spreadValues({
9007
9181
  ref
9008
9182
  }, props), {
9009
9183
  readOnly,
@@ -9011,23 +9185,23 @@ var TextareaBase = import_react101.default.forwardRef(
9011
9185
  }));
9012
9186
  }
9013
9187
  );
9014
- TextareaBase.Skeleton = () => /* @__PURE__ */ import_react101.default.createElement(Skeleton, {
9188
+ TextareaBase.Skeleton = () => /* @__PURE__ */ import_react104.default.createElement(Skeleton, {
9015
9189
  height: 58
9016
9190
  });
9017
- var Textarea = import_react101.default.forwardRef((props, ref) => {
9191
+ var Textarea = import_react104.default.forwardRef((props, ref) => {
9018
9192
  var _a, _b, _c;
9019
- const [value, setValue] = (0, import_react101.useState)((_b = (_a = props.value) != null ? _a : props.defaultValue) != null ? _b : "");
9020
- const id = (0, import_react101.useRef)((_c = props.id) != null ? _c : `textarea-${(0, import_uniqueId10.default)()}`);
9193
+ const [value, setValue] = (0, import_react104.useState)((_b = (_a = props.value) != null ? _a : props.defaultValue) != null ? _b : "");
9194
+ const id = (0, import_react104.useRef)((_c = props.id) != null ? _c : `textarea-${(0, import_uniqueId10.default)()}`);
9021
9195
  const errorMessageId = (0, import_uniqueId10.default)();
9022
9196
  const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
9023
9197
  const _d = getLabelControlProps(props), { "data-testid": dataTestId } = _d, labelControlProps = __objRest(_d, ["data-testid"]);
9024
9198
  const baseProps = (0, import_omit16.default)(props, Object.keys(labelControlProps));
9025
- return /* @__PURE__ */ import_react101.default.createElement(LabelControl, __spreadValues({
9199
+ return /* @__PURE__ */ import_react104.default.createElement(LabelControl, __spreadValues({
9026
9200
  id: `${id.current}-label`,
9027
9201
  htmlFor: id.current,
9028
9202
  messageId: errorMessageId,
9029
9203
  length: value !== void 0 ? (0, import_toString2.default)(value).length : void 0
9030
- }, labelControlProps), /* @__PURE__ */ import_react101.default.createElement(TextareaBase, __spreadProps(__spreadValues(__spreadValues({
9204
+ }, labelControlProps), /* @__PURE__ */ import_react104.default.createElement(TextareaBase, __spreadProps(__spreadValues(__spreadValues({
9031
9205
  ref
9032
9206
  }, baseProps), errorProps), {
9033
9207
  id: id.current,
@@ -9044,48 +9218,48 @@ var Textarea = import_react101.default.forwardRef((props, ref) => {
9044
9218
  })));
9045
9219
  });
9046
9220
  Textarea.displayName = "Textarea";
9047
- var TextAreaSkeleton = () => /* @__PURE__ */ import_react101.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react101.default.createElement(TextareaBase.Skeleton, null));
9221
+ var TextAreaSkeleton = () => /* @__PURE__ */ import_react104.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react104.default.createElement(TextareaBase.Skeleton, null));
9048
9222
  Textarea.Skeleton = TextAreaSkeleton;
9049
9223
  Textarea.Skeleton.displayName = "Textarea.Skeleton";
9050
9224
 
9051
9225
  // src/molecules/Timeline/Timeline.tsx
9052
- var import_react103 = __toESM(require("react"));
9226
+ var import_react106 = __toESM(require("react"));
9053
9227
 
9054
9228
  // src/atoms/Timeline/Timeline.tsx
9055
- var import_react102 = __toESM(require("react"));
9229
+ var import_react105 = __toESM(require("react"));
9056
9230
  var Timeline = (_a) => {
9057
9231
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
9058
- return /* @__PURE__ */ import_react102.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9232
+ return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9059
9233
  className: classNames(tw("grid grid-cols-[16px_1fr] gap-x-4"), className)
9060
9234
  }));
9061
9235
  };
9062
9236
  var Content2 = (_a) => {
9063
9237
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
9064
- return /* @__PURE__ */ import_react102.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9238
+ return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9065
9239
  className: classNames(tw("pb-6"), className)
9066
9240
  }));
9067
9241
  };
9068
9242
  var Separator2 = (_a) => {
9069
9243
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
9070
- return /* @__PURE__ */ import_react102.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9244
+ return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9071
9245
  className: classNames(tw("flex items-center justify-center h-5 w-5"), className)
9072
9246
  }));
9073
9247
  };
9074
9248
  var LineContainer = (_a) => {
9075
9249
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
9076
- return /* @__PURE__ */ import_react102.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9250
+ return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9077
9251
  className: classNames(tw("flex justify-center py-1"), className)
9078
9252
  }));
9079
9253
  };
9080
9254
  var Line = (_a) => {
9081
9255
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
9082
- return /* @__PURE__ */ import_react102.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9256
+ return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9083
9257
  className: classNames(tw("w-1 bg-grey-5 h-full justify-self-center"), className)
9084
9258
  }));
9085
9259
  };
9086
9260
  var Dot = (_a) => {
9087
9261
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
9088
- return /* @__PURE__ */ import_react102.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9262
+ return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
9089
9263
  className: classNames(tw("bg-grey-30 h-[6px] w-[6px] rounded"), className)
9090
9264
  }));
9091
9265
  };
@@ -9100,52 +9274,52 @@ var import_error4 = __toESM(require_error());
9100
9274
  var import_time = __toESM(require_time());
9101
9275
  var import_warningSign4 = __toESM(require_warningSign());
9102
9276
  var TimelineItem = () => null;
9103
- var Timeline2 = ({ children }) => /* @__PURE__ */ import_react103.default.createElement("div", null, import_react103.default.Children.map(children, (item) => {
9277
+ var Timeline2 = ({ children }) => /* @__PURE__ */ import_react106.default.createElement("div", null, import_react106.default.Children.map(children, (item) => {
9104
9278
  if (!isComponentType(item, TimelineItem)) {
9105
9279
  throw new Error("<Timeline> can only have <Timeline.Item> components as children");
9106
9280
  } else {
9107
9281
  const { props, key } = item;
9108
- return /* @__PURE__ */ import_react103.default.createElement(Timeline, {
9282
+ return /* @__PURE__ */ import_react106.default.createElement(Timeline, {
9109
9283
  key: key != null ? key : props.title
9110
- }, /* @__PURE__ */ import_react103.default.createElement(Timeline.Separator, null, props.variant === "error" ? /* @__PURE__ */ import_react103.default.createElement(Icon, {
9284
+ }, /* @__PURE__ */ import_react106.default.createElement(Timeline.Separator, null, props.variant === "error" ? /* @__PURE__ */ import_react106.default.createElement(Icon, {
9111
9285
  icon: import_error4.default,
9112
9286
  color: "error-30"
9113
- }) : props.variant === "warning" ? /* @__PURE__ */ import_react103.default.createElement(Icon, {
9287
+ }) : props.variant === "warning" ? /* @__PURE__ */ import_react106.default.createElement(Icon, {
9114
9288
  icon: import_warningSign4.default,
9115
9289
  color: "warning-30"
9116
- }) : props.variant === "info" ? /* @__PURE__ */ import_react103.default.createElement(Icon, {
9290
+ }) : props.variant === "info" ? /* @__PURE__ */ import_react106.default.createElement(Icon, {
9117
9291
  icon: import_time.default,
9118
9292
  color: "info-30"
9119
- }) : /* @__PURE__ */ import_react103.default.createElement(Timeline.Separator.Dot, null)), /* @__PURE__ */ import_react103.default.createElement(Typography2.Caption, {
9293
+ }) : /* @__PURE__ */ import_react106.default.createElement(Timeline.Separator.Dot, null)), /* @__PURE__ */ import_react106.default.createElement(Typography2.Caption, {
9120
9294
  color: "grey-50"
9121
- }, props.title), /* @__PURE__ */ import_react103.default.createElement(Timeline.LineContainer, null, /* @__PURE__ */ import_react103.default.createElement(Timeline.LineContainer.Line, null)), /* @__PURE__ */ import_react103.default.createElement(Timeline.Content, null, /* @__PURE__ */ import_react103.default.createElement(Typography2.Small, null, props.children)));
9295
+ }, props.title), /* @__PURE__ */ import_react106.default.createElement(Timeline.LineContainer, null, /* @__PURE__ */ import_react106.default.createElement(Timeline.LineContainer.Line, null)), /* @__PURE__ */ import_react106.default.createElement(Timeline.Content, null, /* @__PURE__ */ import_react106.default.createElement(Typography2.Small, null, props.children)));
9122
9296
  }
9123
9297
  }));
9124
- var TimelineItemSkeleton = () => /* @__PURE__ */ import_react103.default.createElement(Timeline, null, /* @__PURE__ */ import_react103.default.createElement(Timeline.Separator, null, /* @__PURE__ */ import_react103.default.createElement(Skeleton, {
9298
+ var TimelineItemSkeleton = () => /* @__PURE__ */ import_react106.default.createElement(Timeline, null, /* @__PURE__ */ import_react106.default.createElement(Timeline.Separator, null, /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
9125
9299
  width: 6,
9126
9300
  height: 6,
9127
9301
  rounded: true
9128
- })), /* @__PURE__ */ import_react103.default.createElement(Skeleton, {
9302
+ })), /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
9129
9303
  height: 12,
9130
9304
  width: 120
9131
- }), /* @__PURE__ */ import_react103.default.createElement(Timeline.LineContainer, null, /* @__PURE__ */ import_react103.default.createElement(Skeleton, {
9305
+ }), /* @__PURE__ */ import_react106.default.createElement(Timeline.LineContainer, null, /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
9132
9306
  width: 2,
9133
9307
  height: "100%"
9134
- })), /* @__PURE__ */ import_react103.default.createElement(Timeline.Content, null, /* @__PURE__ */ import_react103.default.createElement(Box, {
9308
+ })), /* @__PURE__ */ import_react106.default.createElement(Timeline.Content, null, /* @__PURE__ */ import_react106.default.createElement(Box, {
9135
9309
  display: "flex",
9136
9310
  flexDirection: "column",
9137
9311
  gap: "3"
9138
- }, /* @__PURE__ */ import_react103.default.createElement(Skeleton, {
9312
+ }, /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
9139
9313
  height: 32,
9140
9314
  width: "100%"
9141
- }), /* @__PURE__ */ import_react103.default.createElement(Skeleton, {
9315
+ }), /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
9142
9316
  height: 32,
9143
9317
  width: "73%"
9144
- }), /* @__PURE__ */ import_react103.default.createElement(Skeleton, {
9318
+ }), /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
9145
9319
  height: 32,
9146
9320
  width: "80%"
9147
9321
  }))));
9148
- var TimelineSkeleton = ({ items = 3 }) => /* @__PURE__ */ import_react103.default.createElement("div", null, Array.from({ length: items }).map((_, key) => /* @__PURE__ */ import_react103.default.createElement(TimelineItemSkeleton, {
9322
+ var TimelineSkeleton = ({ items = 3 }) => /* @__PURE__ */ import_react106.default.createElement("div", null, Array.from({ length: items }).map((_, key) => /* @__PURE__ */ import_react106.default.createElement(TimelineItemSkeleton, {
9149
9323
  key
9150
9324
  })));
9151
9325
  Timeline2.Item = TimelineItem;
@@ -9153,9 +9327,9 @@ Timeline2.Skeleton = TimelineSkeleton;
9153
9327
  Timeline2.Skeleton.displayName = "Timeline.Skeleton";
9154
9328
 
9155
9329
  // src/utils/table/useTableSelect.ts
9156
- var import_react104 = __toESM(require("react"));
9330
+ var import_react107 = __toESM(require("react"));
9157
9331
  var useTableSelect = (data, { key }) => {
9158
- const [selected, setSelected] = import_react104.default.useState([]);
9332
+ const [selected, setSelected] = import_react107.default.useState([]);
9159
9333
  const allSelected = selected.length === data.length;
9160
9334
  const isSelected = (dot) => selected.includes(dot[key]);
9161
9335
  const selectAll = () => setSelected(data.map((dot) => dot[key]));
@@ -9180,7 +9354,7 @@ var useTableSelect = (data, { key }) => {
9180
9354
  };
9181
9355
 
9182
9356
  // src/molecules/Pagination/usePagination.tsx
9183
- var import_react105 = require("react");
9357
+ var import_react108 = require("react");
9184
9358
  var import_clamp3 = __toESM(require("lodash/clamp"));
9185
9359
  var initialState = {
9186
9360
  currentPage: 1,
@@ -9188,8 +9362,8 @@ var initialState = {
9188
9362
  };
9189
9363
  var getPageIndex = (currentPage, pageSize) => currentPage === 0 ? 0 : (currentPage - 1) * pageSize;
9190
9364
  var usePagination = (items, options) => {
9191
- const [currentPage, setCurrentPage] = (0, import_react105.useState)((options == null ? void 0 : options.initialPage) || initialState.currentPage);
9192
- const [pageSize, setPageSize] = (0, import_react105.useState)((options == null ? void 0 : options.initialPageSize) || initialState.pageSize);
9365
+ const [currentPage, setCurrentPage] = (0, import_react108.useState)((options == null ? void 0 : options.initialPage) || initialState.currentPage);
9366
+ const [pageSize, setPageSize] = (0, import_react108.useState)((options == null ? void 0 : options.initialPageSize) || initialState.pageSize);
9193
9367
  const totalPages = items.length > 0 ? Math.ceil(items.length / pageSize) : 1;
9194
9368
  const hasPreviousPage = currentPage > 1;
9195
9369
  const hasNextPage = currentPage < totalPages;
@@ -9199,7 +9373,7 @@ var usePagination = (items, options) => {
9199
9373
  setPageSize(pageSize2);
9200
9374
  setCurrentPage((0, import_clamp3.default)((options == null ? void 0 : options.initialPage) || initialState.currentPage, 1, newTotalPages));
9201
9375
  };
9202
- (0, import_react105.useEffect)(() => {
9376
+ (0, import_react108.useEffect)(() => {
9203
9377
  setCurrentPage((0, import_clamp3.default)((options == null ? void 0 : options.initialPage) || initialState.currentPage, 1, totalPages));
9204
9378
  }, [items.length]);
9205
9379
  return [
@@ -9399,6 +9573,7 @@ var system_default = __spreadProps(__spreadValues({}, molecules_exports), {
9399
9573
  MultiSelectBase,
9400
9574
  NativeSelect,
9401
9575
  NativeSelectBase,
9576
+ Navigation,
9402
9577
  OneLineBanner,
9403
9578
  Option,
9404
9579
  PageHeader,