@aivenio/aquarium 1.13.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.
- package/dist/_variables.scss +1 -1
- package/dist/_variables_timescale.scss +1 -1
- package/dist/atoms.cjs +190 -106
- package/dist/atoms.mjs +189 -106
- package/dist/src/atoms/DataList/DataList.d.ts +3 -1
- package/dist/src/atoms/DataList/DataList.js +5 -5
- package/dist/src/atoms/Navigation/Navigation.d.ts +20 -0
- package/dist/src/atoms/Navigation/Navigation.js +49 -0
- package/dist/src/atoms/PageHeader/PageHeader.d.ts +13 -0
- package/dist/src/atoms/PageHeader/PageHeader.js +43 -0
- package/dist/src/atoms/Table/Table.d.ts +4 -3
- package/dist/src/atoms/Table/Table.js +17 -7
- package/dist/src/atoms/index.d.ts +1 -0
- package/dist/src/atoms/index.js +2 -1
- package/dist/src/molecules/Button/Button.d.ts +1 -1
- package/dist/src/molecules/Button/Button.js +4 -4
- package/dist/src/molecules/DataList/DataList.d.ts +3 -3
- package/dist/src/molecules/DataList/DataList.js +19 -6
- package/dist/src/molecules/DataTable/DataTable.d.ts +3 -3
- package/dist/src/molecules/DataTable/DataTable.js +18 -6
- package/dist/src/molecules/DropdownMenu/DropdownMenu.d.ts +11 -5
- package/dist/src/molecules/DropdownMenu/DropdownMenu.js +2 -1
- package/dist/src/molecules/Modal/Modal.d.ts +5 -0
- package/dist/src/molecules/Modal/Modal.js +4 -3
- package/dist/src/molecules/Navigation/Navigation.d.ts +19 -0
- package/dist/src/molecules/Navigation/Navigation.js +27 -0
- package/dist/src/molecules/PageHeader/PageHeader.d.ts +2 -0
- package/dist/src/molecules/PageHeader/PageHeader.js +10 -9
- package/dist/src/molecules/Stepper/Stepper.js +2 -1
- package/dist/src/molecules/index.d.ts +1 -0
- package/dist/src/molecules/index.js +2 -1
- package/dist/src/utils/table/types.d.ts +19 -1
- package/dist/src/utils/table/types.js +2 -1
- package/dist/styles.css +29 -16
- package/dist/styles_timescaledb.css +29 -16
- package/dist/system.cjs +1661 -1453
- package/dist/system.mjs +1219 -1012
- package/dist/tokens.json +4 -4
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/package.json +2 -2
package/dist/system.cjs
CHANGED
@@ -221,7 +221,7 @@ var require_tokens = __commonJS({
|
|
221
221
|
style: {
|
222
222
|
fontFamily: "Inter",
|
223
223
|
fontSize: "16px",
|
224
|
-
fontWeight:
|
224
|
+
fontWeight: 500,
|
225
225
|
fontStyle: "normal",
|
226
226
|
lineHeight: 1.5,
|
227
227
|
textTransform: "none"
|
@@ -247,7 +247,7 @@ var require_tokens = __commonJS({
|
|
247
247
|
style: {
|
248
248
|
fontFamily: "Inter",
|
249
249
|
fontSize: "14px",
|
250
|
-
fontWeight:
|
250
|
+
fontWeight: 500,
|
251
251
|
fontStyle: "normal",
|
252
252
|
lineHeight: 1.42,
|
253
253
|
textTransform: "none"
|
@@ -781,7 +781,7 @@ var require_tokens = __commonJS({
|
|
781
781
|
style: {
|
782
782
|
fontFamily: "Inter",
|
783
783
|
fontSize: "16px",
|
784
|
-
fontWeight:
|
784
|
+
fontWeight: 500,
|
785
785
|
fontStyle: "normal",
|
786
786
|
lineHeight: 1.5,
|
787
787
|
textTransform: "none"
|
@@ -807,7 +807,7 @@ var require_tokens = __commonJS({
|
|
807
807
|
style: {
|
808
808
|
fontFamily: "Inter",
|
809
809
|
fontSize: "14px",
|
810
|
-
fontWeight:
|
810
|
+
fontWeight: 500,
|
811
811
|
fontStyle: "normal",
|
812
812
|
lineHeight: 1.42,
|
813
813
|
textTransform: "none"
|
@@ -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: () =>
|
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: () =>
|
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: () =>
|
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: () =>
|
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: () =>
|
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: () =>
|
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: () =>
|
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: () =>
|
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(
|
3219
|
-
"
|
3220
|
-
|
3221
|
-
|
3222
|
-
|
3223
|
-
|
3224
|
-
|
3225
|
-
|
3226
|
-
|
3227
|
-
|
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,1319 +5372,1391 @@ var Container2 = ({ maxWidth = "xl", children }) => /* @__PURE__ */ import_react
|
|
5351
5372
|
}, children);
|
5352
5373
|
|
5353
5374
|
// src/molecules/DataList/DataList.tsx
|
5354
|
-
var
|
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/
|
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
|
5359
|
-
|
5360
|
-
|
5361
|
-
|
5362
|
-
|
5363
|
-
|
5364
|
-
|
5365
|
-
|
5366
|
-
|
5367
|
-
|
5368
|
-
|
5369
|
-
})
|
5370
|
-
|
5371
|
-
|
5372
|
-
|
5373
|
-
|
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/
|
5389
|
-
var
|
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/
|
5531
|
+
// src/atoms/DropdownMenu/DropdownMenu.tsx
|
5392
5532
|
var import_react50 = __toESM(require("react"));
|
5393
|
-
|
5394
|
-
|
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, {
|
5399
|
-
return /* @__PURE__ */
|
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
|
-
|
5403
|
-
|
5404
|
-
}, props),
|
5405
|
-
|
5406
|
-
|
5407
|
-
|
5408
|
-
|
5409
|
-
|
5410
|
-
|
5411
|
-
|
5412
|
-
|
5413
|
-
|
5414
|
-
|
5415
|
-
|
5416
|
-
|
5417
|
-
|
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
|
-
|
5423
|
-
|
5424
|
-
|
5425
|
-
|
5426
|
-
var
|
5427
|
-
var
|
5428
|
-
|
5429
|
-
|
5430
|
-
|
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
|
-
|
5435
|
-
|
5436
|
-
|
5437
|
-
|
5438
|
-
|
5439
|
-
};
|
5440
|
-
var TableBody = (_a) => {
|
5441
|
-
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
5442
|
-
return /* @__PURE__ */ import_react50.default.createElement("tbody", __spreadValues({}, rest), children);
|
5443
|
-
};
|
5444
|
-
var rowClassNames = tw("children:border-grey-10 children:last:border-b-0 hover:bg-grey-0");
|
5445
|
-
var TableRow = (_a) => {
|
5446
|
-
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
5447
|
-
return /* @__PURE__ */ import_react50.default.createElement("tr", __spreadProps(__spreadValues({}, rest), {
|
5448
|
-
className: classNames(rowClassNames, className)
|
5449
|
-
}), children);
|
5450
|
-
};
|
5451
|
-
var cellClassNames = tw("px-4 border-b typography-small leading-[18px]");
|
5452
|
-
var getBodyCellClassNames = (table = true) => tw("text-grey-70 py-3", {
|
5453
|
-
"h-[50px]": table,
|
5454
|
-
"min-h-[50px]": !table
|
5455
|
-
});
|
5456
|
-
var getAlignClassNames = (align) => tw({ "text-right": align === "right", "text-center": align === "center" });
|
5457
|
-
var getHeadCellClassNames = (sticky = true) => {
|
5458
|
-
const common = tw("py-[14px] text-left bg-white border-grey-40 text-grey-50 font-normal");
|
5459
|
-
return sticky ? classNames(common, tw("sticky top-0 z-10")) : common;
|
5460
|
-
};
|
5461
|
-
var TableCell = (_a) => {
|
5462
|
-
var _b = _a, { children, className, align = "left" } = _b, rest = __objRest(_b, ["children", "className", "align"]);
|
5463
|
-
const headContext = import_react50.default.useContext(HeadContext);
|
5464
|
-
return headContext ? /* @__PURE__ */ import_react50.default.createElement("th", __spreadProps(__spreadValues({}, rest), {
|
5465
|
-
className: classNames(
|
5466
|
-
cellClassNames,
|
5467
|
-
getHeadCellClassNames(headContext.sticky),
|
5468
|
-
getAlignClassNames(align),
|
5469
|
-
className
|
5470
|
-
)
|
5471
|
-
}), children) : /* @__PURE__ */ import_react50.default.createElement("td", __spreadProps(__spreadValues({}, rest), {
|
5472
|
-
className: classNames(cellClassNames, getBodyCellClassNames(), getAlignClassNames(align), className)
|
5473
|
-
}), children);
|
5474
|
-
};
|
5475
|
-
var TableSelectCell = (_a) => {
|
5476
|
-
var _b = _a, { ariaLabel } = _b, props = __objRest(_b, ["ariaLabel"]);
|
5477
|
-
return /* @__PURE__ */ import_react50.default.createElement(Table.Cell, {
|
5478
|
-
className: tw("leading-[0px]")
|
5479
|
-
}, props.type === "radio" ? /* @__PURE__ */ import_react50.default.createElement(RadioButton, __spreadValues({
|
5480
|
-
"aria-label": ariaLabel
|
5481
|
-
}, props)) : /* @__PURE__ */ import_react50.default.createElement(Checkbox, __spreadValues({
|
5482
|
-
"aria-label": ariaLabel
|
5483
|
-
}, props)));
|
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);
|
5484
5608
|
};
|
5485
|
-
|
5486
|
-
|
5487
|
-
|
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));
|
5488
5615
|
};
|
5489
|
-
var
|
5490
|
-
|
5491
|
-
|
5492
|
-
"
|
5493
|
-
|
5494
|
-
|
5495
|
-
|
5496
|
-
|
5497
|
-
|
5498
|
-
|
5499
|
-
|
5500
|
-
|
5501
|
-
|
5502
|
-
})
|
5503
|
-
}, /* @__PURE__ */ import_react50.default.createElement(InlineIcon, {
|
5504
|
-
icon: import_chevronUp2.default,
|
5505
|
-
className: getSortCellIconClassNames(direction === "descending")
|
5506
|
-
}), /* @__PURE__ */ import_react50.default.createElement(InlineIcon, {
|
5507
|
-
icon: import_chevronDown3.default,
|
5508
|
-
className: getSortCellIconClassNames(direction === "ascending")
|
5509
|
-
}))));
|
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;
|
5510
5629
|
};
|
5511
|
-
var Item2 = ({ image, imageAlt, imageSize = 35, title, caption }) => /* @__PURE__ */ import_react50.default.createElement("div", {
|
5512
|
-
className: tw("flex gap-4 items-center")
|
5513
|
-
}, image && /* @__PURE__ */ import_react50.default.createElement("img", {
|
5514
|
-
src: image,
|
5515
|
-
alt: imageAlt,
|
5516
|
-
style: { width: imageSize, height: imageSize }
|
5517
|
-
}), /* @__PURE__ */ import_react50.default.createElement("div", null, title, caption && /* @__PURE__ */ import_react50.default.createElement(Typography2.Caption, null, caption)));
|
5518
|
-
Table.Head = import_react50.default.memo(TableHead);
|
5519
|
-
Table.Body = import_react50.default.memo(TableBody);
|
5520
|
-
Table.Row = import_react50.default.memo(TableRow);
|
5521
|
-
Table.Cell = import_react50.default.memo(TableCell);
|
5522
|
-
Table.SortCell = import_react50.default.memo(TableSortCell);
|
5523
|
-
Table.SelectCell = import_react50.default.memo(TableSelectCell);
|
5524
5630
|
|
5525
|
-
// src/
|
5526
|
-
var
|
5527
|
-
var import_chevronUp3 = __toESM(require_chevronUp());
|
5528
|
-
var getAlignClassNames2 = (align) => tw("flex items-center", {
|
5529
|
-
"justify-end": align === "right",
|
5530
|
-
"justify-center": align === "center",
|
5531
|
-
"justify-start": align === "left" || align === void 0
|
5532
|
-
});
|
5533
|
-
var DataList = (_a) => {
|
5534
|
-
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
5535
|
-
return /* @__PURE__ */ import_react51.default.createElement("div", __spreadValues({}, rest));
|
5536
|
-
};
|
5537
|
-
var HeadCell = (_a) => {
|
5631
|
+
// src/molecules/DropdownMenu/DropdownMenu.tsx
|
5632
|
+
var DropdownMenu2 = (_a) => {
|
5538
5633
|
var _b = _a, {
|
5539
|
-
|
5540
|
-
|
5541
|
-
|
5542
|
-
|
5543
|
-
"
|
5544
|
-
|
5545
|
-
|
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"
|
5546
5659
|
]);
|
5547
|
-
|
5548
|
-
|
5549
|
-
|
5550
|
-
}));
|
5551
|
-
|
5552
|
-
|
5553
|
-
|
5554
|
-
|
5555
|
-
|
5556
|
-
|
5557
|
-
|
5558
|
-
|
5559
|
-
|
5560
|
-
|
5561
|
-
|
5562
|
-
|
5563
|
-
|
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)));
|
5564
5684
|
};
|
5565
|
-
|
5566
|
-
|
5567
|
-
|
5568
|
-
|
5569
|
-
|
5570
|
-
|
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)));
|
5571
5705
|
};
|
5572
|
-
var
|
5573
|
-
|
5574
|
-
|
5575
|
-
|
5576
|
-
|
5577
|
-
|
5578
|
-
|
5579
|
-
|
5580
|
-
|
5581
|
-
|
5582
|
-
|
5583
|
-
}
|
5584
|
-
"
|
5585
|
-
|
5586
|
-
|
5587
|
-
|
5588
|
-
|
5589
|
-
|
5590
|
-
|
5591
|
-
|
5592
|
-
|
5593
|
-
|
5594
|
-
|
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);
|
5595
5764
|
};
|
5596
|
-
|
5597
|
-
|
5598
|
-
|
5599
|
-
|
5600
|
-
|
5601
|
-
|
5602
|
-
|
5603
|
-
|
5604
|
-
return __spreadValues({
|
5605
|
-
|
5606
|
-
},
|
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));
|
5607
5784
|
};
|
5608
|
-
|
5609
|
-
|
5610
|
-
|
5611
|
-
|
5612
|
-
|
5613
|
-
|
5614
|
-
|
5615
|
-
|
5616
|
-
|
5617
|
-
|
5618
|
-
|
5619
|
-
|
5620
|
-
|
5621
|
-
|
5622
|
-
|
5623
|
-
|
5624
|
-
setSort({ column, direction: "descending" });
|
5625
|
-
} else {
|
5626
|
-
setSort(void 0);
|
5627
|
-
}
|
5628
|
-
} else {
|
5629
|
-
setSort({ column, direction: "ascending" });
|
5630
|
-
}
|
5631
|
-
};
|
5632
|
-
return [sort, handleSortClick];
|
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
|
+
})))));
|
5633
5801
|
};
|
5634
|
-
|
5635
|
-
|
5636
|
-
|
5637
|
-
|
5638
|
-
if (!sort) {
|
5639
|
-
return rows;
|
5640
|
-
}
|
5641
|
-
const sortFunction = sort.column.sort;
|
5642
|
-
if (sortFunction) {
|
5643
|
-
return [...rows].sort((a, b) => sortFunction(a, b, sort.direction));
|
5644
|
-
} else if (columnIsFieldColumn(sort.column)) {
|
5645
|
-
return (0, import_orderBy2.default)(rows, [sort.column.field], [toSortDirection(sort.direction)]);
|
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");
|
5646
5806
|
}
|
5647
|
-
return
|
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);
|
5648
5824
|
};
|
5649
5825
|
|
5650
|
-
// src/molecules/
|
5651
|
-
var
|
5826
|
+
// src/molecules/Template/Template.tsx
|
5827
|
+
var import_react52 = __toESM(require("react"));
|
5828
|
+
var Template = ({
|
5829
|
+
children,
|
5652
5830
|
columns,
|
5653
|
-
|
5654
|
-
|
5831
|
+
alignSelf,
|
5832
|
+
alignContent,
|
5833
|
+
alignItems,
|
5834
|
+
justifySelf,
|
5835
|
+
gap,
|
5836
|
+
columnGap,
|
5837
|
+
rowGap,
|
5838
|
+
fullHeight
|
5655
5839
|
}) => {
|
5656
|
-
const
|
5657
|
-
const
|
5658
|
-
|
5659
|
-
|
5660
|
-
|
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
|
5661
5852
|
});
|
5662
|
-
return /* @__PURE__ */
|
5663
|
-
|
5664
|
-
},
|
5665
|
-
(column) => columnIsFieldColumn(column) && column.sortable || column.sort ? /* @__PURE__ */ import_react53.default.createElement(DataList.SortCell, __spreadValues({
|
5666
|
-
direction: sort && sort.column.headerName === column.headerName ? sort.direction : "none",
|
5667
|
-
onClick: () => updateSort(column),
|
5668
|
-
sticky
|
5669
|
-
}, cellProps(column)), column.headerName) : /* @__PURE__ */ import_react53.default.createElement(DataList.HeadCell, __spreadProps(__spreadValues({}, cellProps(column)), {
|
5670
|
-
sticky
|
5671
|
-
}), column.headerName)
|
5672
|
-
), /* @__PURE__ */ import_react53.default.createElement(List, {
|
5673
|
-
items: sortedRows,
|
5674
|
-
renderItem: (row, index) => /* @__PURE__ */ import_react53.default.createElement(DataList.Row, {
|
5675
|
-
key: row.id
|
5676
|
-
}, /* @__PURE__ */ import_react53.default.createElement(List, {
|
5677
|
-
items: columns,
|
5678
|
-
renderItem: (column) => column.type === "status" ? /* @__PURE__ */ import_react53.default.createElement(DataList.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react53.default.createElement(StatusChip, __spreadValues({
|
5679
|
-
dense: true
|
5680
|
-
}, 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({
|
5681
|
-
dense: true
|
5682
|
-
}, 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])
|
5683
|
-
}))
|
5684
|
-
}));
|
5853
|
+
return /* @__PURE__ */ import_react52.default.createElement("div", {
|
5854
|
+
style: __spreadValues({}, styles)
|
5855
|
+
}, children);
|
5685
5856
|
};
|
5686
5857
|
|
5687
|
-
// src/
|
5688
|
-
var import_react56 = __toESM(require("react"));
|
5689
|
-
|
5690
|
-
// src/molecules/Table/Table.tsx
|
5858
|
+
// src/atoms/DataList/DataList.tsx
|
5691
5859
|
var import_react55 = __toESM(require("react"));
|
5692
5860
|
|
5693
|
-
// src/
|
5861
|
+
// src/atoms/Table/Table.tsx
|
5694
5862
|
var import_react54 = __toESM(require("react"));
|
5695
|
-
var useScrollTarget = (callback) => {
|
5696
|
-
const targetRef = import_react54.default.useRef(null);
|
5697
|
-
import_react54.default.useLayoutEffect(() => {
|
5698
|
-
const observer = new IntersectionObserver((entries) => entries[0].isIntersecting && callback && callback(), {
|
5699
|
-
root: null,
|
5700
|
-
rootMargin: `0px 0px 200px 0px`
|
5701
|
-
});
|
5702
|
-
if (targetRef.current) {
|
5703
|
-
observer.observe(targetRef.current);
|
5704
|
-
}
|
5705
|
-
return () => observer.disconnect();
|
5706
|
-
}, []);
|
5707
|
-
return targetRef;
|
5708
|
-
};
|
5709
|
-
|
5710
|
-
// src/molecules/Table/Table.tsx
|
5711
|
-
var Table2 = (_a) => {
|
5712
|
-
var _b = _a, { children, onPrev, onNext } = _b, rest = __objRest(_b, ["children", "onPrev", "onNext"]);
|
5713
|
-
const bottomRef = useScrollTarget(onNext);
|
5714
|
-
const topRef = useScrollTarget(onPrev);
|
5715
|
-
return /* @__PURE__ */ import_react55.default.createElement("div", {
|
5716
|
-
className: "relative w-full"
|
5717
|
-
}, /* @__PURE__ */ import_react55.default.createElement("div", {
|
5718
|
-
ref: topRef,
|
5719
|
-
className: tw("absolute top-0 h-1 w-full left-0 bg-transparent")
|
5720
|
-
}), /* @__PURE__ */ import_react55.default.createElement(Table, __spreadValues({}, rest), children), /* @__PURE__ */ import_react55.default.createElement("div", {
|
5721
|
-
ref: bottomRef,
|
5722
|
-
className: tw("absolute bottom-0 h-1 w-full left-0 bg-transparent")
|
5723
|
-
}));
|
5724
|
-
};
|
5725
|
-
Table2.Head = Table.Head;
|
5726
|
-
Table2.Body = Table.Body;
|
5727
|
-
Table2.Row = Table.Row;
|
5728
|
-
Table2.Cell = Table.Cell;
|
5729
|
-
Table2.SortCell = Table.SortCell;
|
5730
|
-
Table2.SelectCell = Table.SelectCell;
|
5731
|
-
|
5732
|
-
// src/molecules/DataTable/DataTable.tsx
|
5733
|
-
var DataTable = (_a) => {
|
5734
|
-
var _b = _a, {
|
5735
|
-
columns,
|
5736
|
-
rows,
|
5737
|
-
noWrap = false,
|
5738
|
-
layout = "auto",
|
5739
|
-
sticky
|
5740
|
-
} = _b, rest = __objRest(_b, [
|
5741
|
-
"columns",
|
5742
|
-
"rows",
|
5743
|
-
"noWrap",
|
5744
|
-
"layout",
|
5745
|
-
"sticky"
|
5746
|
-
]);
|
5747
|
-
const [sort, updateSort] = useTableSort();
|
5748
|
-
const sortedRows = sortRowsBy(rows, sort);
|
5749
|
-
return /* @__PURE__ */ import_react56.default.createElement(Table2, __spreadProps(__spreadValues({}, rest), {
|
5750
|
-
className: tw({
|
5751
|
-
"whitespace-nowrap": noWrap,
|
5752
|
-
"table-auto": layout === "auto",
|
5753
|
-
"table-fixed": layout === "fixed"
|
5754
|
-
})
|
5755
|
-
}), /* @__PURE__ */ import_react56.default.createElement(Table2.Head, {
|
5756
|
-
sticky
|
5757
|
-
}, columns.map(
|
5758
|
-
(column) => columnIsFieldColumn(column) && column.sortable || column.sort ? /* @__PURE__ */ import_react56.default.createElement(Table2.SortCell, __spreadValues({
|
5759
|
-
direction: sort && sort.column.headerName === column.headerName ? sort.direction : "none",
|
5760
|
-
onClick: () => updateSort(column),
|
5761
|
-
style: { width: column.width },
|
5762
|
-
"aria-label": column.headerInvisible ? column.headerName : void 0
|
5763
|
-
}, cellProps(column)), !column.headerInvisible && column.headerName) : /* @__PURE__ */ import_react56.default.createElement(Table2.Cell, __spreadProps(__spreadValues({}, cellProps(column)), {
|
5764
|
-
style: { width: column.width },
|
5765
|
-
"aria-label": column.headerInvisible ? column.headerName : void 0
|
5766
|
-
}), !column.headerInvisible && column.headerName)
|
5767
|
-
)), /* @__PURE__ */ import_react56.default.createElement(Table2.Body, null, /* @__PURE__ */ import_react56.default.createElement(List, {
|
5768
|
-
items: sortedRows,
|
5769
|
-
renderItem: (row, index) => /* @__PURE__ */ import_react56.default.createElement(Table2.Row, {
|
5770
|
-
key: row.id
|
5771
|
-
}, /* @__PURE__ */ import_react56.default.createElement(List, {
|
5772
|
-
items: columns,
|
5773
|
-
renderItem: (column) => column.type === "status" ? /* @__PURE__ */ import_react56.default.createElement(Table2.Cell, __spreadValues({}, cellProps(column)), /* @__PURE__ */ import_react56.default.createElement(StatusChip, __spreadValues({
|
5774
|
-
dense: true
|
5775
|
-
}, 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({
|
5776
|
-
dense: true
|
5777
|
-
}, 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])
|
5778
|
-
}))
|
5779
|
-
})));
|
5780
|
-
};
|
5781
|
-
|
5782
|
-
// src/molecules/Dialog/Dialog.tsx
|
5783
|
-
var import_react58 = __toESM(require("react"));
|
5784
|
-
var import_dialog = require("@react-aria/dialog");
|
5785
|
-
var import_overlays6 = require("@react-aria/overlays");
|
5786
|
-
var import_utils5 = require("@react-aria/utils");
|
5787
|
-
var import_overlays7 = require("@react-stately/overlays");
|
5788
|
-
var import_omit6 = __toESM(require("lodash/omit"));
|
5789
|
-
|
5790
|
-
// src/atoms/Dialog/Dialog.tsx
|
5791
|
-
var import_confirm2 = __toESM(require_confirm());
|
5792
|
-
var import_error2 = __toESM(require_error());
|
5793
|
-
var import_warningSign2 = __toESM(require_warningSign());
|
5794
|
-
var DIALOG_ICONS_AND_COLORS = {
|
5795
|
-
confirmation: {
|
5796
|
-
icon: import_confirm2.default,
|
5797
|
-
color: "info-70"
|
5798
|
-
},
|
5799
|
-
warning: {
|
5800
|
-
icon: import_warningSign2.default,
|
5801
|
-
color: "secondary-70"
|
5802
|
-
},
|
5803
|
-
danger: {
|
5804
|
-
icon: import_error2.default,
|
5805
|
-
color: "error-70"
|
5806
|
-
}
|
5807
|
-
};
|
5808
5863
|
|
5809
|
-
// src/atoms/
|
5810
|
-
var
|
5811
|
-
var
|
5812
|
-
var _b = _a, { children, className, open } = _b, rest = __objRest(_b, ["children", "className", "open"]);
|
5813
|
-
return open ? /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
5814
|
-
className: classNames(
|
5815
|
-
tw("inset-0 overflow-y-auto z-modal flex justify-center items-center fixed py-7"),
|
5816
|
-
className
|
5817
|
-
)
|
5818
|
-
}), children) : null;
|
5819
|
-
};
|
5820
|
-
Modal.BackDrop = (_a) => {
|
5821
|
-
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
5822
|
-
return /* @__PURE__ */ import_react57.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
5823
|
-
className: classNames(tw("-z-10 fixed min-w-full min-h-full bg-navyBlue-100 opacity-70"), className)
|
5824
|
-
}));
|
5825
|
-
};
|
5826
|
-
Modal.Dialog = import_react57.default.forwardRef(
|
5864
|
+
// src/atoms/RadioButton/RadioButton.tsx
|
5865
|
+
var import_react53 = __toESM(require("react"));
|
5866
|
+
var RadioButton = import_react53.default.forwardRef(
|
5827
5867
|
(_a, ref) => {
|
5828
|
-
var _b = _a, { children,
|
5829
|
-
return /* @__PURE__ */
|
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,
|
5830
5871
|
ref,
|
5831
|
-
|
5832
|
-
|
5872
|
+
type: "radio",
|
5873
|
+
name
|
5874
|
+
}, props), {
|
5833
5875
|
className: classNames(
|
5834
|
-
tw(
|
5835
|
-
|
5836
|
-
"
|
5837
|
-
"
|
5838
|
-
|
5839
|
-
|
5840
|
-
|
5841
|
-
|
5842
|
-
|
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
|
+
}));
|
5843
5889
|
}
|
5844
5890
|
);
|
5845
|
-
|
5846
|
-
|
5847
|
-
|
5848
|
-
|
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
|
5849
5902
|
}), children);
|
5850
5903
|
};
|
5851
|
-
|
5852
|
-
var _b = _a, {
|
5853
|
-
|
5854
|
-
|
5855
|
-
|
5856
|
-
src: backgroundImage != null ? backgroundImage : void 0
|
5857
|
-
}, rest), {
|
5858
|
-
className: classNames(common, tw("object-cover"), className)
|
5859
|
-
})) : /* @__PURE__ */ import_react57.default.createElement("div", {
|
5860
|
-
className: classNames(common, tw("bg-grey-5"), className)
|
5861
|
-
});
|
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)));
|
5862
5909
|
};
|
5863
|
-
|
5864
|
-
var _b = _a, {
|
5865
|
-
return /* @__PURE__ */
|
5866
|
-
className: classNames(tw("absolute top-[20px] right-[28px]"), className)
|
5867
|
-
}));
|
5910
|
+
var TableBody = (_a) => {
|
5911
|
+
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
5912
|
+
return /* @__PURE__ */ import_react54.default.createElement("tbody", __spreadValues({}, rest), children);
|
5868
5913
|
};
|
5869
|
-
|
5914
|
+
var rowClassNames = tw("children:border-grey-10 group children:last:border-b-0 hover:bg-grey-0");
|
5915
|
+
var TableRow = (_a) => {
|
5870
5916
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
5871
|
-
return /* @__PURE__ */
|
5872
|
-
|
5873
|
-
|
5874
|
-
color: "grey-90",
|
5875
|
-
className: classNames(tw("leading-none"), className)
|
5876
|
-
}, rest), children);
|
5917
|
+
return /* @__PURE__ */ import_react54.default.createElement("tr", __spreadProps(__spreadValues({}, rest), {
|
5918
|
+
className: classNames(rowClassNames, className)
|
5919
|
+
}), children);
|
5877
5920
|
};
|
5878
|
-
|
5879
|
-
|
5880
|
-
|
5881
|
-
|
5882
|
-
|
5883
|
-
|
5921
|
+
var cellClassNames = tw("px-4 border-b typography-small leading-[18px]");
|
5922
|
+
var getBodyCellClassNames = (table = true, stickyColumn) => tw("text-grey-70 py-3", {
|
5923
|
+
"h-[50px]": table,
|
5924
|
+
"min-h-[50px]": !table,
|
5925
|
+
"sticky z-10 bg-white group-hover:bg-grey-0": Boolean(stickyColumn),
|
5926
|
+
"left-0": stickyColumn === "left",
|
5927
|
+
"right-0": stickyColumn === "right"
|
5928
|
+
});
|
5929
|
+
var getAlignClassNames = (align) => tw({ "text-right": align === "right", "text-center": align === "center" });
|
5930
|
+
var getHeadCellClassNames = (sticky = true, stickyColumn) => {
|
5931
|
+
const common = tw("py-[14px] text-left bg-white border-grey-40 text-grey-50 font-normal");
|
5932
|
+
return sticky ? classNames(
|
5933
|
+
common,
|
5934
|
+
tw("sticky top-0", {
|
5935
|
+
"z-10": !stickyColumn,
|
5936
|
+
"z-20": Boolean(stickyColumn),
|
5937
|
+
"left-0": stickyColumn === "left",
|
5938
|
+
"right-0": stickyColumn === "right"
|
5939
|
+
})
|
5940
|
+
) : common;
|
5884
5941
|
};
|
5885
|
-
|
5886
|
-
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
5887
|
-
|
5888
|
-
|
5942
|
+
var TableCell = (_a) => {
|
5943
|
+
var _b = _a, { children, className, stickyColumn, align = "left" } = _b, rest = __objRest(_b, ["children", "className", "stickyColumn", "align"]);
|
5944
|
+
const headContext = import_react54.default.useContext(HeadContext);
|
5945
|
+
return headContext ? /* @__PURE__ */ import_react54.default.createElement("th", __spreadProps(__spreadValues({}, rest), {
|
5946
|
+
className: classNames(
|
5947
|
+
cellClassNames,
|
5948
|
+
getHeadCellClassNames(headContext.sticky, stickyColumn),
|
5949
|
+
getAlignClassNames(align),
|
5950
|
+
className
|
5951
|
+
)
|
5952
|
+
}), children) : /* @__PURE__ */ import_react54.default.createElement("td", __spreadProps(__spreadValues({}, rest), {
|
5953
|
+
className: classNames(
|
5954
|
+
cellClassNames,
|
5955
|
+
getBodyCellClassNames(true, stickyColumn),
|
5956
|
+
getAlignClassNames(align),
|
5957
|
+
className
|
5958
|
+
)
|
5889
5959
|
}), children);
|
5890
5960
|
};
|
5891
|
-
|
5892
|
-
var _b = _a, {
|
5893
|
-
return /* @__PURE__ */
|
5894
|
-
className:
|
5895
|
-
|
5896
|
-
|
5961
|
+
var TableSelectCell = (_a) => {
|
5962
|
+
var _b = _a, { ariaLabel } = _b, props = __objRest(_b, ["ariaLabel"]);
|
5963
|
+
return /* @__PURE__ */ import_react54.default.createElement(Table.Cell, {
|
5964
|
+
className: tw("leading-[0px]")
|
5965
|
+
}, props.type === "radio" ? /* @__PURE__ */ import_react54.default.createElement(RadioButton, __spreadValues({
|
5966
|
+
"aria-label": ariaLabel
|
5967
|
+
}, props)) : /* @__PURE__ */ import_react54.default.createElement(Checkbox, __spreadValues({
|
5968
|
+
"aria-label": ariaLabel
|
5969
|
+
}, props)));
|
5897
5970
|
};
|
5898
|
-
|
5899
|
-
|
5900
|
-
return
|
5901
|
-
className: classNames(tw("px-7 py-6"), className)
|
5902
|
-
}), children);
|
5971
|
+
var getSortCellButtonClassNames = (align) => tw("group flex items-center gap-x-4 text-grey-50", { "flex-row-reverse": align === "right" });
|
5972
|
+
var getSortCellIconClassNames = (active) => {
|
5973
|
+
return tw("text-[9px]", active ? "text-grey-70" : "text-grey-30");
|
5903
5974
|
};
|
5904
|
-
|
5905
|
-
var _b = _a, { children,
|
5906
|
-
return /* @__PURE__ */
|
5907
|
-
|
5908
|
-
}),
|
5975
|
+
var TableSortCell = (_a) => {
|
5976
|
+
var _b = _a, { children, direction = "none", onClick } = _b, rest = __objRest(_b, ["children", "direction", "onClick"]);
|
5977
|
+
return /* @__PURE__ */ import_react54.default.createElement(Table.Cell, __spreadProps(__spreadValues({}, rest), {
|
5978
|
+
"aria-sort": direction
|
5979
|
+
}), /* @__PURE__ */ import_react54.default.createElement("span", {
|
5980
|
+
className: getSortCellButtonClassNames(rest.align),
|
5981
|
+
role: "button",
|
5982
|
+
tabIndex: -1,
|
5983
|
+
onClick
|
5984
|
+
}, children, /* @__PURE__ */ import_react54.default.createElement("div", {
|
5985
|
+
"data-sort-icons": true,
|
5986
|
+
className: tw("flex flex-col", {
|
5987
|
+
"invisible group-hover:visible": direction === "none"
|
5988
|
+
})
|
5989
|
+
}, /* @__PURE__ */ import_react54.default.createElement(InlineIcon, {
|
5990
|
+
icon: import_chevronUp2.default,
|
5991
|
+
className: getSortCellIconClassNames(direction === "descending")
|
5992
|
+
}), /* @__PURE__ */ import_react54.default.createElement(InlineIcon, {
|
5993
|
+
icon: import_chevronDown3.default,
|
5994
|
+
className: getSortCellIconClassNames(direction === "ascending")
|
5995
|
+
}))));
|
5909
5996
|
};
|
5997
|
+
var Item4 = ({ image, imageAlt, imageSize = 35, title, caption }) => /* @__PURE__ */ import_react54.default.createElement("div", {
|
5998
|
+
className: tw("flex gap-4 items-center")
|
5999
|
+
}, image && /* @__PURE__ */ import_react54.default.createElement("img", {
|
6000
|
+
src: image,
|
6001
|
+
alt: imageAlt,
|
6002
|
+
style: { width: imageSize, height: imageSize }
|
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);
|
5910
6010
|
|
5911
|
-
// src/
|
5912
|
-
var
|
5913
|
-
|
5914
|
-
|
5915
|
-
|
5916
|
-
|
5917
|
-
|
5918
|
-
|
5919
|
-
|
5920
|
-
|
5921
|
-
|
5922
|
-
ref,
|
5923
|
-
size: "sm"
|
5924
|
-
}, modalProps), /* @__PURE__ */ import_react58.default.createElement(DialogWrapper, __spreadValues({}, props)))));
|
6011
|
+
// src/atoms/DataList/DataList.tsx
|
6012
|
+
var import_chevronDown4 = __toESM(require_chevronDown());
|
6013
|
+
var import_chevronUp3 = __toESM(require_chevronUp());
|
6014
|
+
var getAlignClassNames2 = (align) => tw("flex items-center", {
|
6015
|
+
"justify-end": align === "right",
|
6016
|
+
"justify-center": align === "center",
|
6017
|
+
"justify-start": align === "left" || align === void 0
|
6018
|
+
});
|
6019
|
+
var DataList = (_a) => {
|
6020
|
+
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
6021
|
+
return /* @__PURE__ */ import_react55.default.createElement("div", __spreadValues({}, rest));
|
5925
6022
|
};
|
5926
|
-
var
|
5927
|
-
|
5928
|
-
|
5929
|
-
|
5930
|
-
|
5931
|
-
|
5932
|
-
}
|
5933
|
-
|
5934
|
-
|
5935
|
-
|
5936
|
-
|
5937
|
-
|
5938
|
-
|
5939
|
-
|
5940
|
-
|
5941
|
-
|
5942
|
-
|
5943
|
-
|
5944
|
-
|
5945
|
-
|
5946
|
-
|
5947
|
-
fontSize: 20
|
5948
|
-
}), /* @__PURE__ */ import_react58.default.createElement(Modal.Title, {
|
5949
|
-
id: labelledBy,
|
5950
|
-
variant: "large-strong",
|
5951
|
-
color: DIALOG_ICONS_AND_COLORS[type].color
|
5952
|
-
}, title)), /* @__PURE__ */ import_react58.default.createElement(Modal.Body, {
|
5953
|
-
id: describedBy
|
5954
|
-
}, 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({
|
5955
|
-
key: secondaryAction.text
|
5956
|
-
}, (0, import_omit6.default)(secondaryAction, "text")), secondaryAction.text), /* @__PURE__ */ import_react58.default.createElement(SecondaryButton, __spreadValues({
|
5957
|
-
key: primaryAction.text
|
5958
|
-
}, (0, import_omit6.default)(primaryAction, "text")), primaryAction.text))));
|
6023
|
+
var HeadCell = (_a) => {
|
6024
|
+
var _b = _a, {
|
6025
|
+
className,
|
6026
|
+
sticky,
|
6027
|
+
align,
|
6028
|
+
stickyColumn
|
6029
|
+
} = _b, rest = __objRest(_b, [
|
6030
|
+
"className",
|
6031
|
+
"sticky",
|
6032
|
+
"align",
|
6033
|
+
"stickyColumn"
|
6034
|
+
]);
|
6035
|
+
return /* @__PURE__ */ import_react55.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
6036
|
+
role: "cell",
|
6037
|
+
className: classNames(
|
6038
|
+
cellClassNames,
|
6039
|
+
getHeadCellClassNames(sticky, stickyColumn),
|
6040
|
+
getAlignClassNames2(align),
|
6041
|
+
className
|
6042
|
+
)
|
6043
|
+
}));
|
5959
6044
|
};
|
5960
|
-
|
5961
|
-
|
5962
|
-
|
5963
|
-
|
5964
|
-
|
5965
|
-
|
5966
|
-
|
5967
|
-
|
5968
|
-
|
5969
|
-
|
5970
|
-
|
5971
|
-
|
5972
|
-
|
5973
|
-
|
5974
|
-
|
5975
|
-
|
5976
|
-
|
5977
|
-
|
5978
|
-
|
5979
|
-
}
|
6045
|
+
var Cell = (_a) => {
|
6046
|
+
var _b = _a, {
|
6047
|
+
className,
|
6048
|
+
align,
|
6049
|
+
stickyColumn
|
6050
|
+
} = _b, rest = __objRest(_b, [
|
6051
|
+
"className",
|
6052
|
+
"align",
|
6053
|
+
"stickyColumn"
|
6054
|
+
]);
|
6055
|
+
return /* @__PURE__ */ import_react55.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
6056
|
+
role: "cell",
|
6057
|
+
className: classNames(
|
6058
|
+
cellClassNames,
|
6059
|
+
getBodyCellClassNames(false, stickyColumn),
|
6060
|
+
getAlignClassNames2(align),
|
6061
|
+
tw("border-grey-10 group-hover:bg-grey-0 group-last:border-b-0"),
|
6062
|
+
className
|
6063
|
+
)
|
6064
|
+
}));
|
5980
6065
|
};
|
5981
|
-
var
|
5982
|
-
var _b = _a, {
|
5983
|
-
|
5984
|
-
|
5985
|
-
|
5986
|
-
"block w-full": direction === "horizontal",
|
5987
|
-
"inline-block h-full": direction === "vertical"
|
5988
|
-
})
|
6066
|
+
var Row = (_a) => {
|
6067
|
+
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
6068
|
+
return /* @__PURE__ */ import_react55.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
6069
|
+
className: classNames(tw("contents group"), className),
|
6070
|
+
role: "row"
|
5989
6071
|
}));
|
5990
6072
|
};
|
5991
|
-
|
5992
|
-
|
5993
|
-
|
5994
|
-
|
5995
|
-
|
5996
|
-
|
5997
|
-
|
5998
|
-
|
5999
|
-
|
6000
|
-
|
6001
|
-
|
6002
|
-
|
6003
|
-
|
6004
|
-
|
6005
|
-
|
6006
|
-
|
6007
|
-
|
6008
|
-
|
6009
|
-
|
6010
|
-
},
|
6011
|
-
|
6012
|
-
|
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"
|
6088
|
+
})
|
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
|
+
}))));
|
6013
6096
|
};
|
6097
|
+
DataList.HeadCell = HeadCell;
|
6098
|
+
DataList.SortCell = SortCell;
|
6099
|
+
DataList.Cell = Cell;
|
6100
|
+
DataList.Row = Row;
|
6014
6101
|
|
6015
|
-
// src/
|
6016
|
-
var
|
6017
|
-
var
|
6018
|
-
|
6019
|
-
|
6020
|
-
|
6021
|
-
throw new Error("PopoverContext was used outside of provider.");
|
6022
|
-
}
|
6023
|
-
return ctx;
|
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);
|
6024
6108
|
};
|
6025
6109
|
|
6026
|
-
// src/
|
6027
|
-
var
|
6028
|
-
|
6029
|
-
|
6030
|
-
|
6031
|
-
|
6032
|
-
|
6033
|
-
|
6034
|
-
|
6035
|
-
|
6036
|
-
|
6037
|
-
|
6038
|
-
|
6039
|
-
const
|
6040
|
-
|
6041
|
-
|
6042
|
-
|
6043
|
-
|
6044
|
-
|
6045
|
-
|
6046
|
-
|
6047
|
-
|
6048
|
-
return /* @__PURE__ */ import_react62.default.createElement(import_interactions2.PressResponder, __spreadValues({
|
6049
|
-
ref: triggerRef
|
6050
|
-
}, triggerProps), /* @__PURE__ */ import_react62.default.createElement(PopoverTriggerWrapper, {
|
6051
|
-
"data-testid": props["data-testid"],
|
6052
|
-
"aria-controls": id
|
6053
|
-
}, child.props.children));
|
6054
|
-
}
|
6055
|
-
if (isComponentType(child, Popover2.Panel)) {
|
6056
|
-
return state.isOpen && /* @__PURE__ */ import_react62.default.createElement(PopoverOverlay, __spreadValues({
|
6057
|
-
triggerRef: targetRef != null ? targetRef : triggerRef,
|
6058
|
-
state,
|
6059
|
-
placement,
|
6060
|
-
isNonModal: !containFocus,
|
6061
|
-
autoFocus: !containFocus,
|
6062
|
-
isKeyboardDismissDisabled,
|
6063
|
-
className: child.props.className,
|
6064
|
-
offset,
|
6065
|
-
crossOffset,
|
6066
|
-
shouldFlip
|
6067
|
-
}, overlayProps), containFocus ? /* @__PURE__ */ import_react62.default.createElement(Dialog2, null, child.props.children) : child.props.children);
|
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);
|
6118
|
+
|
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" });
|
6068
6132
|
}
|
6069
|
-
throw new Error("Invalid children element type");
|
6070
|
-
}));
|
6071
|
-
};
|
6072
|
-
var Trigger = () => null;
|
6073
|
-
Trigger.displayName = "Popover.Trigger";
|
6074
|
-
Popover2.Trigger = Trigger;
|
6075
|
-
var Panel = () => null;
|
6076
|
-
Panel.displayName = "Popover.Panel";
|
6077
|
-
Popover2.Panel = Panel;
|
6078
|
-
var asPopoverButton = (Component, displayName) => {
|
6079
|
-
const PopoverButton2 = (props) => {
|
6080
|
-
const { onClick } = props;
|
6081
|
-
const { state } = usePopoverContext();
|
6082
|
-
const handleClick = (e) => {
|
6083
|
-
state.close();
|
6084
|
-
onClick == null ? void 0 : onClick(e);
|
6085
|
-
};
|
6086
|
-
return /* @__PURE__ */ import_react62.default.createElement(Component, __spreadProps(__spreadValues({}, props), {
|
6087
|
-
onClick: handleClick
|
6088
|
-
}));
|
6089
6133
|
};
|
6090
|
-
|
6091
|
-
return PopoverButton2;
|
6092
|
-
};
|
6093
|
-
var PopoverButton = asPopoverButton(Button, "PopoverButton");
|
6094
|
-
Popover2.Button = PopoverButton;
|
6095
|
-
var PopoverTriggerWrapper = (_a) => {
|
6096
|
-
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
6097
|
-
var _a2;
|
6098
|
-
const ref = (0, import_react62.useRef)(null);
|
6099
|
-
const trigger = import_react62.default.Children.only(children);
|
6100
|
-
const { pressProps } = (0, import_interactions2.usePress)(__spreadProps(__spreadValues({}, rest), { ref }));
|
6101
|
-
return import_react62.default.cloneElement(trigger, __spreadProps(__spreadValues({
|
6102
|
-
"ref": ref
|
6103
|
-
}, (0, import_utils6.mergeProps)(pressProps, trigger.props)), {
|
6104
|
-
"aria-controls": (_a2 = rest["aria-controls"]) != null ? _a2 : pressProps["aria-controls"]
|
6105
|
-
}));
|
6134
|
+
return [sort, handleSortClick];
|
6106
6135
|
};
|
6107
6136
|
|
6108
|
-
// src/
|
6109
|
-
var
|
6110
|
-
|
6111
|
-
|
6112
|
-
|
6113
|
-
}
|
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;
|
6114
6150
|
};
|
6115
|
-
|
6116
|
-
|
6117
|
-
|
6118
|
-
|
6119
|
-
|
6120
|
-
|
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
|
6121
6160
|
}) => {
|
6122
|
-
const
|
6123
|
-
|
6124
|
-
|
6125
|
-
|
6126
|
-
|
6127
|
-
|
6128
|
-
|
6129
|
-
|
6130
|
-
return /* @__PURE__ */ import_react63.default.createElement("div", {
|
6131
|
-
style: { minWidth: "250px" },
|
6132
|
-
className: tw("py-3 bg-white")
|
6133
|
-
}, !!title && /* @__PURE__ */ import_react63.default.createElement("div", {
|
6134
|
-
className: tw("px-4 py-4 text-left text-grey-100 typography-default-strong")
|
6135
|
-
}, title), /* @__PURE__ */ import_react63.default.createElement("ol", {
|
6136
|
-
role: "menu",
|
6137
|
-
ref: menuRef,
|
6138
|
-
id: contentId,
|
6139
|
-
"aria-labelledby": triggerId
|
6140
|
-
}, import_react63.default.Children.map(children, (child) => {
|
6141
|
-
return import_react63.default.cloneElement(child, { setClose });
|
6142
|
-
})));
|
6143
|
-
};
|
6144
|
-
var DropdownItem = (_a) => {
|
6145
|
-
var _b = _a, {
|
6146
|
-
children,
|
6147
|
-
disabled = false,
|
6148
|
-
tooltip,
|
6149
|
-
tooltipPlacement,
|
6150
|
-
color = "default",
|
6151
|
-
onSelect,
|
6152
|
-
setClose = () => void 0
|
6153
|
-
} = _b, props = __objRest(_b, [
|
6154
|
-
"children",
|
6155
|
-
"disabled",
|
6156
|
-
"tooltip",
|
6157
|
-
"tooltipPlacement",
|
6158
|
-
"color",
|
6159
|
-
"onSelect",
|
6160
|
-
"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
|
6161
6169
|
]);
|
6162
|
-
|
6163
|
-
|
6164
|
-
|
6165
|
-
|
6166
|
-
|
6167
|
-
|
6168
|
-
|
6169
|
-
|
6170
|
-
|
6171
|
-
|
6172
|
-
|
6173
|
-
|
6174
|
-
|
6175
|
-
|
6176
|
-
|
6177
|
-
|
6178
|
-
|
6179
|
-
}
|
6180
|
-
|
6181
|
-
|
6182
|
-
|
6183
|
-
|
6184
|
-
|
6185
|
-
|
6186
|
-
}
|
6187
|
-
|
6188
|
-
}
|
6189
|
-
|
6190
|
-
|
6191
|
-
|
6192
|
-
|
6193
|
-
|
6194
|
-
|
6195
|
-
};
|
6196
|
-
const itemContent = /* @__PURE__ */ import_react63.default.createElement("div", {
|
6197
|
-
className: tw("py-3 px-4")
|
6198
|
-
}, children);
|
6199
|
-
return /* @__PURE__ */ import_react63.default.createElement("li", __spreadProps(__spreadValues({
|
6200
|
-
role: "menuitem",
|
6201
|
-
tabIndex: -1,
|
6202
|
-
onClick: handleClick,
|
6203
|
-
onKeyDown: handleKeyDown
|
6204
|
-
}, props), {
|
6205
|
-
className: tw("typography-small flex items-center focus:ring-0", {
|
6206
|
-
"text-grey-70 cursor-pointer hover:bg-grey-0": !disabled,
|
6207
|
-
"text-grey-10 cursor-not-allowed": disabled,
|
6208
|
-
"text-primary-70 hover:text-primary-80": color === "danger" && !disabled
|
6209
|
-
})
|
6210
|
-
}), tooltip ? /* @__PURE__ */ import_react63.default.createElement(Tooltip, {
|
6211
|
-
content: tooltip,
|
6212
|
-
placement: tooltipPlacement,
|
6213
|
-
inline: false
|
6214
|
-
}, /* @__PURE__ */ import_react63.default.createElement("div", {
|
6215
|
-
tabIndex: 0,
|
6216
|
-
className: tw("grow")
|
6217
|
-
}, 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
|
+
}));
|
6218
6203
|
};
|
6219
|
-
Dropdown.Menu = DropdownMenu;
|
6220
|
-
Dropdown.Item = DropdownItem;
|
6221
6204
|
|
6222
|
-
// src/molecules/
|
6223
|
-
var
|
6224
|
-
var
|
6225
|
-
var
|
6226
|
-
var import_menu = require("@react-aria/menu");
|
6227
|
-
var import_separator = require("@react-aria/separator");
|
6228
|
-
var import_utils8 = require("@react-aria/utils");
|
6229
|
-
var import_collections = require("@react-stately/collections");
|
6230
|
-
var import_menu2 = require("@react-stately/menu");
|
6231
|
-
var import_tree = require("@react-stately/tree");
|
6232
|
-
|
6233
|
-
// src/molecules/Input/Input.tsx
|
6234
|
-
var import_react65 = __toESM(require("react"));
|
6235
|
-
var import_omit7 = __toESM(require("lodash/omit"));
|
6236
|
-
var import_toString = __toESM(require("lodash/toString"));
|
6237
|
-
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"));
|
6238
6209
|
|
6239
|
-
// src/
|
6240
|
-
var
|
6241
|
-
var import_cross4 = __toESM(require_cross());
|
6242
|
-
var import_error3 = __toESM(require_error());
|
6243
|
-
var import_search2 = __toESM(require_search());
|
6244
|
-
var import_tick3 = __toESM(require_tick());
|
6245
|
-
var InputAdornment = ({ placement = "right", className, dense, children }) => {
|
6246
|
-
return /* @__PURE__ */ import_react64.default.createElement("span", {
|
6247
|
-
className: classNames(className, "absolute inset-y-0 grow-0 text-grey-40 flex items-center mx-3", {
|
6248
|
-
"right-0": placement === "right",
|
6249
|
-
"left-0": placement === "left",
|
6250
|
-
"typography-small": dense,
|
6251
|
-
"typography-default-strong": !dense
|
6252
|
-
})
|
6253
|
-
}, /* @__PURE__ */ import_react64.default.createElement(Flexbox, {
|
6254
|
-
gap: "3",
|
6255
|
-
wrap: "wrap"
|
6256
|
-
}, children));
|
6257
|
-
};
|
6258
|
-
var SearchIcon = ({ onClick }) => /* @__PURE__ */ import_react64.default.createElement(Icon, {
|
6259
|
-
icon: import_search2.default,
|
6260
|
-
color: "grey-30",
|
6261
|
-
"data-testid": "icon-search",
|
6262
|
-
onClick
|
6263
|
-
});
|
6264
|
-
var ResetIcon = ({ onClick }) => /* @__PURE__ */ import_react64.default.createElement(Icon, {
|
6265
|
-
className: "hover:cursor-pointer",
|
6266
|
-
icon: import_cross4.default,
|
6267
|
-
color: "grey-30",
|
6268
|
-
"data-testid": "icon-reset",
|
6269
|
-
onClick
|
6270
|
-
});
|
6210
|
+
// src/molecules/Table/Table.tsx
|
6211
|
+
var import_react59 = __toESM(require("react"));
|
6271
6212
|
|
6272
|
-
// src/
|
6273
|
-
var
|
6274
|
-
|
6275
|
-
|
6276
|
-
|
6277
|
-
|
6278
|
-
|
6279
|
-
|
6280
|
-
|
6281
|
-
|
6282
|
-
|
6283
|
-
readOnly = false
|
6284
|
-
} = _b, props = __objRest(_b, [
|
6285
|
-
"type",
|
6286
|
-
"maxLength",
|
6287
|
-
"valid",
|
6288
|
-
"required",
|
6289
|
-
"endAdornment",
|
6290
|
-
"disabled",
|
6291
|
-
"readOnly"
|
6292
|
-
]);
|
6293
|
-
var _a2;
|
6294
|
-
const inputRef = import_react65.default.useRef(null);
|
6295
|
-
(0, import_react65.useImperativeHandle)(ref, () => inputRef.current);
|
6296
|
-
const handleReset = () => {
|
6297
|
-
var _a3;
|
6298
|
-
const el = inputRef.current;
|
6299
|
-
if (el) {
|
6300
|
-
const lastValue = el.value;
|
6301
|
-
el.value = "";
|
6302
|
-
(_a3 = el._valueTracker) == null ? void 0 : _a3.setValue(lastValue);
|
6303
|
-
el.dispatchEvent(new Event("change", { bubbles: true }));
|
6304
|
-
el.focus();
|
6305
|
-
}
|
6306
|
-
};
|
6307
|
-
return /* @__PURE__ */ import_react65.default.createElement("span", {
|
6308
|
-
className: tw("relative block")
|
6309
|
-
}, opts.adornment && /* @__PURE__ */ import_react65.default.createElement(InputAdornment, {
|
6310
|
-
placement: "left"
|
6311
|
-
}, opts.adornment), /* @__PURE__ */ import_react65.default.createElement("input", __spreadProps(__spreadValues({
|
6312
|
-
ref: inputRef,
|
6313
|
-
type
|
6314
|
-
}, props), {
|
6315
|
-
disabled,
|
6316
|
-
maxLength,
|
6317
|
-
required,
|
6318
|
-
readOnly,
|
6319
|
-
className: classNames(
|
6320
|
-
{
|
6321
|
-
"pl-7": opts.adornment
|
6322
|
-
},
|
6323
|
-
getCommonInputStyles({ readOnly, valid }),
|
6324
|
-
props.className
|
6325
|
-
)
|
6326
|
-
})), 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, {
|
6327
|
-
onClick: handleReset
|
6328
|
-
})), !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);
|
6329
6224
|
}
|
6330
|
-
|
6331
|
-
|
6332
|
-
|
6333
|
-
height: 38
|
6334
|
-
});
|
6335
|
-
return InputComponent;
|
6225
|
+
return () => observer.disconnect();
|
6226
|
+
}, []);
|
6227
|
+
return targetRef;
|
6336
6228
|
};
|
6337
|
-
|
6338
|
-
|
6339
|
-
var
|
6340
|
-
var _b = _a, {
|
6341
|
-
|
6342
|
-
const
|
6343
|
-
|
6344
|
-
|
6345
|
-
|
6346
|
-
|
6347
|
-
|
6348
|
-
|
6349
|
-
|
6350
|
-
|
6351
|
-
|
6352
|
-
|
6353
|
-
|
6354
|
-
|
6355
|
-
|
6356
|
-
|
6357
|
-
|
6358
|
-
|
6359
|
-
|
6360
|
-
|
6361
|
-
|
6362
|
-
|
6363
|
-
|
6364
|
-
|
6365
|
-
|
6366
|
-
|
6367
|
-
|
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)))
|
6368
6318
|
})));
|
6369
|
-
}
|
6370
|
-
Input2.displayName = "Input";
|
6371
|
-
Input2.Skeleton = () => /* @__PURE__ */ import_react65.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react65.default.createElement(InputBase.Skeleton, null));
|
6372
|
-
Input2.Skeleton.displayName = "Input.Skeleton";
|
6319
|
+
};
|
6373
6320
|
|
6374
|
-
// src/
|
6375
|
-
var
|
6376
|
-
var
|
6377
|
-
var
|
6378
|
-
|
6379
|
-
|
6380
|
-
|
6381
|
-
|
6382
|
-
|
6383
|
-
|
6384
|
-
|
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"
|
6385
6345
|
}
|
6386
|
-
|
6387
|
-
|
6388
|
-
|
6389
|
-
|
6390
|
-
|
6391
|
-
var
|
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(
|
6392
6366
|
(_a, ref) => {
|
6393
|
-
var _b = _a, { children, className } = _b,
|
6394
|
-
return /* @__PURE__ */
|
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({
|
6395
6369
|
ref,
|
6396
|
-
|
6397
|
-
},
|
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);
|
6398
6382
|
}
|
6399
6383
|
);
|
6400
|
-
|
6401
|
-
var
|
6402
|
-
(
|
6403
|
-
|
6404
|
-
|
6405
|
-
|
6406
|
-
|
6407
|
-
|
6408
|
-
|
6409
|
-
|
6410
|
-
|
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;
|
6411
6457
|
}
|
6412
|
-
|
6413
|
-
|
6414
|
-
|
6415
|
-
|
6416
|
-
|
6417
|
-
|
6418
|
-
|
6419
|
-
|
6420
|
-
|
6421
|
-
|
6422
|
-
|
6423
|
-
|
6424
|
-
|
6425
|
-
|
6426
|
-
|
6427
|
-
|
6428
|
-
|
6429
|
-
|
6430
|
-
|
6431
|
-
|
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"
|
6432
6518
|
}
|
6433
|
-
);
|
6434
|
-
DropdownMenu2.Item = Item3;
|
6435
|
-
var Description = ({ disabled, children }) => /* @__PURE__ */ import_react66.default.createElement(Typography2.Caption, {
|
6436
|
-
color: disabled ? "grey-20" : "grey-40"
|
6437
|
-
}, children);
|
6438
|
-
DropdownMenu2.Description = Description;
|
6439
|
-
var Separator = (_a) => {
|
6440
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
6441
|
-
return /* @__PURE__ */ import_react66.default.createElement("li", __spreadProps(__spreadValues({}, props), {
|
6442
|
-
className: classNames(className, tw("m-3 block bg-grey-5 h-[1px]"))
|
6443
|
-
}));
|
6444
6519
|
};
|
6445
|
-
|
6446
|
-
var
|
6447
|
-
|
6448
|
-
return /* @__PURE__ */
|
6449
|
-
className:
|
6450
|
-
|
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
|
+
}));
|
6451
6529
|
};
|
6452
|
-
DropdownMenu2.EmptyStateContainer = EmptyStateContainer2;
|
6453
6530
|
|
6454
|
-
// src/molecules/
|
6455
|
-
var
|
6456
|
-
|
6457
|
-
|
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);
|
6458
6552
|
};
|
6459
|
-
|
6460
|
-
|
6461
|
-
|
6462
|
-
|
6463
|
-
|
6464
|
-
|
6465
|
-
|
6466
|
-
|
6467
|
-
} else if (node.type !== "section" && filter(node.textValue, inputValue)) {
|
6468
|
-
filteredNode.push(__spreadValues({}, node));
|
6469
|
-
}
|
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.");
|
6470
6561
|
}
|
6471
|
-
return
|
6562
|
+
return ctx;
|
6472
6563
|
};
|
6473
6564
|
|
6474
|
-
// src/molecules/
|
6475
|
-
var
|
6476
|
-
|
6477
|
-
|
6478
|
-
|
6479
|
-
selection,
|
6480
|
-
onSelectionChange,
|
6565
|
+
// src/molecules/Popover/Popover.tsx
|
6566
|
+
var Popover2 = (props) => {
|
6567
|
+
const {
|
6568
|
+
id,
|
6569
|
+
type,
|
6481
6570
|
placement = "bottom-left",
|
6482
|
-
|
6483
|
-
|
6484
|
-
|
6485
|
-
|
6486
|
-
|
6487
|
-
|
6488
|
-
|
6489
|
-
|
6490
|
-
|
6491
|
-
|
6492
|
-
|
6493
|
-
|
6494
|
-
|
6495
|
-
"minWidth",
|
6496
|
-
"maxWidth",
|
6497
|
-
"searchable",
|
6498
|
-
"emptyState",
|
6499
|
-
"header",
|
6500
|
-
"footer",
|
6501
|
-
"children"
|
6502
|
-
]);
|
6503
|
-
const triggerRef = import_react67.default.useRef(null);
|
6504
|
-
const [trigger, items] = extractTriggerAndItems(children);
|
6505
|
-
const state = (0, import_menu2.useMenuTriggerState)(props);
|
6506
|
-
const { menuTriggerProps, menuProps } = (0, import_menu.useMenuTrigger)({}, state, triggerRef);
|
6507
|
-
return /* @__PURE__ */ import_react67.default.createElement("div", null, /* @__PURE__ */ import_react67.default.createElement(import_interactions3.PressResponder, __spreadValues({
|
6508
|
-
ref: triggerRef,
|
6509
|
-
onPress: () => state.toggle()
|
6510
|
-
}, menuTriggerProps), /* @__PURE__ */ import_react67.default.createElement(TriggerWrapper, null, trigger.props.children)), state.isOpen && /* @__PURE__ */ import_react67.default.createElement(PopoverOverlay, {
|
6511
|
-
triggerRef,
|
6512
|
-
state,
|
6513
|
-
placement,
|
6514
|
-
focusable: false
|
6515
|
-
}, /* @__PURE__ */ import_react67.default.createElement(MenuWrapper, __spreadValues({
|
6516
|
-
onAction,
|
6517
|
-
selectionMode,
|
6518
|
-
selection,
|
6519
|
-
onSelectionChange,
|
6520
|
-
searchable,
|
6521
|
-
emptyState,
|
6522
|
-
minWidth,
|
6523
|
-
maxWidth,
|
6524
|
-
header,
|
6525
|
-
footer
|
6526
|
-
}, menuProps), items.props.children)));
|
6527
|
-
};
|
6528
|
-
var MenuTrigger = () => null;
|
6529
|
-
var MenuItems = () => null;
|
6530
|
-
DropdownMenu3.Trigger = MenuTrigger;
|
6531
|
-
DropdownMenu3.Trigger.displayName = "DropdownMenu.Trigger";
|
6532
|
-
DropdownMenu3.Items = MenuItems;
|
6533
|
-
DropdownMenu3.Items.displayName = "DropdownMenu.Items";
|
6534
|
-
DropdownMenu3.Item = import_collections.Item;
|
6535
|
-
DropdownMenu3.Item.displayName = "DropdownMenu.Item";
|
6536
|
-
DropdownMenu3.Section = import_collections.Section;
|
6537
|
-
DropdownMenu3.Section.displayName = "DropdownMenu.Section";
|
6538
|
-
var TriggerWrapper = (_a) => {
|
6539
|
-
var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
|
6540
|
-
const ref = import_react67.default.useRef(null);
|
6541
|
-
const { pressProps } = (0, import_interactions3.usePress)(__spreadProps(__spreadValues({}, props), { ref }));
|
6542
|
-
const trigger = import_react67.default.Children.only(children);
|
6543
|
-
if (!trigger || !import_react67.default.isValidElement(trigger)) {
|
6544
|
-
throw new Error("<DropdownMenu.Trigger> must have valid child");
|
6545
|
-
}
|
6546
|
-
return import_react67.default.cloneElement(trigger, __spreadValues({ ref }, (0, import_utils8.mergeProps)(pressProps, props)));
|
6547
|
-
};
|
6548
|
-
var isSectionNode = (item) => item.type === "section";
|
6549
|
-
var isItemNode = (item) => item.type === "item";
|
6550
|
-
var MenuWrapper = (_a) => {
|
6551
|
-
var _b = _a, {
|
6552
|
-
selection: selectedKeys,
|
6553
|
-
minWidth,
|
6554
|
-
maxWidth,
|
6555
|
-
searchable,
|
6556
|
-
emptyState,
|
6557
|
-
header,
|
6558
|
-
footer
|
6559
|
-
} = _b, props = __objRest(_b, [
|
6560
|
-
"selection",
|
6561
|
-
"minWidth",
|
6562
|
-
"maxWidth",
|
6563
|
-
"searchable",
|
6564
|
-
"emptyState",
|
6565
|
-
"header",
|
6566
|
-
"footer"
|
6567
|
-
]);
|
6568
|
-
const ref = import_react67.default.useRef(null);
|
6569
|
-
const disabledKeys = getDisabledItemKeys(props.children);
|
6570
|
-
const state = (0, import_tree.useTreeState)(__spreadValues({
|
6571
|
-
disabledKeys,
|
6572
|
-
selectedKeys
|
6573
|
-
}, props));
|
6574
|
-
const { menuProps } = (0, import_menu.useMenu)(props, state, ref);
|
6575
|
-
const { contains } = (0, import_i18n.useFilter)({ sensitivity: "base" });
|
6576
|
-
const [search, setSearch] = import_react67.default.useState("");
|
6577
|
-
const filteredCollection = import_react67.default.useMemo(
|
6578
|
-
() => searchable ? filterCollection(state.collection, search, contains) : state.collection,
|
6579
|
-
[state.collection, search, contains]
|
6580
|
-
);
|
6581
|
-
return /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2, {
|
6582
|
-
minWidth: minWidth !== void 0 ? `${minWidth}px` : void 0,
|
6583
|
-
maxWidth: maxWidth !== void 0 ? `${maxWidth}px` : void 0
|
6584
|
-
}, header, /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2.ContentContainer, null, searchable && /* @__PURE__ */ import_react67.default.createElement(SearchInput, {
|
6585
|
-
"aria-label": "search",
|
6586
|
-
value: search,
|
6587
|
-
onChange: (e) => setSearch(e.target.value),
|
6588
|
-
className: tw("mb-5")
|
6589
|
-
}), filteredCollection.size === 0 && emptyState && /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2.EmptyStateContainer, null, emptyState), /* @__PURE__ */ import_react67.default.createElement(DropdownMenu2.List, __spreadValues({
|
6590
|
-
ref
|
6591
|
-
}, menuProps), Array.from(filteredCollection).map((item) => {
|
6592
|
-
if (isSectionNode(item)) {
|
6593
|
-
return /* @__PURE__ */ import_react67.default.createElement(SectionWrapper, {
|
6594
|
-
key: item.key,
|
6595
|
-
section: item,
|
6596
|
-
state
|
6597
|
-
});
|
6598
|
-
} else if (isItemNode(item)) {
|
6599
|
-
return /* @__PURE__ */ import_react67.default.createElement(ItemWrapper, {
|
6600
|
-
key: item.key,
|
6601
|
-
item,
|
6602
|
-
state
|
6603
|
-
});
|
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
|
6604
6584
|
}
|
6605
|
-
}
|
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
|
+
}));
|
6606
6610
|
};
|
6607
|
-
var
|
6608
|
-
|
6609
|
-
|
6610
|
-
|
6611
|
-
|
6612
|
-
|
6613
|
-
|
6614
|
-
const
|
6615
|
-
|
6616
|
-
|
6617
|
-
|
6618
|
-
|
6619
|
-
|
6620
|
-
|
6621
|
-
|
6622
|
-
|
6623
|
-
|
6624
|
-
|
6625
|
-
|
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;
|
6626
6631
|
};
|
6627
|
-
var
|
6628
|
-
|
6629
|
-
|
6630
|
-
|
6631
|
-
|
6632
|
-
const
|
6633
|
-
|
6634
|
-
});
|
6635
|
-
return
|
6636
|
-
|
6637
|
-
|
6638
|
-
|
6639
|
-
|
6640
|
-
item: node,
|
6641
|
-
state
|
6642
|
-
})))));
|
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
|
+
}));
|
6643
6645
|
};
|
6644
|
-
|
6645
|
-
|
6646
|
-
|
6647
|
-
|
6648
|
-
|
6649
|
-
|
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));
|
6650
6653
|
};
|
6651
|
-
var
|
6652
|
-
|
6653
|
-
|
6654
|
-
|
6655
|
-
|
6656
|
-
|
6657
|
-
|
6658
|
-
|
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();
|
6659
6727
|
}
|
6660
|
-
|
6661
|
-
|
6728
|
+
};
|
6729
|
+
const handleClick = (e) => {
|
6730
|
+
e.stopPropagation();
|
6731
|
+
if (!disabled) {
|
6732
|
+
handleSelect();
|
6662
6733
|
}
|
6663
|
-
|
6664
|
-
|
6665
|
-
|
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);
|
6666
6757
|
};
|
6758
|
+
Dropdown.Menu = DropdownMenu3;
|
6759
|
+
Dropdown.Item = DropdownItem;
|
6667
6760
|
|
6668
6761
|
// src/molecules/EmptyState/EmptyState.tsx
|
6669
6762
|
var import_react69 = __toESM(require("react"));
|
@@ -6879,7 +6972,7 @@ var Link2 = (props) => /* @__PURE__ */ import_react73.default.createElement(Link
|
|
6879
6972
|
|
6880
6973
|
// src/molecules/List/List.tsx
|
6881
6974
|
var import_react74 = __toESM(require("react"));
|
6882
|
-
var
|
6975
|
+
var List2 = ({ items, renderItem, container = import_react74.default.Fragment }) => {
|
6883
6976
|
const Component = container;
|
6884
6977
|
return /* @__PURE__ */ import_react74.default.createElement(Component, null, items.map(renderItem));
|
6885
6978
|
};
|
@@ -7204,12 +7297,13 @@ var Tabs = createTabsComponent(Tab, TabItem, "Tabs", (children, selected) => /*
|
|
7204
7297
|
|
7205
7298
|
// src/molecules/Modal/Modal.tsx
|
7206
7299
|
var import_cross5 = __toESM(require_cross());
|
7207
|
-
var Modal2 = (
|
7300
|
+
var Modal2 = (_a) => {
|
7301
|
+
var _b = _a, { closeOnEsc = true } = _b, props = __objRest(_b, ["closeOnEsc"]);
|
7208
7302
|
const { open, onClose, size, portalContainer } = props;
|
7209
7303
|
const ref = import_react77.default.useRef(null);
|
7210
7304
|
const state = (0, import_overlays11.useOverlayTriggerState)({ isOpen: open, onOpenChange: (isOpen) => !isOpen && onClose() });
|
7211
7305
|
const { modalProps, underlayProps } = (0, import_overlays10.useModalOverlay)(
|
7212
|
-
{ isDismissable: true, isKeyboardDismissDisabled:
|
7306
|
+
{ isDismissable: true, isKeyboardDismissDisabled: !closeOnEsc },
|
7213
7307
|
state,
|
7214
7308
|
ref
|
7215
7309
|
);
|
@@ -7868,12 +7962,140 @@ var NativeSelectSkeleton = () => /* @__PURE__ */ import_react81.default.createEl
|
|
7868
7962
|
NativeSelect.Skeleton = NativeSelectSkeleton;
|
7869
7963
|
NativeSelect.Skeleton.displayName = "NativeSelect.Skeleton";
|
7870
7964
|
|
7871
|
-
// src/molecules/
|
7965
|
+
// src/molecules/Navigation/Navigation.tsx
|
7966
|
+
var import_react83 = __toESM(require("react"));
|
7967
|
+
|
7968
|
+
// src/atoms/Navigation/Navigation.tsx
|
7872
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"));
|
7873
8047
|
var import_castArray3 = __toESM(require("lodash/castArray"));
|
7874
8048
|
var import_omit13 = __toESM(require("lodash/omit"));
|
7875
|
-
|
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 = ({
|
7876
8097
|
title,
|
8098
|
+
subtitle,
|
7877
8099
|
image,
|
7878
8100
|
imageAlt,
|
7879
8101
|
primaryAction,
|
@@ -7881,48 +8103,32 @@ var PageHeader = ({
|
|
7881
8103
|
chips = [],
|
7882
8104
|
breadcrumbs
|
7883
8105
|
}) => {
|
7884
|
-
return /* @__PURE__ */
|
7885
|
-
direction: "row",
|
7886
|
-
gap: "4",
|
7887
|
-
paddingBottom: "6"
|
7888
|
-
}, /* @__PURE__ */ import_react82.default.createElement(Flexbox, {
|
7889
|
-
className: tw("grow"),
|
7890
|
-
direction: "column",
|
7891
|
-
gap: "0"
|
7892
|
-
}, 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, {
|
7893
8107
|
gap: "5"
|
7894
|
-
}, image && /* @__PURE__ */
|
8108
|
+
}, image && /* @__PURE__ */ import_react85.default.createElement("img", {
|
7895
8109
|
src: image,
|
7896
8110
|
alt: imageAlt,
|
7897
8111
|
className: tw("w-[56px] h-[56px]")
|
7898
|
-
}), /* @__PURE__ */
|
7899
|
-
direction: "column",
|
7900
|
-
justifyContent: "center"
|
7901
|
-
}, /* @__PURE__ */ import_react82.default.createElement(Typography2.Heading, null, title), chips.length > 0 && /* @__PURE__ */ import_react82.default.createElement(Flexbox, {
|
7902
|
-
gap: "3"
|
7903
|
-
}, 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, {
|
7904
8113
|
key: chip,
|
7905
8114
|
dense: true,
|
7906
8115
|
text: chip
|
7907
|
-
})))))), (secondaryActions || primaryAction) && /* @__PURE__ */
|
7908
|
-
gap: "4",
|
7909
|
-
className: tw("self-start")
|
7910
|
-
}, 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) => {
|
7911
8117
|
var _b = _a, { text } = _b, action = __objRest(_b, ["text"]);
|
7912
|
-
return /* @__PURE__ */
|
8118
|
+
return /* @__PURE__ */ import_react85.default.createElement(SecondaryButton, __spreadValues({
|
7913
8119
|
key: text
|
7914
8120
|
}, action), text);
|
7915
|
-
}), primaryAction && /* @__PURE__ */
|
8121
|
+
}), primaryAction && /* @__PURE__ */ import_react85.default.createElement(PrimaryButton, __spreadValues({
|
7916
8122
|
key: primaryAction.text
|
7917
8123
|
}, (0, import_omit13.default)(primaryAction, "text")), primaryAction.text)));
|
7918
8124
|
};
|
7919
8125
|
|
7920
8126
|
// src/molecules/Pagination/Pagination.tsx
|
7921
|
-
var
|
8127
|
+
var import_react87 = __toESM(require("react"));
|
7922
8128
|
var import_clamp = __toESM(require("lodash/clamp"));
|
7923
8129
|
|
7924
8130
|
// src/molecules/Select/Select.tsx
|
7925
|
-
var
|
8131
|
+
var import_react86 = __toESM(require("react"));
|
7926
8132
|
var import_downshift3 = require("downshift");
|
7927
8133
|
var import_defaults = __toESM(require("lodash/defaults"));
|
7928
8134
|
var import_isArray = __toESM(require("lodash/isArray"));
|
@@ -7938,10 +8144,10 @@ var hasOptionGroups = (val) => {
|
|
7938
8144
|
};
|
7939
8145
|
var defaultRenderOption = (item, props, { selectedItem }, { getOptionKey, getValue, optionToString = getOptionLabelBuiltin }) => {
|
7940
8146
|
var _a, _b;
|
7941
|
-
return /* @__PURE__ */
|
8147
|
+
return /* @__PURE__ */ import_react86.default.createElement(Select.Item, __spreadValues({
|
7942
8148
|
key: (_b = (_a = getOptionKey == null ? void 0 : getOptionKey(item)) != null ? _a : getValue == null ? void 0 : getValue(item)) != null ? _b : optionToString(item),
|
7943
8149
|
selected: item === selectedItem
|
7944
|
-
}, props), hasIconProperty(item) && /* @__PURE__ */
|
8150
|
+
}, props), hasIconProperty(item) && /* @__PURE__ */ import_react86.default.createElement(InlineIcon, {
|
7945
8151
|
icon: item.icon
|
7946
8152
|
}), optionToString(item));
|
7947
8153
|
};
|
@@ -8012,9 +8218,9 @@ var _SelectBase = (props) => {
|
|
8012
8218
|
"children",
|
8013
8219
|
"labelWrapper"
|
8014
8220
|
]);
|
8015
|
-
const [hasFocus, setFocus] = (0,
|
8016
|
-
const targetRef = (0,
|
8017
|
-
const menuRef = (0,
|
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);
|
8018
8224
|
const items = hasOptionGroups(options) ? options.flatMap((g) => g.options) : options;
|
8019
8225
|
const findItemByValue = (val) => {
|
8020
8226
|
if (val === null) {
|
@@ -8060,13 +8266,13 @@ var _SelectBase = (props) => {
|
|
8060
8266
|
},
|
8061
8267
|
withDefaults
|
8062
8268
|
);
|
8063
|
-
const renderGroup = (group) => /* @__PURE__ */
|
8269
|
+
const renderGroup = (group) => /* @__PURE__ */ import_react86.default.createElement(import_react86.default.Fragment, {
|
8064
8270
|
key: group.label
|
8065
|
-
}, /* @__PURE__ */
|
8066
|
-
const input = /* @__PURE__ */
|
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 })), {
|
8067
8273
|
variant: disabled ? "disabled" : !valid ? "error" : readOnly ? "readOnly" : hasFocus ? "focused" : "default",
|
8068
8274
|
tabIndex: 0
|
8069
|
-
}), /* @__PURE__ */
|
8275
|
+
}), /* @__PURE__ */ import_react86.default.createElement(Select.Input, __spreadProps(__spreadValues({
|
8070
8276
|
id,
|
8071
8277
|
name
|
8072
8278
|
}, rest), {
|
@@ -8078,26 +8284,26 @@ var _SelectBase = (props) => {
|
|
8078
8284
|
tabIndex: -1,
|
8079
8285
|
onFocus: () => setFocus(true),
|
8080
8286
|
onBlur: () => setFocus(false)
|
8081
|
-
})), !readOnly && /* @__PURE__ */
|
8287
|
+
})), !readOnly && /* @__PURE__ */ import_react86.default.createElement(Select.Toggle, {
|
8082
8288
|
disabled,
|
8083
8289
|
isOpen,
|
8084
8290
|
tabIndex: -1
|
8085
8291
|
}));
|
8086
8292
|
const menuProps = getMenuProps({ ref: menuRef }, { suppressRefError: !isOpen });
|
8087
|
-
return /* @__PURE__ */
|
8293
|
+
return /* @__PURE__ */ import_react86.default.createElement("div", {
|
8088
8294
|
className: tw("relative")
|
8089
|
-
}, labelWrapper ?
|
8295
|
+
}, labelWrapper ? import_react86.default.cloneElement(labelWrapper, { children: input }) : input, isOpen && /* @__PURE__ */ import_react86.default.createElement(PopoverOverlay, {
|
8090
8296
|
state,
|
8091
8297
|
triggerRef: targetRef,
|
8092
8298
|
placement: "bottom-left",
|
8093
8299
|
shouldFlip: true,
|
8094
8300
|
style: { width: (_b = targetRef.current) == null ? void 0 : _b.offsetWidth }
|
8095
|
-
}, /* @__PURE__ */
|
8301
|
+
}, /* @__PURE__ */ import_react86.default.createElement(Select.Menu, __spreadValues({
|
8096
8302
|
ref: menuRef,
|
8097
8303
|
maxHeight
|
8098
|
-
}, menuProps), options.length === 0 && /* @__PURE__ */
|
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, {
|
8099
8305
|
onMouseOver: () => setHighlightedIndex(-1)
|
8100
|
-
}), actions.map((act, index) => /* @__PURE__ */
|
8306
|
+
}), actions.map((act, index) => /* @__PURE__ */ import_react86.default.createElement(Select.ActionItem, __spreadProps(__spreadValues({
|
8101
8307
|
key: `${index}`
|
8102
8308
|
}, act), {
|
8103
8309
|
onMouseOver: () => setHighlightedIndex(-1),
|
@@ -8107,10 +8313,10 @@ var _SelectBase = (props) => {
|
|
8107
8313
|
}
|
8108
8314
|
}), act.label))))));
|
8109
8315
|
};
|
8110
|
-
var SelectBase = (props) => /* @__PURE__ */
|
8316
|
+
var SelectBase = (props) => /* @__PURE__ */ import_react86.default.createElement(_SelectBase, __spreadProps(__spreadValues({}, props), {
|
8111
8317
|
labelWrapper: void 0
|
8112
8318
|
}));
|
8113
|
-
var SelectBaseSkeleton = () => /* @__PURE__ */
|
8319
|
+
var SelectBaseSkeleton = () => /* @__PURE__ */ import_react86.default.createElement(Skeleton, {
|
8114
8320
|
height: 38
|
8115
8321
|
});
|
8116
8322
|
SelectBase.Skeleton = SelectBaseSkeleton;
|
@@ -8121,26 +8327,26 @@ var Select2 = (_a) => {
|
|
8121
8327
|
"options"
|
8122
8328
|
]);
|
8123
8329
|
var _a2;
|
8124
|
-
const id = (0,
|
8330
|
+
const id = (0, import_react86.useRef)((_a2 = props.id) != null ? _a2 : `select-${(0, import_uniqueId7.default)()}`);
|
8125
8331
|
const errorMessageId = (0, import_uniqueId7.default)();
|
8126
8332
|
const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
|
8127
8333
|
const labelProps = getLabelControlProps(props);
|
8128
8334
|
const baseProps = (0, import_omit14.default)(props, Object.keys(labelProps));
|
8129
8335
|
const legacyError = labelProps.error !== void 0 && labelProps.valid === false;
|
8130
8336
|
const variant = !labelProps.valid || legacyError ? "error" : labelProps.disabled ? "disabled" : "default";
|
8131
|
-
const label = /* @__PURE__ */
|
8337
|
+
const label = /* @__PURE__ */ import_react86.default.createElement(Label, __spreadValues({
|
8132
8338
|
id: `${id.current}-label`,
|
8133
8339
|
htmlFor: `${id.current}-input`,
|
8134
8340
|
variant,
|
8135
8341
|
messageId: errorMessageId
|
8136
8342
|
}, labelProps));
|
8137
|
-
return /* @__PURE__ */
|
8343
|
+
return /* @__PURE__ */ import_react86.default.createElement(FormControl, null, /* @__PURE__ */ import_react86.default.createElement(_SelectBase, __spreadProps(__spreadValues(__spreadValues({}, baseProps), errorProps), {
|
8138
8344
|
id: `${id.current}-input`,
|
8139
8345
|
options,
|
8140
8346
|
disabled: props.disabled,
|
8141
8347
|
valid: props.valid,
|
8142
8348
|
labelWrapper: label
|
8143
|
-
})), /* @__PURE__ */
|
8349
|
+
})), /* @__PURE__ */ import_react86.default.createElement(HelperText, {
|
8144
8350
|
messageId: errorMessageId,
|
8145
8351
|
error: !labelProps.valid,
|
8146
8352
|
helperText: labelProps.helperText,
|
@@ -8149,7 +8355,7 @@ var Select2 = (_a) => {
|
|
8149
8355
|
reserveSpaceForError: labelProps.reserveSpaceForError
|
8150
8356
|
}));
|
8151
8357
|
};
|
8152
|
-
var SelectSkeleton = () => /* @__PURE__ */
|
8358
|
+
var SelectSkeleton = () => /* @__PURE__ */ import_react86.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react86.default.createElement(SelectBase.Skeleton, null));
|
8153
8359
|
Select2.Skeleton = SelectSkeleton;
|
8154
8360
|
Select2.Skeleton.displayName = "Select.Skeleton";
|
8155
8361
|
|
@@ -8168,23 +8374,23 @@ var Pagination = ({
|
|
8168
8374
|
pageSizes,
|
8169
8375
|
onPageSizeChange
|
8170
8376
|
}) => {
|
8171
|
-
const [value, setValue] =
|
8172
|
-
|
8377
|
+
const [value, setValue] = import_react87.default.useState(currentPage);
|
8378
|
+
import_react87.default.useEffect(() => {
|
8173
8379
|
setValue(currentPage);
|
8174
8380
|
}, [currentPage]);
|
8175
|
-
return /* @__PURE__ */
|
8381
|
+
return /* @__PURE__ */ import_react87.default.createElement(Box, {
|
8176
8382
|
className: tw("grid grid-cols-[200px_1fr_200px]"),
|
8177
8383
|
backgroundColor: "grey-0",
|
8178
8384
|
padding: "4"
|
8179
|
-
}, pageSizes && onPageSizeChange && typeof pageSize === "number" ? /* @__PURE__ */
|
8385
|
+
}, pageSizes && onPageSizeChange && typeof pageSize === "number" ? /* @__PURE__ */ import_react87.default.createElement(Box, {
|
8180
8386
|
display: "flex",
|
8181
8387
|
alignItems: "center",
|
8182
8388
|
gap: "4"
|
8183
|
-
}, /* @__PURE__ */
|
8389
|
+
}, /* @__PURE__ */ import_react87.default.createElement(Typography2.Small, {
|
8184
8390
|
color: "grey-50"
|
8185
|
-
}, "Items per page "), /* @__PURE__ */
|
8391
|
+
}, "Items per page "), /* @__PURE__ */ import_react87.default.createElement("div", {
|
8186
8392
|
className: tw("max-w-[70px]")
|
8187
|
-
}, /* @__PURE__ */
|
8393
|
+
}, /* @__PURE__ */ import_react87.default.createElement(SelectBase, {
|
8188
8394
|
options: pageSizes.map((size) => size.toString()),
|
8189
8395
|
value: pageSize.toString(),
|
8190
8396
|
onChange: (size) => {
|
@@ -8195,26 +8401,26 @@ var Pagination = ({
|
|
8195
8401
|
}
|
8196
8402
|
}
|
8197
8403
|
}
|
8198
|
-
}))) : /* @__PURE__ */
|
8404
|
+
}))) : /* @__PURE__ */ import_react87.default.createElement("div", null), /* @__PURE__ */ import_react87.default.createElement(Box, {
|
8199
8405
|
display: "flex",
|
8200
8406
|
justifyContent: "center",
|
8201
8407
|
alignItems: "center",
|
8202
8408
|
className: tw("grow")
|
8203
|
-
}, /* @__PURE__ */
|
8409
|
+
}, /* @__PURE__ */ import_react87.default.createElement(IconButton, {
|
8204
8410
|
"aria-label": "First",
|
8205
8411
|
onClick: () => onPageChange(1),
|
8206
8412
|
icon: import_chevronBackward.default,
|
8207
8413
|
disabled: !hasPreviousPage
|
8208
|
-
}), /* @__PURE__ */
|
8414
|
+
}), /* @__PURE__ */ import_react87.default.createElement(IconButton, {
|
8209
8415
|
"aria-label": "Previous",
|
8210
8416
|
onClick: () => onPageChange(currentPage - 1),
|
8211
8417
|
icon: import_chevronLeft3.default,
|
8212
8418
|
disabled: !hasPreviousPage
|
8213
|
-
}), /* @__PURE__ */
|
8419
|
+
}), /* @__PURE__ */ import_react87.default.createElement(Box, {
|
8214
8420
|
paddingX: "4"
|
8215
|
-
}, /* @__PURE__ */
|
8421
|
+
}, /* @__PURE__ */ import_react87.default.createElement(Typography2.Small, {
|
8216
8422
|
color: "grey-60"
|
8217
|
-
}, "Page")), /* @__PURE__ */
|
8423
|
+
}, "Page")), /* @__PURE__ */ import_react87.default.createElement(InputBase, {
|
8218
8424
|
className: classNames(tw("text-center max-w-[40px]"), "no-arrows"),
|
8219
8425
|
type: "number",
|
8220
8426
|
min: 1,
|
@@ -8231,67 +8437,67 @@ var Pagination = ({
|
|
8231
8437
|
const newPage = !isNaN(numberValue) ? (0, import_clamp.default)(numberValue, 1, totalPages) : 1;
|
8232
8438
|
onPageChange(newPage);
|
8233
8439
|
}
|
8234
|
-
}), /* @__PURE__ */
|
8440
|
+
}), /* @__PURE__ */ import_react87.default.createElement(Box, {
|
8235
8441
|
paddingX: "4"
|
8236
|
-
}, /* @__PURE__ */
|
8442
|
+
}, /* @__PURE__ */ import_react87.default.createElement(Typography2.Small, {
|
8237
8443
|
color: "grey-60"
|
8238
|
-
}, "of ", totalPages)), /* @__PURE__ */
|
8444
|
+
}, "of ", totalPages)), /* @__PURE__ */ import_react87.default.createElement(IconButton, {
|
8239
8445
|
"aria-label": "Next",
|
8240
8446
|
onClick: () => onPageChange(currentPage + 1),
|
8241
8447
|
icon: import_chevronRight3.default,
|
8242
8448
|
disabled: !hasNextPage
|
8243
|
-
}), /* @__PURE__ */
|
8449
|
+
}), /* @__PURE__ */ import_react87.default.createElement(IconButton, {
|
8244
8450
|
"aria-label": "Last",
|
8245
8451
|
onClick: () => onPageChange(totalPages),
|
8246
8452
|
icon: import_chevronForward.default,
|
8247
8453
|
disabled: !hasNextPage
|
8248
|
-
})), /* @__PURE__ */
|
8454
|
+
})), /* @__PURE__ */ import_react87.default.createElement("div", null));
|
8249
8455
|
};
|
8250
8456
|
|
8251
8457
|
// src/molecules/PopoverDialog/PopoverDialog.tsx
|
8252
|
-
var
|
8458
|
+
var import_react89 = __toESM(require("react"));
|
8253
8459
|
var import_omit15 = __toESM(require("lodash/omit"));
|
8254
8460
|
|
8255
8461
|
// src/atoms/PopoverDialog/PopoverDialog.tsx
|
8256
|
-
var
|
8257
|
-
var
|
8462
|
+
var import_react88 = __toESM(require("react"));
|
8463
|
+
var Header2 = (_a) => {
|
8258
8464
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
8259
|
-
return /* @__PURE__ */
|
8465
|
+
return /* @__PURE__ */ import_react88.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8260
8466
|
className: classNames(tw("p-5 gap-3 flex items-center"), className)
|
8261
8467
|
}), children);
|
8262
8468
|
};
|
8263
8469
|
var Title = (_a) => {
|
8264
8470
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
8265
|
-
return /* @__PURE__ */
|
8471
|
+
return /* @__PURE__ */ import_react88.default.createElement(Typography, __spreadProps(__spreadValues({}, rest), {
|
8266
8472
|
htmlTag: "h1",
|
8267
8473
|
variant: "small-strong"
|
8268
8474
|
}), children);
|
8269
8475
|
};
|
8270
8476
|
var Body = (_a) => {
|
8271
8477
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
8272
|
-
return /* @__PURE__ */
|
8478
|
+
return /* @__PURE__ */ import_react88.default.createElement(Typography, __spreadProps(__spreadValues({}, rest), {
|
8273
8479
|
htmlTag: "div",
|
8274
8480
|
variant: "caption",
|
8275
8481
|
className: classNames(tw("px-5 overflow-y-auto"), className)
|
8276
8482
|
}), children);
|
8277
8483
|
};
|
8278
|
-
var
|
8484
|
+
var Footer2 = (_a) => {
|
8279
8485
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
8280
|
-
return /* @__PURE__ */
|
8486
|
+
return /* @__PURE__ */ import_react88.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8281
8487
|
className: classNames(tw("p-5"), className)
|
8282
8488
|
}), children);
|
8283
8489
|
};
|
8284
8490
|
var Actions2 = (_a) => {
|
8285
8491
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
8286
|
-
return /* @__PURE__ */
|
8492
|
+
return /* @__PURE__ */ import_react88.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8287
8493
|
className: classNames(tw("flex gap-4"), className)
|
8288
8494
|
}), children);
|
8289
8495
|
};
|
8290
8496
|
var PopoverDialog = {
|
8291
|
-
Header,
|
8497
|
+
Header: Header2,
|
8292
8498
|
Title,
|
8293
8499
|
Body,
|
8294
|
-
Footer,
|
8500
|
+
Footer: Footer2,
|
8295
8501
|
Actions: Actions2
|
8296
8502
|
};
|
8297
8503
|
|
@@ -8299,13 +8505,13 @@ var PopoverDialog = {
|
|
8299
8505
|
var PopoverDialog2 = ({ placement, open, title, secondaryAction, primaryAction, children }) => {
|
8300
8506
|
const wrapPromptWithBody = (child) => {
|
8301
8507
|
if (isComponentType(child, PopoverDialog2.Prompt)) {
|
8302
|
-
return /* @__PURE__ */
|
8508
|
+
return /* @__PURE__ */ import_react89.default.createElement(Popover2.Panel, {
|
8303
8509
|
className: tw("max-w-[300px]")
|
8304
|
-
}, /* @__PURE__ */
|
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({
|
8305
8511
|
kind: "secondary-ghost",
|
8306
8512
|
key: secondaryAction.text,
|
8307
8513
|
dense: true
|
8308
|
-
}, (0, import_omit15.default)(secondaryAction, "text")), secondaryAction.text), /* @__PURE__ */
|
8514
|
+
}, (0, import_omit15.default)(secondaryAction, "text")), secondaryAction.text), /* @__PURE__ */ import_react89.default.createElement(Popover2.Button, __spreadValues({
|
8309
8515
|
kind: "ghost",
|
8310
8516
|
key: primaryAction.text,
|
8311
8517
|
dense: true
|
@@ -8313,15 +8519,15 @@ var PopoverDialog2 = ({ placement, open, title, secondaryAction, primaryAction,
|
|
8313
8519
|
}
|
8314
8520
|
return child;
|
8315
8521
|
};
|
8316
|
-
return /* @__PURE__ */
|
8522
|
+
return /* @__PURE__ */ import_react89.default.createElement(Popover2, {
|
8317
8523
|
type: "dialog",
|
8318
8524
|
isOpen: open,
|
8319
8525
|
placement,
|
8320
8526
|
containFocus: true
|
8321
|
-
},
|
8527
|
+
}, import_react89.default.Children.map(children, wrapPromptWithBody));
|
8322
8528
|
};
|
8323
8529
|
PopoverDialog2.Trigger = Popover2.Trigger;
|
8324
|
-
var Prompt = ({ children }) => /* @__PURE__ */
|
8530
|
+
var Prompt = ({ children }) => /* @__PURE__ */ import_react89.default.createElement(PopoverDialog.Body, null, children);
|
8325
8531
|
Prompt.displayName = "PopoverDialog.Prompt";
|
8326
8532
|
PopoverDialog2.Prompt = Prompt;
|
8327
8533
|
|
@@ -8330,14 +8536,14 @@ var import_react_dom = require("react-dom");
|
|
8330
8536
|
var Portal = ({ children, to }) => (0, import_react_dom.createPortal)(children, to);
|
8331
8537
|
|
8332
8538
|
// src/molecules/ProgressBar/ProgressBar.tsx
|
8333
|
-
var
|
8539
|
+
var import_react91 = __toESM(require("react"));
|
8334
8540
|
|
8335
8541
|
// src/atoms/ProgressBar/ProgressBar.tsx
|
8336
|
-
var
|
8542
|
+
var import_react90 = __toESM(require("react"));
|
8337
8543
|
var import_clamp2 = __toESM(require("lodash/clamp"));
|
8338
8544
|
var ProgressBar = (_a) => {
|
8339
8545
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
8340
|
-
return /* @__PURE__ */
|
8546
|
+
return /* @__PURE__ */ import_react90.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8341
8547
|
className: classNames(
|
8342
8548
|
tw("relative flex items-center w-full bg-grey-0 h-2 rounded-full overflow-hidden"),
|
8343
8549
|
className
|
@@ -8353,7 +8559,7 @@ var STATUS_COLORS = {
|
|
8353
8559
|
ProgressBar.Indicator = (_a) => {
|
8354
8560
|
var _b = _a, { min, max, value, "aria-label": ariaLabel, status, className } = _b, rest = __objRest(_b, ["min", "max", "value", "aria-label", "status", "className"]);
|
8355
8561
|
const completedPercentage = (0, import_clamp2.default)((value - min) / (max - min) * 100, 0, 100);
|
8356
|
-
return /* @__PURE__ */
|
8562
|
+
return /* @__PURE__ */ import_react90.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8357
8563
|
className: classNames(
|
8358
8564
|
tw("h-2 rounded-full transition-all ease-in-out delay-150"),
|
8359
8565
|
STATUS_COLORS[status],
|
@@ -8369,11 +8575,11 @@ ProgressBar.Indicator = (_a) => {
|
|
8369
8575
|
};
|
8370
8576
|
ProgressBar.Labels = (_a) => {
|
8371
8577
|
var _b = _a, { children, startLabel, endLabel, className } = _b, rest = __objRest(_b, ["children", "startLabel", "endLabel", "className"]);
|
8372
|
-
return /* @__PURE__ */
|
8578
|
+
return /* @__PURE__ */ import_react90.default.createElement("div", {
|
8373
8579
|
className: classNames(tw("flex flex-row"), className)
|
8374
|
-
}, /* @__PURE__ */
|
8580
|
+
}, /* @__PURE__ */ import_react90.default.createElement("span", __spreadProps(__spreadValues({}, rest), {
|
8375
8581
|
className: tw("grow text-grey-70 typography-caption")
|
8376
|
-
}), startLabel), /* @__PURE__ */
|
8582
|
+
}), startLabel), /* @__PURE__ */ import_react90.default.createElement("span", __spreadProps(__spreadValues({}, rest), {
|
8377
8583
|
className: tw("grow text-grey-70 typography-caption text-right")
|
8378
8584
|
}), endLabel));
|
8379
8585
|
};
|
@@ -8391,7 +8597,7 @@ var ProgressBar2 = (props) => {
|
|
8391
8597
|
if (min > max) {
|
8392
8598
|
throw new Error("`min` value provided to `ProgressBar` is greater than `max` value.");
|
8393
8599
|
}
|
8394
|
-
const progress = /* @__PURE__ */
|
8600
|
+
const progress = /* @__PURE__ */ import_react91.default.createElement(ProgressBar, null, /* @__PURE__ */ import_react91.default.createElement(ProgressBar.Indicator, {
|
8395
8601
|
status: value === max ? completedStatus : progresStatus,
|
8396
8602
|
min,
|
8397
8603
|
max,
|
@@ -8401,13 +8607,13 @@ var ProgressBar2 = (props) => {
|
|
8401
8607
|
if (props.dense) {
|
8402
8608
|
return progress;
|
8403
8609
|
}
|
8404
|
-
return /* @__PURE__ */
|
8610
|
+
return /* @__PURE__ */ import_react91.default.createElement("div", null, progress, /* @__PURE__ */ import_react91.default.createElement(ProgressBar.Labels, {
|
8405
8611
|
className: tw("py-2"),
|
8406
8612
|
startLabel: props.startLabel,
|
8407
8613
|
endLabel: props.endLabel
|
8408
8614
|
}));
|
8409
8615
|
};
|
8410
|
-
var ProgressBarSkeleton = () => /* @__PURE__ */
|
8616
|
+
var ProgressBarSkeleton = () => /* @__PURE__ */ import_react91.default.createElement(Skeleton, {
|
8411
8617
|
height: 4,
|
8412
8618
|
display: "block"
|
8413
8619
|
});
|
@@ -8415,13 +8621,13 @@ ProgressBar2.Skeleton = ProgressBarSkeleton;
|
|
8415
8621
|
ProgressBar2.Skeleton.displayName = "ProgressBar.Skeleton";
|
8416
8622
|
|
8417
8623
|
// src/molecules/RadioButton/RadioButton.tsx
|
8418
|
-
var
|
8419
|
-
var RadioButton2 =
|
8624
|
+
var import_react92 = __toESM(require("react"));
|
8625
|
+
var RadioButton2 = import_react92.default.forwardRef(
|
8420
8626
|
(_a, ref) => {
|
8421
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"]);
|
8422
8628
|
var _a2;
|
8423
8629
|
const isChecked = (_a2 = props.checked) != null ? _a2 : props.defaultChecked;
|
8424
|
-
return !readOnly || isChecked ? /* @__PURE__ */
|
8630
|
+
return !readOnly || isChecked ? /* @__PURE__ */ import_react92.default.createElement(ControlLabel, {
|
8425
8631
|
htmlFor: id,
|
8426
8632
|
label: children,
|
8427
8633
|
"aria-label": ariaLabel,
|
@@ -8429,7 +8635,7 @@ var RadioButton2 = import_react89.default.forwardRef(
|
|
8429
8635
|
readOnly,
|
8430
8636
|
disabled,
|
8431
8637
|
style: { gap: "0 8px" }
|
8432
|
-
}, !readOnly && /* @__PURE__ */
|
8638
|
+
}, !readOnly && /* @__PURE__ */ import_react92.default.createElement(RadioButton, __spreadProps(__spreadValues({
|
8433
8639
|
id,
|
8434
8640
|
ref,
|
8435
8641
|
name
|
@@ -8440,12 +8646,12 @@ var RadioButton2 = import_react89.default.forwardRef(
|
|
8440
8646
|
}
|
8441
8647
|
);
|
8442
8648
|
RadioButton2.displayName = "RadioButton";
|
8443
|
-
var RadioButtonSkeleton = () => /* @__PURE__ */
|
8649
|
+
var RadioButtonSkeleton = () => /* @__PURE__ */ import_react92.default.createElement("div", {
|
8444
8650
|
className: tw("flex gap-3")
|
8445
|
-
}, /* @__PURE__ */
|
8651
|
+
}, /* @__PURE__ */ import_react92.default.createElement(Skeleton, {
|
8446
8652
|
height: 20,
|
8447
8653
|
width: 20
|
8448
|
-
}), /* @__PURE__ */
|
8654
|
+
}), /* @__PURE__ */ import_react92.default.createElement(Skeleton, {
|
8449
8655
|
height: 20,
|
8450
8656
|
width: 150
|
8451
8657
|
}));
|
@@ -8453,10 +8659,10 @@ RadioButton2.Skeleton = RadioButtonSkeleton;
|
|
8453
8659
|
RadioButton2.Skeleton.displayName = "RadioButton.Skeleton";
|
8454
8660
|
|
8455
8661
|
// src/molecules/RadioButtonGroup/RadioButtonGroup.tsx
|
8456
|
-
var
|
8662
|
+
var import_react93 = __toESM(require("react"));
|
8457
8663
|
var import_uniqueId8 = __toESM(require("lodash/uniqueId"));
|
8458
8664
|
var isRadioButton = (c) => {
|
8459
|
-
return
|
8665
|
+
return import_react93.default.isValidElement(c) && c.type === RadioButton2;
|
8460
8666
|
};
|
8461
8667
|
var RadioButtonGroup = (_a) => {
|
8462
8668
|
var _b = _a, {
|
@@ -8479,7 +8685,7 @@ var RadioButtonGroup = (_a) => {
|
|
8479
8685
|
"children"
|
8480
8686
|
]);
|
8481
8687
|
var _a2;
|
8482
|
-
const [value, setValue] =
|
8688
|
+
const [value, setValue] = import_react93.default.useState((_a2 = _value != null ? _value : defaultValue) != null ? _a2 : "");
|
8483
8689
|
const errorMessageId = (0, import_uniqueId8.default)();
|
8484
8690
|
const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
|
8485
8691
|
const labelControlProps = getLabelControlProps(props);
|
@@ -8490,14 +8696,14 @@ var RadioButtonGroup = (_a) => {
|
|
8490
8696
|
setValue(e.target.value);
|
8491
8697
|
onChange == null ? void 0 : onChange(e.target.value);
|
8492
8698
|
};
|
8493
|
-
const content =
|
8699
|
+
const content = import_react93.default.Children.map(children, (c) => {
|
8494
8700
|
var _a3, _b2, _c;
|
8495
8701
|
if (!isRadioButton(c)) {
|
8496
8702
|
return null;
|
8497
8703
|
}
|
8498
8704
|
const defaultChecked = defaultValue === void 0 ? void 0 : c.props.value === defaultValue;
|
8499
8705
|
const checked = value === void 0 ? void 0 : c.props.value === value;
|
8500
|
-
return
|
8706
|
+
return import_react93.default.cloneElement(c, {
|
8501
8707
|
name,
|
8502
8708
|
defaultChecked: (_a3 = c.props.defaultChecked) != null ? _a3 : defaultChecked,
|
8503
8709
|
checked: (_b2 = c.props.checked) != null ? _b2 : checked,
|
@@ -8506,11 +8712,11 @@ var RadioButtonGroup = (_a) => {
|
|
8506
8712
|
readOnly
|
8507
8713
|
});
|
8508
8714
|
});
|
8509
|
-
return /* @__PURE__ */
|
8715
|
+
return /* @__PURE__ */ import_react93.default.createElement(LabelControl, __spreadValues(__spreadValues({
|
8510
8716
|
fieldset: true
|
8511
|
-
}, labelControlProps), errorProps), cols && /* @__PURE__ */
|
8717
|
+
}, labelControlProps), errorProps), cols && /* @__PURE__ */ import_react93.default.createElement(InputGroup, {
|
8512
8718
|
cols
|
8513
|
-
}, content), !cols && /* @__PURE__ */
|
8719
|
+
}, content), !cols && /* @__PURE__ */ import_react93.default.createElement(Flexbox, {
|
8514
8720
|
direction,
|
8515
8721
|
alignItems: "flex-start",
|
8516
8722
|
colGap: "8",
|
@@ -8519,12 +8725,12 @@ var RadioButtonGroup = (_a) => {
|
|
8519
8725
|
}, content));
|
8520
8726
|
};
|
8521
8727
|
var RadioButtonGroupSkeleton = ({ direction = "row", options = 2 }) => {
|
8522
|
-
return /* @__PURE__ */
|
8728
|
+
return /* @__PURE__ */ import_react93.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react93.default.createElement("div", {
|
8523
8729
|
className: tw("flex flex-wrap", {
|
8524
8730
|
"flex-row gap-8": direction === "row",
|
8525
8731
|
"flex-col gap-2": direction === "column"
|
8526
8732
|
})
|
8527
|
-
}, Array.from({ length: options }).map((_, key) => /* @__PURE__ */
|
8733
|
+
}, Array.from({ length: options }).map((_, key) => /* @__PURE__ */ import_react93.default.createElement(RadioButton2.Skeleton, {
|
8528
8734
|
key
|
8529
8735
|
}))));
|
8530
8736
|
};
|
@@ -8532,68 +8738,68 @@ RadioButtonGroup.Skeleton = RadioButtonGroupSkeleton;
|
|
8532
8738
|
RadioButtonGroup.Skeleton.displayName = "RadioButtonGroup.Skeleton";
|
8533
8739
|
|
8534
8740
|
// src/molecules/Section/Section.tsx
|
8535
|
-
var
|
8741
|
+
var import_react95 = __toESM(require("react"));
|
8536
8742
|
var import_castArray4 = __toESM(require("lodash/castArray"));
|
8537
8743
|
|
8538
8744
|
// src/atoms/Section/Section.tsx
|
8539
|
-
var
|
8540
|
-
var
|
8745
|
+
var import_react94 = __toESM(require("react"));
|
8746
|
+
var Section3 = (_a) => {
|
8541
8747
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
8542
|
-
return /* @__PURE__ */
|
8748
|
+
return /* @__PURE__ */ import_react94.default.createElement(Box, __spreadValues({
|
8543
8749
|
borderColor: "grey-5",
|
8544
8750
|
borderWidth: "1px"
|
8545
8751
|
}, rest), children);
|
8546
8752
|
};
|
8547
|
-
|
8753
|
+
Section3.Header = (_a) => {
|
8548
8754
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
8549
|
-
return /* @__PURE__ */
|
8755
|
+
return /* @__PURE__ */ import_react94.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8550
8756
|
className: classNames(tw("px-6 py-5 flex gap-5 justify-between items-center"), className)
|
8551
8757
|
}), children);
|
8552
8758
|
};
|
8553
|
-
|
8759
|
+
Section3.TitleContainer = (_a) => {
|
8554
8760
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
8555
|
-
return /* @__PURE__ */
|
8761
|
+
return /* @__PURE__ */ import_react94.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8556
8762
|
className: classNames(tw("flex flex-col grow gap-2"), className)
|
8557
8763
|
}), children);
|
8558
8764
|
};
|
8559
|
-
|
8765
|
+
Section3.Title = (_a) => {
|
8560
8766
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
8561
|
-
return /* @__PURE__ */
|
8767
|
+
return /* @__PURE__ */ import_react94.default.createElement(Typography2.Subheading, __spreadProps(__spreadValues({}, rest), {
|
8562
8768
|
color: "black"
|
8563
8769
|
}), children);
|
8564
8770
|
};
|
8565
|
-
|
8771
|
+
Section3.Subtitle = (_a) => {
|
8566
8772
|
var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
|
8567
|
-
return /* @__PURE__ */
|
8773
|
+
return /* @__PURE__ */ import_react94.default.createElement(Typography2.SmallText, __spreadProps(__spreadValues({}, rest), {
|
8568
8774
|
color: "grey-70"
|
8569
8775
|
}), children);
|
8570
8776
|
};
|
8571
|
-
|
8777
|
+
Section3.Actions = (_a) => {
|
8572
8778
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
8573
|
-
return /* @__PURE__ */
|
8779
|
+
return /* @__PURE__ */ import_react94.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8574
8780
|
className: classNames(tw("flex gap-4 justify-end"), className)
|
8575
8781
|
}), children);
|
8576
8782
|
};
|
8577
|
-
|
8783
|
+
Section3.Body = (_a) => {
|
8578
8784
|
var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
|
8579
|
-
return /* @__PURE__ */
|
8785
|
+
return /* @__PURE__ */ import_react94.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8580
8786
|
className: classNames(tw("p-6"), className)
|
8581
|
-
}), /* @__PURE__ */
|
8787
|
+
}), /* @__PURE__ */ import_react94.default.createElement(Typography, {
|
8582
8788
|
htmlTag: "div",
|
8583
8789
|
color: "grey-70"
|
8584
8790
|
}, children));
|
8585
8791
|
};
|
8586
8792
|
|
8587
8793
|
// src/molecules/Section/Section.tsx
|
8588
|
-
var
|
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) => {
|
8589
8795
|
var _b = _a, { text } = _b, action = __objRest(_b, ["text"]);
|
8590
|
-
return /* @__PURE__ */
|
8796
|
+
return /* @__PURE__ */ import_react95.default.createElement(SecondaryButton, __spreadValues({
|
8591
8797
|
key: text
|
8592
8798
|
}, action), text);
|
8593
|
-
}))), /* @__PURE__ */
|
8799
|
+
}))), /* @__PURE__ */ import_react95.default.createElement(Divider2, null)), /* @__PURE__ */ import_react95.default.createElement(Section3.Body, null, children));
|
8594
8800
|
|
8595
8801
|
// src/molecules/SegmentedControl/SegmentedControl.tsx
|
8596
|
-
var
|
8802
|
+
var import_react96 = __toESM(require("react"));
|
8597
8803
|
var SegmentedControl = (_a) => {
|
8598
8804
|
var _b = _a, {
|
8599
8805
|
children,
|
@@ -8610,7 +8816,7 @@ var SegmentedControl = (_a) => {
|
|
8610
8816
|
"selected",
|
8611
8817
|
"className"
|
8612
8818
|
]);
|
8613
|
-
return /* @__PURE__ */
|
8819
|
+
return /* @__PURE__ */ import_react96.default.createElement("button", __spreadProps(__spreadValues({
|
8614
8820
|
type: "button"
|
8615
8821
|
}, rest), {
|
8616
8822
|
className: classNames(
|
@@ -8641,11 +8847,11 @@ var SegmentedControlGroup = (_a) => {
|
|
8641
8847
|
"border border-grey-20 text-grey-50": variant === "outlined",
|
8642
8848
|
"bg-grey-0": variant === "raised"
|
8643
8849
|
});
|
8644
|
-
return /* @__PURE__ */
|
8850
|
+
return /* @__PURE__ */ import_react96.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8645
8851
|
className: classNames(classes2, className)
|
8646
|
-
}),
|
8852
|
+
}), import_react96.default.Children.map(
|
8647
8853
|
children,
|
8648
|
-
(child) =>
|
8854
|
+
(child) => import_react96.default.cloneElement(child, {
|
8649
8855
|
dense,
|
8650
8856
|
variant,
|
8651
8857
|
onClick: () => onChange(child.props.value),
|
@@ -8683,10 +8889,10 @@ var getCommonClassNames = (dense, selected) => tw(
|
|
8683
8889
|
);
|
8684
8890
|
|
8685
8891
|
// src/molecules/Spacing/Spacing.tsx
|
8686
|
-
var
|
8892
|
+
var import_react97 = __toESM(require("react"));
|
8687
8893
|
var Spacing = (_a) => {
|
8688
8894
|
var _b = _a, { gap, row } = _b, rest = __objRest(_b, ["gap", "row"]);
|
8689
|
-
return /* @__PURE__ */
|
8895
|
+
return /* @__PURE__ */ import_react97.default.createElement(Box, __spreadProps(__spreadValues({}, rest), {
|
8690
8896
|
display: "flex",
|
8691
8897
|
flexDirection: row ? "row" : "column",
|
8692
8898
|
gap
|
@@ -8694,14 +8900,14 @@ var Spacing = (_a) => {
|
|
8694
8900
|
};
|
8695
8901
|
|
8696
8902
|
// src/molecules/Stepper/Stepper.tsx
|
8697
|
-
var
|
8903
|
+
var import_react99 = __toESM(require("react"));
|
8698
8904
|
|
8699
8905
|
// src/atoms/Stepper/Stepper.tsx
|
8700
|
-
var
|
8906
|
+
var import_react98 = __toESM(require("react"));
|
8701
8907
|
var import_tick5 = __toESM(require_tick());
|
8702
8908
|
var Stepper = (_a) => {
|
8703
8909
|
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
8704
|
-
return /* @__PURE__ */
|
8910
|
+
return /* @__PURE__ */ import_react98.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8705
8911
|
className: classNames(className)
|
8706
8912
|
}));
|
8707
8913
|
};
|
@@ -8715,7 +8921,7 @@ var ConnectorContainer = (_a) => {
|
|
8715
8921
|
"completed",
|
8716
8922
|
"dense"
|
8717
8923
|
]);
|
8718
|
-
return /* @__PURE__ */
|
8924
|
+
return /* @__PURE__ */ import_react98.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8719
8925
|
className: classNames(
|
8720
8926
|
tw("absolute w-full -left-1/2", {
|
8721
8927
|
"top-[3px] px-[14px]": Boolean(dense),
|
@@ -8727,7 +8933,7 @@ var ConnectorContainer = (_a) => {
|
|
8727
8933
|
};
|
8728
8934
|
var Connector = (_a) => {
|
8729
8935
|
var _b = _a, { children, className, completed, dense } = _b, rest = __objRest(_b, ["children", "className", "completed", "dense"]);
|
8730
|
-
return /* @__PURE__ */
|
8936
|
+
return /* @__PURE__ */ import_react98.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8731
8937
|
className: classNames(
|
8732
8938
|
tw("w-full", {
|
8733
8939
|
"bg-grey-20": !completed,
|
@@ -8741,7 +8947,7 @@ var Connector = (_a) => {
|
|
8741
8947
|
};
|
8742
8948
|
var Step = (_a) => {
|
8743
8949
|
var _b = _a, { className, state } = _b, rest = __objRest(_b, ["className", "state"]);
|
8744
|
-
return /* @__PURE__ */
|
8950
|
+
return /* @__PURE__ */ import_react98.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8745
8951
|
className: classNames(
|
8746
8952
|
tw("flex flex-col items-center text-grey-90 relative text-center", {
|
8747
8953
|
"text-grey-20": state === "inactive"
|
@@ -8762,13 +8968,13 @@ var getDenseClassNames = (state) => tw("h-[8px] w-[8px]", {
|
|
8762
8968
|
});
|
8763
8969
|
var Indicator = (_a) => {
|
8764
8970
|
var _b = _a, { children, className, state, dense } = _b, rest = __objRest(_b, ["children", "className", "state", "dense"]);
|
8765
|
-
return /* @__PURE__ */
|
8971
|
+
return /* @__PURE__ */ import_react98.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
8766
8972
|
className: classNames(
|
8767
8973
|
tw("rounded-full flex justify-center items-center mx-2 mb-3"),
|
8768
8974
|
dense ? getDenseClassNames(state) : getClassNames(state),
|
8769
8975
|
className
|
8770
8976
|
)
|
8771
|
-
}), state === "completed" ? /* @__PURE__ */
|
8977
|
+
}), state === "completed" ? /* @__PURE__ */ import_react98.default.createElement(InlineIcon, {
|
8772
8978
|
icon: import_tick5.default
|
8773
8979
|
}) : dense ? null : children);
|
8774
8980
|
};
|
@@ -8779,46 +8985,47 @@ Stepper.ConnectorContainer = ConnectorContainer;
|
|
8779
8985
|
|
8780
8986
|
// src/molecules/Stepper/Stepper.tsx
|
8781
8987
|
var Stepper2 = ({ children, activeIndex, dense }) => {
|
8782
|
-
const steps =
|
8783
|
-
return /* @__PURE__ */
|
8988
|
+
const steps = import_react99.default.Children.count(children);
|
8989
|
+
return /* @__PURE__ */ import_react99.default.createElement(Stepper, {
|
8784
8990
|
role: "list"
|
8785
|
-
}, /* @__PURE__ */
|
8991
|
+
}, /* @__PURE__ */ import_react99.default.createElement(Template, {
|
8786
8992
|
columns: steps
|
8787
|
-
},
|
8993
|
+
}, import_react99.default.Children.map(children, (child, index) => {
|
8788
8994
|
if (!isComponentType(child, Step2)) {
|
8789
8995
|
return new Error("<Stepper> can only have <Stepper.Step> components as children");
|
8790
8996
|
} else {
|
8791
8997
|
const state = index > activeIndex ? "inactive" : index === activeIndex ? "active" : "completed";
|
8792
|
-
return /* @__PURE__ */
|
8998
|
+
return /* @__PURE__ */ import_react99.default.createElement(Stepper.Step, {
|
8793
8999
|
state,
|
8794
9000
|
"aria-current": state === "active" ? "step" : false,
|
8795
9001
|
role: "listitem"
|
8796
|
-
}, index > 0 && index <= steps && /* @__PURE__ */
|
9002
|
+
}, index > 0 && index <= steps && /* @__PURE__ */ import_react99.default.createElement(Stepper.ConnectorContainer, {
|
8797
9003
|
dense
|
8798
|
-
}, /* @__PURE__ */
|
9004
|
+
}, /* @__PURE__ */ import_react99.default.createElement(Stepper.ConnectorContainer.Connector, {
|
8799
9005
|
completed: state === "completed" || state === "active"
|
8800
|
-
})), /* @__PURE__ */
|
9006
|
+
})), /* @__PURE__ */ import_react99.default.createElement(Stepper.Step.Indicator, {
|
8801
9007
|
state,
|
8802
9008
|
dense
|
8803
9009
|
}, index + 1), child.props.children);
|
8804
9010
|
}
|
8805
9011
|
})));
|
8806
9012
|
};
|
9013
|
+
Stepper2.displayName = "Stepper";
|
8807
9014
|
var Step2 = () => null;
|
8808
9015
|
Step2.displayName = "Stepper.Step";
|
8809
9016
|
Stepper2.Step = Step2;
|
8810
9017
|
|
8811
9018
|
// src/molecules/Switch/Switch.tsx
|
8812
|
-
var
|
9019
|
+
var import_react101 = __toESM(require("react"));
|
8813
9020
|
|
8814
9021
|
// src/atoms/Switch/Switch.tsx
|
8815
|
-
var
|
8816
|
-
var Switch =
|
9022
|
+
var import_react100 = __toESM(require("react"));
|
9023
|
+
var Switch = import_react100.default.forwardRef(
|
8817
9024
|
(_a, ref) => {
|
8818
9025
|
var _b = _a, { id, children, name, disabled = false, readOnly = false } = _b, props = __objRest(_b, ["id", "children", "name", "disabled", "readOnly"]);
|
8819
|
-
return /* @__PURE__ */
|
9026
|
+
return /* @__PURE__ */ import_react100.default.createElement("span", {
|
8820
9027
|
className: tw("relative inline-flex justify-center items-center self-center group")
|
8821
|
-
}, /* @__PURE__ */
|
9028
|
+
}, /* @__PURE__ */ import_react100.default.createElement("input", __spreadProps(__spreadValues({
|
8822
9029
|
id,
|
8823
9030
|
ref,
|
8824
9031
|
type: "checkbox",
|
@@ -8837,7 +9044,7 @@ var Switch = import_react97.default.forwardRef(
|
|
8837
9044
|
),
|
8838
9045
|
readOnly,
|
8839
9046
|
disabled
|
8840
|
-
})), /* @__PURE__ */
|
9047
|
+
})), /* @__PURE__ */ import_react100.default.createElement("span", {
|
8841
9048
|
className: tw(
|
8842
9049
|
"pointer-events-none rounded-full absolute inline-block transition duration-300 h-4 w-4 transform peer-checked/switch:translate-x-5",
|
8843
9050
|
"bg-white peer-disabled/switch:bg-grey-0 left-2 peer-checked/switch:left-1",
|
@@ -8850,12 +9057,12 @@ var Switch = import_react97.default.forwardRef(
|
|
8850
9057
|
);
|
8851
9058
|
|
8852
9059
|
// src/molecules/Switch/Switch.tsx
|
8853
|
-
var Switch2 =
|
9060
|
+
var Switch2 = import_react101.default.forwardRef(
|
8854
9061
|
(_a, ref) => {
|
8855
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"]);
|
8856
9063
|
var _a2;
|
8857
9064
|
const isChecked = (_a2 = props.checked) != null ? _a2 : props.defaultChecked;
|
8858
|
-
return !readOnly || isChecked ? /* @__PURE__ */
|
9065
|
+
return !readOnly || isChecked ? /* @__PURE__ */ import_react101.default.createElement(ControlLabel, {
|
8859
9066
|
htmlFor: id,
|
8860
9067
|
label: children,
|
8861
9068
|
"aria-label": ariaLabel,
|
@@ -8863,7 +9070,7 @@ var Switch2 = import_react98.default.forwardRef(
|
|
8863
9070
|
readOnly,
|
8864
9071
|
disabled,
|
8865
9072
|
style: { gap: "0 8px" }
|
8866
|
-
}, !readOnly && /* @__PURE__ */
|
9073
|
+
}, !readOnly && /* @__PURE__ */ import_react101.default.createElement(Switch, __spreadProps(__spreadValues({
|
8867
9074
|
id,
|
8868
9075
|
ref,
|
8869
9076
|
name
|
@@ -8874,12 +9081,12 @@ var Switch2 = import_react98.default.forwardRef(
|
|
8874
9081
|
}
|
8875
9082
|
);
|
8876
9083
|
Switch2.displayName = "Switch";
|
8877
|
-
var SwitchSkeleton = () => /* @__PURE__ */
|
9084
|
+
var SwitchSkeleton = () => /* @__PURE__ */ import_react101.default.createElement("div", {
|
8878
9085
|
className: tw("flex gap-3")
|
8879
|
-
}, /* @__PURE__ */
|
9086
|
+
}, /* @__PURE__ */ import_react101.default.createElement(Skeleton, {
|
8880
9087
|
height: 20,
|
8881
9088
|
width: 35
|
8882
|
-
}), /* @__PURE__ */
|
9089
|
+
}), /* @__PURE__ */ import_react101.default.createElement(Skeleton, {
|
8883
9090
|
height: 20,
|
8884
9091
|
width: 150
|
8885
9092
|
}));
|
@@ -8887,7 +9094,7 @@ Switch2.Skeleton = SwitchSkeleton;
|
|
8887
9094
|
Switch2.Skeleton.displayName = "Switch.Skeleton ";
|
8888
9095
|
|
8889
9096
|
// src/molecules/SwitchGroup/SwitchGroup.tsx
|
8890
|
-
var
|
9097
|
+
var import_react102 = __toESM(require("react"));
|
8891
9098
|
var import_uniqueId9 = __toESM(require("lodash/uniqueId"));
|
8892
9099
|
var SwitchGroup = (_a) => {
|
8893
9100
|
var _b = _a, {
|
@@ -8906,7 +9113,7 @@ var SwitchGroup = (_a) => {
|
|
8906
9113
|
"children"
|
8907
9114
|
]);
|
8908
9115
|
var _a2;
|
8909
|
-
const [selectedItems, setSelectedItems] = (0,
|
9116
|
+
const [selectedItems, setSelectedItems] = (0, import_react102.useState)((_a2 = value != null ? value : defaultValue) != null ? _a2 : []);
|
8910
9117
|
if (value !== void 0 && value !== selectedItems) {
|
8911
9118
|
setSelectedItems(value);
|
8912
9119
|
}
|
@@ -8919,11 +9126,11 @@ var SwitchGroup = (_a) => {
|
|
8919
9126
|
setSelectedItems(updated);
|
8920
9127
|
onChange == null ? void 0 : onChange(updated);
|
8921
9128
|
};
|
8922
|
-
return /* @__PURE__ */
|
9129
|
+
return /* @__PURE__ */ import_react102.default.createElement(LabelControl, __spreadValues(__spreadValues({
|
8923
9130
|
fieldset: true
|
8924
|
-
}, labelControlProps), errorProps), /* @__PURE__ */
|
9131
|
+
}, labelControlProps), errorProps), /* @__PURE__ */ import_react102.default.createElement(InputGroup, {
|
8925
9132
|
cols
|
8926
|
-
},
|
9133
|
+
}, import_react102.default.Children.map(children, (c) => {
|
8927
9134
|
var _a3, _b2, _c, _d;
|
8928
9135
|
if (!isComponentType(c, Switch2)) {
|
8929
9136
|
return null;
|
@@ -8931,7 +9138,7 @@ var SwitchGroup = (_a) => {
|
|
8931
9138
|
const str = (_a3 = c.props.value) == null ? void 0 : _a3.toString();
|
8932
9139
|
const defaultChecked = defaultValue === void 0 ? void 0 : str !== void 0 && defaultValue.includes(str);
|
8933
9140
|
const checked = value === void 0 ? void 0 : str !== void 0 && value.includes(str);
|
8934
|
-
return
|
9141
|
+
return import_react102.default.cloneElement(c, {
|
8935
9142
|
defaultChecked: (_b2 = c.props.defaultChecked) != null ? _b2 : defaultChecked,
|
8936
9143
|
checked: (_c = c.props.checked) != null ? _c : checked,
|
8937
9144
|
onChange: (_d = c.props.onChange) != null ? _d : handleChange,
|
@@ -8941,9 +9148,9 @@ var SwitchGroup = (_a) => {
|
|
8941
9148
|
})));
|
8942
9149
|
};
|
8943
9150
|
var SwitchGroupSkeleton = ({ options = 2 }) => {
|
8944
|
-
return /* @__PURE__ */
|
9151
|
+
return /* @__PURE__ */ import_react102.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react102.default.createElement("div", {
|
8945
9152
|
className: tw("flex flex-wrap flex-col gap-2")
|
8946
|
-
}, Array.from({ length: options }).map((_, key) => /* @__PURE__ */
|
9153
|
+
}, Array.from({ length: options }).map((_, key) => /* @__PURE__ */ import_react102.default.createElement(Switch2.Skeleton, {
|
8947
9154
|
key
|
8948
9155
|
}))));
|
8949
9156
|
};
|
@@ -8951,10 +9158,10 @@ SwitchGroup.Skeleton = SwitchGroupSkeleton;
|
|
8951
9158
|
SwitchGroup.Skeleton.displayName = "SwitchGroup.Skeleton";
|
8952
9159
|
|
8953
9160
|
// src/molecules/TagLabel/TagLabel.tsx
|
8954
|
-
var
|
9161
|
+
var import_react103 = __toESM(require("react"));
|
8955
9162
|
var TagLabel = (_a) => {
|
8956
9163
|
var _b = _a, { title, dense = false } = _b, rest = __objRest(_b, ["title", "dense"]);
|
8957
|
-
return /* @__PURE__ */
|
9164
|
+
return /* @__PURE__ */ import_react103.default.createElement("span", __spreadProps(__spreadValues({}, rest), {
|
8958
9165
|
className: tw("rounded-full text-white bg-primary-70", {
|
8959
9166
|
"py-2 px-4 typography-caption": !dense,
|
8960
9167
|
"py-2 px-3 typography-caption-small": dense
|
@@ -8963,14 +9170,14 @@ var TagLabel = (_a) => {
|
|
8963
9170
|
};
|
8964
9171
|
|
8965
9172
|
// src/molecules/Textarea/Textarea.tsx
|
8966
|
-
var
|
9173
|
+
var import_react104 = __toESM(require("react"));
|
8967
9174
|
var import_omit16 = __toESM(require("lodash/omit"));
|
8968
9175
|
var import_toString2 = __toESM(require("lodash/toString"));
|
8969
9176
|
var import_uniqueId10 = __toESM(require("lodash/uniqueId"));
|
8970
|
-
var TextareaBase =
|
9177
|
+
var TextareaBase = import_react104.default.forwardRef(
|
8971
9178
|
(_a, ref) => {
|
8972
9179
|
var _b = _a, { readOnly = false, valid = true } = _b, props = __objRest(_b, ["readOnly", "valid"]);
|
8973
|
-
return /* @__PURE__ */
|
9180
|
+
return /* @__PURE__ */ import_react104.default.createElement("textarea", __spreadProps(__spreadValues({
|
8974
9181
|
ref
|
8975
9182
|
}, props), {
|
8976
9183
|
readOnly,
|
@@ -8978,23 +9185,23 @@ var TextareaBase = import_react101.default.forwardRef(
|
|
8978
9185
|
}));
|
8979
9186
|
}
|
8980
9187
|
);
|
8981
|
-
TextareaBase.Skeleton = () => /* @__PURE__ */
|
9188
|
+
TextareaBase.Skeleton = () => /* @__PURE__ */ import_react104.default.createElement(Skeleton, {
|
8982
9189
|
height: 58
|
8983
9190
|
});
|
8984
|
-
var Textarea =
|
9191
|
+
var Textarea = import_react104.default.forwardRef((props, ref) => {
|
8985
9192
|
var _a, _b, _c;
|
8986
|
-
const [value, setValue] = (0,
|
8987
|
-
const id = (0,
|
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)()}`);
|
8988
9195
|
const errorMessageId = (0, import_uniqueId10.default)();
|
8989
9196
|
const errorProps = props.valid === false ? { "aria-invalid": true, "aria-describedby": errorMessageId } : {};
|
8990
9197
|
const _d = getLabelControlProps(props), { "data-testid": dataTestId } = _d, labelControlProps = __objRest(_d, ["data-testid"]);
|
8991
9198
|
const baseProps = (0, import_omit16.default)(props, Object.keys(labelControlProps));
|
8992
|
-
return /* @__PURE__ */
|
9199
|
+
return /* @__PURE__ */ import_react104.default.createElement(LabelControl, __spreadValues({
|
8993
9200
|
id: `${id.current}-label`,
|
8994
9201
|
htmlFor: id.current,
|
8995
9202
|
messageId: errorMessageId,
|
8996
9203
|
length: value !== void 0 ? (0, import_toString2.default)(value).length : void 0
|
8997
|
-
}, labelControlProps), /* @__PURE__ */
|
9204
|
+
}, labelControlProps), /* @__PURE__ */ import_react104.default.createElement(TextareaBase, __spreadProps(__spreadValues(__spreadValues({
|
8998
9205
|
ref
|
8999
9206
|
}, baseProps), errorProps), {
|
9000
9207
|
id: id.current,
|
@@ -9011,48 +9218,48 @@ var Textarea = import_react101.default.forwardRef((props, ref) => {
|
|
9011
9218
|
})));
|
9012
9219
|
});
|
9013
9220
|
Textarea.displayName = "Textarea";
|
9014
|
-
var TextAreaSkeleton = () => /* @__PURE__ */
|
9221
|
+
var TextAreaSkeleton = () => /* @__PURE__ */ import_react104.default.createElement(LabelControl.Skeleton, null, /* @__PURE__ */ import_react104.default.createElement(TextareaBase.Skeleton, null));
|
9015
9222
|
Textarea.Skeleton = TextAreaSkeleton;
|
9016
9223
|
Textarea.Skeleton.displayName = "Textarea.Skeleton";
|
9017
9224
|
|
9018
9225
|
// src/molecules/Timeline/Timeline.tsx
|
9019
|
-
var
|
9226
|
+
var import_react106 = __toESM(require("react"));
|
9020
9227
|
|
9021
9228
|
// src/atoms/Timeline/Timeline.tsx
|
9022
|
-
var
|
9229
|
+
var import_react105 = __toESM(require("react"));
|
9023
9230
|
var Timeline = (_a) => {
|
9024
9231
|
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
9025
|
-
return /* @__PURE__ */
|
9232
|
+
return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
9026
9233
|
className: classNames(tw("grid grid-cols-[16px_1fr] gap-x-4"), className)
|
9027
9234
|
}));
|
9028
9235
|
};
|
9029
9236
|
var Content2 = (_a) => {
|
9030
9237
|
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
9031
|
-
return /* @__PURE__ */
|
9238
|
+
return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
9032
9239
|
className: classNames(tw("pb-6"), className)
|
9033
9240
|
}));
|
9034
9241
|
};
|
9035
9242
|
var Separator2 = (_a) => {
|
9036
9243
|
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
9037
|
-
return /* @__PURE__ */
|
9244
|
+
return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
9038
9245
|
className: classNames(tw("flex items-center justify-center h-5 w-5"), className)
|
9039
9246
|
}));
|
9040
9247
|
};
|
9041
9248
|
var LineContainer = (_a) => {
|
9042
9249
|
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
9043
|
-
return /* @__PURE__ */
|
9250
|
+
return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
9044
9251
|
className: classNames(tw("flex justify-center py-1"), className)
|
9045
9252
|
}));
|
9046
9253
|
};
|
9047
9254
|
var Line = (_a) => {
|
9048
9255
|
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
9049
|
-
return /* @__PURE__ */
|
9256
|
+
return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
9050
9257
|
className: classNames(tw("w-1 bg-grey-5 h-full justify-self-center"), className)
|
9051
9258
|
}));
|
9052
9259
|
};
|
9053
9260
|
var Dot = (_a) => {
|
9054
9261
|
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
9055
|
-
return /* @__PURE__ */
|
9262
|
+
return /* @__PURE__ */ import_react105.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
9056
9263
|
className: classNames(tw("bg-grey-30 h-[6px] w-[6px] rounded"), className)
|
9057
9264
|
}));
|
9058
9265
|
};
|
@@ -9067,52 +9274,52 @@ var import_error4 = __toESM(require_error());
|
|
9067
9274
|
var import_time = __toESM(require_time());
|
9068
9275
|
var import_warningSign4 = __toESM(require_warningSign());
|
9069
9276
|
var TimelineItem = () => null;
|
9070
|
-
var Timeline2 = ({ children }) => /* @__PURE__ */
|
9277
|
+
var Timeline2 = ({ children }) => /* @__PURE__ */ import_react106.default.createElement("div", null, import_react106.default.Children.map(children, (item) => {
|
9071
9278
|
if (!isComponentType(item, TimelineItem)) {
|
9072
9279
|
throw new Error("<Timeline> can only have <Timeline.Item> components as children");
|
9073
9280
|
} else {
|
9074
9281
|
const { props, key } = item;
|
9075
|
-
return /* @__PURE__ */
|
9282
|
+
return /* @__PURE__ */ import_react106.default.createElement(Timeline, {
|
9076
9283
|
key: key != null ? key : props.title
|
9077
|
-
}, /* @__PURE__ */
|
9284
|
+
}, /* @__PURE__ */ import_react106.default.createElement(Timeline.Separator, null, props.variant === "error" ? /* @__PURE__ */ import_react106.default.createElement(Icon, {
|
9078
9285
|
icon: import_error4.default,
|
9079
9286
|
color: "error-30"
|
9080
|
-
}) : props.variant === "warning" ? /* @__PURE__ */
|
9287
|
+
}) : props.variant === "warning" ? /* @__PURE__ */ import_react106.default.createElement(Icon, {
|
9081
9288
|
icon: import_warningSign4.default,
|
9082
9289
|
color: "warning-30"
|
9083
|
-
}) : props.variant === "info" ? /* @__PURE__ */
|
9290
|
+
}) : props.variant === "info" ? /* @__PURE__ */ import_react106.default.createElement(Icon, {
|
9084
9291
|
icon: import_time.default,
|
9085
9292
|
color: "info-30"
|
9086
|
-
}) : /* @__PURE__ */
|
9293
|
+
}) : /* @__PURE__ */ import_react106.default.createElement(Timeline.Separator.Dot, null)), /* @__PURE__ */ import_react106.default.createElement(Typography2.Caption, {
|
9087
9294
|
color: "grey-50"
|
9088
|
-
}, props.title), /* @__PURE__ */
|
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)));
|
9089
9296
|
}
|
9090
9297
|
}));
|
9091
|
-
var TimelineItemSkeleton = () => /* @__PURE__ */
|
9298
|
+
var TimelineItemSkeleton = () => /* @__PURE__ */ import_react106.default.createElement(Timeline, null, /* @__PURE__ */ import_react106.default.createElement(Timeline.Separator, null, /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
|
9092
9299
|
width: 6,
|
9093
9300
|
height: 6,
|
9094
9301
|
rounded: true
|
9095
|
-
})), /* @__PURE__ */
|
9302
|
+
})), /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
|
9096
9303
|
height: 12,
|
9097
9304
|
width: 120
|
9098
|
-
}), /* @__PURE__ */
|
9305
|
+
}), /* @__PURE__ */ import_react106.default.createElement(Timeline.LineContainer, null, /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
|
9099
9306
|
width: 2,
|
9100
9307
|
height: "100%"
|
9101
|
-
})), /* @__PURE__ */
|
9308
|
+
})), /* @__PURE__ */ import_react106.default.createElement(Timeline.Content, null, /* @__PURE__ */ import_react106.default.createElement(Box, {
|
9102
9309
|
display: "flex",
|
9103
9310
|
flexDirection: "column",
|
9104
9311
|
gap: "3"
|
9105
|
-
}, /* @__PURE__ */
|
9312
|
+
}, /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
|
9106
9313
|
height: 32,
|
9107
9314
|
width: "100%"
|
9108
|
-
}), /* @__PURE__ */
|
9315
|
+
}), /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
|
9109
9316
|
height: 32,
|
9110
9317
|
width: "73%"
|
9111
|
-
}), /* @__PURE__ */
|
9318
|
+
}), /* @__PURE__ */ import_react106.default.createElement(Skeleton, {
|
9112
9319
|
height: 32,
|
9113
9320
|
width: "80%"
|
9114
9321
|
}))));
|
9115
|
-
var TimelineSkeleton = ({ items = 3 }) => /* @__PURE__ */
|
9322
|
+
var TimelineSkeleton = ({ items = 3 }) => /* @__PURE__ */ import_react106.default.createElement("div", null, Array.from({ length: items }).map((_, key) => /* @__PURE__ */ import_react106.default.createElement(TimelineItemSkeleton, {
|
9116
9323
|
key
|
9117
9324
|
})));
|
9118
9325
|
Timeline2.Item = TimelineItem;
|
@@ -9120,9 +9327,9 @@ Timeline2.Skeleton = TimelineSkeleton;
|
|
9120
9327
|
Timeline2.Skeleton.displayName = "Timeline.Skeleton";
|
9121
9328
|
|
9122
9329
|
// src/utils/table/useTableSelect.ts
|
9123
|
-
var
|
9330
|
+
var import_react107 = __toESM(require("react"));
|
9124
9331
|
var useTableSelect = (data, { key }) => {
|
9125
|
-
const [selected, setSelected] =
|
9332
|
+
const [selected, setSelected] = import_react107.default.useState([]);
|
9126
9333
|
const allSelected = selected.length === data.length;
|
9127
9334
|
const isSelected = (dot) => selected.includes(dot[key]);
|
9128
9335
|
const selectAll = () => setSelected(data.map((dot) => dot[key]));
|
@@ -9147,7 +9354,7 @@ var useTableSelect = (data, { key }) => {
|
|
9147
9354
|
};
|
9148
9355
|
|
9149
9356
|
// src/molecules/Pagination/usePagination.tsx
|
9150
|
-
var
|
9357
|
+
var import_react108 = require("react");
|
9151
9358
|
var import_clamp3 = __toESM(require("lodash/clamp"));
|
9152
9359
|
var initialState = {
|
9153
9360
|
currentPage: 1,
|
@@ -9155,8 +9362,8 @@ var initialState = {
|
|
9155
9362
|
};
|
9156
9363
|
var getPageIndex = (currentPage, pageSize) => currentPage === 0 ? 0 : (currentPage - 1) * pageSize;
|
9157
9364
|
var usePagination = (items, options) => {
|
9158
|
-
const [currentPage, setCurrentPage] = (0,
|
9159
|
-
const [pageSize, setPageSize] = (0,
|
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);
|
9160
9367
|
const totalPages = items.length > 0 ? Math.ceil(items.length / pageSize) : 1;
|
9161
9368
|
const hasPreviousPage = currentPage > 1;
|
9162
9369
|
const hasNextPage = currentPage < totalPages;
|
@@ -9166,7 +9373,7 @@ var usePagination = (items, options) => {
|
|
9166
9373
|
setPageSize(pageSize2);
|
9167
9374
|
setCurrentPage((0, import_clamp3.default)((options == null ? void 0 : options.initialPage) || initialState.currentPage, 1, newTotalPages));
|
9168
9375
|
};
|
9169
|
-
(0,
|
9376
|
+
(0, import_react108.useEffect)(() => {
|
9170
9377
|
setCurrentPage((0, import_clamp3.default)((options == null ? void 0 : options.initialPage) || initialState.currentPage, 1, totalPages));
|
9171
9378
|
}, [items.length]);
|
9172
9379
|
return [
|
@@ -9366,6 +9573,7 @@ var system_default = __spreadProps(__spreadValues({}, molecules_exports), {
|
|
9366
9573
|
MultiSelectBase,
|
9367
9574
|
NativeSelect,
|
9368
9575
|
NativeSelectBase,
|
9576
|
+
Navigation,
|
9369
9577
|
OneLineBanner,
|
9370
9578
|
Option,
|
9371
9579
|
PageHeader,
|