@homebound/beam 3.90.1 → 3.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -34,6 +34,7 @@ __export(index_exports, {
34
34
  Accordion: () => Accordion,
35
35
  AccordionList: () => AccordionList,
36
36
  AiBanner: () => AiBanner,
37
+ AiCard: () => AiCard,
37
38
  AiLoader: () => AiLoader,
38
39
  AiLoadingPanel: () => AiLoadingPanel,
39
40
  AiPanel: () => AiPanel,
@@ -111,6 +112,7 @@ __export(index_exports, {
111
112
  FieldGroup: () => FieldGroup,
112
113
  FilterModal: () => FilterModal,
113
114
  Filters: () => _Filters,
115
+ FocusedFormLayout: () => FocusedFormLayout,
114
116
  FormDivider: () => FormDivider,
115
117
  FormHeading: () => FormHeading,
116
118
  FormLines: () => FormLines,
@@ -183,6 +185,7 @@ __export(index_exports, {
183
185
  SortHeader: () => SortHeader,
184
186
  StaticField: () => StaticField,
185
187
  Stepper: () => Stepper,
188
+ StepperLayout: () => StepperLayout,
186
189
  StepperTab: () => StepperTab,
187
190
  StepperTabs: () => StepperTabs,
188
191
  SubmitButton: () => SubmitButton,
@@ -210,7 +213,6 @@ __export(index_exports, {
210
213
  Tooltip: () => Tooltip,
211
214
  TreeSelectField: () => TreeSelectField,
212
215
  ViewToggleButton: () => ViewToggleButton,
213
- WorkflowLayout: () => WorkflowLayout,
214
216
  actionColumn: () => actionColumn,
215
217
  applyRowFn: () => applyRowFn,
216
218
  assignDefaultColumnIds: () => assignDefaultColumnIds,
@@ -276,6 +278,7 @@ __export(index_exports, {
276
278
  defaultRenderFn: () => defaultRenderFn,
277
279
  defaultStyle: () => defaultStyle,
278
280
  defaultTestId: () => defaultTestId,
281
+ documentScrollBodyMinHeight: () => documentScrollBodyMinHeight,
279
282
  documentScrollChromeLeft: () => documentScrollChromeLeft,
280
283
  documentScrollChromeWidth: () => documentScrollChromeWidth,
281
284
  documentScrollContentLeft: () => documentScrollContentLeft,
@@ -362,6 +365,7 @@ __export(index_exports, {
362
365
  sortFn: () => sortFn,
363
366
  sortRows: () => sortRows,
364
367
  stickyNavAndHeaderOffset: () => stickyNavAndHeaderOffset,
368
+ stickyNavAndHeaderOffsetPx: () => stickyNavAndHeaderOffsetPx,
365
369
  stickyTableHeaderOffset: () => stickyTableHeaderOffset,
366
370
  sumColumnSizesPx: () => sumColumnSizesPx,
367
371
  switchFocusStyles: () => switchFocusStyles,
@@ -6638,6 +6642,9 @@ function documentScrollContentWidth() {
6638
6642
  function documentScrollRightPaneHeight() {
6639
6643
  return `calc(var(${beamLayoutViewportHeightVar}, 100vh) - ${stickyTableHeaderOffset()})`;
6640
6644
  }
6645
+ function documentScrollBodyMinHeight() {
6646
+ return `calc(var(${beamLayoutViewportHeightVar}, 100vh) - ${stickyNavAndHeaderOffset()} - var(${beamWorkflowLayoutFooterHeightVar}, 0px))`;
6647
+ }
6641
6648
  function documentScrollRightPaneWidth(maxPx) {
6642
6649
  return `min(${maxPx}px, ${documentScrollChromeWidth()})`;
6643
6650
  }
@@ -6647,6 +6654,11 @@ function bannerAndNavbarChromeTop() {
6647
6654
  function stickyNavAndHeaderOffset(basePx = 0) {
6648
6655
  return `calc(${basePx}px + var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px))`;
6649
6656
  }
6657
+ function stickyNavAndHeaderOffsetPx(el) {
6658
+ const styles = getComputedStyle(el);
6659
+ const read = (name) => parseFloat(styles.getPropertyValue(name)) || 0;
6660
+ return read(beamEnvironmentBannerLayoutHeightVar) + read(beamNavbarLayoutHeightVar) + read(beamPageHeaderLayoutHeightVar);
6661
+ }
6650
6662
  function stickyTableHeaderOffset(basePx = 0) {
6651
6663
  return `calc(${basePx}px + var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px) + var(${beamTableActionsHeightVar}, 0px))`;
6652
6664
  }
@@ -6673,7 +6685,7 @@ var zIndices = {
6673
6685
  // Document-scroll detail pane (DocumentScrollRightPaneLayout) — above table sticky chrome, below page sticky headers.
6674
6686
  rightPane: 60,
6675
6687
  pageStickyHeader: 70,
6676
- // Sticky mobile action footer (WorkflowLayout) — same tier as pageStickyHeader; header and footer never overlap on screen.
6688
+ // Sticky mobile action footer (workflow layouts) — same tier as pageStickyHeader; header and footer never overlap on screen.
6677
6689
  pageStickyFooter: 70,
6678
6690
  dragHandle: 80,
6679
6691
  // Side-nav layer. Mobile rail overlays page content when expanded; sits below
@@ -19401,50 +19413,91 @@ var import_jsx_runtime107 = require("react/jsx-runtime");
19401
19413
  function AiPanel(props) {
19402
19414
  const {
19403
19415
  rounded = false,
19404
- fullWidth = true,
19416
+ padding = "sm",
19405
19417
  children,
19406
19418
  ...others
19407
19419
  } = props;
19408
19420
  const tid = useTestIds(others, "aiPanel");
19409
19421
  return /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { ...(0, import_runtime80.trussProps)({
19410
- width: "w100",
19411
- paddingLeft: "pl3",
19412
- paddingRight: "pr3",
19413
- paddingTop: "pt2",
19414
- paddingBottom: "pb2",
19415
- backgroundImage: "aiBackground",
19416
- ...rounded ? {
19417
- borderRadius: "br12"
19418
- } : {}
19419
- }), ...others, ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { ...(0, import_runtime80.trussProps)({
19420
- display: "df",
19421
- flexDirection: "fdc",
19422
- alignItems: "aifs",
19423
- gap: "gap1",
19424
- width: "w100",
19425
- ...!fullWidth ? {
19426
- width: "wfc",
19427
- marginLeft: "mla",
19428
- marginRight: "mra"
19429
- } : {}
19422
+ ...{
19423
+ width: "w100",
19424
+ backgroundImage: "aiBackground",
19425
+ ...rounded ? {
19426
+ borderRadius: "br12"
19427
+ } : {}
19428
+ },
19429
+ ...aiBackgroundPaddingCss[padding]
19430
+ }), ...others, ...tid, children });
19431
+ }
19432
+ function AiCard(props) {
19433
+ const {
19434
+ fullWidth = true,
19435
+ size = "lg",
19436
+ children,
19437
+ ...others
19438
+ } = props;
19439
+ const {
19440
+ logoHeight,
19441
+ gapCss
19442
+ } = aiCardChrome[size];
19443
+ const tid = useTestIds(others, "aiCard");
19444
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { ...(0, import_runtime80.trussProps)({
19445
+ ...{
19446
+ display: "df",
19447
+ flexDirection: "fdc",
19448
+ alignItems: "aifs",
19449
+ width: "w100",
19450
+ ...!fullWidth ? {
19451
+ width: "wfc",
19452
+ maxWidth: "maxw100",
19453
+ marginLeft: "mla",
19454
+ marginRight: "mra"
19455
+ } : {}
19456
+ },
19457
+ ...gapCss
19430
19458
  }), ...tid.column, children: [
19431
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(BlueprintAiLogo, { height: 3 }),
19459
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(BlueprintAiLogo, { height: logoHeight }),
19432
19460
  /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { ...(0, import_runtime80.trussProps)({
19433
19461
  display: "df",
19434
19462
  flexDirection: "fdc",
19435
19463
  width: "w100",
19464
+ minWidth: "mw0",
19436
19465
  borderRadius: "br12",
19437
- paddingTop: "pt_12px",
19438
- paddingLeft: "pl2",
19439
- paddingRight: "pr2",
19440
- paddingBottom: "pb2",
19441
19466
  backgroundColor: ["bgColor_var", {
19442
19467
  "--backgroundColor": "var(--b-surface)"
19443
19468
  }],
19444
19469
  boxShadow: "bshBasic"
19445
19470
  }), ...tid.card, children })
19446
- ] }) });
19471
+ ] });
19447
19472
  }
19473
+ var aiBackgroundPaddingCss = {
19474
+ lg: {
19475
+ paddingTop: "pt3",
19476
+ paddingBottom: "pb3",
19477
+ paddingRight: "pr3",
19478
+ paddingLeft: "pl3"
19479
+ },
19480
+ sm: {
19481
+ paddingLeft: "pl3",
19482
+ paddingRight: "pr3",
19483
+ paddingTop: "pt2",
19484
+ paddingBottom: "pb2"
19485
+ }
19486
+ };
19487
+ var aiCardChrome = {
19488
+ lg: {
19489
+ logoHeight: 3,
19490
+ gapCss: {
19491
+ gap: "gap2"
19492
+ }
19493
+ },
19494
+ sm: {
19495
+ logoHeight: 2,
19496
+ gapCss: {
19497
+ gap: "gap_4px"
19498
+ }
19499
+ }
19500
+ };
19448
19501
 
19449
19502
  // src/components/AiBanner.tsx
19450
19503
  var import_runtime81 = require("@homebound/truss/runtime");
@@ -19457,7 +19510,7 @@ function AiBanner(props) {
19457
19510
  secondaryAction
19458
19511
  } = props;
19459
19512
  const tid = useTestIds(props, "aiBanner");
19460
- return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(AiPanel, { ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { className: "df aic jcsb gap2 w100 fww", children: [
19513
+ return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(AiPanel, { padding: "sm", ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(AiCard, { size: "sm", ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { className: "df aic jcsb gap2 w100 fww pt_12px pb2 pl2 pr2", children: [
19461
19514
  /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { className: "df fdc gap_4px fg1 fb_0 mw_240px", children: [
19462
19515
  /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("span", { className: "fw6 fz_14px lh_20px purple700 aiBoldBg bgcl_text WebkitBackgroundClip_text wktfc_transparent", ...tid.title, children: title }),
19463
19516
  message && /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("span", { ...(0, import_runtime81.trussProps)({
@@ -19473,7 +19526,7 @@ function AiBanner(props) {
19473
19526
  secondaryAction && /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Button, { ...secondaryAction, variant: "quaternary" }),
19474
19527
  primaryAction && /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(Button, { ...primaryAction, variant: "ai" })
19475
19528
  ] })
19476
- ] }) });
19529
+ ] }) }) });
19477
19530
  }
19478
19531
 
19479
19532
  // src/components/AiLoader.tsx
@@ -19535,7 +19588,7 @@ function AiLoadingPanel(props) {
19535
19588
  return (
19536
19589
  // `status` rather than `alert` so assistive tech waits for a pause instead of interrupting, and
19537
19590
  // `aria-busy` so it knows the surrounding content is still settling.
19538
- /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(AiPanel, { role: "status", "aria-busy": true, ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "df fdc aic gap1 w100 pl1 pr1", children: [
19591
+ /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(AiPanel, { role: "status", "aria-busy": true, padding: "lg", ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(AiCard, { size: "lg", ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "df fdc aic gap1 w100 pt2 pb2 pl3 pr3", children: [
19539
19592
  /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(AiLoader, {}),
19540
19593
  /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "fw6 fz_18px lh_28px purple700 aiBoldBg bgcl_text WebkitBackgroundClip_text wktfc_transparent", ...tid.title, children: title }),
19541
19594
  /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { ...(0, import_runtime83.trussProps)({
@@ -19547,7 +19600,7 @@ function AiLoadingPanel(props) {
19547
19600
  }],
19548
19601
  textAlign: "tac"
19549
19602
  }), ...tid.message, children: message })
19550
- ] }) })
19603
+ ] }) }) })
19551
19604
  );
19552
19605
  }
19553
19606
  var defaultMessage = "This process can take a few minutes. Feel free to keep working in another tab. Once imported, you may edit or add to content before saving.";
@@ -21751,6 +21804,7 @@ function ContentHeader(props) {
21751
21804
  actions,
21752
21805
  withAutoSave,
21753
21806
  level = 2,
21807
+ aiMode = false,
21754
21808
  startAdornment,
21755
21809
  xss
21756
21810
  } = props;
@@ -21759,6 +21813,16 @@ function ContentHeader(props) {
21759
21813
  tag: Heading,
21760
21814
  css: headingCss
21761
21815
  } = headingByLevel[level];
21816
+ const titleCss = aiMode ? {
21817
+ ...headingCss,
21818
+ ...{
21819
+ color: "purple700",
21820
+ backgroundImage: "aiBoldBg",
21821
+ backgroundClip: "bgcl_text",
21822
+ WebkitBackgroundClip: "WebkitBackgroundClip_text",
21823
+ WebkitTextFillColor: "wktfc_transparent"
21824
+ }
21825
+ } : headingCss;
21762
21826
  if (!title && !description && !actions && !withAutoSave) {
21763
21827
  return null;
21764
21828
  }
