@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.js CHANGED
@@ -4415,7 +4415,11 @@ var Icon = React3.memo((props) => {
4415
4415
  });
4416
4416
  var Icons = {
4417
4417
  // Actions
4418
- kanban: /* @__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" }) }),
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 useMemo26, useRef as useRef41, useState as useState32 } from "react";
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 useMemo23 } from "react";
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: hoverStyles4,
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 ? hoverStyles4 : {},
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: hoverStyles4,
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 && hoverStyles4,
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 trussProps43 } from "@homebound/truss/runtime";
13623
- import { jsx as jsx69, jsxs as jsxs42 } from "react/jsx-runtime";
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__ */ jsxs42("div", { ...trussProps43({
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__ */ jsx69("div", { ...trussProps43({
13577
+ labelStyle !== "hidden" && /* @__PURE__ */ jsx68("div", { ...trussProps42({
13644
13578
  ...labelStyle === "left" ? {
13645
13579
  width: "w50"
13646
13580
  } : {}
13647
- }), children: /* @__PURE__ */ jsx69(Label, { ...tid.label, label: props.label }) }),
13648
- /* @__PURE__ */ jsxs42("div", { ...trussProps43({
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__ */ jsxs42("div", { className: "mb1 pl1 df", children: [
13655
- /* @__PURE__ */ jsx69("div", { className: "wsnw oh to_ellipsis w100", children: /* @__PURE__ */ jsx69(SelectField, { ...otherProps, ...tid.selectField, labelStyle: "hidden", value, onSelect: () => {
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__ */ jsx69(Button, { ...tid.deleteSelected, variant: "tertiary", label: "", "aria-label": `Delete selected ${otherProps.label}`, icon: "x", onClick: () => {
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__ */ jsx69("div", { className: "mb1", children: /* @__PURE__ */ jsx69(SelectField, { ...tid.selectField, label: otherProps.label, labelStyle: "hidden", getOptionValue, getOptionLabel, value: "", onSelect: (value) => {
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__ */ jsx69(Button, { ...tid.addAnother, label: "Add Another", variant: "tertiary", onClick: () => setIsDisplayed(true), disabled: isDisplayed || currentOptions.length === 0 })
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 jsx70 } from "react/jsx-runtime";
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__ */ jsx70(ComboBoxBase, { multiselect: true, getOptionLabel, getOptionValue, ...otherProps });
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 useMemo19, useRef as useRef29, useState as useState24 } from "react";
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 jsx71 } from "react/jsx-runtime";
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 = useMemo19(() => ({
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 = useMemo19(() => {
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 = useMemo19(() => new NumberParser(locale, formatOptions), [locale, formatOptions]);
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__ */ jsx71(
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 useMemo20, useRef as useRef30 } from "react";
13881
- import { useFocusRing as useFocusRing6, useHover as useHover12, useRadio, useRadioGroup } from "react-aria";
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 trussProps44, maybeCssVar as maybeCssVar26 } from "@homebound/truss/runtime";
13884
- import { jsx as jsx72, jsxs as jsxs43 } from "react/jsx-runtime";
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 = useMemo20(() => `radio-group-${++nextNameId}`, []);
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__ */ jsxs43("div", { ...trussProps44({
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__ */ jsx72(Label, { label, ...labelProps, ...tid.label, suffix: labelSuffix, hidden: labelStyle === "hidden" }),
13932
- /* @__PURE__ */ jsxs43("div", { ...radioGroupProps, children: [
13933
- /* @__PURE__ */ jsx72("div", { ...trussProps44({
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__ */ jsx72(Fragment19, { children: maybeTooltip({
13878
+ return /* @__PURE__ */ jsx71(Fragment19, { children: maybeTooltip({
13945
13879
  title: resolveTooltip(option.disabled),
13946
13880
  placement: "bottom",
13947
- children: /* @__PURE__ */ jsx72(Radio, { parentId: name, option, state, isOptionDisabled: !!option.disabled, ...otherProps, ...tid[option.value] })
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__ */ jsx72(ErrorMessage, { errorMsg, ...tid.errorMsg }),
13951
- helperText && /* @__PURE__ */ jsx72(HelperText, { helperText })
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
- } = useHover12({
13921
+ } = useHover11({
13988
13922
  isDisabled: disabled
13989
13923
  });
13990
- return /* @__PURE__ */ jsxs43("label", { ...trussProps44({
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__ */ jsx72(
13931
+ /* @__PURE__ */ jsx71(
13998
13932
  "input",
13999
13933
  {
14000
13934
  type: "radio",
14001
13935
  ref,
14002
- ...trussProps44({
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__ */ jsxs43("div", { children: [
14023
- /* @__PURE__ */ jsx72("div", { id: labelId, ...trussProps44({
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__ */ jsx72("div", { id: descriptionId, ...trussProps44({
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 useMemo21, useRef as useRef31, useState as useState26 } from "react";
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 jsx73 } from "react/jsx-runtime";
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__ */ jsx73(
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 trussProps45 } from "@homebound/truss/runtime";
14178
- import { jsx as jsx74, jsxs as jsxs44 } from "react/jsx-runtime";
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 = useMemo21(() => {
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__ */ jsxs44("div", { ...trussProps45({
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__ */ jsx74(Label, { labelProps: {}, label }),
14264
- /* @__PURE__ */ jsxs44("div", { className: "beam-trix-editor", children: [
14265
- /* @__PURE__ */ jsx74("input", { type: "hidden", id: `input-${id}`, value }),
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__ */ jsxs44("div", { ...trussProps45({
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__ */ jsx74(Label, { label }),
14287
- /* @__PURE__ */ jsx74("div", { className: "mh_120px bgWhite fw4 fz_14px lh_20px gray900 bss bw1 pt1 pb1 pr1 pl1 br4 bcGray300", dangerouslySetInnerHTML: {
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 useMemo22 } from "react";
14322
- import { jsx as jsx75 } from "react/jsx-runtime";
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 = useMemo22(() => [value], [value]);
14333
- return /* @__PURE__ */ jsx75(
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 trussProps46, maybeCssVar as maybeCssVar27 } from "@homebound/truss/runtime";
14355
- import { jsx as jsx76, jsxs as jsxs45 } from "react/jsx-runtime";
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__ */ jsxs45("label", { ...hoverProps, ...trussProps46({
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__ */ jsx76("div", { children: /* @__PURE__ */ jsx76(Label, { label, tooltip, xss: {
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__ */ jsx76("div", { ...trussProps46({
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__ */ jsx76("div", { "aria-hidden": "true", ...trussProps46({
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__ */ jsx76("div", { ...trussProps46({
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__ */ jsx76(Icon, { icon: isSelected ? "check" : "x", color: isSelected ? "rgba(29, 78, 216, 1)" /* Blue700 */ : "rgba(201, 201, 201, 1)" /* Gray400 */, inc: toggleHeight(compact) / 16 }) }) }) }),
14482
- labelStyle === "inline" && /* @__PURE__ */ jsx76(Label, { label, tooltip, inline: true, xss: {
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__ */ jsx76(VisuallyHidden5, { children: /* @__PURE__ */ jsx76("input", { ref, ...inputProps, ...focusProps, ...tid }) })
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 mergeProps16, useTextField as useTextField3 } from "react-aria";
14539
- import { jsx as jsx77 } from "react/jsx-runtime";
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__ */ jsx77(
14725
+ return /* @__PURE__ */ jsx78(
14579
14726
  TextFieldBase,
14580
14727
  {
14581
- ...mergeProps16(otherProps, { onBlur, onFocus }),
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 mergeProps17, useTextField as useTextField4 } from "react-aria";
14596
- import { jsx as jsx78 } from "react/jsx-runtime";
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__ */ jsx78(
14789
+ return /* @__PURE__ */ jsx79(
14643
14790
  TextFieldBase,
14644
14791
  {
14645
- ...mergeProps17(textFieldProps, { onBlur, onFocus }),
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 useState27 } from "react";
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 trussProps47 } from "@homebound/truss/runtime";
14662
- import { jsx as jsx79, jsxs as jsxs46 } from "react/jsx-runtime";
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] = useState27(false);
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
- ...trussProps47({
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__ */ jsxs46("label", { ...labelAttrs, children: [
14762
- icon && /* @__PURE__ */ jsx79(Icon, { icon }),
14908
+ children: /* @__PURE__ */ jsxs47("label", { ...labelAttrs, children: [
14909
+ icon && /* @__PURE__ */ jsx80(Icon, { icon }),
14763
14910
  label,
14764
- /* @__PURE__ */ jsx79(VisuallyHidden6, { children: /* @__PURE__ */ jsx79("input", { ref, ...inputProps, ...tid.value }) })
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 trussProps48, maybeCssVar as maybeCssVar28 } from "@homebound/truss/runtime";
14783
- import { jsx as jsx80, jsxs as jsxs47 } from "react/jsx-runtime";
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__ */ jsxs47("div", { ...groupProps, ...trussProps48({
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__ */ jsx80(Label, { label, ...labelProps, hidden: labelStyle === "hidden", inline: labelStyle !== "above", suffix: labelSuffix }),
14826
- /* @__PURE__ */ jsx80("div", { ...trussProps48({
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__ */ jsx80(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)) })
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__ */ jsxs47("label", { ...trussProps48({
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__ */ jsx80(VisuallyHidden7, { children: /* @__PURE__ */ jsx80("input", { ...inputProps, ...focusProps }) }),
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 jsx81 } from "react/jsx-runtime";
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__ */ jsx81(
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 jsx82 } from "react/jsx-runtime";
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__ */ jsx82(SelectToggle, { id: row.id, disabled: row.selectable === false })
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__ */ jsx82(CollapseToggle, { row, compact: level > 0 })
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__ */ jsx82(PinToggle, { rowId: row.id })
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__ */ jsx82("div", { draggable: row.draggable, onDragStart: (evt) => {
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__ */ jsx82(Icon, { icon: "drag" }) }) : void 0
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 useMemo23(() => new GridTableApiImpl(), []);
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 useCallback13, useRef as useRef37 } from "react";
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 = useCallback13(
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 = useCallback13(
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 = useCallback13(
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 = useCallback13(
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 useMemo24 } from "react";
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 useMemo24(
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 useCallback15, useEffect as useEffect18, useRef as useRef38, useState as useState29 } from "react";
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 useCallback14, useEffect as useEffect17, useState as useState28 } from "react";
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] = useState28(() => {
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 = useCallback14((columnId, width2) => {
15841
+ const setResizedWidth = useCallback15((columnId, width2) => {
15695
15842
  setResizedWidths((prev) => ({
15696
15843
  ...prev,
15697
15844
  [columnId]: width2
15698
15845
  }));
15699
15846
  }, []);
15700
- const batchSetResizedWidths = useCallback14((widths2) => {
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 = useCallback14(() => {
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] = useState29();
15729
- const [contentWidth, setContentWidth] = useState29();
15730
- const [columnSizes, setColumnSizes] = useState29(
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 = useCallback15(
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 = useCallback15(
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 useCallback16, useRef as useRef39 } from "react";
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 = useCallback16((id) => {
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 useCallback18, useContext as useContext16, useLayoutEffect as useLayoutEffect4, useRef as useRef40, useState as useState31 } from "react";
15828
- import { mergeProps as mergeProps18 } from "@homebound/truss/runtime";
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 useCallback17, useEffect as useEffect19, useState as useState30 } from "react";
15832
- import { trussProps as trussProps49, maybeCssVar as maybeCssVar29 } from "@homebound/truss/runtime";
15833
- import { jsx as jsx83 } from "react/jsx-runtime";
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] = useState30(false);
15984
+ const [visible, setVisible] = useState31(false);
15838
15985
  const tid = useTestIds({}, "documentScrollToTop");
15839
15986
  const scrollToTopOffsetPx = 20;
15840
- const syncVisibility = useCallback17(() => {
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 = useCallback17(() => {
15998
+ const scrollToTop = useCallback18(() => {
15852
15999
  window.scrollTo({
15853
16000
  top: 0
15854
16001
  });
15855
16002
  }, []);
15856
- return /* @__PURE__ */ jsx83("div", { ...tid.wrapper, "aria-hidden": !visible, ...!visible ? {
16003
+ return /* @__PURE__ */ jsx84("div", { ...tid.wrapper, "aria-hidden": !visible, ...!visible ? {
15857
16004
  inert: ""
15858
- } : {}, ...trussProps49({
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__ */ jsx83(ContrastScope, { children: /* @__PURE__ */ jsx83(IconButton, { icon: "arrowUp", disabled: !visible, variant: "outline", label: "Scroll to top", onClick: scrollToTop, ...tid }) }) });
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 jsx84, jsxs as jsxs48 } from "react/jsx-runtime";
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__ */ jsx84(Fragment20, { children });
15893
- return /* @__PURE__ */ jsx84(DocumentScrollLayoutContext.Provider, { value: true, children: /* @__PURE__ */ jsx84(DocumentScrollLayoutViewportRoot, { children }) });
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] = useState31({
16049
+ const [viewportSize, setViewportSize] = useState32({
15903
16050
  width: 0,
15904
16051
  height: 0
15905
16052
  });
15906
- const syncViewportSize = useCallback18(() => {
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__ */ jsxs48("div", { ...mergeProps18(void 0, Object.keys(style).length > 0 ? style : void 0, {
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__ */ jsx84(DocumentScrollToTopButton, { viewportHeight: viewportSize.height })
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 useMemo25 } from "react";
16089
+ import { useMemo as useMemo26 } from "react";
15943
16090
  import { Link as Link4 } from "react-router-dom";
15944
- import { trussProps as trussProps50, mergeProps as mergeProps19, maybeCssVar as maybeCssVar30 } from "@homebound/truss/runtime";
15945
- import { jsx as jsx85, jsxs as jsxs49 } from "react/jsx-runtime";
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__ */ jsx85(TableCardView, { ...tid, imgSrc: rs.row.imgSrc ?? "", title, eyebrow, badge, status, data: dataBlocks, progress });
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__ */ jsx85(Link4, { to, ...mergeProps19(navLink, void 0, {
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__ */ jsx85("button", { onClick: () => rowStyle.onClick(rs.row, api), className: "cursorPointer", children: card });
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 = useMemo25(() => progress !== void 0 ? clampProgress(progress) : 0, [progress]);
16018
- return /* @__PURE__ */ jsxs49("div", { ...trussProps50({
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__ */ jsxs49("div", { className: "relative", children: [
16034
- /* @__PURE__ */ jsx85("img", { className: "h_184px w100 objectFit_cover", src: imgSrc, alt: title, ...tid.image }),
16035
- status && /* @__PURE__ */ jsx85("div", { className: "absolute top1 left1", ...tid.status, children: /* @__PURE__ */ jsx85(Tag, { ...status }) })
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__ */ jsxs49("div", { className: "df fdc gap2", children: [
16038
- /* @__PURE__ */ jsxs49("div", { children: [
16039
- eyebrow && /* @__PURE__ */ jsx85("p", { className: "fw4 fz_14px lh_20px", ...tid.eyebrow, children: eyebrow }),
16040
- title && /* @__PURE__ */ jsxs49("div", { className: "dif w100 jcsb aic", children: [
16041
- /* @__PURE__ */ jsxs49("h4", { className: "fwb fz_20px lh_28px", ...tid.title, children: [
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__ */ jsx85("span", { className: "fw4 fz_14px lh_20px wsnw", ...tid.badge, children: badge })
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__ */ jsx85("dl", { className: "dg gtc_repeat_2_minmax_0_1fr fw4 fz_14px lh_20px", children: data.map((d, idx) => /* @__PURE__ */ jsxs49("div", { ...trussProps50({
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__ */ jsxs49("dt", { children: [
16202
+ /* @__PURE__ */ jsxs50("dt", { children: [
16056
16203
  d.label,
16057
16204
  ":"
16058
16205
  ] }),
16059
- /* @__PURE__ */ jsx85("dd", { children: d.value })
16206
+ /* @__PURE__ */ jsx86("dd", { children: d.value })
16060
16207
  ] }, d.label)) }),
16061
- progress !== void 0 && /* @__PURE__ */ jsx85("div", { className: "df fdc gap1", children: /* @__PURE__ */ jsxs49("div", { className: "df aic gap1 fs_10px lh_14px", children: [
16062
- /* @__PURE__ */ jsx85("div", { className: "w25 h_8px br4 bgGray200", children: /* @__PURE__ */ jsx85("div", { ...trussProps50({
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__ */ jsxs49("span", { ...tid.progressValue, children: [
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 trussProps51, mergeProps as mergeProps20, maybeCssVar as maybeCssVar31 } from "@homebound/truss/runtime";
16087
- import { jsx as jsx86, jsxs as jsxs50 } from "react/jsx-runtime";
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 = useMemo26(() => {
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 = useMemo26(
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] = useState32(void 0);
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__ */ jsx86(TableCard, { rs, columns, rowStyle: rowStyles?.[rs.row.kind], api: tableState.api }, rs.key));
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__ */ jsx86(Row, { onDragStart, onDragOver, onDragEnd, onDrop, onDragEnter, ...{
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 = useMemo26(() => ({
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 = useMemo26(() => ({
16516
+ const rowStateContext = useMemo27(() => ({
16370
16517
  tableState,
16371
16518
  tableContainerRef
16372
16519
  }), [tableState, tableContainerRef]);
16373
- const tableStyle = useMemo26(() => {
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__ */ jsx86(TableStateContext.Provider, { value: rowStateContext, children: /* @__PURE__ */ jsxs50(PresentationProvider, { fieldProps, wrap: style?.presentationSettings?.wrap, children: [
16383
- /* @__PURE__ */ jsx86("div", { ref: resizeRef, ...trussProps51(getTableRefWidthStyles(as === "virtual", inDocumentScrollLayout)) }),
16384
- as === "card" ? /* @__PURE__ */ jsx86(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)
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__ */ jsxs50("div", { ref: tableContainerRef, ...trussProps51({
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__ */ jsxs50("div", { ...trussProps51({
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__ */ jsxs50("div", { children: [
16571
+ /* @__PURE__ */ jsxs51("div", { children: [
16425
16572
  keptSelectedRows,
16426
- firstRowMessage && /* @__PURE__ */ jsx86("div", { ...trussProps51({
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__ */ jsxs50("table", { ref: tableContainerRef, ...trussProps51({
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__ */ jsxs50("thead", { ...trussProps51({
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__ */ jsxs50("tbody", { children: [
16615
+ /* @__PURE__ */ jsxs51("tbody", { children: [
16469
16616
  keptSelectedRows,
16470
- firstRowMessage && /* @__PURE__ */ jsx86("tr", { ...trussProps51({
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__ */ jsx86("td", { colSpan: columns.length, ...trussProps51({
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] = useState32(false);
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__ */ jsx86(
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__ */ jsx86("div", { ...props, ref, ...mergeProps20(void 0, {
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__ */ jsx86("div", { ...trussProps51({
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__ */ jsx86("div", { className: "h5 df aic jcc", children: /* @__PURE__ */ jsx86(Loader, { size: "xs" }) }) });
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__ */ jsx86("div", { ...trussProps51({
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__ */ jsx86("div", { ...trussProps51({
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] = useState32(false);
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__ */ jsx86("div", { className: "pt2 pb2", children: /* @__PURE__ */ jsx86("div", { className: "dg gtc_repeat_auto_fill_330px jcc gap3 pt3 pb3 pr3 pl3", children: cardRows }) });
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__ */ jsx86("div", { className: "pt2 pb2 h100", children: /* @__PURE__ */ createElement2(VirtuosoGrid, { useWindowScroll: inDocumentScrollLayout && !customScrollParent, ...customScrollParent ? {
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__ */ jsx86("div", { ref, ...mergeProps20(void 0, style, {
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__ */ jsx86("div", { children: fetchMoreInProgress && /* @__PURE__ */ jsx86("div", { className: "h5 df aic jcc", children: /* @__PURE__ */ jsx86(Loader, { size: "xs" }) }) })
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__ */ jsx86("div", { ref, ...mergeProps20(void 0, style, {
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 trussProps52 } from "@homebound/truss/runtime";
16678
- import { jsx as jsx87, jsxs as jsxs51 } from "react/jsx-runtime";
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__ */ jsxs51("button", { type: "button", ...trussProps52({
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__ */ jsx87("span", { className: "fs0", ...tid.icon, children: /* @__PURE__ */ jsx87(Icon, { icon, color: "rgba(36, 36, 36, 1)" /* Gray900 */, inc: 2 }) }),
16712
- /* @__PURE__ */ jsx87("span", { ...trussProps52({
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__ */ jsx87("span", { ...trussProps52({
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__ */ jsx87(Icon, { icon: "x", color: "rgba(141, 141, 141, 1)" /* Gray600 */, inc: 2 }) })
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 trussProps53 } from "@homebound/truss/runtime";
16747
- import { jsx as jsx88 } from "react/jsx-runtime";
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__ */ jsx88("div", { ...trussProps53({
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__ */ jsx88(ToggleChip, { text: getLabel(value), onClick: () => onRemove(value), ...tid.chip }, getLabel(value))) });
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 useCallback19, useEffect as useEffect21, useMemo as useMemo27, useState as useState33 } from "react";
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 trussProps54, maybeCssVar as maybeCssVar32 } from "@homebound/truss/runtime";
16771
- import { jsx as jsx89, jsxs as jsxs52 } from "react/jsx-runtime";
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] = useState33(defaultExpanded && !disabled);
16941
+ const [expanded, setExpanded] = useState34(defaultExpanded && !disabled);
16795
16942
  const {
16796
16943
  isFocusVisible,
16797
16944
  focusProps
16798
16945
  } = useFocusRing10();
16799
- const [contentEl, setContentEl] = useState33(null);
16800
- const contentRef = useMemo27(() => ({
16946
+ const [contentEl, setContentEl] = useState34(null);
16947
+ const contentRef = useMemo28(() => ({
16801
16948
  current: contentEl
16802
16949
  }), [contentEl]);
16803
- const [contentHeight, setContentHeight] = useState33(expanded ? "auto" : "0");
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 = useCallback19(() => {
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 = useCallback19(() => {
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 = useMemo27(() => ({
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__ */ jsxs52("div", { ...tid.container, ...trussProps54({
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__ */ jsxs52("div", { ...focusProps, "aria-controls": id, "aria-expanded": expanded, className: "df", children: [
16889
- /* @__PURE__ */ jsx89("button", { ...tid.title, disabled, ...trussProps54({
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__ */ jsx89("button", { ...tid.toggle, disabled, ...trussProps54({
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__ */ jsx89(RotatingChevronIcon, { expanded }) })
16907
- ] }) : /* @__PURE__ */ jsxs52("button", { ...tid.title, ...focusProps, "aria-controls": id, "aria-expanded": expanded, disabled, ...trussProps54({
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__ */ jsx89("span", { className: "fg1 tal", children: title }),
16914
- /* @__PURE__ */ jsx89(RotatingChevronIcon, { expanded })
17060
+ /* @__PURE__ */ jsx90("span", { className: "fg1 tal", children: title }),
17061
+ /* @__PURE__ */ jsx90(RotatingChevronIcon, { expanded })
16915
17062
  ] }),
16916
- /* @__PURE__ */ jsx89("div", { ...tid.details, id, "aria-hidden": !expanded, ...trussProps54({
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__ */ jsx89("div", { ...trussProps54({
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__ */ jsx89("span", { ...trussProps54({
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__ */ jsx89(Icon, { icon: "chevronDown" }) });
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 useState34 } from "react";
16954
- import { Fragment as Fragment21, jsx as jsx90 } from "react/jsx-runtime";
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] = useState34(
17104
+ const [expandedIndex, setExpandedIndex] = useState35(
16958
17105
  accordions.findIndex((a) => a.defaultExpanded)
16959
17106
  );
16960
17107
  const tid = useTestIds(props, "accordionList");
16961
- return /* @__PURE__ */ jsx90(Fragment21, { children: accordions.map((accordionProps, index, arr) => /* @__PURE__ */ jsx90(
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 jsx91, jsxs as jsxs53 } from "react/jsx-runtime";
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__ */ jsx91(Indicator, { icon: "cloudSave" });
17154
+ return hideOnIdle ? null : /* @__PURE__ */ jsx92(Indicator, { icon: "cloudSave" });
17008
17155
  case "saving" /* SAVING */:
17009
- return /* @__PURE__ */ jsx91(Indicator, { icon: "refresh", text: "Saving..." });
17156
+ return /* @__PURE__ */ jsx92(Indicator, { icon: "refresh", text: "Saving..." });
17010
17157
  case "done" /* DONE */:
17011
- return /* @__PURE__ */ jsx91(Indicator, { icon: "cloudSave", text: "Saved" });
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__ */ jsx91("div", { className: "dif", children: /* @__PURE__ */ jsx91(Tooltip, { title: String(errors), placement: "bottom", children: /* @__PURE__ */ jsx91(Indicator, { icon: "error", color: "rgba(239, 68, 68, 1)" /* Red500 */, text: "Error saving" }) }) })
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__ */ jsxs53("div", { "data-testid": "autoSave", className: "df gap1 aic gray700 fw6 fz_14px lh_20px", children: [
17031
- /* @__PURE__ */ jsx91(Icon, { icon, color }),
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 trussProps55 } from "@homebound/truss/runtime";
17038
- import { jsx as jsx92, jsxs as jsxs54 } from "react/jsx-runtime";
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__ */ jsxs54("div", { ...trussProps55({
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__ */ jsx92("span", { className: "fs0", children: /* @__PURE__ */ jsx92(Icon, { icon: typeToIcon[type], ...tid.type, color: "rgba(36, 36, 36, 1)" /* Gray900 */ }) }),
17067
- /* @__PURE__ */ jsx92("span", { className: "fg1", ...tid.message, children: message }),
17068
- onClose && /* @__PURE__ */ jsx92("span", { className: "lh_0", children: /* @__PURE__ */ jsx92(IconButton, { icon: "x", onClick: onClose, ...tid.close, color: "rgba(36, 36, 36, 1)" /* Gray900 */ }) })
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 useCallback20, useEffect as useEffect24, useRef as useRef43, useState as useState35 } from "react";
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 useMemo29, useRef as useRef42 } from "react";
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 useMemo28 } from "react";
17116
- import { jsx as jsx93 } from "react/jsx-runtime";
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 = useMemo28(() => ({ inModal: true }), []);
17120
- return /* @__PURE__ */ jsx93(ModalContext.Provider, { value, children });
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 useMemo29(
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 trussProps56, maybeCssVar as maybeCssVar33 } from "@homebound/truss/runtime";
17173
- import { Fragment as Fragment22, jsx as jsx94, jsxs as jsxs55 } from "react/jsx-runtime";
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] = useState35(getSize(size));
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] = useState35(forceScrolling ?? false);
17375
+ const [hasScroll, setHasScroll] = useState36(forceScrolling ?? false);
17229
17376
  useResizeObserver4({
17230
17377
  ref: modalBodyRef,
17231
- onResize: useCallback20(
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__ */ jsx94(ModalProvider, { children: /* @__PURE__ */ jsx94(OverlayContainer2, { children: /* @__PURE__ */ jsx94(AutoSaveStatusProvider, { children: /* @__PURE__ */ jsx94("div", { ...trussProps56({
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__ */ jsx94(FocusScope4, { contain: true, restoreFocus: true, autoFocus: true, children: /* @__PURE__ */ jsxs55("div", { ...trussProps56({
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__ */ jsxs55("header", { ...trussProps56({
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__ */ jsx94("span", { className: "fs0 pl1", children: allowClosing && /* @__PURE__ */ jsx94(IconButton, { icon: "x", onClick: closeModal, ...testId.titleClose }) }),
17307
- /* @__PURE__ */ jsx94("h1", { className: "fg1 fw6 fz_30px lh_36px gray900", ref: modalHeaderRef, ...titleProps, ...testId.title })
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__ */ jsx94("main", { ref: modalBodyRef, ...trussProps56({
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__ */ jsx94("footer", { className: "fs0", children: /* @__PURE__ */ jsx94("div", { ref: modalFooterRef }) })
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__ */ jsx94(Fragment22, { children }), modalHeaderDiv);
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__ */ jsx94("div", { ...trussProps56({
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__ */ jsx94("div", { ...trussProps56({
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 useMemo30, useState as useState36 } from "react";
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 trussProps57 } from "@homebound/truss/runtime";
17399
- import { jsx as jsx95, jsxs as jsxs56 } from "react/jsx-runtime";
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__ */ jsxs56("div", { className: "white bgGray800 br4 fw4 fz_16px lh_24px df aic maxw_420px", "data-theme": contrastDataTheme, ...tid, role: "alert", children: [
17412
- icon && /* @__PURE__ */ jsx95("span", { className: "fs0 pl_12px", children: /* @__PURE__ */ jsx95(Icon, { ...typeToIcon2[icon], ...tid.icon }) }),
17413
- /* @__PURE__ */ jsx95(
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
- ...trussProps57({
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__ */ jsxs56("span", { className: "fs0 df aic", children: [
17437
- action && /* @__PURE__ */ jsx95("span", { ...trussProps57({
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__ */ jsx95(Button, { ...action, ...tid.action }) }),
17446
- !reallyHideClose && /* @__PURE__ */ jsx95("span", { className: "pr1 lineHeight_0", children: /* @__PURE__ */ jsx95(IconButton, { icon: "x", onClick: onClose, ...tid.close }) })
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 trussProps58, maybeCssVar as maybeCssVar34 } from "@homebound/truss/runtime";
17476
- import { jsx as jsx96 } from "react/jsx-runtime";
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__ */ jsx96("div", { ...tid.snackbarWrapper, ...trussProps58({
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__ */ jsx96(SnackbarNotice, { ...data }, data.id)) });
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 jsx97, jsxs as jsxs57 } from "react/jsx-runtime";
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] = useState36([]);
17508
- const [offset, setOffset] = useState36({});
17509
- const contextValue = useMemo30(() => ({ setNotices, setOffset }), []);
17510
- return /* @__PURE__ */ jsxs57(SnackbarContext.Provider, { value: contextValue, children: [
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__ */ jsx97(Snackbar, { notices, offset })
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 trussProps59, maybeCssVar as maybeCssVar35 } from "@homebound/truss/runtime";
17533
- import { Fragment as Fragment23, jsx as jsx98, jsxs as jsxs58 } from "react/jsx-runtime";
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__ */ jsx98(AnimatePresence, { children: content && /* @__PURE__ */ jsx98(Fragment23, { children: /* @__PURE__ */ createElement3(
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
- ...trussProps59({
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__ */ jsx98(
17750
+ /* @__PURE__ */ jsx99(
17604
17751
  motion.aside,
17605
17752
  {
17606
- ...trussProps59({
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__ */ jsxs58(AutoSaveStatusProvider, { children: [
17637
- /* @__PURE__ */ jsxs58("header", { className: "pt3 pb3 pr3 pl3 bbs_solid bbw_1px bcGray200 df aic jcsb gap3", children: [
17638
- /* @__PURE__ */ jsx98("div", { ref: headerRef, className: "gray900 fg1" }),
17639
- /* @__PURE__ */ jsx98(IconButton, { icon: "x", onClick: closeDrawer, ...testId.close })
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 jsx99 } from "react/jsx-runtime";
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__ */ jsx99(Observer, { children: () => /* @__PURE__ */ jsx99(
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 jsx100 } from "react/jsx-runtime";
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__ */ jsx100(Observer2, { children: () => /* @__PURE__ */ jsx100(
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 jsx101 } from "react/jsx-runtime";
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__ */ jsx101(Observer3, { children: () => /* @__PURE__ */ jsx101(
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 jsx102 } from "react/jsx-runtime";
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__ */ jsx102(Observer4, { children: () => /* @__PURE__ */ jsx102(
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 jsx103 } from "react/jsx-runtime";
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__ */ jsx103(Observer5, { children: () => /* @__PURE__ */ jsx103(
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 Observer8 } from "mobx-react";
17996
- import { Fragment as Fragment24, jsx as jsx107, jsxs as jsxs60 } from "react/jsx-runtime";
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__ */ jsx107(Observer8, { children: () => /* @__PURE__ */ jsxs60("div", { className: "df fdc gap3", ...tid, children: [
18014
- filteredRows.map((rowState, index) => /* @__PURE__ */ jsx107(ListFieldRowInputs, { rowState, rowNumber: index + 1, listFieldConfig, formState, listFieldKey }, `listFieldRowInputs-${listFieldKey}-${index}`)),
18015
- /* @__PURE__ */ jsx107("div", { children: /* @__PURE__ */ jsx107(Button, { icon: "plus", label: `Add ${listFieldConfig.name}`, onClick: () => onNew(listFieldObjectState), variant: "secondary", disabled: !listIsValid }) })
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__ */ jsx107(ButtonMenu, { trigger: {
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__ */ jsx107(FormRow, { row, formState: rowState }, `listField-${listFieldKey}-row-${rowIndex}`))
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 Observer9 } from "mobx-react";
18061
- import { jsx as jsx108 } from "react/jsx-runtime";
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__ */ jsx108(Observer9, { children: () => /* @__PURE__ */ jsx108(
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 Observer10 } from "mobx-react";
18109
- import { jsx as jsx109 } from "react/jsx-runtime";
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__ */ jsx109(Observer10, { children: () => /* @__PURE__ */ jsx109(
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 Observer11 } from "mobx-react";
18157
- import { jsx as jsx110 } from "react/jsx-runtime";
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__ */ jsx110(Observer11, { children: () => /* @__PURE__ */ jsx110(
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 Observer12 } from "mobx-react";
18201
- import { jsx as jsx111 } from "react/jsx-runtime";
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__ */ jsx111(Observer12, { children: () => /* @__PURE__ */ jsx111(
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 Observer13 } from "mobx-react";
18239
- import { jsx as jsx112 } from "react/jsx-runtime";
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__ */ jsx112(Observer13, { children: () => /* @__PURE__ */ jsx112(
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 boundIconCardField(props) {
18793
+ function boundSelectCardField(props) {
18718
18794
  return (field) => ({
18719
- component: /* @__PURE__ */ jsx120(BoundIconCardField, { field, ...props }),
18795
+ component: /* @__PURE__ */ jsx120(BoundSelectCardField, { field, ...props }),
18720
18796
  minWidth: "150px"
18721
18797
  });
18722
18798
  }
18723
- function boundIconCardGroupField(props) {
18799
+ function boundSelectCardGroupField(props) {
18724
18800
  return (field) => ({
18725
- component: /* @__PURE__ */ jsx120(BoundIconCardGroupField, { field, ...props }),
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 hoverStyles2 = {
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 ? hoverStyles2 : {}
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, "kanban");
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: "kanban",
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 ? hoverStyles3 : {},
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 hoverStyles3 = {
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: hoverStyles4,
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 && hoverStyles4,
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: hoverStyles4,
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 && hoverStyles4,
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,