@cerberus-design/react 0.13.2-next-46f23d2 → 0.13.2-next-9b3d27e
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/build/legacy/_tsup-dts-rollup.d.cts +297 -1
- package/build/legacy/components/Accordion.cjs.map +1 -1
- package/build/legacy/components/AccordionItemGroup.cjs.map +1 -1
- package/build/legacy/components/Admonition.cjs +3 -0
- package/build/legacy/components/Admonition.cjs.map +1 -1
- package/build/legacy/components/Avatar.cjs +3 -0
- package/build/legacy/components/Avatar.cjs.map +1 -1
- package/build/legacy/components/Checkbox.cjs +3 -0
- package/build/legacy/components/Checkbox.cjs.map +1 -1
- package/build/legacy/components/DatePicker.client.cjs +525 -0
- package/build/legacy/components/DatePicker.client.cjs.map +1 -0
- package/build/legacy/components/DatePicker.server.cjs +364 -0
- package/build/legacy/components/DatePicker.server.cjs.map +1 -0
- package/build/legacy/components/FileStatus.cjs +3 -0
- package/build/legacy/components/FileStatus.cjs.map +1 -1
- package/build/legacy/components/FileUploader.cjs +3 -0
- package/build/legacy/components/FileUploader.cjs.map +1 -1
- package/build/legacy/components/Input.cjs +3 -0
- package/build/legacy/components/Input.cjs.map +1 -1
- package/build/legacy/components/Notification.cjs +3 -0
- package/build/legacy/components/Notification.cjs.map +1 -1
- package/build/legacy/components/Select.cjs +3 -0
- package/build/legacy/components/Select.cjs.map +1 -1
- package/build/legacy/components/Tag.cjs +3 -0
- package/build/legacy/components/Tag.cjs.map +1 -1
- package/build/legacy/components/Toggle.cjs +3 -0
- package/build/legacy/components/Toggle.cjs.map +1 -1
- package/build/legacy/config/cerbIcons.cjs +3 -0
- package/build/legacy/config/cerbIcons.cjs.map +1 -1
- package/build/legacy/config/defineIcons.cjs +3 -0
- package/build/legacy/config/defineIcons.cjs.map +1 -1
- package/build/legacy/context/confirm-modal.cjs +3 -0
- package/build/legacy/context/confirm-modal.cjs.map +1 -1
- package/build/legacy/context/cta-modal.cjs +3 -0
- package/build/legacy/context/cta-modal.cjs.map +1 -1
- package/build/legacy/context/notification-center.cjs +3 -0
- package/build/legacy/context/notification-center.cjs.map +1 -1
- package/build/legacy/context/prompt-modal.cjs +3 -0
- package/build/legacy/context/prompt-modal.cjs.map +1 -1
- package/build/legacy/hooks/useDate.cjs +8 -0
- package/build/legacy/hooks/useDate.cjs.map +1 -1
- package/build/legacy/index.cjs +909 -613
- package/build/legacy/index.cjs.map +1 -1
- package/build/modern/_tsup-dts-rollup.d.ts +297 -1
- package/build/modern/{chunk-ZTYKIWYQ.js → chunk-34E3UFFB.js} +1 -1
- package/build/modern/chunk-34E3UFFB.js.map +1 -0
- package/build/modern/{chunk-CZND26FC.js → chunk-3BM6MZ4A.js} +8 -1
- package/build/modern/{chunk-CZND26FC.js.map → chunk-3BM6MZ4A.js.map} +1 -1
- package/build/modern/{chunk-67KLFLNR.js → chunk-4IMOKN2D.js} +3 -3
- package/build/modern/{chunk-XNX3OTJK.js → chunk-5KHU6MM5.js} +7 -1
- package/build/modern/chunk-5KHU6MM5.js.map +1 -0
- package/build/modern/{chunk-C3HYHH3H.js → chunk-BU5JK37R.js} +2 -2
- package/build/modern/{chunk-UBN2CZLV.js → chunk-DDOTCGGA.js} +2 -2
- package/build/modern/{chunk-CMDPTXHB.js → chunk-ECKJGCNH.js} +6 -6
- package/build/modern/{chunk-W3YI64C5.js → chunk-F4LTOZAN.js} +2 -2
- package/build/modern/{chunk-SVFZJYLV.js → chunk-F7EWTOML.js} +2 -2
- package/build/modern/{chunk-CSMPRYNC.js → chunk-F7XWOSN3.js} +2 -2
- package/build/modern/{chunk-NF5WV3OW.js → chunk-FRWNAVDM.js} +6 -6
- package/build/modern/{chunk-42RVVWGM.js → chunk-G7AGKII3.js} +11 -11
- package/build/modern/{chunk-RET4YOBV.js → chunk-GI6CSUU4.js} +6 -6
- package/build/modern/{chunk-35L6DOHE.js → chunk-HP4ZN473.js} +2 -2
- package/build/modern/chunk-IP5VFOPZ.js +132 -0
- package/build/modern/chunk-IP5VFOPZ.js.map +1 -0
- package/build/modern/{chunk-RHHFH6JJ.js → chunk-M73ECA25.js} +2 -2
- package/build/modern/{chunk-OFAATLPF.js → chunk-O7QVCF3H.js} +3 -3
- package/build/modern/chunk-QX4V5V74.js +169 -0
- package/build/modern/chunk-QX4V5V74.js.map +1 -0
- package/build/modern/{chunk-3DGV4ESI.js → chunk-S25RHYZV.js} +2 -2
- package/build/modern/{chunk-PGXJJDPH.js → chunk-W2LSPRQ3.js} +2 -2
- package/build/modern/{chunk-MRH2EO3L.js → chunk-XVU2NQCW.js} +2 -2
- package/build/modern/components/Accordion.js +1 -1
- package/build/modern/components/AccordionItemGroup.js +2 -2
- package/build/modern/components/Admonition.js +4 -4
- package/build/modern/components/Avatar.js +3 -3
- package/build/modern/components/Checkbox.js +3 -3
- package/build/modern/components/DatePicker.client.js +32 -0
- package/build/modern/components/DatePicker.client.js.map +1 -0
- package/build/modern/components/DatePicker.server.js +31 -0
- package/build/modern/components/DatePicker.server.js.map +1 -0
- package/build/modern/components/FileStatus.js +5 -5
- package/build/modern/components/FileUploader.js +4 -4
- package/build/modern/components/Input.js +3 -3
- package/build/modern/components/Notification.js +3 -3
- package/build/modern/components/Select.js +3 -3
- package/build/modern/components/Tag.js +3 -3
- package/build/modern/components/Toggle.js +3 -3
- package/build/modern/config/cerbIcons.js +1 -1
- package/build/modern/config/defineIcons.js +2 -2
- package/build/modern/context/confirm-modal.js +5 -5
- package/build/modern/context/cta-modal.js +5 -5
- package/build/modern/context/notification-center.js +4 -4
- package/build/modern/context/prompt-modal.js +8 -8
- package/build/modern/hooks/useDate.js +3 -1
- package/build/modern/index.js +110 -68
- package/build/modern/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Accordion.tsx +0 -1
- package/src/components/DatePicker.client.tsx +364 -0
- package/src/components/DatePicker.server.tsx +229 -0
- package/src/config/cerbIcons.ts +9 -0
- package/src/hooks/useDate.ts +12 -0
- package/src/index.ts +2 -0
- package/build/modern/chunk-XNX3OTJK.js.map +0 -1
- package/build/modern/chunk-ZTYKIWYQ.js.map +0 -1
- /package/build/modern/{chunk-67KLFLNR.js.map → chunk-4IMOKN2D.js.map} +0 -0
- /package/build/modern/{chunk-C3HYHH3H.js.map → chunk-BU5JK37R.js.map} +0 -0
- /package/build/modern/{chunk-UBN2CZLV.js.map → chunk-DDOTCGGA.js.map} +0 -0
- /package/build/modern/{chunk-CMDPTXHB.js.map → chunk-ECKJGCNH.js.map} +0 -0
- /package/build/modern/{chunk-W3YI64C5.js.map → chunk-F4LTOZAN.js.map} +0 -0
- /package/build/modern/{chunk-SVFZJYLV.js.map → chunk-F7EWTOML.js.map} +0 -0
- /package/build/modern/{chunk-CSMPRYNC.js.map → chunk-F7XWOSN3.js.map} +0 -0
- /package/build/modern/{chunk-NF5WV3OW.js.map → chunk-FRWNAVDM.js.map} +0 -0
- /package/build/modern/{chunk-42RVVWGM.js.map → chunk-G7AGKII3.js.map} +0 -0
- /package/build/modern/{chunk-RET4YOBV.js.map → chunk-GI6CSUU4.js.map} +0 -0
- /package/build/modern/{chunk-35L6DOHE.js.map → chunk-HP4ZN473.js.map} +0 -0
- /package/build/modern/{chunk-RHHFH6JJ.js.map → chunk-M73ECA25.js.map} +0 -0
- /package/build/modern/{chunk-OFAATLPF.js.map → chunk-O7QVCF3H.js.map} +0 -0
- /package/build/modern/{chunk-3DGV4ESI.js.map → chunk-S25RHYZV.js.map} +0 -0
- /package/build/modern/{chunk-PGXJJDPH.js.map → chunk-W2LSPRQ3.js.map} +0 -0
- /package/build/modern/{chunk-MRH2EO3L.js.map → chunk-XVU2NQCW.js.map} +0 -0
package/build/legacy/index.cjs
CHANGED
|
@@ -38,6 +38,23 @@ __export(src_exports, {
|
|
|
38
38
|
CircularProgress: () => CircularProgress,
|
|
39
39
|
ConfirmModal: () => ConfirmModal,
|
|
40
40
|
DateFormats: () => DateFormats,
|
|
41
|
+
DatePicker: () => DatePicker,
|
|
42
|
+
DatePickerCalendar: () => DatePickerCalendar,
|
|
43
|
+
DatePickerContent: () => DatePickerContent,
|
|
44
|
+
DatePickerContext: () => DatePickerContext,
|
|
45
|
+
DatePickerDayView: () => DatePickerDayView,
|
|
46
|
+
DatePickerInput: () => DatePickerInput,
|
|
47
|
+
DatePickerLabel: () => DatePickerLabel,
|
|
48
|
+
DatePickerMonthView: () => DatePickerMonthView,
|
|
49
|
+
DatePickerTable: () => DatePickerTable,
|
|
50
|
+
DatePickerTableCell: () => DatePickerTableCell,
|
|
51
|
+
DatePickerTableCellTrigger: () => DatePickerTableCellTrigger,
|
|
52
|
+
DatePickerTableHeader: () => DatePickerTableHeader,
|
|
53
|
+
DatePickerTrigger: () => DatePickerTrigger,
|
|
54
|
+
DatePickerView: () => DatePickerView,
|
|
55
|
+
DatePickerViewControl: () => DatePickerViewControl,
|
|
56
|
+
DatePickerViewControlGroup: () => DatePickerViewControlGroup,
|
|
57
|
+
DatePickerYearView: () => DatePickerYearView,
|
|
41
58
|
Droppable: () => Droppable,
|
|
42
59
|
FeatureFlag: () => FeatureFlag,
|
|
43
60
|
FeatureFlags: () => FeatureFlags,
|
|
@@ -76,6 +93,7 @@ __export(src_exports, {
|
|
|
76
93
|
ProgressBar: () => ProgressBar,
|
|
77
94
|
PromptModal: () => PromptModal,
|
|
78
95
|
Radio: () => Radio,
|
|
96
|
+
RangePickerInput: () => RangePickerInput,
|
|
79
97
|
Select: () => Select,
|
|
80
98
|
Show: () => Show,
|
|
81
99
|
Spinner: () => Spinner,
|
|
@@ -99,6 +117,7 @@ __export(src_exports, {
|
|
|
99
117
|
Tr: () => Tr,
|
|
100
118
|
createNavTriggerProps: () => createNavTriggerProps,
|
|
101
119
|
defineIcons: () => defineIcons,
|
|
120
|
+
formatISOToMilitary: () => formatISOToMilitary,
|
|
102
121
|
formatMilitaryDate: () => formatMilitaryDate,
|
|
103
122
|
formatMilitaryToISO: () => formatMilitaryToISO,
|
|
104
123
|
formatNotifyCount: () => formatNotifyCount,
|
|
@@ -368,6 +387,9 @@ function AnimatingUploadIcon(props) {
|
|
|
368
387
|
// src/config/cerbIcons.ts
|
|
369
388
|
var defaultIcons = {
|
|
370
389
|
avatar: import_icons2.UserFilled,
|
|
390
|
+
calendar: import_icons2.Calendar,
|
|
391
|
+
calendarPrev: import_icons2.ChevronLeft,
|
|
392
|
+
calendarNext: import_icons2.ChevronRight,
|
|
371
393
|
checkbox: CheckmarkIcon,
|
|
372
394
|
close: import_icons2.Close,
|
|
373
395
|
confirmModal: import_icons2.Information,
|
|
@@ -846,20 +868,389 @@ function CircularProgress(props) {
|
|
|
846
868
|
);
|
|
847
869
|
}
|
|
848
870
|
|
|
871
|
+
// src/components/DatePicker.client.tsx
|
|
872
|
+
var import_react7 = require("@ark-ui/react");
|
|
873
|
+
|
|
874
|
+
// src/components/Portal.tsx
|
|
875
|
+
var import_react4 = require("@ark-ui/react");
|
|
876
|
+
var Portal = import_react4.Portal;
|
|
877
|
+
|
|
878
|
+
// src/components/DatePicker.client.tsx
|
|
879
|
+
var import_react8 = require("react");
|
|
880
|
+
var import_recipes8 = require("@cerberus/styled-system/recipes");
|
|
881
|
+
var import_css10 = require("@cerberus/styled-system/css");
|
|
882
|
+
|
|
883
|
+
// src/components/DatePicker.server.tsx
|
|
884
|
+
var import_react5 = require("@ark-ui/react");
|
|
885
|
+
var import_css9 = require("@cerberus/styled-system/css");
|
|
886
|
+
var import_recipes7 = require("@cerberus/styled-system/recipes");
|
|
887
|
+
|
|
888
|
+
// src/components/IconButton.tsx
|
|
889
|
+
var import_css8 = require("@cerberus/styled-system/css");
|
|
890
|
+
var import_recipes6 = require("@cerberus/styled-system/recipes");
|
|
891
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
892
|
+
function IconButton(props) {
|
|
893
|
+
const { ariaLabel, palette, usage, size, ...nativeProps } = props;
|
|
894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
895
|
+
"button",
|
|
896
|
+
{
|
|
897
|
+
...nativeProps,
|
|
898
|
+
"aria-label": ariaLabel ?? "Icon Button",
|
|
899
|
+
className: (0, import_css8.cx)(
|
|
900
|
+
nativeProps.className,
|
|
901
|
+
(0, import_recipes6.iconButton)({
|
|
902
|
+
palette,
|
|
903
|
+
usage,
|
|
904
|
+
size
|
|
905
|
+
})
|
|
906
|
+
)
|
|
907
|
+
}
|
|
908
|
+
);
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
// src/components/DatePicker.server.tsx
|
|
912
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
913
|
+
var datePickerStyles = (0, import_recipes7.datePicker)();
|
|
914
|
+
function DatePickerLabel(props) {
|
|
915
|
+
const { className, ...arkProps } = props;
|
|
916
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
917
|
+
import_react5.DatePicker.Label,
|
|
918
|
+
{
|
|
919
|
+
...arkProps,
|
|
920
|
+
className: (0, import_css9.cx)(
|
|
921
|
+
className,
|
|
922
|
+
(0, import_recipes7.label)({
|
|
923
|
+
size: "sm"
|
|
924
|
+
})
|
|
925
|
+
)
|
|
926
|
+
}
|
|
927
|
+
);
|
|
928
|
+
}
|
|
929
|
+
function DatePickerTrigger(props) {
|
|
930
|
+
const { calendar: CalendarIcon } = $cerberusIcons;
|
|
931
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
932
|
+
import_react5.DatePicker.Trigger,
|
|
933
|
+
{
|
|
934
|
+
...props,
|
|
935
|
+
className: (0, import_css9.cx)(
|
|
936
|
+
props.className,
|
|
937
|
+
(0, import_recipes7.iconButton)({
|
|
938
|
+
size: "sm",
|
|
939
|
+
usage: "ghost"
|
|
940
|
+
}),
|
|
941
|
+
datePickerStyles.trigger
|
|
942
|
+
),
|
|
943
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CalendarIcon, {})
|
|
944
|
+
}
|
|
945
|
+
);
|
|
946
|
+
}
|
|
947
|
+
function DatePickerViewControl(props) {
|
|
948
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
949
|
+
import_react5.DatePicker.Control,
|
|
950
|
+
{
|
|
951
|
+
...props,
|
|
952
|
+
className: (0, import_css9.cx)(props.className, datePickerStyles.viewControl)
|
|
953
|
+
}
|
|
954
|
+
);
|
|
955
|
+
}
|
|
956
|
+
function DatePickerViewControlGroup(props) {
|
|
957
|
+
const { calendarPrev: PrevIcon, calendarNext: NextIcon } = $cerberusIcons;
|
|
958
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(DatePickerViewControl, { ...props, children: [
|
|
959
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react5.DatePicker.PrevTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(IconButton, { ariaLabel: "Previous", size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(PrevIcon, {}) }) }),
|
|
960
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react5.DatePicker.ViewTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
961
|
+
Button,
|
|
962
|
+
{
|
|
963
|
+
className: (0, import_css9.css)({
|
|
964
|
+
h: "2rem",
|
|
965
|
+
paddingInline: "md"
|
|
966
|
+
}),
|
|
967
|
+
shape: "rounded",
|
|
968
|
+
size: "sm",
|
|
969
|
+
usage: "ghost",
|
|
970
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react5.DatePicker.RangeText, {})
|
|
971
|
+
}
|
|
972
|
+
) }),
|
|
973
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react5.DatePicker.NextTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(IconButton, { ariaLabel: "Next", size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(NextIcon, {}) }) })
|
|
974
|
+
] });
|
|
975
|
+
}
|
|
976
|
+
function DatePickerTable(props) {
|
|
977
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
978
|
+
import_react5.DatePicker.Table,
|
|
979
|
+
{
|
|
980
|
+
...props,
|
|
981
|
+
className: (0, import_css9.cx)(props.className, datePickerStyles.table)
|
|
982
|
+
}
|
|
983
|
+
);
|
|
984
|
+
}
|
|
985
|
+
function DatePickerTableHeader(props) {
|
|
986
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
987
|
+
import_react5.DatePicker.TableHeader,
|
|
988
|
+
{
|
|
989
|
+
...props,
|
|
990
|
+
className: (0, import_css9.cx)(props.className, datePickerStyles.tableHeader)
|
|
991
|
+
}
|
|
992
|
+
);
|
|
993
|
+
}
|
|
994
|
+
function DatePickerTableCell(props) {
|
|
995
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
996
|
+
import_react5.DatePicker.TableCell,
|
|
997
|
+
{
|
|
998
|
+
...props,
|
|
999
|
+
className: (0, import_css9.cx)(props.className, datePickerStyles.tableCell)
|
|
1000
|
+
}
|
|
1001
|
+
);
|
|
1002
|
+
}
|
|
1003
|
+
function DatePickerTableCellTrigger(props) {
|
|
1004
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1005
|
+
import_react5.DatePicker.TableCellTrigger,
|
|
1006
|
+
{
|
|
1007
|
+
...props,
|
|
1008
|
+
className: (0, import_css9.cx)(props.className, datePickerStyles.tableCellTrigger)
|
|
1009
|
+
}
|
|
1010
|
+
);
|
|
1011
|
+
}
|
|
1012
|
+
var DatePickerView = import_react5.DatePicker.View;
|
|
1013
|
+
var DatePickerContext = import_react5.DatePicker.Context;
|
|
1014
|
+
|
|
1015
|
+
// src/hooks/useDate.ts
|
|
1016
|
+
var import_react6 = require("react");
|
|
1017
|
+
function useDate(options) {
|
|
1018
|
+
const initialValue = (options == null ? void 0 : options.initialValue) ?? "";
|
|
1019
|
+
const format = (options == null ? void 0 : options.format) ?? DateFormats.USMilitary;
|
|
1020
|
+
const onChange = options == null ? void 0 : options.onChange;
|
|
1021
|
+
const [value, setValue] = (0, import_react6.useState)(initialValue);
|
|
1022
|
+
const handleChange = (0, import_react6.useCallback)(
|
|
1023
|
+
(e) => {
|
|
1024
|
+
const newValue = formatMilitaryDate(e.currentTarget.value);
|
|
1025
|
+
if (onChange) onChange(e);
|
|
1026
|
+
setValue(newValue);
|
|
1027
|
+
},
|
|
1028
|
+
[onChange]
|
|
1029
|
+
);
|
|
1030
|
+
return (0, import_react6.useMemo)(
|
|
1031
|
+
() => ({
|
|
1032
|
+
format,
|
|
1033
|
+
value,
|
|
1034
|
+
ISO: formatMilitaryToISO(value),
|
|
1035
|
+
onChange: handleChange
|
|
1036
|
+
}),
|
|
1037
|
+
[format, value, handleChange]
|
|
1038
|
+
);
|
|
1039
|
+
}
|
|
1040
|
+
function formatMilitaryToISO(input3) {
|
|
1041
|
+
const [day, month, year] = input3.split(" ");
|
|
1042
|
+
const monthIndex = MONTHS.findIndex((m) => m.startsWith(month));
|
|
1043
|
+
const monthNum = monthIndex + 1;
|
|
1044
|
+
return `${year ?? "0000"}-${monthNum.toString().padStart(2, "0")}-${day.padStart(
|
|
1045
|
+
2,
|
|
1046
|
+
"0"
|
|
1047
|
+
)}`;
|
|
1048
|
+
}
|
|
1049
|
+
function formatMilitaryDate(input3) {
|
|
1050
|
+
let formatted = input3.toUpperCase().replace(/[^0-9A-Z]/g, "");
|
|
1051
|
+
let day = "";
|
|
1052
|
+
let month = "";
|
|
1053
|
+
let year = "";
|
|
1054
|
+
if (formatted.length >= 2) {
|
|
1055
|
+
day = formatted.replace(/[^0-9]/g, "").slice(0, 2);
|
|
1056
|
+
const dayNum = parseInt(day, 10);
|
|
1057
|
+
if (dayNum > 31) day = "31";
|
|
1058
|
+
else if (dayNum === 0) day = "01";
|
|
1059
|
+
formatted = formatted.slice(2);
|
|
1060
|
+
}
|
|
1061
|
+
if (formatted.length >= 3) {
|
|
1062
|
+
month = formatted.slice(0, 3);
|
|
1063
|
+
const monthIndex = MONTHS.findIndex((m) => m.startsWith(month));
|
|
1064
|
+
if (monthIndex !== -1) {
|
|
1065
|
+
month = MONTHS[monthIndex];
|
|
1066
|
+
} else {
|
|
1067
|
+
month = month.replace(/[^A-Z]/g, "");
|
|
1068
|
+
}
|
|
1069
|
+
formatted = formatted.slice(3);
|
|
1070
|
+
}
|
|
1071
|
+
if (formatted.length > 0) {
|
|
1072
|
+
year = formatted.slice(0, 4);
|
|
1073
|
+
}
|
|
1074
|
+
return [day, month, year].filter(Boolean).join(" ");
|
|
1075
|
+
}
|
|
1076
|
+
function formatISOToMilitary(date) {
|
|
1077
|
+
const [year, month, day] = date.split("-");
|
|
1078
|
+
const monthIndex = parseInt(month, 10) - 1;
|
|
1079
|
+
const monthStr = MONTHS[monthIndex];
|
|
1080
|
+
return `${day} ${monthStr} ${year}`;
|
|
1081
|
+
}
|
|
1082
|
+
var DateFormats = {
|
|
1083
|
+
get ISO() {
|
|
1084
|
+
return "YYYY-MM-DD";
|
|
1085
|
+
},
|
|
1086
|
+
get USMilitary() {
|
|
1087
|
+
return "DD MMM YYYY";
|
|
1088
|
+
},
|
|
1089
|
+
get Months() {
|
|
1090
|
+
return MONTHS;
|
|
1091
|
+
}
|
|
1092
|
+
};
|
|
1093
|
+
var MONTHS = [
|
|
1094
|
+
"JAN",
|
|
1095
|
+
"FEB",
|
|
1096
|
+
"MAR",
|
|
1097
|
+
"APR",
|
|
1098
|
+
"MAY",
|
|
1099
|
+
"JUN",
|
|
1100
|
+
"JUL",
|
|
1101
|
+
"AUG",
|
|
1102
|
+
"SEP",
|
|
1103
|
+
"OCT",
|
|
1104
|
+
"NOV",
|
|
1105
|
+
"DEC"
|
|
1106
|
+
];
|
|
1107
|
+
|
|
1108
|
+
// src/components/DatePicker.client.tsx
|
|
1109
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1110
|
+
var datePickerStyles2 = (0, import_recipes8.datePicker)();
|
|
1111
|
+
function DatePicker(props) {
|
|
1112
|
+
const states = useFieldContext();
|
|
1113
|
+
const handleFormat = (0, import_react8.useCallback)((value) => {
|
|
1114
|
+
return formatISOToMilitary(value.toString());
|
|
1115
|
+
}, []);
|
|
1116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1117
|
+
import_react7.DatePicker.Root,
|
|
1118
|
+
{
|
|
1119
|
+
...props,
|
|
1120
|
+
...states,
|
|
1121
|
+
format: handleFormat,
|
|
1122
|
+
positioning: {
|
|
1123
|
+
placement: "bottom-start"
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
);
|
|
1127
|
+
}
|
|
1128
|
+
function DatePickerInput(props) {
|
|
1129
|
+
const { invalid, ...fieldStates } = useFieldContext();
|
|
1130
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react7.DatePicker.Control, { className: datePickerStyles2.control, children: [
|
|
1131
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTrigger, {}),
|
|
1132
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1133
|
+
import_react7.DatePicker.Input,
|
|
1134
|
+
{
|
|
1135
|
+
...props,
|
|
1136
|
+
...fieldStates,
|
|
1137
|
+
...invalid && { "aria-invalid": true },
|
|
1138
|
+
className: (0, import_css10.cx)(props.className, datePickerStyles2.input),
|
|
1139
|
+
placeholder: props.placeholder ?? "DD MMM YYYY",
|
|
1140
|
+
maxLength: 11
|
|
1141
|
+
}
|
|
1142
|
+
)
|
|
1143
|
+
] });
|
|
1144
|
+
}
|
|
1145
|
+
function RangePickerInput(props) {
|
|
1146
|
+
const { invalid, ...fieldStates } = useFieldContext();
|
|
1147
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react7.DatePicker.Control, { "data-range": true, className: datePickerStyles2.control, children: [
|
|
1148
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTrigger, {}),
|
|
1149
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1150
|
+
import_react7.DatePicker.Input,
|
|
1151
|
+
{
|
|
1152
|
+
...props,
|
|
1153
|
+
...fieldStates,
|
|
1154
|
+
...invalid && { "aria-invalid": true },
|
|
1155
|
+
"data-range-input": true,
|
|
1156
|
+
className: (0, import_css10.cx)(props.className, datePickerStyles2.input),
|
|
1157
|
+
placeholder: props.placeholder ?? "DD MMM YYYY",
|
|
1158
|
+
maxLength: 11,
|
|
1159
|
+
index: 0
|
|
1160
|
+
}
|
|
1161
|
+
),
|
|
1162
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1163
|
+
import_react7.DatePicker.Input,
|
|
1164
|
+
{
|
|
1165
|
+
...props,
|
|
1166
|
+
...fieldStates,
|
|
1167
|
+
...invalid && { "aria-invalid": true },
|
|
1168
|
+
"data-range-input": true,
|
|
1169
|
+
"data-range-end-input": true,
|
|
1170
|
+
className: (0, import_css10.cx)(props.className, datePickerStyles2.input),
|
|
1171
|
+
placeholder: props.placeholder ?? "DD MMM YYYY",
|
|
1172
|
+
maxLength: 11,
|
|
1173
|
+
index: 1
|
|
1174
|
+
}
|
|
1175
|
+
)
|
|
1176
|
+
] });
|
|
1177
|
+
}
|
|
1178
|
+
function DatePickerContent(props) {
|
|
1179
|
+
const { children, ...contentProps } = props;
|
|
1180
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.Positioner, { className: datePickerStyles2.positioner, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1181
|
+
import_react7.DatePicker.Content,
|
|
1182
|
+
{
|
|
1183
|
+
...contentProps,
|
|
1184
|
+
className: (0, import_css10.cx)(contentProps.className, datePickerStyles2.content),
|
|
1185
|
+
children
|
|
1186
|
+
}
|
|
1187
|
+
) }) });
|
|
1188
|
+
}
|
|
1189
|
+
function DatePickerDayView(props) {
|
|
1190
|
+
function isToday(date) {
|
|
1191
|
+
const today = /* @__PURE__ */ new Date();
|
|
1192
|
+
const formatted = today.toISOString().split("T")[0];
|
|
1193
|
+
const arkDate = `${date.year}-${String(date.month).padStart(2, "0")}-${String(date.day).padStart(2, "0")}`;
|
|
1194
|
+
return formatted === arkDate;
|
|
1195
|
+
}
|
|
1196
|
+
function isPastDay(date) {
|
|
1197
|
+
const today = /* @__PURE__ */ new Date();
|
|
1198
|
+
const arkDate = `${date.year}-${String(date.month).padStart(2, "0")}-${String(date.day).padStart(2, "0")}`;
|
|
1199
|
+
return new Date(arkDate) < today;
|
|
1200
|
+
}
|
|
1201
|
+
function getDayValue(date) {
|
|
1202
|
+
if (isToday(date)) return "today";
|
|
1203
|
+
if (isPastDay(date)) return "past";
|
|
1204
|
+
return "future";
|
|
1205
|
+
}
|
|
1206
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerView, { ...props, view: "day", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerContext, { children: (datePicker3) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
1207
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerViewControlGroup, {}),
|
|
1208
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(DatePickerTable, { children: [
|
|
1209
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.TableHead, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.TableRow, { children: datePicker3.weekDays.map((weekDay, id) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableHeader, { children: weekDay.narrow }, id)) }) }),
|
|
1210
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.TableBody, { children: datePicker3.weeks.map((week, id) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.TableRow, { children: week.map((day, id2) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableCell, { value: day, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1211
|
+
DatePickerTableCellTrigger,
|
|
1212
|
+
{
|
|
1213
|
+
"data-date": getDayValue(day),
|
|
1214
|
+
children: day.day
|
|
1215
|
+
}
|
|
1216
|
+
) }, id2)) }, id)) })
|
|
1217
|
+
] })
|
|
1218
|
+
] }) }) });
|
|
1219
|
+
}
|
|
1220
|
+
function DatePickerMonthView(props) {
|
|
1221
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.View, { ...props, view: "month", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.Context, { children: (datePicker3) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
1222
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerViewControlGroup, {}),
|
|
1223
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTable, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.TableBody, { children: datePicker3.getMonthsGrid({ columns: 4, format: "short" }).map((months, id) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.TableRow, { children: months.map((month, id2) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableCell, { value: month.value, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableCellTrigger, { children: month.label }) }, id2)) }, id)) }) })
|
|
1224
|
+
] }) }) });
|
|
1225
|
+
}
|
|
1226
|
+
function DatePickerYearView(props) {
|
|
1227
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.View, { ...props, view: "year", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.Context, { children: (datePicker3) => /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
1228
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerViewControlGroup, {}),
|
|
1229
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTable, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.TableBody, { children: datePicker3.getYearsGrid({ columns: 4 }).map((years, id) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react7.DatePicker.TableRow, { children: years.map((year, id2) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableCell, { value: year.value, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerTableCellTrigger, { children: year.label }) }, id2)) }, id)) }) })
|
|
1230
|
+
] }) }) });
|
|
1231
|
+
}
|
|
1232
|
+
function DatePickerCalendar() {
|
|
1233
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(DatePickerContent, { children: [
|
|
1234
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerDayView, {}),
|
|
1235
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerMonthView, {}),
|
|
1236
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DatePickerYearView, {})
|
|
1237
|
+
] });
|
|
1238
|
+
}
|
|
1239
|
+
|
|
849
1240
|
// src/components/Droppable.tsx
|
|
850
1241
|
var import_core = require("@dnd-kit/core");
|
|
851
|
-
var
|
|
852
|
-
var
|
|
1242
|
+
var import_react9 = require("react");
|
|
1243
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
853
1244
|
function Droppable(props) {
|
|
854
1245
|
const { dropped, id, disabled, data, resizeObserverConfig, ...nativeProps } = props;
|
|
855
|
-
const uuid = (0,
|
|
1246
|
+
const uuid = (0, import_react9.useId)();
|
|
856
1247
|
const { isOver, setNodeRef } = (0, import_core.useDroppable)({
|
|
857
1248
|
data,
|
|
858
1249
|
disabled,
|
|
859
1250
|
id: id || uuid,
|
|
860
1251
|
resizeObserverConfig
|
|
861
1252
|
});
|
|
862
|
-
return /* @__PURE__ */ (0,
|
|
1253
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
863
1254
|
"div",
|
|
864
1255
|
{
|
|
865
1256
|
...nativeProps,
|
|
@@ -872,30 +1263,30 @@ function Droppable(props) {
|
|
|
872
1263
|
}
|
|
873
1264
|
|
|
874
1265
|
// src/components/FieldMessage.tsx
|
|
875
|
-
var
|
|
876
|
-
var
|
|
877
|
-
var
|
|
1266
|
+
var import_css11 = require("@cerberus/styled-system/css");
|
|
1267
|
+
var import_recipes9 = require("@cerberus/styled-system/recipes");
|
|
1268
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
878
1269
|
function FieldMessage(props) {
|
|
879
1270
|
const { invalid } = useFieldContext();
|
|
880
|
-
return /* @__PURE__ */ (0,
|
|
1271
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
881
1272
|
"small",
|
|
882
1273
|
{
|
|
883
1274
|
...props,
|
|
884
1275
|
...invalid && { "aria-invalid": true },
|
|
885
|
-
className: (0,
|
|
1276
|
+
className: (0, import_css11.cx)(props.className, (0, import_recipes9.fieldMessage)())
|
|
886
1277
|
}
|
|
887
1278
|
);
|
|
888
1279
|
}
|
|
889
1280
|
|
|
890
1281
|
// src/context/feature-flags.tsx
|
|
891
|
-
var
|
|
892
|
-
var
|
|
893
|
-
var FeatureFlagContext = (0,
|
|
1282
|
+
var import_react10 = require("react");
|
|
1283
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1284
|
+
var FeatureFlagContext = (0, import_react10.createContext)(null);
|
|
894
1285
|
function FeatureFlags(props) {
|
|
895
|
-
return /* @__PURE__ */ (0,
|
|
1286
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(FeatureFlagContext.Provider, { value: props.flags, children: props.children });
|
|
896
1287
|
}
|
|
897
1288
|
function useFeatureFlags(key) {
|
|
898
|
-
const context = (0,
|
|
1289
|
+
const context = (0, import_react10.useContext)(FeatureFlagContext);
|
|
899
1290
|
if (context === null) {
|
|
900
1291
|
throw new Error(
|
|
901
1292
|
"useFeatureFlag must be used within a FeatureFlags Provider"
|
|
@@ -905,26 +1296,26 @@ function useFeatureFlags(key) {
|
|
|
905
1296
|
}
|
|
906
1297
|
|
|
907
1298
|
// src/components/FeatureFlag.tsx
|
|
908
|
-
var
|
|
1299
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
909
1300
|
function FeatureFlag(props) {
|
|
910
1301
|
const showContent = useFeatureFlags(props.flag);
|
|
911
|
-
return /* @__PURE__ */ (0,
|
|
1302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Show, { when: showContent, children: props.children });
|
|
912
1303
|
}
|
|
913
1304
|
|
|
914
1305
|
// src/components/Fieldset.tsx
|
|
915
|
-
var
|
|
916
|
-
var
|
|
1306
|
+
var import_css12 = require("@cerberus/styled-system/css");
|
|
1307
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
917
1308
|
function Fieldset(props) {
|
|
918
1309
|
const { invalid, ...formState } = useFieldContext();
|
|
919
|
-
return /* @__PURE__ */ (0,
|
|
1310
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
920
1311
|
"fieldset",
|
|
921
1312
|
{
|
|
922
1313
|
...props,
|
|
923
1314
|
...formState,
|
|
924
1315
|
...invalid && { "aria-invalid": true },
|
|
925
|
-
className: (0,
|
|
1316
|
+
className: (0, import_css12.cx)(
|
|
926
1317
|
props.className,
|
|
927
|
-
(0,
|
|
1318
|
+
(0, import_css12.css)({
|
|
928
1319
|
border: "none",
|
|
929
1320
|
pt: 2,
|
|
930
1321
|
margin: 0
|
|
@@ -935,18 +1326,18 @@ function Fieldset(props) {
|
|
|
935
1326
|
}
|
|
936
1327
|
|
|
937
1328
|
// src/components/FieldsetLabel.tsx
|
|
938
|
-
var
|
|
939
|
-
var
|
|
940
|
-
var
|
|
1329
|
+
var import_css13 = require("@cerberus/styled-system/css");
|
|
1330
|
+
var import_recipes10 = require("@cerberus/styled-system/recipes");
|
|
1331
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
941
1332
|
function FieldsetLabel(props) {
|
|
942
1333
|
const { size, usage, ...nativeProps } = props;
|
|
943
|
-
return /* @__PURE__ */ (0,
|
|
1334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
944
1335
|
"label",
|
|
945
1336
|
{
|
|
946
1337
|
...nativeProps,
|
|
947
|
-
className: (0,
|
|
1338
|
+
className: (0, import_css13.cx)(
|
|
948
1339
|
nativeProps.className,
|
|
949
|
-
(0,
|
|
1340
|
+
(0, import_recipes10.label)({
|
|
950
1341
|
size,
|
|
951
1342
|
usage
|
|
952
1343
|
})
|
|
@@ -956,33 +1347,33 @@ function FieldsetLabel(props) {
|
|
|
956
1347
|
}
|
|
957
1348
|
|
|
958
1349
|
// src/components/FileStatus.tsx
|
|
959
|
-
var
|
|
960
|
-
var
|
|
961
|
-
var
|
|
1350
|
+
var import_react11 = require("react");
|
|
1351
|
+
var import_recipes12 = require("@cerberus/styled-system/recipes");
|
|
1352
|
+
var import_css15 = require("@cerberus/styled-system/css");
|
|
962
1353
|
var import_patterns5 = require("@cerberus/styled-system/patterns");
|
|
963
1354
|
|
|
964
1355
|
// src/components/ProgressBar.tsx
|
|
965
|
-
var
|
|
966
|
-
var
|
|
967
|
-
var
|
|
1356
|
+
var import_css14 = require("@cerberus/styled-system/css");
|
|
1357
|
+
var import_recipes11 = require("@cerberus/styled-system/recipes");
|
|
1358
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
968
1359
|
function ProgressBar(props) {
|
|
969
|
-
const { indeterminate, size, usage, now, label:
|
|
970
|
-
const styles = (0,
|
|
1360
|
+
const { indeterminate, size, usage, now, label: label5, ...nativeProps } = props;
|
|
1361
|
+
const styles = (0, import_recipes11.progressBar)({ size, usage });
|
|
971
1362
|
const nowClamped = Math.min(100, Math.max(0, now || 0));
|
|
972
1363
|
const width = {
|
|
973
1364
|
width: indeterminate ? "50%" : `${nowClamped}%`
|
|
974
1365
|
};
|
|
975
|
-
return /* @__PURE__ */ (0,
|
|
1366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
976
1367
|
"div",
|
|
977
1368
|
{
|
|
978
1369
|
...nativeProps,
|
|
979
|
-
"aria-label":
|
|
1370
|
+
"aria-label": label5,
|
|
980
1371
|
"aria-valuemin": 0,
|
|
981
1372
|
"aria-valuemax": 100,
|
|
982
1373
|
"aria-valuenow": indeterminate ? 0 : nowClamped,
|
|
983
|
-
className: (0,
|
|
1374
|
+
className: (0, import_css14.cx)(nativeProps.className, styles.root),
|
|
984
1375
|
role: "progressbar",
|
|
985
|
-
children: /* @__PURE__ */ (0,
|
|
1376
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
986
1377
|
"div",
|
|
987
1378
|
{
|
|
988
1379
|
...indeterminate && { "data-indeterminate": true },
|
|
@@ -995,31 +1386,8 @@ function ProgressBar(props) {
|
|
|
995
1386
|
);
|
|
996
1387
|
}
|
|
997
1388
|
|
|
998
|
-
// src/components/IconButton.tsx
|
|
999
|
-
var import_css12 = require("@cerberus/styled-system/css");
|
|
1000
|
-
var import_recipes9 = require("@cerberus/styled-system/recipes");
|
|
1001
|
-
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1002
|
-
function IconButton(props) {
|
|
1003
|
-
const { ariaLabel, palette, usage, size, ...nativeProps } = props;
|
|
1004
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1005
|
-
"button",
|
|
1006
|
-
{
|
|
1007
|
-
...nativeProps,
|
|
1008
|
-
"aria-label": ariaLabel ?? "Icon Button",
|
|
1009
|
-
className: (0, import_css12.cx)(
|
|
1010
|
-
nativeProps.className,
|
|
1011
|
-
(0, import_recipes9.iconButton)({
|
|
1012
|
-
palette,
|
|
1013
|
-
usage,
|
|
1014
|
-
size
|
|
1015
|
-
})
|
|
1016
|
-
)
|
|
1017
|
-
}
|
|
1018
|
-
);
|
|
1019
|
-
}
|
|
1020
|
-
|
|
1021
1389
|
// src/components/FileStatus.tsx
|
|
1022
|
-
var
|
|
1390
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1023
1391
|
var processStatus = /* @__PURE__ */ ((processStatus2) => {
|
|
1024
1392
|
processStatus2["TODO"] = "todo";
|
|
1025
1393
|
processStatus2["PROCESSING"] = "processing";
|
|
@@ -1029,24 +1397,24 @@ var processStatus = /* @__PURE__ */ ((processStatus2) => {
|
|
|
1029
1397
|
})(processStatus || {});
|
|
1030
1398
|
function FileStatus(props) {
|
|
1031
1399
|
const { file, now, status, onClick, ...nativeProps } = props;
|
|
1032
|
-
const actionLabel = (0,
|
|
1033
|
-
const palette = (0,
|
|
1034
|
-
const modalIconPalette = (0,
|
|
1035
|
-
const styles = (0,
|
|
1400
|
+
const actionLabel = (0, import_react11.useMemo)(() => getStatusActionLabel(status), [status]);
|
|
1401
|
+
const palette = (0, import_react11.useMemo)(() => getPalette(status), [status]);
|
|
1402
|
+
const modalIconPalette = (0, import_react11.useMemo)(() => getModalIconPalette(status), [status]);
|
|
1403
|
+
const styles = (0, import_react11.useMemo)(() => {
|
|
1036
1404
|
switch (status) {
|
|
1037
1405
|
case "todo" /* TODO */:
|
|
1038
|
-
return (0,
|
|
1406
|
+
return (0, import_recipes12.fileStatus)({ status: "todo" });
|
|
1039
1407
|
case "processing" /* PROCESSING */:
|
|
1040
|
-
return (0,
|
|
1408
|
+
return (0, import_recipes12.fileStatus)({ status: "processing" });
|
|
1041
1409
|
case "done" /* DONE */:
|
|
1042
|
-
return (0,
|
|
1410
|
+
return (0, import_recipes12.fileStatus)({ status: "done" });
|
|
1043
1411
|
case "error" /* ERROR */:
|
|
1044
|
-
return (0,
|
|
1412
|
+
return (0, import_recipes12.fileStatus)({ status: "error" });
|
|
1045
1413
|
default:
|
|
1046
|
-
return (0,
|
|
1414
|
+
return (0, import_recipes12.fileStatus)();
|
|
1047
1415
|
}
|
|
1048
1416
|
}, [status]);
|
|
1049
|
-
const handleClick = (0,
|
|
1417
|
+
const handleClick = (0, import_react11.useCallback)(
|
|
1050
1418
|
(e) => {
|
|
1051
1419
|
const actionStatus = getStatusActionLabel(
|
|
1052
1420
|
status
|
|
@@ -1055,22 +1423,22 @@ function FileStatus(props) {
|
|
|
1055
1423
|
},
|
|
1056
1424
|
[onClick]
|
|
1057
1425
|
);
|
|
1058
|
-
return /* @__PURE__ */ (0,
|
|
1426
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1059
1427
|
"div",
|
|
1060
1428
|
{
|
|
1061
1429
|
...nativeProps,
|
|
1062
|
-
className: (0,
|
|
1430
|
+
className: (0, import_css15.cx)(nativeProps.className, styles.root, (0, import_patterns5.hstack)()),
|
|
1063
1431
|
children: [
|
|
1064
|
-
/* @__PURE__ */ (0,
|
|
1432
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1065
1433
|
Avatar,
|
|
1066
1434
|
{
|
|
1067
1435
|
ariaLabel: "",
|
|
1068
1436
|
gradient: modalIconPalette,
|
|
1069
|
-
icon: /* @__PURE__ */ (0,
|
|
1437
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(MatchFileStatusIcon, { size: 24, status }),
|
|
1070
1438
|
src: ""
|
|
1071
1439
|
}
|
|
1072
1440
|
),
|
|
1073
|
-
/* @__PURE__ */ (0,
|
|
1441
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1074
1442
|
"div",
|
|
1075
1443
|
{
|
|
1076
1444
|
className: (0, import_patterns5.vstack)({
|
|
@@ -1079,17 +1447,17 @@ function FileStatus(props) {
|
|
|
1079
1447
|
w: "full"
|
|
1080
1448
|
}),
|
|
1081
1449
|
children: [
|
|
1082
|
-
/* @__PURE__ */ (0,
|
|
1450
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1083
1451
|
"small",
|
|
1084
1452
|
{
|
|
1085
|
-
className: (0,
|
|
1453
|
+
className: (0, import_css15.css)({
|
|
1086
1454
|
color: "page.text.initial",
|
|
1087
1455
|
textStyle: "label-sm"
|
|
1088
1456
|
}),
|
|
1089
1457
|
children: file
|
|
1090
1458
|
}
|
|
1091
1459
|
),
|
|
1092
|
-
/* @__PURE__ */ (0,
|
|
1460
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1093
1461
|
ProgressBar,
|
|
1094
1462
|
{
|
|
1095
1463
|
id: props.id,
|
|
@@ -1098,27 +1466,27 @@ function FileStatus(props) {
|
|
|
1098
1466
|
size: "sm"
|
|
1099
1467
|
}
|
|
1100
1468
|
),
|
|
1101
|
-
/* @__PURE__ */ (0,
|
|
1469
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Field, { invalid: modalIconPalette === "hades-dark", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1102
1470
|
FieldMessage,
|
|
1103
1471
|
{
|
|
1104
|
-
className: (0,
|
|
1472
|
+
className: (0, import_css15.css)({
|
|
1105
1473
|
color: "page.text.100"
|
|
1106
1474
|
}),
|
|
1107
1475
|
id: `help:${file}`,
|
|
1108
|
-
children: /* @__PURE__ */ (0,
|
|
1476
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(MatchFileStatusText, { status, now })
|
|
1109
1477
|
}
|
|
1110
1478
|
) })
|
|
1111
1479
|
]
|
|
1112
1480
|
}
|
|
1113
1481
|
),
|
|
1114
|
-
/* @__PURE__ */ (0,
|
|
1482
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1115
1483
|
IconButton,
|
|
1116
1484
|
{
|
|
1117
1485
|
ariaLabel: actionLabel,
|
|
1118
1486
|
onClick: handleClick,
|
|
1119
1487
|
palette,
|
|
1120
1488
|
size: "sm",
|
|
1121
|
-
children: /* @__PURE__ */ (0,
|
|
1489
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(MatchStatusAction, { status })
|
|
1122
1490
|
}
|
|
1123
1491
|
)
|
|
1124
1492
|
]
|
|
@@ -1134,13 +1502,13 @@ function MatchFileStatusIcon(props) {
|
|
|
1134
1502
|
} = $cerberusIcons;
|
|
1135
1503
|
switch (props.status) {
|
|
1136
1504
|
case "todo" /* TODO */:
|
|
1137
|
-
return /* @__PURE__ */ (0,
|
|
1505
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(TodoIcon, { size: props.size });
|
|
1138
1506
|
case "processing" /* PROCESSING */:
|
|
1139
|
-
return /* @__PURE__ */ (0,
|
|
1507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(FileUploaderIcon, { size: props.size });
|
|
1140
1508
|
case "done" /* DONE */:
|
|
1141
|
-
return /* @__PURE__ */ (0,
|
|
1509
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DoneIcon, { size: props.size });
|
|
1142
1510
|
case "error" /* ERROR */:
|
|
1143
|
-
return /* @__PURE__ */ (0,
|
|
1511
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(InvalidIcon, { size: props.size });
|
|
1144
1512
|
default:
|
|
1145
1513
|
throw new Error("Unknown status");
|
|
1146
1514
|
}
|
|
@@ -1164,11 +1532,11 @@ function MatchStatusAction(props) {
|
|
|
1164
1532
|
switch (props.status) {
|
|
1165
1533
|
case "todo" /* TODO */:
|
|
1166
1534
|
case "processing" /* PROCESSING */:
|
|
1167
|
-
return /* @__PURE__ */ (0,
|
|
1535
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(CloseIcon, {});
|
|
1168
1536
|
case "error" /* ERROR */:
|
|
1169
|
-
return /* @__PURE__ */ (0,
|
|
1537
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(RedoIcon, {});
|
|
1170
1538
|
case "done" /* DONE */:
|
|
1171
|
-
return /* @__PURE__ */ (0,
|
|
1539
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(TrashIcon, {});
|
|
1172
1540
|
default:
|
|
1173
1541
|
throw new Error("Invalid status");
|
|
1174
1542
|
}
|
|
@@ -1214,39 +1582,39 @@ function getModalIconPalette(status) {
|
|
|
1214
1582
|
}
|
|
1215
1583
|
|
|
1216
1584
|
// src/components/FileUploader.tsx
|
|
1217
|
-
var
|
|
1585
|
+
var import_css16 = require("@cerberus/styled-system/css");
|
|
1218
1586
|
var import_patterns6 = require("@cerberus/styled-system/patterns");
|
|
1219
|
-
var
|
|
1220
|
-
var
|
|
1587
|
+
var import_recipes13 = require("@cerberus/styled-system/recipes");
|
|
1588
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1221
1589
|
function FileUploader(props) {
|
|
1222
1590
|
var _a;
|
|
1223
|
-
const styles = (0,
|
|
1591
|
+
const styles = (0, import_recipes13.fileUploader)();
|
|
1224
1592
|
const { waitingFileUploader: Icon } = $cerberusIcons;
|
|
1225
|
-
return /* @__PURE__ */ (0,
|
|
1593
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
1226
1594
|
"div",
|
|
1227
1595
|
{
|
|
1228
1596
|
...props.disabled ? { "aria-disabled": true } : {},
|
|
1229
|
-
className: (0,
|
|
1597
|
+
className: (0, import_css16.cx)(
|
|
1230
1598
|
(0, import_patterns6.vstack)({
|
|
1231
1599
|
justify: "center"
|
|
1232
1600
|
}),
|
|
1233
1601
|
styles.container
|
|
1234
1602
|
),
|
|
1235
1603
|
children: [
|
|
1236
|
-
/* @__PURE__ */ (0,
|
|
1604
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1237
1605
|
Avatar,
|
|
1238
1606
|
{
|
|
1239
1607
|
gradient: "charon-light",
|
|
1240
1608
|
ariaLabel: "",
|
|
1241
|
-
icon: /* @__PURE__ */ (0,
|
|
1609
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Icon, {}),
|
|
1242
1610
|
size: "md",
|
|
1243
1611
|
src: ""
|
|
1244
1612
|
}
|
|
1245
1613
|
) }),
|
|
1246
|
-
/* @__PURE__ */ (0,
|
|
1614
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
1247
1615
|
"label",
|
|
1248
1616
|
{
|
|
1249
|
-
className: (0,
|
|
1617
|
+
className: (0, import_css16.cx)(
|
|
1250
1618
|
(0, import_patterns6.vstack)({
|
|
1251
1619
|
justify: "center"
|
|
1252
1620
|
}),
|
|
@@ -1254,16 +1622,16 @@ function FileUploader(props) {
|
|
|
1254
1622
|
),
|
|
1255
1623
|
htmlFor: props.name,
|
|
1256
1624
|
children: [
|
|
1257
|
-
/* @__PURE__ */ (0,
|
|
1625
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Show, { when: Boolean(props.heading), children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: styles.heading, children: props.heading }) }),
|
|
1258
1626
|
"Import ",
|
|
1259
1627
|
(_a = props.accept) == null ? void 0 : _a.replace(",", ", "),
|
|
1260
1628
|
" files",
|
|
1261
|
-
/* @__PURE__ */ (0,
|
|
1262
|
-
/* @__PURE__ */ (0,
|
|
1629
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: styles.description, children: "Click to select files" }),
|
|
1630
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1263
1631
|
"input",
|
|
1264
1632
|
{
|
|
1265
1633
|
...props,
|
|
1266
|
-
className: (0,
|
|
1634
|
+
className: (0, import_css16.cx)(props.className, styles.input),
|
|
1267
1635
|
type: "file"
|
|
1268
1636
|
}
|
|
1269
1637
|
)
|
|
@@ -1276,18 +1644,18 @@ function FileUploader(props) {
|
|
|
1276
1644
|
}
|
|
1277
1645
|
|
|
1278
1646
|
// src/components/Input.tsx
|
|
1279
|
-
var
|
|
1280
|
-
var
|
|
1281
|
-
var
|
|
1647
|
+
var import_recipes14 = require("@cerberus/styled-system/recipes");
|
|
1648
|
+
var import_css17 = require("@cerberus/styled-system/css");
|
|
1649
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1282
1650
|
function Input(props) {
|
|
1283
1651
|
const { describedBy, size, startIcon, endIcon, ...nativeProps } = props;
|
|
1284
|
-
const inputStyles = (0,
|
|
1652
|
+
const inputStyles = (0, import_recipes14.input)({ size });
|
|
1285
1653
|
const { invalid, ...fieldStates } = useFieldContext();
|
|
1286
1654
|
const hasEndIcon = Boolean(endIcon);
|
|
1287
1655
|
const { invalid: InvalidIcon } = $cerberusIcons;
|
|
1288
|
-
return /* @__PURE__ */ (0,
|
|
1289
|
-
/* @__PURE__ */ (0,
|
|
1290
|
-
/* @__PURE__ */ (0,
|
|
1656
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: inputStyles.root, children: [
|
|
1657
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Show, { when: Boolean(startIcon), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: inputStyles.startIcon, children: startIcon }) }),
|
|
1658
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
1291
1659
|
"input",
|
|
1292
1660
|
{
|
|
1293
1661
|
...nativeProps,
|
|
@@ -1295,31 +1663,31 @@ function Input(props) {
|
|
|
1295
1663
|
...describedBy && { "aria-describedby": describedBy },
|
|
1296
1664
|
...invalid && { "aria-invalid": true },
|
|
1297
1665
|
"data-start-icon": Boolean(startIcon),
|
|
1298
|
-
className: (0,
|
|
1666
|
+
className: (0, import_css17.cx)("peer", nativeProps.className, inputStyles.input)
|
|
1299
1667
|
}
|
|
1300
1668
|
),
|
|
1301
|
-
/* @__PURE__ */ (0,
|
|
1302
|
-
/* @__PURE__ */ (0,
|
|
1669
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Show, { when: invalid, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(InvalidIcon, { className: inputStyles.icon }) }),
|
|
1670
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Show, { when: hasEndIcon && !invalid, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: inputStyles.icon, children: endIcon }) })
|
|
1303
1671
|
] });
|
|
1304
1672
|
}
|
|
1305
1673
|
|
|
1306
1674
|
// src/components/Label.tsx
|
|
1307
|
-
var
|
|
1308
|
-
var
|
|
1675
|
+
var import_recipes15 = require("@cerberus/styled-system/recipes");
|
|
1676
|
+
var import_css18 = require("@cerberus/styled-system/css");
|
|
1309
1677
|
var import_patterns7 = require("@cerberus/styled-system/patterns");
|
|
1310
|
-
var
|
|
1678
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1311
1679
|
function Label(props) {
|
|
1312
1680
|
const { hidden, size, ...nativeProps } = props;
|
|
1313
1681
|
const { required, disabled } = useFieldContext();
|
|
1314
1682
|
const usage = hidden ? "hidden" : "visible";
|
|
1315
|
-
return /* @__PURE__ */ (0,
|
|
1683
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
1316
1684
|
"label",
|
|
1317
1685
|
{
|
|
1318
1686
|
...nativeProps,
|
|
1319
1687
|
...disabled && { "data-disabled": true },
|
|
1320
|
-
className: (0,
|
|
1688
|
+
className: (0, import_css18.cx)(
|
|
1321
1689
|
nativeProps.className,
|
|
1322
|
-
(0,
|
|
1690
|
+
(0, import_recipes15.label)({ size, usage }),
|
|
1323
1691
|
(0, import_patterns7.hstack)({
|
|
1324
1692
|
justify: "space-between",
|
|
1325
1693
|
w: "full"
|
|
@@ -1327,10 +1695,10 @@ function Label(props) {
|
|
|
1327
1695
|
),
|
|
1328
1696
|
children: [
|
|
1329
1697
|
props.children,
|
|
1330
|
-
/* @__PURE__ */ (0,
|
|
1698
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Show, { when: required, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1331
1699
|
"span",
|
|
1332
1700
|
{
|
|
1333
|
-
className: (0,
|
|
1701
|
+
className: (0, import_css18.css)({
|
|
1334
1702
|
color: "page.text.100",
|
|
1335
1703
|
fontSize: "inherit"
|
|
1336
1704
|
}),
|
|
@@ -1343,35 +1711,35 @@ function Label(props) {
|
|
|
1343
1711
|
}
|
|
1344
1712
|
|
|
1345
1713
|
// src/components/Legend.tsx
|
|
1346
|
-
var
|
|
1347
|
-
var
|
|
1714
|
+
var import_css19 = require("@cerberus/styled-system/css");
|
|
1715
|
+
var import_recipes16 = require("@cerberus/styled-system/recipes");
|
|
1348
1716
|
var import_patterns8 = require("@cerberus/styled-system/patterns");
|
|
1349
|
-
var
|
|
1717
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1350
1718
|
function Legend(props) {
|
|
1351
1719
|
const { size, ...nativeProps } = props;
|
|
1352
1720
|
const { invalid, ...formState } = useFieldContext();
|
|
1353
|
-
return /* @__PURE__ */ (0,
|
|
1721
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
1354
1722
|
"legend",
|
|
1355
1723
|
{
|
|
1356
1724
|
...nativeProps,
|
|
1357
1725
|
...formState,
|
|
1358
1726
|
...invalid && { "aria-invalid": true },
|
|
1359
|
-
className: (0,
|
|
1727
|
+
className: (0, import_css19.cx)(
|
|
1360
1728
|
nativeProps.className,
|
|
1361
1729
|
(0, import_patterns8.hstack)({
|
|
1362
1730
|
justify: "space-between",
|
|
1363
1731
|
w: "full"
|
|
1364
1732
|
}),
|
|
1365
|
-
(0,
|
|
1733
|
+
(0, import_recipes16.label)({
|
|
1366
1734
|
size
|
|
1367
1735
|
})
|
|
1368
1736
|
),
|
|
1369
1737
|
children: [
|
|
1370
1738
|
nativeProps.children,
|
|
1371
|
-
/* @__PURE__ */ (0,
|
|
1739
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Show, { when: formState.required, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1372
1740
|
"span",
|
|
1373
1741
|
{
|
|
1374
|
-
className: (0,
|
|
1742
|
+
className: (0, import_css19.css)({
|
|
1375
1743
|
color: "page.text.100",
|
|
1376
1744
|
fontSize: "inherit"
|
|
1377
1745
|
}),
|
|
@@ -1384,74 +1752,74 @@ function Legend(props) {
|
|
|
1384
1752
|
}
|
|
1385
1753
|
|
|
1386
1754
|
// src/components/Menu.tsx
|
|
1387
|
-
var
|
|
1388
|
-
var
|
|
1389
|
-
var
|
|
1390
|
-
var
|
|
1391
|
-
var menuStyles = (0,
|
|
1392
|
-
var Menu =
|
|
1755
|
+
var import_react12 = require("@ark-ui/react");
|
|
1756
|
+
var import_recipes17 = require("@cerberus/styled-system/recipes");
|
|
1757
|
+
var import_css20 = require("@cerberus/styled-system/css");
|
|
1758
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1759
|
+
var menuStyles = (0, import_recipes17.menu)();
|
|
1760
|
+
var Menu = import_react12.Menu.Root;
|
|
1393
1761
|
function MenuTrigger(props) {
|
|
1394
|
-
return /* @__PURE__ */ (0,
|
|
1762
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react12.Menu.Trigger, { ...props, asChild: true });
|
|
1395
1763
|
}
|
|
1396
1764
|
function MenuContent(props) {
|
|
1397
|
-
return /* @__PURE__ */ (0,
|
|
1398
|
-
|
|
1765
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react12.Menu.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1766
|
+
import_react12.Menu.Content,
|
|
1399
1767
|
{
|
|
1400
1768
|
...props,
|
|
1401
|
-
className: (0,
|
|
1769
|
+
className: (0, import_css20.cx)(props.className, menuStyles.content)
|
|
1402
1770
|
}
|
|
1403
1771
|
) });
|
|
1404
1772
|
}
|
|
1405
1773
|
function MenuItem(props) {
|
|
1406
|
-
return /* @__PURE__ */ (0,
|
|
1774
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react12.Menu.Item, { ...props, className: (0, import_css20.cx)(props.className, menuStyles.item) });
|
|
1407
1775
|
}
|
|
1408
|
-
var MenuItemGroup =
|
|
1776
|
+
var MenuItemGroup = import_react12.Menu.ItemGroup;
|
|
1409
1777
|
function MenuGroupLabel(props) {
|
|
1410
|
-
return /* @__PURE__ */ (0,
|
|
1411
|
-
|
|
1778
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1779
|
+
import_react12.Menu.ItemGroupLabel,
|
|
1412
1780
|
{
|
|
1413
1781
|
...props,
|
|
1414
|
-
className: (0,
|
|
1782
|
+
className: (0, import_css20.cx)(props.className, menuStyles.itemGroupLabel)
|
|
1415
1783
|
}
|
|
1416
1784
|
);
|
|
1417
1785
|
}
|
|
1418
1786
|
function MenuSeparator(props) {
|
|
1419
|
-
return /* @__PURE__ */ (0,
|
|
1420
|
-
|
|
1787
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1788
|
+
import_react12.Menu.Separator,
|
|
1421
1789
|
{
|
|
1422
1790
|
...props,
|
|
1423
|
-
className: (0,
|
|
1791
|
+
className: (0, import_css20.cx)(props.className, menuStyles.separator)
|
|
1424
1792
|
}
|
|
1425
1793
|
);
|
|
1426
1794
|
}
|
|
1427
1795
|
|
|
1428
1796
|
// src/components/Modal.tsx
|
|
1429
|
-
var
|
|
1430
|
-
var
|
|
1431
|
-
var
|
|
1432
|
-
var
|
|
1797
|
+
var import_css21 = require("@cerberus/styled-system/css");
|
|
1798
|
+
var import_recipes18 = require("@cerberus/styled-system/recipes");
|
|
1799
|
+
var import_react13 = require("react");
|
|
1800
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1433
1801
|
function ModalEl(props, ref) {
|
|
1434
|
-
return /* @__PURE__ */ (0,
|
|
1802
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1435
1803
|
"dialog",
|
|
1436
1804
|
{
|
|
1437
1805
|
...props,
|
|
1438
|
-
className: (0,
|
|
1806
|
+
className: (0, import_css21.cx)(props.className, (0, import_recipes18.modal)().dialog),
|
|
1439
1807
|
ref
|
|
1440
1808
|
}
|
|
1441
1809
|
);
|
|
1442
1810
|
}
|
|
1443
|
-
var Modal = (0,
|
|
1811
|
+
var Modal = (0, import_react13.forwardRef)(ModalEl);
|
|
1444
1812
|
|
|
1445
1813
|
// src/components/ModalHeader.tsx
|
|
1446
|
-
var
|
|
1814
|
+
var import_css22 = require("@cerberus/styled-system/css");
|
|
1447
1815
|
var import_patterns9 = require("@cerberus/styled-system/patterns");
|
|
1448
|
-
var
|
|
1816
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1449
1817
|
function ModalHeader(props) {
|
|
1450
|
-
return /* @__PURE__ */ (0,
|
|
1818
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1451
1819
|
"div",
|
|
1452
1820
|
{
|
|
1453
1821
|
...props,
|
|
1454
|
-
className: (0,
|
|
1822
|
+
className: (0, import_css22.cx)(
|
|
1455
1823
|
props.className,
|
|
1456
1824
|
(0, import_patterns9.vstack)({
|
|
1457
1825
|
alignItems: "flex-start",
|
|
@@ -1464,25 +1832,25 @@ function ModalHeader(props) {
|
|
|
1464
1832
|
}
|
|
1465
1833
|
|
|
1466
1834
|
// src/components/ModalHeading.tsx
|
|
1467
|
-
var
|
|
1468
|
-
var
|
|
1469
|
-
var
|
|
1835
|
+
var import_css23 = require("@cerberus/styled-system/css");
|
|
1836
|
+
var import_recipes19 = require("@cerberus/styled-system/recipes");
|
|
1837
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1470
1838
|
function ModalHeading(props) {
|
|
1471
|
-
return /* @__PURE__ */ (0,
|
|
1839
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { ...props, className: (0, import_css23.cx)(props.className, (0, import_recipes19.modal)().heading) });
|
|
1472
1840
|
}
|
|
1473
1841
|
|
|
1474
1842
|
// src/components/ModalDescription.tsx
|
|
1475
|
-
var
|
|
1476
|
-
var
|
|
1477
|
-
var
|
|
1843
|
+
var import_css24 = require("@cerberus/styled-system/css");
|
|
1844
|
+
var import_recipes20 = require("@cerberus/styled-system/recipes");
|
|
1845
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1478
1846
|
function ModalDescription(props) {
|
|
1479
|
-
return /* @__PURE__ */ (0,
|
|
1847
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { ...props, className: (0, import_css24.cx)(props.className, (0, import_recipes20.modal)().description) });
|
|
1480
1848
|
}
|
|
1481
1849
|
|
|
1482
1850
|
// src/components/NavMenuTrigger.tsx
|
|
1483
|
-
var
|
|
1484
|
-
var
|
|
1485
|
-
var
|
|
1851
|
+
var import_react15 = require("react");
|
|
1852
|
+
var import_css26 = require("@cerberus/styled-system/css");
|
|
1853
|
+
var import_recipes21 = require("@cerberus/styled-system/recipes");
|
|
1486
1854
|
|
|
1487
1855
|
// src/aria-helpers/nav-menu.aria.ts
|
|
1488
1856
|
function createNavTriggerProps(values) {
|
|
@@ -1493,18 +1861,18 @@ function createNavTriggerProps(values) {
|
|
|
1493
1861
|
}
|
|
1494
1862
|
|
|
1495
1863
|
// src/context/navMenu.tsx
|
|
1496
|
-
var
|
|
1497
|
-
var
|
|
1498
|
-
var
|
|
1499
|
-
var NavMenuContext = (0,
|
|
1864
|
+
var import_css25 = require("@cerberus/styled-system/css");
|
|
1865
|
+
var import_react14 = require("react");
|
|
1866
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1867
|
+
var NavMenuContext = (0, import_react14.createContext)(null);
|
|
1500
1868
|
function NavMenu(props) {
|
|
1501
|
-
const triggerRef = (0,
|
|
1502
|
-
const menuRef = (0,
|
|
1503
|
-
const [expanded, setExpanded] = (0,
|
|
1504
|
-
const handleToggle = (0,
|
|
1869
|
+
const triggerRef = (0, import_react14.useRef)(null);
|
|
1870
|
+
const menuRef = (0, import_react14.useRef)(null);
|
|
1871
|
+
const [expanded, setExpanded] = (0, import_react14.useState)(false);
|
|
1872
|
+
const handleToggle = (0, import_react14.useCallback)(() => {
|
|
1505
1873
|
setExpanded((prev) => !prev);
|
|
1506
1874
|
}, []);
|
|
1507
|
-
const value = (0,
|
|
1875
|
+
const value = (0, import_react14.useMemo)(
|
|
1508
1876
|
() => ({
|
|
1509
1877
|
triggerRef,
|
|
1510
1878
|
menuRef,
|
|
@@ -1513,10 +1881,10 @@ function NavMenu(props) {
|
|
|
1513
1881
|
}),
|
|
1514
1882
|
[expanded, handleToggle]
|
|
1515
1883
|
);
|
|
1516
|
-
return /* @__PURE__ */ (0,
|
|
1884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(NavMenuContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
1517
1885
|
"nav",
|
|
1518
1886
|
{
|
|
1519
|
-
className: (0,
|
|
1887
|
+
className: (0, import_css25.css)({
|
|
1520
1888
|
position: "relative"
|
|
1521
1889
|
}),
|
|
1522
1890
|
children: props.children
|
|
@@ -1524,7 +1892,7 @@ function NavMenu(props) {
|
|
|
1524
1892
|
) });
|
|
1525
1893
|
}
|
|
1526
1894
|
function useNavMenuContext() {
|
|
1527
|
-
const context = (0,
|
|
1895
|
+
const context = (0, import_react14.useContext)(NavMenuContext);
|
|
1528
1896
|
if (!context) {
|
|
1529
1897
|
throw new Error("useNavMenuContext must be used within a NavMenu.");
|
|
1530
1898
|
}
|
|
@@ -1532,7 +1900,7 @@ function useNavMenuContext() {
|
|
|
1532
1900
|
}
|
|
1533
1901
|
|
|
1534
1902
|
// src/components/NavMenuTrigger.tsx
|
|
1535
|
-
var
|
|
1903
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1536
1904
|
function NavMenuTrigger(props) {
|
|
1537
1905
|
const {
|
|
1538
1906
|
as,
|
|
@@ -1551,25 +1919,25 @@ function NavMenuTrigger(props) {
|
|
|
1551
1919
|
});
|
|
1552
1920
|
const hasAs = Boolean(as);
|
|
1553
1921
|
const AsSub = as;
|
|
1554
|
-
const handleClick = (0,
|
|
1922
|
+
const handleClick = (0, import_react15.useCallback)(
|
|
1555
1923
|
(e) => {
|
|
1556
1924
|
if (onClick) return onClick(e);
|
|
1557
1925
|
onToggle();
|
|
1558
1926
|
},
|
|
1559
1927
|
[onClick, onToggle]
|
|
1560
1928
|
);
|
|
1561
|
-
return /* @__PURE__ */ (0,
|
|
1929
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1562
1930
|
Show,
|
|
1563
1931
|
{
|
|
1564
1932
|
when: hasAs,
|
|
1565
|
-
fallback: /* @__PURE__ */ (0,
|
|
1933
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1566
1934
|
"button",
|
|
1567
1935
|
{
|
|
1568
1936
|
...nativeProps,
|
|
1569
1937
|
...ariaProps,
|
|
1570
|
-
className: (0,
|
|
1938
|
+
className: (0, import_css26.cx)(
|
|
1571
1939
|
nativeProps.className,
|
|
1572
|
-
(0,
|
|
1940
|
+
(0, import_recipes21.button)({
|
|
1573
1941
|
palette,
|
|
1574
1942
|
usage,
|
|
1575
1943
|
shape
|
|
@@ -1580,7 +1948,7 @@ function NavMenuTrigger(props) {
|
|
|
1580
1948
|
children: props.children
|
|
1581
1949
|
}
|
|
1582
1950
|
),
|
|
1583
|
-
children: hasAs && /* @__PURE__ */ (0,
|
|
1951
|
+
children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1584
1952
|
AsSub,
|
|
1585
1953
|
{
|
|
1586
1954
|
...nativeProps,
|
|
@@ -1594,10 +1962,10 @@ function NavMenuTrigger(props) {
|
|
|
1594
1962
|
}
|
|
1595
1963
|
|
|
1596
1964
|
// src/components/NavMenuList.tsx
|
|
1597
|
-
var
|
|
1598
|
-
var
|
|
1965
|
+
var import_react16 = require("react");
|
|
1966
|
+
var import_css27 = require("@cerberus/styled-system/css");
|
|
1599
1967
|
var import_patterns10 = require("@cerberus/styled-system/patterns");
|
|
1600
|
-
var
|
|
1968
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1601
1969
|
function getPosition(position) {
|
|
1602
1970
|
const defaultPositions = {
|
|
1603
1971
|
left: "auto",
|
|
@@ -1651,16 +2019,16 @@ var navListStyles = (0, import_patterns10.vstack)({
|
|
|
1651
2019
|
function NavMenuList(props) {
|
|
1652
2020
|
const { position, ...nativeProps } = props;
|
|
1653
2021
|
const { menuRef, expanded } = useNavMenuContext();
|
|
1654
|
-
const locationStyles = (0,
|
|
2022
|
+
const locationStyles = (0, import_react16.useMemo)(
|
|
1655
2023
|
() => getPosition(position ?? "bottom"),
|
|
1656
2024
|
[position]
|
|
1657
2025
|
);
|
|
1658
|
-
return /* @__PURE__ */ (0,
|
|
2026
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Show, { when: expanded, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1659
2027
|
"ul",
|
|
1660
2028
|
{
|
|
1661
2029
|
...nativeProps,
|
|
1662
2030
|
"data-position": position ?? "bottom",
|
|
1663
|
-
className: (0,
|
|
2031
|
+
className: (0, import_css27.cx)(nativeProps.className, navListStyles),
|
|
1664
2032
|
ref: menuRef,
|
|
1665
2033
|
style: locationStyles
|
|
1666
2034
|
}
|
|
@@ -1668,29 +2036,29 @@ function NavMenuList(props) {
|
|
|
1668
2036
|
}
|
|
1669
2037
|
|
|
1670
2038
|
// src/components/NavMenuLink.tsx
|
|
1671
|
-
var
|
|
1672
|
-
var
|
|
2039
|
+
var import_css28 = require("@cerberus/styled-system/css");
|
|
2040
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1673
2041
|
function NavMenuLink(props) {
|
|
1674
2042
|
const { as, ...nativeProps } = props;
|
|
1675
2043
|
const hasAs = Boolean(as);
|
|
1676
2044
|
const AsSub = as;
|
|
1677
|
-
return /* @__PURE__ */ (0,
|
|
2045
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1678
2046
|
"li",
|
|
1679
2047
|
{
|
|
1680
|
-
className: (0,
|
|
2048
|
+
className: (0, import_css28.css)({
|
|
1681
2049
|
w: "full"
|
|
1682
2050
|
}),
|
|
1683
|
-
children: /* @__PURE__ */ (0,
|
|
2051
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1684
2052
|
Show,
|
|
1685
2053
|
{
|
|
1686
2054
|
when: hasAs,
|
|
1687
|
-
fallback: /* @__PURE__ */ (0,
|
|
2055
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1688
2056
|
"a",
|
|
1689
2057
|
{
|
|
1690
2058
|
...nativeProps,
|
|
1691
|
-
className: (0,
|
|
2059
|
+
className: (0, import_css28.cx)(
|
|
1692
2060
|
nativeProps.className,
|
|
1693
|
-
(0,
|
|
2061
|
+
(0, import_css28.css)({
|
|
1694
2062
|
color: "action.navigation.initial",
|
|
1695
2063
|
textStyle: "link",
|
|
1696
2064
|
_hover: {
|
|
@@ -1700,7 +2068,7 @@ function NavMenuLink(props) {
|
|
|
1700
2068
|
)
|
|
1701
2069
|
}
|
|
1702
2070
|
),
|
|
1703
|
-
children: hasAs && /* @__PURE__ */ (0,
|
|
2071
|
+
children: hasAs && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AsSub, { ...nativeProps })
|
|
1704
2072
|
}
|
|
1705
2073
|
)
|
|
1706
2074
|
}
|
|
@@ -1708,10 +2076,10 @@ function NavMenuLink(props) {
|
|
|
1708
2076
|
}
|
|
1709
2077
|
|
|
1710
2078
|
// src/components/Notification.tsx
|
|
1711
|
-
var
|
|
2079
|
+
var import_css29 = require("@cerberus/styled-system/css");
|
|
1712
2080
|
var import_patterns11 = require("@cerberus/styled-system/patterns");
|
|
1713
|
-
var
|
|
1714
|
-
var
|
|
2081
|
+
var import_recipes22 = require("@cerberus/styled-system/recipes");
|
|
2082
|
+
var import_react17 = require("react");
|
|
1715
2083
|
|
|
1716
2084
|
// src/aria-helpers/trap-focus.aria.ts
|
|
1717
2085
|
function trapFocus(modalRef) {
|
|
@@ -1740,24 +2108,24 @@ function trapFocus(modalRef) {
|
|
|
1740
2108
|
}
|
|
1741
2109
|
|
|
1742
2110
|
// src/components/Notification.tsx
|
|
1743
|
-
var
|
|
2111
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1744
2112
|
function MatchNotificationIcon(props) {
|
|
1745
2113
|
const palette = props.palette || "info";
|
|
1746
2114
|
const key = `${palette}Notification`;
|
|
1747
2115
|
const Icon = $cerberusIcons[key];
|
|
1748
|
-
return /* @__PURE__ */ (0,
|
|
2116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon, {});
|
|
1749
2117
|
}
|
|
1750
2118
|
function Notification(props) {
|
|
1751
2119
|
const { children, palette, onClose, ...nativeProps } = props;
|
|
1752
|
-
const ref = (0,
|
|
2120
|
+
const ref = (0, import_react17.useRef)(null);
|
|
1753
2121
|
const onKeyDown = trapFocus(ref);
|
|
1754
|
-
const styles = (0,
|
|
2122
|
+
const styles = (0, import_recipes22.notification)({ palette });
|
|
1755
2123
|
const { close: CloseIcon } = $cerberusIcons;
|
|
1756
|
-
return /* @__PURE__ */ (0,
|
|
2124
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
1757
2125
|
"dialog",
|
|
1758
2126
|
{
|
|
1759
2127
|
...nativeProps,
|
|
1760
|
-
className: (0,
|
|
2128
|
+
className: (0, import_css29.cx)(
|
|
1761
2129
|
nativeProps.className,
|
|
1762
2130
|
(0, import_patterns11.hstack)({
|
|
1763
2131
|
position: "relative",
|
|
@@ -1768,8 +2136,8 @@ function Notification(props) {
|
|
|
1768
2136
|
onKeyDown,
|
|
1769
2137
|
ref,
|
|
1770
2138
|
children: [
|
|
1771
|
-
/* @__PURE__ */ (0,
|
|
1772
|
-
/* @__PURE__ */ (0,
|
|
2139
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: styles.icon, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(MatchNotificationIcon, { palette }) }),
|
|
2140
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1773
2141
|
"div",
|
|
1774
2142
|
{
|
|
1775
2143
|
className: (0, import_patterns11.vstack)({
|
|
@@ -1780,14 +2148,14 @@ function Notification(props) {
|
|
|
1780
2148
|
children
|
|
1781
2149
|
}
|
|
1782
2150
|
),
|
|
1783
|
-
/* @__PURE__ */ (0,
|
|
2151
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1784
2152
|
"button",
|
|
1785
2153
|
{
|
|
1786
2154
|
"aria-label": "Close",
|
|
1787
2155
|
className: styles.close,
|
|
1788
2156
|
onClick: onClose,
|
|
1789
2157
|
value: props.id,
|
|
1790
|
-
children: /* @__PURE__ */ (0,
|
|
2158
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CloseIcon, {})
|
|
1791
2159
|
}
|
|
1792
2160
|
)
|
|
1793
2161
|
]
|
|
@@ -1796,48 +2164,44 @@ function Notification(props) {
|
|
|
1796
2164
|
}
|
|
1797
2165
|
|
|
1798
2166
|
// src/components/NotificationHeading.tsx
|
|
1799
|
-
var
|
|
1800
|
-
var
|
|
1801
|
-
var
|
|
2167
|
+
var import_css30 = require("@cerberus/styled-system/css");
|
|
2168
|
+
var import_recipes23 = require("@cerberus/styled-system/recipes");
|
|
2169
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1802
2170
|
function NotificationHeading(props) {
|
|
1803
2171
|
const { palette, ...nativeProps } = props;
|
|
1804
|
-
const styles = (0,
|
|
1805
|
-
return /* @__PURE__ */ (0,
|
|
2172
|
+
const styles = (0, import_recipes23.notification)({ palette });
|
|
2173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: (0, import_css30.cx)(nativeProps.className, styles.heading), ...nativeProps });
|
|
1806
2174
|
}
|
|
1807
2175
|
|
|
1808
2176
|
// src/components/NotificationDescription.tsx
|
|
1809
|
-
var
|
|
1810
|
-
var
|
|
1811
|
-
var
|
|
2177
|
+
var import_css31 = require("@cerberus/styled-system/css");
|
|
2178
|
+
var import_recipes24 = require("@cerberus/styled-system/recipes");
|
|
2179
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1812
2180
|
function NotificationDescription(props) {
|
|
1813
2181
|
const { palette, ...nativeProps } = props;
|
|
1814
|
-
const styles = (0,
|
|
1815
|
-
return /* @__PURE__ */ (0,
|
|
2182
|
+
const styles = (0, import_recipes24.notification)({ palette });
|
|
2183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
1816
2184
|
"p",
|
|
1817
2185
|
{
|
|
1818
|
-
className: (0,
|
|
2186
|
+
className: (0, import_css31.cx)(nativeProps.className, styles.description),
|
|
1819
2187
|
...nativeProps
|
|
1820
2188
|
}
|
|
1821
2189
|
);
|
|
1822
2190
|
}
|
|
1823
2191
|
|
|
1824
|
-
// src/components/Portal.tsx
|
|
1825
|
-
var import_react13 = require("@ark-ui/react");
|
|
1826
|
-
var Portal = import_react13.Portal;
|
|
1827
|
-
|
|
1828
2192
|
// src/components/Radio.tsx
|
|
1829
|
-
var
|
|
2193
|
+
var import_css32 = require("@cerberus/styled-system/css");
|
|
1830
2194
|
var import_patterns12 = require("@cerberus/styled-system/patterns");
|
|
1831
|
-
var
|
|
1832
|
-
var
|
|
2195
|
+
var import_recipes25 = require("@cerberus/styled-system/recipes");
|
|
2196
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
1833
2197
|
function Radio(props) {
|
|
1834
2198
|
const { children, size, ...nativeProps } = props;
|
|
1835
2199
|
const { invalid, ...state } = useFieldContext();
|
|
1836
|
-
const styles = (0,
|
|
1837
|
-
return /* @__PURE__ */ (0,
|
|
2200
|
+
const styles = (0, import_recipes25.radio)({ size });
|
|
2201
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
1838
2202
|
"div",
|
|
1839
2203
|
{
|
|
1840
|
-
className: (0,
|
|
2204
|
+
className: (0, import_css32.cx)(
|
|
1841
2205
|
"group",
|
|
1842
2206
|
(0, import_patterns12.hstack)({
|
|
1843
2207
|
gap: "sm"
|
|
@@ -1846,13 +2210,13 @@ function Radio(props) {
|
|
|
1846
2210
|
),
|
|
1847
2211
|
tabIndex: 0,
|
|
1848
2212
|
children: [
|
|
1849
|
-
/* @__PURE__ */ (0,
|
|
2213
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
1850
2214
|
"input",
|
|
1851
2215
|
{
|
|
1852
2216
|
...nativeProps,
|
|
1853
2217
|
...state,
|
|
1854
2218
|
...invalid && { "aria-invalid": true },
|
|
1855
|
-
className: (0,
|
|
2219
|
+
className: (0, import_css32.cx)(nativeProps.className, styles.input),
|
|
1856
2220
|
tabIndex: -1,
|
|
1857
2221
|
type: "radio"
|
|
1858
2222
|
}
|
|
@@ -1864,19 +2228,19 @@ function Radio(props) {
|
|
|
1864
2228
|
}
|
|
1865
2229
|
|
|
1866
2230
|
// src/components/Select.tsx
|
|
1867
|
-
var
|
|
2231
|
+
var import_css33 = require("@cerberus/styled-system/css");
|
|
1868
2232
|
var import_patterns13 = require("@cerberus/styled-system/patterns");
|
|
1869
|
-
var
|
|
1870
|
-
var
|
|
2233
|
+
var import_recipes26 = require("@cerberus/styled-system/recipes");
|
|
2234
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
1871
2235
|
function Select(props) {
|
|
1872
2236
|
const { describedBy, size, ...nativeProps } = props;
|
|
1873
2237
|
const { invalid, ...fieldStates } = useFieldContext();
|
|
1874
2238
|
const { invalid: InvalidIcon, selectArrow: SelectArrow } = $cerberusIcons;
|
|
1875
|
-
const styles = (0,
|
|
2239
|
+
const styles = (0, import_recipes26.select)({
|
|
1876
2240
|
size
|
|
1877
2241
|
});
|
|
1878
|
-
return /* @__PURE__ */ (0,
|
|
1879
|
-
/* @__PURE__ */ (0,
|
|
2242
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: styles.root, children: [
|
|
2243
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1880
2244
|
"select",
|
|
1881
2245
|
{
|
|
1882
2246
|
...nativeProps,
|
|
@@ -1886,38 +2250,38 @@ function Select(props) {
|
|
|
1886
2250
|
className: styles.input
|
|
1887
2251
|
}
|
|
1888
2252
|
),
|
|
1889
|
-
/* @__PURE__ */ (0,
|
|
2253
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
1890
2254
|
"span",
|
|
1891
2255
|
{
|
|
1892
|
-
className: (0,
|
|
2256
|
+
className: (0, import_css33.cx)(
|
|
1893
2257
|
styles.iconStack,
|
|
1894
2258
|
(0, import_patterns13.hstack)({
|
|
1895
2259
|
gap: "2"
|
|
1896
2260
|
})
|
|
1897
2261
|
),
|
|
1898
2262
|
children: [
|
|
1899
|
-
/* @__PURE__ */ (0,
|
|
2263
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Show, { when: invalid, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1900
2264
|
"span",
|
|
1901
2265
|
{
|
|
1902
2266
|
...invalid && { "data-invalid": true },
|
|
1903
2267
|
className: styles.stateIcon,
|
|
1904
|
-
children: /* @__PURE__ */ (0,
|
|
2268
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(InvalidIcon, {})
|
|
1905
2269
|
}
|
|
1906
2270
|
) }),
|
|
1907
|
-
/* @__PURE__ */ (0,
|
|
2271
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: styles.arrowIcon, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(SelectArrow, {}) })
|
|
1908
2272
|
]
|
|
1909
2273
|
}
|
|
1910
2274
|
)
|
|
1911
2275
|
] });
|
|
1912
2276
|
}
|
|
1913
2277
|
function Option(props) {
|
|
1914
|
-
return /* @__PURE__ */ (0,
|
|
2278
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("option", { ...props });
|
|
1915
2279
|
}
|
|
1916
2280
|
|
|
1917
2281
|
// src/components/Spinner.tsx
|
|
1918
|
-
var
|
|
2282
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1919
2283
|
function Spinner(props) {
|
|
1920
|
-
return /* @__PURE__ */ (0,
|
|
2284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1921
2285
|
"svg",
|
|
1922
2286
|
{
|
|
1923
2287
|
"aria-busy": "true",
|
|
@@ -1927,7 +2291,7 @@ function Spinner(props) {
|
|
|
1927
2291
|
width: props.size,
|
|
1928
2292
|
viewBox: "0 0 24 24",
|
|
1929
2293
|
...props,
|
|
1930
|
-
children: /* @__PURE__ */ (0,
|
|
2294
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
1931
2295
|
"g",
|
|
1932
2296
|
{
|
|
1933
2297
|
fill: "none",
|
|
@@ -1936,14 +2300,14 @@ function Spinner(props) {
|
|
|
1936
2300
|
strokeLinejoin: "round",
|
|
1937
2301
|
strokeWidth: 2,
|
|
1938
2302
|
children: [
|
|
1939
|
-
/* @__PURE__ */ (0,
|
|
2303
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
1940
2304
|
"path",
|
|
1941
2305
|
{
|
|
1942
2306
|
strokeDasharray: 16,
|
|
1943
2307
|
strokeDashoffset: 16,
|
|
1944
2308
|
d: "M12 3c4.97 0 9 4.03 9 9",
|
|
1945
2309
|
children: [
|
|
1946
|
-
/* @__PURE__ */ (0,
|
|
2310
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1947
2311
|
"animate",
|
|
1948
2312
|
{
|
|
1949
2313
|
fill: "freeze",
|
|
@@ -1952,7 +2316,7 @@ function Spinner(props) {
|
|
|
1952
2316
|
values: "16;0"
|
|
1953
2317
|
}
|
|
1954
2318
|
),
|
|
1955
|
-
/* @__PURE__ */ (0,
|
|
2319
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1956
2320
|
"animateTransform",
|
|
1957
2321
|
{
|
|
1958
2322
|
attributeName: "transform",
|
|
@@ -1965,14 +2329,14 @@ function Spinner(props) {
|
|
|
1965
2329
|
]
|
|
1966
2330
|
}
|
|
1967
2331
|
),
|
|
1968
|
-
/* @__PURE__ */ (0,
|
|
2332
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1969
2333
|
"path",
|
|
1970
2334
|
{
|
|
1971
2335
|
strokeDasharray: 64,
|
|
1972
2336
|
strokeDashoffset: 64,
|
|
1973
2337
|
strokeOpacity: 0.3,
|
|
1974
2338
|
d: "M12 3c4.97 0 9 4.03 9 9c0 4.97 -4.03 9 -9 9c-4.97 0 -9 -4.03 -9 -9c0 -4.97 4.03 -9 9 -9Z",
|
|
1975
|
-
children: /* @__PURE__ */ (0,
|
|
2339
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1976
2340
|
"animate",
|
|
1977
2341
|
{
|
|
1978
2342
|
fill: "freeze",
|
|
@@ -1991,31 +2355,31 @@ function Spinner(props) {
|
|
|
1991
2355
|
}
|
|
1992
2356
|
|
|
1993
2357
|
// src/components/Tab.tsx
|
|
1994
|
-
var
|
|
2358
|
+
var import_react20 = require("react");
|
|
1995
2359
|
|
|
1996
2360
|
// src/context/tabs.tsx
|
|
1997
|
-
var
|
|
1998
|
-
var
|
|
1999
|
-
var
|
|
2000
|
-
var TabsContext = (0,
|
|
2361
|
+
var import_recipes27 = require("@cerberus/styled-system/recipes");
|
|
2362
|
+
var import_react18 = require("react");
|
|
2363
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2364
|
+
var TabsContext = (0, import_react18.createContext)(null);
|
|
2001
2365
|
function Tabs(props) {
|
|
2002
2366
|
const { cache, active, id, palette } = props;
|
|
2003
|
-
const [activeTab, setActiveTab] = (0,
|
|
2004
|
-
const tabsList = (0,
|
|
2005
|
-
const uuid = (0,
|
|
2367
|
+
const [activeTab, setActiveTab] = (0, import_react18.useState)(() => cache ? "" : active ?? "");
|
|
2368
|
+
const tabsList = (0, import_react18.useRef)([]);
|
|
2369
|
+
const uuid = (0, import_react18.useMemo)(() => {
|
|
2006
2370
|
return id ? `cerberus-tabs-${id}` : "cerberus-tabs";
|
|
2007
2371
|
}, [id]);
|
|
2008
|
-
const value = (0,
|
|
2372
|
+
const value = (0, import_react18.useMemo)(
|
|
2009
2373
|
() => ({
|
|
2010
2374
|
tabs: tabsList,
|
|
2011
2375
|
id: uuid,
|
|
2012
2376
|
active: activeTab,
|
|
2013
|
-
styles: (0,
|
|
2377
|
+
styles: (0, import_recipes27.tabs)({ palette }),
|
|
2014
2378
|
onTabUpdate: setActiveTab
|
|
2015
2379
|
}),
|
|
2016
2380
|
[activeTab, setActiveTab, palette, uuid, tabsList]
|
|
2017
2381
|
);
|
|
2018
|
-
(0,
|
|
2382
|
+
(0, import_react18.useEffect)(() => {
|
|
2019
2383
|
if (cache) {
|
|
2020
2384
|
const cachedTab = window.localStorage.getItem(uuid);
|
|
2021
2385
|
setActiveTab(
|
|
@@ -2023,15 +2387,15 @@ function Tabs(props) {
|
|
|
2023
2387
|
);
|
|
2024
2388
|
}
|
|
2025
2389
|
}, [cache, active, uuid]);
|
|
2026
|
-
(0,
|
|
2390
|
+
(0, import_react18.useEffect)(() => {
|
|
2027
2391
|
if (cache && activeTab) {
|
|
2028
2392
|
window.localStorage.setItem(uuid, activeTab);
|
|
2029
2393
|
}
|
|
2030
2394
|
}, [activeTab, cache]);
|
|
2031
|
-
return /* @__PURE__ */ (0,
|
|
2395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TabsContext.Provider, { value, children: props.children });
|
|
2032
2396
|
}
|
|
2033
2397
|
function useTabsContext() {
|
|
2034
|
-
const context = (0,
|
|
2398
|
+
const context = (0, import_react18.useContext)(TabsContext);
|
|
2035
2399
|
if (!context) {
|
|
2036
2400
|
throw new Error("useTabsContext must be used within a Tabs Provider.");
|
|
2037
2401
|
}
|
|
@@ -2039,10 +2403,10 @@ function useTabsContext() {
|
|
|
2039
2403
|
}
|
|
2040
2404
|
|
|
2041
2405
|
// src/components/Tab.tsx
|
|
2042
|
-
var
|
|
2406
|
+
var import_css34 = require("@cerberus/styled-system/css");
|
|
2043
2407
|
|
|
2044
2408
|
// src/aria-helpers/tabs.aria.ts
|
|
2045
|
-
var
|
|
2409
|
+
var import_react19 = require("react");
|
|
2046
2410
|
function getNextIndex(index, length) {
|
|
2047
2411
|
return index === length - 1 ? 0 : index + 1;
|
|
2048
2412
|
}
|
|
@@ -2051,8 +2415,8 @@ function getPrevIndex(index, length) {
|
|
|
2051
2415
|
}
|
|
2052
2416
|
function useTabsKeyboardNavigation() {
|
|
2053
2417
|
const { tabs: tabs2 } = useTabsContext();
|
|
2054
|
-
const [activeTab, setActiveTab] = (0,
|
|
2055
|
-
(0,
|
|
2418
|
+
const [activeTab, setActiveTab] = (0, import_react19.useState)(-1);
|
|
2419
|
+
(0, import_react19.useEffect)(() => {
|
|
2056
2420
|
const handleKeyDown = (event) => {
|
|
2057
2421
|
const index = activeTab === -1 ? tabs2.current.findIndex((tab) => tab.ariaSelected === "true") : activeTab;
|
|
2058
2422
|
const nextIndex = getNextIndex(index, tabs2.current.length);
|
|
@@ -2098,19 +2462,19 @@ function useTabsKeyboardNavigation() {
|
|
|
2098
2462
|
}
|
|
2099
2463
|
|
|
2100
2464
|
// src/components/Tab.tsx
|
|
2101
|
-
var
|
|
2465
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2102
2466
|
function Tab(props) {
|
|
2103
2467
|
const { value, ...nativeProps } = props;
|
|
2104
2468
|
const { active, onTabUpdate, styles } = useTabsContext();
|
|
2105
|
-
const [isPending, startTransition] = (0,
|
|
2469
|
+
const [isPending, startTransition] = (0, import_react20.useTransition)();
|
|
2106
2470
|
const { ref } = useTabsKeyboardNavigation();
|
|
2107
|
-
const isActive = (0,
|
|
2471
|
+
const isActive = (0, import_react20.useMemo)(() => active === value, [active, value]);
|
|
2108
2472
|
function handleClick(e) {
|
|
2109
2473
|
var _a;
|
|
2110
2474
|
(_a = props.onClick) == null ? void 0 : _a.call(props, e);
|
|
2111
2475
|
startTransition(() => onTabUpdate(e.currentTarget.value));
|
|
2112
2476
|
}
|
|
2113
|
-
return /* @__PURE__ */ (0,
|
|
2477
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2114
2478
|
"button",
|
|
2115
2479
|
{
|
|
2116
2480
|
...nativeProps,
|
|
@@ -2119,7 +2483,7 @@ function Tab(props) {
|
|
|
2119
2483
|
"aria-busy": isPending,
|
|
2120
2484
|
"aria-selected": isActive,
|
|
2121
2485
|
id: `tab:${value}`,
|
|
2122
|
-
className: (0,
|
|
2486
|
+
className: (0, import_css34.cx)(nativeProps.className, styles.tab),
|
|
2123
2487
|
onClick: handleClick,
|
|
2124
2488
|
role: "tab",
|
|
2125
2489
|
ref,
|
|
@@ -2129,18 +2493,18 @@ function Tab(props) {
|
|
|
2129
2493
|
}
|
|
2130
2494
|
|
|
2131
2495
|
// src/components/TabList.tsx
|
|
2132
|
-
var
|
|
2496
|
+
var import_css35 = require("@cerberus/styled-system/css");
|
|
2133
2497
|
var import_patterns14 = require("@cerberus/styled-system/patterns");
|
|
2134
|
-
var
|
|
2498
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2135
2499
|
function TabList(props) {
|
|
2136
2500
|
const { description, ...nativeProps } = props;
|
|
2137
2501
|
const { id, styles } = useTabsContext();
|
|
2138
|
-
return /* @__PURE__ */ (0,
|
|
2502
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
2139
2503
|
"div",
|
|
2140
2504
|
{
|
|
2141
2505
|
...nativeProps,
|
|
2142
2506
|
"aria-label": description,
|
|
2143
|
-
className: (0,
|
|
2507
|
+
className: (0, import_css35.cx)(
|
|
2144
2508
|
nativeProps.className,
|
|
2145
2509
|
(0, import_patterns14.hstack)({
|
|
2146
2510
|
gap: "0"
|
|
@@ -2154,20 +2518,20 @@ function TabList(props) {
|
|
|
2154
2518
|
}
|
|
2155
2519
|
|
|
2156
2520
|
// src/components/TabPanel.tsx
|
|
2157
|
-
var
|
|
2158
|
-
var
|
|
2159
|
-
var
|
|
2521
|
+
var import_css36 = require("@cerberus/styled-system/css");
|
|
2522
|
+
var import_react21 = require("react");
|
|
2523
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2160
2524
|
function TabPanel(props) {
|
|
2161
2525
|
const { tab, ...nativeProps } = props;
|
|
2162
2526
|
const { active, styles } = useTabsContext();
|
|
2163
|
-
const isActive = (0,
|
|
2164
|
-
return /* @__PURE__ */ (0,
|
|
2527
|
+
const isActive = (0, import_react21.useMemo)(() => active === tab, [active, tab]);
|
|
2528
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Show, { when: isActive, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2165
2529
|
"div",
|
|
2166
2530
|
{
|
|
2167
2531
|
...nativeProps,
|
|
2168
2532
|
...isActive && { tabIndex: 0 },
|
|
2169
2533
|
"aria-labelledby": `tab:${tab}`,
|
|
2170
|
-
className: (0,
|
|
2534
|
+
className: (0, import_css36.cx)(nativeProps.className, styles.tabPanel),
|
|
2171
2535
|
id: `panel:${tab}`,
|
|
2172
2536
|
role: "tabpanel"
|
|
2173
2537
|
}
|
|
@@ -2175,60 +2539,60 @@ function TabPanel(props) {
|
|
|
2175
2539
|
}
|
|
2176
2540
|
|
|
2177
2541
|
// src/components/Table.tsx
|
|
2178
|
-
var
|
|
2179
|
-
var
|
|
2180
|
-
var
|
|
2542
|
+
var import_css37 = require("@cerberus/styled-system/css");
|
|
2543
|
+
var import_recipes28 = require("@cerberus/styled-system/recipes");
|
|
2544
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2181
2545
|
function Table(props) {
|
|
2182
2546
|
const { caption, children, ...nativeProps } = props;
|
|
2183
|
-
const styles = (0,
|
|
2184
|
-
return /* @__PURE__ */ (0,
|
|
2547
|
+
const styles = (0, import_recipes28.table)();
|
|
2548
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: styles.container, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
2185
2549
|
"table",
|
|
2186
2550
|
{
|
|
2187
2551
|
...nativeProps,
|
|
2188
|
-
className: (0,
|
|
2552
|
+
className: (0, import_css37.cx)(nativeProps.className, styles.table),
|
|
2189
2553
|
children: [
|
|
2190
|
-
/* @__PURE__ */ (0,
|
|
2554
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("caption", { className: styles.caption, children: caption }),
|
|
2191
2555
|
children
|
|
2192
2556
|
]
|
|
2193
2557
|
}
|
|
2194
2558
|
) });
|
|
2195
2559
|
}
|
|
2196
2560
|
function Tr(props) {
|
|
2197
|
-
return /* @__PURE__ */ (0,
|
|
2561
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("tr", { ...props });
|
|
2198
2562
|
}
|
|
2199
2563
|
|
|
2200
2564
|
// src/components/Thead.tsx
|
|
2201
|
-
var
|
|
2202
|
-
var
|
|
2203
|
-
var
|
|
2565
|
+
var import_css38 = require("@cerberus/styled-system/css");
|
|
2566
|
+
var import_recipes29 = require("@cerberus/styled-system/recipes");
|
|
2567
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2204
2568
|
function Thead(props) {
|
|
2205
|
-
return /* @__PURE__ */ (0,
|
|
2569
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("thead", { ...props, className: (0, import_css38.cx)(props.className, (0, import_recipes29.thead)()) });
|
|
2206
2570
|
}
|
|
2207
2571
|
|
|
2208
2572
|
// src/components/Th.tsx
|
|
2209
|
-
var
|
|
2210
|
-
var
|
|
2211
|
-
var
|
|
2573
|
+
var import_css39 = require("@cerberus/styled-system/css");
|
|
2574
|
+
var import_recipes30 = require("@cerberus/styled-system/recipes");
|
|
2575
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2212
2576
|
function Th(props) {
|
|
2213
2577
|
const { size, onClick, ...nativeProps } = props;
|
|
2214
|
-
return /* @__PURE__ */ (0,
|
|
2578
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2215
2579
|
Show,
|
|
2216
2580
|
{
|
|
2217
2581
|
when: Boolean(onClick),
|
|
2218
|
-
fallback: /* @__PURE__ */ (0,
|
|
2582
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2219
2583
|
"th",
|
|
2220
2584
|
{
|
|
2221
2585
|
...nativeProps,
|
|
2222
|
-
className: (0,
|
|
2586
|
+
className: (0, import_css39.cx)(nativeProps.className, (0, import_recipes30.th)({ size }))
|
|
2223
2587
|
}
|
|
2224
2588
|
),
|
|
2225
|
-
children: /* @__PURE__ */ (0,
|
|
2589
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("th", { ...nativeProps, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2226
2590
|
"button",
|
|
2227
2591
|
{
|
|
2228
|
-
className: (0,
|
|
2592
|
+
className: (0, import_css39.cx)(
|
|
2229
2593
|
nativeProps.className,
|
|
2230
|
-
(0,
|
|
2231
|
-
(0,
|
|
2594
|
+
(0, import_recipes30.th)({ size }),
|
|
2595
|
+
(0, import_css39.css)({
|
|
2232
2596
|
alignItems: "center",
|
|
2233
2597
|
display: "inline-flex",
|
|
2234
2598
|
justifyContent: "space-between",
|
|
@@ -2248,18 +2612,18 @@ function Th(props) {
|
|
|
2248
2612
|
}
|
|
2249
2613
|
|
|
2250
2614
|
// src/components/Td.tsx
|
|
2251
|
-
var
|
|
2252
|
-
var
|
|
2253
|
-
var
|
|
2615
|
+
var import_css40 = require("@cerberus/styled-system/css");
|
|
2616
|
+
var import_recipes31 = require("@cerberus/styled-system/recipes");
|
|
2617
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2254
2618
|
function Td(props) {
|
|
2255
2619
|
const { size, ...nativeProps } = props;
|
|
2256
|
-
return /* @__PURE__ */ (0,
|
|
2620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2257
2621
|
"td",
|
|
2258
2622
|
{
|
|
2259
2623
|
...nativeProps,
|
|
2260
|
-
className: (0,
|
|
2624
|
+
className: (0, import_css40.cx)(
|
|
2261
2625
|
nativeProps.className,
|
|
2262
|
-
(0,
|
|
2626
|
+
(0, import_recipes31.td)({
|
|
2263
2627
|
size
|
|
2264
2628
|
})
|
|
2265
2629
|
)
|
|
@@ -2268,18 +2632,18 @@ function Td(props) {
|
|
|
2268
2632
|
}
|
|
2269
2633
|
|
|
2270
2634
|
// src/components/Tbody.tsx
|
|
2271
|
-
var
|
|
2272
|
-
var
|
|
2273
|
-
var
|
|
2635
|
+
var import_recipes32 = require("@cerberus/styled-system/recipes");
|
|
2636
|
+
var import_css41 = require("@cerberus/styled-system/css");
|
|
2637
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2274
2638
|
function Tbody(props) {
|
|
2275
2639
|
const { decoration, ...nativeProps } = props;
|
|
2276
|
-
return /* @__PURE__ */ (0,
|
|
2640
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
2277
2641
|
"tbody",
|
|
2278
2642
|
{
|
|
2279
2643
|
...nativeProps,
|
|
2280
|
-
className: (0,
|
|
2644
|
+
className: (0, import_css41.cx)(
|
|
2281
2645
|
nativeProps.className,
|
|
2282
|
-
(0,
|
|
2646
|
+
(0, import_recipes32.tbody)({
|
|
2283
2647
|
decoration
|
|
2284
2648
|
})
|
|
2285
2649
|
)
|
|
@@ -2288,9 +2652,9 @@ function Tbody(props) {
|
|
|
2288
2652
|
}
|
|
2289
2653
|
|
|
2290
2654
|
// src/components/Tag.tsx
|
|
2291
|
-
var
|
|
2292
|
-
var
|
|
2293
|
-
var
|
|
2655
|
+
var import_css42 = require("@cerberus/styled-system/css");
|
|
2656
|
+
var import_recipes33 = require("@cerberus/styled-system/recipes");
|
|
2657
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2294
2658
|
function Tag(props) {
|
|
2295
2659
|
const { shape: initShape, gradient, onClick, usage, ...nativeProps } = props;
|
|
2296
2660
|
const palette = (props == null ? void 0 : props.palette) ?? "page";
|
|
@@ -2298,13 +2662,13 @@ function Tag(props) {
|
|
|
2298
2662
|
const shape = isClosable ? "pill" : initShape;
|
|
2299
2663
|
const closableStyles = isClosable ? closableCss : "";
|
|
2300
2664
|
const { close: Close2 } = $cerberusIcons;
|
|
2301
|
-
return /* @__PURE__ */ (0,
|
|
2665
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
2302
2666
|
"span",
|
|
2303
2667
|
{
|
|
2304
2668
|
...nativeProps,
|
|
2305
|
-
className: (0,
|
|
2669
|
+
className: (0, import_css42.cx)(
|
|
2306
2670
|
nativeProps.className,
|
|
2307
|
-
(0,
|
|
2671
|
+
(0, import_recipes33.tag)({
|
|
2308
2672
|
gradient,
|
|
2309
2673
|
palette,
|
|
2310
2674
|
shape,
|
|
@@ -2314,24 +2678,24 @@ function Tag(props) {
|
|
|
2314
2678
|
),
|
|
2315
2679
|
children: [
|
|
2316
2680
|
props.children,
|
|
2317
|
-
/* @__PURE__ */ (0,
|
|
2681
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Show, { when: isClosable, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
2318
2682
|
"button",
|
|
2319
2683
|
{
|
|
2320
2684
|
"aria-label": "Close",
|
|
2321
|
-
className: (0,
|
|
2685
|
+
className: (0, import_recipes33.iconButton)({
|
|
2322
2686
|
palette: "action",
|
|
2323
2687
|
usage: "filled",
|
|
2324
2688
|
size: "sm"
|
|
2325
2689
|
}),
|
|
2326
2690
|
onClick,
|
|
2327
|
-
children: /* @__PURE__ */ (0,
|
|
2691
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Close2, {})
|
|
2328
2692
|
}
|
|
2329
2693
|
) })
|
|
2330
2694
|
]
|
|
2331
2695
|
}
|
|
2332
2696
|
);
|
|
2333
2697
|
}
|
|
2334
|
-
var closableCss = (0,
|
|
2698
|
+
var closableCss = (0, import_css42.css)({
|
|
2335
2699
|
bgColor: "action.bg.active",
|
|
2336
2700
|
color: "action.text.initial",
|
|
2337
2701
|
paddingInlineEnd: "0"
|
|
@@ -2339,53 +2703,53 @@ var closableCss = (0, import_css40.css)({
|
|
|
2339
2703
|
|
|
2340
2704
|
// src/components/Text.tsx
|
|
2341
2705
|
var import_jsx = require("@cerberus-design/styled-system/jsx");
|
|
2342
|
-
var
|
|
2706
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2343
2707
|
function Text(props) {
|
|
2344
2708
|
const { as = "p", ...pandaJSXProps } = props;
|
|
2345
2709
|
switch (as) {
|
|
2346
2710
|
case "h1":
|
|
2347
|
-
return /* @__PURE__ */ (0,
|
|
2711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.H1, { ...pandaJSXProps });
|
|
2348
2712
|
case "h2":
|
|
2349
|
-
return /* @__PURE__ */ (0,
|
|
2713
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.H2, { ...pandaJSXProps });
|
|
2350
2714
|
case "h3":
|
|
2351
|
-
return /* @__PURE__ */ (0,
|
|
2715
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.H3, { ...pandaJSXProps });
|
|
2352
2716
|
case "h4":
|
|
2353
|
-
return /* @__PURE__ */ (0,
|
|
2717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.H4, { ...pandaJSXProps });
|
|
2354
2718
|
case "h5":
|
|
2355
|
-
return /* @__PURE__ */ (0,
|
|
2719
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.H5, { ...pandaJSXProps });
|
|
2356
2720
|
case "h6":
|
|
2357
|
-
return /* @__PURE__ */ (0,
|
|
2721
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.H6, { ...pandaJSXProps });
|
|
2358
2722
|
case "strong":
|
|
2359
|
-
return /* @__PURE__ */ (0,
|
|
2723
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.Strong, { ...pandaJSXProps });
|
|
2360
2724
|
case "em":
|
|
2361
|
-
return /* @__PURE__ */ (0,
|
|
2725
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.Em, { ...pandaJSXProps });
|
|
2362
2726
|
case "small":
|
|
2363
|
-
return /* @__PURE__ */ (0,
|
|
2727
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.Small, { ...pandaJSXProps });
|
|
2364
2728
|
case "span":
|
|
2365
|
-
return /* @__PURE__ */ (0,
|
|
2729
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.Span, { ...pandaJSXProps });
|
|
2366
2730
|
default:
|
|
2367
|
-
return /* @__PURE__ */ (0,
|
|
2731
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx.P, { ...pandaJSXProps });
|
|
2368
2732
|
}
|
|
2369
2733
|
}
|
|
2370
2734
|
|
|
2371
2735
|
// src/components/Textarea.tsx
|
|
2372
|
-
var
|
|
2373
|
-
var
|
|
2374
|
-
var
|
|
2736
|
+
var import_css43 = require("@cerberus/styled-system/css");
|
|
2737
|
+
var import_recipes34 = require("@cerberus/styled-system/recipes");
|
|
2738
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
2375
2739
|
function Textarea(props) {
|
|
2376
2740
|
const { describedBy, ...nativeProps } = props;
|
|
2377
2741
|
const { invalid, ...fieldState } = useFieldContext();
|
|
2378
|
-
return /* @__PURE__ */ (0,
|
|
2742
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
2379
2743
|
"textarea",
|
|
2380
2744
|
{
|
|
2381
2745
|
...nativeProps,
|
|
2382
2746
|
...fieldState,
|
|
2383
2747
|
...describedBy && { "aria-describedby": describedBy },
|
|
2384
2748
|
...invalid && { "aria-invalid": true },
|
|
2385
|
-
className: (0,
|
|
2749
|
+
className: (0, import_css43.cx)(
|
|
2386
2750
|
props.className,
|
|
2387
|
-
(0,
|
|
2388
|
-
(0,
|
|
2751
|
+
(0, import_recipes34.input)().input,
|
|
2752
|
+
(0, import_css43.css)({
|
|
2389
2753
|
pxi: "2",
|
|
2390
2754
|
py: "2",
|
|
2391
2755
|
resize: "vertical"
|
|
@@ -2397,43 +2761,43 @@ function Textarea(props) {
|
|
|
2397
2761
|
}
|
|
2398
2762
|
|
|
2399
2763
|
// src/components/Toggle.tsx
|
|
2400
|
-
var
|
|
2764
|
+
var import_css44 = require("@cerberus/styled-system/css");
|
|
2401
2765
|
var import_patterns15 = require("@cerberus/styled-system/patterns");
|
|
2402
|
-
var
|
|
2403
|
-
var
|
|
2766
|
+
var import_recipes35 = require("@cerberus/styled-system/recipes");
|
|
2767
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
2404
2768
|
function Toggle(props) {
|
|
2405
2769
|
const { size, describedBy, ...nativeProps } = props;
|
|
2406
|
-
const styles = (0,
|
|
2770
|
+
const styles = (0, import_recipes35.toggle)({ size });
|
|
2407
2771
|
const { invalid, ...state } = useFieldContext();
|
|
2408
2772
|
const Icon = $cerberusIcons.toggleChecked;
|
|
2409
|
-
return /* @__PURE__ */ (0,
|
|
2773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
2410
2774
|
"span",
|
|
2411
2775
|
{
|
|
2412
|
-
className: (0,
|
|
2776
|
+
className: (0, import_css44.cx)("group", styles.track, (0, import_patterns15.hstack)()),
|
|
2413
2777
|
"data-checked": props.checked || props.defaultChecked,
|
|
2414
2778
|
children: [
|
|
2415
|
-
/* @__PURE__ */ (0,
|
|
2779
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
2416
2780
|
"input",
|
|
2417
2781
|
{
|
|
2418
2782
|
...nativeProps,
|
|
2419
2783
|
...state,
|
|
2420
2784
|
...describedBy && { "aria-describedby": describedBy },
|
|
2421
2785
|
...invalid && { "aria-invalid": true },
|
|
2422
|
-
className: (0,
|
|
2786
|
+
className: (0, import_css44.cx)("peer", styles.input),
|
|
2423
2787
|
role: "switch",
|
|
2424
2788
|
type: "checkbox"
|
|
2425
2789
|
}
|
|
2426
2790
|
),
|
|
2427
|
-
/* @__PURE__ */ (0,
|
|
2791
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
2428
2792
|
"span",
|
|
2429
2793
|
{
|
|
2430
|
-
className: (0,
|
|
2794
|
+
className: (0, import_css44.cx)(
|
|
2431
2795
|
styles.thumb,
|
|
2432
2796
|
(0, import_patterns15.vstack)({
|
|
2433
2797
|
justify: "center"
|
|
2434
2798
|
})
|
|
2435
2799
|
),
|
|
2436
|
-
children: /* @__PURE__ */ (0,
|
|
2800
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Icon, {})
|
|
2437
2801
|
}
|
|
2438
2802
|
)
|
|
2439
2803
|
]
|
|
@@ -2443,24 +2807,24 @@ function Toggle(props) {
|
|
|
2443
2807
|
|
|
2444
2808
|
// src/components/Tooltip.tsx
|
|
2445
2809
|
var import_tooltip = require("@ark-ui/react/tooltip");
|
|
2446
|
-
var
|
|
2447
|
-
var
|
|
2448
|
-
var
|
|
2810
|
+
var import_css45 = require("@cerberus/styled-system/css");
|
|
2811
|
+
var import_recipes36 = require("@cerberus/styled-system/recipes");
|
|
2812
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
2449
2813
|
function Tooltip(props) {
|
|
2450
2814
|
const { content, children, asChild, ...nativeProps } = props;
|
|
2451
|
-
const styles = (0,
|
|
2815
|
+
const styles = (0, import_recipes36.tooltip)();
|
|
2452
2816
|
const position = {
|
|
2453
2817
|
placement: props.position || "top"
|
|
2454
2818
|
};
|
|
2455
|
-
return /* @__PURE__ */ (0,
|
|
2456
|
-
/* @__PURE__ */ (0,
|
|
2457
|
-
/* @__PURE__ */ (0,
|
|
2819
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_tooltip.Tooltip.Root, { openDelay: 400, positioning: position, children: [
|
|
2820
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_tooltip.Tooltip.Trigger, { className: styles.trigger, asChild, children }),
|
|
2821
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_tooltip.Tooltip.Positioner, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
2458
2822
|
import_tooltip.Tooltip.Content,
|
|
2459
2823
|
{
|
|
2460
2824
|
...nativeProps,
|
|
2461
|
-
className: (0,
|
|
2825
|
+
className: (0, import_css45.cx)(nativeProps.className, styles.content),
|
|
2462
2826
|
children: [
|
|
2463
|
-
/* @__PURE__ */ (0,
|
|
2827
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_tooltip.Tooltip.Arrow, { className: styles.arrow, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_tooltip.Tooltip.ArrowTip, { className: styles.arrowTip }) }),
|
|
2464
2828
|
content
|
|
2465
2829
|
]
|
|
2466
2830
|
}
|
|
@@ -2469,26 +2833,26 @@ function Tooltip(props) {
|
|
|
2469
2833
|
}
|
|
2470
2834
|
|
|
2471
2835
|
// src/context/confirm-modal.tsx
|
|
2472
|
-
var
|
|
2473
|
-
var
|
|
2836
|
+
var import_react23 = require("react");
|
|
2837
|
+
var import_css46 = require("@cerberus/styled-system/css");
|
|
2474
2838
|
var import_patterns16 = require("@cerberus/styled-system/patterns");
|
|
2475
2839
|
|
|
2476
2840
|
// src/hooks/useModal.ts
|
|
2477
|
-
var
|
|
2841
|
+
var import_react22 = require("react");
|
|
2478
2842
|
function useModal() {
|
|
2479
|
-
const modalRef = (0,
|
|
2480
|
-
const [isOpen, setIsOpen] = (0,
|
|
2481
|
-
const show = (0,
|
|
2843
|
+
const modalRef = (0, import_react22.useRef)(null);
|
|
2844
|
+
const [isOpen, setIsOpen] = (0, import_react22.useState)(false);
|
|
2845
|
+
const show = (0, import_react22.useCallback)(() => {
|
|
2482
2846
|
var _a;
|
|
2483
2847
|
(_a = modalRef.current) == null ? void 0 : _a.showModal();
|
|
2484
2848
|
setIsOpen(true);
|
|
2485
2849
|
}, []);
|
|
2486
|
-
const close = (0,
|
|
2850
|
+
const close = (0, import_react22.useCallback)(() => {
|
|
2487
2851
|
var _a;
|
|
2488
2852
|
(_a = modalRef.current) == null ? void 0 : _a.close();
|
|
2489
2853
|
setIsOpen(false);
|
|
2490
2854
|
}, []);
|
|
2491
|
-
return (0,
|
|
2855
|
+
return (0, import_react22.useMemo)(() => {
|
|
2492
2856
|
return {
|
|
2493
2857
|
modalRef,
|
|
2494
2858
|
show,
|
|
@@ -2500,20 +2864,20 @@ function useModal() {
|
|
|
2500
2864
|
|
|
2501
2865
|
// src/context/confirm-modal.tsx
|
|
2502
2866
|
var import_jsx2 = require("@cerberus/styled-system/jsx");
|
|
2503
|
-
var
|
|
2504
|
-
var ConfirmModalContext = (0,
|
|
2867
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
2868
|
+
var ConfirmModalContext = (0, import_react23.createContext)(null);
|
|
2505
2869
|
function ConfirmModal(props) {
|
|
2506
2870
|
const { modalRef, show, close } = useModal();
|
|
2507
|
-
const resolveRef = (0,
|
|
2508
|
-
const [content, setContent] = (0,
|
|
2871
|
+
const resolveRef = (0, import_react23.useRef)(null);
|
|
2872
|
+
const [content, setContent] = (0, import_react23.useState)(null);
|
|
2509
2873
|
const focusTrap = trapFocus(modalRef);
|
|
2510
2874
|
const ConfirmIcon = $cerberusIcons.confirmModal;
|
|
2511
2875
|
const kind = (content == null ? void 0 : content.kind) ?? "non-destructive";
|
|
2512
|
-
const palette = (0,
|
|
2876
|
+
const palette = (0, import_react23.useMemo)(
|
|
2513
2877
|
() => kind === "destructive" ? "danger" : "action",
|
|
2514
2878
|
[kind]
|
|
2515
2879
|
);
|
|
2516
|
-
const handleChoice = (0,
|
|
2880
|
+
const handleChoice = (0, import_react23.useCallback)(
|
|
2517
2881
|
(e) => {
|
|
2518
2882
|
var _a, _b;
|
|
2519
2883
|
const target = e.currentTarget;
|
|
@@ -2525,7 +2889,7 @@ function ConfirmModal(props) {
|
|
|
2525
2889
|
},
|
|
2526
2890
|
[close]
|
|
2527
2891
|
);
|
|
2528
|
-
const handleShow = (0,
|
|
2892
|
+
const handleShow = (0, import_react23.useCallback)(
|
|
2529
2893
|
(options) => {
|
|
2530
2894
|
return new Promise((resolve) => {
|
|
2531
2895
|
setContent({ ...options });
|
|
@@ -2535,42 +2899,42 @@ function ConfirmModal(props) {
|
|
|
2535
2899
|
},
|
|
2536
2900
|
[show]
|
|
2537
2901
|
);
|
|
2538
|
-
const value = (0,
|
|
2902
|
+
const value = (0, import_react23.useMemo)(
|
|
2539
2903
|
() => ({
|
|
2540
2904
|
show: handleShow
|
|
2541
2905
|
}),
|
|
2542
2906
|
[handleShow]
|
|
2543
2907
|
);
|
|
2544
|
-
return /* @__PURE__ */ (0,
|
|
2908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ConfirmModalContext.Provider, { value, children: [
|
|
2545
2909
|
props.children,
|
|
2546
|
-
/* @__PURE__ */ (0,
|
|
2547
|
-
/* @__PURE__ */ (0,
|
|
2548
|
-
/* @__PURE__ */ (0,
|
|
2910
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_jsx2.VStack, { gap: "xl", w: "full", children: [
|
|
2911
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ModalHeader, { children: [
|
|
2912
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
2549
2913
|
"div",
|
|
2550
2914
|
{
|
|
2551
2915
|
className: (0, import_patterns16.hstack)({
|
|
2552
2916
|
justify: "center",
|
|
2553
2917
|
w: "full"
|
|
2554
2918
|
}),
|
|
2555
|
-
children: /* @__PURE__ */ (0,
|
|
2919
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
2556
2920
|
Show,
|
|
2557
2921
|
{
|
|
2558
2922
|
when: palette === "danger",
|
|
2559
|
-
fallback: /* @__PURE__ */ (0,
|
|
2923
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
2560
2924
|
Avatar,
|
|
2561
2925
|
{
|
|
2562
2926
|
ariaLabel: "",
|
|
2563
2927
|
gradient: "charon-light",
|
|
2564
|
-
icon: /* @__PURE__ */ (0,
|
|
2928
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ConfirmIcon, { size: 24 }),
|
|
2565
2929
|
src: ""
|
|
2566
2930
|
}
|
|
2567
2931
|
),
|
|
2568
|
-
children: /* @__PURE__ */ (0,
|
|
2932
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
2569
2933
|
Avatar,
|
|
2570
2934
|
{
|
|
2571
2935
|
ariaLabel: "",
|
|
2572
2936
|
gradient: "hades-dark",
|
|
2573
|
-
icon: /* @__PURE__ */ (0,
|
|
2937
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ConfirmIcon, { size: 24 }),
|
|
2574
2938
|
src: ""
|
|
2575
2939
|
}
|
|
2576
2940
|
)
|
|
@@ -2578,15 +2942,15 @@ function ConfirmModal(props) {
|
|
|
2578
2942
|
)
|
|
2579
2943
|
}
|
|
2580
2944
|
),
|
|
2581
|
-
/* @__PURE__ */ (0,
|
|
2582
|
-
/* @__PURE__ */ (0,
|
|
2945
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
|
|
2946
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
|
|
2583
2947
|
] }),
|
|
2584
|
-
/* @__PURE__ */ (0,
|
|
2585
|
-
/* @__PURE__ */ (0,
|
|
2948
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_jsx2.HStack, { gap: "4", w: "full", children: [
|
|
2949
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
2586
2950
|
Button,
|
|
2587
2951
|
{
|
|
2588
2952
|
autoFocus: true,
|
|
2589
|
-
className: (0,
|
|
2953
|
+
className: (0, import_css46.css)({
|
|
2590
2954
|
w: "1/2"
|
|
2591
2955
|
}),
|
|
2592
2956
|
name: "confirm",
|
|
@@ -2596,10 +2960,10 @@ function ConfirmModal(props) {
|
|
|
2596
2960
|
children: content == null ? void 0 : content.actionText
|
|
2597
2961
|
}
|
|
2598
2962
|
),
|
|
2599
|
-
/* @__PURE__ */ (0,
|
|
2963
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
2600
2964
|
Button,
|
|
2601
2965
|
{
|
|
2602
|
-
className: (0,
|
|
2966
|
+
className: (0, import_css46.css)({
|
|
2603
2967
|
w: "1/2"
|
|
2604
2968
|
}),
|
|
2605
2969
|
name: "cancel",
|
|
@@ -2614,7 +2978,7 @@ function ConfirmModal(props) {
|
|
|
2614
2978
|
] });
|
|
2615
2979
|
}
|
|
2616
2980
|
function useConfirmModal() {
|
|
2617
|
-
const context = (0,
|
|
2981
|
+
const context = (0, import_react23.useContext)(ConfirmModalContext);
|
|
2618
2982
|
if (context === null) {
|
|
2619
2983
|
throw new Error(
|
|
2620
2984
|
"useConfirmModal must be used within a ConfirmModal Provider"
|
|
@@ -2624,21 +2988,21 @@ function useConfirmModal() {
|
|
|
2624
2988
|
}
|
|
2625
2989
|
|
|
2626
2990
|
// src/context/cta-modal.tsx
|
|
2627
|
-
var
|
|
2991
|
+
var import_react24 = require("react");
|
|
2628
2992
|
var import_jsx3 = require("@cerberus/styled-system/jsx");
|
|
2629
|
-
var
|
|
2993
|
+
var import_css47 = require("@cerberus/styled-system/css");
|
|
2630
2994
|
var import_jsx4 = require("@cerberus/styled-system/jsx");
|
|
2631
|
-
var
|
|
2632
|
-
var CTAModalContext = (0,
|
|
2995
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
2996
|
+
var CTAModalContext = (0, import_react24.createContext)(null);
|
|
2633
2997
|
function CTAModal(props) {
|
|
2634
2998
|
var _a, _b;
|
|
2635
2999
|
const { modalRef, show, close } = useModal();
|
|
2636
|
-
const [content, setContent] = (0,
|
|
3000
|
+
const [content, setContent] = (0, import_react24.useState)(null);
|
|
2637
3001
|
const focusTrap = trapFocus(modalRef);
|
|
2638
3002
|
const FallbackIcon = $cerberusIcons.confirmModal;
|
|
2639
3003
|
const confirmIcon = content == null ? void 0 : content.icon;
|
|
2640
3004
|
const { close: CloseIcon } = $cerberusIcons;
|
|
2641
|
-
const handleShow = (0,
|
|
3005
|
+
const handleShow = (0, import_react24.useCallback)(
|
|
2642
3006
|
(options) => {
|
|
2643
3007
|
const maxActions = 2;
|
|
2644
3008
|
if (options.actions.length > maxActions) {
|
|
@@ -2651,7 +3015,7 @@ function CTAModal(props) {
|
|
|
2651
3015
|
},
|
|
2652
3016
|
[show]
|
|
2653
3017
|
);
|
|
2654
|
-
const handleActionClick = (0,
|
|
3018
|
+
const handleActionClick = (0, import_react24.useCallback)(
|
|
2655
3019
|
(event) => {
|
|
2656
3020
|
const index = event.currentTarget.getAttribute("data-index");
|
|
2657
3021
|
const action = content == null ? void 0 : content.actions[Number(index)];
|
|
@@ -2661,54 +3025,54 @@ function CTAModal(props) {
|
|
|
2661
3025
|
},
|
|
2662
3026
|
[content, close]
|
|
2663
3027
|
);
|
|
2664
|
-
const value = (0,
|
|
3028
|
+
const value = (0, import_react24.useMemo)(
|
|
2665
3029
|
() => ({
|
|
2666
3030
|
show: handleShow
|
|
2667
3031
|
}),
|
|
2668
3032
|
[handleShow]
|
|
2669
3033
|
);
|
|
2670
|
-
return /* @__PURE__ */ (0,
|
|
3034
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(CTAModalContext.Provider, { value, children: [
|
|
2671
3035
|
props.children,
|
|
2672
|
-
/* @__PURE__ */ (0,
|
|
2673
|
-
/* @__PURE__ */ (0,
|
|
3036
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: [
|
|
3037
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
2674
3038
|
"span",
|
|
2675
3039
|
{
|
|
2676
|
-
className: (0,
|
|
3040
|
+
className: (0, import_css47.css)({
|
|
2677
3041
|
padding: "md",
|
|
2678
3042
|
position: "absolute",
|
|
2679
3043
|
right: 0,
|
|
2680
3044
|
top: 0,
|
|
2681
3045
|
zIndex: "decorator"
|
|
2682
3046
|
}),
|
|
2683
|
-
children: /* @__PURE__ */ (0,
|
|
3047
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(IconButton, { ariaLabel: "Close modal", onClick: close, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(CloseIcon, {}) })
|
|
2684
3048
|
}
|
|
2685
3049
|
),
|
|
2686
|
-
/* @__PURE__ */ (0,
|
|
2687
|
-
/* @__PURE__ */ (0,
|
|
2688
|
-
/* @__PURE__ */ (0,
|
|
3050
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx4.VStack, { gap: "xl", w: "full", children: [
|
|
3051
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ModalHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_jsx4.VStack, { gap: "lg", w: "full", children: [
|
|
3052
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
2689
3053
|
Avatar,
|
|
2690
3054
|
{
|
|
2691
3055
|
ariaLabel: "",
|
|
2692
3056
|
gradient: "charon-light",
|
|
2693
|
-
icon: /* @__PURE__ */ (0,
|
|
3057
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
2694
3058
|
Show,
|
|
2695
3059
|
{
|
|
2696
3060
|
when: Boolean(confirmIcon),
|
|
2697
|
-
fallback: /* @__PURE__ */ (0,
|
|
3061
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FallbackIcon, { size: 24 }),
|
|
2698
3062
|
children: confirmIcon
|
|
2699
3063
|
}
|
|
2700
3064
|
),
|
|
2701
3065
|
src: ""
|
|
2702
3066
|
}
|
|
2703
3067
|
),
|
|
2704
|
-
/* @__PURE__ */ (0,
|
|
2705
|
-
/* @__PURE__ */ (0,
|
|
3068
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
|
|
3069
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
|
|
2706
3070
|
] }) }),
|
|
2707
|
-
/* @__PURE__ */ (0,
|
|
3071
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_jsx3.HStack, { gap: "md", w: "full", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Show, { when: Boolean((_a = content == null ? void 0 : content.actions) == null ? void 0 : _a.length), children: (_b = content == null ? void 0 : content.actions) == null ? void 0 : _b.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
2708
3072
|
Button,
|
|
2709
3073
|
{
|
|
2710
3074
|
"data-index": index,
|
|
2711
|
-
className: (0,
|
|
3075
|
+
className: (0, import_css47.css)({
|
|
2712
3076
|
w: "1/2"
|
|
2713
3077
|
}),
|
|
2714
3078
|
onClick: handleActionClick,
|
|
@@ -2723,7 +3087,7 @@ function CTAModal(props) {
|
|
|
2723
3087
|
] });
|
|
2724
3088
|
}
|
|
2725
3089
|
function useCTAModal() {
|
|
2726
|
-
const context = (0,
|
|
3090
|
+
const context = (0, import_react24.useContext)(CTAModalContext);
|
|
2727
3091
|
if (context === null) {
|
|
2728
3092
|
throw new Error("useCTAModal must be used within a CTAModal Provider");
|
|
2729
3093
|
}
|
|
@@ -2731,22 +3095,22 @@ function useCTAModal() {
|
|
|
2731
3095
|
}
|
|
2732
3096
|
|
|
2733
3097
|
// src/context/notification-center.tsx
|
|
2734
|
-
var
|
|
3098
|
+
var import_react25 = require("react");
|
|
2735
3099
|
var import_patterns17 = require("@cerberus/styled-system/patterns");
|
|
2736
|
-
var
|
|
2737
|
-
var
|
|
2738
|
-
var
|
|
2739
|
-
var NotificationsContext = (0,
|
|
3100
|
+
var import_recipes37 = require("@cerberus/styled-system/recipes");
|
|
3101
|
+
var import_css48 = require("@cerberus/styled-system/css");
|
|
3102
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3103
|
+
var NotificationsContext = (0, import_react25.createContext)(null);
|
|
2740
3104
|
function NotificationCenter(props) {
|
|
2741
|
-
const [activeNotifications, setActiveNotifications] = (0,
|
|
2742
|
-
const styles = (0,
|
|
2743
|
-
const handleNotify = (0,
|
|
3105
|
+
const [activeNotifications, setActiveNotifications] = (0, import_react25.useState)([]);
|
|
3106
|
+
const styles = (0, import_recipes37.notification)();
|
|
3107
|
+
const handleNotify = (0, import_react25.useCallback)((options) => {
|
|
2744
3108
|
setActiveNotifications((prev) => {
|
|
2745
3109
|
const id = `${options.palette}:${prev.length + 1}`;
|
|
2746
3110
|
return [...prev, { ...options, id }];
|
|
2747
3111
|
});
|
|
2748
3112
|
}, []);
|
|
2749
|
-
const handleClose = (0,
|
|
3113
|
+
const handleClose = (0, import_react25.useCallback)((e) => {
|
|
2750
3114
|
const target = e.currentTarget;
|
|
2751
3115
|
setActiveNotifications((prev) => {
|
|
2752
3116
|
const item = prev.find((option) => option.id === target.value);
|
|
@@ -2754,7 +3118,7 @@ function NotificationCenter(props) {
|
|
|
2754
3118
|
return prev.filter((option) => option.id !== target.value);
|
|
2755
3119
|
});
|
|
2756
3120
|
}, []);
|
|
2757
|
-
const handleCloseAll = (0,
|
|
3121
|
+
const handleCloseAll = (0, import_react25.useCallback)(() => {
|
|
2758
3122
|
setActiveNotifications((prev) => {
|
|
2759
3123
|
prev.forEach((item) => {
|
|
2760
3124
|
if (item.onClose) item.onClose();
|
|
@@ -2762,19 +3126,19 @@ function NotificationCenter(props) {
|
|
|
2762
3126
|
return [];
|
|
2763
3127
|
});
|
|
2764
3128
|
}, []);
|
|
2765
|
-
const value = (0,
|
|
3129
|
+
const value = (0, import_react25.useMemo)(
|
|
2766
3130
|
() => ({
|
|
2767
3131
|
notify: handleNotify
|
|
2768
3132
|
}),
|
|
2769
3133
|
[handleNotify]
|
|
2770
3134
|
);
|
|
2771
|
-
return /* @__PURE__ */ (0,
|
|
3135
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(NotificationsContext.Provider, { value, children: [
|
|
2772
3136
|
props.children,
|
|
2773
|
-
/* @__PURE__ */ (0,
|
|
2774
|
-
/* @__PURE__ */ (0,
|
|
3137
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Show, { when: activeNotifications.length > 0, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Portal, { container: props.container, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: styles.center, children: [
|
|
3138
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Show, { when: activeNotifications.length >= 4, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
2775
3139
|
Button,
|
|
2776
3140
|
{
|
|
2777
|
-
className: (0,
|
|
3141
|
+
className: (0, import_css48.cx)(styles.closeAll, (0, import_patterns17.animateIn)()),
|
|
2778
3142
|
onClick: handleCloseAll,
|
|
2779
3143
|
palette: "action",
|
|
2780
3144
|
shape: "rounded",
|
|
@@ -2783,7 +3147,7 @@ function NotificationCenter(props) {
|
|
|
2783
3147
|
children: "Close all"
|
|
2784
3148
|
}
|
|
2785
3149
|
) }),
|
|
2786
|
-
/* @__PURE__ */ (0,
|
|
3150
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
2787
3151
|
"div",
|
|
2788
3152
|
{
|
|
2789
3153
|
className: (0, import_patterns17.vstack)({
|
|
@@ -2793,7 +3157,7 @@ function NotificationCenter(props) {
|
|
|
2793
3157
|
style: {
|
|
2794
3158
|
alignItems: "flex-end"
|
|
2795
3159
|
},
|
|
2796
|
-
children: activeNotifications.map((option) => /* @__PURE__ */ (0,
|
|
3160
|
+
children: activeNotifications.map((option) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
2797
3161
|
MatchNotification,
|
|
2798
3162
|
{
|
|
2799
3163
|
...option,
|
|
@@ -2810,7 +3174,7 @@ function MatchNotification(props) {
|
|
|
2810
3174
|
const { palette, id, onClose, heading, description } = props;
|
|
2811
3175
|
switch (palette) {
|
|
2812
3176
|
case "success":
|
|
2813
|
-
return /* @__PURE__ */ (0,
|
|
3177
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
2814
3178
|
Notification,
|
|
2815
3179
|
{
|
|
2816
3180
|
id,
|
|
@@ -2818,14 +3182,14 @@ function MatchNotification(props) {
|
|
|
2818
3182
|
open: true,
|
|
2819
3183
|
palette: "success",
|
|
2820
3184
|
children: [
|
|
2821
|
-
/* @__PURE__ */ (0,
|
|
2822
|
-
/* @__PURE__ */ (0,
|
|
3185
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NotificationHeading, { palette: "success", children: heading }),
|
|
3186
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NotificationDescription, { palette: "success", children: description })
|
|
2823
3187
|
]
|
|
2824
3188
|
},
|
|
2825
3189
|
id
|
|
2826
3190
|
);
|
|
2827
3191
|
case "warning":
|
|
2828
|
-
return /* @__PURE__ */ (0,
|
|
3192
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
2829
3193
|
Notification,
|
|
2830
3194
|
{
|
|
2831
3195
|
id,
|
|
@@ -2833,27 +3197,27 @@ function MatchNotification(props) {
|
|
|
2833
3197
|
open: true,
|
|
2834
3198
|
palette: "warning",
|
|
2835
3199
|
children: [
|
|
2836
|
-
/* @__PURE__ */ (0,
|
|
2837
|
-
/* @__PURE__ */ (0,
|
|
3200
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NotificationHeading, { palette: "warning", children: heading }),
|
|
3201
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NotificationDescription, { palette: "warning", children: description })
|
|
2838
3202
|
]
|
|
2839
3203
|
},
|
|
2840
3204
|
id
|
|
2841
3205
|
);
|
|
2842
3206
|
case "danger":
|
|
2843
|
-
return /* @__PURE__ */ (0,
|
|
2844
|
-
/* @__PURE__ */ (0,
|
|
2845
|
-
/* @__PURE__ */ (0,
|
|
3207
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Notification, { id, onClose, open: true, palette: "danger", children: [
|
|
3208
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NotificationHeading, { palette: "danger", children: heading }),
|
|
3209
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NotificationDescription, { palette: "danger", children: description })
|
|
2846
3210
|
] }, id);
|
|
2847
3211
|
case "info":
|
|
2848
3212
|
default:
|
|
2849
|
-
return /* @__PURE__ */ (0,
|
|
2850
|
-
/* @__PURE__ */ (0,
|
|
2851
|
-
/* @__PURE__ */ (0,
|
|
3213
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Notification, { id, onClose, open: true, palette: "info", children: [
|
|
3214
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NotificationHeading, { palette: "info", children: heading }),
|
|
3215
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NotificationDescription, { palette: "info", children: description })
|
|
2852
3216
|
] }, id);
|
|
2853
3217
|
}
|
|
2854
3218
|
}
|
|
2855
3219
|
function useNotificationCenter() {
|
|
2856
|
-
const context = (0,
|
|
3220
|
+
const context = (0, import_react25.useContext)(NotificationsContext);
|
|
2857
3221
|
if (!context) {
|
|
2858
3222
|
throw new Error(
|
|
2859
3223
|
"useNotificationCenter must be used within a NotificationsProvider"
|
|
@@ -2863,33 +3227,33 @@ function useNotificationCenter() {
|
|
|
2863
3227
|
}
|
|
2864
3228
|
|
|
2865
3229
|
// src/context/prompt-modal.tsx
|
|
2866
|
-
var
|
|
2867
|
-
var
|
|
3230
|
+
var import_react26 = require("react");
|
|
3231
|
+
var import_css49 = require("@cerberus/styled-system/css");
|
|
2868
3232
|
var import_patterns18 = require("@cerberus/styled-system/patterns");
|
|
2869
|
-
var
|
|
2870
|
-
var PromptModalContext = (0,
|
|
3233
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3234
|
+
var PromptModalContext = (0, import_react26.createContext)(null);
|
|
2871
3235
|
function PromptModal(props) {
|
|
2872
3236
|
const { modalRef, show, close } = useModal();
|
|
2873
|
-
const resolveRef = (0,
|
|
2874
|
-
const [content, setContent] = (0,
|
|
2875
|
-
const [inputValue, setInputValue] = (0,
|
|
3237
|
+
const resolveRef = (0, import_react26.useRef)(null);
|
|
3238
|
+
const [content, setContent] = (0, import_react26.useState)(null);
|
|
3239
|
+
const [inputValue, setInputValue] = (0, import_react26.useState)("");
|
|
2876
3240
|
const focusTrap = trapFocus(modalRef);
|
|
2877
3241
|
const PromptIcon = $cerberusIcons.promptModal;
|
|
2878
|
-
const isValid = (0,
|
|
3242
|
+
const isValid = (0, import_react26.useMemo)(
|
|
2879
3243
|
() => inputValue === (content == null ? void 0 : content.key),
|
|
2880
3244
|
[inputValue, content]
|
|
2881
3245
|
);
|
|
2882
|
-
const palette = (0,
|
|
3246
|
+
const palette = (0, import_react26.useMemo)(
|
|
2883
3247
|
() => (content == null ? void 0 : content.kind) === "destructive" ? "danger" : "action",
|
|
2884
3248
|
[content]
|
|
2885
3249
|
);
|
|
2886
|
-
const handleChange = (0,
|
|
3250
|
+
const handleChange = (0, import_react26.useCallback)(
|
|
2887
3251
|
(e) => {
|
|
2888
3252
|
setInputValue(e.currentTarget.value);
|
|
2889
3253
|
},
|
|
2890
3254
|
[content]
|
|
2891
3255
|
);
|
|
2892
|
-
const handleChoice = (0,
|
|
3256
|
+
const handleChoice = (0, import_react26.useCallback)(
|
|
2893
3257
|
(e) => {
|
|
2894
3258
|
var _a;
|
|
2895
3259
|
const target = e.currentTarget;
|
|
@@ -2900,7 +3264,7 @@ function PromptModal(props) {
|
|
|
2900
3264
|
},
|
|
2901
3265
|
[inputValue, close]
|
|
2902
3266
|
);
|
|
2903
|
-
const handleShow = (0,
|
|
3267
|
+
const handleShow = (0, import_react26.useCallback)(
|
|
2904
3268
|
(options) => {
|
|
2905
3269
|
return new Promise((resolve) => {
|
|
2906
3270
|
setContent({ ...options, kind: options.kind || "non-destructive" });
|
|
@@ -2910,42 +3274,42 @@ function PromptModal(props) {
|
|
|
2910
3274
|
},
|
|
2911
3275
|
[show]
|
|
2912
3276
|
);
|
|
2913
|
-
const value = (0,
|
|
3277
|
+
const value = (0, import_react26.useMemo)(
|
|
2914
3278
|
() => ({
|
|
2915
3279
|
show: handleShow
|
|
2916
3280
|
}),
|
|
2917
3281
|
[handleShow]
|
|
2918
3282
|
);
|
|
2919
|
-
return /* @__PURE__ */ (0,
|
|
3283
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(PromptModalContext.Provider, { value, children: [
|
|
2920
3284
|
props.children,
|
|
2921
|
-
/* @__PURE__ */ (0,
|
|
2922
|
-
/* @__PURE__ */ (0,
|
|
2923
|
-
/* @__PURE__ */ (0,
|
|
3285
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Modal, { onKeyDown: focusTrap, ref: modalRef, children: [
|
|
3286
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(ModalHeader, { children: [
|
|
3287
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
2924
3288
|
"div",
|
|
2925
3289
|
{
|
|
2926
3290
|
className: (0, import_patterns18.hstack)({
|
|
2927
3291
|
justify: "center",
|
|
2928
3292
|
w: "full"
|
|
2929
3293
|
}),
|
|
2930
|
-
children: /* @__PURE__ */ (0,
|
|
3294
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
2931
3295
|
Show,
|
|
2932
3296
|
{
|
|
2933
3297
|
when: palette === "danger",
|
|
2934
|
-
fallback: /* @__PURE__ */ (0,
|
|
3298
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
2935
3299
|
Avatar,
|
|
2936
3300
|
{
|
|
2937
3301
|
ariaLabel: "",
|
|
2938
3302
|
gradient: "charon-light",
|
|
2939
|
-
icon: /* @__PURE__ */ (0,
|
|
3303
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(PromptIcon, { size: 24 }),
|
|
2940
3304
|
src: ""
|
|
2941
3305
|
}
|
|
2942
3306
|
),
|
|
2943
|
-
children: /* @__PURE__ */ (0,
|
|
3307
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
2944
3308
|
Avatar,
|
|
2945
3309
|
{
|
|
2946
3310
|
ariaLabel: "",
|
|
2947
3311
|
gradient: "hades-dark",
|
|
2948
|
-
icon: /* @__PURE__ */ (0,
|
|
3312
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(PromptIcon, { size: 24 }),
|
|
2949
3313
|
src: ""
|
|
2950
3314
|
}
|
|
2951
3315
|
)
|
|
@@ -2953,10 +3317,10 @@ function PromptModal(props) {
|
|
|
2953
3317
|
)
|
|
2954
3318
|
}
|
|
2955
3319
|
),
|
|
2956
|
-
/* @__PURE__ */ (0,
|
|
2957
|
-
/* @__PURE__ */ (0,
|
|
3320
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ModalHeading, { children: content == null ? void 0 : content.heading }),
|
|
3321
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ModalDescription, { children: content == null ? void 0 : content.description })
|
|
2958
3322
|
] }),
|
|
2959
|
-
/* @__PURE__ */ (0,
|
|
3323
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
2960
3324
|
"div",
|
|
2961
3325
|
{
|
|
2962
3326
|
className: (0, import_patterns18.vstack)({
|
|
@@ -2964,11 +3328,11 @@ function PromptModal(props) {
|
|
|
2964
3328
|
mt: "4",
|
|
2965
3329
|
mb: "8"
|
|
2966
3330
|
}),
|
|
2967
|
-
children: /* @__PURE__ */ (0,
|
|
2968
|
-
/* @__PURE__ */ (0,
|
|
3331
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Field, { invalid: !isValid, children: [
|
|
3332
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
2969
3333
|
Label,
|
|
2970
3334
|
{
|
|
2971
|
-
className: (0,
|
|
3335
|
+
className: (0, import_css49.css)({
|
|
2972
3336
|
gap: 1,
|
|
2973
3337
|
justifyContent: "flex-start"
|
|
2974
3338
|
}),
|
|
@@ -2976,10 +3340,10 @@ function PromptModal(props) {
|
|
|
2976
3340
|
size: "md",
|
|
2977
3341
|
children: [
|
|
2978
3342
|
"Type",
|
|
2979
|
-
/* @__PURE__ */ (0,
|
|
3343
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
2980
3344
|
"strong",
|
|
2981
3345
|
{
|
|
2982
|
-
className: (0,
|
|
3346
|
+
className: (0, import_css49.css)({
|
|
2983
3347
|
textTransform: "uppercase"
|
|
2984
3348
|
}),
|
|
2985
3349
|
children: content == null ? void 0 : content.key
|
|
@@ -2989,7 +3353,7 @@ function PromptModal(props) {
|
|
|
2989
3353
|
]
|
|
2990
3354
|
}
|
|
2991
3355
|
),
|
|
2992
|
-
/* @__PURE__ */ (0,
|
|
3356
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
2993
3357
|
Input,
|
|
2994
3358
|
{
|
|
2995
3359
|
id: "confirm",
|
|
@@ -3001,7 +3365,7 @@ function PromptModal(props) {
|
|
|
3001
3365
|
] })
|
|
3002
3366
|
}
|
|
3003
3367
|
),
|
|
3004
|
-
/* @__PURE__ */ (0,
|
|
3368
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
3005
3369
|
"div",
|
|
3006
3370
|
{
|
|
3007
3371
|
className: (0, import_patterns18.hstack)({
|
|
@@ -3009,11 +3373,11 @@ function PromptModal(props) {
|
|
|
3009
3373
|
gap: "4"
|
|
3010
3374
|
}),
|
|
3011
3375
|
children: [
|
|
3012
|
-
/* @__PURE__ */ (0,
|
|
3376
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
3013
3377
|
Button,
|
|
3014
3378
|
{
|
|
3015
3379
|
autoFocus: true,
|
|
3016
|
-
className: (0,
|
|
3380
|
+
className: (0, import_css49.css)({
|
|
3017
3381
|
w: "1/2"
|
|
3018
3382
|
}),
|
|
3019
3383
|
disabled: !isValid,
|
|
@@ -3024,10 +3388,10 @@ function PromptModal(props) {
|
|
|
3024
3388
|
children: content == null ? void 0 : content.actionText
|
|
3025
3389
|
}
|
|
3026
3390
|
),
|
|
3027
|
-
/* @__PURE__ */ (0,
|
|
3391
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
3028
3392
|
Button,
|
|
3029
3393
|
{
|
|
3030
|
-
className: (0,
|
|
3394
|
+
className: (0, import_css49.css)({
|
|
3031
3395
|
w: "1/2"
|
|
3032
3396
|
}),
|
|
3033
3397
|
name: "cancel",
|
|
@@ -3044,7 +3408,7 @@ function PromptModal(props) {
|
|
|
3044
3408
|
] });
|
|
3045
3409
|
}
|
|
3046
3410
|
function usePromptModal() {
|
|
3047
|
-
const context = (0,
|
|
3411
|
+
const context = (0, import_react26.useContext)(PromptModalContext);
|
|
3048
3412
|
if (context === null) {
|
|
3049
3413
|
throw new Error("usePromptModal must be used within a PromptModal Provider");
|
|
3050
3414
|
}
|
|
@@ -3052,50 +3416,50 @@ function usePromptModal() {
|
|
|
3052
3416
|
}
|
|
3053
3417
|
|
|
3054
3418
|
// src/context/theme.tsx
|
|
3055
|
-
var
|
|
3419
|
+
var import_react28 = require("react");
|
|
3056
3420
|
|
|
3057
3421
|
// src/hooks/useTheme.ts
|
|
3058
|
-
var
|
|
3422
|
+
var import_react27 = require("react");
|
|
3059
3423
|
var THEME_KEY = "cerberus-theme";
|
|
3060
3424
|
var MODE_KEY = "cerberus-mode";
|
|
3061
3425
|
function useTheme(defaultTheme = "cerberus", defaultColorMode = "light", options = {}) {
|
|
3062
3426
|
const { updateMode, updateTheme, cache } = options;
|
|
3063
|
-
const [theme, setTheme] = (0,
|
|
3064
|
-
const [colorMode, setColorMode] = (0,
|
|
3065
|
-
const handleThemeChange = (0,
|
|
3427
|
+
const [theme, setTheme] = (0, import_react27.useState)(defaultTheme);
|
|
3428
|
+
const [colorMode, setColorMode] = (0, import_react27.useState)(defaultColorMode);
|
|
3429
|
+
const handleThemeChange = (0, import_react27.useCallback)(
|
|
3066
3430
|
(newTheme) => {
|
|
3067
3431
|
setTheme(newTheme);
|
|
3068
3432
|
updateTheme == null ? void 0 : updateTheme(newTheme);
|
|
3069
3433
|
},
|
|
3070
3434
|
[updateTheme]
|
|
3071
3435
|
);
|
|
3072
|
-
const handleColorModeChange = (0,
|
|
3436
|
+
const handleColorModeChange = (0, import_react27.useCallback)(
|
|
3073
3437
|
(newMode) => {
|
|
3074
3438
|
setColorMode(newMode);
|
|
3075
3439
|
updateMode == null ? void 0 : updateMode(newMode);
|
|
3076
3440
|
},
|
|
3077
3441
|
[updateMode]
|
|
3078
3442
|
);
|
|
3079
|
-
(0,
|
|
3443
|
+
(0, import_react27.useLayoutEffect)(() => {
|
|
3080
3444
|
const theme2 = localStorage.getItem(THEME_KEY);
|
|
3081
3445
|
if (theme2) {
|
|
3082
3446
|
setTheme(theme2);
|
|
3083
3447
|
}
|
|
3084
3448
|
}, []);
|
|
3085
|
-
(0,
|
|
3449
|
+
(0, import_react27.useLayoutEffect)(() => {
|
|
3086
3450
|
const mode = localStorage.getItem(MODE_KEY);
|
|
3087
3451
|
if (mode) {
|
|
3088
3452
|
setColorMode(mode);
|
|
3089
3453
|
}
|
|
3090
3454
|
}, []);
|
|
3091
|
-
(0,
|
|
3455
|
+
(0, import_react27.useEffect)(() => {
|
|
3092
3456
|
const root = document.documentElement;
|
|
3093
3457
|
root.dataset.pandaTheme = theme;
|
|
3094
3458
|
if (cache) {
|
|
3095
3459
|
localStorage.setItem(THEME_KEY, theme);
|
|
3096
3460
|
}
|
|
3097
3461
|
}, [theme, cache]);
|
|
3098
|
-
(0,
|
|
3462
|
+
(0, import_react27.useEffect)(() => {
|
|
3099
3463
|
const root = document.documentElement;
|
|
3100
3464
|
if (colorMode === "system") {
|
|
3101
3465
|
root.dataset.colorMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
@@ -3106,7 +3470,7 @@ function useTheme(defaultTheme = "cerberus", defaultColorMode = "light", options
|
|
|
3106
3470
|
localStorage.setItem(MODE_KEY, colorMode);
|
|
3107
3471
|
}
|
|
3108
3472
|
}, [colorMode, cache]);
|
|
3109
|
-
return (0,
|
|
3473
|
+
return (0, import_react27.useMemo)(
|
|
3110
3474
|
() => ({
|
|
3111
3475
|
theme,
|
|
3112
3476
|
mode: colorMode,
|
|
@@ -3118,8 +3482,8 @@ function useTheme(defaultTheme = "cerberus", defaultColorMode = "light", options
|
|
|
3118
3482
|
}
|
|
3119
3483
|
|
|
3120
3484
|
// src/context/theme.tsx
|
|
3121
|
-
var
|
|
3122
|
-
var ThemeContext = (0,
|
|
3485
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3486
|
+
var ThemeContext = (0, import_react28.createContext)(
|
|
3123
3487
|
null
|
|
3124
3488
|
);
|
|
3125
3489
|
function ThemeProvider(props) {
|
|
@@ -3128,109 +3492,22 @@ function ThemeProvider(props) {
|
|
|
3128
3492
|
updateMode: props.updateMode,
|
|
3129
3493
|
updateTheme: props.updateTheme
|
|
3130
3494
|
});
|
|
3131
|
-
return /* @__PURE__ */ (0,
|
|
3495
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ThemeContext.Provider, { value: state, children: props.children });
|
|
3132
3496
|
}
|
|
3133
3497
|
function useThemeContext() {
|
|
3134
|
-
const context = (0,
|
|
3498
|
+
const context = (0, import_react28.useContext)(ThemeContext);
|
|
3135
3499
|
if (!context) {
|
|
3136
3500
|
throw new Error("useThemeContext must be used within a ThemeProvider");
|
|
3137
3501
|
}
|
|
3138
3502
|
return context;
|
|
3139
3503
|
}
|
|
3140
3504
|
|
|
3141
|
-
// src/hooks/useDate.ts
|
|
3142
|
-
var import_react25 = require("react");
|
|
3143
|
-
function useDate(options) {
|
|
3144
|
-
const initialValue = (options == null ? void 0 : options.initialValue) ?? "";
|
|
3145
|
-
const format = (options == null ? void 0 : options.format) ?? DateFormats.USMilitary;
|
|
3146
|
-
const onChange = options == null ? void 0 : options.onChange;
|
|
3147
|
-
const [value, setValue] = (0, import_react25.useState)(initialValue);
|
|
3148
|
-
const handleChange = (0, import_react25.useCallback)(
|
|
3149
|
-
(e) => {
|
|
3150
|
-
const newValue = formatMilitaryDate(e.currentTarget.value);
|
|
3151
|
-
if (onChange) onChange(e);
|
|
3152
|
-
setValue(newValue);
|
|
3153
|
-
},
|
|
3154
|
-
[onChange]
|
|
3155
|
-
);
|
|
3156
|
-
return (0, import_react25.useMemo)(
|
|
3157
|
-
() => ({
|
|
3158
|
-
format,
|
|
3159
|
-
value,
|
|
3160
|
-
ISO: formatMilitaryToISO(value),
|
|
3161
|
-
onChange: handleChange
|
|
3162
|
-
}),
|
|
3163
|
-
[format, value, handleChange]
|
|
3164
|
-
);
|
|
3165
|
-
}
|
|
3166
|
-
function formatMilitaryToISO(input3) {
|
|
3167
|
-
const [day, month, year] = input3.split(" ");
|
|
3168
|
-
const monthIndex = MONTHS.findIndex((m) => m.startsWith(month));
|
|
3169
|
-
const monthNum = monthIndex + 1;
|
|
3170
|
-
return `${year ?? "0000"}-${monthNum.toString().padStart(2, "0")}-${day.padStart(
|
|
3171
|
-
2,
|
|
3172
|
-
"0"
|
|
3173
|
-
)}`;
|
|
3174
|
-
}
|
|
3175
|
-
function formatMilitaryDate(input3) {
|
|
3176
|
-
let formatted = input3.toUpperCase().replace(/[^0-9A-Z]/g, "");
|
|
3177
|
-
let day = "";
|
|
3178
|
-
let month = "";
|
|
3179
|
-
let year = "";
|
|
3180
|
-
if (formatted.length >= 2) {
|
|
3181
|
-
day = formatted.replace(/[^0-9]/g, "").slice(0, 2);
|
|
3182
|
-
const dayNum = parseInt(day, 10);
|
|
3183
|
-
if (dayNum > 31) day = "31";
|
|
3184
|
-
else if (dayNum === 0) day = "01";
|
|
3185
|
-
formatted = formatted.slice(2);
|
|
3186
|
-
}
|
|
3187
|
-
if (formatted.length >= 3) {
|
|
3188
|
-
month = formatted.slice(0, 3);
|
|
3189
|
-
const monthIndex = MONTHS.findIndex((m) => m.startsWith(month));
|
|
3190
|
-
if (monthIndex !== -1) {
|
|
3191
|
-
month = MONTHS[monthIndex];
|
|
3192
|
-
} else {
|
|
3193
|
-
month = month.replace(/[^A-Z]/g, "");
|
|
3194
|
-
}
|
|
3195
|
-
formatted = formatted.slice(3);
|
|
3196
|
-
}
|
|
3197
|
-
if (formatted.length > 0) {
|
|
3198
|
-
year = formatted.slice(0, 4);
|
|
3199
|
-
}
|
|
3200
|
-
return [day, month, year].filter(Boolean).join(" ");
|
|
3201
|
-
}
|
|
3202
|
-
var DateFormats = {
|
|
3203
|
-
get ISO() {
|
|
3204
|
-
return "YYYY-MM-DD";
|
|
3205
|
-
},
|
|
3206
|
-
get USMilitary() {
|
|
3207
|
-
return "DD MMM YYYY";
|
|
3208
|
-
},
|
|
3209
|
-
get Months() {
|
|
3210
|
-
return MONTHS;
|
|
3211
|
-
}
|
|
3212
|
-
};
|
|
3213
|
-
var MONTHS = [
|
|
3214
|
-
"JAN",
|
|
3215
|
-
"FEB",
|
|
3216
|
-
"MAR",
|
|
3217
|
-
"APR",
|
|
3218
|
-
"MAY",
|
|
3219
|
-
"JUN",
|
|
3220
|
-
"JUL",
|
|
3221
|
-
"AUG",
|
|
3222
|
-
"SEP",
|
|
3223
|
-
"OCT",
|
|
3224
|
-
"NOV",
|
|
3225
|
-
"DEC"
|
|
3226
|
-
];
|
|
3227
|
-
|
|
3228
3505
|
// src/hooks/useToggle.ts
|
|
3229
|
-
var
|
|
3506
|
+
var import_react29 = require("react");
|
|
3230
3507
|
function useToggle(options) {
|
|
3231
|
-
const [checked, setChecked] = (0,
|
|
3508
|
+
const [checked, setChecked] = (0, import_react29.useState)((options == null ? void 0 : options.checked) ?? "");
|
|
3232
3509
|
const onChange = options == null ? void 0 : options.onChange;
|
|
3233
|
-
const handleChange = (0,
|
|
3510
|
+
const handleChange = (0, import_react29.useCallback)(
|
|
3234
3511
|
(e) => {
|
|
3235
3512
|
const target = e.currentTarget;
|
|
3236
3513
|
setChecked((prev) => {
|
|
@@ -3240,25 +3517,25 @@ function useToggle(options) {
|
|
|
3240
3517
|
},
|
|
3241
3518
|
[onChange]
|
|
3242
3519
|
);
|
|
3243
|
-
return (0,
|
|
3520
|
+
return (0, import_react29.useMemo)(() => ({ checked, handleChange }), [checked, handleChange]);
|
|
3244
3521
|
}
|
|
3245
3522
|
|
|
3246
3523
|
// src/hooks/useRootColors.ts
|
|
3247
|
-
var
|
|
3524
|
+
var import_react30 = require("react");
|
|
3248
3525
|
function useRootColors(colors = []) {
|
|
3249
|
-
const [state, dispatch] = (0,
|
|
3250
|
-
const handleRefetch = (0,
|
|
3526
|
+
const [state, dispatch] = (0, import_react30.useReducer)(rootColorsReducer, {});
|
|
3527
|
+
const handleRefetch = (0, import_react30.useCallback)(() => {
|
|
3251
3528
|
return new Promise((resolve) => {
|
|
3252
3529
|
dispatch(formatColors(colors));
|
|
3253
3530
|
resolve();
|
|
3254
3531
|
});
|
|
3255
3532
|
}, []);
|
|
3256
|
-
(0,
|
|
3533
|
+
(0, import_react30.useEffect)(() => {
|
|
3257
3534
|
if (Object.keys(state).length === colors.length) return;
|
|
3258
3535
|
dispatch(formatColors(colors));
|
|
3259
3536
|
console.log("updating colors in root hook");
|
|
3260
3537
|
}, [colors]);
|
|
3261
|
-
return (0,
|
|
3538
|
+
return (0, import_react30.useMemo)(
|
|
3262
3539
|
() => ({ colors: state, refetch: handleRefetch }),
|
|
3263
3540
|
[state, handleRefetch]
|
|
3264
3541
|
);
|
|
@@ -3305,6 +3582,23 @@ __reExport(src_exports, require("@dnd-kit/core"), module.exports);
|
|
|
3305
3582
|
CircularProgress,
|
|
3306
3583
|
ConfirmModal,
|
|
3307
3584
|
DateFormats,
|
|
3585
|
+
DatePicker,
|
|
3586
|
+
DatePickerCalendar,
|
|
3587
|
+
DatePickerContent,
|
|
3588
|
+
DatePickerContext,
|
|
3589
|
+
DatePickerDayView,
|
|
3590
|
+
DatePickerInput,
|
|
3591
|
+
DatePickerLabel,
|
|
3592
|
+
DatePickerMonthView,
|
|
3593
|
+
DatePickerTable,
|
|
3594
|
+
DatePickerTableCell,
|
|
3595
|
+
DatePickerTableCellTrigger,
|
|
3596
|
+
DatePickerTableHeader,
|
|
3597
|
+
DatePickerTrigger,
|
|
3598
|
+
DatePickerView,
|
|
3599
|
+
DatePickerViewControl,
|
|
3600
|
+
DatePickerViewControlGroup,
|
|
3601
|
+
DatePickerYearView,
|
|
3308
3602
|
Droppable,
|
|
3309
3603
|
FeatureFlag,
|
|
3310
3604
|
FeatureFlags,
|
|
@@ -3343,6 +3637,7 @@ __reExport(src_exports, require("@dnd-kit/core"), module.exports);
|
|
|
3343
3637
|
ProgressBar,
|
|
3344
3638
|
PromptModal,
|
|
3345
3639
|
Radio,
|
|
3640
|
+
RangePickerInput,
|
|
3346
3641
|
Select,
|
|
3347
3642
|
Show,
|
|
3348
3643
|
Spinner,
|
|
@@ -3366,6 +3661,7 @@ __reExport(src_exports, require("@dnd-kit/core"), module.exports);
|
|
|
3366
3661
|
Tr,
|
|
3367
3662
|
createNavTriggerProps,
|
|
3368
3663
|
defineIcons,
|
|
3664
|
+
formatISOToMilitary,
|
|
3369
3665
|
formatMilitaryDate,
|
|
3370
3666
|
formatMilitaryToISO,
|
|
3371
3667
|
formatNotifyCount,
|