@@ -21788,7 +21852,7 @@ function ContentHeader(props) {
21788
21852
  /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { className: "df aic jcsb mw0", children: [
21789
21853
  title ? /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { className: "df aic gap1 mw0", children: [
21790
21854
  startAdornment,
21791
- /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Heading, { ...(0, import_runtime95.trussProps)(headingCss), ...tid.title, children: title })
21855
+ /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(Heading, { ...(0, import_runtime95.trussProps)(titleCss), ...tid.title, children: title })
21792
21856
  ] }) : descriptionEl,
21793
21857
  (withAutoSave || actions) && /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)("div", { className: "df gap1 fs0", ...tid.actions, children: [
21794
21858
  withAutoSave && /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(AutoSaveIndicator, {}),
@@ -21825,6 +21889,9 @@ var headingByLevel = {
21825
21889
  }
21826
21890
  };
21827
21891
 
21892
+ // src/forms/FormSection/FormSection.tsx
21893
+ var import_runtime98 = require("@homebound/truss/runtime");
21894
+
21828
21895
  // src/forms/FormSection/FormSectionChild.tsx
21829
21896
  var import_react108 = require("react");
21830
21897
 
@@ -21964,7 +22031,14 @@ function FormSection(props) {
21964
22031
  childSections
21965
22032
  } = props;
21966
22033
  const tid = useTestIds(props, "formSection");
21967
- return /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)("div", { className: "df fdc gap2", children: [
22034
+ return /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)("div", { id: defaultTestId(title), ...(0, import_runtime98.trussProps)({
22035
+ display: "df",
22036
+ flexDirection: "fdc",
22037
+ gap: "gap2",
22038
+ scrollMarginTop: ["scrollMarginTop_var", {
22039
+ "--scrollMarginTop": (0, import_runtime98.maybeCssVar)(stickyNavAndHeaderOffset())
22040
+ }]
22041
+ }), ...tid.section, children: [
21968
22042
  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(ContentHeader, { ...tid, title, description, actions, level: 3 }),
21969
22043
  fields,
21970
22044
  childSections && (isReorderable(childSections) ? /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(DraggableChildren, { childSections, ...tid.childSection }) : /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("div", { className: "df fdc gap3", children: childSections.map((child) => /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(FormSectionChild, { ...child, ...tid.childSection }, child.id ?? child.title)) }))
@@ -22001,7 +22075,7 @@ function sortByOrderField(childSections) {
22001
22075
 
22002
22076
  // src/forms/StaticField.tsx
22003
22077
  var import_utils128 = require("@react-aria/utils");
22004
- var import_runtime98 = require("@homebound/truss/runtime");
22078
+ var import_runtime99 = require("@homebound/truss/runtime");
22005
22079
  var import_jsx_runtime150 = require("react/jsx-runtime");
22006
22080
  function StaticField(props) {
22007
22081
  const {
@@ -22015,14 +22089,14 @@ function StaticField(props) {
22015
22089
  } = props;
22016
22090
  const tid = useTestIds(props, typeof label === "string" ? defaultTestId(label) : "staticField");
22017
22091
  const id = (0, import_utils128.useId)();
22018
- return /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)("div", { ...(0, import_runtime98.trussProps)({
22092
+ return /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)("div", { ...(0, import_runtime99.trussProps)({
22019
22093
  ...labelStyle === "left" ? {
22020
22094
  display: "df",
22021
22095
  justifyContent: "jcsb",
22022
22096
  maxWidth: "maxw100"
22023
22097
  } : {}
22024
22098
  }), ...tid.container, children: [
22025
- /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("label", { ...(0, import_runtime98.trussProps)({
22099
+ /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("label", { ...(0, import_runtime99.trussProps)({
22026
22100
  display: "db",
22027
22101
  fontWeight: "fw4",
22028
22102
  fontSize: "fz_14px",
@@ -22032,7 +22106,7 @@ function StaticField(props) {
22032
22106
  }],
22033
22107
  marginBottom: "mb_4px"
22034
22108
  }), htmlFor: id, ...tid.label, children: label }),
22035
- /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("div", { id, ...(0, import_runtime98.trussProps)({
22109
+ /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("div", { id, ...(0, import_runtime99.trussProps)({
22036
22110
  fontWeight: "fw4",
22037
22111
  fontSize: "fz_14px",
22038
22112
  lineHeight: "lh_20px",
@@ -22082,7 +22156,7 @@ var import_use_debounce6 = require("use-debounce");
22082
22156
  // src/components/RightSidebar.tsx
22083
22157
  var import_framer_motion2 = require("framer-motion");
22084
22158
  var import_react109 = require("react");
22085
- var import_runtime99 = require("@homebound/truss/runtime");
22159
+ var import_runtime100 = require("@homebound/truss/runtime");
22086
22160
  var import_jsx_runtime152 = require("react/jsx-runtime");
22087
22161
  var RIGHT_SIDEBAR_MIN_WIDTH = "250px";
22088
22162
  function RightSidebar({
@@ -22122,27 +22196,27 @@ function RightSidebar({
22122
22196
  duration: 0.2
22123
22197
  },
22124
22198
  x: "100%"
22125
- }, ...(0, import_runtime99.trussProps)({
22199
+ }, ...(0, import_runtime100.trussProps)({
22126
22200
  width: "w100",
22127
22201
  minWidth: ["mw_var", {
22128
- "--minWidth": (0, import_runtime99.maybeCssVar)(RIGHT_SIDEBAR_MIN_WIDTH)
22202
+ "--minWidth": (0, import_runtime100.maybeCssVar)(RIGHT_SIDEBAR_MIN_WIDTH)
22129
22203
  }],
22130
22204
  zIndex: "z0",
22131
22205
  maxHeight: ["maxh_var", {
22132
- "--maxHeight": (0, import_runtime99.maybeCssVar)(`calc(100vh - ${headerHeightPx2}px)`)
22206
+ "--maxHeight": (0, import_runtime100.maybeCssVar)(`calc(100vh - ${headerHeightPx2}px)`)
22133
22207
  }],
22134
22208
  overflowY: "oya",
22135
22209
  paddingLeft: "pl4",
22136
22210
  paddingRight: "pr3"
22137
22211
  }), children: /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_jsx_runtime152.Fragment, { children: [
22138
- /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("div", { ...(0, import_runtime99.trussProps)({
22212
+ /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("div", { ...(0, import_runtime100.trussProps)({
22139
22213
  position: "sticky",
22140
22214
  top: "top0",
22141
22215
  backgroundColor: ["bgColor_var", {
22142
22216
  "--backgroundColor": "var(--b-surface)"
22143
22217
  }]
22144
22218
  }), children: [
22145
- /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("div", { ...(0, import_runtime99.trussProps)({
22219
+ /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("div", { ...(0, import_runtime100.trussProps)({
22146
22220
  position: "absolute",
22147
22221
  left: ["left_var", {
22148
22222
  "--left": `${-24}px`
@@ -22153,7 +22227,7 @@ function RightSidebar({
22153
22227
  alignItems: "aic"
22154
22228
  }), children: [
22155
22229
  /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(IconButton, { bgColor: "--b-surface" /* Surface */, variant: "circle", onClick: () => setSelectedIcon(void 0), icon: "x", inc: 3.5 }),
22156
- /* @__PURE__ */ (0, import_jsx_runtime152.jsx)("div", { ...(0, import_runtime99.trussProps)({
22230
+ /* @__PURE__ */ (0, import_jsx_runtime152.jsx)("div", { ...(0, import_runtime100.trussProps)({
22157
22231
  position: "absolute",
22158
22232
  top: "top_48px",
22159
22233
  height: "h_calc_100vh_168px",
@@ -22221,7 +22295,7 @@ function Toast() {
22221
22295
  // src/components/Layout/PageHeaderBreadcrumbs.tsx
22222
22296
  var import_react111 = require("react");
22223
22297
  var import_react_router_dom5 = require("react-router-dom");
22224
- var import_runtime100 = require("@homebound/truss/runtime");
22298
+ var import_runtime101 = require("@homebound/truss/runtime");
22225
22299
  var import_jsx_runtime155 = (
22226
22300
  // Adding index to key to prevent rendering issues when multiple items have the same label
22227
22301
  require("react/jsx-runtime")
@@ -22234,7 +22308,7 @@ function PageHeaderBreadcrumbs({
22234
22308
  const [collapsed, setCollapsed] = (0, import_react111.useState)(true);
22235
22309
  function renderBreadcrumb(bc, index, hideDivisor) {
22236
22310
  return /* @__PURE__ */ (0, import_jsx_runtime155.jsxs)(import_react111.Fragment, { children: [
22237
- index > 0 && !hideDivisor && /* @__PURE__ */ (0, import_jsx_runtime155.jsx)("span", { ...(0, import_runtime100.trussProps)({
22311
+ index > 0 && !hideDivisor && /* @__PURE__ */ (0, import_jsx_runtime155.jsx)("span", { ...(0, import_runtime101.trussProps)({
22238
22312
  fontWeight: "fw6",
22239
22313
  fontSize: "fz_14px",
22240
22314
  lineHeight: "lh_20px",
@@ -22246,7 +22320,7 @@ function PageHeaderBreadcrumbs({
22246
22320
  marginTop: "mt_2px",
22247
22321
  marginBottom: "mb_2px"
22248
22322
  }), children: "/" }),
22249
- /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(import_react_router_dom5.Link, { to: bc.href, ...(0, import_runtime100.mergeProps)("navLink", void 0, {
22323
+ /* @__PURE__ */ (0, import_jsx_runtime155.jsx)(import_react_router_dom5.Link, { to: bc.href, ...(0, import_runtime101.mergeProps)("navLink", void 0, {
22250
22324
  fontWeight: "fw6",
22251
22325
  fontSize: "fz_14px",
22252
22326
  lineHeight: "lh_20px",
@@ -22260,7 +22334,7 @@ function PageHeaderBreadcrumbs({
22260
22334
  }
22261
22335
  return /* @__PURE__ */ (0, import_jsx_runtime155.jsx)("div", { className: "df aic mb_4px", children: breadcrumbs.length > 3 && collapsed ? /* @__PURE__ */ (0, import_jsx_runtime155.jsxs)(import_jsx_runtime155.Fragment, { children: [
22262
22336
  renderBreadcrumb(breadcrumbs[0], 0),
22263
- /* @__PURE__ */ (0, import_jsx_runtime155.jsx)("button", { ...tids.expand, ...(0, import_runtime100.trussProps)({
22337
+ /* @__PURE__ */ (0, import_jsx_runtime155.jsx)("button", { ...tids.expand, ...(0, import_runtime101.trussProps)({
22264
22338
  color: ["color_var", {
22265
22339
  "--color": "var(--b-on-surface-muted)"
22266
22340
  }],
@@ -22273,7 +22347,7 @@ function PageHeaderBreadcrumbs({
22273
22347
  }
22274
22348
 
22275
22349
  // src/components/Layout/FormPageLayout.tsx
22276
- var import_runtime101 = require("@homebound/truss/runtime");
22350
+ var import_runtime102 = require("@homebound/truss/runtime");
22277
22351
  var import_jsx_runtime156 = require("react/jsx-runtime");
22278
22352
  var headerHeightPx = 120;
22279
22353
  var maxContentWidthPx = 1600;
@@ -22296,14 +22370,14 @@ function FormPageLayoutComponent(props) {
22296
22370
  // since this layout will be replacing most superdrawers/sidebars, we keep the listing mounted below to preserve the users's
22297
22371
  // scroll position & filters
22298
22372
  // Adding "align-items: start" allows "position: sticky" to work within a grid for the sidebars
22299
- /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { ...(0, import_runtime101.trussProps)({
22373
+ /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { ...(0, import_runtime102.trussProps)({
22300
22374
  position: "fixed",
22301
22375
  top: "top0",
22302
22376
  bottom: "bottom0",
22303
22377
  left: "left0",
22304
22378
  right: "right0",
22305
22379
  zIndex: ["z_var", {
22306
- "--zIndex": (0, import_runtime101.maybeCssVar)(zIndices.pageOverlay)
22380
+ "--zIndex": (0, import_runtime102.maybeCssVar)(zIndices.pageOverlay)
22307
22381
  }],
22308
22382
  overflowY: "oya",
22309
22383
  backgroundColor: ["bgColor_var", {
@@ -22312,14 +22386,14 @@ function FormPageLayoutComponent(props) {
22312
22386
  display: "df",
22313
22387
  justifyContent: "jcc",
22314
22388
  alignItems: "aifs"
22315
- }), ...tids, children: /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { ...(0, import_runtime101.trussProps)({
22389
+ }), ...tids, children: /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("div", { ...(0, import_runtime102.trussProps)({
22316
22390
  width: "w100",
22317
22391
  maxWidth: ["maxw_var", {
22318
22392
  "--maxWidth": `${maxContentWidthPx}px`
22319
22393
  }],
22320
22394
  display: "dg",
22321
22395
  gridTemplateColumns: ["gtc_var", {
22322
- "--gridTemplateColumns": (0, import_runtime101.maybeCssVar)(gridColumns)
22396
+ "--gridTemplateColumns": (0, import_runtime102.maybeCssVar)(gridColumns)
22323
22397
  }],
22324
22398
  gridTemplateRows: "gtr_auto_1fr",
22325
22399
  columnGap: "cg3",
@@ -22328,7 +22402,7 @@ function FormPageLayoutComponent(props) {
22328
22402
  /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(PageHeader, { ...props, ...tids.pageHeader }),
22329
22403
  /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(LeftNav, { sectionsWithRefs, ...tids }),
22330
22404
  /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(FormSections, { sectionsWithRefs, formState, ...tids }),
22331
- rightSideBar && /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("aside", { ...(0, import_runtime101.trussProps)({
22405
+ rightSideBar && /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("aside", { ...(0, import_runtime102.trussProps)({
22332
22406
  gridRow: "gr_2",
22333
22407
  gridColumn: "gc_3_4",
22334
22408
  position: "sticky",
@@ -22353,7 +22427,7 @@ function PageHeader(props) {
22353
22427
  notice
22354
22428
  } = useToastContext();
22355
22429
  const tids = useTestIds(props);
22356
- return /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("header", { ...(0, import_runtime101.trussProps)({
22430
+ return /* @__PURE__ */ (0, import_jsx_runtime156.jsxs)("header", { ...(0, import_runtime102.trussProps)({
22357
22431
  gridRow: "gr_1",
22358
22432
  gridColumn: "gc_1_4",
22359
22433
  position: "sticky",
@@ -22362,7 +22436,7 @@ function PageHeader(props) {
22362
22436
  "--backgroundColor": "var(--b-surface)"
22363
22437
  }],
22364
22438
  zIndex: ["z_var", {
22365
- "--zIndex": (0, import_runtime101.maybeCssVar)(zIndices.pageStickyHeader)
22439
+ "--zIndex": (0, import_runtime102.maybeCssVar)(zIndices.pageStickyHeader)
22366
22440
  }],
22367
22441
  ...!notice ? {
22368
22442
  height: ["h_var", {
@@ -22391,7 +22465,7 @@ function FormSections(props) {
22391
22465
  } = props;
22392
22466
  const tids = useTestIds(props);
22393
22467
  const bottomPaddingPx = sectionsWithRefs.length > 1 ? 200 : 0;
22394
- return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("article", { ...(0, import_runtime101.trussProps)({
22468
+ return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("article", { ...(0, import_runtime102.trussProps)({
22395
22469
  gridRow: "gr_2",
22396
22470
  gridColumn: "gc_2_3",
22397
22471
  paddingBottom: ["pb_var", {
@@ -22409,13 +22483,13 @@ function FormSections(props) {
22409
22483
  {
22410
22484
  id: sectionKey,
22411
22485
  ref,
22412
- ...(0, import_runtime101.trussProps)({
22486
+ ...(0, import_runtime102.trussProps)({
22413
22487
  display: "dg",
22414
22488
  gridTemplateColumns: "gtc_50px_1fr",
22415
22489
  gridTemplateRows: "gtr_auto",
22416
22490
  marginBottom: "mb_72px",
22417
22491
  scrollMarginTop: ["scrollMarginTop_var", {
22418
- "--scrollMarginTop": (0, import_runtime101.maybeCssVar)(`${headerHeightPx}px`)
22492
+ "--scrollMarginTop": (0, import_runtime102.maybeCssVar)(`${headerHeightPx}px`)
22419
22493
  }]
22420
22494
  }),
22421
22495
  ...tids.formSection,
@@ -22440,7 +22514,7 @@ function LeftNav(props) {
22440
22514
  section
22441
22515
  }) => !!section.title), [sectionsWithRefs]);
22442
22516
  const activeSection = useActiveSection(sectionWithTitles);
22443
- return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("aside", { ...(0, import_runtime101.trussProps)({
22517
+ return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("aside", { ...(0, import_runtime102.trussProps)({
22444
22518
  gridRow: "gr_2",
22445
22519
  gridColumn: "gc_1_2",
22446
22520
  position: "sticky",
@@ -22459,7 +22533,7 @@ var activeStyles = {
22459
22533
  fontSize: "fz_14px",
22460
22534
  lineHeight: "lh_20px",
22461
22535
  boxShadow: ["boxShadow_var", {
22462
- "--boxShadow": (0, import_runtime101.maybeCssVar)(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
22536
+ "--boxShadow": (0, import_runtime102.maybeCssVar)(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
22463
22537
  }]
22464
22538
  };
22465
22539
  var hoverStyles2 = {
@@ -22469,7 +22543,7 @@ var hoverStyles2 = {
22469
22543
  lineHeight: "lh_20px",
22470
22544
  color: "blue900",
22471
22545
  boxShadow: ["boxShadow_var", {
22472
- "--boxShadow": (0, import_runtime101.maybeCssVar)(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
22546
+ "--boxShadow": (0, import_runtime102.maybeCssVar)(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
22473
22547
  }]
22474
22548
  };
22475
22549
  var defaultFocusRingStyles = {
@@ -22509,7 +22583,7 @@ function SectionNavLink(props) {
22509
22583
  hoverProps,
22510
22584
  isHovered
22511
22585
  } = useHover2({});
22512
- return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("button", { ref: buttonRef, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime101.trussProps)({
22586
+ return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("button", { ref: buttonRef, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime102.trussProps)({
22513
22587
  ...{
22514
22588
  fontWeight: "fw6",
22515
22589
  fontSize: "fz_14px",
@@ -22586,7 +22660,7 @@ function useActiveSection(sectionsWithRefs) {
22586
22660
  }
22587
22661
 
22588
22662
  // src/components/Layout/FullBleed.tsx
22589
- var import_runtime102 = require("@homebound/truss/runtime");
22663
+ var import_runtime103 = require("@homebound/truss/runtime");
22590
22664
  var import_react113 = require("react");
22591
22665
  var __maybeInc20 = (inc) => {
22592
22666
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -22612,24 +22686,24 @@ function FullBleed({
22612
22686
  // ...for some reason this keeps the Layout top padding better than using
22613
22687
  // react-aria's more generic mergeProps.
22614
22688
  {
22615
- ...(0, import_runtime102.mergeProps)(
22689
+ ...(0, import_runtime103.mergeProps)(
22616
22690
  className,
22617
22691
  style,
22618
22692
  // ScrollableParent applies horizontal padding to its content column, so FullBleed
22619
22693
  // inverts that padding with negative margins before re-applying it to the child.
22620
22694
  {
22621
22695
  marginLeft: ["ml_var", {
22622
- "--marginLeft": (0, import_runtime102.maybeCssVar)(__maybeInc20(invertSpacing(paddingLeft)))
22696
+ "--marginLeft": (0, import_runtime103.maybeCssVar)(__maybeInc20(invertSpacing(paddingLeft)))
22623
22697
  }],
22624
22698
  marginRight: ["mr_var", {
22625
- "--marginRight": (0, import_runtime102.maybeCssVar)(__maybeInc20(invertSpacing(paddingRight)))
22699
+ "--marginRight": (0, import_runtime103.maybeCssVar)(__maybeInc20(invertSpacing(paddingRight)))
22626
22700
  }],
22627
22701
  ...!omitPadding ? {
22628
22702
  paddingLeft: ["pl_var", {
22629
- "--paddingLeft": (0, import_runtime102.maybeCssVar)(__maybeInc20(paddingLeft))
22703
+ "--paddingLeft": (0, import_runtime103.maybeCssVar)(__maybeInc20(paddingLeft))
22630
22704
  }],
22631
22705
  paddingRight: ["pr_var", {
22632
- "--paddingRight": (0, import_runtime102.maybeCssVar)(__maybeInc20(paddingRight))
22706
+ "--paddingRight": (0, import_runtime103.maybeCssVar)(__maybeInc20(paddingRight))
22633
22707
  }]
22634
22708
  } : {}
22635
22709
  }
@@ -22666,7 +22740,7 @@ function isGridTableProps(props) {
22666
22740
 
22667
22741
  // src/components/Layout/RightPaneLayout/DocumentScrollRightPaneLayout.tsx
22668
22742
  var import_react117 = require("react");
22669
- var import_runtime104 = require("@homebound/truss/runtime");
22743
+ var import_runtime105 = require("@homebound/truss/runtime");
22670
22744
 
22671
22745
  // src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
22672
22746
  var import_framer_motion3 = require("framer-motion");
@@ -22721,7 +22795,7 @@ function useRightPaneContext() {
22721
22795
  }
22722
22796
 
22723
22797
  // src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
22724
- var import_runtime103 = require("@homebound/truss/runtime");
22798
+ var import_runtime104 = require("@homebound/truss/runtime");
22725
22799
  var import_jsx_runtime159 = require("react/jsx-runtime");
22726
22800
  var __maybeInc21 = (inc) => {
22727
22801
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -22746,7 +22820,7 @@ function DocumentScrollRightPane({
22746
22820
  });
22747
22821
  (0, import_react116.useEffect)(() => closePane, [closePane]);
22748
22822
  const slideX = sm ? "100%" : paneWidth;
22749
- const pane = /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(import_framer_motion3.AnimatePresence, { children: isRightPaneOpen && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(import_framer_motion3.motion.div, { ...tid, ...(0, import_runtime103.mergeProps)(void 0, sm ? {
22823
+ const pane = /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(import_framer_motion3.AnimatePresence, { children: isRightPaneOpen && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(import_framer_motion3.motion.div, { ...tid, ...(0, import_runtime104.mergeProps)(void 0, sm ? {
22750
22824
  top: bannerHeightPx
22751
22825
  } : void 0, sm ? {
22752
22826
  position: "fixed",
@@ -22758,27 +22832,27 @@ function DocumentScrollRightPane({
22758
22832
  "--backgroundColor": "var(--b-surface)"
22759
22833
  }],
22760
22834
  zIndex: ["z_var", {
22761
- "--zIndex": (0, import_runtime103.maybeCssVar)(zIndices.rightPaneMobile)
22835
+ "--zIndex": (0, import_runtime104.maybeCssVar)(zIndices.rightPaneMobile)
22762
22836
  }]
22763
22837
  } : {
22764
22838
  position: "fixed",
22765
22839
  transition: "transitionTop",
22766
22840
  top: ["top_var", {
22767
- "--top": (0, import_runtime103.maybeCssVar)(__maybeInc21(stickyTableHeaderOffset()))
22841
+ "--top": (0, import_runtime104.maybeCssVar)(__maybeInc21(stickyTableHeaderOffset()))
22768
22842
  }],
22769
22843
  right: "right_0",
22770
22844
  height: ["h_var", {
22771
- "--height": (0, import_runtime103.maybeCssVar)(__maybeInc21(documentScrollRightPaneHeight()))
22845
+ "--height": (0, import_runtime104.maybeCssVar)(__maybeInc21(documentScrollRightPaneHeight()))
22772
22846
  }],
22773
22847
  width: ["w_var", {
22774
- "--width": (0, import_runtime103.maybeCssVar)(__maybeInc21(documentScrollRightPaneWidth(paneWidth)))
22848
+ "--width": (0, import_runtime104.maybeCssVar)(__maybeInc21(documentScrollRightPaneWidth(paneWidth)))
22775
22849
  }],
22776
22850
  overflowY: "oya",
22777
22851
  backgroundColor: ["bgColor_var", {
22778
22852
  "--backgroundColor": "var(--b-surface)"
22779
22853
  }],
22780
22854
  zIndex: ["z_var", {
22781
- "--zIndex": (0, import_runtime103.maybeCssVar)(zIndices.rightPane)
22855
+ "--zIndex": (0, import_runtime104.maybeCssVar)(zIndices.rightPane)
22782
22856
  }],
22783
22857
  borderLeftStyle: "bls_solid",
22784
22858
  borderLeftWidth: "blw_1px",
@@ -22827,7 +22901,7 @@ function DocumentScrollRightPaneLayout(props) {
22827
22901
  }
22828
22902
  };
22829
22903
  }, [effectivePaneWidth]);
22830
- return /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { ...(0, import_runtime104.mergeProps)(void 0, {
22904
+ return /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { ...(0, import_runtime105.mergeProps)(void 0, {
22831
22905
  [beamRightPaneWidthVar]: effectivePaneWidth
22832
22906
  }, {
22833
22907
  width: "w100"
@@ -22843,19 +22917,19 @@ function DocumentScrollRightPaneSpacer({
22843
22917
  }) {
22844
22918
  const tid = useTestIds({}, "rightPaneSpacer");
22845
22919
  const effectivePaneWidth = documentScrollRightPaneWidth(paneWidth);
22846
- return /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { ...(0, import_runtime104.mergeProps)(void 0, {
22920
+ return /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { ...(0, import_runtime105.mergeProps)(void 0, {
22847
22921
  width: isOpen ? "fit-content" : "100%"
22848
22922
  }, {
22849
22923
  display: "df",
22850
22924
  minWidth: "mw100"
22851
22925
  }), children: [
22852
- /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { ...(0, import_runtime104.mergeProps)(void 0, {
22926
+ /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { ...(0, import_runtime105.mergeProps)(void 0, {
22853
22927
  width: `min(100%, ${documentScrollChromeWidth()})`
22854
22928
  }, {
22855
22929
  flexShrink: "fs0",
22856
22930
  minWidth: "mw_fit_content"
22857
22931
  }), children }),
22858
- /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { "aria-hidden": true, ...(0, import_runtime104.mergeProps)(void 0, {
22932
+ /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { "aria-hidden": true, ...(0, import_runtime105.mergeProps)(void 0, {
22859
22933
  width: isOpen ? effectivePaneWidth : 0
22860
22934
  }, {
22861
22935
  flexShrink: "fs0",
@@ -22905,7 +22979,7 @@ function isSelectionButtonMenuProps(props) {
22905
22979
  }
22906
22980
 
22907
22981
  // src/components/CountBadge.tsx
22908
- var import_runtime105 = require("@homebound/truss/runtime");
22982
+ var import_runtime106 = require("@homebound/truss/runtime");
22909
22983
  var import_jsx_runtime162 = require("react/jsx-runtime");
22910
22984
  function CountBadge(props) {
22911
22985
  const {
@@ -22917,7 +22991,7 @@ function CountBadge(props) {
22917
22991
  } = props;
22918
22992
  const tid = useTestIds(otherProps, "countBadge");
22919
22993
  if (hideIfZero && count === 0) return null;
22920
- return /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("span", { ...tid, ...(0, import_runtime105.trussProps)({
22994
+ return /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("span", { ...tid, ...(0, import_runtime106.trussProps)({
22921
22995
  ...{
22922
22996
  height: ["sq_var", {
22923
22997
  "--height": `${count > 100 ? 18 : 16}px`
@@ -22937,12 +23011,12 @@ function CountBadge(props) {
22937
23011
  alignItems: "aic",
22938
23012
  justifyContent: "jcc",
22939
23013
  backgroundColor: ["bgColor_var", {
22940
- "--backgroundColor": (0, import_runtime105.maybeCssVar)(bgColor)
23014
+ "--backgroundColor": (0, import_runtime106.maybeCssVar)(bgColor)
22941
23015
  }]
22942
23016
  },
22943
23017
  ...{
22944
23018
  color: ["color_var", {
22945
- "--color": (0, import_runtime105.maybeCssVar)(color)
23019
+ "--color": (0, import_runtime106.maybeCssVar)(color)
22946
23020
  }]
22947
23021
  }
22948
23022
  }), children: count });
@@ -23461,7 +23535,7 @@ function OpenModal(props) {
23461
23535
  }
23462
23536
 
23463
23537
  // src/components/Filters/FilterModal.tsx
23464
- var import_runtime106 = require("@homebound/truss/runtime");
23538
+ var import_runtime107 = require("@homebound/truss/runtime");
23465
23539
  var import_jsx_runtime173 = require("react/jsx-runtime");
23466
23540
  function FilterModal(props) {
23467
23541
  const {
@@ -23498,7 +23572,7 @@ function ModalFilterItem({
23498
23572
  label,
23499
23573
  children
23500
23574
  }) {
23501
- return /* @__PURE__ */ (0, import_jsx_runtime173.jsxs)("div", { ...(0, import_runtime106.trussProps)({
23575
+ return /* @__PURE__ */ (0, import_jsx_runtime173.jsxs)("div", { ...(0, import_runtime107.trussProps)({
23502
23576
  marginBottom: "mb4",
23503
23577
  ...!label ? {
23504
23578
  borderTopStyle: "bts_solid",
@@ -23507,7 +23581,7 @@ function ModalFilterItem({
23507
23581
  } : {}
23508
23582
  }), children: [
23509
23583
  label && /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("h2", { className: "fw4 fz_16px lh_24px mb2", children: label }),
23510
- /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("div", { ...(0, import_runtime106.trussProps)({
23584
+ /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("div", { ...(0, import_runtime107.trussProps)({
23511
23585
  ...!label ? {
23512
23586
  paddingTop: "pt3"
23513
23587
  } : {}
@@ -23517,7 +23591,7 @@ function ModalFilterItem({
23517
23591
 
23518
23592
  // src/components/Filters/Filters.tsx
23519
23593
  var import_react121 = require("react");
23520
- var import_runtime107 = require("@homebound/truss/runtime");
23594
+ var import_runtime108 = require("@homebound/truss/runtime");
23521
23595
  var import_jsx_runtime174 = require("react/jsx-runtime");
23522
23596
  function Filters(props) {
23523
23597
  const {
@@ -23541,7 +23615,7 @@ function Filters(props) {
23541
23615
  }, [numberOfInlineFilters, vertical, filterDefs]);
23542
23616
  const numModalFilters = safeKeys(modalFilters).filter((fk) => filter[fk] !== void 0).length;
23543
23617
  const maybeGroupByField = groupBy ? /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(SelectField, { label: "Group by", labelStyle: !vertical ? "inline" : "above", sizeToContent: !vertical, options: groupBy.options, getOptionValue: (o) => o.id, getOptionLabel: (o) => o.name, value: groupBy.value, onSelect: (g) => g && groupBy.setValue(g) }) }) : null;
23544
- return /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { ...(0, import_runtime107.trussProps)({
23618
+ return /* @__PURE__ */ (0, import_jsx_runtime174.jsxs)("div", { ...(0, import_runtime108.trussProps)({
23545
23619
  ...vertical ? {
23546
23620
  display: "df",
23547
23621
  flexDirection: "fdc",
@@ -23602,7 +23676,7 @@ var ToggleFilter = class extends BaseFilter {
23602
23676
  var import_react122 = require("react");
23603
23677
  var import_react_aria55 = require("react-aria");
23604
23678
  var import_react_stately18 = require("react-stately");
23605
- var import_runtime108 = require("@homebound/truss/runtime");
23679
+ var import_runtime109 = require("@homebound/truss/runtime");
23606
23680
  var import_jsx_runtime176 = require("react/jsx-runtime");
23607
23681
  function EditColumnsButton(props) {
23608
23682
  const {
@@ -23651,7 +23725,7 @@ function EditColumnsButton(props) {
23651
23725
  label: "",
23652
23726
  size: "md",
23653
23727
  variant: "secondaryBlack"
23654
- }, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)("div", { ...(0, import_runtime108.trussProps)({
23728
+ }, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)("div", { ...(0, import_runtime109.trussProps)({
23655
23729
  display: "df",
23656
23730
  flexDirection: "fdc",
23657
23731
  backgroundColor: ["bgColor_var", {
@@ -23668,7 +23742,7 @@ function EditColumnsButton(props) {
23668
23742
  /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { className: "fw4 fz_14px lh_20px wsnw oh to_ellipsis pr1", children: option.label }),
23669
23743
  /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(Switch, { compact: true, selected: selectedValues.includes(option.value), onChange: (value) => setSelectedValues(value ? [...selectedValues, option.value] : selectedValues.filter((v) => v !== option.value)), labelStyle: "hidden", label: option.label, ...tid[`option${option.value}`] })
23670
23744
  ] }, option.value)) }),
23671
- /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { ...(0, import_runtime108.trussProps)({
23745
+ /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { ...(0, import_runtime109.trussProps)({
23672
23746
  display: "df",
23673
23747
  justifyContent: "jcc",
23674
23748
  paddingTop: "pt2",
@@ -23710,7 +23784,7 @@ var import_use_debounce7 = require("use-debounce");
23710
23784
  var import_use_query_params3 = require("use-query-params");
23711
23785
 
23712
23786
  // src/components/Layout/GridTableLayout/FilterPanel.tsx
23713
- var import_runtime109 = require("@homebound/truss/runtime");
23787
+ var import_runtime110 = require("@homebound/truss/runtime");
23714
23788
 
23715
23789
  // src/components/Layout/GridTableLayout/GroupByField.tsx
23716
23790
  var import_jsx_runtime178 = require("react/jsx-runtime");
@@ -23746,7 +23820,7 @@ function FilterPanelOpen({
23746
23820
  const inDocumentScrollLayout = useDocumentScrollLayout();
23747
23821
  const activeFilterCount = getActiveFilterCount(filter ?? {});
23748
23822
  const filterControls = filter && setFilter ? buildFilterControls(filterImpls, filter, setFilter, tid) : null;
23749
- return /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)("div", { ...(0, import_runtime109.trussProps)({
23823
+ return /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)("div", { ...(0, import_runtime110.trussProps)({
23750
23824
  ...{
23751
23825
  display: "df",
23752
23826
  alignItems: "aic",
@@ -23778,7 +23852,7 @@ function FilterPanelClosed({
23778
23852
  if (!filter || !setFilter) return null;
23779
23853
  const chips = safeEntries(filterImpls).flatMap(([key, f]) => chipsForFilterKey(key, f, filter, setFilter, tid));
23780
23854
  if (chips.length === 0) return null;
23781
- return /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)("div", { ...(0, import_runtime109.trussProps)({
23855
+ return /* @__PURE__ */ (0, import_jsx_runtime179.jsxs)("div", { ...(0, import_runtime110.trussProps)({
23782
23856
  display: "df",
23783
23857
  gap: "gap1",
23784
23858
  alignItems: "aic",
@@ -23819,7 +23893,7 @@ function chipsForFilterKey(key, f, filter, onChange, testId) {
23819
23893
  }
23820
23894
 
23821
23895
  // src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
23822
- var import_runtime110 = require("@homebound/truss/runtime");
23896
+ var import_runtime111 = require("@homebound/truss/runtime");
23823
23897
  var import_jsx_runtime180 = require("react/jsx-runtime");
23824
23898
  function GridTableLayoutActionsComponent(props) {
23825
23899
  const {
@@ -23883,7 +23957,7 @@ function GridTableLayoutActionsComponent(props) {
23883
23957
  }
23884
23958
  };
23885
23959
  }
23886
- return /* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { ...(0, import_runtime110.trussProps)({
23960
+ return /* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { ...(0, import_runtime111.trussProps)({
23887
23961
  display: "df",
23888
23962
  flexDirection: "fdc",
23889
23963
  gap: "gap1",
@@ -23892,7 +23966,7 @@ function GridTableLayoutActionsComponent(props) {
23892
23966
  paddingBottom: "pb3"
23893
23967
  } : {}
23894
23968
  }), children: [
23895
- /* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { ...(0, import_runtime110.trussProps)({
23969
+ /* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { ...(0, import_runtime111.trussProps)({
23896
23970
  ...{
23897
23971
  display: "df",
23898
23972
  gap: "gap1",
@@ -23919,7 +23993,7 @@ function GridTableLayoutActionsComponent(props) {
23919
23993
  } })
23920
23994
  ] })
23921
23995
  ] }),
23922
- sm && showSearch && /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("div", { ...(0, import_runtime110.trussProps)(pageContentPaddingX), children: searchTextField }),
23996
+ sm && showSearch && /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("div", { ...(0, import_runtime111.trussProps)(pageContentPaddingX), children: searchTextField }),
23923
23997
  hasFilterControls && !showInlineControl && /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(FilterPanel, { isOpen: showFilters, groupBy, filterImpls, filter, setFilter, onClear: clearFilters })
23924
23998
  ] });
23925
23999
  }
@@ -23929,7 +24003,7 @@ var _GridTableLayoutActions = (0, import_react123.memo)(GridTableLayoutActionsCo
23929
24003
  var import_react124 = require("react");
23930
24004
 
23931
24005
  // src/components/LoadingSkeleton.tsx
23932
- var import_runtime111 = require("@homebound/truss/runtime");
24006
+ var import_runtime112 = require("@homebound/truss/runtime");
23933
24007
  var import_jsx_runtime181 = require("react/jsx-runtime");
23934
24008
  function LoadingSkeleton({
23935
24009
  rows = 1,
@@ -23942,18 +24016,18 @@ function LoadingSkeleton({
23942
24016
  const rowHeight = sizeToPixels2[size];
23943
24017
  const rowCells = (rowNumber) => {
23944
24018
  const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
23945
- return cellArray.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...(0, import_runtime111.trussProps)({
24019
+ return cellArray.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...(0, import_runtime112.trussProps)({
23946
24020
  borderRadius: "br4",
23947
24021
  animation: "animation_pulse_2s_cubic_bezier_0_4_0_0_6_1_infinite",
23948
24022
  flexGrow: ["flexGrow_var", {
23949
- "--flexGrow": (0, import_runtime111.maybeCssVar)(flexGrowForCell)
24023
+ "--flexGrow": (0, import_runtime112.maybeCssVar)(flexGrowForCell)
23950
24024
  }],
23951
24025
  backgroundColor: ["bgColor_var", {
23952
24026
  "--backgroundColor": "var(--b-loader-fill)"
23953
24027
  }]
23954
24028
  }) }, `row-${rowNumber}-cell-${i}`));
23955
24029
  };
23956
- return /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...(0, import_runtime111.trussProps)({
24030
+ return /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime181.jsx)("div", { ...(0, import_runtime112.trussProps)({
23957
24031
  display: "df",
23958
24032
  gap: "gap1",
23959
24033
  marginBottom: "mb1",
@@ -24038,7 +24112,7 @@ function parseStoredTableView(raw) {
24038
24112
  }
24039
24113
 
24040
24114
  // src/components/Layout/GridTableLayout/GridTableLayout.tsx
24041
- var import_runtime112 = require("@homebound/truss/runtime");
24115
+ var import_runtime113 = require("@homebound/truss/runtime");
24042
24116
  var import_jsx_runtime183 = require("react/jsx-runtime");
24043
24117
  var __maybeInc22 = (inc) => {
24044
24118
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -24096,21 +24170,21 @@ function GridTableLayoutComponent(props) {
24096
24170
  as: cardAs
24097
24171
  } : {}, api, emptyState, filter: clientSearch, style: tableStyle, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey, columnGutter: inDocumentScrollLayout }) });
24098
24172
  const tableScrollContent = /* @__PURE__ */ (0, import_jsx_runtime183.jsxs)(import_jsx_runtime183.Fragment, { children: [
24099
- showTableActions && /* @__PURE__ */ (0, import_jsx_runtime183.jsx)("div", { ref: tableActionsRef, ...(0, import_runtime112.trussProps)({
24173
+ showTableActions && /* @__PURE__ */ (0, import_jsx_runtime183.jsx)("div", { ref: tableActionsRef, ...(0, import_runtime113.trussProps)({
24100
24174
  ...inDocumentScrollLayout ? {
24101
24175
  transition: "transitionTop",
24102
24176
  position: "sticky",
24103
24177
  top: ["top_var", {
24104
- "--top": (0, import_runtime112.maybeCssVar)(__maybeInc22(stickyNavAndHeaderOffset()))
24178
+ "--top": (0, import_runtime113.maybeCssVar)(__maybeInc22(stickyNavAndHeaderOffset()))
24105
24179
  }],
24106
24180
  left: ["left_var", {
24107
- "--left": (0, import_runtime112.maybeCssVar)(__maybeInc22(documentScrollChromeLeft()))
24181
+ "--left": (0, import_runtime113.maybeCssVar)(__maybeInc22(documentScrollChromeLeft()))
24108
24182
  }],
24109
24183
  width: ["w_var", {
24110
- "--width": (0, import_runtime112.maybeCssVar)(__maybeInc22(`min(100%, ${documentScrollChromeWidth()})`))
24184
+ "--width": (0, import_runtime113.maybeCssVar)(__maybeInc22(`min(100%, ${documentScrollChromeWidth()})`))
24111
24185
  }],
24112
24186
  zIndex: ["z_var", {
24113
- "--zIndex": (0, import_runtime112.maybeCssVar)(zIndices.tableActions)
24187
+ "--zIndex": (0, import_runtime113.maybeCssVar)(zIndices.tableActions)
24114
24188
  }],
24115
24189
  backgroundColor: ["bgColor_var", {
24116
24190
  "--backgroundColor": "var(--b-surface)"
@@ -24246,7 +24320,7 @@ function PreventBrowserScroll({
24246
24320
  // src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
24247
24321
  var import_framer_motion4 = require("framer-motion");
24248
24322
  var import_react127 = require("react");
24249
- var import_runtime113 = require("@homebound/truss/runtime");
24323
+ var import_runtime114 = require("@homebound/truss/runtime");
24250
24324
  var import_jsx_runtime185 = require("react/jsx-runtime");
24251
24325
  var __maybeInc23 = (inc) => {
24252
24326
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -24266,10 +24340,10 @@ function RightPaneLayout(props) {
24266
24340
  } = useRightPaneContext();
24267
24341
  (0, import_react127.useEffect)(() => closePane, [closePane]);
24268
24342
  return /* @__PURE__ */ (0, import_jsx_runtime185.jsx)("div", { className: "h100 df oxh", children: /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)(import_jsx_runtime185.Fragment, { children: [
24269
- /* @__PURE__ */ (0, import_jsx_runtime185.jsx)("div", { ...(0, import_runtime113.trussProps)({
24343
+ /* @__PURE__ */ (0, import_jsx_runtime185.jsx)("div", { ...(0, import_runtime114.trussProps)({
24270
24344
  ...{
24271
24345
  width: ["w_var", {
24272
- "--width": (0, import_runtime113.maybeCssVar)(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
24346
+ "--width": (0, import_runtime114.maybeCssVar)(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
24273
24347
  }],
24274
24348
  transition: "transition_width_2s_linear",
24275
24349
  height: "h100",
@@ -24285,13 +24359,13 @@ function RightPaneLayout(props) {
24285
24359
  ...{
24286
24360
  ...!!defaultPaneContent ? {
24287
24361
  width: ["w_var", {
24288
- "--width": (0, import_runtime113.maybeCssVar)(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
24362
+ "--width": (0, import_runtime114.maybeCssVar)(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
24289
24363
  }],
24290
24364
  marginRight: "mr3"
24291
24365
  } : {}
24292
24366
  }
24293
24367
  }), children }),
24294
- /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)("div", { ...(0, import_runtime113.trussProps)({
24368
+ /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)("div", { ...(0, import_runtime114.trussProps)({
24295
24369
  position: "relative",
24296
24370
  ...!!defaultPaneContent ? {
24297
24371
  width: ["w_var", {
@@ -24299,7 +24373,7 @@ function RightPaneLayout(props) {
24299
24373
  }]
24300
24374
  } : {}
24301
24375
  }), children: [
24302
- defaultPaneContent && /* @__PURE__ */ (0, import_jsx_runtime185.jsx)("div", { ...(0, import_runtime113.trussProps)({
24376
+ defaultPaneContent && /* @__PURE__ */ (0, import_jsx_runtime185.jsx)("div", { ...(0, import_runtime114.trussProps)({
24303
24377
  height: "h100",
24304
24378
  width: ["w_var", {
24305
24379
  "--width": `${paneWidth}px`
@@ -24317,9 +24391,9 @@ function RightPaneLayout(props) {
24317
24391
  {
24318
24392
  layout: "position",
24319
24393
  "data-testid": "rightPaneContent",
24320
- ...(0, import_runtime113.trussProps)({
24394
+ ...(0, import_runtime114.trussProps)({
24321
24395
  backgroundColor: ["bgColor_var", {
24322
- "--backgroundColor": (0, import_runtime113.maybeCssVar)(paneBgColor)
24396
+ "--backgroundColor": (0, import_runtime114.maybeCssVar)(paneBgColor)
24323
24397
  }],
24324
24398
  height: "h100",
24325
24399
  width: ["w_var", {
@@ -24400,7 +24474,7 @@ function SidePanel(props) {
24400
24474
  }
24401
24475
 
24402
24476
  // src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
24403
- var import_runtime114 = require("@homebound/truss/runtime");
24477
+ var import_runtime115 = require("@homebound/truss/runtime");
24404
24478
  var import_jsx_runtime188 = require("react/jsx-runtime");
24405
24479
  var defaultRightPaneWidth = 450;
24406
24480
  function TableReviewLayout(props) {
@@ -24442,14 +24516,14 @@ function TableReviewLayout(props) {
24442
24516
  bordered: true
24443
24517
  }, stickyHeader: true });
24444
24518
  }
24445
- return /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)("div", { ...(0, import_runtime114.trussProps)({
24519
+ return /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)("div", { ...(0, import_runtime115.trussProps)({
24446
24520
  position: "fixed",
24447
24521
  top: "top0",
24448
24522
  bottom: "bottom0",
24449
24523
  left: "left0",
24450
24524
  right: "right0",
24451
24525
  zIndex: ["z_var", {
24452
- "--zIndex": (0, import_runtime114.maybeCssVar)(zIndices.pageOverlay)
24526
+ "--zIndex": (0, import_runtime115.maybeCssVar)(zIndices.pageOverlay)
24453
24527
  }],
24454
24528
  backgroundColor: ["bgColor_var", {
24455
24529
  "--backgroundColor": "var(--b-surface)"
@@ -24466,7 +24540,7 @@ function TableReviewLayout(props) {
24466
24540
  ] }),
24467
24541
  /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(Button, { label: "Close", onClick: closeAction, ...tid.closeButton })
24468
24542
  ] }),
24469
- /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime114.trussProps)({
24543
+ /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime115.trussProps)({
24470
24544
  fontWeight: "fw4",
24471
24545
  fontSize: "fz_14px",
24472
24546
  lineHeight: "lh_20px",
@@ -24477,7 +24551,7 @@ function TableReviewLayout(props) {
24477
24551
  }), ...tid.description, children: description })
24478
24552
  ] }),
24479
24553
  /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)("div", { className: "fg1 df mh0", ...tid.content, children: [
24480
- /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime114.trussProps)({
24554
+ /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime115.trussProps)({
24481
24555
  ...{
24482
24556
  flexGrow: "fg1",
24483
24557
  overflowY: "oya",
@@ -24500,7 +24574,7 @@ function TableReviewLayout(props) {
24500
24574
  ease: "linear",
24501
24575
  duration: 0.2
24502
24576
  }, className: "df fdc fs0 relative", children: [
24503
- /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)("div", { ...(0, import_runtime114.trussProps)({
24577
+ /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)("div", { ...(0, import_runtime115.trussProps)({
24504
24578
  position: "absolute",
24505
24579
  top: ["top_var", {
24506
24580
  "--top": `${-32}px`
@@ -24514,7 +24588,7 @@ function TableReviewLayout(props) {
24514
24588
  zIndex: "z1"
24515
24589
  }), children: [
24516
24590
  /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(IconButton, { bgColor: "--b-surface" /* Surface */, variant: "circle", icon: "x", inc: 3.5, onClick: handleClosePanel, ...tid.closePanelButton }),
24517
- /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime114.trussProps)({
24591
+ /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime115.trussProps)({
24518
24592
  width: "w_1px",
24519
24593
  backgroundColor: ["bgColor_var", {
24520
24594
  "--backgroundColor": "var(--b-field-border-default)"
@@ -24603,7 +24677,7 @@ function useBeamContext() {
24603
24677
  // src/components/Breadcrumbs.tsx
24604
24678
  var import_react130 = require("react");
24605
24679
  var import_react_router_dom6 = require("react-router-dom");
24606
- var import_runtime115 = require("@homebound/truss/runtime");
24680
+ var import_runtime116 = require("@homebound/truss/runtime");
24607
24681
  var import_jsx_runtime190 = (
24608
24682
  // Index is added to the key to prevent rendering issues when multiple items have the same label
24609
24683
  require("react/jsx-runtime")
@@ -24622,7 +24696,7 @@ function Breadcrumbs({
24622
24696
  function renderBreadcrumb(bc, index, isLast) {
24623
24697
  return /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)(import_react130.Fragment, { children: [
24624
24698
  index > 0 && /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("span", { className: "fs0 fw4 fz_12px lh_16px", children: "/" }),
24625
- /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(import_react_router_dom6.Link, { ...tid.link, to: bc.href, title: bc.label, ...(0, import_runtime115.trussProps)({
24699
+ /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(import_react_router_dom6.Link, { ...tid.link, to: bc.href, title: bc.label, ...(0, import_runtime116.trussProps)({
24626
24700
  ...{
24627
24701
  fontWeight: "fw4",
24628
24702
  fontSize: "fz_12px",
@@ -24681,7 +24755,7 @@ function ButtonDatePicker(props) {
24681
24755
  // src/components/ButtonGroup.tsx
24682
24756
  var import_react132 = require("react");
24683
24757
  var import_react_aria58 = require("react-aria");
24684
- var import_runtime116 = require("@homebound/truss/runtime");
24758
+ var import_runtime117 = require("@homebound/truss/runtime");
24685
24759
  var import_jsx_runtime192 = (
24686
24760
  // Disable the button if the ButtonGroup is disabled or if the current button is disabled.
24687
24761
  require("react/jsx-runtime")
@@ -24695,7 +24769,7 @@ function ButtonGroup(props) {
24695
24769
  const tid = useTestIds(props, "buttonGroup");
24696
24770
  return (
24697
24771
  // Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
24698
- /* @__PURE__ */ (0, import_jsx_runtime192.jsx)("div", { ...tid, ...(0, import_runtime116.trussProps)({
24772
+ /* @__PURE__ */ (0, import_jsx_runtime192.jsx)("div", { ...tid, ...(0, import_runtime117.trussProps)({
24699
24773
  ...{
24700
24774
  display: "df",
24701
24775
  lineHeight: "lh_0"
@@ -24741,10 +24815,10 @@ function GroupButton(props) {
24741
24815
  isHovered
24742
24816
  } = (0, import_react_aria58.useHover)(ariaProps);
24743
24817
  const tid = useTestIds(props);
24744
- return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)("span", { ...(0, import_runtime116.trussProps)(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
24818
+ return /* @__PURE__ */ (0, import_jsx_runtime192.jsx)("span", { ...(0, import_runtime117.trussProps)(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
24745
24819
  title: resolveTooltip(disabled, tooltip),
24746
24820
  placement: "top",
24747
- children: /* @__PURE__ */ (0, import_jsx_runtime192.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime116.trussProps)({
24821
+ children: /* @__PURE__ */ (0, import_jsx_runtime192.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime117.trussProps)({
24748
24822
  ...{
24749
24823
  fontWeight: "fw6",
24750
24824
  fontSize: "fz_14px",
@@ -24867,7 +24941,7 @@ var import_react_aria59 = require("react-aria");
24867
24941
  // src/components/Tag.tsx
24868
24942
  var import_utils157 = require("@react-aria/utils");
24869
24943
  var import_react133 = require("react");
24870
- var import_runtime117 = require("@homebound/truss/runtime");
24944
+ var import_runtime118 = require("@homebound/truss/runtime");
24871
24945
  var import_jsx_runtime193 = require("react/jsx-runtime");
24872
24946
  function Tag(props) {
24873
24947
  const {
@@ -24901,7 +24975,7 @@ function Tag(props) {
24901
24975
  const tooltipTitle = !preventTooltip ? isIconOnly ? text : showTooltip ? text : void 0 : void 0;
24902
24976
  return maybeTooltip({
24903
24977
  title: tooltipTitle,
24904
- children: /* @__PURE__ */ (0, import_jsx_runtime193.jsxs)("span", { ...tid, ...(0, import_runtime117.trussProps)({
24978
+ children: /* @__PURE__ */ (0, import_jsx_runtime193.jsxs)("span", { ...tid, ...(0, import_runtime118.trussProps)({
24905
24979
  ...{
24906
24980
  position: "relative",
24907
24981
  display: "dif",
@@ -25008,7 +25082,7 @@ function getPrimaryStyles(type) {
25008
25082
  }
25009
25083
 
25010
25084
  // src/components/Card.tsx
25011
- var import_runtime118 = require("@homebound/truss/runtime");
25085
+ var import_runtime119 = require("@homebound/truss/runtime");
25012
25086
  var import_jsx_runtime194 = require("react/jsx-runtime");
25013
25087
  function Card(props) {
25014
25088
  const {
@@ -25041,8 +25115,8 @@ function Card(props) {
25041
25115
  ...isHovered && cardHoverStyles,
25042
25116
  ...isDisabled && disabledStyles2
25043
25117
  }), [isDisabled, isHovered, bordered, type, isList, fullWidth]);
25044
- return /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("div", { ...(0, import_runtime118.trussProps)(styles), ...hoverProps, ...tid, children: [
25045
- /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime118.trussProps)({
25118
+ return /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("div", { ...(0, import_runtime119.trussProps)(styles), ...hoverProps, ...tid, children: [
25119
+ /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime119.trussProps)({
25046
25120
  ...{
25047
25121
  height: ["h_var", {
25048
25122
  "--height": `${imgHeight}px`
@@ -25065,14 +25139,14 @@ function Card(props) {
25065
25139
  flexShrink: "fs0"
25066
25140
  },
25067
25141
  ...isHovered && !isList && imageHoverStyles
25068
- }), children: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("img", { ...(0, import_runtime118.trussProps)({
25142
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("img", { ...(0, import_runtime119.trussProps)({
25069
25143
  width: "w100",
25070
25144
  height: "h100",
25071
25145
  objectFit: ["objectFit_var", {
25072
- "--objectFit": (0, import_runtime118.maybeCssVar)(imageFit)
25146
+ "--objectFit": (0, import_runtime119.maybeCssVar)(imageFit)
25073
25147
  }]
25074
25148
  }), src: imgSrc, alt: title, ...tid.img }) }),
25075
- isHovered && buttonMenuItems && /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime118.trussProps)({
25149
+ isHovered && buttonMenuItems && /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime119.trussProps)({
25076
25150
  position: "absolute",
25077
25151
  right: "right1",
25078
25152
  top: "top1",
@@ -25087,7 +25161,7 @@ function Card(props) {
25087
25161
  tag && /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { className: "absolute left1 top_4px", children: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(Tag, { type: tag?.type, text: tag?.text, ...tid.tag }) }),
25088
25162
  /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("div", { className: "df fdc aifs gap1", children: [
25089
25163
  /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("div", { children: [
25090
- /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime118.trussProps)({
25164
+ /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime119.trussProps)({
25091
25165
  fontWeight: "fw6",
25092
25166
  fontSize: "fz_12px",
25093
25167
  lineHeight: "lh_16px",
@@ -25095,7 +25169,7 @@ function Card(props) {
25095
25169
  "--color": "var(--b-on-surface-muted)"
25096
25170
  }]
25097
25171
  }), ...tid.subtitle, children: subtitle }),
25098
- /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime118.trussProps)({
25172
+ /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime119.trussProps)({
25099
25173
  fontWeight: "fw6",
25100
25174
  fontSize: "fz_14px",
25101
25175
  lineHeight: "lh_20px",
@@ -25168,10 +25242,10 @@ var imageHoverStyles = {
25168
25242
  };
25169
25243
 
25170
25244
  // src/components/Copy.tsx
25171
- var import_runtime119 = require("@homebound/truss/runtime");
25245
+ var import_runtime120 = require("@homebound/truss/runtime");
25172
25246
  var import_jsx_runtime195 = require("react/jsx-runtime");
25173
25247
  function Copy(props) {
25174
- return /* @__PURE__ */ (0, import_jsx_runtime195.jsx)("div", { ...(0, import_runtime119.mergeProps)("beam-copy", void 0, {
25248
+ return /* @__PURE__ */ (0, import_jsx_runtime195.jsx)("div", { ...(0, import_runtime120.mergeProps)("beam-copy", void 0, {
25175
25249
  ...{
25176
25250
  fontWeight: "fw4",
25177
25251
  fontSize: "fz_14px",
@@ -25187,7 +25261,7 @@ function Copy(props) {
25187
25261
  }
25188
25262
 
25189
25263
  // src/components/EnvironmentBanner/EnvironmentBanner.tsx
25190
- var import_runtime120 = require("@homebound/truss/runtime");
25264
+ var import_runtime121 = require("@homebound/truss/runtime");
25191
25265
  var import_jsx_runtime196 = require("react/jsx-runtime");
25192
25266
  function EnvironmentBanner(props) {
25193
25267
  const {
@@ -25207,14 +25281,14 @@ function EnvironmentBanner(props) {
25207
25281
  tooltip
25208
25282
  } = getEnvironmentBannerConfig(env, impersonating, showProdWarning);
25209
25283
  const bgColorVar = maybeCssVar(bgColor);
25210
- return /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { ...(0, import_runtime120.trussProps)({
25284
+ return /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { ...(0, import_runtime121.trussProps)({
25211
25285
  flexShrink: "fs0",
25212
25286
  position: "relative",
25213
25287
  zIndex: ["z_var", {
25214
- "--zIndex": (0, import_runtime120.maybeCssVar)(zIndices.environmentBanner)
25288
+ "--zIndex": (0, import_runtime121.maybeCssVar)(zIndices.environmentBanner)
25215
25289
  }],
25216
25290
  backgroundColor: ["bgColor_var", {
25217
- "--backgroundColor": (0, import_runtime120.maybeCssVar)(bgColorVar)
25291
+ "--backgroundColor": (0, import_runtime121.maybeCssVar)(bgColorVar)
25218
25292
  }],
25219
25293
  height: ["h_var", {
25220
25294
  "--height": `${environmentBannerSizePx}px`
@@ -25223,7 +25297,7 @@ function EnvironmentBanner(props) {
25223
25297
  }), role: "banner", ...tid, children: [
25224
25298
  getInvertedCorner("left", bgColorVar),
25225
25299
  getInvertedCorner("right", bgColorVar),
25226
- /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { ...(0, import_runtime120.trussProps)({
25300
+ /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { ...(0, import_runtime121.trussProps)({
25227
25301
  ...{
25228
25302
  position: "relative",
25229
25303
  zIndex: "z2",
@@ -25238,7 +25312,7 @@ function EnvironmentBanner(props) {
25238
25312
  /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(Tag, { text: badgeLabel, xss: {
25239
25313
  backgroundColor: "bgColor_FFFFFF90"
25240
25314
  }, ...tid.badge }),
25241
- /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("span", { ...(0, import_runtime120.trussProps)({
25315
+ /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("span", { ...(0, import_runtime121.trussProps)({
25242
25316
  ...{
25243
25317
  alignItems: "aic",
25244
25318
  gap: "gap1",
@@ -25259,7 +25333,7 @@ function EnvironmentBanner(props) {
25259
25333
  /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("span", { className: "fs0", ...tid.info, children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(Icon, { icon: "infoCircle", tooltip, inc: 2, color: "--b-on-primary" /* OnPrimary */ }) })
25260
25334
  ] })
25261
25335
  ] }),
25262
- impersonating != null && /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("span", { ...(0, import_runtime120.trussProps)({
25336
+ impersonating != null && /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("span", { ...(0, import_runtime121.trussProps)({
25263
25337
  display: "df",
25264
25338
  alignItems: "aic",
25265
25339
  gap: "gap2",
@@ -25348,16 +25422,16 @@ function getInvertedCorner(side, bgColorVar) {
25348
25422
  right: "right0"
25349
25423
  };
25350
25424
  const shadowXOffset = side === "left" ? -invertedCornerRadiusPx : invertedCornerRadiusPx;
25351
- return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { "aria-hidden": true, ...(0, import_runtime120.trussProps)({
25425
+ return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { "aria-hidden": true, ...(0, import_runtime121.trussProps)({
25352
25426
  ...shell,
25353
25427
  ...outerPosition
25354
- }), children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { ...(0, import_runtime120.trussProps)({
25428
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { ...(0, import_runtime121.trussProps)({
25355
25429
  height: "h_200",
25356
25430
  width: "w_200",
25357
25431
  position: "absolute",
25358
25432
  borderRadius: "borderRadius_50",
25359
25433
  boxShadow: ["boxShadow_var", {
25360
- "--boxShadow": (0, import_runtime120.maybeCssVar)(`${shadowXOffset}px -${invertedCornerRadiusPx}px 0 0 ${bgColorVar}`)
25434
+ "--boxShadow": (0, import_runtime121.maybeCssVar)(`${shadowXOffset}px -${invertedCornerRadiusPx}px 0 0 ${bgColorVar}`)
25361
25435
  }],
25362
25436
  ...side === "right" ? {
25363
25437
  right: "right0"
@@ -25390,7 +25464,7 @@ var gridItemDataAttribute = "data-grid-item-span";
25390
25464
  var ResponsiveGridContext = (0, import_react135.createContext)(void 0);
25391
25465
 
25392
25466
  // src/components/Grid/ResponsiveGrid.tsx
25393
- var import_runtime121 = require("@homebound/truss/runtime");
25467
+ var import_runtime122 = require("@homebound/truss/runtime");
25394
25468
  var import_jsx_runtime197 = require("react/jsx-runtime");
25395
25469
  function ResponsiveGrid(props) {
25396
25470
  const {
@@ -25411,12 +25485,12 @@ function ResponsiveGrid(props) {
25411
25485
  gap,
25412
25486
  columns
25413
25487
  }), [minColumnWidth, gap, columns]);
25414
- return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { ...(0, import_runtime121.trussProps)(gridStyles), children }) });
25488
+ return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { ...(0, import_runtime122.trussProps)(gridStyles), children }) });
25415
25489
  }
25416
25490
 
25417
25491
  // src/components/Grid/ResponsiveGridItem.tsx
25418
25492
  var import_react_aria60 = require("react-aria");
25419
- var import_runtime122 = require("@homebound/truss/runtime");
25493
+ var import_runtime123 = require("@homebound/truss/runtime");
25420
25494
  var import_jsx_runtime198 = require("react/jsx-runtime");
25421
25495
  function ResponsiveGridItem(props) {
25422
25496
  const {
@@ -25429,12 +25503,12 @@ function ResponsiveGridItem(props) {
25429
25503
  } = useResponsiveGridItem({
25430
25504
  colSpan
25431
25505
  });
25432
- return /* @__PURE__ */ (0, import_jsx_runtime198.jsx)("div", { ...(0, import_react_aria60.mergeProps)(gridItemProps, (0, import_runtime122.trussProps)(gridItemStyles)), children });
25506
+ return /* @__PURE__ */ (0, import_jsx_runtime198.jsx)("div", { ...(0, import_react_aria60.mergeProps)(gridItemProps, (0, import_runtime123.trussProps)(gridItemStyles)), children });
25433
25507
  }
25434
25508
 
25435
25509
  // src/components/Grid/useResponsiveGrid.ts
25436
25510
  var import_react137 = require("react");
25437
- var import_runtime123 = require("@homebound/truss/runtime");
25511
+ var import_runtime124 = require("@homebound/truss/runtime");
25438
25512
  var __maybeInc24 = (inc) => {
25439
25513
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
25440
25514
  };
@@ -25453,11 +25527,11 @@ function useResponsiveGrid(props) {
25453
25527
  return {
25454
25528
  display: "dg",
25455
25529
  gridTemplateColumns: ["gtc_var", {
25456
- "--gridTemplateColumns": (0, import_runtime123.maybeCssVar)(gridTemplateColumns)
25530
+ "--gridTemplateColumns": (0, import_runtime124.maybeCssVar)(gridTemplateColumns)
25457
25531
  }],
25458
25532
  containerType: "ctis",
25459
25533
  gap: ["gap_var", {
25460
- "--gap": (0, import_runtime123.maybeCssVar)(__maybeInc24(gridGap))
25534
+ "--gap": (0, import_runtime124.maybeCssVar)(__maybeInc24(gridGap))
25461
25535
  }]
25462
25536
  };
25463
25537
  }, [minColumnWidth, gap, columns]);
@@ -25582,7 +25656,7 @@ function HbSpinnerProvider({
25582
25656
  // src/components/JumpLink.tsx
25583
25657
  var import_react140 = require("react");
25584
25658
  var import_react_aria61 = require("react-aria");
25585
- var import_runtime124 = require("@homebound/truss/runtime");
25659
+ var import_runtime125 = require("@homebound/truss/runtime");
25586
25660
  var import_jsx_runtime200 = require("react/jsx-runtime");
25587
25661
  function JumpLink(props) {
25588
25662
  const {
@@ -25619,13 +25693,13 @@ function JumpLink(props) {
25619
25693
  e.preventDefault();
25620
25694
  const target = document.getElementById(href.replace(/^#/, ""));
25621
25695
  if (target) {
25622
- window.scrollTo({
25623
- top: target.getBoundingClientRect().top + window.scrollY,
25624
- behavior: "smooth"
25696
+ target.scrollIntoView({
25697
+ behavior: "smooth",
25698
+ block: "start"
25625
25699
  });
25626
25700
  }
25627
25701
  }
25628
- return /* @__PURE__ */ (0, import_jsx_runtime200.jsx)("a", { ref, ...(0, import_react_aria61.mergeProps)(linkProps, focusProps, hoverProps), ...tid, ...(0, import_runtime124.trussProps)({
25702
+ return /* @__PURE__ */ (0, import_jsx_runtime200.jsx)("a", { ref, ...(0, import_react_aria61.mergeProps)(linkProps, focusProps, hoverProps), ...tid, ...(0, import_runtime125.trussProps)({
25629
25703
  ...jumpLinkStyles.baseStyles,
25630
25704
  ...active && jumpLinkStyles.activeStyles,
25631
25705
  ...isHovered && !disabled && jumpLinkStyles.hoverStyles,
@@ -25682,7 +25756,7 @@ var jumpLinkStyles = {
25682
25756
  // src/components/MaxLines.tsx
25683
25757
  var import_utils165 = require("@react-aria/utils");
25684
25758
  var import_react141 = require("react");
25685
- var import_runtime125 = require("@homebound/truss/runtime");
25759
+ var import_runtime126 = require("@homebound/truss/runtime");
25686
25760
  var import_jsx_runtime201 = require("react/jsx-runtime");
25687
25761
  function MaxLines({
25688
25762
  maxLines,
@@ -25707,10 +25781,10 @@ function MaxLines({
25707
25781
  onResize
25708
25782
  });
25709
25783
  return /* @__PURE__ */ (0, import_jsx_runtime201.jsxs)("div", { children: [
25710
- /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { ref: elRef, ...(0, import_runtime125.trussProps)({
25784
+ /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { ref: elRef, ...(0, import_runtime126.trussProps)({
25711
25785
  ...!expanded ? {
25712
25786
  WebkitLineClamp: ["lineClamp_var", {
25713
- "--WebkitLineClamp": (0, import_runtime125.maybeCssVar)(maxLines)
25787
+ "--WebkitLineClamp": (0, import_runtime126.maybeCssVar)(maxLines)
25714
25788
  }],
25715
25789
  overflow: "oh",
25716
25790
  display: "d_negwebkit_box",
@@ -25733,7 +25807,7 @@ var import_react144 = require("react");
25733
25807
  // src/components/AppNav/AppNavGroupTrigger.tsx
25734
25808
  var import_react142 = require("react");
25735
25809
  var import_react_aria62 = require("react-aria");
25736
- var import_runtime126 = require("@homebound/truss/runtime");
25810
+ var import_runtime127 = require("@homebound/truss/runtime");
25737
25811
  var import_jsx_runtime202 = require("react/jsx-runtime");
25738
25812
  function AppNavGroupTrigger(props) {
25739
25813
  const {
@@ -25770,7 +25844,7 @@ function AppNavGroupTrigger(props) {
25770
25844
  ref,
25771
25845
  "aria-expanded": expanded,
25772
25846
  "aria-controls": navGroupId,
25773
- ...(0, import_runtime126.mergeProps)(navLink, void 0, {
25847
+ ...(0, import_runtime127.mergeProps)(navLink, void 0, {
25774
25848
  ...baseStyles4,
25775
25849
  ...isFocusVisible && focusRingStyles2,
25776
25850
  ...isHovered && hoverStyles4,
@@ -25784,7 +25858,7 @@ function AppNavGroupTrigger(props) {
25784
25858
  })
25785
25859
  }), children: [
25786
25860
  label,
25787
- /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ...(0, import_runtime126.trussProps)({
25861
+ /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ...(0, import_runtime127.trussProps)({
25788
25862
  ...{
25789
25863
  display: "df",
25790
25864
  alignItems: "aic",
@@ -25937,7 +26011,7 @@ function useAppNavGroupExpanded(linkGroup) {
25937
26011
  }
25938
26012
 
25939
26013
  // src/components/AppNav/AppNavGroup.tsx
25940
- var import_runtime127 = require("@homebound/truss/runtime");
26014
+ var import_runtime128 = require("@homebound/truss/runtime");
25941
26015
  var import_jsx_runtime203 = require("react/jsx-runtime");
25942
26016
  var __maybeInc25 = (inc) => {
25943
26017
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -25982,11 +26056,11 @@ function AppNavGroupDisclosure(props) {
25982
26056
  });
25983
26057
  return /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("div", { className: "df fdc", ...tid, children: [
25984
26058
  /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(AppNavGroupTrigger, { label: linkGroup.label, navGroupId, expanded, active: linkGroupHasActiveLink(linkGroup), onClick: onToggle, ...tid }),
25985
- /* @__PURE__ */ (0, import_jsx_runtime203.jsx)("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...(0, import_runtime127.trussProps)({
26059
+ /* @__PURE__ */ (0, import_jsx_runtime203.jsx)("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...(0, import_runtime128.trussProps)({
25986
26060
  overflow: "oh",
25987
26061
  transition: "transitionHeight",
25988
26062
  height: ["h_var", {
25989
- "--height": (0, import_runtime127.maybeCssVar)(__maybeInc25(contentHeight))
26063
+ "--height": (0, import_runtime128.maybeCssVar)(__maybeInc25(contentHeight))
25990
26064
  }]
25991
26065
  }), ...tid.panel, ...!expanded ? {
25992
26066
  inert: "true"
@@ -26016,7 +26090,7 @@ function AppNavGroupMenu({
26016
26090
  }
26017
26091
 
26018
26092
  // src/components/AppNav/AppNavSectionView.tsx
26019
- var import_runtime128 = require("@homebound/truss/runtime");
26093
+ var import_runtime129 = require("@homebound/truss/runtime");
26020
26094
  var import_jsx_runtime205 = require("react/jsx-runtime");
26021
26095
  function AppNavSectionView(props) {
26022
26096
  const {
@@ -26043,7 +26117,7 @@ function AppNavSectionView(props) {
26043
26117
  "--borderColor": "var(--b-surface-separator)"
26044
26118
  }]
26045
26119
  };
26046
- return /* @__PURE__ */ (0, import_jsx_runtime205.jsxs)("div", { ...(0, import_runtime128.trussProps)({
26120
+ return /* @__PURE__ */ (0, import_jsx_runtime205.jsxs)("div", { ...(0, import_runtime129.trussProps)({
26047
26121
  ...{
26048
26122
  display: "df",
26049
26123
  flexDirection: "fdc",
@@ -26051,7 +26125,7 @@ function AppNavSectionView(props) {
26051
26125
  },
26052
26126
  ...showDivider ? dividerStyles : {}
26053
26127
  }), ...tid, children: [
26054
- section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { ...(0, import_runtime128.trussProps)({
26128
+ section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { ...(0, import_runtime129.trussProps)({
26055
26129
  fontWeight: "fw6",
26056
26130
  fontSize: "fz_10px",
26057
26131
  lineHeight: "lh_14px",
@@ -26152,7 +26226,7 @@ function useRegisterMobileSubNav(content) {
26152
26226
  }
26153
26227
 
26154
26228
  // src/components/Navbar/NavbarMobileMenu.tsx
26155
- var import_runtime129 = require("@homebound/truss/runtime");
26229
+ var import_runtime130 = require("@homebound/truss/runtime");
26156
26230
  var import_jsx_runtime208 = require("react/jsx-runtime");
26157
26231
  function NavbarMobileMenu(props) {
26158
26232
  const {
@@ -26203,13 +26277,13 @@ function NavbarMobileDrawer({
26203
26277
  };
26204
26278
  const showSubLevel = mobileSubNav != null && level === "sub";
26205
26279
  return /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)(import_jsx_runtime208.Fragment, { children: [
26206
- /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(import_framer_motion6.motion.div, { ...(0, import_runtime129.mergeProps)(void 0, overlayTopStyle, {
26280
+ /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(import_framer_motion6.motion.div, { ...(0, import_runtime130.mergeProps)(void 0, overlayTopStyle, {
26207
26281
  position: "fixed",
26208
26282
  right: "right0",
26209
26283
  bottom: "bottom0",
26210
26284
  left: "left0",
26211
26285
  zIndex: ["z_var", {
26212
- "--zIndex": (0, import_runtime129.maybeCssVar)(zIndices.navbarMobileMenuScrim)
26286
+ "--zIndex": (0, import_runtime130.maybeCssVar)(zIndices.navbarMobileMenuScrim)
26213
26287
  }],
26214
26288
  backgroundColor: ["bgColor_var", {
26215
26289
  "--backgroundColor": "var(--b-scrim)"
@@ -26224,7 +26298,7 @@ function NavbarMobileDrawer({
26224
26298
  ease: "linear",
26225
26299
  duration: 0.2
26226
26300
  }, onClick: onClose, ...tid.mobileMenuScrim }, "navbarMobileMenuScrim"),
26227
- /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(import_react_aria63.FocusScope, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)(import_framer_motion6.motion.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...(0, import_runtime129.mergeProps)(void 0, overlayTopStyle, {
26301
+ /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(import_react_aria63.FocusScope, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)(import_framer_motion6.motion.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...(0, import_runtime130.mergeProps)(void 0, overlayTopStyle, {
26228
26302
  position: "fixed",
26229
26303
  bottom: "bottom0",
26230
26304
  left: "left0",
@@ -26234,7 +26308,7 @@ function NavbarMobileDrawer({
26234
26308
  width: "w_260px",
26235
26309
  overflow: "oh",
26236
26310
  zIndex: ["z_var", {
26237
- "--zIndex": (0, import_runtime129.maybeCssVar)(zIndices.navbarMobileMenu)
26311
+ "--zIndex": (0, import_runtime130.maybeCssVar)(zIndices.navbarMobileMenu)
26238
26312
  }],
26239
26313
  backgroundColor: ["bgColor_var", {
26240
26314
  "--backgroundColor": "var(--b-surface)"
@@ -26249,7 +26323,7 @@ function NavbarMobileDrawer({
26249
26323
  ease: "linear",
26250
26324
  duration: 0.2
26251
26325
  }, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
26252
- /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)("div", { ...(0, import_runtime129.trussProps)({
26326
+ /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)("div", { ...(0, import_runtime130.trussProps)({
26253
26327
  ...{
26254
26328
  display: "df",
26255
26329
  alignItems: "aic",
@@ -26271,7 +26345,7 @@ function NavbarMobileDrawer({
26271
26345
  /* @__PURE__ */ (0, import_jsx_runtime208.jsx)("div", { className: "fg1 mh0 oh relative", children: /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(import_framer_motion6.AnimatePresence, { initial: false, children: /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)(
26272
26346
  import_framer_motion6.motion.nav,
26273
26347
  {
26274
- ...(0, import_runtime129.trussProps)({
26348
+ ...(0, import_runtime130.trussProps)({
26275
26349
  ...{
26276
26350
  position: "absolute",
26277
26351
  top: "top0",
@@ -26319,7 +26393,7 @@ function NavbarMobileDrawer({
26319
26393
  }
26320
26394
 
26321
26395
  // src/components/Navbar/Navbar.tsx
26322
- var import_runtime130 = require("@homebound/truss/runtime");
26396
+ var import_runtime131 = require("@homebound/truss/runtime");
26323
26397
  var import_jsx_runtime209 = require("react/jsx-runtime");
26324
26398
  function Navbar(props) {
26325
26399
  const {
@@ -26339,7 +26413,7 @@ function Navbar(props) {
26339
26413
  overflows
26340
26414
  } = useContentOverflow(!sm);
26341
26415
  const showMobile = sm || overflows;
26342
- return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(ContrastScope, { children: /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("nav", { ...(0, import_runtime130.trussProps)({
26416
+ return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(ContrastScope, { children: /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("nav", { ...(0, import_runtime131.trussProps)({
26343
26417
  ...{
26344
26418
  backgroundColor: ["bgColor_var", {
26345
26419
  "--backgroundColor": "var(--b-surface-raised)"
@@ -26358,7 +26432,7 @@ function Navbar(props) {
26358
26432
  /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("div", { className: "df aic gap3 fg1 mw0", children: [
26359
26433
  /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("div", { className: "df aic fs0 gap2", children: [
26360
26434
  showMobile && /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(NavbarMobileMenu, { items, ...tid }),
26361
- /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ...(0, import_runtime130.trussProps)({
26435
+ /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ...(0, import_runtime131.trussProps)({
26362
26436
  flexShrink: "fs0",
26363
26437
  ...hideBrandOnMobile && showMobile ? {
26364
26438
  display: "dn"
@@ -26367,7 +26441,7 @@ function Navbar(props) {
26367
26441
  ] }),
26368
26442
  !sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
26369
26443
  // can expand again as space frees up.
26370
- /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ref: containerRef, ...(0, import_runtime130.trussProps)({
26444
+ /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ref: containerRef, ...(0, import_runtime131.trussProps)({
26371
26445
  display: "df",
26372
26446
  alignItems: "aic",
26373
26447
  flexGrow: "fg1",
@@ -26397,7 +26471,7 @@ function NavbarUserMenu({
26397
26471
  }
26398
26472
 
26399
26473
  // src/components/Pagination.tsx
26400
- var import_runtime131 = require("@homebound/truss/runtime");
26474
+ var import_runtime132 = require("@homebound/truss/runtime");
26401
26475
  var import_jsx_runtime210 = require("react/jsx-runtime");
26402
26476
  var defaultPage = {
26403
26477
  offset: 0,
@@ -26430,7 +26504,7 @@ function Pagination(props) {
26430
26504
  }
26431
26505
  }
26432
26506
  const tid = useTestIds(props, "pagination");
26433
- return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)("div", { ...(0, import_runtime131.trussProps)({
26507
+ return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)("div", { ...(0, import_runtime132.trussProps)({
26434
26508
  display: "df",
26435
26509
  borderColor: ["bc_var", {
26436
26510
  "--borderColor": "var(--b-surface-separator)"
@@ -26488,7 +26562,7 @@ function toPageNumberSize(page) {
26488
26562
  // src/components/ScrollShadows.tsx
26489
26563
  var import_utils174 = require("@react-aria/utils");
26490
26564
  var import_react147 = require("react");
26491
- var import_runtime132 = require("@homebound/truss/runtime");
26565
+ var import_runtime133 = require("@homebound/truss/runtime");
26492
26566
  var import_jsx_runtime211 = require("react/jsx-runtime");
26493
26567
  function ScrollShadows(props) {
26494
26568
  const {
@@ -26513,7 +26587,7 @@ function ScrollShadows(props) {
26513
26587
  const commonStyles = {
26514
26588
  position: "absolute",
26515
26589
  zIndex: ["z_var", {
26516
- "--zIndex": (0, import_runtime132.maybeCssVar)(zIndices.scrollShadow)
26590
+ "--zIndex": (0, import_runtime133.maybeCssVar)(zIndices.scrollShadow)
26517
26591
  }],
26518
26592
  pointerEvents: "pointerEvents_none"
26519
26593
  };
@@ -26546,7 +26620,7 @@ function ScrollShadows(props) {
26546
26620
  ...startShadowStyles2,
26547
26621
  ...{
26548
26622
  background: ["background_var", {
26549
- "--background": (0, import_runtime132.maybeCssVar)(startGradient)
26623
+ "--background": (0, import_runtime133.maybeCssVar)(startGradient)
26550
26624
  }]
26551
26625
  }
26552
26626
  }, {
@@ -26554,7 +26628,7 @@ function ScrollShadows(props) {
26554
26628
  ...endShadowStyles2,
26555
26629
  ...{
26556
26630
  background: ["background_var", {
26557
- "--background": (0, import_runtime132.maybeCssVar)(endGradient)
26631
+ "--background": (0, import_runtime133.maybeCssVar)(endGradient)
26558
26632
  }]
26559
26633
  }
26560
26634
  }];
@@ -26579,10 +26653,10 @@ function ScrollShadows(props) {
26579
26653
  ref: scrollRef,
26580
26654
  onResize
26581
26655
  });
26582
- return /* @__PURE__ */ (0, import_jsx_runtime211.jsxs)("div", { ...(0, import_runtime132.trussProps)({
26656
+ return /* @__PURE__ */ (0, import_jsx_runtime211.jsxs)("div", { ...(0, import_runtime133.trussProps)({
26583
26657
  display: "df",
26584
26658
  flexDirection: ["fd_var", {
26585
- "--flexDirection": (0, import_runtime132.maybeCssVar)(!horizontal ? "column" : "row")
26659
+ "--flexDirection": (0, import_runtime133.maybeCssVar)(!horizontal ? "column" : "row")
26586
26660
  }],
26587
26661
  position: "relative",
26588
26662
  overflow: "oh",
@@ -26595,23 +26669,23 @@ function ScrollShadows(props) {
26595
26669
  width: width2
26596
26670
  }
26597
26671
  }), ...tid, children: [
26598
- /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.trussProps)({
26672
+ /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime133.trussProps)({
26599
26673
  ...startShadowStyles,
26600
26674
  ...{
26601
26675
  opacity: ["o_var", {
26602
- "--opacity": (0, import_runtime132.maybeCssVar)(showStartShadow ? 1 : 0)
26676
+ "--opacity": (0, import_runtime133.maybeCssVar)(showStartShadow ? 1 : 0)
26603
26677
  }]
26604
26678
  }
26605
26679
  }), "data-chromatic": "ignore" }),
26606
- /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.trussProps)({
26680
+ /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime133.trussProps)({
26607
26681
  ...endShadowStyles,
26608
26682
  ...{
26609
26683
  opacity: ["o_var", {
26610
- "--opacity": (0, import_runtime132.maybeCssVar)(showEndShadow ? 1 : 0)
26684
+ "--opacity": (0, import_runtime133.maybeCssVar)(showEndShadow ? 1 : 0)
26611
26685
  }]
26612
26686
  }
26613
26687
  }), "data-chromatic": "ignore" }),
26614
- /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.trussProps)({
26688
+ /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime133.trussProps)({
26615
26689
  ...xss,
26616
26690
  ...{
26617
26691
  overflow: "oa",
@@ -26683,7 +26757,7 @@ function useHasSideNavLayoutProvider() {
26683
26757
  }
26684
26758
 
26685
26759
  // src/components/SideNav/SideNav.tsx
26686
- var import_runtime133 = require("@homebound/truss/runtime");
26760
+ var import_runtime134 = require("@homebound/truss/runtime");
26687
26761
  var import_jsx_runtime213 = require("react/jsx-runtime");
26688
26762
  function SideNav(props) {
26689
26763
  const {
@@ -26698,7 +26772,7 @@ function SideNav(props) {
26698
26772
  const panelCollapsed = navState === "collapse";
26699
26773
  const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
26700
26774
  return /* @__PURE__ */ (0, import_jsx_runtime213.jsxs)("nav", { className: "df fdc h100 fs0", ...tid, children: [
26701
- top !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime133.trussProps)({
26775
+ top !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime134.trussProps)({
26702
26776
  flexShrink: "fs0",
26703
26777
  paddingLeft: "pl2",
26704
26778
  paddingRight: "pr2",
@@ -26709,7 +26783,7 @@ function SideNav(props) {
26709
26783
  paddingBottom: "pb4"
26710
26784
  } : {}
26711
26785
  }), ...tid.top, children: top }),
26712
- /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime133.trussProps)({
26786
+ /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime134.trussProps)({
26713
26787
  flexGrow: "fg1",
26714
26788
  overflowY: "oya",
26715
26789
  display: "df",
@@ -26722,7 +26796,7 @@ function SideNav(props) {
26722
26796
  paddingTop: "pt5"
26723
26797
  } : {}
26724
26798
  }), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(AppNavItems, { items, panelCollapsed }) }),
26725
- footer !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime133.trussProps)({
26799
+ footer !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime134.trussProps)({
26726
26800
  flexShrink: "fs0",
26727
26801
  paddingLeft: "pl2",
26728
26802
  paddingRight: "pr2",
@@ -26799,7 +26873,7 @@ var snackbarId = 1;
26799
26873
  // src/components/Stepper.tsx
26800
26874
  var import_react150 = require("react");
26801
26875
  var import_react_aria64 = require("react-aria");
26802
- var import_runtime134 = require("@homebound/truss/runtime");
26876
+ var import_runtime135 = require("@homebound/truss/runtime");
26803
26877
  var import_jsx_runtime214 = require("react/jsx-runtime");
26804
26878
  var import_react151 = require("react");
26805
26879
  var __maybeInc26 = (inc) => {
@@ -26820,7 +26894,7 @@ function Stepper(props) {
26820
26894
  const minStepWidth = 100;
26821
26895
  const gap = 8;
26822
26896
  return /* @__PURE__ */ (0, import_jsx_runtime214.jsxs)("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
26823
- /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("ol", { ...(0, import_runtime134.trussProps)({
26897
+ /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("ol", { ...(0, import_runtime135.trussProps)({
26824
26898
  padding: "p_0",
26825
26899
  margin: "m_0",
26826
26900
  listStyle: "lis_none",
@@ -26830,7 +26904,7 @@ function Stepper(props) {
26830
26904
  }]
26831
26905
  }), children: steps.map((step) => {
26832
26906
  const isCurrent = currentStep === step.value;
26833
- return /* @__PURE__ */ (0, import_react151.createElement)("li", { ...(0, import_runtime134.trussProps)({
26907
+ return /* @__PURE__ */ (0, import_react151.createElement)("li", { ...(0, import_runtime135.trussProps)({
26834
26908
  display: "df",
26835
26909
  flexGrow: "fg1",
26836
26910
  flexDirection: "fdc",
@@ -26842,7 +26916,7 @@ function Stepper(props) {
26842
26916
  }]
26843
26917
  }), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
26844
26918
  }) }),
26845
- /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime134.trussProps)({
26919
+ /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime135.trussProps)({
26846
26920
  marginTop: "mt1",
26847
26921
  backgroundColor: ["bgColor_var", {
26848
26922
  "--backgroundColor": "var(--b-field-border-default)"
@@ -26855,14 +26929,14 @@ function Stepper(props) {
26855
26929
  "--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
26856
26930
  }],
26857
26931
  width: "w100"
26858
- }), children: /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime134.trussProps)({
26932
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime135.trussProps)({
26859
26933
  backgroundColor: ["bgColor_var", {
26860
26934
  "--backgroundColor": "var(--b-primary)"
26861
26935
  }],
26862
26936
  transition: "transition_width_200ms",
26863
26937
  height: "h100",
26864
26938
  width: ["w_var", {
26865
- "--width": (0, import_runtime134.maybeCssVar)(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26939
+ "--width": (0, import_runtime135.maybeCssVar)(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26866
26940
  }]
26867
26941
  }) }) })
26868
26942
  ] });
@@ -26898,7 +26972,7 @@ function StepButton(props) {
26898
26972
  boxShadow: "bshFocus"
26899
26973
  };
26900
26974
  const tid = useTestIds(props, "stepButton");
26901
- return /* @__PURE__ */ (0, import_jsx_runtime214.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime134.trussProps)({
26975
+ return /* @__PURE__ */ (0, import_jsx_runtime214.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime135.trussProps)({
26902
26976
  ...{
26903
26977
  fontWeight: "fw6",
26904
26978
  fontSize: "fz_14px",
@@ -26975,7 +27049,7 @@ function StepIcon({
26975
27049
  if (state === "complete") {
26976
27050
  return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(Icon, { icon: "check" });
26977
27051
  }
26978
- return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime134.trussProps)({
27052
+ return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime135.trussProps)({
26979
27053
  width: "w_10px",
26980
27054
  height: "h_10px",
26981
27055
  borderStyle: "bss",
@@ -26991,7 +27065,7 @@ function StepIcon({
26991
27065
  // src/components/StepperTabs/StepperTab.tsx
26992
27066
  var import_react152 = require("react");
26993
27067
  var import_react_aria65 = require("react-aria");
26994
- var import_runtime135 = require("@homebound/truss/runtime");
27068
+ var import_runtime136 = require("@homebound/truss/runtime");
26995
27069
  var import_jsx_runtime215 = require("react/jsx-runtime");
26996
27070
  function StepperTab(props) {
26997
27071
  const {
@@ -27023,7 +27097,7 @@ function StepperTab(props) {
27023
27097
  const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
27024
27098
  const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
27025
27099
  const tid = useTestIds(props, "stepperTab");
27026
- return /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)("button", { ref, ...(0, import_react_aria65.mergeProps)(buttonProps, focusProps, hoverProps), "aria-label": label, ...(0, import_runtime135.trussProps)({
27100
+ return /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)("button", { ref, ...(0, import_react_aria65.mergeProps)(buttonProps, focusProps, hoverProps), "aria-label": label, ...(0, import_runtime136.trussProps)({
27027
27101
  ...stepperTabStyles.baseStyles,
27028
27102
  ...getStateStyles(active, completed),
27029
27103
  ...isHovered && !disabled ? stepperTabStyles.hoverStyles : {},
@@ -27034,7 +27108,7 @@ function StepperTab(props) {
27034
27108
  !collapsed && /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)(import_jsx_runtime215.Fragment, { children: [
27035
27109
  /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)("span", { className: "dg jic mw0", children: [
27036
27110
  /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { className: "fw6 fz_14px lh_20px visibility_hidden gridArea_1_1 oh d_negwebkit_box wbo_vertical to_ellipsis wlc_1 wordBreak_break_all", "aria-hidden": true, children: label }),
27037
- /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime135.trussProps)({
27111
+ /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime136.trussProps)({
27038
27112
  gridArea: "gridArea_1_1",
27039
27113
  overflow: "oh",
27040
27114
  display: "d_negwebkit_box",
@@ -27049,7 +27123,7 @@ function StepperTab(props) {
27049
27123
  } : {}
27050
27124
  }), children: label })
27051
27125
  ] }),
27052
- /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime135.trussProps)({
27126
+ /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime136.trussProps)({
27053
27127
  flexShrink: "fs0",
27054
27128
  marginLeft: "ml1",
27055
27129
  transition: "transitionAll",
@@ -27061,7 +27135,7 @@ function StepperTab(props) {
27061
27135
  } : {}
27062
27136
  }), children: /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(Icon, { icon: "check", inc: 2.5, ...tid.check }) })
27063
27137
  ] }),
27064
- /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { "aria-hidden": true, ...(0, import_runtime135.trussProps)(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
27138
+ /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { "aria-hidden": true, ...(0, import_runtime136.trussProps)(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
27065
27139
  /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(import_react_aria65.VisuallyHidden, { children: completed ? "Complete" : "Not Complete" })
27066
27140
  ] });
27067
27141
  }
@@ -27143,7 +27217,7 @@ var stepperTabStyles = {
27143
27217
  };
27144
27218
 
27145
27219
  // src/components/StepperTabs/StepperTabs.tsx
27146
- var import_runtime136 = require("@homebound/truss/runtime");
27220
+ var import_runtime137 = require("@homebound/truss/runtime");
27147
27221
  var import_jsx_runtime216 = require("react/jsx-runtime");
27148
27222
  var import_react153 = require("react");
27149
27223
  function StepperTabs(props) {
@@ -27160,7 +27234,7 @@ function StepperTabs(props) {
27160
27234
  const collapsed = isMobile || !!forceCollapsed;
27161
27235
  const capWidth = steps.length <= 3;
27162
27236
  const currentStepIndex = Math.max(0, steps.findIndex((step) => step.value === currentStep));
27163
- return /* @__PURE__ */ (0, import_jsx_runtime216.jsx)("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime216.jsx)("ol", { ...(0, import_runtime136.trussProps)({
27237
+ return /* @__PURE__ */ (0, import_jsx_runtime216.jsx)("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ (0, import_jsx_runtime216.jsx)("ol", { ...(0, import_runtime137.trussProps)({
27164
27238
  padding: "p_0",
27165
27239
  margin: "m_0",
27166
27240
  listStyle: "lis_none",
@@ -27175,7 +27249,7 @@ function StepperTabs(props) {
27175
27249
  }), children: steps.map((step, idx) => {
27176
27250
  const isCurrent = idx === currentStepIndex;
27177
27251
  const isCompleted = idx < currentStepIndex;
27178
- return /* @__PURE__ */ (0, import_react153.createElement)("li", { ...(0, import_runtime136.trussProps)({
27252
+ return /* @__PURE__ */ (0, import_react153.createElement)("li", { ...(0, import_runtime137.trussProps)({
27179
27253
  display: "df",
27180
27254
  flexGrow: "fg1",
27181
27255
  flexBasis: "fb_0",
@@ -27195,7 +27269,7 @@ var gapPx = 6;
27195
27269
 
27196
27270
  // src/components/SuperDrawer/components/SuperDrawerHeader.tsx
27197
27271
  var import_react_dom8 = require("react-dom");
27198
- var import_runtime137 = require("@homebound/truss/runtime");
27272
+ var import_runtime138 = require("@homebound/truss/runtime");
27199
27273
  var import_jsx_runtime217 = require("react/jsx-runtime");
27200
27274
  function SuperDrawerHeader(props) {
27201
27275
  const {
@@ -27221,7 +27295,7 @@ function SuperDrawerHeader(props) {
27221
27295
  ] }),
27222
27296
  props.right && /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { className: "fs0", children: props.right })
27223
27297
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { className: "fg1", children: props.children }),
27224
- !hideControls && /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { ...(0, import_runtime137.trussProps)({
27298
+ !hideControls && /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { ...(0, import_runtime138.trussProps)({
27225
27299
  flexShrink: "fs0",
27226
27300
  ...isDetail ? {
27227
27301
  visibility: "vh"
@@ -27373,7 +27447,7 @@ function canClose(canCloseCheck) {
27373
27447
  }
27374
27448
 
27375
27449
  // src/components/SuperDrawer/SuperDrawerContent.tsx
27376
- var import_runtime138 = require("@homebound/truss/runtime");
27450
+ var import_runtime139 = require("@homebound/truss/runtime");
27377
27451
  var import_jsx_runtime219 = require("react/jsx-runtime");
27378
27452
  var SuperDrawerContent = ({
27379
27453
  children,
@@ -27426,7 +27500,7 @@ var SuperDrawerContent = ({
27426
27500
  }, className: "pt2", children: children2 })
27427
27501
  ] }, "content");
27428
27502
  } else {
27429
- return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(import_framer_motion7.motion.div, { ...(0, import_runtime138.mergeProps)(void 0, {
27503
+ return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(import_framer_motion7.motion.div, { ...(0, import_runtime139.mergeProps)(void 0, {
27430
27504
  overflow: "auto"
27431
27505
  }, {
27432
27506
  paddingTop: "pt3",
@@ -27439,7 +27513,7 @@ var SuperDrawerContent = ({
27439
27513
  }
27440
27514
  return /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)(import_jsx_runtime219.Fragment, { children: [
27441
27515
  wrapWithMotionAndMaybeBack(children),
27442
- actions && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("footer", { ...(0, import_runtime138.trussProps)({
27516
+ actions && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("footer", { ...(0, import_runtime139.trussProps)({
27443
27517
  borderTopStyle: "bts_solid",
27444
27518
  borderTopWidth: "btw_1px",
27445
27519
  borderColor: ["bc_var", {
@@ -27512,7 +27586,7 @@ var import_react155 = require("react");
27512
27586
  var import_react_aria66 = require("react-aria");
27513
27587
  var import_react_router = require("react-router");
27514
27588
  var import_react_router_dom8 = require("react-router-dom");
27515
- var import_runtime139 = require("@homebound/truss/runtime");
27589
+ var import_runtime140 = require("@homebound/truss/runtime");
27516
27590
  var import_jsx_runtime220 = require("react/jsx-runtime");
27517
27591
  function TabsWithContent(props) {
27518
27592
  const styles = hideTabs(props) ? {} : {
@@ -27545,7 +27619,7 @@ function TabContent(props) {
27545
27619
  return (
27546
27620
  // Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
27547
27621
  // Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
27548
- /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...(0, import_runtime139.trussProps)(contentXss), children: selectedTab.render() }) })
27622
+ /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...(0, import_runtime140.trussProps)(contentXss), children: selectedTab.render() }) })
27549
27623
  );
27550
27624
  }
27551
27625
  function Tabs(props) {
@@ -27587,7 +27661,7 @@ function Tabs(props) {
27587
27661
  setActive(selected);
27588
27662
  }
27589
27663
  }
27590
- return /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)("div", { ...(0, import_runtime139.trussProps)({
27664
+ return /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)("div", { ...(0, import_runtime140.trussProps)({
27591
27665
  ...{
27592
27666
  display: "df",
27593
27667
  alignItems: "aic",
@@ -27653,7 +27727,7 @@ function TabImpl(props) {
27653
27727
  role: "tab",
27654
27728
  tabIndex: active ? 0 : -1,
27655
27729
  ...others,
27656
- ...(0, import_runtime139.trussProps)({
27730
+ ...(0, import_runtime140.trussProps)({
27657
27731
  ...baseStyles4,
27658
27732
  ...active && activeStyles3,
27659
27733
  ...isDisabled && disabledStyles3,
@@ -27690,7 +27764,7 @@ function getTabStyles() {
27690
27764
  const borderBottomStyles = {
27691
27765
  borderBottomStyle: "bbs_solid",
27692
27766
  borderBottomWidth: ["borderBottomWidth_var", {
27693
- "--borderBottomWidth": (0, import_runtime139.maybeCssVar)(`${borderBottomWidthPx}px`)
27767
+ "--borderBottomWidth": (0, import_runtime140.maybeCssVar)(`${borderBottomWidthPx}px`)
27694
27768
  }],
27695
27769
  paddingBottom: ["pb_var", {
27696
27770
  "--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
@@ -27810,7 +27884,7 @@ function useToast() {
27810
27884
  }
27811
27885
 
27812
27886
  // src/layouts/SideNavLayout/SideNavLayout.tsx
27813
- var import_runtime140 = require("@homebound/truss/runtime");
27887
+ var import_runtime141 = require("@homebound/truss/runtime");
27814
27888
  var import_jsx_runtime222 = require("react/jsx-runtime");
27815
27889
  var __maybeInc27 = (inc) => {
27816
27890
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27841,7 +27915,7 @@ function SideNavLayoutContent(props) {
27841
27915
  const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
27842
27916
  const navTop = bannerAndNavbarChromeTop();
27843
27917
  const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
27844
- const rail = showRail && /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { ...(0, import_runtime140.trussProps)({
27918
+ const rail = showRail && /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { ...(0, import_runtime141.trussProps)({
27845
27919
  ...{
27846
27920
  display: "df",
27847
27921
  flexDirection: "fdc",
@@ -27865,14 +27939,14 @@ function SideNavLayoutContent(props) {
27865
27939
  position: "sticky",
27866
27940
  left: "left0",
27867
27941
  zIndex: ["z_var", {
27868
- "--zIndex": (0, import_runtime140.maybeCssVar)(zIndices.sideNav)
27942
+ "--zIndex": (0, import_runtime141.maybeCssVar)(zIndices.sideNav)
27869
27943
  }],
27870
27944
  top: ["top_var", {
27871
- "--top": (0, import_runtime140.maybeCssVar)(__maybeInc27(navTop))
27945
+ "--top": (0, import_runtime141.maybeCssVar)(__maybeInc27(navTop))
27872
27946
  }],
27873
27947
  alignSelf: "asfs",
27874
27948
  height: ["h_var", {
27875
- "--height": (0, import_runtime140.maybeCssVar)(__maybeInc27(railViewportHeight))
27949
+ "--height": (0, import_runtime141.maybeCssVar)(__maybeInc27(railViewportHeight))
27876
27950
  }],
27877
27951
  width: ["w_var", {
27878
27952
  "--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
@@ -27882,11 +27956,11 @@ function SideNavLayoutContent(props) {
27882
27956
  position: "fixed",
27883
27957
  left: "left0",
27884
27958
  top: ["top_var", {
27885
- "--top": (0, import_runtime140.maybeCssVar)(__maybeInc27(navTop))
27959
+ "--top": (0, import_runtime141.maybeCssVar)(__maybeInc27(navTop))
27886
27960
  }],
27887
27961
  bottom: "bottom0",
27888
27962
  zIndex: ["z_var", {
27889
- "--zIndex": (0, import_runtime140.maybeCssVar)(zIndices.sideNav)
27963
+ "--zIndex": (0, import_runtime141.maybeCssVar)(zIndices.sideNav)
27890
27964
  }]
27891
27965
  },
27892
27966
  ...collapsed ? {
@@ -27901,7 +27975,7 @@ function SideNavLayoutContent(props) {
27901
27975
  showCollapseToggle && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { className: "absolute right2 top2 z2", children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
27902
27976
  /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(SideNav, { ...sideNav }) })
27903
27977
  ] });
27904
- return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { ...(0, import_runtime140.mergeProps)(void 0, {
27978
+ return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { ...(0, import_runtime141.mergeProps)(void 0, {
27905
27979
  [beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
27906
27980
  }, {
27907
27981
  display: "df",
@@ -27909,7 +27983,7 @@ function SideNavLayoutContent(props) {
27909
27983
  width: "w100"
27910
27984
  }), ...tid, children: [
27911
27985
  contrastRail ? /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(ContrastScope, { children: rail }) : rail,
27912
- /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ...(0, import_runtime140.trussProps)({
27986
+ /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ...(0, import_runtime141.trussProps)({
27913
27987
  display: "df",
27914
27988
  flexDirection: "fdc",
27915
27989
  flexGrow: "fg1",
@@ -27925,7 +27999,7 @@ function SideNavLayoutContent(props) {
27925
27999
  }
27926
28000
 
27927
28001
  // src/layouts/CenteredLayout/CenteredLayout.tsx
27928
- var import_runtime141 = require("@homebound/truss/runtime");
28002
+ var import_runtime142 = require("@homebound/truss/runtime");
27929
28003
  var import_jsx_runtime223 = require("react/jsx-runtime");
27930
28004
  var __maybeInc28 = (inc) => {
27931
28005
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27939,7 +28013,7 @@ function CenteredLayout(props) {
27939
28013
  const {
27940
28014
  mdAndUp
27941
28015
  } = useBreakpoint();
27942
- return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { ...(0, import_runtime141.mergeProps)(void 0, {
28016
+ return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { ...(0, import_runtime142.mergeProps)(void 0, {
27943
28017
  // layoutContainer descendants (e.g. ContentHeader) read this to inset sticky horizontal chrome within the shell padding.
27944
28018
  [beamLayoutContentPaddingXVar]: mdAndUp ? mdAndUpContentPaddingX : smContentPaddingX
27945
28019
  }, {
@@ -27967,15 +28041,15 @@ var smContentPaddingX = "12px";
27967
28041
  var mdAndUpContentPaddingX = pageContentPaddingXValue;
27968
28042
  var centeredPaddingX = {
27969
28043
  paddingLeft: ["px_var mdandup_pl3", {
27970
- "--paddingLeft": (0, import_runtime141.maybeCssVar)(__maybeInc28(smContentPaddingX))
28044
+ "--paddingLeft": (0, import_runtime142.maybeCssVar)(__maybeInc28(smContentPaddingX))
27971
28045
  }],
27972
28046
  paddingRight: ["px_var mdandup_pr3", {
27973
- "--paddingRight": (0, import_runtime141.maybeCssVar)(__maybeInc28(smContentPaddingX))
28047
+ "--paddingRight": (0, import_runtime142.maybeCssVar)(__maybeInc28(smContentPaddingX))
27974
28048
  }]
27975
28049
  };
27976
28050
 
27977
28051
  // src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
27978
- var import_runtime142 = require("@homebound/truss/runtime");
28052
+ var import_runtime143 = require("@homebound/truss/runtime");
27979
28053
  var import_jsx_runtime224 = require("react/jsx-runtime");
27980
28054
  var __maybeInc29 = (inc) => {
27981
28055
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27992,26 +28066,26 @@ function EnvironmentBannerLayout(props) {
27992
28066
  [beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
27993
28067
  };
27994
28068
  const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
27995
- return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)("div", { ...(0, import_runtime142.mergeProps)(void 0, style, {
28069
+ return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)("div", { ...(0, import_runtime143.mergeProps)(void 0, style, {
27996
28070
  display: "df",
27997
28071
  flexDirection: "fdc",
27998
28072
  width: "wfc",
27999
28073
  minWidth: "mw100"
28000
28074
  }), ...tid, children: [
28001
- showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ...(0, import_runtime142.mergeProps)(void 0, {
28075
+ showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ...(0, import_runtime143.mergeProps)(void 0, {
28002
28076
  height: environmentBannerSizePx
28003
28077
  }, {
28004
28078
  flexShrink: "fs0",
28005
28079
  width: "w100"
28006
- }), children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ...(0, import_runtime142.trussProps)({
28080
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ...(0, import_runtime143.trussProps)({
28007
28081
  position: "fixed",
28008
28082
  top: "top0",
28009
28083
  left: "left0",
28010
28084
  zIndex: ["z_var", {
28011
- "--zIndex": (0, import_runtime142.maybeCssVar)(zIndices.environmentBanner)
28085
+ "--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.environmentBanner)
28012
28086
  }],
28013
28087
  width: ["w_var", {
28014
- "--width": (0, import_runtime142.maybeCssVar)(__maybeInc29(innerWidth))
28088
+ "--width": (0, import_runtime143.maybeCssVar)(__maybeInc29(innerWidth))
28015
28089
  }]
28016
28090
  }), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
28017
28091
  children
@@ -28019,6 +28093,7 @@ function EnvironmentBannerLayout(props) {
28019
28093
  }
28020
28094
 
28021
28095
  // src/layouts/FormSectionLayout/FormSectionLayout.tsx
28096
+ var import_runtime144 = require("@homebound/truss/runtime");
28022
28097
  var import_jsx_runtime225 = require("react/jsx-runtime");
28023
28098
  function FormSectionLayout(props) {
28024
28099
  const {
@@ -28027,21 +28102,33 @@ function FormSectionLayout(props) {
28027
28102
  actions,
28028
28103
  withAutoSave,
28029
28104
  initialFields,
28030
- sections
28105
+ sections,
28106
+ aiMode = false
28031
28107
  } = props;
28032
28108
  const tid = useTestIds(props, "formSectionLayout");
28033
- return /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(CenteredLayout, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)("div", { className: "df fdc gap8 pt4", children: [
28109
+ const content = /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)("div", { ...(0, import_runtime144.trussProps)({
28110
+ display: "df",
28111
+ flexDirection: "fdc",
28112
+ gap: "gap8",
28113
+ ...aiMode ? {
28114
+ paddingTop: "pt3",
28115
+ paddingBottom: "pb3",
28116
+ paddingRight: "pr3",
28117
+ paddingLeft: "pl3"
28118
+ } : {}
28119
+ }), children: [
28034
28120
  /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)("div", { className: "df fdc gap3", children: [
28035
- /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(ContentHeader, { ...tid, title, description, actions, withAutoSave, level: 2 }),
28121
+ /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(ContentHeader, { ...tid, title, description, actions, withAutoSave, level: 2, aiMode }),
28036
28122
  initialFields
28037
28123
  ] }),
28038
28124
  sections && /* @__PURE__ */ (0, import_jsx_runtime225.jsx)("div", { className: "df fdc gap8", children: sections.map((section, i) => /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(FormSection, { ...section }, defaultTestId(section.title) || i)) })
28039
- ] }) });
28125
+ ] });
28126
+ return /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(CenteredLayout, { size: "sm", children: aiMode ? /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(AiCard, { size: "lg", ...tid, children: content }) : content });
28040
28127
  }
28041
28128
 
28042
28129
  // src/layouts/NavbarLayout/NavbarLayout.tsx
28043
28130
  var import_react160 = require("react");
28044
- var import_runtime143 = require("@homebound/truss/runtime");
28131
+ var import_runtime145 = require("@homebound/truss/runtime");
28045
28132
 
28046
28133
  // src/layouts/useAutoHideOnScroll.ts
28047
28134
  var import_react157 = require("react");
@@ -28191,10 +28278,10 @@ function NavbarLayout(props) {
28191
28278
  position: "sticky",
28192
28279
  left: "left0",
28193
28280
  zIndex: ["z_var", {
28194
- "--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.navbar)
28281
+ "--zIndex": (0, import_runtime145.maybeCssVar)(zIndices.navbar)
28195
28282
  }],
28196
28283
  width: ["w_var", {
28197
- "--width": (0, import_runtime143.maybeCssVar)(__maybeInc30(innerWidth))
28284
+ "--width": (0, import_runtime145.maybeCssVar)(__maybeInc30(innerWidth))
28198
28285
  }]
28199
28286
  }
28200
28287
  ) : (
@@ -28203,10 +28290,10 @@ function NavbarLayout(props) {
28203
28290
  position: "fixed",
28204
28291
  left: "left0",
28205
28292
  zIndex: ["z_var", {
28206
- "--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.navbar)
28293
+ "--zIndex": (0, import_runtime145.maybeCssVar)(zIndices.navbar)
28207
28294
  }],
28208
28295
  width: ["w_var", {
28209
- "--width": (0, import_runtime143.maybeCssVar)(__maybeInc30(innerWidth))
28296
+ "--width": (0, import_runtime145.maybeCssVar)(__maybeInc30(innerWidth))
28210
28297
  }],
28211
28298
  transition: "transitionTop"
28212
28299
  }
@@ -28216,18 +28303,18 @@ function NavbarLayout(props) {
28216
28303
  top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
28217
28304
  } : void 0;
28218
28305
  const navbarEl = (0, import_react160.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(Navbar, { ...navbar }), [navbar]);
28219
- return /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(MobileSubNavProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)("div", { ...(0, import_runtime143.mergeProps)(void 0, cssVars, {
28306
+ return /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(MobileSubNavProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)("div", { ...(0, import_runtime145.mergeProps)(void 0, cssVars, {
28220
28307
  display: "df",
28221
28308
  flexDirection: "fdc",
28222
28309
  width: "wfc",
28223
28310
  minWidth: "mw100"
28224
28311
  }), ...tid, children: [
28225
- /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: spacerRef, ...(0, import_runtime143.mergeProps)(void 0, {
28312
+ /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: spacerRef, ...(0, import_runtime145.mergeProps)(void 0, {
28226
28313
  height: navHeight
28227
28314
  }, {
28228
28315
  flexShrink: "fs0",
28229
28316
  width: "w100"
28230
- }), children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime143.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
28317
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime145.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
28231
28318
  /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
28232
28319
  ] }) }) }) });
28233
28320
  }
@@ -28236,7 +28323,7 @@ function NavbarLayout(props) {
28236
28323
  var import_react161 = require("react");
28237
28324
 
28238
28325
  // src/components/Headers/BaseHeader.tsx
28239
- var import_runtime144 = require("@homebound/truss/runtime");
28326
+ var import_runtime146 = require("@homebound/truss/runtime");
28240
28327
  var import_jsx_runtime228 = require("react/jsx-runtime");
28241
28328
  function BaseHeader(props) {
28242
28329
  const {
@@ -28249,7 +28336,7 @@ function BaseHeader(props) {
28249
28336
  } = props;
28250
28337
  const tid = useTestIds(otherProps, "header");
28251
28338
  useDocumentTitle(title, documentTitleSuffix);
28252
- return /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("header", { ...tid, ...(0, import_runtime144.trussProps)({
28339
+ return /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("header", { ...tid, ...(0, import_runtime146.trussProps)({
28253
28340
  display: "df",
28254
28341
  flexDirection: "fdc",
28255
28342
  paddingTop: "pt3",
@@ -28263,7 +28350,7 @@ function BaseHeader(props) {
28263
28350
  "--backgroundColor": "var(--b-surface)"
28264
28351
  }]
28265
28352
  }), children: [
28266
- /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { ...(0, import_runtime144.trussProps)({
28353
+ /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { ...(0, import_runtime146.trussProps)({
28267
28354
  ...{
28268
28355
  display: "df",
28269
28356
  justifyContent: "jcsb",
@@ -28279,7 +28366,7 @@ function BaseHeader(props) {
28279
28366
  }), children: [
28280
28367
  /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { className: "mw0", children: [
28281
28368
  breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(Breadcrumbs, { ...breadcrumbs }),
28282
- /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("h1", { ...tid.title, ...(0, import_runtime144.trussProps)({
28369
+ /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("h1", { ...tid.title, ...(0, import_runtime146.trussProps)({
28283
28370
  fontWeight: "fw6",
28284
28371
  fontSize: "fz_20px",
28285
28372
  lineHeight: "lh_28px",
@@ -28295,7 +28382,7 @@ function BaseHeader(props) {
28295
28382
  }
28296
28383
 
28297
28384
  // src/components/Headers/PageHeader.tsx
28298
- var import_runtime145 = require("@homebound/truss/runtime");
28385
+ var import_runtime147 = require("@homebound/truss/runtime");
28299
28386
  var import_jsx_runtime229 = require("react/jsx-runtime");
28300
28387
  function PageHeader2(props) {
28301
28388
  const {
@@ -28303,7 +28390,7 @@ function PageHeader2(props) {
28303
28390
  ...otherProps
28304
28391
  } = props;
28305
28392
  const tid = useTestIds(otherProps, "header");
28306
- return /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ (0, import_jsx_runtime229.jsx)("div", { ...(0, import_runtime145.trussProps)(pageContentPaddingX), children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(Tabs, { ...tabs, ...tid.tabs }) }) });
28393
+ return /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ (0, import_jsx_runtime229.jsx)("div", { ...(0, import_runtime147.trussProps)(pageContentPaddingX), children: /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(Tabs, { ...tabs, ...tid.tabs }) }) });
28307
28394
  }
28308
28395
 
28309
28396
  // src/layouts/useBannerAndNavbarHeight.ts
@@ -28312,7 +28399,7 @@ function useBannerAndNavbarHeight() {
28312
28399
  }
28313
28400
 
28314
28401
  // src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
28315
- var import_runtime146 = require("@homebound/truss/runtime");
28402
+ var import_runtime148 = require("@homebound/truss/runtime");
28316
28403
  var import_jsx_runtime230 = require("react/jsx-runtime");
28317
28404
  var __maybeInc31 = (inc) => {
28318
28405
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -28344,24 +28431,24 @@ function PageHeaderLayout(props) {
28344
28431
  const innerCss = autoHideState === "static" ? {
28345
28432
  position: "sticky",
28346
28433
  left: ["left_var", {
28347
- "--left": (0, import_runtime146.maybeCssVar)(__maybeInc31(headerLeft))
28434
+ "--left": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerLeft))
28348
28435
  }],
28349
28436
  width: ["w_var", {
28350
- "--width": (0, import_runtime146.maybeCssVar)(__maybeInc31(headerWidth))
28437
+ "--width": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerWidth))
28351
28438
  }],
28352
28439
  zIndex: ["z_var", {
28353
- "--zIndex": (0, import_runtime146.maybeCssVar)(zIndices.pageStickyHeader)
28440
+ "--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.pageStickyHeader)
28354
28441
  }]
28355
28442
  } : {
28356
28443
  position: "fixed",
28357
28444
  left: ["left_var", {
28358
- "--left": (0, import_runtime146.maybeCssVar)(__maybeInc31(headerLeft))
28445
+ "--left": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerLeft))
28359
28446
  }],
28360
28447
  width: ["w_var", {
28361
- "--width": (0, import_runtime146.maybeCssVar)(__maybeInc31(headerWidth))
28448
+ "--width": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerWidth))
28362
28449
  }],
28363
28450
  zIndex: ["z_var", {
28364
- "--zIndex": (0, import_runtime146.maybeCssVar)(zIndices.pageStickyHeader)
28451
+ "--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.pageStickyHeader)
28365
28452
  }],
28366
28453
  transition: "transitionTop"
28367
28454
  };
@@ -28369,42 +28456,105 @@ function PageHeaderLayout(props) {
28369
28456
  top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
28370
28457
  } : void 0;
28371
28458
  const pageHeaderEl = (0, import_react161.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
28372
- return /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime230.jsxs)("div", { ...(0, import_runtime146.mergeProps)(void 0, cssVars, {
28459
+ return /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime230.jsxs)("div", { ...(0, import_runtime148.mergeProps)(void 0, cssVars, {
28373
28460
  display: "df",
28374
28461
  flexDirection: "fdc",
28375
28462
  width: "w100"
28376
28463
  }), ...tid, children: [
28377
- /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ref: spacerRef, ...(0, import_runtime146.mergeProps)(void 0, {
28464
+ /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ref: spacerRef, ...(0, import_runtime148.mergeProps)(void 0, {
28378
28465
  height: headerHeight
28379
28466
  }, {
28380
28467
  flexShrink: "fs0",
28381
28468
  width: "w100"
28382
- }), children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime146.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
28469
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime148.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
28383
28470
  /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
28384
28471
  ] }) });
28385
28472
  }
28386
28473
 
28387
- // src/layouts/WorkflowLayout/WorkflowLayout.tsx
28388
- var import_react163 = require("react");
28474
+ // src/layouts/Workflow/JumpLinksRail.tsx
28475
+ var import_runtime149 = require("@homebound/truss/runtime");
28476
+ var import_jsx_runtime231 = require("react/jsx-runtime");
28477
+ var __maybeInc32 = (inc) => {
28478
+ return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
28479
+ };
28480
+ var jumpLinksRailWidthPx = 180;
28481
+ function JumpLinksRail(props) {
28482
+ const {
28483
+ links,
28484
+ activeId
28485
+ } = props;
28486
+ const tid = useTestIds(props, "jumpLinks");
28487
+ return /* @__PURE__ */ (0, import_jsx_runtime231.jsx)("nav", { ...(0, import_runtime149.trussProps)({
28488
+ display: "df",
28489
+ flexDirection: "fdc",
28490
+ flexShrink: "fs0",
28491
+ width: ["w_var", {
28492
+ "--width": `${jumpLinksRailWidthPx}px`
28493
+ }],
28494
+ position: "sticky",
28495
+ alignSelf: "asfs",
28496
+ top: ["top_var", {
28497
+ "--top": (0, import_runtime149.maybeCssVar)(__maybeInc32(stickyNavAndHeaderOffset()))
28498
+ }]
28499
+ }), ...tid, children: links.map((link) => /* @__PURE__ */ (0, import_jsx_runtime231.jsx)(JumpLink, { label: link.label, href: `#${link.id}`, active: link.id === activeId, ...tid.link }, link.id)) });
28500
+ }
28501
+
28502
+ // src/layouts/Workflow/useActiveJumpLink.ts
28503
+ var import_react162 = require("react");
28504
+ var activationLeadPx = 120;
28505
+ function useActiveJumpLink(sectionIds) {
28506
+ const idsKey = sectionIds.join("\0");
28507
+ const [activeId, setActiveId] = (0, import_react162.useState)(sectionIds[0]);
28508
+ (0, import_react162.useLayoutEffect)(() => {
28509
+ const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
28510
+ if (ids.length === 0) return;
28511
+ const update = () => {
28512
+ const first = ids.map((id) => document.getElementById(id)).find((el) => el !== null);
28513
+ if (!first) return;
28514
+ const headerOffset = stickyNavAndHeaderOffsetPx(first);
28515
+ let current = ids[0];
28516
+ for (const id of ids) {
28517
+ const el = document.getElementById(id);
28518
+ if (el && el.getBoundingClientRect().top - headerOffset <= activationLeadPx) {
28519
+ current = id;
28520
+ }
28521
+ }
28522
+ setActiveId(current);
28523
+ };
28524
+ update();
28525
+ window.addEventListener("scroll", update, { passive: true });
28526
+ return () => window.removeEventListener("scroll", update);
28527
+ }, [idsKey]);
28528
+ return sectionIds.includes(activeId ?? "") ? activeId : sectionIds[0];
28529
+ }
28530
+
28531
+ // src/layouts/Workflow/WorkflowPageLayout.tsx
28532
+ var import_react164 = require("react");
28389
28533
 
28390
28534
  // src/components/Headers/WorkflowHeader.tsx
28391
- var import_jsx_runtime231 = require("react/jsx-runtime");
28535
+ var import_jsx_runtime232 = require("react/jsx-runtime");
28392
28536
  function WorkflowHeader(props) {
28393
28537
  const { stepperTabs, ...otherProps } = props;
28394
28538
  const tid = useTestIds(otherProps, "header");
28395
- return /* @__PURE__ */ (0, import_jsx_runtime231.jsx)(BaseHeader, { ...otherProps, bottomSlot: /* @__PURE__ */ (0, import_jsx_runtime231.jsx)(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) });
28539
+ return /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(
28540
+ BaseHeader,
28541
+ {
28542
+ ...otherProps,
28543
+ bottomSlot: stepperTabs ? /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) : void 0
28544
+ }
28545
+ );
28396
28546
  }
28397
28547
 
28398
- // src/layouts/WorkflowLayout/useUnsavedChangesGuard.tsx
28399
- var import_react162 = require("react");
28548
+ // src/layouts/Workflow/useUnsavedChangesGuard.tsx
28549
+ var import_react163 = require("react");
28400
28550
  var import_react_router_dom9 = require("react-router-dom");
28401
- var import_jsx_runtime232 = require("react/jsx-runtime");
28551
+ var import_jsx_runtime233 = require("react/jsx-runtime");
28402
28552
  function useUnsavedChangesGuard(options) {
28403
28553
  const { isDirty, onCancel } = options;
28404
28554
  const { openModal } = useModal();
28405
- const isDirtyRef = (0, import_react162.useRef)(isDirty);
28555
+ const isDirtyRef = (0, import_react163.useRef)(isDirty);
28406
28556
  isDirtyRef.current = isDirty;
28407
- (0, import_react162.useEffect)(() => {
28557
+ (0, import_react163.useEffect)(() => {
28408
28558
  const onBeforeUnload = (e) => {
28409
28559
  if (isDirtyRef.current?.()) {
28410
28560
  e.preventDefault();
@@ -28421,7 +28571,7 @@ function useUnsavedChangesGuard(options) {
28421
28571
  }
28422
28572
  openModal({
28423
28573
  allowClosing: false,
28424
- content: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
28574
+ content: /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
28425
28575
  });
28426
28576
  };
28427
28577
  const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
@@ -28430,64 +28580,67 @@ function useUnsavedChangesGuard(options) {
28430
28580
  function UnsavedChangesNavigationModal(props) {
28431
28581
  const { proceed, cancelNavigation } = props;
28432
28582
  const { openModal, closeModal } = useModal();
28433
- (0, import_react162.useEffect)(() => {
28583
+ (0, import_react163.useEffect)(() => {
28434
28584
  openModal({
28435
28585
  allowClosing: false,
28436
- content: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
28586
+ content: /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
28437
28587
  });
28438
28588
  return () => closeModal();
28439
28589
  }, []);
28440
28590
  return null;
28441
28591
  }
28442
28592
 
28443
- // src/layouts/WorkflowLayout/WorkflowActions.tsx
28444
- var import_jsx_runtime233 = require("react/jsx-runtime");
28593
+ // src/layouts/Workflow/WorkflowActions.tsx
28594
+ var import_jsx_runtime234 = require("react/jsx-runtime");
28445
28595
  function WorkflowActions(props) {
28446
28596
  const {
28447
- isFirstStep,
28448
- isLastStep,
28449
- isMobile,
28450
- onBack,
28451
28597
  onCancel,
28452
28598
  onSaveAndExit,
28453
28599
  completeLabel,
28454
28600
  onComplete,
28455
- onContinue,
28456
- primaryDisabled
28601
+ primaryDisabled,
28602
+ aiMode = false,
28603
+ isFirstStep = true,
28604
+ isLastStep = true,
28605
+ onBack,
28606
+ onContinue
28457
28607
  } = props;
28458
- return /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
28459
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)("div", { className: "df aic", children: !isFirstStep && isMobile && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
28460
- /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)("div", { className: "df aic gap1", children: [
28461
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
28462
- onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
28463
- isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Button, { label: completeLabel, variant: "primary", onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Button, { label: "Continue", variant: "primary", onClick: onContinue, disabled: primaryDisabled })
28608
+ const {
28609
+ sm: isMobile
28610
+ } = useBreakpoint();
28611
+ const primaryVariant = aiMode ? "ai" : "primary";
28612
+ return /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
28613
+ /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { className: "df aic", children: !isFirstStep && isMobile && onBack && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
28614
+ /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)("div", { className: "df aic gap1", children: [
28615
+ /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
28616
+ onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
28617
+ isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Button, { label: "Continue", variant: primaryVariant, onClick: async () => {
28618
+ await onContinue?.();
28619
+ }, disabled: primaryDisabled })
28464
28620
  ] })
28465
28621
  ] });
28466
28622
  }
28467
28623
 
28468
- // src/layouts/WorkflowLayout/WorkflowLayout.tsx
28469
- var import_runtime147 = require("@homebound/truss/runtime");
28470
- var import_jsx_runtime234 = require("react/jsx-runtime");
28471
- var __maybeInc32 = (inc) => {
28624
+ // src/layouts/Workflow/WorkflowPageLayout.tsx
28625
+ var import_runtime150 = require("@homebound/truss/runtime");
28626
+ var import_jsx_runtime235 = require("react/jsx-runtime");
28627
+ var __maybeInc33 = (inc) => {
28472
28628
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
28473
28629
  };
28474
- function WorkflowLayout(props) {
28630
+ var mobileFooterHeightPx = 80;
28631
+ function WorkflowPageLayout(props) {
28475
28632
  const {
28476
- steps,
28477
- defaultStep,
28478
- onCancel,
28479
- completeLabel,
28480
- onComplete,
28481
- onSaveAndExit,
28633
+ stepperTabs,
28634
+ aiMode,
28482
28635
  isDirty,
28483
- ...headerProps
28636
+ children,
28637
+ title,
28638
+ documentTitleSuffix,
28639
+ breadcrumbs,
28640
+ onCancel,
28641
+ ...actionProps
28484
28642
  } = props;
28485
- const stepTabs = steps.map((step) => ({
28486
- ...step,
28487
- value: defaultTestId(step.label)
28488
- }));
28489
- const [currentStep, setCurrentStep] = (0, import_react163.useState)(() => getInitialStep(stepTabs, defaultStep));
28490
- const tid = useTestIds(props, "workflowLayout");
28643
+ const tid = useTestIds(props, "workflowPageLayout");
28491
28644
  const {
28492
28645
  sm: isMobile
28493
28646
  } = useBreakpoint();
@@ -28498,27 +28651,16 @@ function WorkflowLayout(props) {
28498
28651
  isDirty,
28499
28652
  onCancel
28500
28653
  });
28501
- const headerMetricsRef = (0, import_react163.useRef)(null);
28654
+ const actions = /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick });
28655
+ const headerMetricsRef = (0, import_react164.useRef)(null);
28502
28656
  const headerHeight = useMeasuredHeight(headerMetricsRef, true);
28503
28657
  const headerWidth = documentScrollChromeWidth();
28504
28658
  const outerTop = bannerAndNavbarChromeTop();
28505
28659
  const cssVars = headerHeight > 0 ? {
28506
28660
  [beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
28507
28661
  } : void 0;
28508
- const currentIndex = isValidStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
28509
- const isFirstStep = currentIndex <= 0;
28510
- const isLastStep = currentIndex === stepTabs.length - 1;
28511
- const activeStep = stepTabs[currentIndex];
28512
- const buttons = /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => setCurrentStep(stepTabs[currentIndex - 1].value), onCancel: onCancelClick, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !activeStep?.isValid, onContinue: async () => {
28513
- const onContinue = activeStep?.onContinue;
28514
- if (onContinue) {
28515
- const allowed = await onContinue();
28516
- if (allowed === false) return;
28517
- }
28518
- setCurrentStep(stepTabs[currentIndex + 1].value);
28519
- } });
28520
28662
  const showFooter = isMobile;
28521
- (0, import_react163.useLayoutEffect)(() => {
28663
+ (0, import_react164.useLayoutEffect)(() => {
28522
28664
  const root = document.documentElement;
28523
28665
  const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
28524
28666
  root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
@@ -28530,57 +28672,59 @@ function WorkflowLayout(props) {
28530
28672
  }
28531
28673
  };
28532
28674
  }, [showFooter]);
28533
- const headerEl = /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(
28534
- WorkflowHeader,
28535
- {
28536
- ...headerProps,
28537
- rightSlot: isMobile ? void 0 : buttons,
28538
- stepperTabs: {
28539
- steps: stepTabs,
28540
- currentStep,
28541
- onChange: setCurrentStep,
28542
- collapsed: isMobile
28543
- }
28544
- }
28545
- );
28546
- return /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(DocumentScrollLayoutProvider, { children: [
28547
- /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)("div", { ...(0, import_runtime147.mergeProps)(void 0, cssVars, {
28675
+ return /* @__PURE__ */ (0, import_jsx_runtime235.jsxs)(DocumentScrollLayoutProvider, { children: [
28676
+ /* @__PURE__ */ (0, import_jsx_runtime235.jsxs)("div", { ...(0, import_runtime150.mergeProps)(void 0, cssVars, {
28548
28677
  display: "df",
28549
28678
  flexDirection: "fdc",
28550
28679
  width: "w100"
28551
28680
  }), ...tid, children: [
28552
- /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime147.trussProps)({
28681
+ /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime150.trussProps)({
28553
28682
  position: "sticky",
28554
28683
  left: "left0",
28555
28684
  width: ["w_var", {
28556
- "--width": (0, import_runtime147.maybeCssVar)(__maybeInc32(headerWidth))
28685
+ "--width": (0, import_runtime150.maybeCssVar)(__maybeInc33(headerWidth))
28557
28686
  }],
28558
28687
  zIndex: ["z_var", {
28559
- "--zIndex": (0, import_runtime147.maybeCssVar)(zIndices.pageStickyHeader)
28688
+ "--zIndex": (0, import_runtime150.maybeCssVar)(zIndices.pageStickyHeader)
28560
28689
  }],
28561
28690
  top: ["top_var", {
28562
- "--top": (0, import_runtime147.maybeCssVar)(__maybeInc32(outerTop))
28691
+ "--top": (0, import_runtime150.maybeCssVar)(__maybeInc33(outerTop))
28563
28692
  }]
28564
- }), ...tid.header, children: headerEl }),
28565
- /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children: activeStep?.content }),
28566
- showFooter && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ...(0, import_runtime147.trussProps)({
28693
+ }), ...tid.header, children: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(WorkflowHeader, { title, documentTitleSuffix, breadcrumbs, rightSlot: isMobile ? void 0 : actions, stepperTabs }) }),
28694
+ /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ...(0, import_runtime150.trussProps)({
28695
+ ...{
28696
+ display: "df",
28697
+ flexDirection: "fdc",
28698
+ flexGrow: "fg1",
28699
+ minHeight: "mh0",
28700
+ width: "w100",
28701
+ paddingTop: "pt4 mdandup_pt6"
28702
+ },
28703
+ ...aiMode && {
28704
+ backgroundImage: "aiBackground",
28705
+ minHeight: ["mh_var", {
28706
+ "--minHeight": (0, import_runtime150.maybeCssVar)(documentScrollBodyMinHeight())
28707
+ }]
28708
+ }
28709
+ }), ...tid.body, children }),
28710
+ showFooter && /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ...(0, import_runtime150.trussProps)({
28567
28711
  flexShrink: "fs0",
28568
28712
  width: "w100",
28569
28713
  height: ["h_var", {
28570
28714
  "--height": `${mobileFooterHeightPx}px`
28571
28715
  }]
28572
- }), children: /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ...(0, import_runtime147.trussProps)({
28716
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ...(0, import_runtime150.trussProps)({
28573
28717
  ...{
28574
28718
  position: "fixed",
28575
28719
  bottom: "bottom0",
28576
28720
  width: ["w_var", {
28577
- "--width": (0, import_runtime147.maybeCssVar)(__maybeInc32(headerWidth))
28721
+ "--width": (0, import_runtime150.maybeCssVar)(__maybeInc33(headerWidth))
28578
28722
  }],
28579
28723
  height: ["h_var", {
28580
28724
  "--height": `${mobileFooterHeightPx}px`
28581
28725
  }],
28582
28726
  zIndex: ["z_var", {
28583
- "--zIndex": (0, import_runtime147.maybeCssVar)(zIndices.pageStickyFooter)
28727
+ "--zIndex": (0, import_runtime150.maybeCssVar)(zIndices.pageStickyFooter)
28584
28728
  }],
28585
28729
  display: "df",
28586
28730
  alignItems: "aic",
@@ -28596,17 +28740,95 @@ function WorkflowLayout(props) {
28596
28740
  }]
28597
28741
  },
28598
28742
  ...pageContentPaddingX
28599
- }), ...tid.footer, children: buttons }) })
28743
+ }), ...tid.footer, children: actions }) })
28600
28744
  ] }),
28601
- navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
28745
+ navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
28602
28746
  ] });
28603
28747
  }
28604
- var mobileFooterHeightPx = 80;
28605
- function isValidStep(steps, value) {
28748
+
28749
+ // src/layouts/Workflow/FocusedFormLayout.tsx
28750
+ var import_jsx_runtime236 = require("react/jsx-runtime");
28751
+ function FocusedFormLayout(props) {
28752
+ const {
28753
+ onCancel,
28754
+ completeLabel,
28755
+ onComplete,
28756
+ onSaveAndExit,
28757
+ isValid,
28758
+ isDirty,
28759
+ withJumpLinks = true,
28760
+ aiMode,
28761
+ form,
28762
+ ...headerProps
28763
+ } = props;
28764
+ const tid = useTestIds(props, "focusedFormLayout");
28765
+ const {
28766
+ sm: isMobile
28767
+ } = useBreakpoint();
28768
+ const jumpLinks = (form.sections ?? []).filter((section) => !section.excludeJumpLink).map((section) => {
28769
+ const id = defaultTestId(section.title);
28770
+ return {
28771
+ id,
28772
+ label: section.title
28773
+ };
28774
+ });
28775
+ const activeId = useActiveJumpLink(jumpLinks.map((link) => link.id));
28776
+ const showRail = withJumpLinks && jumpLinks.length >= 2 && !isMobile;
28777
+ return /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(WorkflowPageLayout, { ...tid, ...headerProps, aiMode, isDirty, onCancel, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !isValid, children: /* @__PURE__ */ (0, import_jsx_runtime236.jsxs)("div", { className: "df w100", children: [
28778
+ showRail && /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(JumpLinksRail, { links: jumpLinks, activeId, ...tid.jumpLinks }),
28779
+ /* @__PURE__ */ (0, import_jsx_runtime236.jsx)("div", { className: "fg1 mw0 mb4", children: /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(FormSectionLayout, { ...form, aiMode }) })
28780
+ ] }) });
28781
+ }
28782
+
28783
+ // src/layouts/Workflow/StepperLayout.tsx
28784
+ var import_react165 = require("react");
28785
+ var import_jsx_runtime237 = require("react/jsx-runtime");
28786
+ function StepperLayout(props) {
28787
+ const { steps, defaultStep, onCancel, completeLabel, onComplete, onSaveAndExit, isDirty, aiMode, ...headerProps } = props;
28788
+ const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
28789
+ const [currentStep, setCurrentStep] = (0, import_react165.useState)(() => getInitialStep(stepTabs, defaultStep));
28790
+ const tid = useTestIds(props, "stepperLayout");
28791
+ const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
28792
+ const isFirstStep = currentIndex <= 0;
28793
+ const isLastStep = currentIndex >= stepTabs.length - 1;
28794
+ const activeStep = stepTabs[currentIndex];
28795
+ return /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(
28796
+ WorkflowPageLayout,
28797
+ {
28798
+ ...tid,
28799
+ ...headerProps,
28800
+ aiMode,
28801
+ stepperTabs: { steps: stepTabs, currentStep, onChange: setCurrentStep },
28802
+ isDirty,
28803
+ isFirstStep,
28804
+ isLastStep,
28805
+ onBack: () => {
28806
+ const prev = stepTabs[currentIndex - 1];
28807
+ if (prev) setCurrentStep(prev.value);
28808
+ },
28809
+ onCancel,
28810
+ onSaveAndExit,
28811
+ completeLabel,
28812
+ onComplete,
28813
+ primaryDisabled: !activeStep?.isValid,
28814
+ onContinue: async () => {
28815
+ const onContinue = activeStep?.onContinue;
28816
+ if (onContinue) {
28817
+ const allowed = await onContinue();
28818
+ if (allowed === false) return;
28819
+ }
28820
+ const next = stepTabs[currentIndex + 1];
28821
+ if (next) setCurrentStep(next.value);
28822
+ },
28823
+ children: activeStep?.content
28824
+ }
28825
+ );
28826
+ }
28827
+ function hasStep(steps, value) {
28606
28828
  return steps.some((step) => step.value === value);
28607
28829
  }
28608
28830
  function getInitialStep(steps, defaultStep) {
28609
- return defaultStep !== void 0 && isValidStep(steps, defaultStep) ? defaultStep : steps[0]?.value;
28831
+ return defaultStep !== void 0 && hasStep(steps, defaultStep) ? defaultStep : steps[0]?.value ?? "";
28610
28832
  }
28611
28833
  // Annotate the CommonJS export names for ESM import in node:
28612
28834
  0 && (module.exports = {
@@ -28614,6 +28836,7 @@ function getInitialStep(steps, defaultStep) {
28614
28836
  Accordion,
28615
28837
  AccordionList,
28616
28838
  AiBanner,
28839
+ AiCard,
28617
28840
  AiLoader,
28618
28841
  AiLoadingPanel,
28619
28842
  AiPanel,
@@ -28691,6 +28914,7 @@ function getInitialStep(steps, defaultStep) {
28691
28914
  FieldGroup,
28692
28915
  FilterModal,
28693
28916
  Filters,
28917
+ FocusedFormLayout,
28694
28918
  FormDivider,
28695
28919
  FormHeading,
28696
28920
  FormLines,
@@ -28763,6 +28987,7 @@ function getInitialStep(steps, defaultStep) {
28763
28987
  SortHeader,
28764
28988
  StaticField,
28765
28989
  Stepper,
28990
+ StepperLayout,
28766
28991
  StepperTab,
28767
28992
  StepperTabs,
28768
28993
  SubmitButton,
@@ -28790,7 +29015,6 @@ function getInitialStep(steps, defaultStep) {
28790
29015
  Tooltip,
28791
29016
  TreeSelectField,
28792
29017
  ViewToggleButton,
28793
- WorkflowLayout,
28794
29018
  actionColumn,
28795
29019
  applyRowFn,
28796
29020
  assignDefaultColumnIds,
@@ -28856,6 +29080,7 @@ function getInitialStep(steps, defaultStep) {
28856
29080
  defaultRenderFn,
28857
29081
  defaultStyle,
28858
29082
  defaultTestId,
29083
+ documentScrollBodyMinHeight,
28859
29084
  documentScrollChromeLeft,
28860
29085
  documentScrollChromeWidth,
28861
29086
  documentScrollContentLeft,
@@ -28942,6 +29167,7 @@ function getInitialStep(steps, defaultStep) {
28942
29167
  sortFn,
28943
29168
  sortRows,
28944
29169
  stickyNavAndHeaderOffset,
29170
+ stickyNavAndHeaderOffsetPx,
28945
29171
  stickyTableHeaderOffset,
28946
29172
  sumColumnSizesPx,
28947
29173
  switchFocusStyles,