@homebound/beam 3.34.1 → 3.36.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 +791 -715
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +91 -72
- package/dist/index.d.ts +91 -72
- package/dist/index.js +645 -569
- package/dist/index.js.map +1 -1
- package/dist/truss.css +10 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4415,7 +4415,11 @@ var Icon = React3.memo((props) => {
|
|
|
4415
4415
|
});
|
|
4416
4416
|
var Icons = {
|
|
4417
4417
|
// Actions
|
|
4418
|
-
|
|
4418
|
+
columns: /* @__PURE__ */ jsx3(Fragment2, { children: /* @__PURE__ */ jsx3("path", { d: "M19.893 3.001H4C2.897 3.001 2 3.898 2 5.001V19.001C2 20.104 2.897 21.001 4 21.001H19.893C20.996 21.001 21.893 20.104 21.893 19.001V8V7V6V5.001V5C21.892 3.897 20.994 3.001 19.893 3.001ZM8 19.001H4V8H8V19.001ZM14 19.001H10V8H14V19.001ZM16 19.001V8H19.893L19.894 19.001H16Z" }) }),
|
|
4419
|
+
columnsBadged: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
4420
|
+
/* @__PURE__ */ jsx3("path", { d: "M15.6006 3.00098C15.2173 3.75094 15 4.59994 15 5.5C15 6.67655 15.3708 7.76585 16 8.66016V19.001H19.8936L19.8926 10.9658C20.0921 10.9877 20.2947 11 20.5 11C20.9812 11 21.4477 10.9374 21.8926 10.8213V19.001C21.8926 20.104 20.9956 21.001 19.8926 21.001H4C2.897 21.001 2 20.104 2 19.001V5.00098C2 3.89798 2.897 3.00098 4 3.00098H15.6006ZM4 8V19.001H8V8H4ZM10 8V19.001H14V8H10Z" }),
|
|
4421
|
+
/* @__PURE__ */ jsx3("circle", { cx: "20.5", cy: "5.5", r: "3.5", fill: `var(${"--b-primary" /* Primary */})` })
|
|
4422
|
+
] }),
|
|
4419
4423
|
expand: /* @__PURE__ */ jsx3("path", { d: "M5 12H3V21H12V19H5V12ZM12 5H19V12H21V3H12V5Z" }),
|
|
4420
4424
|
collapse: /* @__PURE__ */ jsx3("path", { d: "M16.121 6.465L14 4.344V10H19.656L17.535 7.879L20.707 4.707L19.293 3.293L16.121 6.465ZM4.70703 3.293L3.29303 4.707L6.46503 7.879L4.34403 10H10V4.344L7.87903 6.465L4.70703 3.293ZM19.656 14H14V19.656L16.121 17.535L19.293 20.707L20.707 19.293L17.535 16.121L19.656 14ZM6.46503 16.121L3.29303 19.293L4.70703 20.707L7.87903 17.535L10 19.656V14H4.34403L6.46503 16.121Z" }),
|
|
4421
4425
|
drag: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
@@ -4461,6 +4465,10 @@ var Icons = {
|
|
|
4461
4465
|
checkbox: /* @__PURE__ */ jsx3("path", { d: "M7 5C5.897 5 5 5.897 5 7V17C5 18.103 5.897 19 7 19H17C18.103 19 19 18.103 19 17V7C19 5.897 18.103 5 17 5H7ZM7 17V7H17L17.002 17H7Z" }),
|
|
4462
4466
|
check: /* @__PURE__ */ jsx3("path", { d: "M9.99997 15.586L6.70697 12.293L5.29297 13.707L9.99997 18.414L19.707 8.70697L18.293 7.29297L9.99997 15.586Z" }),
|
|
4463
4467
|
search: /* @__PURE__ */ jsx3("path", { d: "M10 18C11.846 18 13.543 17.365 14.897 16.312L19.293 20.708L20.707 19.294L16.311 14.898C17.365 13.543 18 11.846 18 10C18 5.589 14.411 2 10 2C5.589 2 2 5.589 2 10C2 14.411 5.589 18 10 18ZM10 4C13.309 4 16 6.691 16 10C16 13.309 13.309 16 10 16C6.691 16 4 13.309 4 10C4 6.691 6.691 4 10 4Z" }),
|
|
4468
|
+
searchBadged: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
4469
|
+
/* @__PURE__ */ jsx3("path", { d: "M10 2C11.0109 2 11.9779 2.19048 12.8691 2.53418C12.5119 3.09081 12.2502 3.71507 12.1123 4.38477C11.4549 4.13674 10.7432 4 10 4C6.691 4 4 6.691 4 10C4 13.309 6.691 16 10 16C13.0458 16 15.5653 13.7197 15.9473 10.7764C16.4398 10.9211 16.9606 11 17.5 11C17.6477 11 17.7938 10.9919 17.9385 10.9805C17.7569 12.4453 17.1749 13.7872 16.3105 14.8984L20.707 19.2939L19.293 20.708L14.8975 16.3115C13.5435 17.3645 11.846 18 10 18C5.589 18 2 14.411 2 10C2 5.589 5.589 2 10 2Z" }),
|
|
4470
|
+
/* @__PURE__ */ jsx3("circle", { cx: "17.5", cy: "5.5", r: "3.5", fill: `var(${"--b-primary" /* Primary */})` })
|
|
4471
|
+
] }),
|
|
4464
4472
|
comment: /* @__PURE__ */ jsx3("path", { d: "M12 2C6.486 2 2 5.589 2 10C2 12.908 3.898 15.516 7 16.934V22L12.34 17.995C17.697 17.852 22 14.32 22 10C22 5.589 17.514 2 12 2ZM12 16H11.667L9 18V15.583L8.359 15.336C5.67 14.301 4 12.256 4 10C4 6.691 7.589 4 12 4C16.411 4 20 6.691 20 10C20 13.309 16.411 16 12 16Z" }),
|
|
4465
4473
|
commentFilled: /* @__PURE__ */ jsx3("path", { d: "M10 0C4.486 0 0 3.589 0 8C0 10.908 1.898 13.516 5 14.934V20L10.34 15.995C15.697 15.852 20 12.32 20 8C20 3.589 15.514 0 10 0Z" }),
|
|
4466
4474
|
plus: /* @__PURE__ */ jsx3("path", { d: "M19 11H13V5H11V11H5V13H11V19H13V13H19V11Z" }),
|
|
@@ -4512,6 +4520,10 @@ var Icons = {
|
|
|
4512
4520
|
/* @__PURE__ */ jsx3("path", { d: "M20 2H8V4H20V16H22V4C22 2.897 21.103 2 20 2Z" })
|
|
4513
4521
|
] }),
|
|
4514
4522
|
filter: /* @__PURE__ */ jsx3("path", { d: "M7.625 4C7.14175 4 6.75 4.39797 6.75 4.88889V5.92952C5.73046 6.29559 5 7.28336 5 8.44444C5 9.60553 5.73046 10.5933 6.75 10.9594V19.1111C6.75 19.602 7.14175 20 7.625 20C8.10825 20 8.5 19.602 8.5 19.1111V10.9594C9.51954 10.5933 10.25 9.60553 10.25 8.44444C10.25 7.28336 9.51954 6.29559 8.5 5.92952V4.88889C8.5 4.39797 8.10825 4 7.625 4ZM8.5 8.44444C8.5 8.93537 8.10825 9.33333 7.625 9.33333C7.14175 9.33333 6.75 8.93537 6.75 8.44444C6.75 7.95353 7.14175 7.55556 7.625 7.55556C8.10825 7.55556 8.5 7.95353 8.5 8.44444ZM16.375 4C15.8917 4 15.5 4.39797 15.5 4.88889V12.1517C14.4805 12.5178 13.75 13.5056 13.75 14.6667C13.75 15.8277 14.4805 16.8156 15.5 17.1816V19.1111C15.5 19.602 15.8917 20 16.375 20C16.8583 20 17.25 19.602 17.25 19.1111V17.1816C18.2695 16.8156 19 15.8277 19 14.6667C19 13.5056 18.2695 12.5178 17.25 12.1517V4.88889C17.25 4.39797 16.8583 4 16.375 4ZM17.25 14.6667C17.25 15.1576 16.8583 15.5556 16.375 15.5556C15.8917 15.5556 15.5 15.1576 15.5 14.6667C15.5 14.1757 15.8917 13.7778 16.375 13.7778C16.8583 13.7778 17.25 14.1757 17.25 14.6667Z" }),
|
|
4523
|
+
filterBadged: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
4524
|
+
/* @__PURE__ */ jsx3("path", { d: "M7.625 4C8.10817 4 8.49988 4.39786 8.5 4.88867V5.92969C9.51948 6.29576 10.25 7.28332 10.25 8.44434C10.25 9.60537 9.51948 10.5929 8.5 10.959V19.1113C8.49988 19.6022 8.10817 20 7.625 20C7.14183 20 6.75012 19.6022 6.75 19.1113V10.959C5.73052 10.5929 5 9.60537 5 8.44434C5.00005 7.28332 5.73052 6.29576 6.75 5.92969V4.88867C6.75012 4.39786 7.14183 4 7.625 4ZM15.5 8.1084C16.0277 8.45265 16.6177 8.70846 17.25 8.85547V12.1514C18.2696 12.5174 19 13.5059 19 14.667C18.9999 15.8279 18.2695 16.8156 17.25 17.1816V19.1113C17.2499 19.6022 16.8582 20 16.375 20C15.8918 20 15.5001 19.6022 15.5 19.1113V17.1816C14.4805 16.8156 13.7501 15.8279 13.75 14.667C13.75 13.5059 14.4804 12.5174 15.5 12.1514V8.1084ZM16.375 13.7773C15.8917 13.7773 15.5 14.1761 15.5 14.667C15.5002 15.1578 15.8918 15.5557 16.375 15.5557C16.8582 15.5557 17.2498 15.1578 17.25 14.667C17.25 14.1761 16.8583 13.7773 16.375 13.7773ZM7.625 7.55566C7.14179 7.55566 6.75006 7.95347 6.75 8.44434C6.75 8.93526 7.14176 9.33301 7.625 9.33301C8.10824 9.33301 8.5 8.93526 8.5 8.44434C8.49994 7.95347 8.10821 7.55566 7.625 7.55566Z" }),
|
|
4525
|
+
/* @__PURE__ */ jsx3("circle", { cx: "18.5", cy: "3.5", r: "3.5", fill: `var(${"--b-primary" /* Primary */})` })
|
|
4526
|
+
] }),
|
|
4515
4527
|
impersonate: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
4516
4528
|
/* @__PURE__ */ jsx3("path", { d: "M17.882 7L18.5 7L18.5 4L22.5 8L18.5 12L18.5 9L17.882 9L15.5 9L15.5 7L17.882 7Z" }),
|
|
4517
4529
|
/* @__PURE__ */ jsx3("path", { d: "M16.618 14.5L16 14.5L16 11.5L12 15.5L16 19.5L16 16.5L16.618 16.5L19 16.5L19 14.5L16.618 14.5Z" }),
|
|
@@ -4882,7 +4894,21 @@ var Icons = {
|
|
|
4882
4894
|
/* @__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
4895
|
/* @__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
4896
|
] }),
|
|
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" }) })
|
|
4897
|
+
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" }) }),
|
|
4898
|
+
// Option Type / slot icons
|
|
4899
|
+
single: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
4900
|
+
/* @__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" }),
|
|
4901
|
+
/* @__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" })
|
|
4902
|
+
] }),
|
|
4903
|
+
linked: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
4904
|
+
/* @__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" }),
|
|
4905
|
+
/* @__PURE__ */ jsx3("path", { d: "M7 11H17V13H7V11Z" })
|
|
4906
|
+
] }),
|
|
4907
|
+
package: /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
4908
|
+
/* @__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" }),
|
|
4909
|
+
/* @__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" }),
|
|
4910
|
+
/* @__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" })
|
|
4911
|
+
] })
|
|
4886
4912
|
};
|
|
4887
4913
|
|
|
4888
4914
|
// src/components/PresentationContext.tsx
|
|
@@ -5042,7 +5068,7 @@ function Chips(props) {
|
|
|
5042
5068
|
// src/components/Table/GridTable.tsx
|
|
5043
5069
|
import memoizeOne from "memoize-one";
|
|
5044
5070
|
import { runInAction } from "mobx";
|
|
5045
|
-
import React13, { useEffect as useEffect20, useMemo as
|
|
5071
|
+
import React13, { useEffect as useEffect20, useMemo as useMemo27, useRef as useRef41, useState as useState33 } from "react";
|
|
5046
5072
|
import { Virtuoso as Virtuoso2, VirtuosoGrid } from "react-virtuoso";
|
|
5047
5073
|
|
|
5048
5074
|
// src/components/Layout/ScrollableContent.tsx
|
|
@@ -5233,7 +5259,7 @@ var sizeToPixels = {
|
|
|
5233
5259
|
// src/components/Table/GridTableApi.ts
|
|
5234
5260
|
import { comparer } from "mobx";
|
|
5235
5261
|
import { computedFn } from "mobx-utils";
|
|
5236
|
-
import { useMemo as
|
|
5262
|
+
import { useMemo as useMemo24 } from "react";
|
|
5237
5263
|
|
|
5238
5264
|
// src/components/Table/types.ts
|
|
5239
5265
|
var nonKindGridColumnKeys = [
|
|
@@ -9932,7 +9958,7 @@ function Button(props) {
|
|
|
9932
9958
|
} = useHover5(ariaProps);
|
|
9933
9959
|
const {
|
|
9934
9960
|
baseStyles: baseStyles5,
|
|
9935
|
-
hoverStyles:
|
|
9961
|
+
hoverStyles: hoverStyles5,
|
|
9936
9962
|
disabledStyles: disabledStyles4,
|
|
9937
9963
|
pressedStyles: pressedStyles2,
|
|
9938
9964
|
focusStyles: focusStyles2
|
|
@@ -9961,7 +9987,7 @@ function Button(props) {
|
|
|
9961
9987
|
textTransform: "tt_inherit"
|
|
9962
9988
|
},
|
|
9963
9989
|
...baseStyles5,
|
|
9964
|
-
...isHovered && !isPressed && !active ?
|
|
9990
|
+
...isHovered && !isPressed && !active ? hoverStyles5 : {},
|
|
9965
9991
|
...isPressed || active ? pressedStyles2 : {},
|
|
9966
9992
|
...isDisabled || asyncInProgress ? {
|
|
9967
9993
|
...disabledStyles4,
|
|
@@ -10364,7 +10390,7 @@ function NavLink(props) {
|
|
|
10364
10390
|
baseStyles: baseStyles5,
|
|
10365
10391
|
activeStyles: activeStyles3,
|
|
10366
10392
|
focusRingStyles: focusRingStyles2,
|
|
10367
|
-
hoverStyles:
|
|
10393
|
+
hoverStyles: hoverStyles5,
|
|
10368
10394
|
disabledStyles: disabledStyles4,
|
|
10369
10395
|
pressedStyles: pressedStyles2
|
|
10370
10396
|
} = useMemo13(() => getNavLinkStyles(variant), [variant]);
|
|
@@ -10384,7 +10410,7 @@ function NavLink(props) {
|
|
|
10384
10410
|
...active && activeStyles3,
|
|
10385
10411
|
...isDisabled && disabledStyles4,
|
|
10386
10412
|
...isFocusVisible && focusRingStyles2,
|
|
10387
|
-
...isHovered &&
|
|
10413
|
+
...isHovered && hoverStyles5,
|
|
10388
10414
|
...isPressed && pressedStyles2
|
|
10389
10415
|
})
|
|
10390
10416
|
};
|
|
@@ -13525,102 +13551,10 @@ function DateRangeField(props) {
|
|
|
13525
13551
|
return /* @__PURE__ */ jsx67(DateFieldBase, { ...props, mode: "range" });
|
|
13526
13552
|
}
|
|
13527
13553
|
|
|
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
13554
|
// src/inputs/MultiLineSelectField.tsx
|
|
13621
13555
|
import { useState as useState23 } from "react";
|
|
13622
|
-
import { trussProps as
|
|
13623
|
-
import { jsx as
|
|
13556
|
+
import { trussProps as trussProps42 } from "@homebound/truss/runtime";
|
|
13557
|
+
import { jsx as jsx68, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
13624
13558
|
function MultiLineSelectField(props) {
|
|
13625
13559
|
const {
|
|
13626
13560
|
options,
|
|
@@ -13634,27 +13568,27 @@ function MultiLineSelectField(props) {
|
|
|
13634
13568
|
const tid = useTestIds(props, "");
|
|
13635
13569
|
const [isDisplayed, setIsDisplayed] = useState23(true);
|
|
13636
13570
|
const currentOptions = options.filter((o) => !values.includes(getOptionValue(o)));
|
|
13637
|
-
return /* @__PURE__ */
|
|
13571
|
+
return /* @__PURE__ */ jsxs41("div", { ...trussProps42({
|
|
13638
13572
|
marginTop: "mt1",
|
|
13639
13573
|
...labelStyle === "left" ? {
|
|
13640
13574
|
display: "df"
|
|
13641
13575
|
} : {}
|
|
13642
13576
|
}), children: [
|
|
13643
|
-
labelStyle !== "hidden" && /* @__PURE__ */
|
|
13577
|
+
labelStyle !== "hidden" && /* @__PURE__ */ jsx68("div", { ...trussProps42({
|
|
13644
13578
|
...labelStyle === "left" ? {
|
|
13645
13579
|
width: "w50"
|
|
13646
13580
|
} : {}
|
|
13647
|
-
}), children: /* @__PURE__ */
|
|
13648
|
-
/* @__PURE__ */
|
|
13581
|
+
}), children: /* @__PURE__ */ jsx68(Label, { ...tid.label, label: props.label }) }),
|
|
13582
|
+
/* @__PURE__ */ jsxs41("div", { ...trussProps42({
|
|
13649
13583
|
...labelStyle === "left" ? {
|
|
13650
13584
|
width: "w50"
|
|
13651
13585
|
} : {}
|
|
13652
13586
|
}), children: [
|
|
13653
13587
|
values.map((value, index) => {
|
|
13654
|
-
return /* @__PURE__ */
|
|
13655
|
-
/* @__PURE__ */
|
|
13588
|
+
return /* @__PURE__ */ jsxs41("div", { className: "mb1 pl1 df", children: [
|
|
13589
|
+
/* @__PURE__ */ jsx68("div", { className: "wsnw oh to_ellipsis w100", children: /* @__PURE__ */ jsx68(SelectField, { ...otherProps, ...tid.selectField, labelStyle: "hidden", value, onSelect: () => {
|
|
13656
13590
|
}, options, getOptionValue, getOptionLabel, compact: true, readOnly: true }) }),
|
|
13657
|
-
/* @__PURE__ */
|
|
13591
|
+
/* @__PURE__ */ jsx68(Button, { ...tid.deleteSelected, variant: "tertiary", label: "", "aria-label": `Delete selected ${otherProps.label}`, icon: "x", onClick: () => {
|
|
13658
13592
|
const selectedOptions = options.filter((o) => values.includes(getOptionValue(o)) && getOptionValue(o) !== value);
|
|
13659
13593
|
const selectedValues = selectedOptions.map((o) => getOptionValue(o));
|
|
13660
13594
|
onSelect(selectedValues, selectedOptions);
|
|
@@ -13662,17 +13596,17 @@ function MultiLineSelectField(props) {
|
|
|
13662
13596
|
} })
|
|
13663
13597
|
] }, index);
|
|
13664
13598
|
}),
|
|
13665
|
-
isDisplayed && /* @__PURE__ */
|
|
13599
|
+
isDisplayed && /* @__PURE__ */ jsx68("div", { className: "mb1", children: /* @__PURE__ */ jsx68(SelectField, { ...tid.selectField, label: otherProps.label, labelStyle: "hidden", getOptionValue, getOptionLabel, value: "", onSelect: (value) => {
|
|
13666
13600
|
onSelect([...values, value], options);
|
|
13667
13601
|
setIsDisplayed(false);
|
|
13668
13602
|
}, options: currentOptions, disabled: otherProps.disabled }) }),
|
|
13669
|
-
/* @__PURE__ */
|
|
13603
|
+
/* @__PURE__ */ jsx68(Button, { ...tid.addAnother, label: "Add Another", variant: "tertiary", onClick: () => setIsDisplayed(true), disabled: isDisplayed || currentOptions.length === 0 })
|
|
13670
13604
|
] })
|
|
13671
13605
|
] });
|
|
13672
13606
|
}
|
|
13673
13607
|
|
|
13674
13608
|
// src/inputs/MultiSelectField.tsx
|
|
13675
|
-
import { jsx as
|
|
13609
|
+
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
13676
13610
|
function MultiSelectField(props) {
|
|
13677
13611
|
const {
|
|
13678
13612
|
getOptionValue = (opt) => opt.id,
|
|
@@ -13681,15 +13615,15 @@ function MultiSelectField(props) {
|
|
|
13681
13615
|
// if unset, assume O implements HasName
|
|
13682
13616
|
...otherProps
|
|
13683
13617
|
} = props;
|
|
13684
|
-
return /* @__PURE__ */
|
|
13618
|
+
return /* @__PURE__ */ jsx69(ComboBoxBase, { multiselect: true, getOptionLabel, getOptionValue, ...otherProps });
|
|
13685
13619
|
}
|
|
13686
13620
|
|
|
13687
13621
|
// src/inputs/NumberField.tsx
|
|
13688
13622
|
import { NumberParser } from "@internationalized/number";
|
|
13689
|
-
import { useMemo as
|
|
13623
|
+
import { useMemo as useMemo18, useRef as useRef29, useState as useState24 } from "react";
|
|
13690
13624
|
import { mergeProps as mergeProps15, useLocale, useNumberField } from "react-aria";
|
|
13691
13625
|
import { useNumberFieldState } from "react-stately";
|
|
13692
|
-
import { jsx as
|
|
13626
|
+
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
13693
13627
|
function NumberField(props) {
|
|
13694
13628
|
const {
|
|
13695
13629
|
fieldProps
|
|
@@ -13729,7 +13663,7 @@ function NumberField(props) {
|
|
|
13729
13663
|
const isReadOnly = !!readOnly;
|
|
13730
13664
|
const factor = type === "percent" ? 100 : type === "cents" ? 100 : type === "mills" ? 1e3 : type === "basisPoints" ? 1e4 : 1;
|
|
13731
13665
|
const signDisplay = displayDirection ? "always" : "auto";
|
|
13732
|
-
const defaultFormatOptions =
|
|
13666
|
+
const defaultFormatOptions = useMemo18(() => ({
|
|
13733
13667
|
[truncate ? "maximumFractionDigits" : "minimumFractionDigits"]: numFractionDigits,
|
|
13734
13668
|
...numIntegerDigits !== void 0 && {
|
|
13735
13669
|
minimumIntegerDigits: numIntegerDigits
|
|
@@ -13740,7 +13674,7 @@ function NumberField(props) {
|
|
|
13740
13674
|
const {
|
|
13741
13675
|
locale
|
|
13742
13676
|
} = useLocale();
|
|
13743
|
-
const formatOptions =
|
|
13677
|
+
const formatOptions = useMemo18(() => {
|
|
13744
13678
|
if (numberFormatOptions !== void 0) {
|
|
13745
13679
|
return numberFormatOptions;
|
|
13746
13680
|
}
|
|
@@ -13772,7 +13706,7 @@ function NumberField(props) {
|
|
|
13772
13706
|
...typeFormat
|
|
13773
13707
|
};
|
|
13774
13708
|
}, [type, numberFormatOptions, defaultFormatOptions, numFractionDigits]);
|
|
13775
|
-
const numberParser =
|
|
13709
|
+
const numberParser = useMemo18(() => new NumberParser(locale, formatOptions), [locale, formatOptions]);
|
|
13776
13710
|
const valueRef = useRef29({
|
|
13777
13711
|
wip: false
|
|
13778
13712
|
});
|
|
@@ -13834,7 +13768,7 @@ function NumberField(props) {
|
|
|
13834
13768
|
if (readOnly && !inputRef.current) {
|
|
13835
13769
|
inputRef.current = document.createElement("input");
|
|
13836
13770
|
}
|
|
13837
|
-
return /* @__PURE__ */
|
|
13771
|
+
return /* @__PURE__ */ jsx70(
|
|
13838
13772
|
TextFieldBase,
|
|
13839
13773
|
{
|
|
13840
13774
|
xss: {
|
|
@@ -13877,11 +13811,11 @@ function formatValue(value, factor, numFractionDigits, numIntegerDigits, positiv
|
|
|
13877
13811
|
}
|
|
13878
13812
|
|
|
13879
13813
|
// src/inputs/RadioGroupField.tsx
|
|
13880
|
-
import { Fragment as Fragment19, useMemo as
|
|
13881
|
-
import { useFocusRing as useFocusRing6, useHover as
|
|
13814
|
+
import { Fragment as Fragment19, useMemo as useMemo19, useRef as useRef30 } from "react";
|
|
13815
|
+
import { useFocusRing as useFocusRing6, useHover as useHover11, useRadio, useRadioGroup } from "react-aria";
|
|
13882
13816
|
import { useRadioGroupState } from "react-stately";
|
|
13883
|
-
import { trussProps as
|
|
13884
|
-
import { jsx as
|
|
13817
|
+
import { trussProps as trussProps43, maybeCssVar as maybeCssVar26 } from "@homebound/truss/runtime";
|
|
13818
|
+
import { jsx as jsx71, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
13885
13819
|
var nextNameId = 0;
|
|
13886
13820
|
function RadioGroupField(props) {
|
|
13887
13821
|
const {
|
|
@@ -13897,7 +13831,7 @@ function RadioGroupField(props) {
|
|
|
13897
13831
|
layout = "vertical",
|
|
13898
13832
|
...otherProps
|
|
13899
13833
|
} = props;
|
|
13900
|
-
const name =
|
|
13834
|
+
const name = useMemo19(() => `radio-group-${++nextNameId}`, []);
|
|
13901
13835
|
const state = useRadioGroupState({
|
|
13902
13836
|
name,
|
|
13903
13837
|
value,
|
|
@@ -13917,7 +13851,7 @@ function RadioGroupField(props) {
|
|
|
13917
13851
|
}, state);
|
|
13918
13852
|
return (
|
|
13919
13853
|
// default styling to position `<Label />` above.
|
|
13920
|
-
/* @__PURE__ */
|
|
13854
|
+
/* @__PURE__ */ jsxs42("div", { ...trussProps43({
|
|
13921
13855
|
display: "df",
|
|
13922
13856
|
flexDirection: "fdc",
|
|
13923
13857
|
gap: "gap1",
|
|
@@ -13928,9 +13862,9 @@ function RadioGroupField(props) {
|
|
|
13928
13862
|
justifyContent: "jcsb"
|
|
13929
13863
|
} : {}
|
|
13930
13864
|
}), children: [
|
|
13931
|
-
/* @__PURE__ */
|
|
13932
|
-
/* @__PURE__ */
|
|
13933
|
-
/* @__PURE__ */
|
|
13865
|
+
/* @__PURE__ */ jsx71(Label, { label, ...labelProps, ...tid.label, suffix: labelSuffix, hidden: labelStyle === "hidden" }),
|
|
13866
|
+
/* @__PURE__ */ jsxs42("div", { ...radioGroupProps, children: [
|
|
13867
|
+
/* @__PURE__ */ jsx71("div", { ...trussProps43({
|
|
13934
13868
|
display: "df",
|
|
13935
13869
|
...layout === "horizontal" ? {
|
|
13936
13870
|
flexDirection: "fdr",
|
|
@@ -13941,14 +13875,14 @@ function RadioGroupField(props) {
|
|
|
13941
13875
|
gap: "gap1"
|
|
13942
13876
|
}
|
|
13943
13877
|
}), children: options.map((option) => {
|
|
13944
|
-
return /* @__PURE__ */
|
|
13878
|
+
return /* @__PURE__ */ jsx71(Fragment19, { children: maybeTooltip({
|
|
13945
13879
|
title: resolveTooltip(option.disabled),
|
|
13946
13880
|
placement: "bottom",
|
|
13947
|
-
children: /* @__PURE__ */
|
|
13881
|
+
children: /* @__PURE__ */ jsx71(Radio, { parentId: name, option, state, isOptionDisabled: !!option.disabled, ...otherProps, ...tid[option.value] })
|
|
13948
13882
|
}) }, option.value);
|
|
13949
13883
|
}) }),
|
|
13950
|
-
errorMsg && /* @__PURE__ */
|
|
13951
|
-
helperText && /* @__PURE__ */
|
|
13884
|
+
errorMsg && /* @__PURE__ */ jsx71(ErrorMessage, { errorMsg, ...tid.errorMsg }),
|
|
13885
|
+
helperText && /* @__PURE__ */ jsx71(HelperText, { helperText })
|
|
13952
13886
|
] })
|
|
13953
13887
|
] })
|
|
13954
13888
|
);
|
|
@@ -13984,22 +13918,22 @@ function Radio(props) {
|
|
|
13984
13918
|
const {
|
|
13985
13919
|
hoverProps,
|
|
13986
13920
|
isHovered
|
|
13987
|
-
} =
|
|
13921
|
+
} = useHover11({
|
|
13988
13922
|
isDisabled: disabled
|
|
13989
13923
|
});
|
|
13990
|
-
return /* @__PURE__ */
|
|
13924
|
+
return /* @__PURE__ */ jsxs42("label", { ...trussProps43({
|
|
13991
13925
|
display: "df",
|
|
13992
13926
|
cursor: "cursorPointer",
|
|
13993
13927
|
...disabled ? {
|
|
13994
13928
|
cursor: "cursor_initial"
|
|
13995
13929
|
} : {}
|
|
13996
13930
|
}), ...hoverProps, children: [
|
|
13997
|
-
/* @__PURE__ */
|
|
13931
|
+
/* @__PURE__ */ jsx71(
|
|
13998
13932
|
"input",
|
|
13999
13933
|
{
|
|
14000
13934
|
type: "radio",
|
|
14001
13935
|
ref,
|
|
14002
|
-
...
|
|
13936
|
+
...trussProps43({
|
|
14003
13937
|
...radioReset,
|
|
14004
13938
|
...radioDefault,
|
|
14005
13939
|
...!disabled && state.selectedValue === value ? radioChecked : radioUnchecked,
|
|
@@ -14019,8 +13953,8 @@ function Radio(props) {
|
|
|
14019
13953
|
...others
|
|
14020
13954
|
}
|
|
14021
13955
|
),
|
|
14022
|
-
/* @__PURE__ */
|
|
14023
|
-
/* @__PURE__ */
|
|
13956
|
+
/* @__PURE__ */ jsxs42("div", { children: [
|
|
13957
|
+
/* @__PURE__ */ jsx71("div", { id: labelId, ...trussProps43({
|
|
14024
13958
|
fontWeight: "fw4",
|
|
14025
13959
|
fontSize: "fz_14px",
|
|
14026
13960
|
lineHeight: "lh_20px",
|
|
@@ -14031,7 +13965,7 @@ function Radio(props) {
|
|
|
14031
13965
|
}), ...description ? {
|
|
14032
13966
|
"aria-describedby": descriptionId
|
|
14033
13967
|
} : {}, children: label }),
|
|
14034
|
-
description && /* @__PURE__ */
|
|
13968
|
+
description && /* @__PURE__ */ jsx71("div", { id: descriptionId, ...trussProps43({
|
|
14035
13969
|
fontWeight: "fw4",
|
|
14036
13970
|
fontSize: "fz_14px",
|
|
14037
13971
|
lineHeight: "lh_20px",
|
|
@@ -14136,19 +14070,19 @@ var radioDisabled = {
|
|
|
14136
14070
|
|
|
14137
14071
|
// src/inputs/RichTextField.tsx
|
|
14138
14072
|
import DOMPurify from "dompurify";
|
|
14139
|
-
import { createElement, useEffect as useEffect16, useMemo as
|
|
14073
|
+
import { createElement, useEffect as useEffect16, useMemo as useMemo20, useRef as useRef31, useState as useState26 } from "react";
|
|
14140
14074
|
|
|
14141
14075
|
// src/inputs/RichTextField.mock.tsx
|
|
14142
14076
|
import { camelCase as camelCase4 } from "change-case";
|
|
14143
14077
|
import { useState as useState25 } from "react";
|
|
14144
|
-
import { jsx as
|
|
14078
|
+
import { jsx as jsx72 } from "react/jsx-runtime";
|
|
14145
14079
|
function RichTextFieldMock(props) {
|
|
14146
14080
|
const { onBlur = () => {
|
|
14147
14081
|
}, onFocus = () => {
|
|
14148
14082
|
}, readOnly } = props;
|
|
14149
14083
|
const [value, setValue] = useState25(props.value || "");
|
|
14150
14084
|
const tid = useTestIds(props, defaultTestId2(props.label || "richTextField"));
|
|
14151
|
-
return /* @__PURE__ */
|
|
14085
|
+
return /* @__PURE__ */ jsx72(
|
|
14152
14086
|
"input",
|
|
14153
14087
|
{
|
|
14154
14088
|
type: "text",
|
|
@@ -14174,8 +14108,8 @@ import Tribute from "tributejs";
|
|
|
14174
14108
|
import "tributejs/dist/tribute.css";
|
|
14175
14109
|
import "trix/dist/trix";
|
|
14176
14110
|
import "trix/dist/trix.css";
|
|
14177
|
-
import { trussProps as
|
|
14178
|
-
import { jsx as
|
|
14111
|
+
import { trussProps as trussProps44 } from "@homebound/truss/runtime";
|
|
14112
|
+
import { jsx as jsx73, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
14179
14113
|
var RichTextField = withTestMock(RichTextFieldImpl, RichTextFieldMock);
|
|
14180
14114
|
function RichTextFieldImpl(props) {
|
|
14181
14115
|
const {
|
|
@@ -14200,7 +14134,7 @@ function RichTextFieldImpl(props) {
|
|
|
14200
14134
|
onBlurRef.current = onBlur;
|
|
14201
14135
|
const onFocusRef = useRef31(onFocus);
|
|
14202
14136
|
onFocusRef.current = onFocus;
|
|
14203
|
-
const id =
|
|
14137
|
+
const id = useMemo20(() => {
|
|
14204
14138
|
if (readOnly) return;
|
|
14205
14139
|
const id2 = `trix-editor-${trixId}`;
|
|
14206
14140
|
trixId++;
|
|
@@ -14254,15 +14188,15 @@ function RichTextFieldImpl(props) {
|
|
|
14254
14188
|
autoFocus
|
|
14255
14189
|
} = props;
|
|
14256
14190
|
if (!readOnly) {
|
|
14257
|
-
return /* @__PURE__ */
|
|
14191
|
+
return /* @__PURE__ */ jsxs43("div", { ...trussProps44({
|
|
14258
14192
|
width: "w100",
|
|
14259
14193
|
...!fullWidth ? {
|
|
14260
14194
|
maxWidth: "maxw_550px"
|
|
14261
14195
|
} : {}
|
|
14262
14196
|
}), children: [
|
|
14263
|
-
label && /* @__PURE__ */
|
|
14264
|
-
/* @__PURE__ */
|
|
14265
|
-
/* @__PURE__ */
|
|
14197
|
+
label && /* @__PURE__ */ jsx73(Label, { labelProps: {}, label }),
|
|
14198
|
+
/* @__PURE__ */ jsxs43("div", { className: "beam-trix-editor", children: [
|
|
14199
|
+
/* @__PURE__ */ jsx73("input", { type: "hidden", id: `input-${id}`, value }),
|
|
14266
14200
|
createElement("trix-editor", {
|
|
14267
14201
|
id,
|
|
14268
14202
|
input: `input-${id}`,
|
|
@@ -14277,14 +14211,14 @@ function RichTextFieldImpl(props) {
|
|
|
14277
14211
|
] })
|
|
14278
14212
|
] });
|
|
14279
14213
|
} else {
|
|
14280
|
-
return /* @__PURE__ */
|
|
14214
|
+
return /* @__PURE__ */ jsxs43("div", { ...trussProps44({
|
|
14281
14215
|
width: "w100",
|
|
14282
14216
|
...!fullWidth ? {
|
|
14283
14217
|
maxWidth: "maxw_550px"
|
|
14284
14218
|
} : {}
|
|
14285
14219
|
}), children: [
|
|
14286
|
-
label && /* @__PURE__ */
|
|
14287
|
-
/* @__PURE__ */
|
|
14220
|
+
label && /* @__PURE__ */ jsx73(Label, { label }),
|
|
14221
|
+
/* @__PURE__ */ jsx73("div", { className: "mh_120px bgWhite fw4 fz_14px lh_20px gray900 bss bw1 pt1 pb1 pr1 pl1 br4 bcGray300", dangerouslySetInnerHTML: {
|
|
14288
14222
|
__html: DOMPurify.sanitize(value) || placeholder || ""
|
|
14289
14223
|
}, "data-readonly": "true" })
|
|
14290
14224
|
] });
|
|
@@ -14317,9 +14251,222 @@ function extractIdsFromMentions(mergeTags, content) {
|
|
|
14317
14251
|
}
|
|
14318
14252
|
var trixId = 1;
|
|
14319
14253
|
|
|
14254
|
+
// src/inputs/SelectCard.tsx
|
|
14255
|
+
import { useMemo as useMemo21 } from "react";
|
|
14256
|
+
import { useCheckbox as useCheckbox2, useHover as useHover12, VisuallyHidden as VisuallyHidden4 } from "react-aria";
|
|
14257
|
+
import { useToggleState as useToggleState2 } from "react-stately";
|
|
14258
|
+
import { trussProps as trussProps45 } from "@homebound/truss/runtime";
|
|
14259
|
+
import { jsx as jsx74, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
14260
|
+
function SelectCard(props) {
|
|
14261
|
+
const {
|
|
14262
|
+
selected: isSelected = false,
|
|
14263
|
+
disabled: isDisabled = false,
|
|
14264
|
+
icon,
|
|
14265
|
+
cardRef,
|
|
14266
|
+
label,
|
|
14267
|
+
description,
|
|
14268
|
+
tooltip,
|
|
14269
|
+
xss,
|
|
14270
|
+
...otherProps
|
|
14271
|
+
} = props;
|
|
14272
|
+
const ref = useGetRef(cardRef);
|
|
14273
|
+
const ariaProps = {
|
|
14274
|
+
isSelected,
|
|
14275
|
+
isDisabled,
|
|
14276
|
+
...otherProps
|
|
14277
|
+
};
|
|
14278
|
+
const checkboxProps = {
|
|
14279
|
+
...ariaProps,
|
|
14280
|
+
"aria-label": label
|
|
14281
|
+
};
|
|
14282
|
+
const {
|
|
14283
|
+
hoverProps,
|
|
14284
|
+
isHovered
|
|
14285
|
+
} = useHover12({
|
|
14286
|
+
isDisabled
|
|
14287
|
+
});
|
|
14288
|
+
const toggleState = useToggleState2(ariaProps);
|
|
14289
|
+
const {
|
|
14290
|
+
inputProps
|
|
14291
|
+
} = useCheckbox2(checkboxProps, toggleState, ref);
|
|
14292
|
+
const styles = useMemo21(() => ({
|
|
14293
|
+
...baseStyles3,
|
|
14294
|
+
// A label-only card is a fixed compact box; a description card fills the row and stretches.
|
|
14295
|
+
...description ? fillRowStyles : fixedSizeStyles,
|
|
14296
|
+
// Description cards top-align so multi-line copy lines up; label-only cards center.
|
|
14297
|
+
...description ? {
|
|
14298
|
+
justifyContent: "jcfs"
|
|
14299
|
+
} : {
|
|
14300
|
+
justifyContent: "jcc"
|
|
14301
|
+
},
|
|
14302
|
+
...isHovered && !isDisabled && hoverStyles2,
|
|
14303
|
+
...isSelected && !isDisabled && selectedStyles,
|
|
14304
|
+
...isDisabled && (isSelected ? disabledSelectedStyles : disabledStyles2),
|
|
14305
|
+
// Spread last so a parent can override sizing (see `SelectCardGroup`).
|
|
14306
|
+
...xss
|
|
14307
|
+
}), [description, isDisabled, isHovered, isSelected, xss]);
|
|
14308
|
+
const tid = useTestIds(props, defaultTestId(label));
|
|
14309
|
+
return maybeTooltip({
|
|
14310
|
+
title: resolveTooltip(isDisabled, tooltip),
|
|
14311
|
+
placement: "top",
|
|
14312
|
+
children: /* @__PURE__ */ jsxs44("button", { ...trussProps45(styles), ...hoverProps, onClick: toggleState.toggle, disabled: isDisabled, ...tid, children: [
|
|
14313
|
+
/* @__PURE__ */ jsx74(VisuallyHidden4, { children: /* @__PURE__ */ jsx74("input", { ref, ...inputProps, ...tid.value }) }),
|
|
14314
|
+
/* @__PURE__ */ jsx74(Icon, { icon, inc: 4, color: isDisabled ? "rgba(100, 100, 100, 1)" /* Gray700 */ : "rgba(36, 36, 36, 1)" /* Gray900 */ }),
|
|
14315
|
+
/* @__PURE__ */ jsxs44("span", { ...trussProps45(copyStyles), children: [
|
|
14316
|
+
/* @__PURE__ */ jsx74("span", { ...trussProps45({
|
|
14317
|
+
fontWeight: "fw6",
|
|
14318
|
+
fontSize: "fz_14px",
|
|
14319
|
+
lineHeight: "lh_20px",
|
|
14320
|
+
...isDisabled ? {
|
|
14321
|
+
color: "gray700"
|
|
14322
|
+
} : {}
|
|
14323
|
+
}), children: label }),
|
|
14324
|
+
description && /* @__PURE__ */ jsx74("span", { className: "fw4 fz_12px lh_16px gray700", children: description })
|
|
14325
|
+
] })
|
|
14326
|
+
] })
|
|
14327
|
+
});
|
|
14328
|
+
}
|
|
14329
|
+
var baseStyles3 = {
|
|
14330
|
+
display: "df",
|
|
14331
|
+
flexDirection: "fdc",
|
|
14332
|
+
alignItems: "aic",
|
|
14333
|
+
borderStyle: "bss",
|
|
14334
|
+
borderWidth: "bw1",
|
|
14335
|
+
borderRadius: "br12",
|
|
14336
|
+
backgroundColor: "bgWhite",
|
|
14337
|
+
borderColor: "bcGray300",
|
|
14338
|
+
gap: "gap1",
|
|
14339
|
+
paddingLeft: "pl2",
|
|
14340
|
+
paddingRight: "pr2",
|
|
14341
|
+
paddingTop: "pt3",
|
|
14342
|
+
paddingBottom: "pb3",
|
|
14343
|
+
textAlign: "tac"
|
|
14344
|
+
};
|
|
14345
|
+
var fixedSizeStyles = {
|
|
14346
|
+
width: "w_130px",
|
|
14347
|
+
height: "h_114px"
|
|
14348
|
+
};
|
|
14349
|
+
var fillRowStyles = {
|
|
14350
|
+
flexBasis: "fb_0",
|
|
14351
|
+
flexGrow: "fg1",
|
|
14352
|
+
flexShrink: "fs0",
|
|
14353
|
+
alignSelf: "asStretch",
|
|
14354
|
+
minWidth: "mw_187px",
|
|
14355
|
+
width: "wa",
|
|
14356
|
+
height: "ha"
|
|
14357
|
+
};
|
|
14358
|
+
var copyStyles = {
|
|
14359
|
+
display: "df",
|
|
14360
|
+
flexDirection: "fdc",
|
|
14361
|
+
alignItems: "aic",
|
|
14362
|
+
gap: "gap_4px",
|
|
14363
|
+
width: "w100"
|
|
14364
|
+
};
|
|
14365
|
+
var hoverStyles2 = {
|
|
14366
|
+
borderColor: "bcBlue600"
|
|
14367
|
+
};
|
|
14368
|
+
var selectedStyles = {
|
|
14369
|
+
borderColor: "bcBlue600",
|
|
14370
|
+
backgroundColor: "bgBlue50"
|
|
14371
|
+
};
|
|
14372
|
+
var disabledStyles2 = {
|
|
14373
|
+
backgroundColor: "bgGray50",
|
|
14374
|
+
borderColor: "bcGray300"
|
|
14375
|
+
};
|
|
14376
|
+
var disabledSelectedStyles = {
|
|
14377
|
+
backgroundColor: "bgGray100",
|
|
14378
|
+
borderColor: "bcGray300"
|
|
14379
|
+
};
|
|
14380
|
+
|
|
14381
|
+
// src/inputs/SelectCardGroup.tsx
|
|
14382
|
+
import { useCallback as useCallback13, useMemo as useMemo22, useState as useState27 } from "react";
|
|
14383
|
+
import { mergeProps as mergeProps16, useField } from "react-aria";
|
|
14384
|
+
import { trussProps as trussProps46 } from "@homebound/truss/runtime";
|
|
14385
|
+
import { jsx as jsx75, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
14386
|
+
function SelectCardGroup(props) {
|
|
14387
|
+
const {
|
|
14388
|
+
fieldProps
|
|
14389
|
+
} = usePresentationContext();
|
|
14390
|
+
const {
|
|
14391
|
+
options,
|
|
14392
|
+
label,
|
|
14393
|
+
labelStyle = fieldProps?.labelStyle ?? "above",
|
|
14394
|
+
values,
|
|
14395
|
+
errorMsg,
|
|
14396
|
+
helperText,
|
|
14397
|
+
disabled: isDisabled = false,
|
|
14398
|
+
onChange
|
|
14399
|
+
} = props;
|
|
14400
|
+
const [selected, setSelected] = useState27(values);
|
|
14401
|
+
const exclusiveOptions = useMemo22(() => options.filter((o) => o.exclusive), [options]);
|
|
14402
|
+
const hasDescription = useMemo22(() => options.some((o) => o.description), [options]);
|
|
14403
|
+
const toggleValue = useCallback13((value) => {
|
|
14404
|
+
if (isDisabled) return;
|
|
14405
|
+
const option = options.find((o) => o.value === value);
|
|
14406
|
+
if (!option) return;
|
|
14407
|
+
let newSelected = [];
|
|
14408
|
+
if (selected.includes(value)) {
|
|
14409
|
+
newSelected = selected.filter((v) => v !== value);
|
|
14410
|
+
} else {
|
|
14411
|
+
if (option.exclusive) {
|
|
14412
|
+
newSelected = [value];
|
|
14413
|
+
} else {
|
|
14414
|
+
newSelected = [...selected, value];
|
|
14415
|
+
newSelected = newSelected.filter((v) => !exclusiveOptions.some((o) => o.value === v));
|
|
14416
|
+
}
|
|
14417
|
+
}
|
|
14418
|
+
setSelected(newSelected);
|
|
14419
|
+
onChange(newSelected);
|
|
14420
|
+
}, [exclusiveOptions, isDisabled, onChange, options, selected]);
|
|
14421
|
+
const tid = useTestIds(props);
|
|
14422
|
+
const {
|
|
14423
|
+
labelProps,
|
|
14424
|
+
fieldProps: fieldPropsAria
|
|
14425
|
+
} = useField(props);
|
|
14426
|
+
const groupProps = mergeProps16(tid, {
|
|
14427
|
+
role: "group",
|
|
14428
|
+
"aria-disabled": isDisabled || void 0,
|
|
14429
|
+
...fieldPropsAria
|
|
14430
|
+
});
|
|
14431
|
+
return /* @__PURE__ */ jsxs45("div", { ...groupProps, children: [
|
|
14432
|
+
labelStyle !== "hidden" && /* @__PURE__ */ jsx75("div", { ...trussProps46({
|
|
14433
|
+
...labelStyle === "left" ? {
|
|
14434
|
+
width: "w50"
|
|
14435
|
+
} : {}
|
|
14436
|
+
}), children: /* @__PURE__ */ jsx75(Label, { label, ...labelProps, ...tid.label }) }),
|
|
14437
|
+
/* @__PURE__ */ jsx75("div", { className: "df gap2 flexWrap_wrap", children: options.map((option) => {
|
|
14438
|
+
const {
|
|
14439
|
+
icon,
|
|
14440
|
+
label: label2,
|
|
14441
|
+
description,
|
|
14442
|
+
disabled,
|
|
14443
|
+
tooltip
|
|
14444
|
+
} = option;
|
|
14445
|
+
const isSelected = selected.includes(option.value);
|
|
14446
|
+
return /* @__PURE__ */ jsx75(
|
|
14447
|
+
SelectCard,
|
|
14448
|
+
{
|
|
14449
|
+
icon,
|
|
14450
|
+
label: label2,
|
|
14451
|
+
description,
|
|
14452
|
+
xss: hasDescription ? fillRowStyles : void 0,
|
|
14453
|
+
selected: isSelected,
|
|
14454
|
+
disabled,
|
|
14455
|
+
tooltip,
|
|
14456
|
+
onChange: () => toggleValue(option.value),
|
|
14457
|
+
...tid[option.label]
|
|
14458
|
+
},
|
|
14459
|
+
option.label
|
|
14460
|
+
);
|
|
14461
|
+
}) }),
|
|
14462
|
+
errorMsg && /* @__PURE__ */ jsx75(ErrorMessage, { errorMsg, ...tid.errorMsg }),
|
|
14463
|
+
helperText && /* @__PURE__ */ jsx75(HelperText, { helperText, ...tid.helperText })
|
|
14464
|
+
] });
|
|
14465
|
+
}
|
|
14466
|
+
|
|
14320
14467
|
// src/inputs/SelectField.tsx
|
|
14321
|
-
import { useMemo as
|
|
14322
|
-
import { jsx as
|
|
14468
|
+
import { useMemo as useMemo23 } from "react";
|
|
14469
|
+
import { jsx as jsx76 } from "react/jsx-runtime";
|
|
14323
14470
|
function SelectField(props) {
|
|
14324
14471
|
const {
|
|
14325
14472
|
getOptionValue = defaultOptionValue,
|
|
@@ -14329,8 +14476,8 @@ function SelectField(props) {
|
|
|
14329
14476
|
value,
|
|
14330
14477
|
...otherProps
|
|
14331
14478
|
} = props;
|
|
14332
|
-
const values =
|
|
14333
|
-
return /* @__PURE__ */
|
|
14479
|
+
const values = useMemo23(() => [value], [value]);
|
|
14480
|
+
return /* @__PURE__ */ jsx76(
|
|
14334
14481
|
ComboBoxBase,
|
|
14335
14482
|
{
|
|
14336
14483
|
...otherProps,
|
|
@@ -14351,8 +14498,8 @@ function SelectField(props) {
|
|
|
14351
14498
|
// src/inputs/Switch.tsx
|
|
14352
14499
|
import { useRef as useRef32 } from "react";
|
|
14353
14500
|
import { useFocusRing as useFocusRing7, useHover as useHover13, useSwitch, VisuallyHidden as VisuallyHidden5 } from "react-aria";
|
|
14354
|
-
import { trussProps as
|
|
14355
|
-
import { jsx as
|
|
14501
|
+
import { trussProps as trussProps47, maybeCssVar as maybeCssVar27 } from "@homebound/truss/runtime";
|
|
14502
|
+
import { jsx as jsx77, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
14356
14503
|
var __maybeInc8 = (inc) => {
|
|
14357
14504
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
14358
14505
|
};
|
|
@@ -14401,7 +14548,7 @@ function Switch(props) {
|
|
|
14401
14548
|
const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
|
|
14402
14549
|
const tooltip = resolveTooltip(disabled, props.tooltip);
|
|
14403
14550
|
const tid = useTestIds(otherProps, label);
|
|
14404
|
-
return /* @__PURE__ */
|
|
14551
|
+
return /* @__PURE__ */ jsxs46("label", { ...hoverProps, ...trussProps47({
|
|
14405
14552
|
...{
|
|
14406
14553
|
position: "relative",
|
|
14407
14554
|
cursor: "cursorPointer",
|
|
@@ -14439,18 +14586,18 @@ function Switch(props) {
|
|
|
14439
14586
|
color: "gray400"
|
|
14440
14587
|
}
|
|
14441
14588
|
}), children: [
|
|
14442
|
-
labelStyle !== "inline" && labelStyle !== "hidden" && /* @__PURE__ */
|
|
14589
|
+
labelStyle !== "inline" && labelStyle !== "hidden" && /* @__PURE__ */ jsx77("div", { children: /* @__PURE__ */ jsx77(Label, { label, tooltip, xss: {
|
|
14443
14590
|
...labelStyle === "filter" ? {
|
|
14444
14591
|
color: "gray900"
|
|
14445
14592
|
} : {}
|
|
14446
14593
|
}, inline: labelStyle === "left" || labelStyle === "filter" }) }),
|
|
14447
|
-
/* @__PURE__ */
|
|
14594
|
+
/* @__PURE__ */ jsx77("div", { ...trussProps47({
|
|
14448
14595
|
...labelStyle === "left" ? {
|
|
14449
14596
|
width: ["w_var", {
|
|
14450
14597
|
"--width": maybeCssVar27(__maybeInc8(labelLeftFieldWidth))
|
|
14451
14598
|
}]
|
|
14452
14599
|
} : {}
|
|
14453
|
-
}), children: /* @__PURE__ */
|
|
14600
|
+
}), children: /* @__PURE__ */ jsx77("div", { "aria-hidden": "true", ...trussProps47({
|
|
14454
14601
|
...{
|
|
14455
14602
|
width: ["w_var", {
|
|
14456
14603
|
"--width": `${toggleWidth(compact)}px`
|
|
@@ -14472,14 +14619,14 @@ function Switch(props) {
|
|
|
14472
14619
|
backgroundColor: "bgBlue700"
|
|
14473
14620
|
},
|
|
14474
14621
|
...isSelected && isHovered && switchSelectedHoverStyles
|
|
14475
|
-
}), children: /* @__PURE__ */
|
|
14622
|
+
}), children: /* @__PURE__ */ jsx77("div", { ...trussProps47({
|
|
14476
14623
|
...switchCircleDefaultStyles(compact),
|
|
14477
14624
|
...isDisabled && {
|
|
14478
14625
|
backgroundColor: "bgGray100"
|
|
14479
14626
|
},
|
|
14480
14627
|
...isSelected && switchCircleSelectedStyles(compact)
|
|
14481
|
-
}), children: withIcon && /* @__PURE__ */
|
|
14482
|
-
labelStyle === "inline" && /* @__PURE__ */
|
|
14628
|
+
}), 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 }) }) }) }),
|
|
14629
|
+
labelStyle === "inline" && /* @__PURE__ */ jsx77(Label, { label, tooltip, inline: true, xss: {
|
|
14483
14630
|
fontWeight: "fw4",
|
|
14484
14631
|
fontSize: "fz_14px",
|
|
14485
14632
|
lineHeight: "lh_20px",
|
|
@@ -14488,7 +14635,7 @@ function Switch(props) {
|
|
|
14488
14635
|
lineHeight: "lineHeight_1"
|
|
14489
14636
|
} : {}
|
|
14490
14637
|
} }),
|
|
14491
|
-
/* @__PURE__ */
|
|
14638
|
+
/* @__PURE__ */ jsx77(VisuallyHidden5, { children: /* @__PURE__ */ jsx77("input", { ref, ...inputProps, ...focusProps, ...tid }) })
|
|
14492
14639
|
] });
|
|
14493
14640
|
}
|
|
14494
14641
|
var toggleHeight = (isCompact) => isCompact ? 16 : 24;
|
|
@@ -14535,8 +14682,8 @@ function switchCircleSelectedStyles(isCompact) {
|
|
|
14535
14682
|
|
|
14536
14683
|
// src/inputs/TextAreaField.tsx
|
|
14537
14684
|
import { useRef as useRef33 } from "react";
|
|
14538
|
-
import { mergeProps as
|
|
14539
|
-
import { jsx as
|
|
14685
|
+
import { mergeProps as mergeProps17, useTextField as useTextField3 } from "react-aria";
|
|
14686
|
+
import { jsx as jsx78 } from "react/jsx-runtime";
|
|
14540
14687
|
function TextAreaField(props) {
|
|
14541
14688
|
const {
|
|
14542
14689
|
value = "",
|
|
@@ -14575,10 +14722,10 @@ function TextAreaField(props) {
|
|
|
14575
14722
|
},
|
|
14576
14723
|
inputRef
|
|
14577
14724
|
);
|
|
14578
|
-
return /* @__PURE__ */
|
|
14725
|
+
return /* @__PURE__ */ jsx78(
|
|
14579
14726
|
TextFieldBase,
|
|
14580
14727
|
{
|
|
14581
|
-
...
|
|
14728
|
+
...mergeProps17(otherProps, { onBlur, onFocus }),
|
|
14582
14729
|
multiline: true,
|
|
14583
14730
|
labelProps,
|
|
14584
14731
|
inputProps,
|
|
@@ -14592,8 +14739,8 @@ function TextAreaField(props) {
|
|
|
14592
14739
|
|
|
14593
14740
|
// src/inputs/TextField.tsx
|
|
14594
14741
|
import { useRef as useRef34 } from "react";
|
|
14595
|
-
import { mergeProps as
|
|
14596
|
-
import { jsx as
|
|
14742
|
+
import { mergeProps as mergeProps18, useTextField as useTextField4 } from "react-aria";
|
|
14743
|
+
import { jsx as jsx79 } from "react/jsx-runtime";
|
|
14597
14744
|
function TextField(props) {
|
|
14598
14745
|
const {
|
|
14599
14746
|
disabled = false,
|
|
@@ -14639,10 +14786,10 @@ function TextField(props) {
|
|
|
14639
14786
|
focus: () => inputRef.current && inputRef.current.focus()
|
|
14640
14787
|
};
|
|
14641
14788
|
}
|
|
14642
|
-
return /* @__PURE__ */
|
|
14789
|
+
return /* @__PURE__ */ jsx79(
|
|
14643
14790
|
TextFieldBase,
|
|
14644
14791
|
{
|
|
14645
|
-
...
|
|
14792
|
+
...mergeProps18(textFieldProps, { onBlur, onFocus }),
|
|
14646
14793
|
errorMsg,
|
|
14647
14794
|
required,
|
|
14648
14795
|
labelProps,
|
|
@@ -14655,11 +14802,11 @@ function TextField(props) {
|
|
|
14655
14802
|
}
|
|
14656
14803
|
|
|
14657
14804
|
// src/inputs/ToggleButton.tsx
|
|
14658
|
-
import { useRef as useRef35, useState as
|
|
14805
|
+
import { useRef as useRef35, useState as useState28 } from "react";
|
|
14659
14806
|
import { useFocusRing as useFocusRing8, useHover as useHover14, usePress, useSwitch as useSwitch2, VisuallyHidden as VisuallyHidden6 } from "react-aria";
|
|
14660
14807
|
import { useToggleState as useToggleState3 } from "react-stately";
|
|
14661
|
-
import { trussProps as
|
|
14662
|
-
import { jsx as
|
|
14808
|
+
import { trussProps as trussProps48 } from "@homebound/truss/runtime";
|
|
14809
|
+
import { jsx as jsx80, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
14663
14810
|
function ToggleButton(props) {
|
|
14664
14811
|
const {
|
|
14665
14812
|
selected: isSelected = false,
|
|
@@ -14670,7 +14817,7 @@ function ToggleButton(props) {
|
|
|
14670
14817
|
__storyState,
|
|
14671
14818
|
...otherProps
|
|
14672
14819
|
} = props;
|
|
14673
|
-
const [asyncInProgress, setAsyncInProgress] =
|
|
14820
|
+
const [asyncInProgress, setAsyncInProgress] = useState28(false);
|
|
14674
14821
|
const isDisabled = !!disabled || asyncInProgress;
|
|
14675
14822
|
const ariaProps = {
|
|
14676
14823
|
"aria-label": label,
|
|
@@ -14723,7 +14870,7 @@ function ToggleButton(props) {
|
|
|
14723
14870
|
...focusProps,
|
|
14724
14871
|
...hoverProps,
|
|
14725
14872
|
...pressProps,
|
|
14726
|
-
...
|
|
14873
|
+
...trussProps48({
|
|
14727
14874
|
...{
|
|
14728
14875
|
borderRadius: "br4",
|
|
14729
14876
|
display: "dif",
|
|
@@ -14758,10 +14905,10 @@ function ToggleButton(props) {
|
|
|
14758
14905
|
return maybeTooltip({
|
|
14759
14906
|
title: tooltip,
|
|
14760
14907
|
placement: "top",
|
|
14761
|
-
children: /* @__PURE__ */
|
|
14762
|
-
icon && /* @__PURE__ */
|
|
14908
|
+
children: /* @__PURE__ */ jsxs47("label", { ...labelAttrs, children: [
|
|
14909
|
+
icon && /* @__PURE__ */ jsx80(Icon, { icon }),
|
|
14763
14910
|
label,
|
|
14764
|
-
/* @__PURE__ */
|
|
14911
|
+
/* @__PURE__ */ jsx80(VisuallyHidden6, { children: /* @__PURE__ */ jsx80("input", { ref, ...inputProps, ...tid.value }) })
|
|
14765
14912
|
] })
|
|
14766
14913
|
});
|
|
14767
14914
|
}
|
|
@@ -14779,8 +14926,8 @@ var togglePressStyles = {
|
|
|
14779
14926
|
import { useRef as useRef36 } from "react";
|
|
14780
14927
|
import { useCheckboxGroup as useCheckboxGroup2, useCheckboxGroupItem as useCheckboxGroupItem2, useFocusRing as useFocusRing9, VisuallyHidden as VisuallyHidden7 } from "react-aria";
|
|
14781
14928
|
import { useCheckboxGroupState as useCheckboxGroupState2 } from "react-stately";
|
|
14782
|
-
import { trussProps as
|
|
14783
|
-
import { jsx as
|
|
14929
|
+
import { trussProps as trussProps49, maybeCssVar as maybeCssVar28 } from "@homebound/truss/runtime";
|
|
14930
|
+
import { jsx as jsx81, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
14784
14931
|
var __maybeInc9 = (inc) => {
|
|
14785
14932
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
14786
14933
|
};
|
|
@@ -14811,7 +14958,7 @@ function ToggleChipGroup(props) {
|
|
|
14811
14958
|
} = useCheckboxGroup2(props, state);
|
|
14812
14959
|
const tid = useTestIds(props, "toggleChip");
|
|
14813
14960
|
const labelSuffix = useLabelSuffix(required, false);
|
|
14814
|
-
return /* @__PURE__ */
|
|
14961
|
+
return /* @__PURE__ */ jsxs48("div", { ...groupProps, ...trussProps49({
|
|
14815
14962
|
position: "relative",
|
|
14816
14963
|
display: "df",
|
|
14817
14964
|
flexDirection: "fdc",
|
|
@@ -14822,8 +14969,8 @@ function ToggleChipGroup(props) {
|
|
|
14822
14969
|
justifyContent: "jcsb"
|
|
14823
14970
|
} : {}
|
|
14824
14971
|
}), children: [
|
|
14825
|
-
/* @__PURE__ */
|
|
14826
|
-
/* @__PURE__ */
|
|
14972
|
+
/* @__PURE__ */ jsx81(Label, { label, ...labelProps, hidden: labelStyle === "hidden", inline: labelStyle !== "above", suffix: labelSuffix }),
|
|
14973
|
+
/* @__PURE__ */ jsx81("div", { ...trussProps49({
|
|
14827
14974
|
display: "df",
|
|
14828
14975
|
gap: "gap1",
|
|
14829
14976
|
flexWrap: "flexWrap_wrap",
|
|
@@ -14832,7 +14979,7 @@ function ToggleChipGroup(props) {
|
|
|
14832
14979
|
"--width": maybeCssVar28(__maybeInc9(labelLeftFieldWidth))
|
|
14833
14980
|
}]
|
|
14834
14981
|
} : {}
|
|
14835
|
-
}), children: options.map((o) => /* @__PURE__ */
|
|
14982
|
+
}), 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
14983
|
] });
|
|
14837
14984
|
}
|
|
14838
14985
|
function ToggleChip2(props) {
|
|
@@ -14888,7 +15035,7 @@ function ToggleChip2(props) {
|
|
|
14888
15035
|
return maybeTooltip({
|
|
14889
15036
|
title: tooltip,
|
|
14890
15037
|
placement: "top",
|
|
14891
|
-
children: /* @__PURE__ */
|
|
15038
|
+
children: /* @__PURE__ */ jsxs48("label", { ...trussProps49({
|
|
14892
15039
|
...{
|
|
14893
15040
|
position: "relative",
|
|
14894
15041
|
display: "dif",
|
|
@@ -14909,7 +15056,7 @@ function ToggleChip2(props) {
|
|
|
14909
15056
|
boxShadow: "bshFocus"
|
|
14910
15057
|
} : {}
|
|
14911
15058
|
}), "data-selected": isSelected, "data-disabled": isDisabled, "aria-disabled": isDisabled, ...others, children: [
|
|
14912
|
-
/* @__PURE__ */
|
|
15059
|
+
/* @__PURE__ */ jsx81(VisuallyHidden7, { children: /* @__PURE__ */ jsx81("input", { ...inputProps, ...focusProps }) }),
|
|
14913
15060
|
startAdornment,
|
|
14914
15061
|
label
|
|
14915
15062
|
] })
|
|
@@ -14917,12 +15064,12 @@ function ToggleChip2(props) {
|
|
|
14917
15064
|
}
|
|
14918
15065
|
|
|
14919
15066
|
// src/components/Table/components/SelectToggle.tsx
|
|
14920
|
-
import { jsx as
|
|
15067
|
+
import { jsx as jsx82 } from "react/jsx-runtime";
|
|
14921
15068
|
function SelectToggle({ id, disabled }) {
|
|
14922
15069
|
const { tableState } = useContext15(TableStateContext);
|
|
14923
15070
|
const state = useComputed(() => tableState.getSelected(id), [tableState]);
|
|
14924
15071
|
const selected = state === "checked" ? true : state === "unchecked" ? false : "indeterminate";
|
|
14925
|
-
return /* @__PURE__ */
|
|
15072
|
+
return /* @__PURE__ */ jsx82(
|
|
14926
15073
|
Checkbox,
|
|
14927
15074
|
{
|
|
14928
15075
|
checkboxOnly: true,
|
|
@@ -14935,7 +15082,7 @@ function SelectToggle({ id, disabled }) {
|
|
|
14935
15082
|
}
|
|
14936
15083
|
|
|
14937
15084
|
// src/components/Table/utils/columns.tsx
|
|
14938
|
-
import { jsx as
|
|
15085
|
+
import { jsx as jsx83 } from "react/jsx-runtime";
|
|
14939
15086
|
function column(columnDef) {
|
|
14940
15087
|
return {
|
|
14941
15088
|
canHide: true,
|
|
@@ -14988,7 +15135,7 @@ function selectColumn(columnDef) {
|
|
|
14988
15135
|
return (data, {
|
|
14989
15136
|
row
|
|
14990
15137
|
}) => ({
|
|
14991
|
-
content: /* @__PURE__ */
|
|
15138
|
+
content: /* @__PURE__ */ jsx83(SelectToggle, { id: row.id, disabled: row.selectable === false })
|
|
14992
15139
|
});
|
|
14993
15140
|
});
|
|
14994
15141
|
}
|
|
@@ -15012,7 +15159,7 @@ function collapseColumn(columnDef) {
|
|
|
15012
15159
|
row,
|
|
15013
15160
|
level
|
|
15014
15161
|
}) => ({
|
|
15015
|
-
content: /* @__PURE__ */
|
|
15162
|
+
content: /* @__PURE__ */ jsx83(CollapseToggle, { row, compact: level > 0 })
|
|
15016
15163
|
});
|
|
15017
15164
|
});
|
|
15018
15165
|
}
|
|
@@ -15036,7 +15183,7 @@ function pinColumn(columnDef) {
|
|
|
15036
15183
|
return (data, {
|
|
15037
15184
|
row
|
|
15038
15185
|
}) => ({
|
|
15039
|
-
content: /* @__PURE__ */
|
|
15186
|
+
content: /* @__PURE__ */ jsx83(PinToggle, { rowId: row.id })
|
|
15040
15187
|
});
|
|
15041
15188
|
});
|
|
15042
15189
|
}
|
|
@@ -15294,10 +15441,10 @@ function dragHandleColumn(columnDef) {
|
|
|
15294
15441
|
onDragOver
|
|
15295
15442
|
} = dragData;
|
|
15296
15443
|
return {
|
|
15297
|
-
content: row.draggable ? /* @__PURE__ */
|
|
15444
|
+
content: row.draggable ? /* @__PURE__ */ jsx83("div", { draggable: row.draggable, onDragStart: (evt) => {
|
|
15298
15445
|
ref.current && evt.dataTransfer.setDragImage(ref.current, 0, 0);
|
|
15299
15446
|
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__ */
|
|
15447
|
+
}, 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
15448
|
};
|
|
15302
15449
|
};
|
|
15303
15450
|
});
|
|
@@ -15361,7 +15508,7 @@ function shouldSkipScrollTo(index, virtuosoRangeRef) {
|
|
|
15361
15508
|
|
|
15362
15509
|
// src/components/Table/GridTableApi.ts
|
|
15363
15510
|
function useGridTableApi() {
|
|
15364
|
-
return
|
|
15511
|
+
return useMemo24(() => new GridTableApiImpl(), []);
|
|
15365
15512
|
}
|
|
15366
15513
|
var GridTableApiImpl = class {
|
|
15367
15514
|
// This is public to GridTable but not exported outside of Beam
|
|
@@ -15534,10 +15681,10 @@ function maybeApply(maybeFn) {
|
|
|
15534
15681
|
}
|
|
15535
15682
|
|
|
15536
15683
|
// src/components/Table/hooks/useColumnResizeHandlers.ts
|
|
15537
|
-
import { useCallback as
|
|
15684
|
+
import { useCallback as useCallback14, useRef as useRef37 } from "react";
|
|
15538
15685
|
function useColumnResizeHandlers(columns, columnSizes, tableWidth, setResizedWidth, setResizedWidths) {
|
|
15539
15686
|
const hasLockedColumnsRef = useRef37(false);
|
|
15540
|
-
const distributeAdjustment =
|
|
15687
|
+
const distributeAdjustment = useCallback14(
|
|
15541
15688
|
(rightColumns, totalRightWidth, adjustment) => {
|
|
15542
15689
|
const updates = {};
|
|
15543
15690
|
let remainingAdjustment = adjustment;
|
|
@@ -15552,7 +15699,7 @@ function useColumnResizeHandlers(columns, columnSizes, tableWidth, setResizedWid
|
|
|
15552
15699
|
},
|
|
15553
15700
|
[]
|
|
15554
15701
|
);
|
|
15555
|
-
const calculateResizeUpdates =
|
|
15702
|
+
const calculateResizeUpdates = useCallback14(
|
|
15556
15703
|
(columnId, newWidth, columnIndex) => {
|
|
15557
15704
|
if (!tableWidth || !columnSizes || columnSizes.length === 0) {
|
|
15558
15705
|
return null;
|
|
@@ -15598,7 +15745,7 @@ function useColumnResizeHandlers(columns, columnSizes, tableWidth, setResizedWid
|
|
|
15598
15745
|
},
|
|
15599
15746
|
[tableWidth, columnSizes, columns, distributeAdjustment]
|
|
15600
15747
|
);
|
|
15601
|
-
const calculatePreviewWidth =
|
|
15748
|
+
const calculatePreviewWidth = useCallback14(
|
|
15602
15749
|
(columnId, newWidth, columnIndex) => {
|
|
15603
15750
|
const result = calculateResizeUpdates(columnId, newWidth, columnIndex);
|
|
15604
15751
|
if (!result) {
|
|
@@ -15608,7 +15755,7 @@ function useColumnResizeHandlers(columns, columnSizes, tableWidth, setResizedWid
|
|
|
15608
15755
|
},
|
|
15609
15756
|
[calculateResizeUpdates]
|
|
15610
15757
|
);
|
|
15611
|
-
const handleColumnResize =
|
|
15758
|
+
const handleColumnResize = useCallback14(
|
|
15612
15759
|
(columnId, newWidth, columnIndex) => {
|
|
15613
15760
|
const result = calculateResizeUpdates(columnId, newWidth, columnIndex);
|
|
15614
15761
|
if (!result) {
|
|
@@ -15645,10 +15792,10 @@ function useColumnResizeHandlers(columns, columnSizes, tableWidth, setResizedWid
|
|
|
15645
15792
|
}
|
|
15646
15793
|
|
|
15647
15794
|
// src/components/Table/hooks/useScrollStorage.ts
|
|
15648
|
-
import { useMemo as
|
|
15795
|
+
import { useMemo as useMemo25 } from "react";
|
|
15649
15796
|
function useScrollStorage(tableId, enabled = true) {
|
|
15650
15797
|
const storageKey = `scrollPosition_${window.location.pathname}${window.location.search}_${tableId}`;
|
|
15651
|
-
return
|
|
15798
|
+
return useMemo25(
|
|
15652
15799
|
() => ({
|
|
15653
15800
|
getScrollIndex: () => {
|
|
15654
15801
|
if (!enabled) return void 0;
|
|
@@ -15665,13 +15812,13 @@ function useScrollStorage(tableId, enabled = true) {
|
|
|
15665
15812
|
|
|
15666
15813
|
// src/components/Table/hooks/useSetupColumnSizes.ts
|
|
15667
15814
|
import { useResizeObserver } from "@react-aria/utils";
|
|
15668
|
-
import { useCallback as
|
|
15815
|
+
import { useCallback as useCallback16, useEffect as useEffect18, useRef as useRef38, useState as useState30 } from "react";
|
|
15669
15816
|
|
|
15670
15817
|
// src/components/Table/hooks/useColumnResizing.ts
|
|
15671
|
-
import { useCallback as
|
|
15818
|
+
import { useCallback as useCallback15, useEffect as useEffect17, useState as useState29 } from "react";
|
|
15672
15819
|
import { useDebouncedCallback as useDebouncedCallback3 } from "use-debounce";
|
|
15673
15820
|
function useColumnResizing(storageKey) {
|
|
15674
|
-
const [resizedWidths, setResizedWidths] =
|
|
15821
|
+
const [resizedWidths, setResizedWidths] = useState29(() => {
|
|
15675
15822
|
if (!storageKey) return {};
|
|
15676
15823
|
try {
|
|
15677
15824
|
const stored = sessionStorage.getItem(`columnWidths_${storageKey}`);
|
|
@@ -15691,13 +15838,13 @@ function useColumnResizing(storageKey) {
|
|
|
15691
15838
|
useEffect17(() => {
|
|
15692
15839
|
persistToStorage(resizedWidths);
|
|
15693
15840
|
}, [resizedWidths, persistToStorage]);
|
|
15694
|
-
const setResizedWidth =
|
|
15841
|
+
const setResizedWidth = useCallback15((columnId, width2) => {
|
|
15695
15842
|
setResizedWidths((prev) => ({
|
|
15696
15843
|
...prev,
|
|
15697
15844
|
[columnId]: width2
|
|
15698
15845
|
}));
|
|
15699
15846
|
}, []);
|
|
15700
|
-
const batchSetResizedWidths =
|
|
15847
|
+
const batchSetResizedWidths = useCallback15((widths2) => {
|
|
15701
15848
|
if (typeof widths2 === "function") {
|
|
15702
15849
|
setResizedWidths(widths2);
|
|
15703
15850
|
} else {
|
|
@@ -15707,7 +15854,7 @@ function useColumnResizing(storageKey) {
|
|
|
15707
15854
|
}));
|
|
15708
15855
|
}
|
|
15709
15856
|
}, []);
|
|
15710
|
-
const resetColumnWidths =
|
|
15857
|
+
const resetColumnWidths = useCallback15(() => {
|
|
15711
15858
|
setResizedWidths({});
|
|
15712
15859
|
}, []);
|
|
15713
15860
|
return {
|
|
@@ -15725,13 +15872,13 @@ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visib
|
|
|
15725
15872
|
disableColumnResizing ? void 0 : visibleColumnsStorageKey
|
|
15726
15873
|
);
|
|
15727
15874
|
const calculateImmediately = useRef38(true);
|
|
15728
|
-
const [tableWidth, setTableWidth] =
|
|
15729
|
-
const [contentWidth, setContentWidth] =
|
|
15730
|
-
const [columnSizes, setColumnSizes] =
|
|
15875
|
+
const [tableWidth, setTableWidth] = useState30();
|
|
15876
|
+
const [contentWidth, setContentWidth] = useState30();
|
|
15877
|
+
const [columnSizes, setColumnSizes] = useState30(
|
|
15731
15878
|
() => calcColumnLayout(columns, void 0, style.minWidthPx, expandedColumnIds, resizedWidths, inDocumentScrollLayout).columnSizes
|
|
15732
15879
|
);
|
|
15733
15880
|
const prevTableWidthRef = useRef38(tableWidth);
|
|
15734
|
-
const applyColumnLayout =
|
|
15881
|
+
const applyColumnLayout = useCallback16(
|
|
15735
15882
|
(probeWidth) => {
|
|
15736
15883
|
const layout = calcColumnLayout(
|
|
15737
15884
|
columns,
|
|
@@ -15782,7 +15929,7 @@ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visib
|
|
|
15782
15929
|
[columns, resizedWidths, applyColumnLayout]
|
|
15783
15930
|
);
|
|
15784
15931
|
const applyColumnLayoutDebounced = useDebouncedCallback4(applyColumnLayout, 100);
|
|
15785
|
-
const onResize =
|
|
15932
|
+
const onResize = useCallback16(
|
|
15786
15933
|
() => {
|
|
15787
15934
|
const target = resizeRef.current;
|
|
15788
15935
|
if (target && target.clientWidth !== tableWidth) {
|
|
@@ -15811,10 +15958,10 @@ function useSetupColumnSizes(style, columns, resizeRef, expandedColumnIds, visib
|
|
|
15811
15958
|
}
|
|
15812
15959
|
|
|
15813
15960
|
// src/hooks/useRenderCount.ts
|
|
15814
|
-
import { useCallback as
|
|
15961
|
+
import { useCallback as useCallback17, useRef as useRef39 } from "react";
|
|
15815
15962
|
function useRenderCount() {
|
|
15816
15963
|
const ref = useRef39(/* @__PURE__ */ new Map());
|
|
15817
|
-
const getCount =
|
|
15964
|
+
const getCount = useCallback17((id) => {
|
|
15818
15965
|
const count = ref.current.get(id) || 1;
|
|
15819
15966
|
ref.current.set(id, count + 1);
|
|
15820
15967
|
return { "data-render": count };
|
|
@@ -15824,20 +15971,20 @@ function useRenderCount() {
|
|
|
15824
15971
|
|
|
15825
15972
|
// src/layouts/DocumentScrollLayoutContext.tsx
|
|
15826
15973
|
import { useResizeObserver as useResizeObserver2 } from "@react-aria/utils";
|
|
15827
|
-
import { createContext as createContext6, useCallback as
|
|
15828
|
-
import { mergeProps as
|
|
15974
|
+
import { createContext as createContext6, useCallback as useCallback19, useContext as useContext16, useLayoutEffect as useLayoutEffect4, useRef as useRef40, useState as useState32 } from "react";
|
|
15975
|
+
import { mergeProps as mergeProps19 } from "@homebound/truss/runtime";
|
|
15829
15976
|
|
|
15830
15977
|
// src/layouts/DocumentScrollToTopButton.tsx
|
|
15831
|
-
import { useCallback as
|
|
15832
|
-
import { trussProps as
|
|
15833
|
-
import { jsx as
|
|
15978
|
+
import { useCallback as useCallback18, useEffect as useEffect19, useState as useState31 } from "react";
|
|
15979
|
+
import { trussProps as trussProps50, maybeCssVar as maybeCssVar29 } from "@homebound/truss/runtime";
|
|
15980
|
+
import { jsx as jsx84 } from "react/jsx-runtime";
|
|
15834
15981
|
function DocumentScrollToTopButton({
|
|
15835
15982
|
viewportHeight
|
|
15836
15983
|
}) {
|
|
15837
|
-
const [visible, setVisible] =
|
|
15984
|
+
const [visible, setVisible] = useState31(false);
|
|
15838
15985
|
const tid = useTestIds({}, "documentScrollToTop");
|
|
15839
15986
|
const scrollToTopOffsetPx = 20;
|
|
15840
|
-
const syncVisibility =
|
|
15987
|
+
const syncVisibility = useCallback18(() => {
|
|
15841
15988
|
if (viewportHeight <= 0) return;
|
|
15842
15989
|
setVisible(window.scrollY > viewportHeight);
|
|
15843
15990
|
}, [viewportHeight]);
|
|
@@ -15848,14 +15995,14 @@ function DocumentScrollToTopButton({
|
|
|
15848
15995
|
});
|
|
15849
15996
|
return () => window.removeEventListener("scroll", syncVisibility);
|
|
15850
15997
|
}, [syncVisibility]);
|
|
15851
|
-
const scrollToTop =
|
|
15998
|
+
const scrollToTop = useCallback18(() => {
|
|
15852
15999
|
window.scrollTo({
|
|
15853
16000
|
top: 0
|
|
15854
16001
|
});
|
|
15855
16002
|
}, []);
|
|
15856
|
-
return /* @__PURE__ */
|
|
16003
|
+
return /* @__PURE__ */ jsx84("div", { ...tid.wrapper, "aria-hidden": !visible, ...!visible ? {
|
|
15857
16004
|
inert: ""
|
|
15858
|
-
} : {}, ...
|
|
16005
|
+
} : {}, ...trussProps50({
|
|
15859
16006
|
...{
|
|
15860
16007
|
position: "fixed",
|
|
15861
16008
|
bottom: ["bottom_var", {
|
|
@@ -15879,18 +16026,18 @@ function DocumentScrollToTopButton({
|
|
|
15879
16026
|
}],
|
|
15880
16027
|
pointerEvents: "pointerEvents_none"
|
|
15881
16028
|
}
|
|
15882
|
-
}), children: /* @__PURE__ */
|
|
16029
|
+
}), children: /* @__PURE__ */ jsx84(ContrastScope, { children: /* @__PURE__ */ jsx84(IconButton, { icon: "arrowUp", disabled: !visible, variant: "outline", label: "Scroll to top", onClick: scrollToTop, ...tid }) }) });
|
|
15883
16030
|
}
|
|
15884
16031
|
|
|
15885
16032
|
// src/layouts/DocumentScrollLayoutContext.tsx
|
|
15886
|
-
import { Fragment as Fragment20, jsx as
|
|
16033
|
+
import { Fragment as Fragment20, jsx as jsx85, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
15887
16034
|
var DocumentScrollLayoutContext = createContext6(false);
|
|
15888
16035
|
function DocumentScrollLayoutProvider({
|
|
15889
16036
|
children
|
|
15890
16037
|
}) {
|
|
15891
16038
|
const inDocumentScrollLayout = useContext16(DocumentScrollLayoutContext);
|
|
15892
|
-
if (inDocumentScrollLayout) return /* @__PURE__ */
|
|
15893
|
-
return /* @__PURE__ */
|
|
16039
|
+
if (inDocumentScrollLayout) return /* @__PURE__ */ jsx85(Fragment20, { children });
|
|
16040
|
+
return /* @__PURE__ */ jsx85(DocumentScrollLayoutContext.Provider, { value: true, children: /* @__PURE__ */ jsx85(DocumentScrollLayoutViewportRoot, { children }) });
|
|
15894
16041
|
}
|
|
15895
16042
|
function useDocumentScrollLayout() {
|
|
15896
16043
|
return useContext16(DocumentScrollLayoutContext);
|
|
@@ -15899,11 +16046,11 @@ function DocumentScrollLayoutViewportRoot({
|
|
|
15899
16046
|
children
|
|
15900
16047
|
}) {
|
|
15901
16048
|
const docElementRef = useRef40(typeof document !== "undefined" ? document.documentElement : null);
|
|
15902
|
-
const [viewportSize, setViewportSize] =
|
|
16049
|
+
const [viewportSize, setViewportSize] = useState32({
|
|
15903
16050
|
width: 0,
|
|
15904
16051
|
height: 0
|
|
15905
16052
|
});
|
|
15906
|
-
const syncViewportSize =
|
|
16053
|
+
const syncViewportSize = useCallback19(() => {
|
|
15907
16054
|
const el = docElementRef.current;
|
|
15908
16055
|
if (!el) return;
|
|
15909
16056
|
const width2 = el.clientWidth;
|
|
@@ -15929,20 +16076,20 @@ function DocumentScrollLayoutViewportRoot({
|
|
|
15929
16076
|
}
|
|
15930
16077
|
return (
|
|
15931
16078
|
// `display: contents` keeps vars inheritable without adding a layout box.
|
|
15932
|
-
/* @__PURE__ */
|
|
16079
|
+
/* @__PURE__ */ jsxs49("div", { ...mergeProps19(void 0, Object.keys(style).length > 0 ? style : void 0, {
|
|
15933
16080
|
display: "display_contents"
|
|
15934
16081
|
}), children: [
|
|
15935
16082
|
children,
|
|
15936
|
-
/* @__PURE__ */
|
|
16083
|
+
/* @__PURE__ */ jsx85(DocumentScrollToTopButton, { viewportHeight: viewportSize.height })
|
|
15937
16084
|
] })
|
|
15938
16085
|
);
|
|
15939
16086
|
}
|
|
15940
16087
|
|
|
15941
16088
|
// src/components/Table/components/TableCard.tsx
|
|
15942
|
-
import { useMemo as
|
|
16089
|
+
import { useMemo as useMemo26 } from "react";
|
|
15943
16090
|
import { Link as Link4 } from "react-router-dom";
|
|
15944
|
-
import { trussProps as
|
|
15945
|
-
import { jsx as
|
|
16091
|
+
import { trussProps as trussProps51, mergeProps as mergeProps20, maybeCssVar as maybeCssVar30 } from "@homebound/truss/runtime";
|
|
16092
|
+
import { jsx as jsx86, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
15946
16093
|
var __maybeInc10 = (inc) => {
|
|
15947
16094
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
15948
16095
|
};
|
|
@@ -15990,16 +16137,16 @@ function TableCard(props) {
|
|
|
15990
16137
|
}
|
|
15991
16138
|
}
|
|
15992
16139
|
if (!title) return null;
|
|
15993
|
-
const card = /* @__PURE__ */
|
|
16140
|
+
const card = /* @__PURE__ */ jsx86(TableCardView, { ...tid, imgSrc: rs.row.imgSrc ?? "", title, eyebrow, badge, status, data: dataBlocks, progress });
|
|
15994
16141
|
const to = rowStyle?.rowLink?.(rs.row);
|
|
15995
16142
|
if (to) {
|
|
15996
|
-
return /* @__PURE__ */
|
|
16143
|
+
return /* @__PURE__ */ jsx86(Link4, { to, ...mergeProps20(navLink, void 0, {
|
|
15997
16144
|
textDecoration: "tdn",
|
|
15998
16145
|
color: "color_unset"
|
|
15999
16146
|
}), children: card });
|
|
16000
16147
|
}
|
|
16001
16148
|
if (rowStyle?.onClick) {
|
|
16002
|
-
return /* @__PURE__ */
|
|
16149
|
+
return /* @__PURE__ */ jsx86("button", { onClick: () => rowStyle.onClick(rs.row, api), className: "cursorPointer", children: card });
|
|
16003
16150
|
}
|
|
16004
16151
|
return card;
|
|
16005
16152
|
}
|
|
@@ -16014,8 +16161,8 @@ function TableCardView(props) {
|
|
|
16014
16161
|
progress
|
|
16015
16162
|
} = props;
|
|
16016
16163
|
const tid = useTestIds(props, "tableCardView");
|
|
16017
|
-
const progressValue =
|
|
16018
|
-
return /* @__PURE__ */
|
|
16164
|
+
const progressValue = useMemo26(() => progress !== void 0 ? clampProgress(progress) : 0, [progress]);
|
|
16165
|
+
return /* @__PURE__ */ jsxs50("div", { ...trussProps51({
|
|
16019
16166
|
paddingTop: "pt3",
|
|
16020
16167
|
paddingBottom: "pb3",
|
|
16021
16168
|
paddingRight: "pr3",
|
|
@@ -16030,36 +16177,36 @@ function TableCardView(props) {
|
|
|
16030
16177
|
flexDirection: "fdc",
|
|
16031
16178
|
gap: "gap2"
|
|
16032
16179
|
}), ...tid, children: [
|
|
16033
|
-
/* @__PURE__ */
|
|
16034
|
-
/* @__PURE__ */
|
|
16035
|
-
status && /* @__PURE__ */
|
|
16180
|
+
/* @__PURE__ */ jsxs50("div", { className: "relative", children: [
|
|
16181
|
+
/* @__PURE__ */ jsx86("img", { className: "h_184px w100 objectFit_cover", src: imgSrc, alt: title, ...tid.image }),
|
|
16182
|
+
status && /* @__PURE__ */ jsx86("div", { className: "absolute top1 left1", ...tid.status, children: /* @__PURE__ */ jsx86(Tag, { ...status }) })
|
|
16036
16183
|
] }),
|
|
16037
|
-
/* @__PURE__ */
|
|
16038
|
-
/* @__PURE__ */
|
|
16039
|
-
eyebrow && /* @__PURE__ */
|
|
16040
|
-
title && /* @__PURE__ */
|
|
16041
|
-
/* @__PURE__ */
|
|
16184
|
+
/* @__PURE__ */ jsxs50("div", { className: "df fdc gap2", children: [
|
|
16185
|
+
/* @__PURE__ */ jsxs50("div", { children: [
|
|
16186
|
+
eyebrow && /* @__PURE__ */ jsx86("p", { className: "fw4 fz_14px lh_20px", ...tid.eyebrow, children: eyebrow }),
|
|
16187
|
+
title && /* @__PURE__ */ jsxs50("div", { className: "dif w100 jcsb aic", children: [
|
|
16188
|
+
/* @__PURE__ */ jsxs50("h4", { className: "fwb fz_20px lh_28px", ...tid.title, children: [
|
|
16042
16189
|
title,
|
|
16043
16190
|
" "
|
|
16044
16191
|
] }),
|
|
16045
|
-
badge && /* @__PURE__ */
|
|
16192
|
+
badge && /* @__PURE__ */ jsx86("span", { className: "fw4 fz_14px lh_20px wsnw", ...tid.badge, children: badge })
|
|
16046
16193
|
] })
|
|
16047
16194
|
] }),
|
|
16048
|
-
data && data?.length > 0 && /* @__PURE__ */
|
|
16195
|
+
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
16196
|
display: "df",
|
|
16050
16197
|
gap: "gap_4px",
|
|
16051
16198
|
gridColumn: ["gc_var", {
|
|
16052
16199
|
"--gridColumn": maybeCssVar30(idx % 2 + 1)
|
|
16053
16200
|
}]
|
|
16054
16201
|
}), ...tid[defaultTestId(d.label)], children: [
|
|
16055
|
-
/* @__PURE__ */
|
|
16202
|
+
/* @__PURE__ */ jsxs50("dt", { children: [
|
|
16056
16203
|
d.label,
|
|
16057
16204
|
":"
|
|
16058
16205
|
] }),
|
|
16059
|
-
/* @__PURE__ */
|
|
16206
|
+
/* @__PURE__ */ jsx86("dd", { children: d.value })
|
|
16060
16207
|
] }, d.label)) }),
|
|
16061
|
-
progress !== void 0 && /* @__PURE__ */
|
|
16062
|
-
/* @__PURE__ */
|
|
16208
|
+
progress !== void 0 && /* @__PURE__ */ jsx86("div", { className: "df fdc gap1", children: /* @__PURE__ */ jsxs50("div", { className: "df aic gap1 fs_10px lh_14px", children: [
|
|
16209
|
+
/* @__PURE__ */ jsx86("div", { className: "w25 h_8px br4 bgGray200", children: /* @__PURE__ */ jsx86("div", { ...trussProps51({
|
|
16063
16210
|
height: "h100",
|
|
16064
16211
|
borderRadius: "br4",
|
|
16065
16212
|
backgroundColor: "bgBlue500",
|
|
@@ -16067,7 +16214,7 @@ function TableCardView(props) {
|
|
|
16067
16214
|
"--width": maybeCssVar30(__maybeInc10(`${progressValue}%`))
|
|
16068
16215
|
}]
|
|
16069
16216
|
}) }) }),
|
|
16070
|
-
/* @__PURE__ */
|
|
16217
|
+
/* @__PURE__ */ jsxs50("span", { ...tid.progressValue, children: [
|
|
16071
16218
|
progressValue,
|
|
16072
16219
|
"%"
|
|
16073
16220
|
] })
|
|
@@ -16083,8 +16230,8 @@ function clampProgress(value) {
|
|
|
16083
16230
|
}
|
|
16084
16231
|
|
|
16085
16232
|
// src/components/Table/GridTable.tsx
|
|
16086
|
-
import { trussProps as
|
|
16087
|
-
import { jsx as
|
|
16233
|
+
import { trussProps as trussProps52, mergeProps as mergeProps21, maybeCssVar as maybeCssVar31 } from "@homebound/truss/runtime";
|
|
16234
|
+
import { jsx as jsx87, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
16088
16235
|
import { createElement as createElement2 } from "react";
|
|
16089
16236
|
var __maybeInc11 = (inc) => {
|
|
16090
16237
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -16135,7 +16282,7 @@ function GridTable(props) {
|
|
|
16135
16282
|
columnGutter = false
|
|
16136
16283
|
} = props;
|
|
16137
16284
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
16138
|
-
const columnsWithIds =
|
|
16285
|
+
const columnsWithIds = useMemo27(() => {
|
|
16139
16286
|
const columns2 = columnGutter && inDocumentScrollLayout ? withColumnGutters(_columns) : _columns;
|
|
16140
16287
|
return assignDefaultColumnIds(columns2);
|
|
16141
16288
|
}, [_columns, columnGutter, inDocumentScrollLayout]);
|
|
@@ -16143,7 +16290,7 @@ function GridTable(props) {
|
|
|
16143
16290
|
const virtuosoRangeRef = useRef41(null);
|
|
16144
16291
|
const resizeRef = useRef41(null);
|
|
16145
16292
|
const tableContainerRef = useRef41(null);
|
|
16146
|
-
const api =
|
|
16293
|
+
const api = useMemo27(
|
|
16147
16294
|
() => {
|
|
16148
16295
|
const api2 = props.api ?? new GridTableApiImpl();
|
|
16149
16296
|
api2.init(persistCollapse, virtuosoRef, virtuosoRangeRef);
|
|
@@ -16156,7 +16303,7 @@ function GridTable(props) {
|
|
|
16156
16303
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
16157
16304
|
[props.api]
|
|
16158
16305
|
);
|
|
16159
|
-
const [draggedRow, _setDraggedRow] =
|
|
16306
|
+
const [draggedRow, _setDraggedRow] = useState33(void 0);
|
|
16160
16307
|
const draggedRowRef = useRef41(draggedRow);
|
|
16161
16308
|
const setDraggedRow = (row) => {
|
|
16162
16309
|
draggedRowRef.current = row;
|
|
@@ -16275,7 +16422,7 @@ function GridTable(props) {
|
|
|
16275
16422
|
};
|
|
16276
16423
|
const [tableHeadRows, visibleDataRows, keptSelectedRows, pinnedRows, tooManyClientSideRows] = useComputed(() => {
|
|
16277
16424
|
if (as === "card") {
|
|
16278
|
-
const cardElements = tableState.visibleRows.filter((rs) => ![HEADER, EXPANDABLE_HEADER, TOTALS, KEPT_GROUP].includes(rs.kind)).map((rs) => /* @__PURE__ */
|
|
16425
|
+
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
16426
|
return [[], cardElements, [], [], false];
|
|
16280
16427
|
}
|
|
16281
16428
|
const headerRows = [];
|
|
@@ -16287,7 +16434,7 @@ function GridTable(props) {
|
|
|
16287
16434
|
const pinnedIds = new Set(pinnedRowStates.map((rs) => rs.row.id));
|
|
16288
16435
|
const visibleRows = tableState.visibleRows.filter((rs) => !pinnedIds.has(rs.row.id));
|
|
16289
16436
|
const hasExpandableHeader = visibleRows.some((rs) => rs.row.id === EXPANDABLE_HEADER);
|
|
16290
|
-
const makeRow = (rs, isFirstHeadRow, isFirstBodyRow, isLastBodyRow) => /* @__PURE__ */
|
|
16437
|
+
const makeRow = (rs, isFirstHeadRow, isFirstBodyRow, isLastBodyRow) => /* @__PURE__ */ jsx87(Row, { onDragStart, onDragOver, onDragEnd, onDrop, onDragEnter, ...{
|
|
16291
16438
|
as,
|
|
16292
16439
|
rs,
|
|
16293
16440
|
style,
|
|
@@ -16349,7 +16496,7 @@ function GridTable(props) {
|
|
|
16349
16496
|
const borderless = style?.presentationSettings?.borderless;
|
|
16350
16497
|
const typeScale = style?.presentationSettings?.typeScale;
|
|
16351
16498
|
const borderOnHover = style?.presentationSettings?.borderOnHover;
|
|
16352
|
-
const fieldProps =
|
|
16499
|
+
const fieldProps = useMemo27(() => ({
|
|
16353
16500
|
labelStyle: "hidden",
|
|
16354
16501
|
numberAlignment: "right",
|
|
16355
16502
|
compact: true,
|
|
@@ -16366,11 +16513,11 @@ function GridTable(props) {
|
|
|
16366
16513
|
} : {}
|
|
16367
16514
|
}), [borderOnHover, borderless, typeScale]);
|
|
16368
16515
|
const _as = as === "virtual" && runningInJest ? "div" : as;
|
|
16369
|
-
const rowStateContext =
|
|
16516
|
+
const rowStateContext = useMemo27(() => ({
|
|
16370
16517
|
tableState,
|
|
16371
16518
|
tableContainerRef
|
|
16372
16519
|
}), [tableState, tableContainerRef]);
|
|
16373
|
-
const tableStyle =
|
|
16520
|
+
const tableStyle = useMemo27(() => {
|
|
16374
16521
|
if (!inDocumentScrollLayout || contentWidth === void 0 || tableWidth === void 0) return style;
|
|
16375
16522
|
const minWidthPx = Math.max(style.minWidthPx ?? 0, contentWidth);
|
|
16376
16523
|
if (minWidthPx === style.minWidthPx) return style;
|
|
@@ -16379,9 +16526,9 @@ function GridTable(props) {
|
|
|
16379
16526
|
minWidthPx
|
|
16380
16527
|
};
|
|
16381
16528
|
}, [contentWidth, inDocumentScrollLayout, style, tableWidth]);
|
|
16382
|
-
return /* @__PURE__ */
|
|
16383
|
-
/* @__PURE__ */
|
|
16384
|
-
as === "card" ? /* @__PURE__ */
|
|
16529
|
+
return /* @__PURE__ */ jsx87(TableStateContext.Provider, { value: rowStateContext, children: /* @__PURE__ */ jsxs51(PresentationProvider, { fieldProps, wrap: style?.presentationSettings?.wrap, children: [
|
|
16530
|
+
/* @__PURE__ */ jsx87("div", { ref: resizeRef, ...trussProps52(getTableRefWidthStyles(as === "virtual", inDocumentScrollLayout)) }),
|
|
16531
|
+
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
16532
|
] }) });
|
|
16386
16533
|
}
|
|
16387
16534
|
var renders = {
|
|
@@ -16390,7 +16537,7 @@ var renders = {
|
|
|
16390
16537
|
virtual: renderVirtual
|
|
16391
16538
|
};
|
|
16392
16539
|
function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, _virtuosoRef, _virtuosoRangeRef, tableHeadRows, stickyOffset, _infiniteScroll, tableContainerRef, _persistScrollPosition) {
|
|
16393
|
-
return /* @__PURE__ */
|
|
16540
|
+
return /* @__PURE__ */ jsxs51("div", { ref: tableContainerRef, ...trussProps52({
|
|
16394
16541
|
// Use `fit-content` to ensure the width of the table takes up the full width of its content.
|
|
16395
16542
|
// Otherwise, the table's width would be that of its container, which may not be as wide as the table itself.
|
|
16396
16543
|
// 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 +16553,7 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinned
|
|
|
16406
16553
|
} : {},
|
|
16407
16554
|
...xss
|
|
16408
16555
|
}), "data-testid": id, children: [
|
|
16409
|
-
/* @__PURE__ */
|
|
16556
|
+
/* @__PURE__ */ jsxs51("div", { ...trussProps52({
|
|
16410
16557
|
...stickyHeader || pinnedRows.length > 0 ? {
|
|
16411
16558
|
position: "sticky",
|
|
16412
16559
|
transition: "transitionTop",
|
|
@@ -16421,9 +16568,9 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinned
|
|
|
16421
16568
|
tableHeadRows,
|
|
16422
16569
|
pinnedRows
|
|
16423
16570
|
] }),
|
|
16424
|
-
/* @__PURE__ */
|
|
16571
|
+
/* @__PURE__ */ jsxs51("div", { children: [
|
|
16425
16572
|
keptSelectedRows,
|
|
16426
|
-
firstRowMessage && /* @__PURE__ */
|
|
16573
|
+
firstRowMessage && /* @__PURE__ */ jsx87("div", { ...trussProps52({
|
|
16427
16574
|
...keptSelectedRows.length === 0 && style.firstBodyRowCss,
|
|
16428
16575
|
...style.firstRowMessageCss,
|
|
16429
16576
|
...visibleDataRows.length === 0 && style.lastRowCss,
|
|
@@ -16436,7 +16583,7 @@ function renderDiv(style, id, columns, visibleDataRows, keptSelectedRows, pinned
|
|
|
16436
16583
|
] });
|
|
16437
16584
|
}
|
|
16438
16585
|
function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, _virtuosoRef, _virtuosoRangeRef, tableHeadRows, stickyOffset, _infiniteScroll, tableContainerRef, _persistScrollPosition) {
|
|
16439
|
-
return /* @__PURE__ */
|
|
16586
|
+
return /* @__PURE__ */ jsxs51("table", { ref: tableContainerRef, ...trussProps52({
|
|
16440
16587
|
...{
|
|
16441
16588
|
width: "w100",
|
|
16442
16589
|
borderCollapse: "borderCollapse_separate",
|
|
@@ -16450,7 +16597,7 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinn
|
|
|
16450
16597
|
} : {},
|
|
16451
16598
|
...xss
|
|
16452
16599
|
}), "data-testid": id, children: [
|
|
16453
|
-
/* @__PURE__ */
|
|
16600
|
+
/* @__PURE__ */ jsxs51("thead", { ...trussProps52({
|
|
16454
16601
|
...stickyHeader || pinnedRows.length > 0 ? {
|
|
16455
16602
|
position: "sticky",
|
|
16456
16603
|
transition: "transitionTop",
|
|
@@ -16465,13 +16612,13 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinn
|
|
|
16465
16612
|
tableHeadRows,
|
|
16466
16613
|
pinnedRows
|
|
16467
16614
|
] }),
|
|
16468
|
-
/* @__PURE__ */
|
|
16615
|
+
/* @__PURE__ */ jsxs51("tbody", { children: [
|
|
16469
16616
|
keptSelectedRows,
|
|
16470
|
-
firstRowMessage && /* @__PURE__ */
|
|
16617
|
+
firstRowMessage && /* @__PURE__ */ jsx87("tr", { ...trussProps52({
|
|
16471
16618
|
...tableRowPrintBreakCss,
|
|
16472
16619
|
...keptSelectedRows.length === 0 && style.firstBodyRowCss,
|
|
16473
16620
|
...visibleDataRows.length === 0 && style.lastRowCss
|
|
16474
|
-
}), children: /* @__PURE__ */
|
|
16621
|
+
}), children: /* @__PURE__ */ jsx87("td", { colSpan: columns.length, ...trussProps52({
|
|
16475
16622
|
...style.betweenRowsCss,
|
|
16476
16623
|
...style.firstRowMessageCss,
|
|
16477
16624
|
...visibleDataRows.length === 0 && style.lastRowCellCss,
|
|
@@ -16485,7 +16632,7 @@ function renderTable(style, id, columns, visibleDataRows, keptSelectedRows, pinn
|
|
|
16485
16632
|
function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, pinnedRows, firstRowMessage, stickyHeader, xss, virtuosoRef, virtuosoRangeRef, tableHeadRows, stickyOffset, infiniteScroll, _tableContainerRef, persistScrollPosition = infiniteScroll === void 0) {
|
|
16486
16633
|
const customScrollParent = useVirtualizedScrollParent();
|
|
16487
16634
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
16488
|
-
const [fetchMoreInProgress, setFetchMoreInProgress] =
|
|
16635
|
+
const [fetchMoreInProgress, setFetchMoreInProgress] = useState33(false);
|
|
16489
16636
|
const {
|
|
16490
16637
|
getScrollIndex,
|
|
16491
16638
|
setScrollIndex
|
|
@@ -16494,7 +16641,7 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, pi
|
|
|
16494
16641
|
const topItemCount = (stickyHeader || pinnedRows.length > 0 ? tableHeadRows.length : 0) + pinnedRows.length;
|
|
16495
16642
|
const validatedScrollIndex = savedScrollIndex !== void 0 && savedScrollIndex > 0 && savedScrollIndex < visibleDataRows.length ? savedScrollIndex + topItemCount : void 0;
|
|
16496
16643
|
const virtuosoKey = !!validatedScrollIndex && visibleDataRows.length > 0 ? "with-data" : "virtuoso";
|
|
16497
|
-
return /* @__PURE__ */
|
|
16644
|
+
return /* @__PURE__ */ jsx87(
|
|
16498
16645
|
Virtuoso2,
|
|
16499
16646
|
{
|
|
16500
16647
|
useWindowScroll: inDocumentScrollLayout && !customScrollParent,
|
|
@@ -16509,7 +16656,7 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, pi
|
|
|
16509
16656
|
components: {
|
|
16510
16657
|
// zIndex keeps the pinned head above sticky columns; `top` matches the offsets used by
|
|
16511
16658
|
// the div/table render paths so virtualized tables pin below the global nav + page header.
|
|
16512
|
-
TopItemList: React13.forwardRef((props, ref) => /* @__PURE__ */
|
|
16659
|
+
TopItemList: React13.forwardRef((props, ref) => /* @__PURE__ */ jsx87("div", { ...props, ref, ...mergeProps21(void 0, {
|
|
16513
16660
|
...props.style,
|
|
16514
16661
|
...style.minWidthPx !== void 0 ? {
|
|
16515
16662
|
minWidth: style.minWidthPx
|
|
@@ -16521,13 +16668,13 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, pi
|
|
|
16521
16668
|
}) })),
|
|
16522
16669
|
List: VirtualRoot(style, columns, id, xss),
|
|
16523
16670
|
Footer: () => {
|
|
16524
|
-
return /* @__PURE__ */
|
|
16671
|
+
return /* @__PURE__ */ jsx87("div", { ...trussProps52({
|
|
16525
16672
|
...style.virtualFooterPaddingBottomPx !== void 0 ? {
|
|
16526
16673
|
paddingBottom: ["pb_var", {
|
|
16527
16674
|
"--paddingBottom": `${style.virtualFooterPaddingBottomPx ?? 0}px`
|
|
16528
16675
|
}]
|
|
16529
16676
|
} : {}
|
|
16530
|
-
}), children: fetchMoreInProgress && /* @__PURE__ */
|
|
16677
|
+
}), children: fetchMoreInProgress && /* @__PURE__ */ jsx87("div", { className: "h5 df aic jcc", children: /* @__PURE__ */ jsx87(Loader, { size: "xs" }) }) });
|
|
16531
16678
|
}
|
|
16532
16679
|
},
|
|
16533
16680
|
topItemCount,
|
|
@@ -16548,11 +16695,11 @@ function renderVirtual(style, id, columns, visibleDataRows, keptSelectedRows, pi
|
|
|
16548
16695
|
if (index === 0) {
|
|
16549
16696
|
return (
|
|
16550
16697
|
// Ensure the fallback message is the same width as the table
|
|
16551
|
-
/* @__PURE__ */
|
|
16698
|
+
/* @__PURE__ */ jsx87("div", { ...trussProps52({
|
|
16552
16699
|
...getTableRefWidthStyles(true, inDocumentScrollLayout),
|
|
16553
16700
|
...keptSelectedRows.length === 0 && style.firstBodyRowCss,
|
|
16554
16701
|
...visibleDataRows.length === 0 && style.lastRowCss
|
|
16555
|
-
}), children: /* @__PURE__ */
|
|
16702
|
+
}), children: /* @__PURE__ */ jsx87("div", { ...trussProps52({
|
|
16556
16703
|
...style.firstRowMessageCss,
|
|
16557
16704
|
...visibleDataRows.length === 0 && style.lastRowCellCss,
|
|
16558
16705
|
...visibleDataRows.length === 0 && style.lastRowFirstCellCss,
|
|
@@ -16601,7 +16748,7 @@ function CardView({
|
|
|
16601
16748
|
}) {
|
|
16602
16749
|
const customScrollParent = useVirtualizedScrollParent();
|
|
16603
16750
|
const inDocumentScrollLayout = useDocumentScrollLayout();
|
|
16604
|
-
const [fetchMoreInProgress, setFetchMoreInProgress] =
|
|
16751
|
+
const [fetchMoreInProgress, setFetchMoreInProgress] = useState33(false);
|
|
16605
16752
|
const {
|
|
16606
16753
|
getScrollIndex,
|
|
16607
16754
|
setScrollIndex
|
|
@@ -16610,9 +16757,9 @@ function CardView({
|
|
|
16610
16757
|
const validatedScrollIndex = savedScrollIndex !== void 0 && savedScrollIndex > 0 && savedScrollIndex < cardRows.length ? savedScrollIndex : void 0;
|
|
16611
16758
|
const virtuosoKey = !!validatedScrollIndex && cardRows.length > 0 ? "with-data" : "virtuoso";
|
|
16612
16759
|
if (runningInJest) {
|
|
16613
|
-
return /* @__PURE__ */
|
|
16760
|
+
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
16761
|
}
|
|
16615
|
-
return /* @__PURE__ */
|
|
16762
|
+
return /* @__PURE__ */ jsx87("div", { className: "pt2 pb2 h100", children: /* @__PURE__ */ createElement2(VirtuosoGrid, { useWindowScroll: inDocumentScrollLayout && !customScrollParent, ...customScrollParent ? {
|
|
16616
16763
|
customScrollParent
|
|
16617
16764
|
} : {}, ...validatedScrollIndex !== void 0 ? {
|
|
16618
16765
|
initialTopMostItemIndex: validatedScrollIndex
|
|
@@ -16621,7 +16768,7 @@ function CardView({
|
|
|
16621
16768
|
style,
|
|
16622
16769
|
children
|
|
16623
16770
|
}, ref) {
|
|
16624
|
-
return /* @__PURE__ */
|
|
16771
|
+
return /* @__PURE__ */ jsx87("div", { ref, ...mergeProps21(void 0, style, {
|
|
16625
16772
|
display: "dg",
|
|
16626
16773
|
gridTemplateColumns: "gtc_repeat_auto_fill_330px",
|
|
16627
16774
|
justifyContent: "jcc",
|
|
@@ -16632,7 +16779,7 @@ function CardView({
|
|
|
16632
16779
|
paddingLeft: "pl3"
|
|
16633
16780
|
}), children });
|
|
16634
16781
|
}),
|
|
16635
|
-
Footer: () => /* @__PURE__ */
|
|
16782
|
+
Footer: () => /* @__PURE__ */ jsx87("div", { children: fetchMoreInProgress && /* @__PURE__ */ jsx87("div", { className: "h5 df aic jcc", children: /* @__PURE__ */ jsx87(Loader, { size: "xs" }) }) })
|
|
16636
16783
|
}, rangeChanged: (newRange) => {
|
|
16637
16784
|
virtuosoRangeRef.current = newRange;
|
|
16638
16785
|
if (!infiniteScroll && cardRows.length > 0) {
|
|
@@ -16658,7 +16805,7 @@ var VirtualRoot = memoizeOne((gs, _columns, id, xss) => {
|
|
|
16658
16805
|
style,
|
|
16659
16806
|
children
|
|
16660
16807
|
}, ref) {
|
|
16661
|
-
return /* @__PURE__ */
|
|
16808
|
+
return /* @__PURE__ */ jsx87("div", { ref, ...mergeProps21(void 0, style, {
|
|
16662
16809
|
...gs.rootCss,
|
|
16663
16810
|
...gs.minWidthPx ? {
|
|
16664
16811
|
minWidth: ["mw_var", {
|
|
@@ -16674,8 +16821,8 @@ var VirtualRoot = memoizeOne((gs, _columns, id, xss) => {
|
|
|
16674
16821
|
});
|
|
16675
16822
|
|
|
16676
16823
|
// src/components/ToggleChip.tsx
|
|
16677
|
-
import { trussProps as
|
|
16678
|
-
import { jsx as
|
|
16824
|
+
import { trussProps as trussProps53 } from "@homebound/truss/runtime";
|
|
16825
|
+
import { jsx as jsx88, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
16679
16826
|
function ToggleChip(props) {
|
|
16680
16827
|
const {
|
|
16681
16828
|
text,
|
|
@@ -16693,7 +16840,7 @@ function ToggleChip(props) {
|
|
|
16693
16840
|
} = useHover2({});
|
|
16694
16841
|
const compact = fieldProps?.compact;
|
|
16695
16842
|
const tid = useTestIds(props, "chip");
|
|
16696
|
-
return /* @__PURE__ */
|
|
16843
|
+
return /* @__PURE__ */ jsxs52("button", { type: "button", ...trussProps53({
|
|
16697
16844
|
...chipBaseStyles(compact),
|
|
16698
16845
|
...isHovered && !disabled && chipHoverStyles,
|
|
16699
16846
|
// Use a lower right-padding to get closer to the `X` circle when clearable, i.e. not disabled
|
|
@@ -16708,8 +16855,8 @@ function ToggleChip(props) {
|
|
|
16708
16855
|
},
|
|
16709
16856
|
...xss
|
|
16710
16857
|
}), disabled, onClick, ...hoverProps, ...tid, children: [
|
|
16711
|
-
icon && /* @__PURE__ */
|
|
16712
|
-
/* @__PURE__ */
|
|
16858
|
+
icon && /* @__PURE__ */ jsx88("span", { className: "fs0", ...tid.icon, children: /* @__PURE__ */ jsx88(Icon, { icon, color: "rgba(36, 36, 36, 1)" /* Gray900 */, inc: 2 }) }),
|
|
16859
|
+
/* @__PURE__ */ jsx88("span", { ...trussProps53({
|
|
16713
16860
|
textAlign: "tal",
|
|
16714
16861
|
overflow: "oh",
|
|
16715
16862
|
display: "d_negwebkit_box",
|
|
@@ -16721,14 +16868,14 @@ function ToggleChip(props) {
|
|
|
16721
16868
|
paddingRight: "pr0"
|
|
16722
16869
|
} : {}
|
|
16723
16870
|
}), title: text, children: text }),
|
|
16724
|
-
!disabled && /* @__PURE__ */
|
|
16871
|
+
!disabled && /* @__PURE__ */ jsx88("span", { ...trussProps53({
|
|
16725
16872
|
...{
|
|
16726
16873
|
flexShrink: "fs0",
|
|
16727
16874
|
borderRadius: "br16",
|
|
16728
16875
|
backgroundColor: "bgGray200"
|
|
16729
16876
|
},
|
|
16730
16877
|
...isHovered && chipHoverStyles
|
|
16731
|
-
}), ...tid.x, children: /* @__PURE__ */
|
|
16878
|
+
}), ...tid.x, children: /* @__PURE__ */ jsx88(Icon, { icon: "x", color: "rgba(141, 141, 141, 1)" /* Gray600 */, inc: 2 }) })
|
|
16732
16879
|
] });
|
|
16733
16880
|
}
|
|
16734
16881
|
var chipHoverStyles = {
|
|
@@ -16743,8 +16890,8 @@ var chipDisabledStyles = {
|
|
|
16743
16890
|
};
|
|
16744
16891
|
|
|
16745
16892
|
// src/components/ToggleChips.tsx
|
|
16746
|
-
import { trussProps as
|
|
16747
|
-
import { jsx as
|
|
16893
|
+
import { trussProps as trussProps54 } from "@homebound/truss/runtime";
|
|
16894
|
+
import { jsx as jsx89 } from "react/jsx-runtime";
|
|
16748
16895
|
function ToggleChips(props) {
|
|
16749
16896
|
const {
|
|
16750
16897
|
values,
|
|
@@ -16753,22 +16900,22 @@ function ToggleChips(props) {
|
|
|
16753
16900
|
xss
|
|
16754
16901
|
} = props;
|
|
16755
16902
|
const tid = useTestIds(props, "toggleChips");
|
|
16756
|
-
return /* @__PURE__ */
|
|
16903
|
+
return /* @__PURE__ */ jsx89("div", { ...trussProps54({
|
|
16757
16904
|
...{
|
|
16758
16905
|
display: "df",
|
|
16759
16906
|
flexWrap: "flexWrap_wrap",
|
|
16760
16907
|
gap: "gap1"
|
|
16761
16908
|
},
|
|
16762
16909
|
...xss
|
|
16763
|
-
}), ...tid, children: values.map((value) => /* @__PURE__ */
|
|
16910
|
+
}), ...tid, children: values.map((value) => /* @__PURE__ */ jsx89(ToggleChip, { text: getLabel(value), onClick: () => onRemove(value), ...tid.chip }, getLabel(value))) });
|
|
16764
16911
|
}
|
|
16765
16912
|
|
|
16766
16913
|
// src/components/Accordion.tsx
|
|
16767
16914
|
import { useId, useResizeObserver as useResizeObserver3 } from "@react-aria/utils";
|
|
16768
|
-
import { useCallback as
|
|
16915
|
+
import { useCallback as useCallback20, useEffect as useEffect21, useMemo as useMemo28, useState as useState34 } from "react";
|
|
16769
16916
|
import { useFocusRing as useFocusRing10 } from "react-aria";
|
|
16770
|
-
import { trussProps as
|
|
16771
|
-
import { jsx as
|
|
16917
|
+
import { trussProps as trussProps55, maybeCssVar as maybeCssVar32 } from "@homebound/truss/runtime";
|
|
16918
|
+
import { jsx as jsx90, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
16772
16919
|
var __maybeInc12 = (inc) => {
|
|
16773
16920
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
16774
16921
|
};
|
|
@@ -16791,23 +16938,23 @@ function Accordion(props) {
|
|
|
16791
16938
|
} = props;
|
|
16792
16939
|
const tid = useTestIds(props, "accordion");
|
|
16793
16940
|
const id = useId();
|
|
16794
|
-
const [expanded, setExpanded] =
|
|
16941
|
+
const [expanded, setExpanded] = useState34(defaultExpanded && !disabled);
|
|
16795
16942
|
const {
|
|
16796
16943
|
isFocusVisible,
|
|
16797
16944
|
focusProps
|
|
16798
16945
|
} = useFocusRing10();
|
|
16799
|
-
const [contentEl, setContentEl] =
|
|
16800
|
-
const contentRef =
|
|
16946
|
+
const [contentEl, setContentEl] = useState34(null);
|
|
16947
|
+
const contentRef = useMemo28(() => ({
|
|
16801
16948
|
current: contentEl
|
|
16802
16949
|
}), [contentEl]);
|
|
16803
|
-
const [contentHeight, setContentHeight] =
|
|
16950
|
+
const [contentHeight, setContentHeight] = useState34(expanded ? "auto" : "0");
|
|
16804
16951
|
useEffect21(() => {
|
|
16805
16952
|
setExpanded(defaultExpanded && !disabled);
|
|
16806
16953
|
}, [defaultExpanded, disabled]);
|
|
16807
16954
|
useEffect21(() => {
|
|
16808
16955
|
setContentHeight(expanded && contentEl ? `${contentEl.scrollHeight}px` : "0");
|
|
16809
16956
|
}, [expanded, contentEl]);
|
|
16810
|
-
const onResize =
|
|
16957
|
+
const onResize = useCallback20(() => {
|
|
16811
16958
|
if (contentEl && expanded) {
|
|
16812
16959
|
setContentHeight(`${contentEl.scrollHeight}px`);
|
|
16813
16960
|
}
|
|
@@ -16816,12 +16963,12 @@ function Accordion(props) {
|
|
|
16816
16963
|
ref: contentRef,
|
|
16817
16964
|
onResize
|
|
16818
16965
|
});
|
|
16819
|
-
const toggle =
|
|
16966
|
+
const toggle = useCallback20(() => {
|
|
16820
16967
|
setExpanded((prev) => !prev);
|
|
16821
16968
|
if (setExpandedIndex) setExpandedIndex(index);
|
|
16822
16969
|
if (onToggle) onToggle();
|
|
16823
16970
|
}, [index, setExpandedIndex, onToggle]);
|
|
16824
|
-
const touchableStyle =
|
|
16971
|
+
const touchableStyle = useMemo28(() => ({
|
|
16825
16972
|
...{
|
|
16826
16973
|
display: "df",
|
|
16827
16974
|
justifyContent: "jcsb",
|
|
@@ -16867,7 +17014,7 @@ function Accordion(props) {
|
|
|
16867
17014
|
},
|
|
16868
17015
|
...xss
|
|
16869
17016
|
}), [compact, disabled, isFocusVisible, titleOnClick, xss]);
|
|
16870
|
-
return /* @__PURE__ */
|
|
17017
|
+
return /* @__PURE__ */ jsxs53("div", { ...tid.container, ...trussProps55({
|
|
16871
17018
|
...{
|
|
16872
17019
|
borderColor: "bcGray300",
|
|
16873
17020
|
...topBorder ? {
|
|
@@ -16885,14 +17032,14 @@ function Accordion(props) {
|
|
|
16885
17032
|
}]
|
|
16886
17033
|
} : {}
|
|
16887
17034
|
}), children: [
|
|
16888
|
-
titleOnClick ? /* @__PURE__ */
|
|
16889
|
-
/* @__PURE__ */
|
|
17035
|
+
titleOnClick ? /* @__PURE__ */ jsxs53("div", { ...focusProps, "aria-controls": id, "aria-expanded": expanded, className: "df", children: [
|
|
17036
|
+
/* @__PURE__ */ jsx90("button", { ...tid.title, disabled, ...trussProps55({
|
|
16890
17037
|
...touchableStyle,
|
|
16891
17038
|
...{
|
|
16892
17039
|
flexGrow: "fg1"
|
|
16893
17040
|
}
|
|
16894
17041
|
}), onClick: titleOnClick, children: title }),
|
|
16895
|
-
/* @__PURE__ */
|
|
17042
|
+
/* @__PURE__ */ jsx90("button", { ...tid.toggle, disabled, ...trussProps55({
|
|
16896
17043
|
...touchableStyle,
|
|
16897
17044
|
...{
|
|
16898
17045
|
paddingLeft: "pl2",
|
|
@@ -16903,23 +17050,23 @@ function Accordion(props) {
|
|
|
16903
17050
|
paddingRight: "pr_10px"
|
|
16904
17051
|
} : {}
|
|
16905
17052
|
}
|
|
16906
|
-
}), onClick: toggle, children: /* @__PURE__ */
|
|
16907
|
-
] }) : /* @__PURE__ */
|
|
17053
|
+
}), onClick: toggle, children: /* @__PURE__ */ jsx90(RotatingChevronIcon, { expanded }) })
|
|
17054
|
+
] }) : /* @__PURE__ */ jsxs53("button", { ...tid.title, ...focusProps, "aria-controls": id, "aria-expanded": expanded, disabled, ...trussProps55({
|
|
16908
17055
|
...{
|
|
16909
17056
|
width: "w100"
|
|
16910
17057
|
},
|
|
16911
17058
|
...touchableStyle
|
|
16912
17059
|
}), onClick: toggle, children: [
|
|
16913
|
-
/* @__PURE__ */
|
|
16914
|
-
/* @__PURE__ */
|
|
17060
|
+
/* @__PURE__ */ jsx90("span", { className: "fg1 tal", children: title }),
|
|
17061
|
+
/* @__PURE__ */ jsx90(RotatingChevronIcon, { expanded })
|
|
16915
17062
|
] }),
|
|
16916
|
-
/* @__PURE__ */
|
|
17063
|
+
/* @__PURE__ */ jsx90("div", { ...tid.details, id, "aria-hidden": !expanded, ...trussProps55({
|
|
16917
17064
|
overflow: "oh",
|
|
16918
17065
|
height: ["h_var", {
|
|
16919
17066
|
"--height": maybeCssVar32(__maybeInc12(contentHeight))
|
|
16920
17067
|
}],
|
|
16921
17068
|
transition: "transition_height_250ms_ease_in_out"
|
|
16922
|
-
}), children: expanded && /* @__PURE__ */
|
|
17069
|
+
}), children: expanded && /* @__PURE__ */ jsx90("div", { ...trussProps55({
|
|
16923
17070
|
paddingLeft: "pl2",
|
|
16924
17071
|
paddingRight: "pr2",
|
|
16925
17072
|
paddingBottom: "pb2",
|
|
@@ -16934,13 +17081,13 @@ function Accordion(props) {
|
|
|
16934
17081
|
] });
|
|
16935
17082
|
}
|
|
16936
17083
|
function RotatingChevronIcon(props) {
|
|
16937
|
-
return /* @__PURE__ */
|
|
17084
|
+
return /* @__PURE__ */ jsx90("span", { ...trussProps55({
|
|
16938
17085
|
flexShrink: "fs0",
|
|
16939
17086
|
transition: "transition_transform_250ms_linear",
|
|
16940
17087
|
transform: ["transform_var", {
|
|
16941
17088
|
"--transform": maybeCssVar32(props.expanded ? "rotate(180deg)" : "rotate(0deg)")
|
|
16942
17089
|
}]
|
|
16943
|
-
}), children: /* @__PURE__ */
|
|
17090
|
+
}), children: /* @__PURE__ */ jsx90(Icon, { icon: "chevronDown" }) });
|
|
16944
17091
|
}
|
|
16945
17092
|
var accordionSizes = {
|
|
16946
17093
|
xs: 240,
|
|
@@ -16950,15 +17097,15 @@ var accordionSizes = {
|
|
|
16950
17097
|
};
|
|
16951
17098
|
|
|
16952
17099
|
// src/components/AccordionList.tsx
|
|
16953
|
-
import { useState as
|
|
16954
|
-
import { Fragment as Fragment21, jsx as
|
|
17100
|
+
import { useState as useState35 } from "react";
|
|
17101
|
+
import { Fragment as Fragment21, jsx as jsx91 } from "react/jsx-runtime";
|
|
16955
17102
|
function AccordionList(props) {
|
|
16956
17103
|
const { accordions, size, allowMultipleExpanded = true, compact = false } = props;
|
|
16957
|
-
const [expandedIndex, setExpandedIndex] =
|
|
17104
|
+
const [expandedIndex, setExpandedIndex] = useState35(
|
|
16958
17105
|
accordions.findIndex((a) => a.defaultExpanded)
|
|
16959
17106
|
);
|
|
16960
17107
|
const tid = useTestIds(props, "accordionList");
|
|
16961
|
-
return /* @__PURE__ */
|
|
17108
|
+
return /* @__PURE__ */ jsx91(Fragment21, { children: accordions.map((accordionProps, index, arr) => /* @__PURE__ */ jsx91(
|
|
16962
17109
|
Accordion,
|
|
16963
17110
|
{
|
|
16964
17111
|
...accordionProps,
|
|
@@ -16983,7 +17130,7 @@ function assertNever(x) {
|
|
|
16983
17130
|
}
|
|
16984
17131
|
|
|
16985
17132
|
// src/components/AutoSaveIndicator.tsx
|
|
16986
|
-
import { jsx as
|
|
17133
|
+
import { jsx as jsx92, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
16987
17134
|
function AutoSaveIndicator({
|
|
16988
17135
|
hideOnIdle,
|
|
16989
17136
|
doNotReset
|
|
@@ -17004,11 +17151,11 @@ function AutoSaveIndicator({
|
|
|
17004
17151
|
);
|
|
17005
17152
|
switch (status) {
|
|
17006
17153
|
case "idle" /* IDLE */:
|
|
17007
|
-
return hideOnIdle ? null : /* @__PURE__ */
|
|
17154
|
+
return hideOnIdle ? null : /* @__PURE__ */ jsx92(Indicator, { icon: "cloudSave" });
|
|
17008
17155
|
case "saving" /* SAVING */:
|
|
17009
|
-
return /* @__PURE__ */
|
|
17156
|
+
return /* @__PURE__ */ jsx92(Indicator, { icon: "refresh", text: "Saving..." });
|
|
17010
17157
|
case "done" /* DONE */:
|
|
17011
|
-
return /* @__PURE__ */
|
|
17158
|
+
return /* @__PURE__ */ jsx92(Indicator, { icon: "cloudSave", text: "Saved" });
|
|
17012
17159
|
case "error" /* ERROR */:
|
|
17013
17160
|
return (
|
|
17014
17161
|
/**
|
|
@@ -17016,7 +17163,7 @@ function AutoSaveIndicator({
|
|
|
17016
17163
|
* rendering it far away from the Icon/Text. Wrap it with a div to constrain
|
|
17017
17164
|
* it.
|
|
17018
17165
|
*/
|
|
17019
|
-
/* @__PURE__ */
|
|
17166
|
+
/* @__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
17167
|
);
|
|
17021
17168
|
default:
|
|
17022
17169
|
assertNever(status);
|
|
@@ -17027,15 +17174,15 @@ function Indicator({
|
|
|
17027
17174
|
icon,
|
|
17028
17175
|
color
|
|
17029
17176
|
}) {
|
|
17030
|
-
return /* @__PURE__ */
|
|
17031
|
-
/* @__PURE__ */
|
|
17177
|
+
return /* @__PURE__ */ jsxs54("div", { "data-testid": "autoSave", className: "df gap1 aic gray700 fw6 fz_14px lh_20px", children: [
|
|
17178
|
+
/* @__PURE__ */ jsx92(Icon, { icon, color }),
|
|
17032
17179
|
text
|
|
17033
17180
|
] });
|
|
17034
17181
|
}
|
|
17035
17182
|
|
|
17036
17183
|
// src/components/Banner.tsx
|
|
17037
|
-
import { trussProps as
|
|
17038
|
-
import { jsx as
|
|
17184
|
+
import { trussProps as trussProps56 } from "@homebound/truss/runtime";
|
|
17185
|
+
import { jsx as jsx93, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
17039
17186
|
function Banner(props) {
|
|
17040
17187
|
const {
|
|
17041
17188
|
type,
|
|
@@ -17045,7 +17192,7 @@ function Banner(props) {
|
|
|
17045
17192
|
...others
|
|
17046
17193
|
} = props;
|
|
17047
17194
|
const tid = useTestIds(others, "banner");
|
|
17048
|
-
return /* @__PURE__ */
|
|
17195
|
+
return /* @__PURE__ */ jsxs55("div", { ...trussProps56({
|
|
17049
17196
|
...variantStyles3[type],
|
|
17050
17197
|
...{
|
|
17051
17198
|
display: "df",
|
|
@@ -17063,9 +17210,9 @@ function Banner(props) {
|
|
|
17063
17210
|
boxShadow: "bshBasic"
|
|
17064
17211
|
}
|
|
17065
17212
|
}), ...tid, role: "alert", children: [
|
|
17066
|
-
showIcon && /* @__PURE__ */
|
|
17067
|
-
/* @__PURE__ */
|
|
17068
|
-
onClose && /* @__PURE__ */
|
|
17213
|
+
showIcon && /* @__PURE__ */ jsx93("span", { className: "fs0", children: /* @__PURE__ */ jsx93(Icon, { icon: typeToIcon[type], ...tid.type, color: "rgba(36, 36, 36, 1)" /* Gray900 */ }) }),
|
|
17214
|
+
/* @__PURE__ */ jsx93("span", { className: "fg1", ...tid.message, children: message }),
|
|
17215
|
+
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
17216
|
] });
|
|
17070
17217
|
}
|
|
17071
17218
|
var typeToIcon = {
|
|
@@ -17104,20 +17251,20 @@ import { OverlayProvider } from "react-aria";
|
|
|
17104
17251
|
|
|
17105
17252
|
// src/components/Modal/Modal.tsx
|
|
17106
17253
|
import { useResizeObserver as useResizeObserver4 } from "@react-aria/utils";
|
|
17107
|
-
import { useCallback as
|
|
17254
|
+
import { useCallback as useCallback21, useEffect as useEffect24, useRef as useRef43, useState as useState36 } from "react";
|
|
17108
17255
|
import { FocusScope as FocusScope4, OverlayContainer as OverlayContainer2, useDialog, useModal as useModal2, useOverlay as useOverlay2, usePreventScroll } from "react-aria";
|
|
17109
17256
|
import { createPortal as createPortal3 } from "react-dom";
|
|
17110
17257
|
|
|
17111
17258
|
// src/components/Modal/useModal.tsx
|
|
17112
|
-
import { useEffect as useEffect23, useMemo as
|
|
17259
|
+
import { useEffect as useEffect23, useMemo as useMemo30, useRef as useRef42 } from "react";
|
|
17113
17260
|
|
|
17114
17261
|
// src/components/Modal/ModalContext.tsx
|
|
17115
|
-
import { createContext as createContext7, useContext as useContext17, useMemo as
|
|
17116
|
-
import { jsx as
|
|
17262
|
+
import { createContext as createContext7, useContext as useContext17, useMemo as useMemo29 } from "react";
|
|
17263
|
+
import { jsx as jsx94 } from "react/jsx-runtime";
|
|
17117
17264
|
var ModalContext = createContext7({ inModal: false });
|
|
17118
17265
|
function ModalProvider({ children }) {
|
|
17119
|
-
const value =
|
|
17120
|
-
return /* @__PURE__ */
|
|
17266
|
+
const value = useMemo29(() => ({ inModal: true }), []);
|
|
17267
|
+
return /* @__PURE__ */ jsx94(ModalContext.Provider, { value, children });
|
|
17121
17268
|
}
|
|
17122
17269
|
function useModalContext() {
|
|
17123
17270
|
return useContext17(ModalContext);
|
|
@@ -17134,7 +17281,7 @@ function useModal() {
|
|
|
17134
17281
|
modalCanCloseChecks.current = modalCanCloseChecks.current.filter((c) => c !== lastCanClose.current);
|
|
17135
17282
|
};
|
|
17136
17283
|
}, [modalCanCloseChecks]);
|
|
17137
|
-
return
|
|
17284
|
+
return useMemo30(
|
|
17138
17285
|
() => ({
|
|
17139
17286
|
openModal(props) {
|
|
17140
17287
|
modalState.current = { ...props, api };
|
|
@@ -17169,8 +17316,8 @@ function useModal() {
|
|
|
17169
17316
|
}
|
|
17170
17317
|
|
|
17171
17318
|
// src/components/Modal/Modal.tsx
|
|
17172
|
-
import { trussProps as
|
|
17173
|
-
import { Fragment as Fragment22, jsx as
|
|
17319
|
+
import { trussProps as trussProps57, maybeCssVar as maybeCssVar33 } from "@homebound/truss/runtime";
|
|
17320
|
+
import { Fragment as Fragment22, jsx as jsx95, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
17174
17321
|
function Modal(props) {
|
|
17175
17322
|
const {
|
|
17176
17323
|
size = "md",
|
|
@@ -17211,7 +17358,7 @@ function Modal(props) {
|
|
|
17211
17358
|
} = useDialog({
|
|
17212
17359
|
role: "dialog"
|
|
17213
17360
|
}, ref);
|
|
17214
|
-
const [[width2, height], setSize] =
|
|
17361
|
+
const [[width2, height], setSize] = useState36(getSize(size));
|
|
17215
17362
|
const modalBodyRef = useRef43(null);
|
|
17216
17363
|
const modalFooterRef = useRef43(null);
|
|
17217
17364
|
const modalHeaderRef = useRef43(null);
|
|
@@ -17225,10 +17372,10 @@ function Modal(props) {
|
|
|
17225
17372
|
setSize: (size2 = "md") => setSize(getSize(size2))
|
|
17226
17373
|
};
|
|
17227
17374
|
}
|
|
17228
|
-
const [hasScroll, setHasScroll] =
|
|
17375
|
+
const [hasScroll, setHasScroll] = useState36(forceScrolling ?? false);
|
|
17229
17376
|
useResizeObserver4({
|
|
17230
17377
|
ref: modalBodyRef,
|
|
17231
|
-
onResize:
|
|
17378
|
+
onResize: useCallback21(
|
|
17232
17379
|
() => {
|
|
17233
17380
|
const target = modalBodyRef.current;
|
|
17234
17381
|
if (forceScrolling === void 0 && !isFixedHeight) {
|
|
@@ -17250,7 +17397,7 @@ function Modal(props) {
|
|
|
17250
17397
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17251
17398
|
[modalBodyRef, modalFooterRef, modalHeaderRef]
|
|
17252
17399
|
);
|
|
17253
|
-
return /* @__PURE__ */
|
|
17400
|
+
return /* @__PURE__ */ jsx95(ModalProvider, { children: /* @__PURE__ */ jsx95(OverlayContainer2, { children: /* @__PURE__ */ jsx95(AutoSaveStatusProvider, { children: /* @__PURE__ */ jsx95("div", { ...trussProps57({
|
|
17254
17401
|
position: "fixed",
|
|
17255
17402
|
top: "tp_0",
|
|
17256
17403
|
bottom: "bot_0",
|
|
@@ -17263,7 +17410,7 @@ function Modal(props) {
|
|
|
17263
17410
|
zIndex: ["z_var", {
|
|
17264
17411
|
"--zIndex": maybeCssVar33(zIndices.modalUnderlay)
|
|
17265
17412
|
}]
|
|
17266
|
-
}), ...underlayProps, ...testId.underlay, children: /* @__PURE__ */
|
|
17413
|
+
}), ...underlayProps, ...testId.underlay, children: /* @__PURE__ */ jsx95(FocusScope4, { contain: true, restoreFocus: true, autoFocus: true, children: /* @__PURE__ */ jsxs56("div", { ...trussProps57({
|
|
17267
17414
|
borderRadius: "br24",
|
|
17268
17415
|
backgroundColor: "bgWhite",
|
|
17269
17416
|
boxShadow: "bshModal",
|
|
@@ -17289,7 +17436,7 @@ function Modal(props) {
|
|
|
17289
17436
|
borderRadius: "br0"
|
|
17290
17437
|
} : {}
|
|
17291
17438
|
}), ref, ...overlayProps, ...dialogProps, ...modalProps, ...testId, children: [
|
|
17292
|
-
/* @__PURE__ */
|
|
17439
|
+
/* @__PURE__ */ jsxs56("header", { ...trussProps57({
|
|
17293
17440
|
display: "df",
|
|
17294
17441
|
flexDirection: "fdrr",
|
|
17295
17442
|
paddingTop: "pt3",
|
|
@@ -17303,10 +17450,10 @@ function Modal(props) {
|
|
|
17303
17450
|
borderColor: "bcGray200"
|
|
17304
17451
|
} : {}
|
|
17305
17452
|
}), children: [
|
|
17306
|
-
/* @__PURE__ */
|
|
17307
|
-
/* @__PURE__ */
|
|
17453
|
+
/* @__PURE__ */ jsx95("span", { className: "fs0 pl1", children: allowClosing && /* @__PURE__ */ jsx95(IconButton, { icon: "x", onClick: closeModal, ...testId.titleClose }) }),
|
|
17454
|
+
/* @__PURE__ */ jsx95("h1", { className: "fg1 fw6 fz_30px lh_36px gray900", ref: modalHeaderRef, ...titleProps, ...testId.title })
|
|
17308
17455
|
] }),
|
|
17309
|
-
/* @__PURE__ */
|
|
17456
|
+
/* @__PURE__ */ jsx95("main", { ref: modalBodyRef, ...trussProps57({
|
|
17310
17457
|
flexGrow: "fg1",
|
|
17311
17458
|
overflowY: "oya",
|
|
17312
17459
|
...hasScroll ? {
|
|
@@ -17318,7 +17465,7 @@ function Modal(props) {
|
|
|
17318
17465
|
overflowY: "oys"
|
|
17319
17466
|
} : {}
|
|
17320
17467
|
}), children: content }),
|
|
17321
|
-
/* @__PURE__ */
|
|
17468
|
+
/* @__PURE__ */ jsx95("footer", { className: "fs0", children: /* @__PURE__ */ jsx95("div", { ref: modalFooterRef }) })
|
|
17322
17469
|
] }) }) }) }) }) });
|
|
17323
17470
|
}
|
|
17324
17471
|
function ModalHeader({
|
|
@@ -17327,7 +17474,7 @@ function ModalHeader({
|
|
|
17327
17474
|
const {
|
|
17328
17475
|
modalHeaderDiv
|
|
17329
17476
|
} = useBeamContext();
|
|
17330
|
-
return createPortal3(/* @__PURE__ */
|
|
17477
|
+
return createPortal3(/* @__PURE__ */ jsx95(Fragment22, { children }), modalHeaderDiv);
|
|
17331
17478
|
}
|
|
17332
17479
|
function ModalBody({
|
|
17333
17480
|
children,
|
|
@@ -17339,7 +17486,7 @@ function ModalBody({
|
|
|
17339
17486
|
const testId = useTestIds({}, testIdPrefix);
|
|
17340
17487
|
return createPortal3(
|
|
17341
17488
|
// If `virtualized`, then we are expecting the `children` will handle their own scrollbar, so have the overflow hidden and adjust padding
|
|
17342
|
-
/* @__PURE__ */
|
|
17489
|
+
/* @__PURE__ */ jsx95("div", { ...trussProps57({
|
|
17343
17490
|
height: "h100",
|
|
17344
17491
|
...virtualized ? {
|
|
17345
17492
|
overflow: "oh",
|
|
@@ -17360,7 +17507,7 @@ function ModalFooter({
|
|
|
17360
17507
|
modalFooterDiv
|
|
17361
17508
|
} = useBeamContext();
|
|
17362
17509
|
const testId = useTestIds({}, testIdPrefix);
|
|
17363
|
-
return createPortal3(/* @__PURE__ */
|
|
17510
|
+
return createPortal3(/* @__PURE__ */ jsx95("div", { ...trussProps57({
|
|
17364
17511
|
...{
|
|
17365
17512
|
paddingTop: "pt3",
|
|
17366
17513
|
paddingBottom: "pb3",
|
|
@@ -17392,11 +17539,11 @@ function getSize(size) {
|
|
|
17392
17539
|
}
|
|
17393
17540
|
|
|
17394
17541
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
17395
|
-
import { createContext as createContext8, useContext as useContext18, useMemo as
|
|
17542
|
+
import { createContext as createContext8, useContext as useContext18, useMemo as useMemo31, useState as useState37 } from "react";
|
|
17396
17543
|
|
|
17397
17544
|
// src/components/Snackbar/SnackbarNotice.tsx
|
|
17398
|
-
import { trussProps as
|
|
17399
|
-
import { jsx as
|
|
17545
|
+
import { trussProps as trussProps58 } from "@homebound/truss/runtime";
|
|
17546
|
+
import { jsx as jsx96, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
17400
17547
|
function SnackbarNotice(props) {
|
|
17401
17548
|
const {
|
|
17402
17549
|
icon,
|
|
@@ -17408,12 +17555,12 @@ function SnackbarNotice(props) {
|
|
|
17408
17555
|
} = props;
|
|
17409
17556
|
const tid = useTestIds(props, "snackbar");
|
|
17410
17557
|
const reallyHideClose = hideCloseButton && !persistent;
|
|
17411
|
-
return /* @__PURE__ */
|
|
17412
|
-
icon && /* @__PURE__ */
|
|
17413
|
-
/* @__PURE__ */
|
|
17558
|
+
return /* @__PURE__ */ jsxs57("div", { className: "white bgGray800 br4 fw4 fz_16px lh_24px df aic maxw_420px", "data-theme": contrastDataTheme, ...tid, role: "alert", children: [
|
|
17559
|
+
icon && /* @__PURE__ */ jsx96("span", { className: "fs0 pl_12px", children: /* @__PURE__ */ jsx96(Icon, { ...typeToIcon2[icon], ...tid.icon }) }),
|
|
17560
|
+
/* @__PURE__ */ jsx96(
|
|
17414
17561
|
"span",
|
|
17415
17562
|
{
|
|
17416
|
-
...
|
|
17563
|
+
...trussProps58({
|
|
17417
17564
|
overflow: "oh",
|
|
17418
17565
|
display: "d_negwebkit_box",
|
|
17419
17566
|
WebkitBoxOrient: "wbo_vertical",
|
|
@@ -17433,8 +17580,8 @@ function SnackbarNotice(props) {
|
|
|
17433
17580
|
children: message
|
|
17434
17581
|
}
|
|
17435
17582
|
),
|
|
17436
|
-
(action || !reallyHideClose) && /* @__PURE__ */
|
|
17437
|
-
action && /* @__PURE__ */
|
|
17583
|
+
(action || !reallyHideClose) && /* @__PURE__ */ jsxs57("span", { className: "fs0 df aic", children: [
|
|
17584
|
+
action && /* @__PURE__ */ jsx96("span", { ...trussProps58({
|
|
17438
17585
|
textTransform: "ttu",
|
|
17439
17586
|
fontWeight: "fw4",
|
|
17440
17587
|
fontSize: "fz_14px",
|
|
@@ -17442,8 +17589,8 @@ function SnackbarNotice(props) {
|
|
|
17442
17589
|
paddingRight: ["pr_var", {
|
|
17443
17590
|
"--paddingRight": `${!reallyHideClose && action.variant !== "text" ? 4 : 8}px`
|
|
17444
17591
|
}]
|
|
17445
|
-
}), children: /* @__PURE__ */
|
|
17446
|
-
!reallyHideClose && /* @__PURE__ */
|
|
17592
|
+
}), children: /* @__PURE__ */ jsx96(Button, { ...action, ...tid.action }) }),
|
|
17593
|
+
!reallyHideClose && /* @__PURE__ */ jsx96("span", { className: "pr1 lineHeight_0", children: /* @__PURE__ */ jsx96(IconButton, { icon: "x", onClick: onClose, ...tid.close }) })
|
|
17447
17594
|
] })
|
|
17448
17595
|
] });
|
|
17449
17596
|
}
|
|
@@ -17472,14 +17619,14 @@ var typeToIcon2 = {
|
|
|
17472
17619
|
};
|
|
17473
17620
|
|
|
17474
17621
|
// src/components/Snackbar/Snackbar.tsx
|
|
17475
|
-
import { trussProps as
|
|
17476
|
-
import { jsx as
|
|
17622
|
+
import { trussProps as trussProps59, maybeCssVar as maybeCssVar34 } from "@homebound/truss/runtime";
|
|
17623
|
+
import { jsx as jsx97 } from "react/jsx-runtime";
|
|
17477
17624
|
function Snackbar({
|
|
17478
17625
|
notices,
|
|
17479
17626
|
offset
|
|
17480
17627
|
}) {
|
|
17481
17628
|
const tid = useTestIds({});
|
|
17482
|
-
return /* @__PURE__ */
|
|
17629
|
+
return /* @__PURE__ */ jsx97("div", { ...tid.snackbarWrapper, ...trussProps59({
|
|
17483
17630
|
position: "fixed",
|
|
17484
17631
|
zIndex: ["z_var", {
|
|
17485
17632
|
"--zIndex": maybeCssVar34(zIndices.snackbar)
|
|
@@ -17492,24 +17639,24 @@ function Snackbar({
|
|
|
17492
17639
|
flexDirection: "fdc",
|
|
17493
17640
|
alignItems: "aifs",
|
|
17494
17641
|
gap: "gap_12px"
|
|
17495
|
-
}), children: notices.map((data) => /* @__PURE__ */
|
|
17642
|
+
}), children: notices.map((data) => /* @__PURE__ */ jsx97(SnackbarNotice, { ...data }, data.id)) });
|
|
17496
17643
|
}
|
|
17497
17644
|
var defaultOffset = {
|
|
17498
17645
|
bottom: 24
|
|
17499
17646
|
};
|
|
17500
17647
|
|
|
17501
17648
|
// src/components/Snackbar/SnackbarContext.tsx
|
|
17502
|
-
import { jsx as
|
|
17649
|
+
import { jsx as jsx98, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
17503
17650
|
var SnackbarContext = createContext8({ setNotices: () => {
|
|
17504
17651
|
}, setOffset: () => {
|
|
17505
17652
|
} });
|
|
17506
17653
|
function SnackbarProvider(props) {
|
|
17507
|
-
const [notices, setNotices] =
|
|
17508
|
-
const [offset, setOffset] =
|
|
17509
|
-
const contextValue =
|
|
17510
|
-
return /* @__PURE__ */
|
|
17654
|
+
const [notices, setNotices] = useState37([]);
|
|
17655
|
+
const [offset, setOffset] = useState37({});
|
|
17656
|
+
const contextValue = useMemo31(() => ({ setNotices, setOffset }), []);
|
|
17657
|
+
return /* @__PURE__ */ jsxs58(SnackbarContext.Provider, { value: contextValue, children: [
|
|
17511
17658
|
props.children,
|
|
17512
|
-
/* @__PURE__ */
|
|
17659
|
+
/* @__PURE__ */ jsx98(Snackbar, { notices, offset })
|
|
17513
17660
|
] });
|
|
17514
17661
|
}
|
|
17515
17662
|
function useSnackbarContext() {
|
|
@@ -17529,8 +17676,8 @@ var SuperDrawerWidth = /* @__PURE__ */ ((SuperDrawerWidth2) => {
|
|
|
17529
17676
|
})(SuperDrawerWidth || {});
|
|
17530
17677
|
|
|
17531
17678
|
// src/components/SuperDrawer/SuperDrawer.tsx
|
|
17532
|
-
import { trussProps as
|
|
17533
|
-
import { Fragment as Fragment23, jsx as
|
|
17679
|
+
import { trussProps as trussProps60, maybeCssVar as maybeCssVar35 } from "@homebound/truss/runtime";
|
|
17680
|
+
import { Fragment as Fragment23, jsx as jsx99, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
17534
17681
|
import { createElement as createElement3 } from "react";
|
|
17535
17682
|
function SuperDrawer() {
|
|
17536
17683
|
const {
|
|
@@ -17568,12 +17715,12 @@ function SuperDrawer() {
|
|
|
17568
17715
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17569
17716
|
[headerRef, content]
|
|
17570
17717
|
);
|
|
17571
|
-
return createPortal4(/* @__PURE__ */
|
|
17718
|
+
return createPortal4(/* @__PURE__ */ jsx99(AnimatePresence, { children: content && /* @__PURE__ */ jsx99(Fragment23, { children: /* @__PURE__ */ createElement3(
|
|
17572
17719
|
motion.div,
|
|
17573
17720
|
{
|
|
17574
17721
|
...testId,
|
|
17575
17722
|
key: "superDrawer",
|
|
17576
|
-
...
|
|
17723
|
+
...trussProps60({
|
|
17577
17724
|
position: "fixed",
|
|
17578
17725
|
display: "df",
|
|
17579
17726
|
justifyContent: "jcfe",
|
|
@@ -17600,10 +17747,10 @@ function SuperDrawer() {
|
|
|
17600
17747
|
},
|
|
17601
17748
|
onClick: closeDrawer
|
|
17602
17749
|
},
|
|
17603
|
-
/* @__PURE__ */
|
|
17750
|
+
/* @__PURE__ */ jsx99(
|
|
17604
17751
|
motion.aside,
|
|
17605
17752
|
{
|
|
17606
|
-
...
|
|
17753
|
+
...trussProps60({
|
|
17607
17754
|
backgroundColor: "bgWhite",
|
|
17608
17755
|
height: "h100",
|
|
17609
17756
|
maxWidth: ["maxw_var", {
|
|
@@ -17633,10 +17780,10 @@ function SuperDrawer() {
|
|
|
17633
17780
|
x: width2
|
|
17634
17781
|
},
|
|
17635
17782
|
onClick: (e) => e.stopPropagation(),
|
|
17636
|
-
children: /* @__PURE__ */
|
|
17637
|
-
/* @__PURE__ */
|
|
17638
|
-
/* @__PURE__ */
|
|
17639
|
-
/* @__PURE__ */
|
|
17783
|
+
children: /* @__PURE__ */ jsxs59(AutoSaveStatusProvider, { children: [
|
|
17784
|
+
/* @__PURE__ */ jsxs59("header", { className: "pt3 pb3 pr3 pl3 bbs_solid bbw_1px bcGray200 df aic jcsb gap3", children: [
|
|
17785
|
+
/* @__PURE__ */ jsx99("div", { ref: headerRef, className: "gray900 fg1" }),
|
|
17786
|
+
/* @__PURE__ */ jsx99(IconButton, { icon: "x", onClick: closeDrawer, ...testId.close })
|
|
17640
17787
|
] }),
|
|
17641
17788
|
content
|
|
17642
17789
|
] })
|
|
@@ -17660,7 +17807,7 @@ function defaultLabel(id) {
|
|
|
17660
17807
|
}
|
|
17661
17808
|
|
|
17662
17809
|
// src/forms/BoundCheckboxField.tsx
|
|
17663
|
-
import { jsx as
|
|
17810
|
+
import { jsx as jsx100 } from "react/jsx-runtime";
|
|
17664
17811
|
function BoundCheckboxField(props) {
|
|
17665
17812
|
const {
|
|
17666
17813
|
field,
|
|
@@ -17672,7 +17819,7 @@ function BoundCheckboxField(props) {
|
|
|
17672
17819
|
...others
|
|
17673
17820
|
} = props;
|
|
17674
17821
|
const testId = useTestIds(props, field.key);
|
|
17675
|
-
return /* @__PURE__ */
|
|
17822
|
+
return /* @__PURE__ */ jsx100(Observer, { children: () => /* @__PURE__ */ jsx100(
|
|
17676
17823
|
Checkbox,
|
|
17677
17824
|
{
|
|
17678
17825
|
label,
|
|
@@ -17699,7 +17846,7 @@ function BoundCheckboxField(props) {
|
|
|
17699
17846
|
|
|
17700
17847
|
// src/forms/BoundCheckboxGroupField.tsx
|
|
17701
17848
|
import { Observer as Observer2 } from "mobx-react";
|
|
17702
|
-
import { jsx as
|
|
17849
|
+
import { jsx as jsx101 } from "react/jsx-runtime";
|
|
17703
17850
|
function BoundCheckboxGroupField(props) {
|
|
17704
17851
|
const {
|
|
17705
17852
|
field,
|
|
@@ -17710,7 +17857,7 @@ function BoundCheckboxGroupField(props) {
|
|
|
17710
17857
|
...others
|
|
17711
17858
|
} = props;
|
|
17712
17859
|
const testId = useTestIds(props, field.key);
|
|
17713
|
-
return /* @__PURE__ */
|
|
17860
|
+
return /* @__PURE__ */ jsx101(Observer2, { children: () => /* @__PURE__ */ jsx101(
|
|
17714
17861
|
CheckboxGroup,
|
|
17715
17862
|
{
|
|
17716
17863
|
label,
|
|
@@ -17737,7 +17884,7 @@ function BoundCheckboxGroupField(props) {
|
|
|
17737
17884
|
|
|
17738
17885
|
// src/forms/BoundChipSelectField.tsx
|
|
17739
17886
|
import { Observer as Observer3 } from "mobx-react";
|
|
17740
|
-
import { jsx as
|
|
17887
|
+
import { jsx as jsx102 } from "react/jsx-runtime";
|
|
17741
17888
|
function BoundChipSelectField(props) {
|
|
17742
17889
|
const {
|
|
17743
17890
|
field,
|
|
@@ -17753,7 +17900,7 @@ function BoundChipSelectField(props) {
|
|
|
17753
17900
|
...others
|
|
17754
17901
|
} = props;
|
|
17755
17902
|
const testId = useTestIds(props, field.key);
|
|
17756
|
-
return /* @__PURE__ */
|
|
17903
|
+
return /* @__PURE__ */ jsx102(Observer3, { children: () => /* @__PURE__ */ jsx102(
|
|
17757
17904
|
ChipSelectField,
|
|
17758
17905
|
{
|
|
17759
17906
|
label,
|
|
@@ -17784,7 +17931,7 @@ function BoundChipSelectField(props) {
|
|
|
17784
17931
|
|
|
17785
17932
|
// src/forms/BoundDateField.tsx
|
|
17786
17933
|
import { Observer as Observer4 } from "mobx-react";
|
|
17787
|
-
import { jsx as
|
|
17934
|
+
import { jsx as jsx103 } from "react/jsx-runtime";
|
|
17788
17935
|
function BoundDateField(props) {
|
|
17789
17936
|
const {
|
|
17790
17937
|
field,
|
|
@@ -17797,7 +17944,7 @@ function BoundDateField(props) {
|
|
|
17797
17944
|
...others
|
|
17798
17945
|
} = props;
|
|
17799
17946
|
const testId = useTestIds(props, field.key);
|
|
17800
|
-
return /* @__PURE__ */
|
|
17947
|
+
return /* @__PURE__ */ jsx103(Observer4, { children: () => /* @__PURE__ */ jsx103(
|
|
17801
17948
|
DateField,
|
|
17802
17949
|
{
|
|
17803
17950
|
label,
|
|
@@ -17829,7 +17976,7 @@ function BoundDateField(props) {
|
|
|
17829
17976
|
|
|
17830
17977
|
// src/forms/BoundDateRangeField.tsx
|
|
17831
17978
|
import { Observer as Observer5 } from "mobx-react";
|
|
17832
|
-
import { jsx as
|
|
17979
|
+
import { jsx as jsx104 } from "react/jsx-runtime";
|
|
17833
17980
|
function BoundDateRangeField(props) {
|
|
17834
17981
|
const {
|
|
17835
17982
|
field,
|
|
@@ -17842,7 +17989,7 @@ function BoundDateRangeField(props) {
|
|
|
17842
17989
|
...others
|
|
17843
17990
|
} = props;
|
|
17844
17991
|
const testId = useTestIds(props, field.key);
|
|
17845
|
-
return /* @__PURE__ */
|
|
17992
|
+
return /* @__PURE__ */ jsx104(Observer5, { children: () => /* @__PURE__ */ jsx104(
|
|
17846
17993
|
DateRangeField,
|
|
17847
17994
|
{
|
|
17848
17995
|
label,
|
|
@@ -17875,125 +18022,9 @@ function BoundDateRangeField(props) {
|
|
|
17875
18022
|
// src/forms/BoundForm.tsx
|
|
17876
18023
|
import { useCallback as useCallback22, useMemo as useMemo32 } from "react";
|
|
17877
18024
|
|
|
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
18025
|
// src/forms/BoundListField.tsx
|
|
17995
|
-
import { Observer as
|
|
17996
|
-
import { Fragment as Fragment24, jsx as
|
|
18026
|
+
import { Observer as Observer6 } from "mobx-react";
|
|
18027
|
+
import { Fragment as Fragment24, jsx as jsx105, jsxs as jsxs60 } from "react/jsx-runtime";
|
|
17997
18028
|
function ListField({
|
|
17998
18029
|
row,
|
|
17999
18030
|
formState
|
|
@@ -18010,9 +18041,9 @@ function ListField({
|
|
|
18010
18041
|
const tid = useTestIds({}, "listField");
|
|
18011
18042
|
const filteredRows = useComputed(() => filterDeleted ? listFieldObjectState.rows.filter((rowState) => filterDeleted(rowState)) : listFieldObjectState.rows, [filterDeleted]);
|
|
18012
18043
|
const listIsValid = useComputed(() => listFieldObjectState.valid, [filteredRows]);
|
|
18013
|
-
return /* @__PURE__ */
|
|
18014
|
-
filteredRows.map((rowState, index) => /* @__PURE__ */
|
|
18015
|
-
/* @__PURE__ */
|
|
18044
|
+
return /* @__PURE__ */ jsx105(Observer6, { children: () => /* @__PURE__ */ jsxs60("div", { className: "df fdc gap3", ...tid, children: [
|
|
18045
|
+
filteredRows.map((rowState, index) => /* @__PURE__ */ jsx105(ListFieldRowInputs, { rowState, rowNumber: index + 1, listFieldConfig, formState, listFieldKey }, `listFieldRowInputs-${listFieldKey}-${index}`)),
|
|
18046
|
+
/* @__PURE__ */ jsx105("div", { children: /* @__PURE__ */ jsx105(Button, { icon: "plus", label: `Add ${listFieldConfig.name}`, onClick: () => onNew(listFieldObjectState), variant: "secondary", disabled: !listIsValid }) })
|
|
18016
18047
|
] }) });
|
|
18017
18048
|
}
|
|
18018
18049
|
function ListFieldRowInputs({
|
|
@@ -18033,14 +18064,14 @@ function ListFieldRowInputs({
|
|
|
18033
18064
|
" ",
|
|
18034
18065
|
rowNumber
|
|
18035
18066
|
] }),
|
|
18036
|
-
onDelete && /* @__PURE__ */
|
|
18067
|
+
onDelete && /* @__PURE__ */ jsx105(ButtonMenu, { trigger: {
|
|
18037
18068
|
icon: "verticalDots"
|
|
18038
18069
|
}, items: [{
|
|
18039
18070
|
label: "Delete",
|
|
18040
18071
|
onClick: () => onDelete(formState[listFieldKey], rowState)
|
|
18041
18072
|
}], ...tid.menu })
|
|
18042
18073
|
] }),
|
|
18043
|
-
listFieldConfig.rows.map((row, rowIndex) => /* @__PURE__ */
|
|
18074
|
+
listFieldConfig.rows.map((row, rowIndex) => /* @__PURE__ */ jsx105(FormRow, { row, formState: rowState }, `listField-${listFieldKey}-row-${rowIndex}`))
|
|
18044
18075
|
] });
|
|
18045
18076
|
}
|
|
18046
18077
|
function isListFieldKey(key) {
|
|
@@ -18057,8 +18088,8 @@ function isListFieldRow(row) {
|
|
|
18057
18088
|
}
|
|
18058
18089
|
|
|
18059
18090
|
// src/forms/BoundMultiLineSelectField.tsx
|
|
18060
|
-
import { Observer as
|
|
18061
|
-
import { jsx as
|
|
18091
|
+
import { Observer as Observer7 } from "mobx-react";
|
|
18092
|
+
import { jsx as jsx106 } from "react/jsx-runtime";
|
|
18062
18093
|
function BoundMultiLineSelectField(props) {
|
|
18063
18094
|
const {
|
|
18064
18095
|
field,
|
|
@@ -18075,7 +18106,7 @@ function BoundMultiLineSelectField(props) {
|
|
|
18075
18106
|
...others
|
|
18076
18107
|
} = props;
|
|
18077
18108
|
const testId = useTestIds(props, field.key);
|
|
18078
|
-
return /* @__PURE__ */
|
|
18109
|
+
return /* @__PURE__ */ jsx106(Observer7, { children: () => /* @__PURE__ */ jsx106(
|
|
18079
18110
|
MultiLineSelectField,
|
|
18080
18111
|
{
|
|
18081
18112
|
label,
|
|
@@ -18105,8 +18136,8 @@ function BoundMultiLineSelectField(props) {
|
|
|
18105
18136
|
}
|
|
18106
18137
|
|
|
18107
18138
|
// src/forms/BoundMultiSelectField.tsx
|
|
18108
|
-
import { Observer as
|
|
18109
|
-
import { jsx as
|
|
18139
|
+
import { Observer as Observer8 } from "mobx-react";
|
|
18140
|
+
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
18110
18141
|
function BoundMultiSelectField(props) {
|
|
18111
18142
|
const {
|
|
18112
18143
|
field,
|
|
@@ -18123,7 +18154,7 @@ function BoundMultiSelectField(props) {
|
|
|
18123
18154
|
...others
|
|
18124
18155
|
} = props;
|
|
18125
18156
|
const testId = useTestIds(props, field.key);
|
|
18126
|
-
return /* @__PURE__ */
|
|
18157
|
+
return /* @__PURE__ */ jsx107(Observer8, { children: () => /* @__PURE__ */ jsx107(
|
|
18127
18158
|
MultiSelectField,
|
|
18128
18159
|
{
|
|
18129
18160
|
label,
|
|
@@ -18153,8 +18184,8 @@ function BoundMultiSelectField(props) {
|
|
|
18153
18184
|
}
|
|
18154
18185
|
|
|
18155
18186
|
// src/forms/BoundNumberField.tsx
|
|
18156
|
-
import { Observer as
|
|
18157
|
-
import { jsx as
|
|
18187
|
+
import { Observer as Observer9 } from "mobx-react";
|
|
18188
|
+
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
18158
18189
|
function BoundNumberField(props) {
|
|
18159
18190
|
const {
|
|
18160
18191
|
field,
|
|
@@ -18168,7 +18199,7 @@ function BoundNumberField(props) {
|
|
|
18168
18199
|
...others
|
|
18169
18200
|
} = props;
|
|
18170
18201
|
const testId = useTestIds(props, label || field.key);
|
|
18171
|
-
return /* @__PURE__ */
|
|
18202
|
+
return /* @__PURE__ */ jsx108(Observer9, { children: () => /* @__PURE__ */ jsx108(
|
|
18172
18203
|
NumberField,
|
|
18173
18204
|
{
|
|
18174
18205
|
label,
|
|
@@ -18197,8 +18228,8 @@ function BoundNumberField(props) {
|
|
|
18197
18228
|
}
|
|
18198
18229
|
|
|
18199
18230
|
// src/forms/BoundRadioGroupField.tsx
|
|
18200
|
-
import { Observer as
|
|
18201
|
-
import { jsx as
|
|
18231
|
+
import { Observer as Observer10 } from "mobx-react";
|
|
18232
|
+
import { jsx as jsx109 } from "react/jsx-runtime";
|
|
18202
18233
|
function BoundRadioGroupField(props) {
|
|
18203
18234
|
const {
|
|
18204
18235
|
field,
|
|
@@ -18209,7 +18240,7 @@ function BoundRadioGroupField(props) {
|
|
|
18209
18240
|
...others
|
|
18210
18241
|
} = props;
|
|
18211
18242
|
const testId = useTestIds(props, field.key);
|
|
18212
|
-
return /* @__PURE__ */
|
|
18243
|
+
return /* @__PURE__ */ jsx109(Observer10, { children: () => /* @__PURE__ */ jsx109(
|
|
18213
18244
|
RadioGroupField,
|
|
18214
18245
|
{
|
|
18215
18246
|
label,
|
|
@@ -18235,8 +18266,8 @@ function BoundRadioGroupField(props) {
|
|
|
18235
18266
|
}
|
|
18236
18267
|
|
|
18237
18268
|
// src/forms/BoundRichTextField.tsx
|
|
18238
|
-
import { Observer as
|
|
18239
|
-
import { jsx as
|
|
18269
|
+
import { Observer as Observer11 } from "mobx-react";
|
|
18270
|
+
import { jsx as jsx110 } from "react/jsx-runtime";
|
|
18240
18271
|
function BoundRichTextField(props) {
|
|
18241
18272
|
const {
|
|
18242
18273
|
field,
|
|
@@ -18248,7 +18279,7 @@ function BoundRichTextField(props) {
|
|
|
18248
18279
|
...others
|
|
18249
18280
|
} = props;
|
|
18250
18281
|
const testId = useTestIds(props, field.key);
|
|
18251
|
-
return /* @__PURE__ */
|
|
18282
|
+
return /* @__PURE__ */ jsx110(Observer11, { children: () => /* @__PURE__ */ jsx110(
|
|
18252
18283
|
RichTextField,
|
|
18253
18284
|
{
|
|
18254
18285
|
label,
|
|
@@ -18269,6 +18300,51 @@ function BoundRichTextField(props) {
|
|
|
18269
18300
|
) });
|
|
18270
18301
|
}
|
|
18271
18302
|
|
|
18303
|
+
// src/forms/BoundSelectCardField.tsx
|
|
18304
|
+
import { Observer as Observer12 } from "mobx-react";
|
|
18305
|
+
import { jsx as jsx111 } from "react/jsx-runtime";
|
|
18306
|
+
function BoundSelectCardField(props) {
|
|
18307
|
+
const { icon, field, onChange = (value) => field.set(value), label = defaultLabel(field.key), ...others } = props;
|
|
18308
|
+
const testId = useTestIds(props, field.key);
|
|
18309
|
+
return /* @__PURE__ */ jsx111(Observer12, { children: () => /* @__PURE__ */ jsx111(
|
|
18310
|
+
SelectCard,
|
|
18311
|
+
{
|
|
18312
|
+
icon,
|
|
18313
|
+
label,
|
|
18314
|
+
selected: field.value ?? false,
|
|
18315
|
+
onChange: (selected) => {
|
|
18316
|
+
onChange(selected);
|
|
18317
|
+
field.maybeAutoSave();
|
|
18318
|
+
},
|
|
18319
|
+
disabled: field.readOnly,
|
|
18320
|
+
...testId,
|
|
18321
|
+
...others
|
|
18322
|
+
}
|
|
18323
|
+
) });
|
|
18324
|
+
}
|
|
18325
|
+
|
|
18326
|
+
// src/forms/BoundSelectCardGroupField.tsx
|
|
18327
|
+
import { Observer as Observer13 } from "mobx-react";
|
|
18328
|
+
import { jsx as jsx112 } from "react/jsx-runtime";
|
|
18329
|
+
function BoundSelectCardGroupField(props) {
|
|
18330
|
+
const { field, onChange = (value) => field.set(value), label = defaultLabel(field.key), ...others } = props;
|
|
18331
|
+
const testId = useTestIds(props, field.key);
|
|
18332
|
+
return /* @__PURE__ */ jsx112(Observer13, { children: () => /* @__PURE__ */ jsx112(
|
|
18333
|
+
SelectCardGroup,
|
|
18334
|
+
{
|
|
18335
|
+
label,
|
|
18336
|
+
values: field.value || [],
|
|
18337
|
+
onChange: (values) => {
|
|
18338
|
+
onChange(values);
|
|
18339
|
+
field.maybeAutoSave();
|
|
18340
|
+
},
|
|
18341
|
+
disabled: field.readOnly,
|
|
18342
|
+
...testId,
|
|
18343
|
+
...others
|
|
18344
|
+
}
|
|
18345
|
+
) });
|
|
18346
|
+
}
|
|
18347
|
+
|
|
18272
18348
|
// src/forms/BoundSelectField.tsx
|
|
18273
18349
|
import { Observer as Observer14 } from "mobx-react";
|
|
18274
18350
|
import { jsx as jsx113 } from "react/jsx-runtime";
|
|
@@ -18714,15 +18790,15 @@ function boundCheckboxGroupField(props) {
|
|
|
18714
18790
|
minWidth: "200px"
|
|
18715
18791
|
});
|
|
18716
18792
|
}
|
|
18717
|
-
function
|
|
18793
|
+
function boundSelectCardField(props) {
|
|
18718
18794
|
return (field) => ({
|
|
18719
|
-
component: /* @__PURE__ */ jsx120(
|
|
18795
|
+
component: /* @__PURE__ */ jsx120(BoundSelectCardField, { field, ...props }),
|
|
18720
18796
|
minWidth: "150px"
|
|
18721
18797
|
});
|
|
18722
18798
|
}
|
|
18723
|
-
function
|
|
18799
|
+
function boundSelectCardGroupField(props) {
|
|
18724
18800
|
return (field) => ({
|
|
18725
|
-
component: /* @__PURE__ */ jsx120(
|
|
18801
|
+
component: /* @__PURE__ */ jsx120(BoundSelectCardGroupField, { field, ...props }),
|
|
18726
18802
|
minWidth: "100%"
|
|
18727
18803
|
});
|
|
18728
18804
|
}
|
|
@@ -19300,7 +19376,7 @@ var activeStyles = {
|
|
|
19300
19376
|
"--boxShadow": maybeCssVar39(`inset 3px 0px 0 0px ${"rgba(37, 99, 235, 1)" /* Blue600 */}`)
|
|
19301
19377
|
}]
|
|
19302
19378
|
};
|
|
19303
|
-
var
|
|
19379
|
+
var hoverStyles3 = {
|
|
19304
19380
|
backgroundColor: "bgBlue50",
|
|
19305
19381
|
fontWeight: "fw6",
|
|
19306
19382
|
fontSize: "fz_14px",
|
|
@@ -19368,7 +19444,7 @@ function SectionNavLink(props) {
|
|
|
19368
19444
|
},
|
|
19369
19445
|
...isFocusVisible ? defaultFocusRingStyles : {},
|
|
19370
19446
|
...active ? activeStyles : {},
|
|
19371
|
-
...isPressed ? activeStyles : isHovered ?
|
|
19447
|
+
...isPressed ? activeStyles : isHovered ? hoverStyles3 : {}
|
|
19372
19448
|
}), ...tids.sectionNavLink, children: section.title });
|
|
19373
19449
|
}
|
|
19374
19450
|
function useActiveSection(sectionsWithRefs) {
|
|
@@ -20245,8 +20321,8 @@ function FilterDropdownMenu(props) {
|
|
|
20245
20321
|
opacity: "o0"
|
|
20246
20322
|
} : {}
|
|
20247
20323
|
}), children: searchTextField }),
|
|
20248
|
-
sm && hasSearch && /* @__PURE__ */ jsx145(IconButton, { variant: "outline", icon: "search", label: "Search", onClick: () => setSearchIsOpen(!searchIsOpen), active: searchIsOpen, ...testId.searchButton }),
|
|
20249
|
-
sm && hasFilters && /* @__PURE__ */ jsx145(IconButton, { variant: "outline", icon: "filter", label: "Filter", active: isOpen, onClick: () => setIsOpen(!isOpen), ...testId.button }),
|
|
20324
|
+
sm && hasSearch && /* @__PURE__ */ jsx145(IconButton, { variant: "outline", icon: searchValue ? "searchBadged" : "search", label: "Search", onClick: () => setSearchIsOpen(!searchIsOpen), active: searchIsOpen, ...testId.searchButton }),
|
|
20325
|
+
sm && hasFilters && /* @__PURE__ */ jsx145(IconButton, { variant: "outline", icon: activeFilterCount > 0 ? "filterBadged" : "filter", label: "Filter", active: isOpen, onClick: () => setIsOpen(!isOpen), ...testId.button }),
|
|
20250
20326
|
!sm && hasFilters && /* @__PURE__ */ jsx145(Button, { label: "Filter", icon: "filter", size: "md", endAdornment: /* @__PURE__ */ jsxs72("div", { className: "df aic gap1", children: [
|
|
20251
20327
|
activeFilterCount > 0 && /* @__PURE__ */ jsx145(CountBadge, { count: activeFilterCount }),
|
|
20252
20328
|
/* @__PURE__ */ jsx145(Icon, { icon: isOpen ? "chevronUp" : "chevronDown" })
|
|
@@ -20335,7 +20411,7 @@ function EditColumnsButton(props) {
|
|
|
20335
20411
|
} = useMenuTrigger3({
|
|
20336
20412
|
isDisabled: !!disabled
|
|
20337
20413
|
}, state, buttonRef);
|
|
20338
|
-
const tid = useTestIds(props, "
|
|
20414
|
+
const tid = useTestIds(props, "columns");
|
|
20339
20415
|
const {
|
|
20340
20416
|
sm
|
|
20341
20417
|
} = useBreakpoint();
|
|
@@ -20355,7 +20431,7 @@ function EditColumnsButton(props) {
|
|
|
20355
20431
|
api.setVisibleColumns(columns.filter((column2) => column2.canHide ? ids.includes(column2.id) : true).map((c) => c.id));
|
|
20356
20432
|
}, [columns, api]);
|
|
20357
20433
|
return /* @__PURE__ */ jsx146(OverlayTrigger, { ...props, trigger: {
|
|
20358
|
-
icon: "
|
|
20434
|
+
icon: "columns",
|
|
20359
20435
|
size: "md",
|
|
20360
20436
|
label: "",
|
|
20361
20437
|
variant: "secondaryBlack"
|
|
@@ -21242,7 +21318,7 @@ function GroupButton(props) {
|
|
|
21242
21318
|
},
|
|
21243
21319
|
...isFocusVisible ? defaultFocusRingStyles2 : {},
|
|
21244
21320
|
...active ? activeStyles2 : {},
|
|
21245
|
-
...isPressed ? pressedStyles : isHovered ?
|
|
21321
|
+
...isPressed ? pressedStyles : isHovered ? hoverStyles4 : {},
|
|
21246
21322
|
...icon ? iconStyles2[size] : {}
|
|
21247
21323
|
}), ...tid[defaultTestId(typeof text === "string" && text || icon || "button")], children: [
|
|
21248
21324
|
icon && /* @__PURE__ */ jsx160(Icon, { xss: {
|
|
@@ -21260,7 +21336,7 @@ var pressedStyles = {
|
|
|
21260
21336
|
var activeStyles2 = {
|
|
21261
21337
|
backgroundColor: "bgGray300"
|
|
21262
21338
|
};
|
|
21263
|
-
var
|
|
21339
|
+
var hoverStyles4 = {
|
|
21264
21340
|
backgroundColor: "bgGray100"
|
|
21265
21341
|
};
|
|
21266
21342
|
var defaultFocusRingStyles2 = {
|
|
@@ -22350,7 +22426,7 @@ function AppNavGroupTrigger(props) {
|
|
|
22350
22426
|
const {
|
|
22351
22427
|
baseStyles: baseStyles5,
|
|
22352
22428
|
focusRingStyles: focusRingStyles2,
|
|
22353
|
-
hoverStyles:
|
|
22429
|
+
hoverStyles: hoverStyles5,
|
|
22354
22430
|
pressedStyles: pressedStyles2
|
|
22355
22431
|
} = useMemo49(() => getNavLinkStyles("side"), []);
|
|
22356
22432
|
return /* @__PURE__ */ jsxs87("button", { type: "button", ...mergeProps27(buttonProps, focusProps, hoverProps, tid.trigger, {
|
|
@@ -22360,7 +22436,7 @@ function AppNavGroupTrigger(props) {
|
|
|
22360
22436
|
...mergeProps_14(navLink, void 0, {
|
|
22361
22437
|
...baseStyles5,
|
|
22362
22438
|
...isFocusVisible && focusRingStyles2,
|
|
22363
|
-
...isHovered &&
|
|
22439
|
+
...isHovered && hoverStyles5,
|
|
22364
22440
|
...isPressed && pressedStyles2
|
|
22365
22441
|
})
|
|
22366
22442
|
}), children: [
|
|
@@ -23017,7 +23093,7 @@ function TabImpl(props) {
|
|
|
23017
23093
|
baseStyles: baseStyles5,
|
|
23018
23094
|
activeStyles: activeStyles3,
|
|
23019
23095
|
focusRingStyles: focusRingStyles2,
|
|
23020
|
-
hoverStyles:
|
|
23096
|
+
hoverStyles: hoverStyles5,
|
|
23021
23097
|
disabledStyles: disabledStyles4,
|
|
23022
23098
|
activeHoverStyles
|
|
23023
23099
|
} = useMemo51(() => getTabStyles(), []);
|
|
@@ -23034,7 +23110,7 @@ function TabImpl(props) {
|
|
|
23034
23110
|
...baseStyles5,
|
|
23035
23111
|
...active && activeStyles3,
|
|
23036
23112
|
...isDisabled && disabledStyles4,
|
|
23037
|
-
...isHovered &&
|
|
23113
|
+
...isHovered && hoverStyles5,
|
|
23038
23114
|
...isHovered && active && activeHoverStyles,
|
|
23039
23115
|
...isFocusVisible && active && focusRingStyles2
|
|
23040
23116
|
})
|
|
@@ -24528,14 +24604,14 @@ export {
|
|
|
24528
24604
|
BoundDateField,
|
|
24529
24605
|
BoundDateRangeField,
|
|
24530
24606
|
BoundForm,
|
|
24531
|
-
BoundIconCardField,
|
|
24532
|
-
BoundIconCardGroupField,
|
|
24533
24607
|
BoundMultiLineSelectField,
|
|
24534
24608
|
BoundMultiSelectField,
|
|
24535
24609
|
BoundNumberField,
|
|
24536
24610
|
BoundRadioGroupField,
|
|
24537
24611
|
BoundRichTextField,
|
|
24538
24612
|
BoundSelectAndTextField,
|
|
24613
|
+
BoundSelectCardField,
|
|
24614
|
+
BoundSelectCardGroupField,
|
|
24539
24615
|
BoundSelectField,
|
|
24540
24616
|
BoundSwitchField,
|
|
24541
24617
|
BoundTextAreaField,
|
|
@@ -24595,7 +24671,6 @@ export {
|
|
|
24595
24671
|
HomeboundLogo,
|
|
24596
24672
|
Icon,
|
|
24597
24673
|
IconButton,
|
|
24598
|
-
IconCard,
|
|
24599
24674
|
Icons,
|
|
24600
24675
|
KEPT_GROUP,
|
|
24601
24676
|
Loader,
|
|
@@ -24637,6 +24712,8 @@ export {
|
|
|
24637
24712
|
ScrollableContent,
|
|
24638
24713
|
ScrollableFooter,
|
|
24639
24714
|
ScrollableParent,
|
|
24715
|
+
SelectCard,
|
|
24716
|
+
SelectCardGroup,
|
|
24640
24717
|
SelectField,
|
|
24641
24718
|
SelectToggle,
|
|
24642
24719
|
SideNav,
|
|
@@ -24685,13 +24762,13 @@ export {
|
|
|
24685
24762
|
boundCheckboxGroupField,
|
|
24686
24763
|
boundDateField,
|
|
24687
24764
|
boundDateRangeField,
|
|
24688
|
-
boundIconCardField,
|
|
24689
|
-
boundIconCardGroupField,
|
|
24690
24765
|
boundMultiSelectField,
|
|
24691
24766
|
boundMultilineSelectField,
|
|
24692
24767
|
boundNumberField,
|
|
24693
24768
|
boundRadioGroupField,
|
|
24694
24769
|
boundRichTextField,
|
|
24770
|
+
boundSelectCardField,
|
|
24771
|
+
boundSelectCardGroupField,
|
|
24695
24772
|
boundSelectField,
|
|
24696
24773
|
boundSwitchField,
|
|
24697
24774
|
boundTextAreaField,
|
|
@@ -24731,6 +24808,7 @@ export {
|
|
|
24731
24808
|
emptyCell,
|
|
24732
24809
|
ensureClientSideSortValueIsSortable,
|
|
24733
24810
|
environmentBannerSizePx,
|
|
24811
|
+
fillRowStyles,
|
|
24734
24812
|
filterTestIdPrefix,
|
|
24735
24813
|
formatDate,
|
|
24736
24814
|
formatDateRange,
|
|
@@ -24747,7 +24825,6 @@ export {
|
|
|
24747
24825
|
getTableStyles,
|
|
24748
24826
|
headerRenderFn,
|
|
24749
24827
|
hoverStyles,
|
|
24750
|
-
iconCardStylesHover,
|
|
24751
24828
|
increment,
|
|
24752
24829
|
insertAtIndex,
|
|
24753
24830
|
isContentColumn,
|
|
@@ -24789,7 +24866,6 @@ export {
|
|
|
24789
24866
|
rowClickRenderFn,
|
|
24790
24867
|
rowLinkRenderFn,
|
|
24791
24868
|
selectColumn,
|
|
24792
|
-
selectedStyles,
|
|
24793
24869
|
setDefaultStyle,
|
|
24794
24870
|
setEnvironmentFavicon,
|
|
24795
24871
|
setGridTableDefaults,
|