@homebound/beam 3.34.1 → 3.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +776 -712
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +87 -71
- package/dist/index.d.ts +87 -71
- package/dist/index.js +628 -564
- package/dist/index.js.map +1 -1
- package/dist/truss.css +10 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4882,7 +4882,21 @@ var Icons = {
|
|
|
4882
4882
|
/* @__PURE__ */ jsx3("path", { d: "M1.28481 17.9291C1.68761 18.0252 1.93583 18.4306 1.83991 18.8335L1.68148 19.4996H2.36957C2.78374 19.4997 3.11896 19.836 3.11896 20.2501C3.11871 20.6641 2.78359 20.9995 2.36957 20.9995H1.68148C0.712759 20.9995 -0.00204962 20.095 0.222017 19.1527L0.381609 18.4854C0.47768 18.0826 0.881956 17.8332 1.28481 17.9291ZM6.49699 19.4996L6.64849 19.5146C6.99008 19.5847 7.24638 19.8878 7.24638 20.2501C7.24616 20.6122 6.98991 20.9144 6.64849 20.9845L6.49699 20.9995H5.1208C4.70687 20.9994 4.37166 20.664 4.37141 20.2501C4.37141 19.836 4.70672 19.4997 5.1208 19.4996H6.49699ZM10.6244 19.4996C11.0386 19.4996 11.3738 19.8359 11.3738 20.2501C11.3736 20.6641 11.0384 20.9995 10.6244 20.9995H9.24822C8.8343 20.9994 8.49909 20.664 8.49883 20.2501C8.49883 19.836 8.83415 19.4998 9.24822 19.4996H10.6244ZM14.7518 19.4996C15.166 19.4996 15.5012 19.8359 15.5012 20.2501C15.501 20.6641 15.1659 20.9995 14.7518 20.9995H13.3756C12.9617 20.9994 12.6265 20.664 12.6263 20.2501C12.6263 19.836 12.9616 19.4998 13.3756 19.4996H14.7518ZM18.8793 19.4996C19.2935 19.4996 19.6298 19.8359 19.6298 20.2501C19.6296 20.6641 19.2933 20.9995 18.8793 20.9995H17.5031C17.0892 20.9993 16.7539 20.664 16.7537 20.2501C16.7537 19.836 17.089 19.4998 17.5031 19.4996H18.8793ZM22.7765 17.9511C23.1826 17.8707 23.5771 18.1348 23.6578 18.5409L23.7896 19.2082C23.9734 20.1356 23.2641 20.9995 22.3186 20.9995H21.6305C21.2166 20.9993 20.8814 20.664 20.8811 20.2501C20.8811 19.836 21.2164 19.4998 21.6305 19.4996H22.3186L22.1868 18.8335L22.1717 18.682C22.1737 18.333 22.421 18.0216 22.7765 17.9511ZM23.1293 15.8741C23.2099 16.2803 22.9456 16.6757 22.5395 16.7565C22.1333 16.8371 21.7378 16.5728 21.6571 16.1667L21.3923 14.8333L22.1289 14.6875L22.8644 14.5407L23.1293 15.8741ZM2.47481 16.1667C2.37869 16.5694 1.97442 16.8177 1.57161 16.7218C1.16887 16.6257 0.920596 16.2214 1.01651 15.8186L2.47481 16.1667ZM2.23658 13.9301C2.63953 14.026 2.88878 14.4303 2.79284 14.8333L2.47481 16.1667L1.74508 15.992L1.01651 15.8186L1.33338 14.4852C1.42946 14.0824 1.83377 13.8342 2.23658 13.9301ZM21.9821 13.9509C22.3883 13.8703 22.7837 14.1345 22.8644 14.5407L21.3923 14.8333C21.3117 14.4271 21.576 14.0317 21.9821 13.9509ZM22.3348 11.8739C22.4154 12.2802 22.1513 12.6756 21.745 12.7562C21.3894 12.8266 21.0426 12.6329 20.9077 12.311L20.8638 12.1664L20.5989 10.833L21.3344 10.6873L22.0699 10.5405L22.3348 11.8739ZM3.18951 9.92985C3.59224 10.0259 3.84052 10.4302 3.74461 10.833L3.42774 12.1664L3.37801 12.3099C3.23088 12.626 2.87702 12.8065 2.52454 12.7227C2.12159 12.6268 1.87234 12.2213 1.96828 11.8184L2.28631 10.485C2.38252 10.0824 2.78676 9.83396 3.18951 9.92985ZM21.1887 9.95182C21.5948 9.87125 21.9891 10.1345 22.0699 10.5405L20.5989 10.833C20.5183 10.4268 20.7826 10.0325 21.1887 9.95182ZM19.9374 5.99902C20.6533 5.99902 21.2703 6.50534 21.4096 7.20753L21.5414 7.87481L21.5553 8.02515C21.5534 8.37415 21.3073 8.68547 20.9516 8.75604C20.5963 8.82651 20.2496 8.63336 20.1144 8.31195L20.0704 8.16624L19.9374 7.50011H19.0828C18.6686 7.50011 18.3323 7.16379 18.3323 6.74957C18.3323 6.33535 18.6686 5.99902 19.0828 5.99902H19.9374ZM5.39373 5.99902C5.80794 5.99902 6.14427 6.33535 6.14427 6.74957C6.14427 7.16379 5.80794 7.50011 5.39373 7.50011H4.5391L4.37951 8.16624C4.28352 8.56913 3.87923 8.81843 3.47631 8.7225C3.07363 8.62647 2.82552 8.22204 2.92121 7.8193L3.07964 7.15202C3.24058 6.47639 3.84455 5.99902 4.5391 5.99902H5.39373ZM10.5273 5.99902C10.9415 5.99904 11.2778 6.33536 11.2778 6.74957C11.2778 7.16378 10.9415 7.5001 10.5273 7.50011H8.81571C8.40174 7.49982 8.06632 7.16361 8.06632 6.74957C8.06632 6.33553 8.40174 5.99931 8.81571 5.99902H10.5273ZM15.6608 5.99902C16.0748 5.99932 16.4102 6.33554 16.4102 6.74957C16.4102 7.1636 16.0748 7.49982 15.6608 7.50011H13.9493C13.535 7.50011 13.1987 7.16378 13.1987 6.74957C13.1987 6.33536 13.535 5.99903 13.9493 5.99902H15.6608Z" }),
|
|
4883
4883
|
/* @__PURE__ */ jsx3("path", { d: "M10.6309 14.7413V10.9913H13.6309V14.7413C13.6309 15.1538 13.9684 15.4913 14.3809 15.4913H16.6309C17.0434 15.4913 17.3809 15.1538 17.3809 14.7413V9.4913H18.6559C19.0009 9.4913 19.1659 9.0638 18.9034 8.8388L12.6334 3.19125C12.3484 2.93625 11.9134 2.93625 11.6284 3.19125L5.35831 8.8388C5.10331 9.0638 5.26081 9.4913 5.60581 9.4913H6.88082V14.7413C6.88082 15.1538 7.21833 15.4913 7.63083 15.4913H9.88085C10.2934 15.4913 10.6309 15.1538 10.6309 14.7413Z" })
|
|
4884
4884
|
] }),
|
|
4885
|
-
houseFilled: /* @__PURE__ */ jsx3(Fragment2, { children: /* @__PURE__ */ jsx3("path", { d: "M9.82369 19.9192V14.5155H14.1715V19.9192C14.1715 20.5137 14.6606 21 15.2584 21H18.5193C19.1171 21 19.6062 20.5137 19.6062 19.9192V12.3539H21.454C21.954 12.3539 22.1932 11.7379 21.8127 11.4137L12.7258 3.27559C12.3128 2.90814 11.6824 2.90814 11.2693 3.27559L2.18245 11.4137C1.81288 11.7379 2.04114 12.3539 2.54114 12.3539H4.38895V19.9192C4.38895 20.5137 4.87808 21 5.4759 21H8.73674C9.33456 21 9.82369 20.5137 9.82369 19.9192Z" }) })
|
|
4885
|
+
houseFilled: /* @__PURE__ */ jsx3(Fragment2, { children: /* @__PURE__ */ jsx3("path", { d: "M9.82369 19.9192V14.5155H14.1715V19.9192C14.1715 20.5137 14.6606 21 15.2584 21H18.5193C19.1171 21 19.6062 20.5137 19.6062 19.9192V12.3539H21.454C21.954 12.3539 22.1932 11.7379 21.8127 11.4137L12.7258 3.27559C12.3128 2.90814 11.6824 2.90814 11.2693 3.27559L2.18245 11.4137C1.81288 11.7379 2.04114 12.3539 2.54114 12.3539H4.38895V19.9192C4.38895 20.5137 4.87808 21 5.4759 21H8.73674C9.33456 21 9.82369 20.5137 9.82369 19.9192Z" }) }),
|
|
4886
|
+
// Option Type / slot icons
|
|
4887
|
+
single: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
4888
|
+
/* @__PURE__ */ jsx3("path", { d: "M9 15V17H5V15H9ZM9 9H5V17C3.96435 17 3.113 16.2128 3.01074 15.2041L3 15V9C3 7.89543 3.89543 7 5 7H9L9.2041 7.01074C10.2128 7.113 11 7.96435 11 9V15C11 16.1046 10.1046 17 9 17V9Z" }),
|
|
4889
|
+
/* @__PURE__ */ jsx3("path", { d: "M19 15V17H15V15H19ZM19 9H15V17C13.9643 17 13.113 16.2128 13.0107 15.2041L13 15V9C13 7.89543 13.8954 7 15 7H19L19.2041 7.01074C20.2128 7.113 21 7.96435 21 9V15C21 16.1046 20.1046 17 19 17V9Z" })
|
|
4890
|
+
] }),
|
|
4891
|
+
linked: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
4892
|
+
/* @__PURE__ */ jsx3("path", { d: "M9 15V17H5V15H9ZM19 15V17H15V15H19ZM19 9H15V17C13.8954 17 13 16.1046 13 15V9C13 7.89543 13.8954 7 15 7H19C20.1046 7 21 7.89543 21 9V15C21 16.1046 20.1046 17 19 17V9ZM9 9H5V17C3.89543 17 3 16.1046 3 15V9C3 7.89543 3.89543 7 5 7H9C10.1046 7 11 7.89543 11 9V15C11 16.1046 10.1046 17 9 17V9Z" }),
|
|
4893
|
+
/* @__PURE__ */ jsx3("path", { d: "M7 11H17V13H7V11Z" })
|
|
4894
|
+
] }),
|
|
4895
|
+
package: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
4896
|
+
/* @__PURE__ */ jsx3("path", { d: "M9 15V17H5V15H9ZM9 9H5V17C3.96435 17 3.113 16.2128 3.01074 15.2041L3 15V9C3 7.89543 3.89543 7 5 7H9L9.2041 7.01074C10.2128 7.113 11 7.96435 11 9V15C11 16.1046 10.1046 17 9 17V9Z" }),
|
|
4897
|
+
/* @__PURE__ */ jsx3("path", { d: "M20 18V20H4V18H20ZM22 16V8C22 6.89543 21.1046 6 20 6H4C2.89543 6 2 6.89543 2 8V16C2 17.1046 2.89543 18 4 18V20C1.79086 20 0 18.2091 0 16V8C0 5.79086 1.79086 4 4 4H20L20.2061 4.00488C22.3194 4.11211 24 5.85996 24 8V16L23.9951 16.2061C23.8913 18.2512 22.2512 19.8913 20.2061 19.9951L20 20V18C21.1046 18 22 17.1046 22 16Z" }),
|
|
4898
|
+
/* @__PURE__ */ jsx3("path", { d: "M19 15V17H15V15H19ZM19 9H15V17C13.9643 17 13.113 16.2128 13.0107 15.2041L13 15V9C13 7.89543 13.8954 7 15 7H19L19.2041 7.01074C20.2128 7.113 21 7.96435 21 9V15C21 16.1046 20.1046 17 19 17V9Z" })
|
|
4899
|
+
] })
|
|
4886
4900
|
};
|
|
4887
4901
|
|
|
4888
4902
|
// src/components/PresentationContext.tsx
|
|
@@ -5042,7 +5056,7 @@ function Chips(props) {
|
|
|
5042
5056
|
// src/components/Table/GridTable.tsx
|
|
5043
5057
|
import memoizeOne from "memoize-one";
|
|
5044
5058
|
import { runInAction } from "mobx";
|
|
5045
|
-
import React13, { useEffect as useEffect20, useMemo as
|
|
5059
|
+
import React13, { useEffect as useEffect20, useMemo as useMemo27, useRef as useRef41, useState as useState33 } from "react";
|
|
5046
5060
|
import { Virtuoso as Virtuoso2, VirtuosoGrid } from "react-virtuoso";
|
|
5047
5061
|
|
|
5048
5062
|
// src/components/Layout/ScrollableContent.tsx
|
|
@@ -5233,7 +5247,7 @@ var sizeToPixels = {
|
|
|
5233
5247
|
// src/components/Table/GridTableApi.ts
|
|
5234
5248
|
import { comparer } from "mobx";
|
|
5235
5249
|
import { computedFn } from "mobx-utils";
|
|
5236
|
-
import { useMemo as
|
|
5250
|
+
import { useMemo as useMemo24 } from "react";
|
|
5237
5251
|
|
|
5238
5252
|
// src/components/Table/types.ts
|
|
5239
5253
|
var nonKindGridColumnKeys = [
|
|
@@ -9932,7 +9946,7 @@ function Button(props) {
|
|
|
9932
9946
|
} = useHover5(ariaProps);
|
|
9933
9947
|
const {
|
|
9934
9948
|
baseStyles: baseStyles5,
|
|
9935
|
-
hoverStyles:
|
|
9949
|
+
hoverStyles: hoverStyles5,
|
|
9936
9950
|
disabledStyles: disabledStyles4,
|
|
9937
9951
|
pressedStyles: pressedStyles2,
|
|
9938
9952
|
focusStyles: focusStyles2
|
|
@@ -9961,7 +9975,7 @@ function Button(props) {
|
|
|
9961
9975
|
textTransform: "tt_inherit"
|
|
9962
9976
|
},
|
|
9963
9977
|
...baseStyles5,
|
|
9964
|
-
...isHovered && !isPressed && !active ?
|
|
9978
|
+
...isHovered && !isPressed && !active ? hoverStyles5 : {},
|
|
9965
9979
|
...isPressed || active ? pressedStyles2 : {},
|
|
9966
9980
|
...isDisabled || asyncInProgress ? {
|
|
9967
9981
|
...disabledStyles4,
|
|
@@ -10364,7 +10378,7 @@ function NavLink(props) {
|
|
|
10364
10378
|
baseStyles: baseStyles5,
|
|
10365
10379
|
activeStyles: activeStyles3,
|
|
10366
10380
|
focusRingStyles: focusRingStyles2,
|
|
10367
|
-
hoverStyles:
|
|
10381
|
+
hoverStyles: hoverStyles5,
|
|
10368
10382
|
disabledStyles: disabledStyles4,
|
|
10369
10383
|
pressedStyles: pressedStyles2
|
|
10370
10384
|
} = useMemo13(() => getNavLinkStyles(variant), [variant]);
|
|
@@ -10384,7 +10398,7 @@ function NavLink(props) {
|
|
|
10384
10398
|
...active && activeStyles3,
|
|
10385
10399
|
...isDisabled && disabledStyles4,
|
|
10386
10400
|
...isFocusVisible && focusRingStyles2,
|
|
10387
|
-
...isHovered &&
|
|
10401
|
+
...isHovered && hoverStyles5,
|
|
10388
10402
|
...isPressed && pressedStyles2
|
|
10389
10403
|
})
|
|
10390
10404
|
};
|
|
@@ -13525,102 +13539,10 @@ function DateRangeField(props) {
|
|
|
13525
13539
|
return /* @__PURE__ */ jsx67(DateFieldBase, { ...props, mode: "range" });
|
|
13526
13540
|
}
|
|
13527
13541
|
|
|
13528
|
-
// src/inputs/IconCard.tsx
|
|
13529
|
-
import { useMemo as useMemo18 } from "react";
|
|
13530
|
-
import { useCheckbox as useCheckbox2, useHover as useHover11, VisuallyHidden as VisuallyHidden4 } from "react-aria";
|
|
13531
|
-
import { useToggleState as useToggleState2 } from "react-stately";
|
|
13532
|
-
import { trussProps as trussProps42 } from "@homebound/truss/runtime";
|
|
13533
|
-
import { jsx as jsx68, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
13534
|
-
function IconCard(props) {
|
|
13535
|
-
const {
|
|
13536
|
-
selected: isSelected = false,
|
|
13537
|
-
disabled: isDisabled = false,
|
|
13538
|
-
icon,
|
|
13539
|
-
cardRef,
|
|
13540
|
-
label,
|
|
13541
|
-
tooltip,
|
|
13542
|
-
...otherProps
|
|
13543
|
-
} = props;
|
|
13544
|
-
const ref = useGetRef(cardRef);
|
|
13545
|
-
const ariaProps = {
|
|
13546
|
-
isSelected,
|
|
13547
|
-
isDisabled,
|
|
13548
|
-
...otherProps
|
|
13549
|
-
};
|
|
13550
|
-
const checkboxProps = {
|
|
13551
|
-
...ariaProps,
|
|
13552
|
-
"aria-label": label
|
|
13553
|
-
};
|
|
13554
|
-
const {
|
|
13555
|
-
hoverProps,
|
|
13556
|
-
isHovered
|
|
13557
|
-
} = useHover11({
|
|
13558
|
-
isDisabled
|
|
13559
|
-
});
|
|
13560
|
-
const toggleState = useToggleState2(ariaProps);
|
|
13561
|
-
const {
|
|
13562
|
-
inputProps
|
|
13563
|
-
} = useCheckbox2(checkboxProps, toggleState, ref);
|
|
13564
|
-
const styles = useMemo18(() => ({
|
|
13565
|
-
...baseStyles3,
|
|
13566
|
-
...isHovered && iconCardStylesHover,
|
|
13567
|
-
...isSelected && selectedStyles,
|
|
13568
|
-
...isDisabled && disabledStyles2
|
|
13569
|
-
}), [isDisabled, isHovered, isSelected]);
|
|
13570
|
-
const tid = useTestIds(props, defaultTestId(label));
|
|
13571
|
-
return maybeTooltip({
|
|
13572
|
-
title: resolveTooltip(isDisabled, tooltip),
|
|
13573
|
-
placement: "top",
|
|
13574
|
-
children: /* @__PURE__ */ jsxs41("button", { ...trussProps42(styles), ...hoverProps, onClick: toggleState.toggle, disabled: isDisabled, ...tid, children: [
|
|
13575
|
-
/* @__PURE__ */ jsx68(VisuallyHidden4, { children: /* @__PURE__ */ jsx68("input", { ref, ...inputProps, ...tid.value }) }),
|
|
13576
|
-
/* @__PURE__ */ jsx68(Icon, { icon, inc: 4, color: isDisabled ? "rgba(221, 220, 220, 1)" /* Gray300 */ : "rgba(36, 36, 36, 1)" /* Gray900 */ }),
|
|
13577
|
-
/* @__PURE__ */ jsx68("span", { ...trussProps42({
|
|
13578
|
-
fontWeight: "fw4",
|
|
13579
|
-
fontSize: "fz_12px",
|
|
13580
|
-
lineHeight: "lh_16px",
|
|
13581
|
-
...isDisabled ? {
|
|
13582
|
-
color: "gray300"
|
|
13583
|
-
} : {}
|
|
13584
|
-
}), children: label })
|
|
13585
|
-
] })
|
|
13586
|
-
});
|
|
13587
|
-
}
|
|
13588
|
-
var baseStyles3 = {
|
|
13589
|
-
display: "df",
|
|
13590
|
-
flexDirection: "fdc",
|
|
13591
|
-
alignItems: "aic",
|
|
13592
|
-
justifyContent: "jcc",
|
|
13593
|
-
width: "w_130px",
|
|
13594
|
-
height: "h_114px",
|
|
13595
|
-
borderStyle: "bss",
|
|
13596
|
-
borderWidth: "bw1",
|
|
13597
|
-
borderRadius: "br8",
|
|
13598
|
-
borderColor: "bcGray300",
|
|
13599
|
-
backgroundColor: "bgWhite",
|
|
13600
|
-
gap: "gap_12px",
|
|
13601
|
-
paddingTop: "pt2",
|
|
13602
|
-
paddingBottom: "pb2",
|
|
13603
|
-
paddingRight: "pr2",
|
|
13604
|
-
paddingLeft: "pl2",
|
|
13605
|
-
textAlign: "tac"
|
|
13606
|
-
};
|
|
13607
|
-
var selectedStyles = {
|
|
13608
|
-
borderWidth: "bw2",
|
|
13609
|
-
borderColor: "bcBlue500",
|
|
13610
|
-
backgroundColor: "bgBlue50"
|
|
13611
|
-
};
|
|
13612
|
-
var disabledStyles2 = {
|
|
13613
|
-
borderColor: "bcGray200",
|
|
13614
|
-
backgroundColor: "bgGray50"
|
|
13615
|
-
};
|
|
13616
|
-
var iconCardStylesHover = {
|
|
13617
|
-
backgroundColor: "bgGray100"
|
|
13618
|
-
};
|
|
13619
|
-
|
|
13620
13542
|
// src/inputs/MultiLineSelectField.tsx
|
|
13621
13543
|
import { useState as useState23 } from "react";
|
|
13622
|
-
import { trussProps as
|
|
13623
|
-
import { jsx as
|
|
13544
|
+
import { trussProps as trussProps42 } from "@homebound/truss/runtime";
|
|
13545
|
+
import { jsx as jsx68, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
13624
13546
|
function MultiLineSelectField(props) {
|
|
13625
13547
|
const {
|
|
13626
13548
|
options,
|
|
@@ -13634,27 +13556,27 @@ function MultiLineSelectField(props) {
|
|
|
13634
13556
|
const tid = useTestIds(props, "");
|
|
13635
13557
|
const [isDisplayed, setIsDisplayed] = useState23(true);
|
|
13636
13558
|
const currentOptions = options.filter((o) => !values.includes(getOptionValue(o)));
|
|
13637
|
-
return /* @__PURE__ */
|
|
13559
|
+
return /* @__PURE__ */ jsxs41("div", { ...trussProps42({
|
|
13638
13560
|
marginTop: "mt1",
|
|
13639
13561
|
...labelStyle === "left" ? {
|
|
13640
13562
|
display: "df"
|
|
13641
13563
|
} : {}
|
|
13642
13564
|
}), children: [
|
|
13643
|
-
labelStyle !== "hidden" && /* @__PURE__ */
|
|
13565
|
+
labelStyle !== "hidden" && /* @__PURE__ */ jsx68("div", { ...trussProps42({
|
|
13644
13566
|
...labelStyle === "left" ? {
|
|
13645
13567
|
width: "w50"
|
|
13646
13568
|
} : {}
|
|
13647
|
-
}), children: /* @__PURE__ */
|
|
13648
|
-
/* @__PURE__ */
|
|
13569
|
+
}), children: /* @__PURE__ */ jsx68(Label, { ...tid.label, label: props.label }) }),
|
|
13570
|
+
/* @__PURE__ */ jsxs41("div", { ...trussProps42({
|
|
13649
13571
|
...labelStyle === "left" ? {
|
|
13650
13572
|
width: "w50"
|
|
13651
13573
|
} : {}
|
|
13652
13574
|
}), children: [
|
|
13653
13575
|
values.map((value, index) => {
|
|
13654
|
-
return /* @__PURE__ */
|
|
13655
|
-
/* @__PURE__ */
|
|
13576
|
+
return /* @__PURE__ */ jsxs41("div", { className: "mb1 pl1 df", children: [
|
|
13577
|
+
/* @__PURE__ */ jsx68("div", { className: "wsnw oh to_ellipsis w100", children: /* @__PURE__ */ jsx68(SelectField, { ...otherProps, ...tid.selectField, labelStyle: "hidden", value, onSelect: () => {
|
|
13656
13578
|
}, options, getOptionValue, getOptionLabel, compact: true, readOnly: true }) }),
|
|
13657
|
-
/* @__PURE__ */
|
|
13579
|
+
/* @__PURE__ */ jsx68(Button, { ...tid.deleteSelected, variant: "tertiary", label: "", "aria-label": `Delete selected ${otherProps.label}`, icon: "x", onClick: () => {
|
|
13658
13580
|
const selectedOptions = options.filter((o) => values.includes(getOptionValue(o)) && getOptionValue(o) !== value);
|
|
13659
13581
|
const selectedValues = selectedOptions.map((o) => getOptionValue(o));
|
|
13660
13582
|
onSelect(selectedValues, selectedOptions);
|
|
@@ -13662,17 +13584,17 @@ function MultiLineSelectField(props) {
|
|
|
13662
13584
|
} })
|
|
13663
13585
|
] }, index);
|
|
13664
13586
|
}),
|
|
13665
|
-
isDisplayed && /* @__PURE__ */
|
|
13587
|
+
isDisplayed && /* @__PURE__ */ jsx68("div", { className: "mb1", children: /* @__PURE__ */ jsx68(SelectField, { ...tid.selectField, label: otherProps.label, labelStyle: "hidden", getOptionValue, getOptionLabel, value: "", onSelect: (value) => {
|
|
13666
13588
|
onSelect([...values, value], options);
|
|
13667
13589
|
setIsDisplayed(false);
|
|
13668
13590
|
}, options: currentOptions, disabled: otherProps.disabled }) }),
|
|
13669
|
-
/* @__PURE__ */
|
|
13591
|
+
/* @__PURE__ */ jsx68(Button, { ...tid.addAnother, label: "Add Another", variant: "tertiary", onClick: () => setIsDisplayed(true), disabled: isDisplayed || currentOptions.length === 0 })
|
|
13670
13592
|
] })
|
|
13671
13593
|
] });
|
|
13672
13594
|
}
|
|
13673
13595
|
|
|
13674
13596
|
// src/inputs/MultiSelectField.tsx
|
|
13675
|
-
import { jsx as
|
|
13597
|
+
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
13676
13598
|
function MultiSelectField(props) {
|
|
13677
13599
|
const {
|
|
13678
13600
|
getOptionValue = (opt) => opt.id,
|
|
@@ -13681,15 +13603,15 @@ function MultiSelectField(props) {
|
|
|
13681
13603
|
// if unset, assume O implements HasName
|
|
13682
13604
|
...otherProps
|
|
13683
13605
|
} = props;
|
|
13684
|
-
return /* @__PURE__ */
|
|
13606
|
+
return /* @__PURE__ */ jsx69(ComboBoxBase, { multiselect: true, getOptionLabel, getOptionValue, ...otherProps });
|
|
13685
13607
|
}
|
|
13686
13608
|
|
|
13687
13609
|
// src/inputs/NumberField.tsx
|
|
13688
13610
|
import { NumberParser } from "@internationalized/number";
|
|
13689
|
-
import { useMemo as
|
|
13611
|
+
import { useMemo as useMemo18, useRef as useRef29, useState as useState24 } from "react";
|
|
13690
13612
|
import { mergeProps as mergeProps15, useLocale, useNumberField } from "react-aria";
|
|
13691
13613
|
import { useNumberFieldState } from "react-stately";
|
|
13692
|
-
import { jsx as
|
|
13614
|
+
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
13693
13615
|
function NumberField(props) {
|
|
13694
13616
|
const {
|
|
13695
13617
|
fieldProps
|
|
@@ -13729,7 +13651,7 @@ function NumberField(props) {
|
|
|
13729
13651
|
const isReadOnly = !!readOnly;
|
|
13730
13652
|
const factor = type === "percent" ? 100 : type === "cents" ? 100 : type === "mills" ? 1e3 : type === "basisPoints" ? 1e4 : 1;
|
|
13731
13653
|
const signDisplay = displayDirection ? "always" : "auto";
|
|
13732
|
-
const defaultFormatOptions =
|
|
13654
|
+
const defaultFormatOptions = useMemo18(() => ({
|
|
13733
13655
|
[truncate ? "maximumFractionDigits" : "minimumFractionDigits"]: numFractionDigits,
|
|
13734
13656
|
...numIntegerDigits !== void 0 && {
|
|
13735
13657
|
minimumIntegerDigits: numIntegerDigits
|
|
@@ -13740,7 +13662,7 @@ function NumberField(props) {
|
|
|
13740
13662
|
const {
|
|
13741
13663
|
locale
|
|
13742
13664
|
} = useLocale();
|
|
13743
|
-
const formatOptions =
|
|
13665
|
+
const formatOptions = useMemo18(() => {
|
|
13744
13666
|
if (numberFormatOptions !== void 0) {
|
|
13745
13667
|
return numberFormatOptions;
|
|
13746
13668
|
}
|
|
@@ -13772,7 +13694,7 @@ function NumberField(props) {
|
|
|
13772
13694
|
...typeFormat
|
|
13773
13695
|
};
|
|
13774
13696
|
}, [type, numberFormatOptions, defaultFormatOptions, numFractionDigits]);
|
|
13775
|
-
const numberParser =
|
|
13697
|
+
const numberParser = useMemo18(() => new NumberParser(locale, formatOptions), [locale, formatOptions]);
|
|
13776
13698
|
const valueRef = useRef29({
|
|
13777
13699
|
wip: false
|
|
13778
13700
|
});
|
|
@@ -13834,7 +13756,7 @@ function NumberField(props) {
|
|
|
13834
13756
|
if (readOnly && !inputRef.current) {
|
|
13835
13757
|
inputRef.current = document.createElement("input");
|
|
13836
13758
|
}
|
|
13837
|
-
return /* @__PURE__ */
|
|
13759
|
+
return /* @__PURE__ */ jsx70(
|
|
13838
13760
|
TextFieldBase,
|
|
13839
13761
|
{
|
|
13840
13762
|
xss: {
|
|
@@ -13877,11 +13799,11 @@ function formatValue(value, factor, numFractionDigits, numIntegerDigits, positiv
|
|
|
13877
13799
|
}
|
|
13878
13800
|
|
|
13879
13801
|
// src/inputs/RadioGroupField.tsx
|
|
13880
|
-
import { Fragment as Fragment19, useMemo as
|
|
13881
|
-
import { useFocusRing as useFocusRing6, useHover as
|
|
13802
|
+
import { Fragment as Fragment19, useMemo as useMemo19, useRef as useRef30 } from "react";
|
|
13803
|
+
import { useFocusRing as useFocusRing6, useHover as useHover11, useRadio, useRadioGroup } from "react-aria";
|
|
13882
13804
|
import { useRadioGroupState } from "react-stately";
|
|
13883
|
-
import { trussProps as
|
|
13884
|
-
import { jsx as
|
|
13805
|
+
import { trussProps as trussProps43, maybeCssVar as maybeCssVar26 } from "@homebound/truss/runtime";
|
|
13806
|
+
import { jsx as jsx71, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
13885
13807
|
var nextNameId = 0;
|
|
13886
13808
|
function RadioGroupField(props) {
|
|
13887
13809
|
const {
|
|
@@ -13897,7 +13819,7 @@ function RadioGroupField(props) {
|
|
|
13897
13819
|
layout = "vertical",
|
|
13898
13820
|
...otherProps
|
|
13899
13821
|
} = props;
|
|
13900
|
-
const name =
|
|
13822
|
+
const name = useMemo19(() => `radio-group-${++nextNameId}`, []);
|
|
13901
13823
|
const state = useRadioGroupState({
|
|
13902
13824
|
name,
|
|
13903
13825
|
value,
|
|
@@ -13917,7 +13839,7 @@ function RadioGroupField(props) {
|
|
|
13917
13839
|
}, state);
|
|
13918
13840
|
return (
|
|
13919
13841
|
// default styling to position `<Label />` above.
|
|
13920
|
-
/* @__PURE__ */
|
|
13842
|
+
/* @__PURE__ */ jsxs42("div", { ...trussProps43({
|
|
13921
13843
|
display: "df",
|
|
13922
13844
|
flexDirection: "fdc",
|
|
13923
13845
|
gap: "gap1",
|
|
@@ -13928,9 +13850,9 @@ function RadioGroupField(props) {
|
|
|
13928
13850
|
justifyContent: "jcsb"
|
|
13929
13851
|
} : {}
|
|
13930
13852
|
}), children: [
|
|
13931
|
-
/* @__PURE__ */
|
|
13932
|
-
/* @__PURE__ */
|
|
13933
|
-
/* @__PURE__ */
|
|
13853
|
+
/* @__PURE__ */ jsx71(Label, { label, ...labelProps, ...tid.label, suffix: labelSuffix, hidden: labelStyle === "hidden" }),
|
|
13854
|
+
/* @__PURE__ */ jsxs42("div", { ...radioGroupProps, children: [
|
|
13855
|
+
/* @__PURE__ */ jsx71("div", { ...trussProps43({
|
|
13934
13856
|
display: "df",
|
|
13935
13857
|
...layout === "horizontal" ? {
|
|
13936
13858
|
flexDirection: "fdr",
|
|
@@ -13941,14 +13863,14 @@ function RadioGroupField(props) {
|
|
|
13941
13863
|
gap: "gap1"
|
|
13942
13864
|
}
|
|
13943
13865
|
}), children: options.map((option) => {
|
|
13944
|
-
return /* @__PURE__ */
|
|
13866
|
+
return /* @__PURE__ */ jsx71(Fragment19, { children: maybeTooltip({
|
|
13945
13867
|
title: resolveTooltip(option.disabled),
|
|
13946
13868
|
placement: "bottom",
|
|
13947
|
-
children: /* @__PURE__ */
|
|
13869
|
+
children: /* @__PURE__ */ jsx71(Radio, { parentId: name, option, state, isOptionDisabled: !!option.disabled, ...otherProps, ...tid[option.value] })
|
|
13948
13870
|
}) }, option.value);
|
|
13949
13871
|
}) }),
|
|
13950
|
-
errorMsg && /* @__PURE__ */
|
|
13951
|
-
helperText && /* @__PURE__ */
|
|
13872
|
+
errorMsg && /* @__PURE__ */ jsx71(ErrorMessage, { errorMsg, ...tid.errorMsg }),
|
|
13873
|
+
helperText && /* @__PURE__ */ jsx71(HelperText, { helperText })
|
|
13952
13874
|
] })
|
|
13953
13875
|
] })
|
|
13954
13876
|
);
|
|
@@ -13984,22 +13906,22 @@ function Radio(props) {
|
|
|
13984
13906
|
const {
|
|
13985
13907
|
hoverProps,
|
|
13986
13908
|
isHovered
|
|
13987
|
-
} =
|
|
13909
|
+
} = useHover11({
|
|
13988
13910
|
isDisabled: disabled
|
|
13989
13911
|
});
|
|
13990
|
-
return /* @__PURE__ */
|
|
13912
|
+
return /* @__PURE__ */ jsxs42("label", { ...trussProps43({
|
|
13991
13913
|
display: "df",
|
|
13992
13914
|
cursor: "cursorPointer",
|
|
13993
13915
|
...disabled ? {
|
|
13994
13916
|
cursor: "cursor_initial"
|
|
13995
13917
|
} : {}
|
|
13996
13918
|
}), ...hoverProps, children: [
|
|
13997
|
-
/* @__PURE__ */
|
|
13919
|
+
/* @__PURE__ */ jsx71(
|
|
13998
13920
|
"input",
|
|
13999
13921
|
{
|
|
14000
13922
|
type: "radio",
|
|
14001
13923
|
ref,
|
|
14002
|
-
...
|
|
13924
|
+
...trussProps43({
|
|
14003
13925
|
...radioReset,
|
|
14004
13926
|
...radioDefault,
|
|
14005
13927
|
...!disabled && state.selectedValue === value ? radioChecked : radioUnchecked,
|
|
@@ -14019,8 +13941,8 @@ function Radio(props) {
|
|
|
14019
13941
|
...others
|
|
14020
13942
|
}
|
|
14021
13943
|
),
|
|
14022
|
-
/* @__PURE__ */
|
|
14023
|
-
/* @__PURE__ */
|
|
13944
|
+
/* @__PURE__ */ jsxs42("div", { children: [
|
|
13945
|
+
/* @__PURE__ */ jsx71("div", { id: labelId, ...trussProps43({
|
|
14024
13946
|
fontWeight: "fw4",
|
|
14025
13947
|
fontSize: "fz_14px",
|
|
14026
13948
|
lineHeight: "lh_20px",
|
|
@@ -14031,7 +13953,7 @@ function Radio(props) {
|
|
|
14031
13953
|
}), ...description ? {
|
|
14032
13954
|
"aria-describedby": descriptionId
|
|
14033
13955
|
} : {}, children: label }),
|
|
14034
|
-
description && /* @__PURE__ */
|
|
13956
|
+
description && /* @__PURE__ */ jsx71("div", { id: descriptionId, ...trussProps43({
|
|
14035
13957
|
fontWeight: "fw4",
|
|
14036
13958
|
fontSize: "fz_14px",
|
|
14037
13959
|
lineHeight: "lh_20px",
|
|
@@ -14136,19 +14058,19 @@ var radioDisabled = {
|
|
|
14136
14058
|
|
|
14137
14059
|
// src/inputs/RichTextField.tsx
|
|
14138
14060
|
import DOMPurify from "dompurify";
|
|
14139
|
-
import { createElement, useEffect as useEffect16, useMemo as
|
|
14061
|
+
import { createElement, useEffect as useEffect16, useMemo as useMemo20, useRef as useRef31, useState as useState26 } from "react";
|
|
14140
14062
|
|
|
14141
14063
|
// src/inputs/RichTextField.mock.tsx
|
|
14142
14064
|
import { camelCase as camelCase4 } from "change-case";
|
|
14143
14065
|
import { useState as useState25 } from "react";
|
|
14144
|
-
import { jsx as
|
|
14066
|
+
import { jsx as jsx72 } from "react/jsx-runtime";
|
|
14145
14067
|
function RichTextFieldMock(props) {
|
|
14146
14068
|
const { onBlur = () => {
|
|
14147
14069
|
}, onFocus = () => {
|
|
14148
14070
|
}, readOnly } = props;
|
|
14149
14071
|
const [value, setValue] = useState25(props.value || "");
|
|
14150
14072
|
const tid = useTestIds(props, defaultTestId2(props.label || "richTextField"));
|
|
14151
|
-
return /* @__PURE__ */
|
|
14073
|
+
return /* @__PURE__ */ jsx72(
|
|
14152
14074
|
"input",
|
|
14153
14075
|
{
|
|
14154
14076
|
type: "text",
|
|
@@ -14174,8 +14096,8 @@ import Tribute from "tributejs";
|
|
|
14174
14096
|
import "tributejs/dist/tribute.css";
|
|
14175
14097
|
import "trix/dist/trix";
|
|
14176
14098
|
import "trix/dist/trix.css";
|
|
14177
|
-
import { trussProps as
|
|
14178
|
-
import { jsx as
|
|
14099
|
+
import { trussProps as trussProps44 } from "@homebound/truss/runtime";
|
|
14100
|
+
import { jsx as jsx73, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
14179
14101
|
var RichTextField = withTestMock(RichTextFieldImpl, RichTextFieldMock);
|
|
14180
14102
|
function RichTextFieldImpl(props) {
|
|
14181
14103
|
const {
|
|
@@ -14200,7 +14122,7 @@ function RichTextFieldImpl(props) {
|
|
|
14200
14122
|
onBlurRef.current = onBlur;
|
|
14201
14123
|
const onFocusRef = useRef31(onFocus);
|
|
14202
14124
|
onFocusRef.current = onFocus;
|
|
14203
|
-
const id =
|
|
14125
|
+
const id = useMemo20(() => {
|
|
14204
14126
|
if (readOnly) return;
|
|
14205
14127
|
const id2 = `trix-editor-${trixId}`;
|
|
14206
14128
|
trixId++;
|
|
@@ -14254,15 +14176,15 @@ function RichTextFieldImpl(props) {
|
|
|
14254
14176
|
autoFocus
|
|
14255
14177
|
} = props;
|
|
14256
14178
|
if (!readOnly) {
|
|
14257
|
-
return /* @__PURE__ */
|
|
14179
|
+
return /* @__PURE__ */ jsxs43("div", { ...trussProps44({
|
|
14258
14180
|
width: "w100",
|
|
14259
14181
|
...!fullWidth ? {
|
|
14260
14182
|
maxWidth: "maxw_550px"
|
|
14261
14183
|
} : {}
|
|
14262
14184
|
}), children: [
|
|
14263
|
-
label && /* @__PURE__ */
|
|
14264
|
-
/* @__PURE__ */
|
|
14265
|
-
/* @__PURE__ */
|
|
14185
|
+
label && /* @__PURE__ */ jsx73(Label, { labelProps: {}, label }),
|
|
14186
|
+
/* @__PURE__ */ jsxs43("div", { className: "beam-trix-editor", children: [
|
|
14187
|
+
/* @__PURE__ */ jsx73("input", { type: "hidden", id: `input-${id}`, value }),
|
|
14266
14188
|
createElement("trix-editor", {
|
|
14267
14189
|
id,
|
|
14268
14190
|
input: `input-${id}`,
|
|
@@ -14277,14 +14199,14 @@ function RichTextFieldImpl(props) {
|
|
|
14277
14199
|
] })
|
|
14278
14200
|
] });
|
|
14279
14201
|
} else {
|
|
14280
|
-
return /* @__PURE__ */
|
|
14202
|
+
return /* @__PURE__ */ jsxs43("div", { ...trussProps44({
|
|
14281
14203
|
width: "w100",
|
|
14282
14204
|
...!fullWidth ? {
|
|
14283
14205
|
maxWidth: "maxw_550px"
|
|
14284
14206
|
} : {}
|
|
14285
14207
|
}), children: [
|
|
14286
|
-
label && /* @__PURE__ */
|
|
14287
|
-
/* @__PURE__ */
|
|
14208
|
+
label && /* @__PURE__ */ jsx73(Label, { label }),
|
|
14209
|
+
/* @__PURE__ */ jsx73("div", { className: "mh_120px bgWhite fw4 fz_14px lh_20px gray900 bss bw1 pt1 pb1 pr1 pl1 br4 bcGray300", dangerouslySetInnerHTML: {
|
|
14288
14210
|
__html: DOMPurify.sanitize(value) || placeholder || ""
|
|
14289
14211
|
}, "data-readonly": "true" })
|
|
14290
14212
|
] });
|
|
@@ -14317,9 +14239,222 @@ function extractIdsFromMentions(mergeTags, content) {
|
|
|
14317
14239
|
}
|
|
14318
14240
|
var trixId = 1;
|
|
14319
14241
|
|
|
14242
|
+
// src/inputs/SelectCard.tsx
|
|
14243
|
+
import { useMemo as useMemo21 } from "react";
|
|
14244
|
+
import { useCheckbox as useCheckbox2, useHover as useHover12, VisuallyHidden as VisuallyHidden4 } from "react-aria";
|
|
14245
|
+
import { useToggleState as useToggleState2 } from "react-stately";
|
|
14246
|
+
import { trussProps as trussProps45 } from "@homebound/truss/runtime";
|
|
14247
|
+
import { jsx as jsx74, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
14248
|
+
function SelectCard(props) {
|
|
14249
|
+
const {
|
|
14250
|
+
selected: isSelected = false,
|
|
14251
|
+
disabled: isDisabled = false,
|
|
14252
|
+
icon,
|
|
14253
|
+
cardRef,
|
|
14254
|
+
label,
|
|
14255
|
+
description,
|
|
14256
|
+
tooltip,
|
|
14257
|
+
xss,
|
|
14258
|
+
...otherProps
|
|
14259
|
+
} = props;
|
|
14260
|
+
const ref = useGetRef(cardRef);
|
|
14261
|
+
const ariaProps = {
|
|
14262
|
+
isSelected,
|
|
14263
|
+
isDisabled,
|
|
14264
|
+
...otherProps
|
|
14265
|
+
};
|
|
14266
|
+
const checkboxProps = {
|
|
14267
|
+
...ariaProps,
|
|
14268
|
+
"aria-label": label
|
|
14269
|
+
};
|
|
14270
|
+
const {
|
|
14271
|
+
hoverProps,
|
|
14272
|
+
isHovered
|
|
14273
|
+
} = useHover12({
|
|
14274
|
+
isDisabled
|
|
14275
|
+
});
|
|
14276
|
+
const toggleState = useToggleState2(ariaProps);
|
|
14277
|
+
const {
|
|
14278
|
+
inputProps
|
|
14279
|
+
} = useCheckbox2(checkboxProps, toggleState, ref);
|
|
14280
|
+
const styles = useMemo21(() => ({
|
|
14281
|
+
...baseStyles3,
|
|
14282
|
+
// A label-only card is a fixed compact box; a description card fills the row and stretches.
|
|
14283
|
+
...description ? fillRowStyles : fixedSizeStyles,
|
|
14284
|
+
// Description cards top-align so multi-line copy lines up; label-only cards center.
|
|
14285
|
+
...description ? {
|
|
14286
|
+
justifyContent: "jcfs"
|
|
14287
|
+
} : {
|
|
14288
|
+
justifyContent: "jcc"
|
|
14289
|
+
},
|
|
14290
|
+
...isHovered && !isDisabled && hoverStyles2,
|
|
14291
|
+
...isSelected && !isDisabled && selectedStyles,
|
|
14292
|
+
...isDisabled && (isSelected ? disabledSelectedStyles : disabledStyles2),
|
|
14293
|
+
// Spread last so a parent can override sizing (see `SelectCardGroup`).
|
|
14294
|
+
...xss
|
|
14295
|
+
}), [description, isDisabled, isHovered, isSelected, xss]);
|
|
14296
|
+
const tid = useTestIds(props, defaultTestId(label));
|
|
14297
|
+
return maybeTooltip({
|
|
14298
|
+
title: resolveTooltip(isDisabled, tooltip),
|
|
14299
|
+
placement: "top",
|
|
14300
|
+
children: /* @__PURE__ */ jsxs44("button", { ...trussProps45(styles), ...hoverProps, onClick: toggleState.toggle, disabled: isDisabled, ...tid, children: [
|
|
14301
|
+
/* @__PURE__ */ jsx74(VisuallyHidden4, { children: /* @__PURE__ */ jsx74("input", { ref, ...inputProps, ...tid.value }) }),
|
|
14302
|
+
/* @__PURE__ */ jsx74(Icon, { icon, inc: 4, color: isDisabled ? "rgba(100, 100, 100, 1)" /* Gray700 */ : "rgba(36, 36, 36, 1)" /* Gray900 */ }),
|
|
14303
|
+
/* @__PURE__ */ jsxs44("span", { ...trussProps45(copyStyles), children: [
|
|
14304
|
+
/* @__PURE__ */ jsx74("span", { ...trussProps45({
|
|
14305
|
+
fontWeight: "fw6",
|
|
14306
|
+
fontSize: "fz_14px",
|
|
14307
|
+
lineHeight: "lh_20px",
|
|
14308
|
+
...isDisabled ? {
|
|
14309
|
+
color: "gray700"
|
|
14310
|
+
} : {}
|
|
14311
|
+
}), children: label }),
|
|
14312
|
+
description && /* @__PURE__ */ jsx74("span", { className: "fw4 fz_12px lh_16px gray700", children: description })
|
|
14313
|
+
] })
|
|
14314
|
+
] })
|
|
14315
|
+
});
|
|
14316
|
+
}
|
|
14317
|
+
var baseStyles3 = {
|
|
14318
|
+
display: "df",
|
|
14319
|
+
flexDirection: "fdc",
|
|
14320
|
+
alignItems: "aic",
|
|
14321
|
+
borderStyle: "bss",
|
|
14322
|
+
borderWidth: "bw1",
|
|
14323
|
+
borderRadius: "br12",
|
|
14324
|
+
backgroundColor: "bgWhite",
|
|
14325
|
+
borderColor: "bcGray300",
|
|
14326
|
+
gap: "gap1",
|
|
14327
|
+
paddingLeft: "pl2",
|
|
14328
|
+
paddingRight: "pr2",
|
|
14329
|
+
paddingTop: "pt3",
|
|
14330
|
+
paddingBottom: "pb3",
|
|
14331
|
+
textAlign: "tac"
|
|
14332
|
+
};
|
|
14333
|
+
var fixedSizeStyles = {
|
|
14334
|
+
width: "w_130px",
|
|
14335
|
+
height: "h_114px"
|
|
14336
|
+
};
|
|
14337
|
+
var fillRowStyles = {
|
|
14338
|
+
flexBasis: "fb_0",
|
|
14339
|
+
flexGrow: "fg1",
|
|
14340
|
+
flexShrink: "fs0",
|
|
14341
|
+
alignSelf: "asStretch",
|
|
14342
|
+
minWidth: "mw_187px",
|
|
14343
|
+
width: "wa",
|
|
14344
|
+
height: "ha"
|
|
14345
|
+
};
|
|
14346
|
+
var copyStyles = {
|
|
14347
|
+
display: "df",
|
|
14348
|
+
flexDirection: "fdc",
|
|
14349
|
+
alignItems: "aic",
|
|
14350
|
+
gap: "gap_4px",
|
|
14351
|
+
width: "w100"
|
|
14352
|
+
};
|
|
14353
|
+
var hoverStyles2 = {
|
|
14354
|
+
borderColor: "bcBlue600"
|
|
14355
|
+
};
|
|
14356
|
+
var selectedStyles = {
|
|
14357
|
+
borderColor: "bcBlue600",
|
|
14358
|
+
backgroundColor: "bgBlue50"
|
|
14359
|
+
};
|
|
14360
|
+
var disabledStyles2 = {
|
|
14361
|
+
backgroundColor: "bgGray50",
|
|
14362
|
+
borderColor: "bcGray300"
|
|
14363
|
+
};
|
|
14364
|
+
var disabledSelectedStyles = {
|
|
14365
|
+
backgroundColor: "bgGray100",
|
|
14366
|
+
borderColor: "bcGray300"
|
|
14367
|
+
};
|
|
14368
|
+
|
|
14369
|
+
// src/inputs/SelectCardGroup.tsx
|
|
14370
|
+
import { useCallback as useCallback13, useMemo as useMemo22, useState as useState27 } from "react";
|
|
14371
|
+
import { mergeProps as mergeProps16, useField } from "react-aria";
|
|
14372
|
+
import { trussProps as trussProps46 } from "@homebound/truss/runtime";
|
|
14373
|
+
import { jsx as jsx75, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
14374
|
+
function SelectCardGroup(props) {
|
|
14375
|
+
const {
|
|
14376
|
+
fieldProps
|
|
14377
|
+
} = usePresentationContext();
|
|
14378
|
+
const {
|
|
14379
|
+
options,
|
|
14380
|
+
label,
|
|
14381
|
+
labelStyle = fieldProps?.labelStyle ?? "above",
|
|
14382
|
+
values,
|
|
14383
|
+
errorMsg,
|
|
14384
|
+
helperText,
|
|
14385
|
+
disabled: isDisabled = false,
|
|
14386
|
+
onChange
|
|
14387
|
+
} = props;
|
|
14388
|
+
const [selected, setSelected] = useState27(values);
|
|
14389
|
+
const exclusiveOptions = useMemo22(() => options.filter((o) => o.exclusive), [options]);
|
|
14390
|
+
const hasDescription = useMemo22(() => options.some((o) => o.description), [options]);
|
|
14391
|
+
const toggleValue = useCallback13((value) => {
|
|
14392
|
+
if (isDisabled) return;
|
|
14393
|
+
const option = options.find((o) => o.value === value);
|
|
14394
|
+
if (!option) return;
|
|
14395
|
+
let newSelected = [];
|
|
14396
|
+
if (selected.includes(value)) {
|
|
14397
|
+
newSelected = selected.filter((v) => v !== value);
|
|
14398
|
+
} else {
|
|
14399
|
+
if (option.exclusive) {
|
|
14400
|
+
newSelected = [value];
|
|
14401
|
+
} else {
|
|
14402
|
+
newSelected = [...selected, value];
|
|
14403
|
+
newSelected = newSelected.filter((v) => !exclusiveOptions.some((o) => o.value === v));
|
|
14404
|
+
}
|
|
14405
|
+
}
|
|
14406
|
+
setSelected(newSelected);
|
|
14407
|
+
onChange(newSelected);
|
|
14408
|
+
}, [exclusiveOptions, isDisabled, onChange, options, selected]);
|
|
14409
|
+
const tid = useTestIds(props);
|
|
14410
|
+
const {
|
|
14411
|
+
labelProps,
|
|
14412
|
+
fieldProps: fieldPropsAria
|
|
14413
|
+
} = useField(props);
|
|
14414
|
+
const groupProps = mergeProps16(tid, {
|
|
14415
|
+
role: "group",
|
|
14416
|
+
"aria-disabled": isDisabled || void 0,
|
|
14417
|
+
...fieldPropsAria
|
|
14418
|
+
});
|
|
14419
|
+
return /* @__PURE__ */ jsxs45("div", { ...groupProps, children: [
|
|
14420
|
+
labelStyle !== "hidden" && /* @__PURE__ */ jsx75("div", { ...trussProps46({
|
|
14421
|
+
...labelStyle === "left" ? {
|
|
14422
|
+
width: "w50"
|
|
14423
|
+
} : {}
|
|
14424
|
+
}), children: /* @__PURE__ */ jsx75(Label, { label, ...labelProps, ...tid.label }) }),
|
|
14425
|
+
/* @__PURE__ */ jsx75("div", { className: "df gap2 flexWrap_wrap", children: options.map((option) => {
|
|
14426
|
+
const {
|
|
14427
|
+
icon,
|
|
14428
|
+
label: label2,
|
|
14429
|
+
description,
|
|
14430
|
+
disabled,
|
|
14431
|
+
tooltip
|
|
14432
|
+
} = option;
|
|
14433
|
+
const isSelected = selected.includes(option.value);
|
|
14434
|
+
return /* @__PURE__ */ jsx75(
|
|
14435
|
+
SelectCard,
|
|
14436
|
+
{
|
|
14437
|
+
icon,
|
|
14438
|
+
label: label2,
|
|
14439
|
+
description,
|
|
14440
|
+
xss: hasDescription ? fillRowStyles : void 0,
|
|
14441
|
+
selected: isSelected,
|
|
14442
|
+
disabled,
|
|
14443
|
+
tooltip,
|
|
14444
|
+
onChange: () => toggleValue(option.value),
|
|
14445
|
+
...tid[option.label]
|
|
14446
|
+
},
|
|
14447
|
+
option.label
|
|
14448
|
+
);
|
|
14449
|
+
}) }),
|
|
14450
|
+
errorMsg && /* @__PURE__ */ jsx75(ErrorMessage, { errorMsg, ...tid.errorMsg }),
|
|
14451
|
+
helperText && /* @__PURE__ */ jsx75(HelperText, { helperText, ...tid.helperText })
|
|
14452
|
+
] });
|
|
14453
|
+
}
|
|
14454
|
+
|
|
14320
14455
|
// src/inputs/SelectField.tsx
|
|
14321
|
-
import { useMemo as
|
|
14322
|
-
import { jsx as
|
|
14456
|
+
import { useMemo as useMemo23 } from "react";
|
|
14457
|
+
import { jsx as jsx76 } from "react/jsx-runtime";
|
|
14323
14458
|
function SelectField(props) {
|
|
14324
14459
|
const {
|
|
14325
14460
|
getOptionValue = defaultOptionValue,
|
|
@@ -14329,8 +14464,8 @@ function SelectField(props) {
|
|
|
14329
14464
|
value,
|
|
14330
14465
|
...otherProps
|
|
14331
14466
|
} = props;
|
|
14332
|
-
const values =
|
|
14333
|
-
return /* @__PURE__ */
|
|
14467
|
+
const values = useMemo23(() => [value], [value]);
|
|
14468
|
+
return /* @__PURE__ */ jsx76(
|
|
14334
14469
|
ComboBoxBase,
|
|
14335
14470
|
{
|
|
14336
14471
|
...otherProps,
|
|
@@ -14351,8 +14486,8 @@ function SelectField(props) {
|
|
|
14351
14486
|
// src/inputs/Switch.tsx
|
|
14352
14487
|
import { useRef as useRef32 } from "react";
|
|
14353
14488
|
import { useFocusRing as useFocusRing7, useHover as useHover13, useSwitch, VisuallyHidden as VisuallyHidden5 } from "react-aria";
|
|
14354
|
-
import { trussProps as
|
|
14355
|
-
import { jsx as
|
|
14489
|
+
import { trussProps as trussProps47, maybeCssVar as maybeCssVar27 } from "@homebound/truss/runtime";
|
|
14490
|
+
import { jsx as jsx77, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
14356
14491
|
var __maybeInc8 = (inc) => {
|
|
14357
14492
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
14358
14493
|
};
|
|
@@ -14401,7 +14536,7 @@ function Switch(props) {
|
|
|
14401
14536
|
const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
|
|
14402
14537
|
const tooltip = resolveTooltip(disabled, props.tooltip);
|
|
14403
14538
|
const tid = useTestIds(otherProps, label);
|
|
14404
|
-
return /* @__PURE__ */
|
|
14539
|
+
return /* @__PURE__ */ jsxs46("label", { ...hoverProps, ...trussProps47({
|
|
14405
14540
|
...{
|
|
14406
14541
|
position: "relative",
|
|
14407
14542
|
cursor: "cursorPointer",
|
|
@@ -14439,18 +14574,18 @@ function Switch(props) {
|
|
|
14439
14574
|
color: "gray400"
|
|
14440
14575
|
}
|
|
14441
14576
|
}), children: [
|
|
14442
|
-
labelStyle !== "inline" && labelStyle !== "hidden" && /* @__PURE__ */
|
|
14577
|
+
labelStyle !== "inline" && labelStyle !== "hidden" && /* @__PURE__ */ jsx77("div", { children: /* @__PURE__ */ jsx77(Label, { label, tooltip, xss: {
|
|
14443
14578
|
...labelStyle === "filter" ? {
|
|
14444
14579
|
color: "gray900"
|
|
14445
14580
|
} : {}
|
|
14446
14581
|
}, inline: labelStyle === "left" || labelStyle === "filter" }) }),
|
|
14447
|
-
/* @__PURE__ */
|
|
14582
|
+
/* @__PURE__ */ jsx77("div", { ...trussProps47({
|
|
14448
14583
|
...labelStyle === "left" ? {
|
|
14449
14584
|
width: ["w_var", {
|
|
14450
14585
|
"--width": maybeCssVar27(__maybeInc8(labelLeftFieldWidth))
|
|
14451
14586
|
}]
|
|
14452
14587
|
} : {}
|
|
14453
|
-
}), children: /* @__PURE__ */
|
|
14588
|
+
}), children: /* @__PURE__ */ jsx77("div", { "aria-hidden": "true", ...trussProps47({
|
|
14454
14589
|
...{
|
|
14455
14590
|
width: ["w_var", {
|
|
14456
14591
|
"--width": `${toggleWidth(compact)}px`
|
|
@@ -14472,14 +14607,14 @@ function Switch(props) {
|
|
|
14472
14607
|
backgroundColor: "bgBlue700"
|
|
14473
14608
|
},
|
|
14474
14609
|
...isSelected && isHovered && switchSelectedHoverStyles
|
|
14475
|
-
}), children: /* @__PURE__ */
|
|
14610
|
+
}), children: /* @__PURE__ */ jsx77("div", { ...trussProps47({
|
|
14476
14611
|
...switchCircleDefaultStyles(compact),
|
|
14477
14612
|
...isDisabled && {
|
|
14478
14613
|
backgroundColor: "bgGray100"
|
|
14479
14614
|
},
|
|
14480
14615
|
...isSelected && switchCircleSelectedStyles(compact)
|
|
14481
|
-
}), children: withIcon && /* @__PURE__ */
|
|
14482
|
-
labelStyle === "inline" && /* @__PURE__ */
|
|
14616
|
+
}), children: withIcon && /* @__PURE__ */ jsx77(Icon, { icon: isSelected ? "check" : "x", color: isSelected ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(201, 201, 201, 1)" /* Gray400 */, inc: toggleHeight(compact) / 16 }) }) }) }),
|
|
14617
|
+
labelStyle === "inline" && /* @__PURE__ */ jsx77(Label, { label, tooltip, inline: true, xss: {
|
|
14483
14618
|
fontWeight: "fw4",
|
|
14484
14619
|
fontSize: "fz_14px",
|
|
14485
14620
|
lineHeight: "lh_20px",
|
|
@@ -14488,7 +14623,7 @@ function Switch(props) {
|
|
|
14488
14623
|
lineHeight: "lineHeight_1"
|
|
14489
14624
|
} : {}
|
|
14490
14625
|
} }),
|
|
14491
|
-
/* @__PURE__ */
|
|
14626
|
+
/* @__PURE__ */ jsx77(VisuallyHidden5, { children: /* @__PURE__ */ jsx77("input", { ref, ...inputProps, ...focusProps, ...tid }) })
|
|
14492
14627
|
] });
|
|
14493
14628
|
}
|
|
14494
14629
|
var toggleHeight = (isCompact) => isCompact ? 16 : 24;
|
|
@@ -14535,8 +14670,8 @@ function switchCircleSelectedStyles(isCompact) {
|
|
|
14535
14670
|
|
|
14536
14671
|
// src/inputs/TextAreaField.tsx
|
|
14537
14672
|
import { useRef as useRef33 } from "react";
|
|
14538
|
-
import { mergeProps as
|
|
14539
|
-
import { jsx as
|
|
14673
|
+
import { mergeProps as mergeProps17, useTextField as useTextField3 } from "react-aria";
|
|
14674
|
+
import { jsx as jsx78 } from "react/jsx-runtime";
|
|
14540
14675
|
function TextAreaField(props) {
|
|
14541
14676
|
const {
|
|
14542
14677
|
value = "",
|
|
@@ -14575,10 +14710,10 @@ function TextAreaField(props) {
|
|
|
14575
14710
|
},
|
|
14576
14711
|
inputRef
|
|
14577
14712
|
);
|
|
14578
|
-
return /* @__PURE__ */
|
|
14713
|
+
return /* @__PURE__ */ jsx78(
|
|
14579
14714
|
TextFieldBase,
|
|
14580
14715
|
{
|
|
14581
|
-
...
|
|
14716
|
+
...mergeProps17(otherProps, { onBlur, onFocus }),
|
|
14582
14717
|
multiline: true,
|
|
14583
14718
|
labelProps,
|
|
14584
14719
|
inputProps,
|
|
@@ -14592,8 +14727,8 @@ function TextAreaField(props) {
|
|
|
14592
14727
|
|
|
14593
14728
|
// src/inputs/TextField.tsx
|
|
14594
14729
|
import { useRef as useRef34 } from "react";
|
|
14595
|
-
import { mergeProps as
|
|
14596
|
-
import { jsx as
|
|
14730
|
+
import { mergeProps as mergeProps18, useTextField as useTextField4 } from "react-aria";
|
|
14731
|
+
import { jsx as jsx79 } from "react/jsx-runtime";
|
|
14597
14732
|
function TextField(props) {
|
|
14598
14733
|
const {
|
|
14599
14734
|
disabled = false,
|
|
@@ -14639,10 +14774,10 @@ function TextField(props) {
|
|
|
14639
14774
|
focus: () => inputRef.current && inputRef.current.focus()
|
|
14640
14775
|
};
|
|
14641
14776
|
}
|
|
14642
|
-
return /* @__PURE__ */
|
|
14777
|
+
return /* @__PURE__ */ jsx79(
|
|
14643
14778
|
TextFieldBase,
|
|
14644
14779
|
{
|
|
14645
|
-
...
|
|
14780
|
+
...mergeProps18(textFieldProps, { onBlur, onFocus }),
|
|
14646
14781
|
errorMsg,
|
|
14647
14782
|
required,
|
|
14648
14783
|
labelProps,
|
|
@@ -14655,11 +14790,11 @@ function TextField(props) {
|
|
|
14655
14790
|
}
|
|
14656
14791
|
|
|
14657
14792
|
// src/inputs/ToggleButton.tsx
|
|
14658
|
-
import { useRef as useRef35, useState as
|
|
14793
|
+
import { useRef as useRef35, useState as useState28 } from "react";
|
|
14659
14794
|
import { useFocusRing as useFocusRing8, useHover as useHover14, usePress, useSwitch as useSwitch2, VisuallyHidden as VisuallyHidden6 } from "react-aria";
|
|
14660
14795
|
import { useToggleState as useToggleState3 } from "react-stately";
|
|
14661
|
-
import { trussProps as
|
|
14662
|
-
import { jsx as
|
|
14796
|
+
import { trussProps as trussProps48 } from "@homebound/truss/runtime";
|
|
14797
|
+
import { jsx as jsx80, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
14663
14798
|
function ToggleButton(props) {
|
|
14664
14799
|
const {
|
|
14665
14800
|
selected: isSelected = false,
|
|
@@ -14670,7 +14805,7 @@ function ToggleButton(props) {
|
|
|
14670
14805
|
__storyState,
|
|
14671
14806
|
...otherProps
|
|
14672
14807
|
} = props;
|
|
14673
|
-
const [asyncInProgress, setAsyncInProgress] =
|
|
14808
|
+
const [asyncInProgress, setAsyncInProgress] = useState28(false);
|
|
14674
14809
|
const isDisabled = !!disabled || asyncInProgress;
|
|
14675
14810
|
const ariaProps = {
|
|
14676
14811
|
"aria-label": label,
|
|
@@ -14723,7 +14858,7 @@ function ToggleButton(props) {
|
|
|
14723
14858
|
...focusProps,
|
|
14724
14859
|
...hoverProps,
|
|
14725
14860
|
...pressProps,
|
|
14726
|
-
...
|
|
14861
|
+
...trussProps48({
|
|
14727
14862
|
...{
|
|
14728
14863
|
borderRadius: "br4",
|
|
14729
14864
|
display: "dif",
|
|
@@ -14758,10 +14893,10 @@ function ToggleButton(props) {
|
|
|
14758
14893
|
return maybeTooltip({
|
|
14759
14894
|
title: tooltip,
|
|
14760
14895
|
placement: "top",
|
|
14761
|
-
children: /* @__PURE__ */
|
|
14762
|
-
icon && /* @__PURE__ */
|
|
14896
|
+
children: /* @__PURE__ */ jsxs47("label", { ...labelAttrs, children: [
|
|
14897
|
+
icon && /* @__PURE__ */ jsx80(Icon, { icon }),
|
|
14763
14898
|
label,
|
|
14764
|
-
/* @__PURE__ */
|
|
14899
|
+
/* @__PURE__ */ jsx80(VisuallyHidden6, { children: /* @__PURE__ */ jsx80("input", { ref, ...inputProps, ...tid.value }) })
|
|
14765
14900
|
] })
|
|
14766
14901
|
});
|
|
14767
14902
|
}
|
|
@@ -14779,8 +14914,8 @@ var togglePressStyles = {
|
|
|
14779
14914
|
import { useRef as useRef36 } from "react";
|
|
14780
14915
|
import { useCheckboxGroup as useCheckboxGroup2, useCheckboxGroupItem as useCheckboxGroupItem2, useFocusRing as useFocusRing9, VisuallyHidden as VisuallyHidden7 } from "react-aria";
|
|
14781
14916
|
import { useCheckboxGroupState as useCheckboxGroupState2 } from "react-stately";
|
|
14782
|
-
import { trussProps as
|
|
14783
|
-
import { jsx as
|
|
14917
|
+
import { trussProps as trussProps49, maybeCssVar as maybeCssVar28 } from "@homebound/truss/runtime";
|
|
14918
|
+
import { jsx as jsx81, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
14784
14919
|
var __maybeInc9 = (inc) => {
|
|
14785
14920
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
14786
14921
|
};
|
|
@@ -14811,7 +14946,7 @@ function ToggleChipGroup(props) {
|
|
|
14811
14946
|
} = useCheckboxGroup2(props, state);
|
|
14812
14947
|
const tid = useTestIds(props, "toggleChip");
|
|
14813
14948
|
const labelSuffix = useLabelSuffix(required, false);
|
|
14814
|
-
return /* @__PURE__ */
|
|
14949
|
+
return /* @__PURE__ */ jsxs48("div", { ...groupProps, ...trussProps49({
|
|
14815
14950
|
position: "relative",
|
|
14816
14951
|
display: "df",
|
|
14817
14952
|
flexDirection: "fdc",
|
|
@@ -14822,8 +14957,8 @@ function ToggleChipGroup(props) {
|
|
|
14822
14957
|
justifyContent: "jcsb"
|
|
14823
14958
|
} : {}
|
|
14824
14959
|
}), children: [
|
|
14825
|
-
/* @__PURE__ */
|
|
14826
|
-
/* @__PURE__ */
|
|
14960
|
+
/* @__PURE__ */ jsx81(Label, { label, ...labelProps, hidden: labelStyle === "hidden", inline: labelStyle !== "above", suffix: labelSuffix }),
|
|
14961
|
+
/* @__PURE__ */ jsx81("div", { ...trussProps49({
|
|
14827
14962
|
display: "df",
|
|
14828
14963
|
gap: "gap1",
|
|
14829
14964
|
flexWrap: "flexWrap_wrap",
|
|
@@ -14832,7 +14967,7 @@ function ToggleChipGroup(props) {
|
|
|
14832
14967
|
"--width": maybeCssVar28(__maybeInc9(labelLeftFieldWidth))
|
|
14833
14968
|
}]
|
|
14834
14969
|
} : {}
|
|
14835
|
-
}), children: options.map((o) => /* @__PURE__ */
|
|
14970
|
+
}), children: options.map((o) => /* @__PURE__ */ jsx81(ToggleChip2, { value: o.value, groupState: state, selected: state.value.includes(o.value), label: o.label, disabled: o.disabled, readonly: o.readonly, startAdornment: o.startAdornment, xss, ...tid[o.value] }, o.value)) })
|
|
14836
14971
|
] });
|
|
14837
14972
|
}
|
|
14838
14973
|
function ToggleChip2(props) {
|
|
@@ -14888,7 +15023,7 @@ function ToggleChip2(props) {
|
|
|
14888
15023
|
return maybeTooltip({
|
|
14889
15024
|
title: tooltip,
|
|
14890
15025
|
placement: "top",
|
|
14891
|
-
children: /* @__PURE__ */
|
|
15026
|
+
children: /* @__PURE__ */ jsxs48("label", { ...trussProps49({
|
|
14892
15027
|
...{
|
|
14893
15028
|
position: "relative",
|
|
14894
15029
|
display: "dif",
|
|
@@ -14909,7 +15044,7 @@ function ToggleChip2(props) {
|
|
|
14909
15044
|
boxShadow: "bshFocus"
|
|
14910
15045
|
} : {}
|
|
14911
15046
|
}), "data-selected": isSelected, "data-disabled": isDisabled, "aria-disabled": isDisabled, ...others, children: [
|
|
14912
|
-
/* @__PURE__ */
|
|
15047
|
+
/* @__PURE__ */ jsx81(VisuallyHidden7, { children: /* @__PURE__ */ jsx81("input", { ...inputProps, ...focusProps }) }),
|
|
14913
15048
|
startAdornment,
|
|
14914
15049
|
label
|
|
14915
15050
|
] })
|
|
@@ -14917,12 +15052,12 @@ function ToggleChip2(props) {
|
|
|
14917
15052
|
}
|
|
14918
15053
|
|
|
14919
15054
|
// src/components/Table/components/SelectToggle.tsx
|
|
14920
|
-
import { jsx as
|
|
15055
|
+
import { jsx as jsx82 } from "react/jsx-runtime";
|
|
14921
15056
|
function SelectToggle({ id, disabled }) {
|
|
14922
15057
|
const { tableState } = useContext15(TableStateContext);
|
|
14923
15058
|
const state = useComputed(() => tableState.getSelected(id), [tableState]);
|
|
14924
15059
|
const selected = state === "checked" ? true : state === "unchecked" ? false : "indeterminate";
|
|
14925
|
-
return /* @__PURE__ */
|
|
15060
|
+
return /* @__PURE__ */ jsx82(
|
|
14926
15061
|
Checkbox,
|
|
14927
15062
|
{
|
|
14928
15063
|
checkboxOnly: true,
|
|
@@ -14935,7 +15070,7 @@ function SelectToggle({ id, disabled }) {
|
|
|
14935
15070
|
}
|
|
14936
15071
|
|
|
14937
15072
|
// src/components/Table/utils/columns.tsx
|
|
14938
|
-
import { jsx as
|
|
15073
|
+
import { jsx as jsx83 } from "react/jsx-runtime";
|
|
14939
15074
|
function column(columnDef) {
|
|
14940
15075
|
return {
|
|
14941
15076
|
canHide: true,
|
|
@@ -14988,7 +15123,7 @@ function selectColumn(columnDef) {
|
|
|
14988
15123
|
return (data, {
|
|
14989
15124
|
row
|
|
14990
15125
|
}) => ({
|
|
14991
|
-
content: /* @__PURE__ */
|
|
15126
|
+
content: /* @__PURE__ */ jsx83(SelectToggle, { id: row.id, disabled: row.selectable === false })
|
|
14992
15127
|
});
|
|
14993
15128
|
});
|
|
14994
15129
|
}
|
|
@@ -15012,7 +15147,7 @@ function collapseColumn(columnDef) {
|
|
|
15012
15147
|
row,
|
|
15013
15148
|
level
|
|
15014
15149
|
}) => ({
|
|
15015
|
-
content: /* @__PURE__ */
|
|
15150
|
+
content: /* @__PURE__ */ jsx83(CollapseToggle, { row, compact: level > 0 })
|
|
15016
15151
|
});
|
|
15017
15152
|
});
|
|
15018
15153
|
}
|
|
@@ -15036,7 +15171,7 @@ function pinColumn(columnDef) {
|
|
|
15036
15171
|
return (data, {
|
|
15037
15172
|
row
|
|
15038
15173
|
}) => ({
|
|
15039
|
-
content: /* @__PURE__ */
|
|
15174
|
+
content: /* @__PURE__ */ jsx83(PinToggle, { rowId: row.id })
|
|
15040
15175
|
});
|
|
15041
15176
|
});
|
|
15042
15177
|
}
|
|
@@ -15294,10 +15429,10 @@ function dragHandleColumn(columnDef) {
|
|
|
15294
15429
|
onDragOver
|
|
15295
15430
|
} = dragData;
|
|
15296
15431
|
return {
|
|
15297
|
-
content: row.draggable ? /* @__PURE__ */
|
|
15432
|
+
content: row.draggable ? /* @__PURE__ */ jsx83("div", { draggable: row.draggable, onDragStart: (evt) => {
|
|
15298
15433
|
ref.current && evt.dataTransfer.setDragImage(ref.current, 0, 0);
|
|
15299
15434
|
return onDragStart?.(row, evt);
|
|
15300
|
-
}, onDragEnd: (evt) => onDragEnd?.(row, evt), onDrop: (evt) => onDrop?.(row, evt), onDragEnter: (evt) => onDragEnter?.(row, evt), onDragOver: (evt) => onDragOver?.(row, evt), className: "mta mba mra mla cursorPointer", children: /* @__PURE__ */
|
|
15435
|
+
}, onDragEnd: (evt) => onDragEnd?.(row, evt), onDrop: (evt) => onDrop?.(row, evt), onDragEnter: (evt) => onDragEnter?.(row, evt), onDragOver: (evt) => onDragOver?.(row, evt), className: "mta mba mra mla cursorPointer", children: /* @__PURE__ */ jsx83(Icon, { icon: "drag" }) }) : void 0
|
|
15301
15436
|
};
|
|
15302
15437
|
};
|
|
15303
15438
|
});
|
|
@@ -15361,7 +15496,7 @@ function shouldSkipScrollTo(index, virtuosoRangeRef) {
|
|
|
15361
15496
|
|
|
15362
15497
|
// src/components/Table/GridTableApi.ts
|
|
15363
15498
|
function useGridTableApi() {
|
|
15364
|
-
return
|
|
15499
|
+
return useMemo24(() => new GridTableApiImpl(), []);
|
|
15365
15500
|
}
|
|
15366
15501
|
var GridTableApiImpl = class {
|
|
15367
15502
|
// This is public to GridTable but not exported outside of Beam
|
|
@@ -15534,10 +15669,10 @@ function maybeApply(maybeFn) {
|
|
|
15534
15669
|
}
|
|
15535
15670
|
|
|
15536
15671
|
// src/components/Table/hooks/useColumnResizeHandlers.ts
|
|
15537
|
-
import { useCallback as
|
|
15672
|
+
import { useCallback as useCallback14, useRef as useRef37 } from "react";
|
|
15538
15673
|
function useColumnResizeHandlers(columns, columnSizes, tableWidth, setResizedWidth, setResizedWidths) {
|
|
15539
15674
|
const hasLockedColumnsRef = useRef37(false);
|
|
15540
|
-
const distributeAdjustment =
|
|
15675
|
+
const distributeAdjustment = useCallback14(
|
|
15541
15676
|
(rightColumns, totalRightWidth, adjustment) => {
|
|
15542
15677
|
const updates = {};
|
|
15543
15678
|
let remainingAdjustment = adjustment;
|
|
@@ -15552,7 +15687,7 @@ function useColumnResizeHandlers(columns, columnSizes, tableWidth, setResizedWid
|
|
|
15552
15687
|
},
|
|
15553
15688
|
[]
|
|
15554
15689
|
);
|
|
15555
|
-
const calculateResizeUpdates =
|
|
15690
|
+
const calculateResizeUpdates = useCallback14(
|
|
15556
15691
|
(columnId, newWidth, columnIndex) => {
|
|
15557
15692
|
if (!tableWidth || !columnSizes || columnSizes.length === 0) {
|
|
15558
15693
|
return null;
|
|
@@ -15598,7 +15733,7 @@ function useColumnResizeHandlers(columns, columnSizes, tableWidth, setResizedWid
|
|
|
15598
15733
|
},
|
|
15599
15734
|
[tableWidth, columnSizes, columns, distributeAdjustment]
|
|
15600
15735
|
);
|
|
15601
|
-
const calculatePreviewWidth =
|
|
15736
|
+
const calculatePreviewWidth = useCallback14(
|
|
15602
15737
|
(columnId, newWidth, columnIndex) => {
|
|
15603
15738
|
const result = calculateResizeUpdates(columnId, newWidth, columnIndex);
|
|
15604
15739
|
if (!result) {
|
|
@@ -15608,7 +15743,7 @@ function useColumnResizeHandlers(columns, columnSizes, tableWidth, setResizedWid
|
|
|
15608
15743
|
},
|
|
15609
15744
|
[calculateResizeUpdates]
|
|
15610
15745
|
);
|
|
15611
|
-
const handleColumnResize =
|
|
15746
|
+
const handleColumnResize = useCallback14(
|
|
15612
15747
|
(columnId, newWidth, columnIndex) => {
|
|
15613
15748
|
const result = calculateResizeUpdates(columnId, newWidth, columnIndex);
|
|
15614
15749
|
if (!result) {
|
|
@@ -15645,10 +15780,10 @@ function useColumnResizeHandlers(columns, columnSizes, tableWidth, setResizedWid
|
|
|
15645
15780
|
}
|
|
15646
15781
|
|
|
15647
15782
|
// src/components/Table/hooks/useScrollStorage.ts
|
|
15648
|
-
import { useMemo as
|
|
15783
|
+
import { useMemo as useMemo25 } from "react";
|
|
15649
15784
|
function useScrollStorage(tableId, enabled = true) {
|
|
15650
15785
|
const storageKey = `scrollPosition_${window.location.pathname}${window.location.search}_${tableId}`;
|
|
15651
|
-
return
|
|
15786
|
+
return useMemo25(
|
|
15652
15787
|
() => ({
|
|
15653
15788
|
getScrollIndex: () => {
|
|
15654
15789
|
if (!enabled) return void 0;
|
|
@@ -15665,13 +15800,13 @@ function useScrollStorage(tableId, enabled = true) {
|
|
|
15665
15800
|
|
|
15666
15801
|
// src/components/Table/hooks/useSetupColumnSizes.ts
|
|
15667
15802
|
import { useResizeObserver } from "@react-aria/utils";
|
|
15668
|
-
import { useCallback as
|
|
15803
|
+
import { useCallback as useCallback16, useEffect as useEffect18, useRef as useRef38, useState as useState30 } from "react";
|
|
15669
15804
|
|
|
15670
15805
|
// src/components/Table/hooks/useColumnResizing.ts
|
|
15671
|
-
import { useCallback as
|
|
15806
|
+
import { useCallback as useCallback15, useEffect as useEffect17, useState as useState29 } from "react";
|
|
15672
15807
|
import { useDebouncedCallback as useDebouncedCallback3 } from "use-debounce";
|
|
15673
15808
|
function useColumnResizing(storageKey) {
|
|
15674
|
-
const [resizedWidths, setResizedWidths] =
|
|
15809
|
+
const [resizedWidths, setResizedWidths] = useState29(() => {
|
|
15675
15810
|
if (!storageKey) return {};
|
|
15676
15811
|
try {
|
|
15677
15812
|
const stored = sessionStorage.getItem(`columnWidths_${storageKey}`);
|
|
@@ -15691,13 +15826,13 @@ function useColumnResizing(storageKey) {
|
|
|
15691
15826
|
useEffect17(() => {
|
|
15692
15827
|
persistToStorage(resizedWidths);
|
|
15693
15828
|
}, [resizedWidths, persistToStorage]);
|
|
15694
|
-
const setResizedWidth =
|
|
15829
|
+
const setResizedWidth = useCallback15((columnId, width2) => {
|
|
15695
15830
|
setResizedWidths((prev) => ({
|
|
15696
15831
|
...prev,
|
|
15697
15832
|
[columnId]: width2
|
|
15698
15833
|
}));
|
|
15699
15834
|
}, []);
|
|
15700
|
-
const batchSetResizedWidths =
|
|
15835
|
+
const batchSetResizedWidths = useCallback15((widths2) => {
|
|
15701
15836
|
if (typeof widths2 === "function") {
|
|
15702
15837
|
setResizedWidths(widths2);
|
|
15703
15838
|
} else {
|
|
@@ -15707,7 +15842,7 @@ function useColumnResizing(storageKey) {
|
|
|
15707
15842
|
}));
|
|
15708
15843
|
}
|
|
15709
15844
|
}, []);
|
|
15710
|
-
const resetColumnWidths =
|
|
15845
|
+
const resetColumnWidths = useCallback15(() => {
|
|
15711
15846
|
setResizedWidths({});
|
|
15712
15847
|
}, []);
|
|
15713
15848
|
return {
|
|
@@ -15725,13 +15860,13 @@ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visib
|
|
|
15725
15860
|
disableColumnResizing ? void 0 : visibleColumnsStorageKey
|
|
15726
15861
|
);
|
|
15727
15862
|
const calculateImmediately = useRef38(true);
|
|
15728
|
-
const [tableWidth, setTableWidth] =
|
|
15729
|
-
const [contentWidth, setContentWidth] =
|
|
15730
|
-
const [columnSizes, setColumnSizes] =
|
|
15863
|
+
const [tableWidth, setTableWidth] = useState30();
|
|
15864
|
+
const [contentWidth, setContentWidth] = useState30();
|
|
15865
|
+
const [columnSizes, setColumnSizes] = useState30(
|
|
15731
15866
|
() => calcColumnLayout(columns, void 0, style.minWidthPx, expandedColumnIds, resizedWidths, inDocumentScrollLayout).columnSizes
|
|
15732
15867
|
);
|
|
15733
15868
|
const prevTableWidthRef = useRef38(tableWidth);
|
|
15734
|
-
const applyColumnLayout =
|
|
15869
|
+
const applyColumnLayout = useCallback16(
|
|
15735
15870
|
(probeWidth) => {
|
|
15736
15871
|
const layout = calcColumnLayout(
|
|
15737
15872
|
columns,
|
|
@@ -15782,7 +15917,7 @@ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visib
|
|
|
15782
15917
|
[columns, resizedWidths, applyColumnLayout]
|
|
15783
15918
|
);
|
|
15784
15919
|
const applyColumnLayoutDebounced = useDebouncedCallback4(applyColumnLayout, 100);
|
|
15785
|
-
const onResize =
|
|
15920
|
+
const onResize = useCallback16(
|
|
15786
15921
|
() => {
|
|
15787
15922
|
const target = resizeRef.current;
|
|
15788
15923
|
if (target && target.clientWidth !== tableWidth) {
|
|
@@ -15811,10 +15946,10 @@ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visib
|
|
|
15811
15946
|
}
|
|
15812
15947
|
|
|
15813
15948
|
// src/hooks/useRenderCount.ts
|
|
15814
|
-
import { useCallback as
|
|
15949
|
+
import { useCallback as useCallback17, useRef as useRef39 } from "react";
|
|
15815
15950
|
function useRenderCount() {
|
|
15816
15951
|
const ref = useRef39(/* @__PURE__ */ new Map());
|
|
15817
|
-
const getCount =
|
|
15952
|
+
const getCount = useCallback17((id) => {
|
|
15818
15953
|
const count = ref.current.get(id) || 1;
|
|
15819
15954
|
ref.current.set(id, count + 1);
|
|
15820
15955
|
return { "data-render": count };
|
|
@@ -15824,20 +15959,20 @@ function useRenderCount() {
|
|
|
15824
15959
|
|
|
15825
15960
|
// src/layouts/DocumentScrollLayoutContext.tsx
|
|
15826
15961
|
import { useResizeObserver as useResizeObserver2 } from "@react-aria/utils";
|
|
15827
|
-
import { createContext as createContext6, useCallback as
|
|
15828
|
-
import { mergeProps as
|
|
15962
|
+
import { createContext as createContext6, useCallback as useCallback19, useContext as useContext16, useLayoutEffect as useLayoutEffect4, useRef as useRef40, useState as useState32 } from "react";
|
|
15963
|
+
import { mergeProps as mergeProps19 } from "@homebound/truss/runtime";
|
|
15829
15964
|
|
|
15830
15965
|
// src/layouts/DocumentScrollToTopButton.tsx
|
|
15831
|
-
import { useCallback as
|
|
15832
|
-
import { trussProps as
|
|
15833
|
-
import { jsx as
|
|
15966
|
+
import { useCallback as useCallback18, useEffect as useEffect19, useState as useState31 } from "react";
|
|
15967
|
+
import { trussProps as trussProps50, maybeCssVar as maybeCssVar29 } from "@homebound/truss/runtime";
|
|
15968
|
+
import { jsx as jsx84 } from "react/jsx-runtime";
|
|
15834
15969
|
function DocumentScrollToTopButton({
|
|
15835
15970
|
viewportHeight
|
|
15836
15971
|
}) {
|
|
15837
|
-
const [visible, setVisible] =
|
|
15972
|
+
const [visible, setVisible] = useState31(false);
|
|
15838
15973
|
const tid = useTestIds({}, "documentScrollToTop");
|
|
15839
15974
|
const scrollToTopOffsetPx = 20;
|
|
15840
|
-
const syncVisibility =
|
|
15975
|
+
const syncVisibility = useCallback18(() => {
|
|
15841
15976
|
if (viewportHeight <= 0) return;
|
|
15842
15977
|
setVisible(window.scrollY > viewportHeight);
|
|
15843
15978
|
}, [viewportHeight]);
|
|
@@ -15848,14 +15983,14 @@ function DocumentScrollToTopButton({
|
|
|
15848
15983
|
});
|
|
15849
15984
|
return () => window.removeEventListener("scroll", syncVisibility);
|
|
15850
15985
|
}, [syncVisibility]);
|
|
15851
|
-
const scrollToTop =
|
|
15986
|
+
const scrollToTop = useCallback18(() => {
|
|
15852
15987
|
window.scrollTo({
|
|
15853
15988
|
top: 0
|
|
15854
15989
|
});
|
|
15855
15990
|
}, []);
|
|
15856
|
-
return /* @__PURE__ */
|
|
15991
|
+
return /* @__PURE__ */ jsx84("div", { ...tid.wrapper, "aria-hidden": !visible, ...!visible ? {
|
|
15857
15992
|
inert: ""
|
|
15858
|
-
} : {}, ...
|
|
15993
|
+
} : {}, ...trussProps50({
|
|
15859
15994
|
...{
|
|
15860
15995
|
position: "fixed",
|
|
15861
15996
|
bottom: ["bottom_var", {
|
|
@@ -15879,18 +16014,18 @@ function DocumentScrollToTopButton({
|
|
|
15879
16014
|
}],
|
|
15880
16015
|
pointerEvents: "pointerEvents_none"
|
|
15881
16016
|
}
|
|
15882
|
-
}), children: /* @__PURE__ */
|
|
16017
|
+
}), children: /* @__PURE__ */ jsx84(ContrastScope, { children: /* @__PURE__ */ jsx84(IconButton, { icon: "arrowUp", disabled: !visible, variant: "outline", label: "Scroll to top", onClick: scrollToTop, ...tid }) }) });
|
|
15883
16018
|
}
|
|
15884
16019
|
|
|
15885
16020
|
// src/layouts/DocumentScrollLayoutContext.tsx
|
|
15886
|
-
import { Fragment as Fragment20, jsx as
|
|
16021
|
+
import { Fragment as Fragment20, jsx as jsx85, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
15887
16022
|
var DocumentScrollLayoutContext = createContext6(false);
|
|
15888
16023
|
function DocumentScrollLayoutProvider({
|
|
15889
16024
|
children
|
|
15890
16025
|
}) {
|
|
15891
16026
|
const inDocumentScrollLayout = useContext16(DocumentScrollLayoutContext);
|
|
15892
|
-
if (inDocumentScrollLayout) return /* @__PURE__ */
|
|
15893
|
-
return /* @__PURE__ */
|
|
16027
|
+
if (inDocumentScrollLayout) return /* @__PURE__ */ jsx85(Fragment20, { children });
|
|
16028
|
+
return /* @__PURE__ */ jsx85(DocumentScrollLayoutContext.Provider, { value: true, children: /* @__PURE__ */ jsx85(DocumentScrollLayoutViewportRoot, { children }) });
|
|
15894
16029
|
}
|
|
15895
16030
|
function useDocumentScrollLayout() {
|
|
15896
16031
|
return useContext16(DocumentScrollLayoutContext);
|
|
@@ -15899,11 +16034,11 @@ function DocumentScrollLayoutViewportRoot({
|
|
|
15899
16034
|
children
|
|
15900
16035
|
}) {
|
|
15901
16036
|
const docElementRef = useRef40(typeof document !== "undefined" ? document.documentElement : null);
|
|
15902
|
-
const [viewportSize, setViewportSize] =
|
|
16037
|
+
const [viewportSize, setViewportSize] = useState32({
|
|
15903
16038
|
width: 0,
|
|
15904
16039
|
height: 0
|
|
15905
16040
|
});
|
|
15906
|
-
const syncViewportSize =
|
|
16041
|
+
const syncViewportSize = useCallback19(() => {
|
|
15907
16042
|
const el = docElementRef.current;
|
|
15908
16043
|
if (!el) return;
|
|
15909
16044
|
const width2 = el.clientWidth;
|
|
@@ -15929,20 +16064,20 @@ function DocumentScrollLayoutViewportRoot({
|
|
|
15929
16064
|
}
|
|
15930
16065
|
return (
|
|
15931
16066
|
// `display: contents` keeps vars inheritable without adding a layout box.
|
|
15932
|
-
/* @__PURE__ */
|
|
16067
|
+
/* @__PURE__ */ jsxs49("div", { ...mergeProps19(void 0, Object.keys(style).length > 0 ? style : void 0, {
|
|
15933
16068
|
display: "display_contents"
|
|
15934
16069
|
}), children: [
|
|
15935
16070
|
children,
|
|
15936
|
-
/* @__PURE__ */
|
|
16071
|
+
/* @__PURE__ */ jsx85(DocumentScrollToTopButton, { viewportHeight: viewportSize.height })
|
|
15937
16072
|
] })
|
|
15938
16073
|
);
|
|
15939
16074
|
}
|
|
15940
16075
|
|
|
15941
16076
|
// src/components/Table/components/TableCard.tsx
|
|
15942
|
-
import { useMemo as
|
|
16077
|
+
import { useMemo as useMemo26 } from "react";
|
|
15943
16078
|
import { Link as Link4 } from "react-router-dom";
|
|
15944
|
-
import { trussProps as
|
|
15945
|
-
import { jsx as
|
|
16079
|
+
import { trussProps as trussProps51, mergeProps as mergeProps20, maybeCssVar as maybeCssVar30 } from "@homebound/truss/runtime";
|
|
16080
|
+
import { jsx as jsx86, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
15946
16081
|
var __maybeInc10 = (inc) => {
|
|
15947
16082
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
15948
16083
|
};
|
|
@@ -15990,16 +16125,16 @@ function TableCard(props) {
|
|
|
15990
16125
|
}
|
|
15991
16126
|
}
|
|
15992
16127
|
if (!title) return null;
|
|
15993
|
-
const card = /* @__PURE__ */
|
|
16128
|
+
const card = /* @__PURE__ */ jsx86(TableCardView, { ...tid, imgSrc: rs.row.imgSrc ?? "", title, eyebrow, badge, status, data: dataBlocks, progress });
|
|
15994
16129
|
const to = rowStyle?.rowLink?.(rs.row);
|
|
15995
16130
|
if (to) {
|
|
15996
|
-
return /* @__PURE__ */
|
|
16131
|
+
return /* @__PURE__ */ jsx86(Link4, { to, ...mergeProps20(navLink, void 0, {
|
|
15997
16132
|
textDecoration: "tdn",
|
|
15998
16133
|
color: "color_unset"
|
|
15999
16134
|
}), children: card });
|
|
16000
16135
|
}
|
|
16001
16136
|
if (rowStyle?.onClick) {
|
|
16002
|
-
return /* @__PURE__ */
|
|
16137
|
+
return /* @__PURE__ */ jsx86("button", { onClick: () => rowStyle.onClick(rs.row, api), className: "cursorPointer", children: card });
|
|
16003
16138
|
}
|
|
16004
16139
|
return card;
|
|
16005
16140
|
}
|
|
@@ -16014,8 +16149,8 @@ function TableCardView(props) {
|
|
|
16014
16149
|
progress
|
|
16015
16150
|
} = props;
|
|
16016
16151
|
const tid = useTestIds(props, "tableCardView");
|
|
16017
|
-
const progressValue =
|
|
16018
|
-
return /* @__PURE__ */
|
|
16152
|
+
const progressValue = useMemo26(() => progress !== void 0 ? clampProgress(progress) : 0, [progress]);
|
|
16153
|
+
return /* @__PURE__ */ jsxs50("div", { ...trussProps51({
|
|
16019
16154
|
paddingTop: "pt3",
|
|
16020
16155
|
paddingBottom: "pb3",
|
|
16021
16156
|
paddingRight: "pr3",
|
|
@@ -16030,36 +16165,36 @@ function TableCardView(props) {
|
|
|
16030
16165
|
flexDirection: "fdc",
|
|
16031
16166
|
gap: "gap2"
|
|
16032
16167
|
}), ...tid, children: [
|
|
16033
|
-
/* @__PURE__ */
|
|
16034
|
-
/* @__PURE__ */
|
|
16035
|
-
status && /* @__PURE__ */
|
|
16168
|
+
/* @__PURE__ */ jsxs50("div", { className: "relative", children: [
|
|
16169
|
+
/* @__PURE__ */ jsx86("img", { className: "h_184px w100 objectFit_cover", src: imgSrc, alt: title, ...tid.image }),
|
|
16170
|
+
status && /* @__PURE__ */ jsx86("div", { className: "absolute top1 left1", ...tid.status, children: /* @__PURE__ */ jsx86(Tag, { ...status }) })
|
|
16036
16171
|
] }),
|
|
16037
|
-
/* @__PURE__ */
|
|
16038
|
-
/* @__PURE__ */
|
|
16039
|
-
eyebrow && /* @__PURE__ */
|
|
16040
|
-
title && /* @__PURE__ */
|
|
16041
|
-
/* @__PURE__ */
|
|
16172
|
+
/* @__PURE__ */ jsxs50("div", { className: "df fdc gap2", children: [
|
|
16173
|
+
/* @__PURE__ */ jsxs50("div", { children: [
|
|
16174
|
+
eyebrow && /* @__PURE__ */ jsx86("p", { className: "fw4 fz_14px lh_20px", ...tid.eyebrow, children: eyebrow }),
|
|
16175
|
+
title && /* @__PURE__ */ jsxs50("div", { className: "dif w100 jcsb aic", children: [
|
|
16176
|
+
/* @__PURE__ */ jsxs50("h4", { className: "fwb fz_20px lh_28px", ...tid.title, children: [
|
|
16042
16177
|
title,
|
|
16043
16178
|
" "
|
|
16044
16179
|
] }),
|
|
16045
|
-
badge && /* @__PURE__ */
|
|
16180
|
+
badge && /* @__PURE__ */ jsx86("span", { className: "fw4 fz_14px lh_20px wsnw", ...tid.badge, children: badge })
|
|
16046
16181
|
] })
|
|
16047
16182
|
] }),
|
|
16048
|
-
data && data?.length > 0 && /* @__PURE__ */
|
|
16183
|
+
data && data?.length > 0 && /* @__PURE__ */ jsx86("dl", { className: "dg gtc_repeat_2_minmax_0_1fr fw4 fz_14px lh_20px", children: data.map((d, idx) => /* @__PURE__ */ jsxs50("div", { ...trussProps51({
|
|
16049
16184
|
display: "df",
|
|
16050
16185
|
gap: "gap_4px",
|
|
16051
16186
|
gridColumn: ["gc_var", {
|
|
16052
16187
|
"--gridColumn": maybeCssVar30(idx % 2 + 1)
|
|
16053
16188
|
}]
|
|
16054
16189
|
}), ...tid[defaultTestId(d.label)], children: [
|
|
16055
|
-
/* @__PURE__ */
|
|
16190
|
+
/* @__PURE__ */ jsxs50("dt", { children: [
|
|
16056
16191
|
d.label,
|
|
16057
16192
|
":"
|
|
16058
16193
|
] }),
|
|
16059
|
-
/* @__PURE__ */
|
|
16194
|
+
/* @__PURE__ */ jsx86("dd", { children: d.value })
|
|
16060
16195
|
] }, d.label)) }),
|
|
16061
|
-
progress !== void 0 && /* @__PURE__ */
|
|
16062
|
-
/* @__PURE__ */
|
|
16196
|
+
progress !== void 0 && /* @__PURE__ */ jsx86("div", { className: "df fdc gap1", children: /* @__PURE__ */ jsxs50("div", { className: "df aic gap1 fs_10px lh_14px", children: [
|
|
16197
|
+
/* @__PURE__ */ jsx86("div", { className: "w25 h_8px br4 bgGray200", children: /* @__PURE__ */ jsx86("div", { ...trussProps51({
|
|
16063
16198
|
height: "h100",
|
|
16064
16199
|
borderRadius: "br4",
|
|
16065
16200
|
backgroundColor: "bgBlue500",
|
|
@@ -16067,7 +16202,7 @@ function TableCardView(props) {
|
|
|
16067
16202
|
"--width": maybeCssVar30(__maybeInc10(`${progressValue}%`))
|
|
16068
16203
|
}]
|
|
16069
16204
|
}) }) }),
|
|
16070
|
-
/* @__PURE__ */
|
|
16205
|
+
/* @__PURE__ */ jsxs50("span", { ...tid.progressValue, children: [
|
|
16071
16206
|
progressValue,
|
|
16072
16207
|
"%"
|
|
16073
16208
|
] })
|
|
@@ -16083,8 +16218,8 @@ function clampProgress(value) {
|
|
|
16083
16218
|
}
|
|
16084
16219
|
|
|
16085
16220
|
// src/components/Table/GridTable.tsx
|
|
16086
|
-
import { trussProps as
|
|
16087
|
-
import { jsx as
|
|
16221
|
+
import { trussProps as trussProps52, mergeProps as mergeProps21, maybeCssVar as maybeCssVar31 } from "@homebound/truss/runtime";
|
|
16222
|
+
import { jsx as jsx87, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
16088
16223
|
import { createElement as createElement2 } from "react";
|
|
16089
16224
|
var __maybeInc11 = (inc) => {
|
|
16090
16225
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -16135,7 +16270,7 @@ function GridTable(props) {
|
|
|
16135
16270
|
columnGutter = false
|
|
16136
16271
|
} = props;
|
|
16137
16272
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
16138
|
-
const columnsWithIds =
|
|
16273
|
+
const columnsWithIds = useMemo27(() => {
|
|
16139
16274
|
const columns2 = columnGutter && inDocumentScrollLayout ? withColumnGutters(_columns) : _columns;
|
|
16140
16275
|
return assignDefaultColumnIds(columns2);
|
|
16141
16276
|
}, [_columns, columnGutter, inDocumentScrollLayout]);
|
|
@@ -16143,7 +16278,7 @@ function GridTable(props) {
|
|
|
16143
16278
|
const virtuosoRangeRef = useRef41(null);
|
|
16144
16279
|
const resizeRef = useRef41(null);
|
|
16145
16280
|
const tableContainerRef = useRef41(null);
|
|
16146
|
-
const api =
|
|
16281
|
+
const api = useMemo27(
|
|
16147
16282
|
() => {
|
|
16148
16283
|
const api2 = props.api ?? new GridTableApiImpl();
|
|
16149
16284
|
api2.init(persistCollapse, virtuosoRef, virtuosoRangeRef);
|
|
@@ -16156,7 +16291,7 @@ function GridTable(props) {
|
|
|
16156
16291
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
16157
16292
|
[props.api]
|
|
16158
16293
|
);
|
|
16159
|
-
const [draggedRow, _setDraggedRow] =
|
|
16294
|
+
const [draggedRow, _setDraggedRow] = useState33(void 0);
|
|
16160
16295
|
const draggedRowRef = useRef41(draggedRow);
|
|
16161
16296
|
const setDraggedRow = (row) => {
|
|
16162
16297
|
draggedRowRef.current = row;
|
|
@@ -16275,7 +16410,7 @@ function GridTable(props) {
|
|
|
16275
16410
|
};
|
|
16276
16411
|
const [tableHeadRows, visibleDataRows, keptSelectedRows, pinnedRows, tooManyClientSideRows] = useComputed(() => {
|
|
16277
16412
|
if (as === "card") {
|
|
16278
|
-
const cardElements = tableState.visibleRows.filter((rs) => ![HEADER, EXPANDABLE_HEADER, TOTALS, KEPT_GROUP].includes(rs.kind)).map((rs) => /* @__PURE__ */
|
|
16413
|
+
const cardElements = tableState.visibleRows.filter((rs) => ![HEADER, EXPANDABLE_HEADER, TOTALS, KEPT_GROUP].includes(rs.kind)).map((rs) => /* @__PURE__ */ jsx87(TableCard, { rs, columns, rowStyle: rowStyles?.[rs.row.kind], api: tableState.api }, rs.key));
|
|
16279
16414
|
return [[], cardElements, [], [], false];
|
|
16280
16415
|
}
|
|
16281
16416
|
const headerRows = [];
|
|
@@ -16287,7 +16422,7 @@ function GridTable(props) {
|
|
|
16287
16422
|
const pinnedIds = new Set(pinnedRowStates.map((rs) => rs.row.id));
|
|
16288
16423
|
const visibleRows = tableState.visibleRows.filter((rs) => !pinnedIds.has(rs.row.id));
|
|
16289
16424
|
const hasExpandableHeader = visibleRows.some((rs) => rs.row.id === EXPANDABLE_HEADER);
|
|
16290
|
-
const makeRow = (rs, isFirstHeadRow, isFirstBodyRow, isLastBodyRow) => /* @__PURE__ */
|
|
16425
|
+
const makeRow = (rs, isFirstHeadRow, isFirstBodyRow, isLastBodyRow) => /* @__PURE__ */ jsx87(Row, { onDragStart, onDragOver, onDragEnd, onDrop, onDragEnter, ...{
|
|
16291
16426
|
as,
|
|
16292
16427
|
rs,
|
|
16293
16428
|
style,
|
|
@@ -16349,7 +16484,7 @@ function GridTable(props) {
|
|
|
16349
16484
|
const borderless = style?.presentationSettings?.borderless;
|
|
16350
16485
|
const typeScale = style?.presentationSettings?.typeScale;
|
|
16351
16486
|
const borderOnHover = style?.presentationSettings?.borderOnHover;
|
|
16352
|
-
const fieldProps =
|
|
16487
|
+
const fieldProps = useMemo27(() => ({
|
|
16353
16488
|
labelStyle: "hidden",
|
|
16354
16489
|
numberAlignment: "right",
|
|
16355
16490
|
compact: true,
|
|
@@ -16366,11 +16501,11 @@ function GridTable(props) {
|
|
|
16366
16501
|
} : {}
|
|
16367
16502
|
}), [borderOnHover, borderless, typeScale]);
|
|
16368
16503
|
const _as = as === "virtual" && runningInJest ? "div" : as;
|
|
16369
|
-
const rowStateContext =
|
|
16504
|
+
const rowStateContext = useMemo27(() => ({
|
|
16370
16505
|
tableState,
|
|
16371
16506
|
tableContainerRef
|
|
16372
16507
|
}), [tableState, tableContainerRef]);
|
|
16373
|
-
const tableStyle =
|
|
16508
|
+
const tableStyle = useMemo27(() => {
|
|
16374
16509
|
if (!inDocumentScrollLayout || contentWidth === void 0 || tableWidth === void 0) return style;
|
|
16375
16510
|
const minWidthPx = Math.max(style.minWidthPx ?? 0, contentWidth);
|
|
16376
16511
|
if (minWidthPx === style.minWidthPx) return style;
|
|
@@ -16379,9 +16514,9 @@ function GridTable(props) {
|
|
|
16379
16514
|
minWidthPx
|
|
16380
16515
|
};
|
|
16381
16516
|
}, [contentWidth, inDocumentScrollLayout, style, tableWidth]);
|
|
16382
|
-
return /* @__PURE__ */
|
|
16383
|
-
/* @__PURE__ */
|
|
16384
|
-
as === "card" ? /* @__PURE__ */
|
|
16517
|
+
return /* @__PURE__ */ jsx87(TableStateContext.Provider, { value: rowStateContext, children: /* @__PURE__ */ jsxs51(PresentationProvider, { fieldProps, wrap: style?.presentationSettings?.wrap, children: [
|
|
16518
|
+
/* @__PURE__ */ jsx87("div", { ref: resizeRef, ...trussProps52(getTableRefWidthStyles(as === "virtual", inDocumentScrollLayout)) }),
|
|
16519
|
+
as === "card" ? /* @__PURE__ */ jsx87(CardView, { cardRows: visibleDataRows, id, virtuosoRangeRef, infiniteScroll, persistScrollPosition }) : renders[_as](tableStyle, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, virtuosoRef, virtuosoRangeRef, tableHeadRows, stickyOffset, infiniteScroll, tableContainerRef, persistScrollPosition)
|
|
16385
16520
|
] }) });
|
|
16386
16521
|
}
|
|
16387
16522
|
var renders = {
|
|
@@ -16390,7 +16525,7 @@ var renders = {
|
|
|
16390
16525
|
virtual: renderVirtual
|
|
16391
16526
|
};
|
|
16392
16527
|
function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, _virtuosoRef, _virtuosoRangeRef, tableHeadRows, stickyOffset, _infiniteScroll, tableContainerRef, _persistScrollPosition) {
|
|
16393
|
-
return /* @__PURE__ */
|
|
16528
|
+
return /* @__PURE__ */ jsxs51("div", { ref: tableContainerRef, ...trussProps52({
|
|
16394
16529
|
// Use `fit-content` to ensure the width of the table takes up the full width of its content.
|
|
16395
16530
|
// Otherwise, the table's width would be that of its container, which may not be as wide as the table itself.
|
|
16396
16531
|
// In cases where we have sticky columns on a very wide table, then the container which the columns "stick" to (which is the table),
|
|
@@ -16406,7 +16541,7 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinned
|
|
|
16406
16541
|
} : {},
|
|
16407
16542
|
...xss
|
|
16408
16543
|
}), "data-testid": id, children: [
|
|
16409
|
-
/* @__PURE__ */
|
|
16544
|
+
/* @__PURE__ */ jsxs51("div", { ...trussProps52({
|
|
16410
16545
|
...stickyHeader || pinnedRows.length > 0 ? {
|
|
16411
16546
|
position: "sticky",
|
|
16412
16547
|
transition: "transitionTop",
|
|
@@ -16421,9 +16556,9 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinned
|
|
|
16421
16556
|
tableHeadRows,
|
|
16422
16557
|
pinnedRows
|
|
16423
16558
|
] }),
|
|
16424
|
-
/* @__PURE__ */
|
|
16559
|
+
/* @__PURE__ */ jsxs51("div", { children: [
|
|
16425
16560
|
keptSelectedRows,
|
|
16426
|
-
firstRowMessage && /* @__PURE__ */
|
|
16561
|
+
firstRowMessage && /* @__PURE__ */ jsx87("div", { ...trussProps52({
|
|
16427
16562
|
...keptSelectedRows.length === 0 && style.firstBodyRowCss,
|
|
16428
16563
|
...style.firstRowMessageCss,
|
|
16429
16564
|
...visibleDataRows.length === 0 && style.lastRowCss,
|
|
@@ -16436,7 +16571,7 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinned
|
|
|
16436
16571
|
] });
|
|
16437
16572
|
}
|
|
16438
16573
|
function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, _virtuosoRef, _virtuosoRangeRef, tableHeadRows, stickyOffset, _infiniteScroll, tableContainerRef, _persistScrollPosition) {
|
|
16439
|
-
return /* @__PURE__ */
|
|
16574
|
+
return /* @__PURE__ */ jsxs51("table", { ref: tableContainerRef, ...trussProps52({
|
|
16440
16575
|
...{
|
|
16441
16576
|
width: "w100",
|
|
16442
16577
|
borderCollapse: "borderCollapse_separate",
|
|
@@ -16450,7 +16585,7 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinn
|
|
|
16450
16585
|
} : {},
|
|
16451
16586
|
...xss
|
|
16452
16587
|
}), "data-testid": id, children: [
|
|
16453
|
-
/* @__PURE__ */
|
|
16588
|
+
/* @__PURE__ */ jsxs51("thead", { ...trussProps52({
|
|
16454
16589
|
...stickyHeader || pinnedRows.length > 0 ? {
|
|
16455
16590
|
position: "sticky",
|
|
16456
16591
|
transition: "transitionTop",
|
|
@@ -16465,13 +16600,13 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinn
|
|
|
16465
16600
|
tableHeadRows,
|
|
16466
16601
|
pinnedRows
|
|
16467
16602
|
] }),
|
|
16468
|
-
/* @__PURE__ */
|
|
16603
|
+
/* @__PURE__ */ jsxs51("tbody", { children: [
|
|
16469
16604
|
keptSelectedRows,
|
|
16470
|
-
firstRowMessage && /* @__PURE__ */
|
|
16605
|
+
firstRowMessage && /* @__PURE__ */ jsx87("tr", { ...trussProps52({
|
|
16471
16606
|
...tableRowPrintBreakCss,
|
|
16472
16607
|
...keptSelectedRows.length === 0 && style.firstBodyRowCss,
|
|
16473
16608
|
...visibleDataRows.length === 0 && style.lastRowCss
|
|
16474
|
-
}), children: /* @__PURE__ */
|
|
16609
|
+
}), children: /* @__PURE__ */ jsx87("td", { colSpan: columns.length, ...trussProps52({
|
|
16475
16610
|
...style.betweenRowsCss,
|
|
16476
16611
|
...style.firstRowMessageCss,
|
|
16477
16612
|
...visibleDataRows.length === 0 && style.lastRowCellCss,
|
|
@@ -16485,7 +16620,7 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinn
|
|
|
16485
16620
|
function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, virtuosoRef, virtuosoRangeRef, tableHeadRows, stickyOffset, infiniteScroll, _tableContainerRef, persistScrollPosition = infiniteScroll === void 0) {
|
|
16486
16621
|
const customScrollParent = useVirtualizedScrollParent();
|
|
16487
16622
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
16488
|
-
const [fetchMoreInProgress, setFetchMoreInProgress] =
|
|
16623
|
+
const [fetchMoreInProgress, setFetchMoreInProgress] = useState33(false);
|
|
16489
16624
|
const {
|
|
16490
16625
|
getScrollIndex,
|
|
16491
16626
|
setScrollIndex
|
|
@@ -16494,7 +16629,7 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, pi
|
|
|
16494
16629
|
const topItemCount = (stickyHeader || pinnedRows.length > 0 ? tableHeadRows.length : 0) + pinnedRows.length;
|
|
16495
16630
|
const validatedScrollIndex = savedScrollIndex !== void 0 && savedScrollIndex > 0 && savedScrollIndex < visibleDataRows.length ? savedScrollIndex + topItemCount : void 0;
|
|
16496
16631
|
const virtuosoKey = !!validatedScrollIndex && visibleDataRows.length > 0 ? "with-data" : "virtuoso";
|
|
16497
|
-
return /* @__PURE__ */
|
|
16632
|
+
return /* @__PURE__ */ jsx87(
|
|
16498
16633
|
Virtuoso2,
|
|
16499
16634
|
{
|
|
16500
16635
|
useWindowScroll: inDocumentScrollLayout && !customScrollParent,
|
|
@@ -16509,7 +16644,7 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, pi
|
|
|
16509
16644
|
components: {
|
|
16510
16645
|
// zIndex keeps the pinned head above sticky columns; `top` matches the offsets used by
|
|
16511
16646
|
// the div/table render paths so virtualized tables pin below the global nav + page header.
|
|
16512
|
-
TopItemList: React13.forwardRef((props, ref) => /* @__PURE__ */
|
|
16647
|
+
TopItemList: React13.forwardRef((props, ref) => /* @__PURE__ */ jsx87("div", { ...props, ref, ...mergeProps21(void 0, {
|
|
16513
16648
|
...props.style,
|
|
16514
16649
|
...style.minWidthPx !== void 0 ? {
|
|
16515
16650
|
minWidth: style.minWidthPx
|
|
@@ -16521,13 +16656,13 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, pi
|
|
|
16521
16656
|
}) })),
|
|
16522
16657
|
List: VirtualRoot(style, columns, id, xss),
|
|
16523
16658
|
Footer: () => {
|
|
16524
|
-
return /* @__PURE__ */
|
|
16659
|
+
return /* @__PURE__ */ jsx87("div", { ...trussProps52({
|
|
16525
16660
|
...style.virtualFooterPaddingBottomPx !== void 0 ? {
|
|
16526
16661
|
paddingBottom: ["pb_var", {
|
|
16527
16662
|
"--paddingBottom": `${style.virtualFooterPaddingBottomPx ?? 0}px`
|
|
16528
16663
|
}]
|
|
16529
16664
|
} : {}
|
|
16530
|
-
}), children: fetchMoreInProgress && /* @__PURE__ */
|
|
16665
|
+
}), children: fetchMoreInProgress && /* @__PURE__ */ jsx87("div", { className: "h5 df aic jcc", children: /* @__PURE__ */ jsx87(Loader, { size: "xs" }) }) });
|
|
16531
16666
|
}
|
|
16532
16667
|
},
|
|
16533
16668
|
topItemCount,
|
|
@@ -16548,11 +16683,11 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, pi
|
|
|
16548
16683
|
if (index === 0) {
|
|
16549
16684
|
return (
|
|
16550
16685
|
// Ensure the fallback message is the same width as the table
|
|
16551
|
-
/* @__PURE__ */
|
|
16686
|
+
/* @__PURE__ */ jsx87("div", { ...trussProps52({
|
|
16552
16687
|
...getTableRefWidthStyles(true, inDocumentScrollLayout),
|
|
16553
16688
|
...keptSelectedRows.length === 0 && style.firstBodyRowCss,
|
|
16554
16689
|
...visibleDataRows.length === 0 && style.lastRowCss
|
|
16555
|
-
}), children: /* @__PURE__ */
|
|
16690
|
+
}), children: /* @__PURE__ */ jsx87("div", { ...trussProps52({
|
|
16556
16691
|
...style.firstRowMessageCss,
|
|
16557
16692
|
...visibleDataRows.length === 0 && style.lastRowCellCss,
|
|
16558
16693
|
...visibleDataRows.length === 0 && style.lastRowFirstCellCss,
|
|
@@ -16601,7 +16736,7 @@ function CardView({
|
|
|
16601
16736
|
}) {
|
|
16602
16737
|
const customScrollParent = useVirtualizedScrollParent();
|
|
16603
16738
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
16604
|
-
const [fetchMoreInProgress, setFetchMoreInProgress] =
|
|
16739
|
+
const [fetchMoreInProgress, setFetchMoreInProgress] = useState33(false);
|
|
16605
16740
|
const {
|
|
16606
16741
|
getScrollIndex,
|
|
16607
16742
|
setScrollIndex
|
|
@@ -16610,9 +16745,9 @@ function CardView({
|
|
|
16610
16745
|
const validatedScrollIndex = savedScrollIndex !== void 0 && savedScrollIndex > 0 && savedScrollIndex < cardRows.length ? savedScrollIndex : void 0;
|
|
16611
16746
|
const virtuosoKey = !!validatedScrollIndex && cardRows.length > 0 ? "with-data" : "virtuoso";
|
|
16612
16747
|
if (runningInJest) {
|
|
16613
|
-
return /* @__PURE__ */
|
|
16748
|
+
return /* @__PURE__ */ jsx87("div", { className: "pt2 pb2", children: /* @__PURE__ */ jsx87("div", { className: "dg gtc_repeat_auto_fill_330px jcc gap3 pt3 pb3 pr3 pl3", children: cardRows }) });
|
|
16614
16749
|
}
|
|
16615
|
-
return /* @__PURE__ */
|
|
16750
|
+
return /* @__PURE__ */ jsx87("div", { className: "pt2 pb2 h100", children: /* @__PURE__ */ createElement2(VirtuosoGrid, { useWindowScroll: inDocumentScrollLayout && !customScrollParent, ...customScrollParent ? {
|
|
16616
16751
|
customScrollParent
|
|
16617
16752
|
} : {}, ...validatedScrollIndex !== void 0 ? {
|
|
16618
16753
|
initialTopMostItemIndex: validatedScrollIndex
|
|
@@ -16621,7 +16756,7 @@ function CardView({
|
|
|
16621
16756
|
style,
|
|
16622
16757
|
children
|
|
16623
16758
|
}, ref) {
|
|
16624
|
-
return /* @__PURE__ */
|
|
16759
|
+
return /* @__PURE__ */ jsx87("div", { ref, ...mergeProps21(void 0, style, {
|
|
16625
16760
|
display: "dg",
|
|
16626
16761
|
gridTemplateColumns: "gtc_repeat_auto_fill_330px",
|
|
16627
16762
|
justifyContent: "jcc",
|
|
@@ -16632,7 +16767,7 @@ function CardView({
|
|
|
16632
16767
|
paddingLeft: "pl3"
|
|
16633
16768
|
}), children });
|
|
16634
16769
|
}),
|
|
16635
|
-
Footer: () => /* @__PURE__ */
|
|
16770
|
+
Footer: () => /* @__PURE__ */ jsx87("div", { children: fetchMoreInProgress && /* @__PURE__ */ jsx87("div", { className: "h5 df aic jcc", children: /* @__PURE__ */ jsx87(Loader, { size: "xs" }) }) })
|
|
16636
16771
|
}, rangeChanged: (newRange) => {
|
|
16637
16772
|
virtuosoRangeRef.current = newRange;
|
|
16638
16773
|
if (!infiniteScroll && cardRows.length > 0) {
|
|
@@ -16658,7 +16793,7 @@ var VirtualRoot = memoizeOne((gs, _columns, id, xss) => {
|
|
|
16658
16793
|
style,
|
|
16659
16794
|
children
|
|
16660
16795
|
}, ref) {
|
|
16661
|
-
return /* @__PURE__ */
|
|
16796
|
+
return /* @__PURE__ */ jsx87("div", { ref, ...mergeProps21(void 0, style, {
|
|
16662
16797
|
...gs.rootCss,
|
|
16663
16798
|
...gs.minWidthPx ? {
|
|
16664
16799
|
minWidth: ["mw_var", {
|
|
@@ -16674,8 +16809,8 @@ var VirtualRoot = memoizeOne((gs, _columns, id, xss) => {
|
|
|
16674
16809
|
});
|
|
16675
16810
|
|
|
16676
16811
|
// src/components/ToggleChip.tsx
|
|
16677
|
-
import { trussProps as
|
|
16678
|
-
import { jsx as
|
|
16812
|
+
import { trussProps as trussProps53 } from "@homebound/truss/runtime";
|
|
16813
|
+
import { jsx as jsx88, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
16679
16814
|
function ToggleChip(props) {
|
|
16680
16815
|
const {
|
|
16681
16816
|
text,
|
|
@@ -16693,7 +16828,7 @@ function ToggleChip(props) {
|
|
|
16693
16828
|
} = useHover2({});
|
|
16694
16829
|
const compact = fieldProps?.compact;
|
|
16695
16830
|
const tid = useTestIds(props, "chip");
|
|
16696
|
-
return /* @__PURE__ */
|
|
16831
|
+
return /* @__PURE__ */ jsxs52("button", { type: "button", ...trussProps53({
|
|
16697
16832
|
...chipBaseStyles(compact),
|
|
16698
16833
|
...isHovered && !disabled && chipHoverStyles,
|
|
16699
16834
|
// Use a lower right-padding to get closer to the `X` circle when clearable, i.e. not disabled
|
|
@@ -16708,8 +16843,8 @@ function ToggleChip(props) {
|
|
|
16708
16843
|
},
|
|
16709
16844
|
...xss
|
|
16710
16845
|
}), disabled, onClick, ...hoverProps, ...tid, children: [
|
|
16711
|
-
icon && /* @__PURE__ */
|
|
16712
|
-
/* @__PURE__ */
|
|
16846
|
+
icon && /* @__PURE__ */ jsx88("span", { className: "fs0", ...tid.icon, children: /* @__PURE__ */ jsx88(Icon, { icon, color: "rgba(36, 36, 36, 1)" /* Gray900 */, inc: 2 }) }),
|
|
16847
|
+
/* @__PURE__ */ jsx88("span", { ...trussProps53({
|
|
16713
16848
|
textAlign: "tal",
|
|
16714
16849
|
overflow: "oh",
|
|
16715
16850
|
display: "d_negwebkit_box",
|
|
@@ -16721,14 +16856,14 @@ function ToggleChip(props) {
|
|
|
16721
16856
|
paddingRight: "pr0"
|
|
16722
16857
|
} : {}
|
|
16723
16858
|
}), title: text, children: text }),
|
|
16724
|
-
!disabled && /* @__PURE__ */
|
|
16859
|
+
!disabled && /* @__PURE__ */ jsx88("span", { ...trussProps53({
|
|
16725
16860
|
...{
|
|
16726
16861
|
flexShrink: "fs0",
|
|
16727
16862
|
borderRadius: "br16",
|
|
16728
16863
|
backgroundColor: "bgGray200"
|
|
16729
16864
|
},
|
|
16730
16865
|
...isHovered && chipHoverStyles
|
|
16731
|
-
}), ...tid.x, children: /* @__PURE__ */
|
|
16866
|
+
}), ...tid.x, children: /* @__PURE__ */ jsx88(Icon, { icon: "x", color: "rgba(141, 141, 141, 1)" /* Gray600 */, inc: 2 }) })
|
|
16732
16867
|
] });
|
|
16733
16868
|
}
|
|
16734
16869
|
var chipHoverStyles = {
|
|
@@ -16743,8 +16878,8 @@ var chipDisabledStyles = {
|
|
|
16743
16878
|
};
|
|
16744
16879
|
|
|
16745
16880
|
// src/components/ToggleChips.tsx
|
|
16746
|
-
import { trussProps as
|
|
16747
|
-
import { jsx as
|
|
16881
|
+
import { trussProps as trussProps54 } from "@homebound/truss/runtime";
|
|
16882
|
+
import { jsx as jsx89 } from "react/jsx-runtime";
|
|
16748
16883
|
function ToggleChips(props) {
|
|
16749
16884
|
const {
|
|
16750
16885
|
values,
|
|
@@ -16753,22 +16888,22 @@ function ToggleChips(props) {
|
|
|
16753
16888
|
xss
|
|
16754
16889
|
} = props;
|
|
16755
16890
|
const tid = useTestIds(props, "toggleChips");
|
|
16756
|
-
return /* @__PURE__ */
|
|
16891
|
+
return /* @__PURE__ */ jsx89("div", { ...trussProps54({
|
|
16757
16892
|
...{
|
|
16758
16893
|
display: "df",
|
|
16759
16894
|
flexWrap: "flexWrap_wrap",
|
|
16760
16895
|
gap: "gap1"
|
|
16761
16896
|
},
|
|
16762
16897
|
...xss
|
|
16763
|
-
}), ...tid, children: values.map((value) => /* @__PURE__ */
|
|
16898
|
+
}), ...tid, children: values.map((value) => /* @__PURE__ */ jsx89(ToggleChip, { text: getLabel(value), onClick: () => onRemove(value), ...tid.chip }, getLabel(value))) });
|
|
16764
16899
|
}
|
|
16765
16900
|
|
|
16766
16901
|
// src/components/Accordion.tsx
|
|
16767
16902
|
import { useId, useResizeObserver as useResizeObserver3 } from "@react-aria/utils";
|
|
16768
|
-
import { useCallback as
|
|
16903
|
+
import { useCallback as useCallback20, useEffect as useEffect21, useMemo as useMemo28, useState as useState34 } from "react";
|
|
16769
16904
|
import { useFocusRing as useFocusRing10 } from "react-aria";
|
|
16770
|
-
import { trussProps as
|
|
16771
|
-
import { jsx as
|
|
16905
|
+
import { trussProps as trussProps55, maybeCssVar as maybeCssVar32 } from "@homebound/truss/runtime";
|
|
16906
|
+
import { jsx as jsx90, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
16772
16907
|
var __maybeInc12 = (inc) => {
|
|
16773
16908
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
16774
16909
|
};
|
|
@@ -16791,23 +16926,23 @@ function Accordion(props) {
|
|
|
16791
16926
|
} = props;
|
|
16792
16927
|
const tid = useTestIds(props, "accordion");
|
|
16793
16928
|
const id = useId();
|
|
16794
|
-
const [expanded, setExpanded] =
|
|
16929
|
+
const [expanded, setExpanded] = useState34(defaultExpanded && !disabled);
|
|
16795
16930
|
const {
|
|
16796
16931
|
isFocusVisible,
|
|
16797
16932
|
focusProps
|
|
16798
16933
|
} = useFocusRing10();
|
|
16799
|
-
const [contentEl, setContentEl] =
|
|
16800
|
-
const contentRef =
|
|
16934
|
+
const [contentEl, setContentEl] = useState34(null);
|
|
16935
|
+
const contentRef = useMemo28(() => ({
|
|
16801
16936
|
current: contentEl
|
|
16802
16937
|
}), [contentEl]);
|
|
16803
|
-
const [contentHeight, setContentHeight] =
|
|
16938
|
+
const [contentHeight, setContentHeight] = useState34(expanded ? "auto" : "0");
|
|
16804
16939
|
useEffect21(() => {
|
|
16805
16940
|
setExpanded(defaultExpanded && !disabled);
|
|
16806
16941
|
}, [defaultExpanded, disabled]);
|
|
16807
16942
|
useEffect21(() => {
|
|
16808
16943
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
16809
16944
|
}, [expanded, contentEl]);
|
|
16810
|
-
const onResize =
|
|
16945
|
+
const onResize = useCallback20(() => {
|
|
16811
16946
|
if (contentEl && expanded) {
|
|
16812
16947
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
16813
16948
|
}
|
|
@@ -16816,12 +16951,12 @@ function Accordion(props) {
|
|
|
16816
16951
|
ref: contentRef,
|
|
16817
16952
|
onResize
|
|
16818
16953
|
});
|
|
16819
|
-
const toggle =
|
|
16954
|
+
const toggle = useCallback20(() => {
|
|
16820
16955
|
setExpanded((prev) => !prev);
|
|
16821
16956
|
if (setExpandedIndex) setExpandedIndex(index);
|
|
16822
16957
|
if (onToggle) onToggle();
|
|
16823
16958
|
}, [index, setExpandedIndex, onToggle]);
|
|
16824
|
-
const touchableStyle =
|
|
16959
|
+
const touchableStyle = useMemo28(() => ({
|
|
16825
16960
|
...{
|
|
16826
16961
|
display: "df",
|
|
16827
16962
|
justifyContent: "jcsb",
|
|
@@ -16867,7 +17002,7 @@ function Accordion(props) {
|
|
|
16867
17002
|
},
|
|
16868
17003
|
...xss
|
|
16869
17004
|
}), [compact, disabled, isFocusVisible, titleOnClick, xss]);
|
|
16870
|
-
return /* @__PURE__ */
|
|
17005
|
+
return /* @__PURE__ */ jsxs53("div", { ...tid.container, ...trussProps55({
|
|
16871
17006
|
...{
|
|
16872
17007
|
borderColor: "bcGray300",
|
|
16873
17008
|
...topBorder ? {
|
|
@@ -16885,14 +17020,14 @@ function Accordion(props) {
|
|
|
16885
17020
|
}]
|
|
16886
17021
|
} : {}
|
|
16887
17022
|
}), children: [
|
|
16888
|
-
titleOnClick ? /* @__PURE__ */
|
|
16889
|
-
/* @__PURE__ */
|
|
17023
|
+
titleOnClick ? /* @__PURE__ */ jsxs53("div", { ...focusProps, "aria-controls": id, "aria-expanded": expanded, className: "df", children: [
|
|
17024
|
+
/* @__PURE__ */ jsx90("button", { ...tid.title, disabled, ...trussProps55({
|
|
16890
17025
|
...touchableStyle,
|
|
16891
17026
|
...{
|
|
16892
17027
|
flexGrow: "fg1"
|
|
16893
17028
|
}
|
|
16894
17029
|
}), onClick: titleOnClick, children: title }),
|
|
16895
|
-
/* @__PURE__ */
|
|
17030
|
+
/* @__PURE__ */ jsx90("button", { ...tid.toggle, disabled, ...trussProps55({
|
|
16896
17031
|
...touchableStyle,
|
|
16897
17032
|
...{
|
|
16898
17033
|
paddingLeft: "pl2",
|
|
@@ -16903,23 +17038,23 @@ function Accordion(props) {
|
|
|
16903
17038
|
paddingRight: "pr_10px"
|
|
16904
17039
|
} : {}
|
|
16905
17040
|
}
|
|
16906
|
-
}), onClick: toggle, children: /* @__PURE__ */
|
|
16907
|
-
] }) : /* @__PURE__ */
|
|
17041
|
+
}), onClick: toggle, children: /* @__PURE__ */ jsx90(RotatingChevronIcon, { expanded }) })
|
|
17042
|
+
] }) : /* @__PURE__ */ jsxs53("button", { ...tid.title, ...focusProps, "aria-controls": id, "aria-expanded": expanded, disabled, ...trussProps55({
|
|
16908
17043
|
...{
|
|
16909
17044
|
width: "w100"
|
|
16910
17045
|
},
|
|
16911
17046
|
...touchableStyle
|
|
16912
17047
|
}), onClick: toggle, children: [
|
|
16913
|
-
/* @__PURE__ */
|
|
16914
|
-
/* @__PURE__ */
|
|
17048
|
+
/* @__PURE__ */ jsx90("span", { className: "fg1 tal", children: title }),
|
|
17049
|
+
/* @__PURE__ */ jsx90(RotatingChevronIcon, { expanded })
|
|
16915
17050
|
] }),
|
|
16916
|
-
/* @__PURE__ */
|
|
17051
|
+
/* @__PURE__ */ jsx90("div", { ...tid.details, id, "aria-hidden": !expanded, ...trussProps55({
|
|
16917
17052
|
overflow: "oh",
|
|
16918
17053
|
height: ["h_var", {
|
|
16919
17054
|
"--height": maybeCssVar32(__maybeInc12(contentHeight))
|
|
16920
17055
|
}],
|
|
16921
17056
|
transition: "transition_height_250ms_ease_in_out"
|
|
16922
|
-
}), children: expanded && /* @__PURE__ */
|
|
17057
|
+
}), children: expanded && /* @__PURE__ */ jsx90("div", { ...trussProps55({
|
|
16923
17058
|
paddingLeft: "pl2",
|
|
16924
17059
|
paddingRight: "pr2",
|
|
16925
17060
|
paddingBottom: "pb2",
|
|
@@ -16934,13 +17069,13 @@ function Accordion(props) {
|
|
|
16934
17069
|
] });
|
|
16935
17070
|
}
|
|
16936
17071
|
function RotatingChevronIcon(props) {
|
|
16937
|
-
return /* @__PURE__ */
|
|
17072
|
+
return /* @__PURE__ */ jsx90("span", { ...trussProps55({
|
|
16938
17073
|
flexShrink: "fs0",
|
|
16939
17074
|
transition: "transition_transform_250ms_linear",
|
|
16940
17075
|
transform: ["transform_var", {
|
|
16941
17076
|
"--transform": maybeCssVar32(props.expanded ? "rotate(180deg)" : "rotate(0deg)")
|
|
16942
17077
|
}]
|
|
16943
|
-
}), children: /* @__PURE__ */
|
|
17078
|
+
}), children: /* @__PURE__ */ jsx90(Icon, { icon: "chevronDown" }) });
|
|
16944
17079
|
}
|
|
16945
17080
|
var accordionSizes = {
|
|
16946
17081
|
xs: 240,
|
|
@@ -16950,15 +17085,15 @@ var accordionSizes = {
|
|
|
16950
17085
|
};
|
|
16951
17086
|
|
|
16952
17087
|
// src/components/AccordionList.tsx
|
|
16953
|
-
import { useState as
|
|
16954
|
-
import { Fragment as Fragment21, jsx as
|
|
17088
|
+
import { useState as useState35 } from "react";
|
|
17089
|
+
import { Fragment as Fragment21, jsx as jsx91 } from "react/jsx-runtime";
|
|
16955
17090
|
function AccordionList(props) {
|
|
16956
17091
|
const { accordions, size, allowMultipleExpanded = true, compact = false } = props;
|
|
16957
|
-
const [expandedIndex, setExpandedIndex] =
|
|
17092
|
+
const [expandedIndex, setExpandedIndex] = useState35(
|
|
16958
17093
|
accordions.findIndex((a) => a.defaultExpanded)
|
|
16959
17094
|
);
|
|
16960
17095
|
const tid = useTestIds(props, "accordionList");
|
|
16961
|
-
return /* @__PURE__ */
|
|
17096
|
+
return /* @__PURE__ */ jsx91(Fragment21, { children: accordions.map((accordionProps, index, arr) => /* @__PURE__ */ jsx91(
|
|
16962
17097
|
Accordion,
|
|
16963
17098
|
{
|
|
16964
17099
|
...accordionProps,
|
|
@@ -16983,7 +17118,7 @@ function assertNever(x) {
|
|
|
16983
17118
|
}
|
|
16984
17119
|
|
|
16985
17120
|
// src/components/AutoSaveIndicator.tsx
|
|
16986
|
-
import { jsx as
|
|
17121
|
+
import { jsx as jsx92, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
16987
17122
|
function AutoSaveIndicator({
|
|
16988
17123
|
hideOnIdle,
|
|
16989
17124
|
doNotReset
|
|
@@ -17004,11 +17139,11 @@ function AutoSaveIndicator({
|
|
|
17004
17139
|
);
|
|
17005
17140
|
switch (status) {
|
|
17006
17141
|
case "idle" /* IDLE */:
|
|
17007
|
-
return hideOnIdle ? null : /* @__PURE__ */
|
|
17142
|
+
return hideOnIdle ? null : /* @__PURE__ */ jsx92(Indicator, { icon: "cloudSave" });
|
|
17008
17143
|
case "saving" /* SAVING */:
|
|
17009
|
-
return /* @__PURE__ */
|
|
17144
|
+
return /* @__PURE__ */ jsx92(Indicator, { icon: "refresh", text: "Saving..." });
|
|
17010
17145
|
case "done" /* DONE */:
|
|
17011
|
-
return /* @__PURE__ */
|
|
17146
|
+
return /* @__PURE__ */ jsx92(Indicator, { icon: "cloudSave", text: "Saved" });
|
|
17012
17147
|
case "error" /* ERROR */:
|
|
17013
17148
|
return (
|
|
17014
17149
|
/**
|
|
@@ -17016,7 +17151,7 @@ function AutoSaveIndicator({
|
|
|
17016
17151
|
* rendering it far away from the Icon/Text. Wrap it with a div to constrain
|
|
17017
17152
|
* it.
|
|
17018
17153
|
*/
|
|
17019
|
-
/* @__PURE__ */
|
|
17154
|
+
/* @__PURE__ */ jsx92("div", { className: "dif", children: /* @__PURE__ */ jsx92(Tooltip, { title: String(errors), placement: "bottom", children: /* @__PURE__ */ jsx92(Indicator, { icon: "error", color: "rgba(239, 68, 68, 1)" /* Red500 */, text: "Error saving" }) }) })
|
|
17020
17155
|
);
|
|
17021
17156
|
default:
|
|
17022
17157
|
assertNever(status);
|
|
@@ -17027,15 +17162,15 @@ function Indicator({
|
|
|
17027
17162
|
icon,
|
|
17028
17163
|
color
|
|
17029
17164
|
}) {
|
|
17030
|
-
return /* @__PURE__ */
|
|
17031
|
-
/* @__PURE__ */
|
|
17165
|
+
return /* @__PURE__ */ jsxs54("div", { "data-testid": "autoSave", className: "df gap1 aic gray700 fw6 fz_14px lh_20px", children: [
|
|
17166
|
+
/* @__PURE__ */ jsx92(Icon, { icon, color }),
|
|
17032
17167
|
text
|
|
17033
17168
|
] });
|
|
17034
17169
|
}
|
|
17035
17170
|
|
|
17036
17171
|
// src/components/Banner.tsx
|
|
17037
|
-
import { trussProps as
|
|
17038
|
-
import { jsx as
|
|
17172
|
+
import { trussProps as trussProps56 } from "@homebound/truss/runtime";
|
|
17173
|
+
import { jsx as jsx93, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
17039
17174
|
function Banner(props) {
|
|
17040
17175
|
const {
|
|
17041
17176
|
type,
|
|
@@ -17045,7 +17180,7 @@ function Banner(props) {
|
|
|
17045
17180
|
...others
|
|
17046
17181
|
} = props;
|
|
17047
17182
|
const tid = useTestIds(others, "banner");
|
|
17048
|
-
return /* @__PURE__ */
|
|
17183
|
+
return /* @__PURE__ */ jsxs55("div", { ...trussProps56({
|
|
17049
17184
|
...variantStyles3[type],
|
|
17050
17185
|
...{
|
|
17051
17186
|
display: "df",
|
|
@@ -17063,9 +17198,9 @@ function Banner(props) {
|
|
|
17063
17198
|
boxShadow: "bshBasic"
|
|
17064
17199
|
}
|
|
17065
17200
|
}), ...tid, role: "alert", children: [
|
|
17066
|
-
showIcon && /* @__PURE__ */
|
|
17067
|
-
/* @__PURE__ */
|
|
17068
|
-
onClose && /* @__PURE__ */
|
|
17201
|
+
showIcon && /* @__PURE__ */ jsx93("span", { className: "fs0", children: /* @__PURE__ */ jsx93(Icon, { icon: typeToIcon[type], ...tid.type, color: "rgba(36, 36, 36, 1)" /* Gray900 */ }) }),
|
|
17202
|
+
/* @__PURE__ */ jsx93("span", { className: "fg1", ...tid.message, children: message }),
|
|
17203
|
+
onClose && /* @__PURE__ */ jsx93("span", { className: "lh_0", children: /* @__PURE__ */ jsx93(IconButton, { icon: "x", onClick: onClose, ...tid.close, color: "rgba(36, 36, 36, 1)" /* Gray900 */ }) })
|
|
17069
17204
|
] });
|
|
17070
17205
|
}
|
|
17071
17206
|
var typeToIcon = {
|
|
@@ -17104,20 +17239,20 @@ import { OverlayProvider } from "react-aria";
|
|
|
17104
17239
|
|
|
17105
17240
|
// src/components/Modal/Modal.tsx
|
|
17106
17241
|
import { useResizeObserver as useResizeObserver4 } from "@react-aria/utils";
|
|
17107
|
-
import { useCallback as
|
|
17242
|
+
import { useCallback as useCallback21, useEffect as useEffect24, useRef as useRef43, useState as useState36 } from "react";
|
|
17108
17243
|
import { FocusScope as FocusScope4, OverlayContainer as OverlayContainer2, useDialog, useModal as useModal2, useOverlay as useOverlay2, usePreventScroll } from "react-aria";
|
|
17109
17244
|
import { createPortal as createPortal3 } from "react-dom";
|
|
17110
17245
|
|
|
17111
17246
|
// src/components/Modal/useModal.tsx
|
|
17112
|
-
import { useEffect as useEffect23, useMemo as
|
|
17247
|
+
import { useEffect as useEffect23, useMemo as useMemo30, useRef as useRef42 } from "react";
|
|
17113
17248
|
|
|
17114
17249
|
// src/components/Modal/ModalContext.tsx
|
|
17115
|
-
import { createContext as createContext7, useContext as useContext17, useMemo as
|
|
17116
|
-
import { jsx as
|
|
17250
|
+
import { createContext as createContext7, useContext as useContext17, useMemo as useMemo29 } from "react";
|
|
17251
|
+
import { jsx as jsx94 } from "react/jsx-runtime";
|
|
17117
17252
|
var ModalContext = createContext7({ inModal: false });
|
|
17118
17253
|
function ModalProvider({ children }) {
|
|
17119
|
-
const value =
|
|
17120
|
-
return /* @__PURE__ */
|
|
17254
|
+
const value = useMemo29(() => ({ inModal: true }), []);
|
|
17255
|
+
return /* @__PURE__ */ jsx94(ModalContext.Provider, { value, children });
|
|
17121
17256
|
}
|
|
17122
17257
|
function useModalContext() {
|
|
17123
17258
|
return useContext17(ModalContext);
|
|
@@ -17134,7 +17269,7 @@ function useModal() {
|
|
|
17134
17269
|
modalCanCloseChecks.current = modalCanCloseChecks.current.filter((c) => c !== lastCanClose.current);
|
|
17135
17270
|
};
|
|
17136
17271
|
}, [modalCanCloseChecks]);
|
|
17137
|
-
return
|
|
17272
|
+
return useMemo30(
|
|
17138
17273
|
() => ({
|
|
17139
17274
|
openModal(props) {
|
|
17140
17275
|
modalState.current = { ...props, api };
|
|
@@ -17169,8 +17304,8 @@ function useModal() {
|
|
|
17169
17304
|
}
|
|
17170
17305
|
|
|
17171
17306
|
// src/components/Modal/Modal.tsx
|
|
17172
|
-
import { trussProps as
|
|
17173
|
-
import { Fragment as Fragment22, jsx as
|
|
17307
|
+
import { trussProps as trussProps57, maybeCssVar as maybeCssVar33 } from "@homebound/truss/runtime";
|
|
17308
|
+
import { Fragment as Fragment22, jsx as jsx95, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
17174
17309
|
function Modal(props) {
|
|
17175
17310
|
const {
|
|
17176
17311
|
size = "md",
|
|
@@ -17211,7 +17346,7 @@ function Modal(props) {
|
|
|
17211
17346
|
} = useDialog({
|
|
17212
17347
|
role: "dialog"
|
|
17213
17348
|
}, ref);
|
|
17214
|
-
const [[width2, height], setSize] =
|
|
17349
|
+
const [[width2, height], setSize] = useState36(getSize(size));
|
|
17215
17350
|
const modalBodyRef = useRef43(null);
|
|
17216
17351
|
const modalFooterRef = useRef43(null);
|
|
17217
17352
|
const modalHeaderRef = useRef43(null);
|
|
@@ -17225,10 +17360,10 @@ function Modal(props) {
|
|
|
17225
17360
|
setSize: (size2 = "md") => setSize(getSize(size2))
|
|
17226
17361
|
};
|
|
17227
17362
|
}
|
|
17228
|
-
const [hasScroll, setHasScroll] =
|
|
17363
|
+
const [hasScroll, setHasScroll] = useState36(forceScrolling ?? false);
|
|
17229
17364
|
useResizeObserver4({
|
|
17230
17365
|
ref: modalBodyRef,
|
|
17231
|
-
onResize:
|
|
17366
|
+
onResize: useCallback21(
|
|
17232
17367
|
() => {
|
|
17233
17368
|
const target = modalBodyRef.current;
|
|
17234
17369
|
if (forceScrolling === void 0 && !isFixedHeight) {
|
|
@@ -17250,7 +17385,7 @@ function Modal(props) {
|
|
|
17250
17385
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17251
17386
|
[modalBodyRef, modalFooterRef, modalHeaderRef]
|
|
17252
17387
|
);
|
|
17253
|
-
return /* @__PURE__ */
|
|
17388
|
+
return /* @__PURE__ */ jsx95(ModalProvider, { children: /* @__PURE__ */ jsx95(OverlayContainer2, { children: /* @__PURE__ */ jsx95(AutoSaveStatusProvider, { children: /* @__PURE__ */ jsx95("div", { ...trussProps57({
|
|
17254
17389
|
position: "fixed",
|
|
17255
17390
|
top: "tp_0",
|
|
17256
17391
|
bottom: "bot_0",
|
|
@@ -17263,7 +17398,7 @@ function Modal(props) {
|
|
|
17263
17398
|
zIndex: ["z_var", {
|
|
17264
17399
|
"--zIndex": maybeCssVar33(zIndices.modalUnderlay)
|
|
17265
17400
|
}]
|
|
17266
|
-
}), ...underlayProps, ...testId.underlay, children: /* @__PURE__ */
|
|
17401
|
+
}), ...underlayProps, ...testId.underlay, children: /* @__PURE__ */ jsx95(FocusScope4, { contain: true, restoreFocus: true, autoFocus: true, children: /* @__PURE__ */ jsxs56("div", { ...trussProps57({
|
|
17267
17402
|
borderRadius: "br24",
|
|
17268
17403
|
backgroundColor: "bgWhite",
|
|
17269
17404
|
boxShadow: "bshModal",
|
|
@@ -17289,7 +17424,7 @@ function Modal(props) {
|
|
|
17289
17424
|
borderRadius: "br0"
|
|
17290
17425
|
} : {}
|
|
17291
17426
|
}), ref, ...overlayProps, ...dialogProps, ...modalProps, ...testId, children: [
|
|
17292
|
-
/* @__PURE__ */
|
|
17427
|
+
/* @__PURE__ */ jsxs56("header", { ...trussProps57({
|
|
17293
17428
|
display: "df",
|
|
17294
17429
|
flexDirection: "fdrr",
|
|
17295
17430
|
paddingTop: "pt3",
|
|
@@ -17303,10 +17438,10 @@ function Modal(props) {
|
|
|
17303
17438
|
borderColor: "bcGray200"
|
|
17304
17439
|
} : {}
|
|
17305
17440
|
}), children: [
|
|
17306
|
-
/* @__PURE__ */
|
|
17307
|
-
/* @__PURE__ */
|
|
17441
|
+
/* @__PURE__ */ jsx95("span", { className: "fs0 pl1", children: allowClosing && /* @__PURE__ */ jsx95(IconButton, { icon: "x", onClick: closeModal, ...testId.titleClose }) }),
|
|
17442
|
+
/* @__PURE__ */ jsx95("h1", { className: "fg1 fw6 fz_30px lh_36px gray900", ref: modalHeaderRef, ...titleProps, ...testId.title })
|
|
17308
17443
|
] }),
|
|
17309
|
-
/* @__PURE__ */
|
|
17444
|
+
/* @__PURE__ */ jsx95("main", { ref: modalBodyRef, ...trussProps57({
|
|
17310
17445
|
flexGrow: "fg1",
|
|
17311
17446
|
overflowY: "oya",
|
|
17312
17447
|
...hasScroll ? {
|
|
@@ -17318,7 +17453,7 @@ function Modal(props) {
|
|
|
17318
17453
|
overflowY: "oys"
|
|
17319
17454
|
} : {}
|
|
17320
17455
|
}), children: content }),
|
|
17321
|
-
/* @__PURE__ */
|
|
17456
|
+
/* @__PURE__ */ jsx95("footer", { className: "fs0", children: /* @__PURE__ */ jsx95("div", { ref: modalFooterRef }) })
|
|
17322
17457
|
] }) }) }) }) }) });
|
|
17323
17458
|
}
|
|
17324
17459
|
function ModalHeader({
|
|
@@ -17327,7 +17462,7 @@ function ModalHeader({
|
|
|
17327
17462
|
const {
|
|
17328
17463
|
modalHeaderDiv
|
|
17329
17464
|
} = useBeamContext();
|
|
17330
|
-
return createPortal3(/* @__PURE__ */
|
|
17465
|
+
return createPortal3(/* @__PURE__ */ jsx95(Fragment22, { children }), modalHeaderDiv);
|
|
17331
17466
|
}
|
|
17332
17467
|
function ModalBody({
|
|
17333
17468
|
children,
|
|
@@ -17339,7 +17474,7 @@ function ModalBody({
|
|
|
17339
17474
|
const testId = useTestIds({}, testIdPrefix);
|
|
17340
17475
|
return createPortal3(
|
|
17341
17476
|
// If `virtualized`, then we are expecting the `children` will handle their own scrollbar, so have the overflow hidden and adjust padding
|
|
17342
|
-
/* @__PURE__ */
|
|
17477
|
+
/* @__PURE__ */ jsx95("div", { ...trussProps57({
|
|
17343
17478
|
height: "h100",
|
|
17344
17479
|
...virtualized ? {
|
|
17345
17480
|
overflow: "oh",
|
|
@@ -17360,7 +17495,7 @@ function ModalFooter({
|
|
|
17360
17495
|
modalFooterDiv
|
|
17361
17496
|
} = useBeamContext();
|
|
17362
17497
|
const testId = useTestIds({}, testIdPrefix);
|
|
17363
|
-
return createPortal3(/* @__PURE__ */
|
|
17498
|
+
return createPortal3(/* @__PURE__ */ jsx95("div", { ...trussProps57({
|
|
17364
17499
|
...{
|
|
17365
17500
|
paddingTop: "pt3",
|
|
17366
17501
|
paddingBottom: "pb3",
|
|
@@ -17392,11 +17527,11 @@ function getSize(size) {
|
|
|
17392
17527
|
}
|
|
17393
17528
|
|
|
17394
17529
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
17395
|
-
import { createContext as createContext8, useContext as useContext18, useMemo as
|
|
17530
|
+
import { createContext as createContext8, useContext as useContext18, useMemo as useMemo31, useState as useState37 } from "react";
|
|
17396
17531
|
|
|
17397
17532
|
// src/components/Snackbar/SnackbarNotice.tsx
|
|
17398
|
-
import { trussProps as
|
|
17399
|
-
import { jsx as
|
|
17533
|
+
import { trussProps as trussProps58 } from "@homebound/truss/runtime";
|
|
17534
|
+
import { jsx as jsx96, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
17400
17535
|
function SnackbarNotice(props) {
|
|
17401
17536
|
const {
|
|
17402
17537
|
icon,
|
|
@@ -17408,12 +17543,12 @@ function SnackbarNotice(props) {
|
|
|
17408
17543
|
} = props;
|
|
17409
17544
|
const tid = useTestIds(props, "snackbar");
|
|
17410
17545
|
const reallyHideClose = hideCloseButton && !persistent;
|
|
17411
|
-
return /* @__PURE__ */
|
|
17412
|
-
icon && /* @__PURE__ */
|
|
17413
|
-
/* @__PURE__ */
|
|
17546
|
+
return /* @__PURE__ */ jsxs57("div", { className: "white bgGray800 br4 fw4 fz_16px lh_24px df aic maxw_420px", "data-theme": contrastDataTheme, ...tid, role: "alert", children: [
|
|
17547
|
+
icon && /* @__PURE__ */ jsx96("span", { className: "fs0 pl_12px", children: /* @__PURE__ */ jsx96(Icon, { ...typeToIcon2[icon], ...tid.icon }) }),
|
|
17548
|
+
/* @__PURE__ */ jsx96(
|
|
17414
17549
|
"span",
|
|
17415
17550
|
{
|
|
17416
|
-
...
|
|
17551
|
+
...trussProps58({
|
|
17417
17552
|
overflow: "oh",
|
|
17418
17553
|
display: "d_negwebkit_box",
|
|
17419
17554
|
WebkitBoxOrient: "wbo_vertical",
|
|
@@ -17433,8 +17568,8 @@ function SnackbarNotice(props) {
|
|
|
17433
17568
|
children: message
|
|
17434
17569
|
}
|
|
17435
17570
|
),
|
|
17436
|
-
(action || !reallyHideClose) && /* @__PURE__ */
|
|
17437
|
-
action && /* @__PURE__ */
|
|
17571
|
+
(action || !reallyHideClose) && /* @__PURE__ */ jsxs57("span", { className: "fs0 df aic", children: [
|
|
17572
|
+
action && /* @__PURE__ */ jsx96("span", { ...trussProps58({
|
|
17438
17573
|
textTransform: "ttu",
|
|
17439
17574
|
fontWeight: "fw4",
|
|
17440
17575
|
fontSize: "fz_14px",
|
|
@@ -17442,8 +17577,8 @@ function SnackbarNotice(props) {
|
|
|
17442
17577
|
paddingRight: ["pr_var", {
|
|
17443
17578
|
"--paddingRight": `${!reallyHideClose && action.variant !== "text" ? 4 : 8}px`
|
|
17444
17579
|
}]
|
|
17445
|
-
}), children: /* @__PURE__ */
|
|
17446
|
-
!reallyHideClose && /* @__PURE__ */
|
|
17580
|
+
}), children: /* @__PURE__ */ jsx96(Button, { ...action, ...tid.action }) }),
|
|
17581
|
+
!reallyHideClose && /* @__PURE__ */ jsx96("span", { className: "pr1 lineHeight_0", children: /* @__PURE__ */ jsx96(IconButton, { icon: "x", onClick: onClose, ...tid.close }) })
|
|
17447
17582
|
] })
|
|
17448
17583
|
] });
|
|
17449
17584
|
}
|
|
@@ -17472,14 +17607,14 @@ var typeToIcon2 = {
|
|
|
17472
17607
|
};
|
|
17473
17608
|
|
|
17474
17609
|
// src/components/Snackbar/Snackbar.tsx
|
|
17475
|
-
import { trussProps as
|
|
17476
|
-
import { jsx as
|
|
17610
|
+
import { trussProps as trussProps59, maybeCssVar as maybeCssVar34 } from "@homebound/truss/runtime";
|
|
17611
|
+
import { jsx as jsx97 } from "react/jsx-runtime";
|
|
17477
17612
|
function Snackbar({
|
|
17478
17613
|
notices,
|
|
17479
17614
|
offset
|
|
17480
17615
|
}) {
|
|
17481
17616
|
const tid = useTestIds({});
|
|
17482
|
-
return /* @__PURE__ */
|
|
17617
|
+
return /* @__PURE__ */ jsx97("div", { ...tid.snackbarWrapper, ...trussProps59({
|
|
17483
17618
|
position: "fixed",
|
|
17484
17619
|
zIndex: ["z_var", {
|
|
17485
17620
|
"--zIndex": maybeCssVar34(zIndices.snackbar)
|
|
@@ -17492,24 +17627,24 @@ function Snackbar({
|
|
|
17492
17627
|
flexDirection: "fdc",
|
|
17493
17628
|
alignItems: "aifs",
|
|
17494
17629
|
gap: "gap_12px"
|
|
17495
|
-
}), children: notices.map((data) => /* @__PURE__ */
|
|
17630
|
+
}), children: notices.map((data) => /* @__PURE__ */ jsx97(SnackbarNotice, { ...data }, data.id)) });
|
|
17496
17631
|
}
|
|
17497
17632
|
var defaultOffset = {
|
|
17498
17633
|
bottom: 24
|
|
17499
17634
|
};
|
|
17500
17635
|
|
|
17501
17636
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
17502
|
-
import { jsx as
|
|
17637
|
+
import { jsx as jsx98, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
17503
17638
|
var SnackbarContext = createContext8({ setNotices: () => {
|
|
17504
17639
|
}, setOffset: () => {
|
|
17505
17640
|
} });
|
|
17506
17641
|
function SnackbarProvider(props) {
|
|
17507
|
-
const [notices, setNotices] =
|
|
17508
|
-
const [offset, setOffset] =
|
|
17509
|
-
const contextValue =
|
|
17510
|
-
return /* @__PURE__ */
|
|
17642
|
+
const [notices, setNotices] = useState37([]);
|
|
17643
|
+
const [offset, setOffset] = useState37({});
|
|
17644
|
+
const contextValue = useMemo31(() => ({ setNotices, setOffset }), []);
|
|
17645
|
+
return /* @__PURE__ */ jsxs58(SnackbarContext.Provider, { value: contextValue, children: [
|
|
17511
17646
|
props.children,
|
|
17512
|
-
/* @__PURE__ */
|
|
17647
|
+
/* @__PURE__ */ jsx98(Snackbar, { notices, offset })
|
|
17513
17648
|
] });
|
|
17514
17649
|
}
|
|
17515
17650
|
function useSnackbarContext() {
|
|
@@ -17529,8 +17664,8 @@ var SuperDrawerWidth = /* @__PURE__ */ ((SuperDrawerWidth2) => {
|
|
|
17529
17664
|
})(SuperDrawerWidth || {});
|
|
17530
17665
|
|
|
17531
17666
|
// src/components/SuperDrawer/SuperDrawer.tsx
|
|
17532
|
-
import { trussProps as
|
|
17533
|
-
import { Fragment as Fragment23, jsx as
|
|
17667
|
+
import { trussProps as trussProps60, maybeCssVar as maybeCssVar35 } from "@homebound/truss/runtime";
|
|
17668
|
+
import { Fragment as Fragment23, jsx as jsx99, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
17534
17669
|
import { createElement as createElement3 } from "react";
|
|
17535
17670
|
function SuperDrawer() {
|
|
17536
17671
|
const {
|
|
@@ -17568,12 +17703,12 @@ function SuperDrawer() {
|
|
|
17568
17703
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17569
17704
|
[headerRef, content]
|
|
17570
17705
|
);
|
|
17571
|
-
return createPortal4(/* @__PURE__ */
|
|
17706
|
+
return createPortal4(/* @__PURE__ */ jsx99(AnimatePresence, { children: content && /* @__PURE__ */ jsx99(Fragment23, { children: /* @__PURE__ */ createElement3(
|
|
17572
17707
|
motion.div,
|
|
17573
17708
|
{
|
|
17574
17709
|
...testId,
|
|
17575
17710
|
key: "superDrawer",
|
|
17576
|
-
...
|
|
17711
|
+
...trussProps60({
|
|
17577
17712
|
position: "fixed",
|
|
17578
17713
|
display: "df",
|
|
17579
17714
|
justifyContent: "jcfe",
|
|
@@ -17600,10 +17735,10 @@ function SuperDrawer() {
|
|
|
17600
17735
|
},
|
|
17601
17736
|
onClick: closeDrawer
|
|
17602
17737
|
},
|
|
17603
|
-
/* @__PURE__ */
|
|
17738
|
+
/* @__PURE__ */ jsx99(
|
|
17604
17739
|
motion.aside,
|
|
17605
17740
|
{
|
|
17606
|
-
...
|
|
17741
|
+
...trussProps60({
|
|
17607
17742
|
backgroundColor: "bgWhite",
|
|
17608
17743
|
height: "h100",
|
|
17609
17744
|
maxWidth: ["maxw_var", {
|
|
@@ -17633,10 +17768,10 @@ function SuperDrawer() {
|
|
|
17633
17768
|
x: width2
|
|
17634
17769
|
},
|
|
17635
17770
|
onClick: (e) => e.stopPropagation(),
|
|
17636
|
-
children: /* @__PURE__ */
|
|
17637
|
-
/* @__PURE__ */
|
|
17638
|
-
/* @__PURE__ */
|
|
17639
|
-
/* @__PURE__ */
|
|
17771
|
+
children: /* @__PURE__ */ jsxs59(AutoSaveStatusProvider, { children: [
|
|
17772
|
+
/* @__PURE__ */ jsxs59("header", { className: "pt3 pb3 pr3 pl3 bbs_solid bbw_1px bcGray200 df aic jcsb gap3", children: [
|
|
17773
|
+
/* @__PURE__ */ jsx99("div", { ref: headerRef, className: "gray900 fg1" }),
|
|
17774
|
+
/* @__PURE__ */ jsx99(IconButton, { icon: "x", onClick: closeDrawer, ...testId.close })
|
|
17640
17775
|
] }),
|
|
17641
17776
|
content
|
|
17642
17777
|
] })
|
|
@@ -17660,7 +17795,7 @@ function defaultLabel(id) {
|
|
|
17660
17795
|
}
|
|
17661
17796
|
|
|
17662
17797
|
// src/forms/BoundCheckboxField.tsx
|
|
17663
|
-
import { jsx as
|
|
17798
|
+
import { jsx as jsx100 } from "react/jsx-runtime";
|
|
17664
17799
|
function BoundCheckboxField(props) {
|
|
17665
17800
|
const {
|
|
17666
17801
|
field,
|
|
@@ -17672,7 +17807,7 @@ function BoundCheckboxField(props) {
|
|
|
17672
17807
|
...others
|
|
17673
17808
|
} = props;
|
|
17674
17809
|
const testId = useTestIds(props, field.key);
|
|
17675
|
-
return /* @__PURE__ */
|
|
17810
|
+
return /* @__PURE__ */ jsx100(Observer, { children: () => /* @__PURE__ */ jsx100(
|
|
17676
17811
|
Checkbox,
|
|
17677
17812
|
{
|
|
17678
17813
|
label,
|
|
@@ -17699,7 +17834,7 @@ function BoundCheckboxField(props) {
|
|
|
17699
17834
|
|
|
17700
17835
|
// src/forms/BoundCheckboxGroupField.tsx
|
|
17701
17836
|
import { Observer as Observer2 } from "mobx-react";
|
|
17702
|
-
import { jsx as
|
|
17837
|
+
import { jsx as jsx101 } from "react/jsx-runtime";
|
|
17703
17838
|
function BoundCheckboxGroupField(props) {
|
|
17704
17839
|
const {
|
|
17705
17840
|
field,
|
|
@@ -17710,7 +17845,7 @@ function BoundCheckboxGroupField(props) {
|
|
|
17710
17845
|
...others
|
|
17711
17846
|
} = props;
|
|
17712
17847
|
const testId = useTestIds(props, field.key);
|
|
17713
|
-
return /* @__PURE__ */
|
|
17848
|
+
return /* @__PURE__ */ jsx101(Observer2, { children: () => /* @__PURE__ */ jsx101(
|
|
17714
17849
|
CheckboxGroup,
|
|
17715
17850
|
{
|
|
17716
17851
|
label,
|
|
@@ -17737,7 +17872,7 @@ function BoundCheckboxGroupField(props) {
|
|
|
17737
17872
|
|
|
17738
17873
|
// src/forms/BoundChipSelectField.tsx
|
|
17739
17874
|
import { Observer as Observer3 } from "mobx-react";
|
|
17740
|
-
import { jsx as
|
|
17875
|
+
import { jsx as jsx102 } from "react/jsx-runtime";
|
|
17741
17876
|
function BoundChipSelectField(props) {
|
|
17742
17877
|
const {
|
|
17743
17878
|
field,
|
|
@@ -17753,7 +17888,7 @@ function BoundChipSelectField(props) {
|
|
|
17753
17888
|
...others
|
|
17754
17889
|
} = props;
|
|
17755
17890
|
const testId = useTestIds(props, field.key);
|
|
17756
|
-
return /* @__PURE__ */
|
|
17891
|
+
return /* @__PURE__ */ jsx102(Observer3, { children: () => /* @__PURE__ */ jsx102(
|
|
17757
17892
|
ChipSelectField,
|
|
17758
17893
|
{
|
|
17759
17894
|
label,
|
|
@@ -17784,7 +17919,7 @@ function BoundChipSelectField(props) {
|
|
|
17784
17919
|
|
|
17785
17920
|
// src/forms/BoundDateField.tsx
|
|
17786
17921
|
import { Observer as Observer4 } from "mobx-react";
|
|
17787
|
-
import { jsx as
|
|
17922
|
+
import { jsx as jsx103 } from "react/jsx-runtime";
|
|
17788
17923
|
function BoundDateField(props) {
|
|
17789
17924
|
const {
|
|
17790
17925
|
field,
|
|
@@ -17797,7 +17932,7 @@ function BoundDateField(props) {
|
|
|
17797
17932
|
...others
|
|
17798
17933
|
} = props;
|
|
17799
17934
|
const testId = useTestIds(props, field.key);
|
|
17800
|
-
return /* @__PURE__ */
|
|
17935
|
+
return /* @__PURE__ */ jsx103(Observer4, { children: () => /* @__PURE__ */ jsx103(
|
|
17801
17936
|
DateField,
|
|
17802
17937
|
{
|
|
17803
17938
|
label,
|
|
@@ -17829,7 +17964,7 @@ function BoundDateField(props) {
|
|
|
17829
17964
|
|
|
17830
17965
|
// src/forms/BoundDateRangeField.tsx
|
|
17831
17966
|
import { Observer as Observer5 } from "mobx-react";
|
|
17832
|
-
import { jsx as
|
|
17967
|
+
import { jsx as jsx104 } from "react/jsx-runtime";
|
|
17833
17968
|
function BoundDateRangeField(props) {
|
|
17834
17969
|
const {
|
|
17835
17970
|
field,
|
|
@@ -17842,7 +17977,7 @@ function BoundDateRangeField(props) {
|
|
|
17842
17977
|
...others
|
|
17843
17978
|
} = props;
|
|
17844
17979
|
const testId = useTestIds(props, field.key);
|
|
17845
|
-
return /* @__PURE__ */
|
|
17980
|
+
return /* @__PURE__ */ jsx104(Observer5, { children: () => /* @__PURE__ */ jsx104(
|
|
17846
17981
|
DateRangeField,
|
|
17847
17982
|
{
|
|
17848
17983
|
label,
|
|
@@ -17875,125 +18010,9 @@ function BoundDateRangeField(props) {
|
|
|
17875
18010
|
// src/forms/BoundForm.tsx
|
|
17876
18011
|
import { useCallback as useCallback22, useMemo as useMemo32 } from "react";
|
|
17877
18012
|
|
|
17878
|
-
// src/forms/BoundIconCardField.tsx
|
|
17879
|
-
import { Observer as Observer6 } from "mobx-react";
|
|
17880
|
-
import { jsx as jsx104 } from "react/jsx-runtime";
|
|
17881
|
-
function BoundIconCardField(props) {
|
|
17882
|
-
const { icon, field, onChange = (value) => field.set(value), label = defaultLabel(field.key), ...others } = props;
|
|
17883
|
-
const testId = useTestIds(props, field.key);
|
|
17884
|
-
return /* @__PURE__ */ jsx104(Observer6, { children: () => /* @__PURE__ */ jsx104(
|
|
17885
|
-
IconCard,
|
|
17886
|
-
{
|
|
17887
|
-
icon,
|
|
17888
|
-
label,
|
|
17889
|
-
selected: field.value ?? false,
|
|
17890
|
-
onChange: (selected) => {
|
|
17891
|
-
onChange(selected);
|
|
17892
|
-
field.maybeAutoSave();
|
|
17893
|
-
},
|
|
17894
|
-
disabled: field.readOnly,
|
|
17895
|
-
...testId,
|
|
17896
|
-
...others
|
|
17897
|
-
}
|
|
17898
|
-
) });
|
|
17899
|
-
}
|
|
17900
|
-
|
|
17901
|
-
// src/forms/BoundIconCardGroupField.tsx
|
|
17902
|
-
import { Observer as Observer7 } from "mobx-react";
|
|
17903
|
-
|
|
17904
|
-
// src/inputs/IconCardGroup.tsx
|
|
17905
|
-
import { useCallback as useCallback21, useMemo as useMemo31, useState as useState37 } from "react";
|
|
17906
|
-
import { mergeProps as mergeProps21, useField } from "react-aria";
|
|
17907
|
-
import { trussProps as trussProps60 } from "@homebound/truss/runtime";
|
|
17908
|
-
import { jsx as jsx105, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
17909
|
-
function IconCardGroup(props) {
|
|
17910
|
-
const {
|
|
17911
|
-
fieldProps
|
|
17912
|
-
} = usePresentationContext();
|
|
17913
|
-
const {
|
|
17914
|
-
options,
|
|
17915
|
-
label,
|
|
17916
|
-
labelStyle = fieldProps?.labelStyle ?? "above",
|
|
17917
|
-
values,
|
|
17918
|
-
errorMsg,
|
|
17919
|
-
helperText,
|
|
17920
|
-
disabled: isDisabled = false,
|
|
17921
|
-
onChange
|
|
17922
|
-
} = props;
|
|
17923
|
-
const [selected, setSelected] = useState37(values);
|
|
17924
|
-
const exclusiveOptions = useMemo31(() => options.filter((o) => o.exclusive), [options]);
|
|
17925
|
-
const toggleValue = useCallback21((value) => {
|
|
17926
|
-
if (isDisabled) return;
|
|
17927
|
-
const option = options.find((o) => o.value === value);
|
|
17928
|
-
if (!option) return;
|
|
17929
|
-
let newSelected = [];
|
|
17930
|
-
if (selected.includes(value)) {
|
|
17931
|
-
newSelected = selected.filter((v) => v !== value);
|
|
17932
|
-
} else {
|
|
17933
|
-
if (option.exclusive) {
|
|
17934
|
-
newSelected = [value];
|
|
17935
|
-
} else {
|
|
17936
|
-
newSelected = [...selected, value];
|
|
17937
|
-
newSelected = newSelected.filter((v) => !exclusiveOptions.some((o) => o.value === v));
|
|
17938
|
-
}
|
|
17939
|
-
}
|
|
17940
|
-
setSelected(newSelected);
|
|
17941
|
-
onChange(newSelected);
|
|
17942
|
-
}, [exclusiveOptions, isDisabled, onChange, options, selected]);
|
|
17943
|
-
const tid = useTestIds(props);
|
|
17944
|
-
const {
|
|
17945
|
-
labelProps,
|
|
17946
|
-
fieldProps: fieldPropsAria
|
|
17947
|
-
} = useField(props);
|
|
17948
|
-
const groupProps = mergeProps21(tid, {
|
|
17949
|
-
role: "group",
|
|
17950
|
-
"aria-disabled": isDisabled || void 0,
|
|
17951
|
-
...fieldPropsAria
|
|
17952
|
-
});
|
|
17953
|
-
return /* @__PURE__ */ jsxs59("div", { ...groupProps, children: [
|
|
17954
|
-
labelStyle !== "hidden" && /* @__PURE__ */ jsx105("div", { ...trussProps60({
|
|
17955
|
-
...labelStyle === "left" ? {
|
|
17956
|
-
width: "w50"
|
|
17957
|
-
} : {}
|
|
17958
|
-
}), children: /* @__PURE__ */ jsx105(Label, { label, ...labelProps, ...tid.label }) }),
|
|
17959
|
-
/* @__PURE__ */ jsx105("div", { className: "df gap2 flexWrap_wrap", children: options.map((option) => {
|
|
17960
|
-
const {
|
|
17961
|
-
icon,
|
|
17962
|
-
label: label2,
|
|
17963
|
-
disabled
|
|
17964
|
-
} = option;
|
|
17965
|
-
const isSelected = selected.includes(option.value);
|
|
17966
|
-
return /* @__PURE__ */ jsx105(IconCard, { icon, label: label2, selected: isSelected, disabled, onChange: () => toggleValue(option.value), ...tid[option.label] }, option.label);
|
|
17967
|
-
}) }),
|
|
17968
|
-
errorMsg && /* @__PURE__ */ jsx105(ErrorMessage, { errorMsg, ...tid.errorMsg }),
|
|
17969
|
-
helperText && /* @__PURE__ */ jsx105(HelperText, { helperText, ...tid.helperText })
|
|
17970
|
-
] });
|
|
17971
|
-
}
|
|
17972
|
-
|
|
17973
|
-
// src/forms/BoundIconCardGroupField.tsx
|
|
17974
|
-
import { jsx as jsx106 } from "react/jsx-runtime";
|
|
17975
|
-
function BoundIconCardGroupField(props) {
|
|
17976
|
-
const { field, onChange = (value) => field.set(value), label = defaultLabel(field.key), ...others } = props;
|
|
17977
|
-
const testId = useTestIds(props, field.key);
|
|
17978
|
-
return /* @__PURE__ */ jsx106(Observer7, { children: () => /* @__PURE__ */ jsx106(
|
|
17979
|
-
IconCardGroup,
|
|
17980
|
-
{
|
|
17981
|
-
label,
|
|
17982
|
-
values: field.value || [],
|
|
17983
|
-
onChange: (values) => {
|
|
17984
|
-
onChange(values);
|
|
17985
|
-
field.maybeAutoSave();
|
|
17986
|
-
},
|
|
17987
|
-
disabled: field.readOnly,
|
|
17988
|
-
...testId,
|
|
17989
|
-
...others
|
|
17990
|
-
}
|
|
17991
|
-
) });
|
|
17992
|
-
}
|
|
17993
|
-
|
|
17994
18013
|
// src/forms/BoundListField.tsx
|
|
17995
|
-
import { Observer as
|
|
17996
|
-
import { Fragment as Fragment24, jsx as
|
|
18014
|
+
import { Observer as Observer6 } from "mobx-react";
|
|
18015
|
+
import { Fragment as Fragment24, jsx as jsx105, jsxs as jsxs60 } from "react/jsx-runtime";
|
|
17997
18016
|
function ListField({
|
|
17998
18017
|
row,
|
|
17999
18018
|
formState
|
|
@@ -18010,9 +18029,9 @@ function ListField({
|
|
|
18010
18029
|
const tid = useTestIds({}, "listField");
|
|
18011
18030
|
const filteredRows = useComputed(() => filterDeleted ? listFieldObjectState.rows.filter((rowState) => filterDeleted(rowState)) : listFieldObjectState.rows, [filterDeleted]);
|
|
18012
18031
|
const listIsValid = useComputed(() => listFieldObjectState.valid, [filteredRows]);
|
|
18013
|
-
return /* @__PURE__ */
|
|
18014
|
-
filteredRows.map((rowState, index) => /* @__PURE__ */
|
|
18015
|
-
/* @__PURE__ */
|
|
18032
|
+
return /* @__PURE__ */ jsx105(Observer6, { children: () => /* @__PURE__ */ jsxs60("div", { className: "df fdc gap3", ...tid, children: [
|
|
18033
|
+
filteredRows.map((rowState, index) => /* @__PURE__ */ jsx105(ListFieldRowInputs, { rowState, rowNumber: index + 1, listFieldConfig, formState, listFieldKey }, `listFieldRowInputs-${listFieldKey}-${index}`)),
|
|
18034
|
+
/* @__PURE__ */ jsx105("div", { children: /* @__PURE__ */ jsx105(Button, { icon: "plus", label: `Add ${listFieldConfig.name}`, onClick: () => onNew(listFieldObjectState), variant: "secondary", disabled: !listIsValid }) })
|
|
18016
18035
|
] }) });
|
|
18017
18036
|
}
|
|
18018
18037
|
function ListFieldRowInputs({
|
|
@@ -18033,14 +18052,14 @@ function ListFieldRowInputs({
|
|
|
18033
18052
|
" ",
|
|
18034
18053
|
rowNumber
|
|
18035
18054
|
] }),
|
|
18036
|
-
onDelete && /* @__PURE__ */
|
|
18055
|
+
onDelete && /* @__PURE__ */ jsx105(ButtonMenu, { trigger: {
|
|
18037
18056
|
icon: "verticalDots"
|
|
18038
18057
|
}, items: [{
|
|
18039
18058
|
label: "Delete",
|
|
18040
18059
|
onClick: () => onDelete(formState[listFieldKey], rowState)
|
|
18041
18060
|
}], ...tid.menu })
|
|
18042
18061
|
] }),
|
|
18043
|
-
listFieldConfig.rows.map((row, rowIndex) => /* @__PURE__ */
|
|
18062
|
+
listFieldConfig.rows.map((row, rowIndex) => /* @__PURE__ */ jsx105(FormRow, { row, formState: rowState }, `listField-${listFieldKey}-row-${rowIndex}`))
|
|
18044
18063
|
] });
|
|
18045
18064
|
}
|
|
18046
18065
|
function isListFieldKey(key) {
|
|
@@ -18057,8 +18076,8 @@ function isListFieldRow(row) {
|
|
|
18057
18076
|
}
|
|
18058
18077
|
|
|
18059
18078
|
// src/forms/BoundMultiLineSelectField.tsx
|
|
18060
|
-
import { Observer as
|
|
18061
|
-
import { jsx as
|
|
18079
|
+
import { Observer as Observer7 } from "mobx-react";
|
|
18080
|
+
import { jsx as jsx106 } from "react/jsx-runtime";
|
|
18062
18081
|
function BoundMultiLineSelectField(props) {
|
|
18063
18082
|
const {
|
|
18064
18083
|
field,
|
|
@@ -18075,7 +18094,7 @@ function BoundMultiLineSelectField(props) {
|
|
|
18075
18094
|
...others
|
|
18076
18095
|
} = props;
|
|
18077
18096
|
const testId = useTestIds(props, field.key);
|
|
18078
|
-
return /* @__PURE__ */
|
|
18097
|
+
return /* @__PURE__ */ jsx106(Observer7, { children: () => /* @__PURE__ */ jsx106(
|
|
18079
18098
|
MultiLineSelectField,
|
|
18080
18099
|
{
|
|
18081
18100
|
label,
|
|
@@ -18105,8 +18124,8 @@ function BoundMultiLineSelectField(props) {
|
|
|
18105
18124
|
}
|
|
18106
18125
|
|
|
18107
18126
|
// src/forms/BoundMultiSelectField.tsx
|
|
18108
|
-
import { Observer as
|
|
18109
|
-
import { jsx as
|
|
18127
|
+
import { Observer as Observer8 } from "mobx-react";
|
|
18128
|
+
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
18110
18129
|
function BoundMultiSelectField(props) {
|
|
18111
18130
|
const {
|
|
18112
18131
|
field,
|
|
@@ -18123,7 +18142,7 @@ function BoundMultiSelectField(props) {
|
|
|
18123
18142
|
...others
|
|
18124
18143
|
} = props;
|
|
18125
18144
|
const testId = useTestIds(props, field.key);
|
|
18126
|
-
return /* @__PURE__ */
|
|
18145
|
+
return /* @__PURE__ */ jsx107(Observer8, { children: () => /* @__PURE__ */ jsx107(
|
|
18127
18146
|
MultiSelectField,
|
|
18128
18147
|
{
|
|
18129
18148
|
label,
|
|
@@ -18153,8 +18172,8 @@ function BoundMultiSelectField(props) {
|
|
|
18153
18172
|
}
|
|
18154
18173
|
|
|
18155
18174
|
// src/forms/BoundNumberField.tsx
|
|
18156
|
-
import { Observer as
|
|
18157
|
-
import { jsx as
|
|
18175
|
+
import { Observer as Observer9 } from "mobx-react";
|
|
18176
|
+
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
18158
18177
|
function BoundNumberField(props) {
|
|
18159
18178
|
const {
|
|
18160
18179
|
field,
|
|
@@ -18168,7 +18187,7 @@ function BoundNumberField(props) {
|
|
|
18168
18187
|
...others
|
|
18169
18188
|
} = props;
|
|
18170
18189
|
const testId = useTestIds(props, label || field.key);
|
|
18171
|
-
return /* @__PURE__ */
|
|
18190
|
+
return /* @__PURE__ */ jsx108(Observer9, { children: () => /* @__PURE__ */ jsx108(
|
|
18172
18191
|
NumberField,
|
|
18173
18192
|
{
|
|
18174
18193
|
label,
|
|
@@ -18197,8 +18216,8 @@ function BoundNumberField(props) {
|
|
|
18197
18216
|
}
|
|
18198
18217
|
|
|
18199
18218
|
// src/forms/BoundRadioGroupField.tsx
|
|
18200
|
-
import { Observer as
|
|
18201
|
-
import { jsx as
|
|
18219
|
+
import { Observer as Observer10 } from "mobx-react";
|
|
18220
|
+
import { jsx as jsx109 } from "react/jsx-runtime";
|
|
18202
18221
|
function BoundRadioGroupField(props) {
|
|
18203
18222
|
const {
|
|
18204
18223
|
field,
|
|
@@ -18209,7 +18228,7 @@ function BoundRadioGroupField(props) {
|
|
|
18209
18228
|
...others
|
|
18210
18229
|
} = props;
|
|
18211
18230
|
const testId = useTestIds(props, field.key);
|
|
18212
|
-
return /* @__PURE__ */
|
|
18231
|
+
return /* @__PURE__ */ jsx109(Observer10, { children: () => /* @__PURE__ */ jsx109(
|
|
18213
18232
|
RadioGroupField,
|
|
18214
18233
|
{
|
|
18215
18234
|
label,
|
|
@@ -18235,8 +18254,8 @@ function BoundRadioGroupField(props) {
|
|
|
18235
18254
|
}
|
|
18236
18255
|
|
|
18237
18256
|
// src/forms/BoundRichTextField.tsx
|
|
18238
|
-
import { Observer as
|
|
18239
|
-
import { jsx as
|
|
18257
|
+
import { Observer as Observer11 } from "mobx-react";
|
|
18258
|
+
import { jsx as jsx110 } from "react/jsx-runtime";
|
|
18240
18259
|
function BoundRichTextField(props) {
|
|
18241
18260
|
const {
|
|
18242
18261
|
field,
|
|
@@ -18248,7 +18267,7 @@ function BoundRichTextField(props) {
|
|
|
18248
18267
|
...others
|
|
18249
18268
|
} = props;
|
|
18250
18269
|
const testId = useTestIds(props, field.key);
|
|
18251
|
-
return /* @__PURE__ */
|
|
18270
|
+
return /* @__PURE__ */ jsx110(Observer11, { children: () => /* @__PURE__ */ jsx110(
|
|
18252
18271
|
RichTextField,
|
|
18253
18272
|
{
|
|
18254
18273
|
label,
|
|
@@ -18269,6 +18288,51 @@ function BoundRichTextField(props) {
|
|
|
18269
18288
|
) });
|
|
18270
18289
|
}
|
|
18271
18290
|
|
|
18291
|
+
// src/forms/BoundSelectCardField.tsx
|
|
18292
|
+
import { Observer as Observer12 } from "mobx-react";
|
|
18293
|
+
import { jsx as jsx111 } from "react/jsx-runtime";
|
|
18294
|
+
function BoundSelectCardField(props) {
|
|
18295
|
+
const { icon, field, onChange = (value) => field.set(value), label = defaultLabel(field.key), ...others } = props;
|
|
18296
|
+
const testId = useTestIds(props, field.key);
|
|
18297
|
+
return /* @__PURE__ */ jsx111(Observer12, { children: () => /* @__PURE__ */ jsx111(
|
|
18298
|
+
SelectCard,
|
|
18299
|
+
{
|
|
18300
|
+
icon,
|
|
18301
|
+
label,
|
|
18302
|
+
selected: field.value ?? false,
|
|
18303
|
+
onChange: (selected) => {
|
|
18304
|
+
onChange(selected);
|
|
18305
|
+
field.maybeAutoSave();
|
|
18306
|
+
},
|
|
18307
|
+
disabled: field.readOnly,
|
|
18308
|
+
...testId,
|
|
18309
|
+
...others
|
|
18310
|
+
}
|
|
18311
|
+
) });
|
|
18312
|
+
}
|
|
18313
|
+
|
|
18314
|
+
// src/forms/BoundSelectCardGroupField.tsx
|
|
18315
|
+
import { Observer as Observer13 } from "mobx-react";
|
|
18316
|
+
import { jsx as jsx112 } from "react/jsx-runtime";
|
|
18317
|
+
function BoundSelectCardGroupField(props) {
|
|
18318
|
+
const { field, onChange = (value) => field.set(value), label = defaultLabel(field.key), ...others } = props;
|
|
18319
|
+
const testId = useTestIds(props, field.key);
|
|
18320
|
+
return /* @__PURE__ */ jsx112(Observer13, { children: () => /* @__PURE__ */ jsx112(
|
|
18321
|
+
SelectCardGroup,
|
|
18322
|
+
{
|
|
18323
|
+
label,
|
|
18324
|
+
values: field.value || [],
|
|
18325
|
+
onChange: (values) => {
|
|
18326
|
+
onChange(values);
|
|
18327
|
+
field.maybeAutoSave();
|
|
18328
|
+
},
|
|
18329
|
+
disabled: field.readOnly,
|
|
18330
|
+
...testId,
|
|
18331
|
+
...others
|
|
18332
|
+
}
|
|
18333
|
+
) });
|
|
18334
|
+
}
|
|
18335
|
+
|
|
18272
18336
|
// src/forms/BoundSelectField.tsx
|
|
18273
18337
|
import { Observer as Observer14 } from "mobx-react";
|
|
18274
18338
|
import { jsx as jsx113 } from "react/jsx-runtime";
|
|
@@ -18714,15 +18778,15 @@ function boundCheckboxGroupField(props) {
|
|
|
18714
18778
|
minWidth: "200px"
|
|
18715
18779
|
});
|
|
18716
18780
|
}
|
|
18717
|
-
function
|
|
18781
|
+
function boundSelectCardField(props) {
|
|
18718
18782
|
return (field) => ({
|
|
18719
|
-
component: /* @__PURE__ */ jsx120(
|
|
18783
|
+
component: /* @__PURE__ */ jsx120(BoundSelectCardField, { field, ...props }),
|
|
18720
18784
|
minWidth: "150px"
|
|
18721
18785
|
});
|
|
18722
18786
|
}
|
|
18723
|
-
function
|
|
18787
|
+
function boundSelectCardGroupField(props) {
|
|
18724
18788
|
return (field) => ({
|
|
18725
|
-
component: /* @__PURE__ */ jsx120(
|
|
18789
|
+
component: /* @__PURE__ */ jsx120(BoundSelectCardGroupField, { field, ...props }),
|
|
18726
18790
|
minWidth: "100%"
|
|
18727
18791
|
});
|
|
18728
18792
|
}
|
|
@@ -19300,7 +19364,7 @@ var activeStyles = {
|
|
|
19300
19364
|
"--boxShadow": maybeCssVar39(`inset 3px 0px 0 0px ${"rgba(37, 99, 235, 1)" /* Blue600 */}`)
|
|
19301
19365
|
}]
|
|
19302
19366
|
};
|
|
19303
|
-
var
|
|
19367
|
+
var hoverStyles3 = {
|
|
19304
19368
|
backgroundColor: "bgBlue50",
|
|
19305
19369
|
fontWeight: "fw6",
|
|
19306
19370
|
fontSize: "fz_14px",
|
|
@@ -19368,7 +19432,7 @@ function SectionNavLink(props) {
|
|
|
19368
19432
|
},
|
|
19369
19433
|
...isFocusVisible ? defaultFocusRingStyles : {},
|
|
19370
19434
|
...active ? activeStyles : {},
|
|
19371
|
-
...isPressed ? activeStyles : isHovered ?
|
|
19435
|
+
...isPressed ? activeStyles : isHovered ? hoverStyles3 : {}
|
|
19372
19436
|
}), ...tids.sectionNavLink, children: section.title });
|
|
19373
19437
|
}
|
|
19374
19438
|
function useActiveSection(sectionsWithRefs) {
|
|
@@ -21242,7 +21306,7 @@ function GroupButton(props) {
|
|
|
21242
21306
|
},
|
|
21243
21307
|
...isFocusVisible ? defaultFocusRingStyles2 : {},
|
|
21244
21308
|
...active ? activeStyles2 : {},
|
|
21245
|
-
...isPressed ? pressedStyles : isHovered ?
|
|
21309
|
+
...isPressed ? pressedStyles : isHovered ? hoverStyles4 : {},
|
|
21246
21310
|
...icon ? iconStyles2[size] : {}
|
|
21247
21311
|
}), ...tid[defaultTestId(typeof text === "string" && text || icon || "button")], children: [
|
|
21248
21312
|
icon && /* @__PURE__ */ jsx160(Icon, { xss: {
|
|
@@ -21260,7 +21324,7 @@ var pressedStyles = {
|
|
|
21260
21324
|
var activeStyles2 = {
|
|
21261
21325
|
backgroundColor: "bgGray300"
|
|
21262
21326
|
};
|
|
21263
|
-
var
|
|
21327
|
+
var hoverStyles4 = {
|
|
21264
21328
|
backgroundColor: "bgGray100"
|
|
21265
21329
|
};
|
|
21266
21330
|
var defaultFocusRingStyles2 = {
|
|
@@ -22350,7 +22414,7 @@ function AppNavGroupTrigger(props) {
|
|
|
22350
22414
|
const {
|
|
22351
22415
|
baseStyles: baseStyles5,
|
|
22352
22416
|
focusRingStyles: focusRingStyles2,
|
|
22353
|
-
hoverStyles:
|
|
22417
|
+
hoverStyles: hoverStyles5,
|
|
22354
22418
|
pressedStyles: pressedStyles2
|
|
22355
22419
|
} = useMemo49(() => getNavLinkStyles("side"), []);
|
|
22356
22420
|
return /* @__PURE__ */ jsxs87("button", { type: "button", ...mergeProps27(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
@@ -22360,7 +22424,7 @@ function AppNavGroupTrigger(props) {
|
|
|
22360
22424
|
...mergeProps_14(navLink, void 0, {
|
|
22361
22425
|
...baseStyles5,
|
|
22362
22426
|
...isFocusVisible && focusRingStyles2,
|
|
22363
|
-
...isHovered &&
|
|
22427
|
+
...isHovered && hoverStyles5,
|
|
22364
22428
|
...isPressed && pressedStyles2
|
|
22365
22429
|
})
|
|
22366
22430
|
}), children: [
|
|
@@ -23017,7 +23081,7 @@ function TabImpl(props) {
|
|
|
23017
23081
|
baseStyles: baseStyles5,
|
|
23018
23082
|
activeStyles: activeStyles3,
|
|
23019
23083
|
focusRingStyles: focusRingStyles2,
|
|
23020
|
-
hoverStyles:
|
|
23084
|
+
hoverStyles: hoverStyles5,
|
|
23021
23085
|
disabledStyles: disabledStyles4,
|
|
23022
23086
|
activeHoverStyles
|
|
23023
23087
|
} = useMemo51(() => getTabStyles(), []);
|
|
@@ -23034,7 +23098,7 @@ function TabImpl(props) {
|
|
|
23034
23098
|
...baseStyles5,
|
|
23035
23099
|
...active && activeStyles3,
|
|
23036
23100
|
...isDisabled && disabledStyles4,
|
|
23037
|
-
...isHovered &&
|
|
23101
|
+
...isHovered && hoverStyles5,
|
|
23038
23102
|
...isHovered && active && activeHoverStyles,
|
|
23039
23103
|
...isFocusVisible && active && focusRingStyles2
|
|
23040
23104
|
})
|
|
@@ -24528,14 +24592,14 @@ export {
|
|
|
24528
24592
|
BoundDateField,
|
|
24529
24593
|
BoundDateRangeField,
|
|
24530
24594
|
BoundForm,
|
|
24531
|
-
BoundIconCardField,
|
|
24532
|
-
BoundIconCardGroupField,
|
|
24533
24595
|
BoundMultiLineSelectField,
|
|
24534
24596
|
BoundMultiSelectField,
|
|
24535
24597
|
BoundNumberField,
|
|
24536
24598
|
BoundRadioGroupField,
|
|
24537
24599
|
BoundRichTextField,
|
|
24538
24600
|
BoundSelectAndTextField,
|
|
24601
|
+
BoundSelectCardField,
|
|
24602
|
+
BoundSelectCardGroupField,
|
|
24539
24603
|
BoundSelectField,
|
|
24540
24604
|
BoundSwitchField,
|
|
24541
24605
|
BoundTextAreaField,
|
|
@@ -24595,7 +24659,6 @@ export {
|
|
|
24595
24659
|
HomeboundLogo,
|
|
24596
24660
|
Icon,
|
|
24597
24661
|
IconButton,
|
|
24598
|
-
IconCard,
|
|
24599
24662
|
Icons,
|
|
24600
24663
|
KEPT_GROUP,
|
|
24601
24664
|
Loader,
|
|
@@ -24637,6 +24700,8 @@ export {
|
|
|
24637
24700
|
ScrollableContent,
|
|
24638
24701
|
ScrollableFooter,
|
|
24639
24702
|
ScrollableParent,
|
|
24703
|
+
SelectCard,
|
|
24704
|
+
SelectCardGroup,
|
|
24640
24705
|
SelectField,
|
|
24641
24706
|
SelectToggle,
|
|
24642
24707
|
SideNav,
|
|
@@ -24685,13 +24750,13 @@ export {
|
|
|
24685
24750
|
boundCheckboxGroupField,
|
|
24686
24751
|
boundDateField,
|
|
24687
24752
|
boundDateRangeField,
|
|
24688
|
-
boundIconCardField,
|
|
24689
|
-
boundIconCardGroupField,
|
|
24690
24753
|
boundMultiSelectField,
|
|
24691
24754
|
boundMultilineSelectField,
|
|
24692
24755
|
boundNumberField,
|
|
24693
24756
|
boundRadioGroupField,
|
|
24694
24757
|
boundRichTextField,
|
|
24758
|
+
boundSelectCardField,
|
|
24759
|
+
boundSelectCardGroupField,
|
|
24695
24760
|
boundSelectField,
|
|
24696
24761
|
boundSwitchField,
|
|
24697
24762
|
boundTextAreaField,
|
|
@@ -24731,6 +24796,7 @@ export {
|
|
|
24731
24796
|
emptyCell,
|
|
24732
24797
|
ensureClientSideSortValueIsSortable,
|
|
24733
24798
|
environmentBannerSizePx,
|
|
24799
|
+
fillRowStyles,
|
|
24734
24800
|
filterTestIdPrefix,
|
|
24735
24801
|
formatDate,
|
|
24736
24802
|
formatDateRange,
|
|
@@ -24747,7 +24813,6 @@ export {
|
|
|
24747
24813
|
getTableStyles,
|
|
24748
24814
|
headerRenderFn,
|
|
24749
24815
|
hoverStyles,
|
|
24750
|
-
iconCardStylesHover,
|
|
24751
24816
|
increment,
|
|
24752
24817
|
insertAtIndex,
|
|
24753
24818
|
isContentColumn,
|
|
@@ -24789,7 +24854,6 @@ export {
|
|
|
24789
24854
|
rowClickRenderFn,
|
|
24790
24855
|
rowLinkRenderFn,
|
|
24791
24856
|
selectColumn,
|
|
24792
|
-
selectedStyles,
|
|
24793
24857
|
setDefaultStyle,
|
|
24794
24858
|
setEnvironmentFavicon,
|
|
24795
24859
|
setGridTableDefaults,
|