@homebound/beam 3.91.0 → 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
@@ -112,6 +112,7 @@ __export(index_exports, {
112
112
  FieldGroup: () => FieldGroup,
113
113
  FilterModal: () => FilterModal,
114
114
  Filters: () => _Filters,
115
+ FocusedFormLayout: () => FocusedFormLayout,
115
116
  FormDivider: () => FormDivider,
116
117
  FormHeading: () => FormHeading,
117
118
  FormLines: () => FormLines,
@@ -184,6 +185,7 @@ __export(index_exports, {
184
185
  SortHeader: () => SortHeader,
185
186
  StaticField: () => StaticField,
186
187
  Stepper: () => Stepper,
188
+ StepperLayout: () => StepperLayout,
187
189
  StepperTab: () => StepperTab,
188
190
  StepperTabs: () => StepperTabs,
189
191
  SubmitButton: () => SubmitButton,
@@ -211,7 +213,6 @@ __export(index_exports, {
211
213
  Tooltip: () => Tooltip,
212
214
  TreeSelectField: () => TreeSelectField,
213
215
  ViewToggleButton: () => ViewToggleButton,
214
- WorkflowLayout: () => WorkflowLayout,
215
216
  actionColumn: () => actionColumn,
216
217
  applyRowFn: () => applyRowFn,
217
218
  assignDefaultColumnIds: () => assignDefaultColumnIds,
@@ -364,6 +365,7 @@ __export(index_exports, {
364
365
  sortFn: () => sortFn,
365
366
  sortRows: () => sortRows,
366
367
  stickyNavAndHeaderOffset: () => stickyNavAndHeaderOffset,
368
+ stickyNavAndHeaderOffsetPx: () => stickyNavAndHeaderOffsetPx,
367
369
  stickyTableHeaderOffset: () => stickyTableHeaderOffset,
368
370
  sumColumnSizesPx: () => sumColumnSizesPx,
369
371
  switchFocusStyles: () => switchFocusStyles,
@@ -6652,6 +6654,11 @@ function bannerAndNavbarChromeTop() {
6652
6654
  function stickyNavAndHeaderOffset(basePx = 0) {
6653
6655
  return `calc(${basePx}px + var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px))`;
6654
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
+ }
6655
6662
  function stickyTableHeaderOffset(basePx = 0) {
6656
6663
  return `calc(${basePx}px + var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px) + var(${beamTableActionsHeightVar}, 0px))`;
6657
6664
  }
@@ -6678,7 +6685,7 @@ var zIndices = {
6678
6685
  // Document-scroll detail pane (DocumentScrollRightPaneLayout) — above table sticky chrome, below page sticky headers.
6679
6686
  rightPane: 60,
6680
6687
  pageStickyHeader: 70,
6681
- // 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.
6682
6689
  pageStickyFooter: 70,
6683
6690
  dragHandle: 80,
6684
6691
  // Side-nav layer. Mobile rail overlays page content when expanded; sits below
@@ -21882,6 +21889,9 @@ var headingByLevel = {
21882
21889
  }
21883
21890
  };
21884
21891
 
21892
+ // src/forms/FormSection/FormSection.tsx
21893
+ var import_runtime98 = require("@homebound/truss/runtime");
21894
+
21885
21895
  // src/forms/FormSection/FormSectionChild.tsx
21886
21896
  var import_react108 = require("react");
21887
21897
 
@@ -22021,7 +22031,14 @@ function FormSection(props) {
22021
22031
  childSections
22022
22032
  } = props;
22023
22033
  const tid = useTestIds(props, "formSection");
22024
- 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: [
22025
22042
  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(ContentHeader, { ...tid, title, description, actions, level: 3 }),
22026
22043
  fields,
22027
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)) }))
@@ -22058,7 +22075,7 @@ function sortByOrderField(childSections) {
22058
22075
 
22059
22076
  // src/forms/StaticField.tsx
22060
22077
  var import_utils128 = require("@react-aria/utils");
22061
- var import_runtime98 = require("@homebound/truss/runtime");
22078
+ var import_runtime99 = require("@homebound/truss/runtime");
22062
22079
  var import_jsx_runtime150 = require("react/jsx-runtime");
22063
22080
  function StaticField(props) {
22064
22081
  const {
@@ -22072,14 +22089,14 @@ function StaticField(props) {
22072
22089
  } = props;
22073
22090
  const tid = useTestIds(props, typeof label === "string" ? defaultTestId(label) : "staticField");
22074
22091
  const id = (0, import_utils128.useId)();
22075
- 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)({
22076
22093
  ...labelStyle === "left" ? {
22077
22094
  display: "df",
22078
22095
  justifyContent: "jcsb",
22079
22096
  maxWidth: "maxw100"
22080
22097
  } : {}
22081
22098
  }), ...tid.container, children: [
22082
- /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("label", { ...(0, import_runtime98.trussProps)({
22099
+ /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("label", { ...(0, import_runtime99.trussProps)({
22083
22100
  display: "db",
22084
22101
  fontWeight: "fw4",
22085
22102
  fontSize: "fz_14px",
@@ -22089,7 +22106,7 @@ function StaticField(props) {
22089
22106
  }],
22090
22107
  marginBottom: "mb_4px"
22091
22108
  }), htmlFor: id, ...tid.label, children: label }),
22092
- /* @__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)({
22093
22110
  fontWeight: "fw4",
22094
22111
  fontSize: "fz_14px",
22095
22112
  lineHeight: "lh_20px",
@@ -22139,7 +22156,7 @@ var import_use_debounce6 = require("use-debounce");
22139
22156
  // src/components/RightSidebar.tsx
22140
22157
  var import_framer_motion2 = require("framer-motion");
22141
22158
  var import_react109 = require("react");
22142
- var import_runtime99 = require("@homebound/truss/runtime");
22159
+ var import_runtime100 = require("@homebound/truss/runtime");
22143
22160
  var import_jsx_runtime152 = require("react/jsx-runtime");
22144
22161
  var RIGHT_SIDEBAR_MIN_WIDTH = "250px";
22145
22162
  function RightSidebar({
@@ -22179,27 +22196,27 @@ function RightSidebar({
22179
22196
  duration: 0.2
22180
22197
  },
22181
22198
  x: "100%"
22182
- }, ...(0, import_runtime99.trussProps)({
22199
+ }, ...(0, import_runtime100.trussProps)({
22183
22200
  width: "w100",
22184
22201
  minWidth: ["mw_var", {
22185
- "--minWidth": (0, import_runtime99.maybeCssVar)(RIGHT_SIDEBAR_MIN_WIDTH)
22202
+ "--minWidth": (0, import_runtime100.maybeCssVar)(RIGHT_SIDEBAR_MIN_WIDTH)
22186
22203
  }],
22187
22204
  zIndex: "z0",
22188
22205
  maxHeight: ["maxh_var", {
22189
- "--maxHeight": (0, import_runtime99.maybeCssVar)(`calc(100vh - ${headerHeightPx2}px)`)
22206
+ "--maxHeight": (0, import_runtime100.maybeCssVar)(`calc(100vh - ${headerHeightPx2}px)`)
22190
22207
  }],
22191
22208
  overflowY: "oya",
22192
22209
  paddingLeft: "pl4",
22193
22210
  paddingRight: "pr3"
22194
22211
  }), children: /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_jsx_runtime152.Fragment, { children: [
22195
- /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("div", { ...(0, import_runtime99.trussProps)({
22212
+ /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("div", { ...(0, import_runtime100.trussProps)({
22196
22213
  position: "sticky",
22197
22214
  top: "top0",
22198
22215
  backgroundColor: ["bgColor_var", {
22199
22216
  "--backgroundColor": "var(--b-surface)"
22200
22217
  }]
22201
22218
  }), children: [
22202
- /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("div", { ...(0, import_runtime99.trussProps)({
22219
+ /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("div", { ...(0, import_runtime100.trussProps)({
22203
22220
  position: "absolute",
22204
22221
  left: ["left_var", {
22205
22222
  "--left": `${-24}px`
@@ -22210,7 +22227,7 @@ function RightSidebar({
22210
22227
  alignItems: "aic"
22211
22228
  }), children: [
22212
22229
  /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(IconButton, { bgColor: "--b-surface" /* Surface */, variant: "circle", onClick: () => setSelectedIcon(void 0), icon: "x", inc: 3.5 }),
22213
- /* @__PURE__ */ (0, import_jsx_runtime152.jsx)("div", { ...(0, import_runtime99.trussProps)({
22230
+ /* @__PURE__ */ (0, import_jsx_runtime152.jsx)("div", { ...(0, import_runtime100.trussProps)({
22214
22231
  position: "absolute",
22215
22232
  top: "top_48px",
22216
22233
  height: "h_calc_100vh_168px",
@@ -22278,7 +22295,7 @@ function Toast() {
22278
22295
  // src/components/Layout/PageHeaderBreadcrumbs.tsx
22279
22296
  var import_react111 = require("react");
22280
22297
  var import_react_router_dom5 = require("react-router-dom");
22281
- var import_runtime100 = require("@homebound/truss/runtime");
22298
+ var import_runtime101 = require("@homebound/truss/runtime");
22282
22299
  var import_jsx_runtime155 = (
22283
22300
  // Adding index to key to prevent rendering issues when multiple items have the same label
22284
22301
  require("react/jsx-runtime")
@@ -22291,7 +22308,7 @@ function PageHeaderBreadcrumbs({
22291
22308
  const [collapsed, setCollapsed] = (0, import_react111.useState)(true);
22292
22309
  function renderBreadcrumb(bc, index, hideDivisor) {
22293
22310
  return /* @__PURE__ */ (0, import_jsx_runtime155.jsxs)(import_react111.Fragment, { children: [
22294
- 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)({
22295
22312
  fontWeight: "fw6",
22296
22313
  fontSize: "fz_14px",
22297
22314
  lineHeight: "lh_20px",
@@ -22303,7 +22320,7 @@ function PageHeaderBreadcrumbs({
22303
22320
  marginTop: "mt_2px",
22304
22321
  marginBottom: "mb_2px"
22305
22322
  }), children: "/" }),
22306
- /* @__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, {
22307
22324
  fontWeight: "fw6",
22308
22325
  fontSize: "fz_14px",
22309
22326
  lineHeight: "lh_20px",
@@ -22317,7 +22334,7 @@ function PageHeaderBreadcrumbs({
22317
22334
  }
22318
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: [
22319
22336
  renderBreadcrumb(breadcrumbs[0], 0),
22320
- /* @__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)({
22321
22338
  color: ["color_var", {
22322
22339
  "--color": "var(--b-on-surface-muted)"
22323
22340
  }],
@@ -22330,7 +22347,7 @@ function PageHeaderBreadcrumbs({
22330
22347
  }
22331
22348
 
22332
22349
  // src/components/Layout/FormPageLayout.tsx
22333
- var import_runtime101 = require("@homebound/truss/runtime");
22350
+ var import_runtime102 = require("@homebound/truss/runtime");
22334
22351
  var import_jsx_runtime156 = require("react/jsx-runtime");
22335
22352
  var headerHeightPx = 120;
22336
22353
  var maxContentWidthPx = 1600;
@@ -22353,14 +22370,14 @@ function FormPageLayoutComponent(props) {
22353
22370
  // since this layout will be replacing most superdrawers/sidebars, we keep the listing mounted below to preserve the users's
22354
22371
  // scroll position & filters
22355
22372
  // Adding "align-items: start" allows "position: sticky" to work within a grid for the sidebars
22356
- /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { ...(0, import_runtime101.trussProps)({
22373
+ /* @__PURE__ */ (0, import_jsx_runtime156.jsx)("div", { ...(0, import_runtime102.trussProps)({
22357
22374
  position: "fixed",
22358
22375
  top: "top0",
22359
22376
  bottom: "bottom0",
22360
22377
  left: "left0",
22361
22378
  right: "right0",
22362
22379
  zIndex: ["z_var", {
22363
- "--zIndex": (0, import_runtime101.maybeCssVar)(zIndices.pageOverlay)
22380
+ "--zIndex": (0, import_runtime102.maybeCssVar)(zIndices.pageOverlay)
22364
22381
  }],
22365
22382
  overflowY: "oya",
22366
22383
  backgroundColor: ["bgColor_var", {
@@ -22369,14 +22386,14 @@ function FormPageLayoutComponent(props) {
22369
22386
  display: "df",
22370
22387
  justifyContent: "jcc",
22371
22388
  alignItems: "aifs"
22372
- }), ...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)({
22373
22390
  width: "w100",
22374
22391
  maxWidth: ["maxw_var", {
22375
22392
  "--maxWidth": `${maxContentWidthPx}px`
22376
22393
  }],
22377
22394
  display: "dg",
22378
22395
  gridTemplateColumns: ["gtc_var", {
22379
- "--gridTemplateColumns": (0, import_runtime101.maybeCssVar)(gridColumns)
22396
+ "--gridTemplateColumns": (0, import_runtime102.maybeCssVar)(gridColumns)
22380
22397
  }],
22381
22398
  gridTemplateRows: "gtr_auto_1fr",
22382
22399
  columnGap: "cg3",
@@ -22385,7 +22402,7 @@ function FormPageLayoutComponent(props) {
22385
22402
  /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(PageHeader, { ...props, ...tids.pageHeader }),
22386
22403
  /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(LeftNav, { sectionsWithRefs, ...tids }),
22387
22404
  /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(FormSections, { sectionsWithRefs, formState, ...tids }),
22388
- 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)({
22389
22406
  gridRow: "gr_2",
22390
22407
  gridColumn: "gc_3_4",
22391
22408
  position: "sticky",
@@ -22410,7 +22427,7 @@ function PageHeader(props) {
22410
22427
  notice
22411
22428
  } = useToastContext();
22412
22429
  const tids = useTestIds(props);
22413
- 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)({
22414
22431
  gridRow: "gr_1",
22415
22432
  gridColumn: "gc_1_4",
22416
22433
  position: "sticky",
@@ -22419,7 +22436,7 @@ function PageHeader(props) {
22419
22436
  "--backgroundColor": "var(--b-surface)"
22420
22437
  }],
22421
22438
  zIndex: ["z_var", {
22422
- "--zIndex": (0, import_runtime101.maybeCssVar)(zIndices.pageStickyHeader)
22439
+ "--zIndex": (0, import_runtime102.maybeCssVar)(zIndices.pageStickyHeader)
22423
22440
  }],
22424
22441
  ...!notice ? {
22425
22442
  height: ["h_var", {
@@ -22448,7 +22465,7 @@ function FormSections(props) {
22448
22465
  } = props;
22449
22466
  const tids = useTestIds(props);
22450
22467
  const bottomPaddingPx = sectionsWithRefs.length > 1 ? 200 : 0;
22451
- 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)({
22452
22469
  gridRow: "gr_2",
22453
22470
  gridColumn: "gc_2_3",
22454
22471
  paddingBottom: ["pb_var", {
@@ -22466,13 +22483,13 @@ function FormSections(props) {
22466
22483
  {
22467
22484
  id: sectionKey,
22468
22485
  ref,
22469
- ...(0, import_runtime101.trussProps)({
22486
+ ...(0, import_runtime102.trussProps)({
22470
22487
  display: "dg",
22471
22488
  gridTemplateColumns: "gtc_50px_1fr",
22472
22489
  gridTemplateRows: "gtr_auto",
22473
22490
  marginBottom: "mb_72px",
22474
22491
  scrollMarginTop: ["scrollMarginTop_var", {
22475
- "--scrollMarginTop": (0, import_runtime101.maybeCssVar)(`${headerHeightPx}px`)
22492
+ "--scrollMarginTop": (0, import_runtime102.maybeCssVar)(`${headerHeightPx}px`)
22476
22493
  }]
22477
22494
  }),
22478
22495
  ...tids.formSection,
@@ -22497,7 +22514,7 @@ function LeftNav(props) {
22497
22514
  section
22498
22515
  }) => !!section.title), [sectionsWithRefs]);
22499
22516
  const activeSection = useActiveSection(sectionWithTitles);
22500
- 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)({
22501
22518
  gridRow: "gr_2",
22502
22519
  gridColumn: "gc_1_2",
22503
22520
  position: "sticky",
@@ -22516,7 +22533,7 @@ var activeStyles = {
22516
22533
  fontSize: "fz_14px",
22517
22534
  lineHeight: "lh_20px",
22518
22535
  boxShadow: ["boxShadow_var", {
22519
- "--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 */})`)
22520
22537
  }]
22521
22538
  };
22522
22539
  var hoverStyles2 = {
@@ -22526,7 +22543,7 @@ var hoverStyles2 = {
22526
22543
  lineHeight: "lh_20px",
22527
22544
  color: "blue900",
22528
22545
  boxShadow: ["boxShadow_var", {
22529
- "--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 */})`)
22530
22547
  }]
22531
22548
  };
22532
22549
  var defaultFocusRingStyles = {
@@ -22566,7 +22583,7 @@ function SectionNavLink(props) {
22566
22583
  hoverProps,
22567
22584
  isHovered
22568
22585
  } = useHover2({});
22569
- 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)({
22570
22587
  ...{
22571
22588
  fontWeight: "fw6",
22572
22589
  fontSize: "fz_14px",
@@ -22643,7 +22660,7 @@ function useActiveSection(sectionsWithRefs) {
22643
22660
  }
22644
22661
 
22645
22662
  // src/components/Layout/FullBleed.tsx
22646
- var import_runtime102 = require("@homebound/truss/runtime");
22663
+ var import_runtime103 = require("@homebound/truss/runtime");
22647
22664
  var import_react113 = require("react");
22648
22665
  var __maybeInc20 = (inc) => {
22649
22666
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -22669,24 +22686,24 @@ function FullBleed({
22669
22686
  // ...for some reason this keeps the Layout top padding better than using
22670
22687
  // react-aria's more generic mergeProps.
22671
22688
  {
22672
- ...(0, import_runtime102.mergeProps)(
22689
+ ...(0, import_runtime103.mergeProps)(
22673
22690
  className,
22674
22691
  style,
22675
22692
  // ScrollableParent applies horizontal padding to its content column, so FullBleed
22676
22693
  // inverts that padding with negative margins before re-applying it to the child.
22677
22694
  {
22678
22695
  marginLeft: ["ml_var", {
22679
- "--marginLeft": (0, import_runtime102.maybeCssVar)(__maybeInc20(invertSpacing(paddingLeft)))
22696
+ "--marginLeft": (0, import_runtime103.maybeCssVar)(__maybeInc20(invertSpacing(paddingLeft)))
22680
22697
  }],
22681
22698
  marginRight: ["mr_var", {
22682
- "--marginRight": (0, import_runtime102.maybeCssVar)(__maybeInc20(invertSpacing(paddingRight)))
22699
+ "--marginRight": (0, import_runtime103.maybeCssVar)(__maybeInc20(invertSpacing(paddingRight)))
22683
22700
  }],
22684
22701
  ...!omitPadding ? {
22685
22702
  paddingLeft: ["pl_var", {
22686
- "--paddingLeft": (0, import_runtime102.maybeCssVar)(__maybeInc20(paddingLeft))
22703
+ "--paddingLeft": (0, import_runtime103.maybeCssVar)(__maybeInc20(paddingLeft))
22687
22704
  }],
22688
22705
  paddingRight: ["pr_var", {
22689
- "--paddingRight": (0, import_runtime102.maybeCssVar)(__maybeInc20(paddingRight))
22706
+ "--paddingRight": (0, import_runtime103.maybeCssVar)(__maybeInc20(paddingRight))
22690
22707
  }]
22691
22708
  } : {}
22692
22709
  }
@@ -22723,7 +22740,7 @@ function isGridTableProps(props) {
22723
22740
 
22724
22741
  // src/components/Layout/RightPaneLayout/DocumentScrollRightPaneLayout.tsx
22725
22742
  var import_react117 = require("react");
22726
- var import_runtime104 = require("@homebound/truss/runtime");
22743
+ var import_runtime105 = require("@homebound/truss/runtime");
22727
22744
 
22728
22745
  // src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
22729
22746
  var import_framer_motion3 = require("framer-motion");
@@ -22778,7 +22795,7 @@ function useRightPaneContext() {
22778
22795
  }
22779
22796
 
22780
22797
  // src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
22781
- var import_runtime103 = require("@homebound/truss/runtime");
22798
+ var import_runtime104 = require("@homebound/truss/runtime");
22782
22799
  var import_jsx_runtime159 = require("react/jsx-runtime");
22783
22800
  var __maybeInc21 = (inc) => {
22784
22801
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -22803,7 +22820,7 @@ function DocumentScrollRightPane({
22803
22820
  });
22804
22821
  (0, import_react116.useEffect)(() => closePane, [closePane]);
22805
22822
  const slideX = sm ? "100%" : paneWidth;
22806
- 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 ? {
22807
22824
  top: bannerHeightPx
22808
22825
  } : void 0, sm ? {
22809
22826
  position: "fixed",
@@ -22815,27 +22832,27 @@ function DocumentScrollRightPane({
22815
22832
  "--backgroundColor": "var(--b-surface)"
22816
22833
  }],
22817
22834
  zIndex: ["z_var", {
22818
- "--zIndex": (0, import_runtime103.maybeCssVar)(zIndices.rightPaneMobile)
22835
+ "--zIndex": (0, import_runtime104.maybeCssVar)(zIndices.rightPaneMobile)
22819
22836
  }]
22820
22837
  } : {
22821
22838
  position: "fixed",
22822
22839
  transition: "transitionTop",
22823
22840
  top: ["top_var", {
22824
- "--top": (0, import_runtime103.maybeCssVar)(__maybeInc21(stickyTableHeaderOffset()))
22841
+ "--top": (0, import_runtime104.maybeCssVar)(__maybeInc21(stickyTableHeaderOffset()))
22825
22842
  }],
22826
22843
  right: "right_0",
22827
22844
  height: ["h_var", {
22828
- "--height": (0, import_runtime103.maybeCssVar)(__maybeInc21(documentScrollRightPaneHeight()))
22845
+ "--height": (0, import_runtime104.maybeCssVar)(__maybeInc21(documentScrollRightPaneHeight()))
22829
22846
  }],
22830
22847
  width: ["w_var", {
22831
- "--width": (0, import_runtime103.maybeCssVar)(__maybeInc21(documentScrollRightPaneWidth(paneWidth)))
22848
+ "--width": (0, import_runtime104.maybeCssVar)(__maybeInc21(documentScrollRightPaneWidth(paneWidth)))
22832
22849
  }],
22833
22850
  overflowY: "oya",
22834
22851
  backgroundColor: ["bgColor_var", {
22835
22852
  "--backgroundColor": "var(--b-surface)"
22836
22853
  }],
22837
22854
  zIndex: ["z_var", {
22838
- "--zIndex": (0, import_runtime103.maybeCssVar)(zIndices.rightPane)
22855
+ "--zIndex": (0, import_runtime104.maybeCssVar)(zIndices.rightPane)
22839
22856
  }],
22840
22857
  borderLeftStyle: "bls_solid",
22841
22858
  borderLeftWidth: "blw_1px",
@@ -22884,7 +22901,7 @@ function DocumentScrollRightPaneLayout(props) {
22884
22901
  }
22885
22902
  };
22886
22903
  }, [effectivePaneWidth]);
22887
- 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, {
22888
22905
  [beamRightPaneWidthVar]: effectivePaneWidth
22889
22906
  }, {
22890
22907
  width: "w100"
@@ -22900,19 +22917,19 @@ function DocumentScrollRightPaneSpacer({
22900
22917
  }) {
22901
22918
  const tid = useTestIds({}, "rightPaneSpacer");
22902
22919
  const effectivePaneWidth = documentScrollRightPaneWidth(paneWidth);
22903
- 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, {
22904
22921
  width: isOpen ? "fit-content" : "100%"
22905
22922
  }, {
22906
22923
  display: "df",
22907
22924
  minWidth: "mw100"
22908
22925
  }), children: [
22909
- /* @__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, {
22910
22927
  width: `min(100%, ${documentScrollChromeWidth()})`
22911
22928
  }, {
22912
22929
  flexShrink: "fs0",
22913
22930
  minWidth: "mw_fit_content"
22914
22931
  }), children }),
22915
- /* @__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, {
22916
22933
  width: isOpen ? effectivePaneWidth : 0
22917
22934
  }, {
22918
22935
  flexShrink: "fs0",
@@ -22962,7 +22979,7 @@ function isSelectionButtonMenuProps(props) {
22962
22979
  }
22963
22980
 
22964
22981
  // src/components/CountBadge.tsx
22965
- var import_runtime105 = require("@homebound/truss/runtime");
22982
+ var import_runtime106 = require("@homebound/truss/runtime");
22966
22983
  var import_jsx_runtime162 = require("react/jsx-runtime");
22967
22984
  function CountBadge(props) {
22968
22985
  const {
@@ -22974,7 +22991,7 @@ function CountBadge(props) {
22974
22991
  } = props;
22975
22992
  const tid = useTestIds(otherProps, "countBadge");
22976
22993
  if (hideIfZero && count === 0) return null;
22977
- 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)({
22978
22995
  ...{
22979
22996
  height: ["sq_var", {
22980
22997
  "--height": `${count > 100 ? 18 : 16}px`
@@ -22994,12 +23011,12 @@ function CountBadge(props) {
22994
23011
  alignItems: "aic",
22995
23012
  justifyContent: "jcc",
22996
23013
  backgroundColor: ["bgColor_var", {
22997
- "--backgroundColor": (0, import_runtime105.maybeCssVar)(bgColor)
23014
+ "--backgroundColor": (0, import_runtime106.maybeCssVar)(bgColor)
22998
23015
  }]
22999
23016
  },
23000
23017
  ...{
23001
23018
  color: ["color_var", {
23002
- "--color": (0, import_runtime105.maybeCssVar)(color)
23019
+ "--color": (0, import_runtime106.maybeCssVar)(color)
23003
23020
  }]
23004
23021
  }
23005
23022
  }), children: count });
@@ -23518,7 +23535,7 @@ function OpenModal(props) {
23518
23535
  }
23519
23536
 
23520
23537
  // src/components/Filters/FilterModal.tsx
23521
- var import_runtime106 = require("@homebound/truss/runtime");
23538
+ var import_runtime107 = require("@homebound/truss/runtime");
23522
23539
  var import_jsx_runtime173 = require("react/jsx-runtime");
23523
23540
  function FilterModal(props) {
23524
23541
  const {
@@ -23555,7 +23572,7 @@ function ModalFilterItem({
23555
23572
  label,
23556
23573
  children
23557
23574
  }) {
23558
- 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)({
23559
23576
  marginBottom: "mb4",
23560
23577
  ...!label ? {
23561
23578
  borderTopStyle: "bts_solid",
@@ -23564,7 +23581,7 @@ function ModalFilterItem({
23564
23581
  } : {}
23565
23582
  }), children: [
23566
23583
  label && /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("h2", { className: "fw4 fz_16px lh_24px mb2", children: label }),
23567
- /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("div", { ...(0, import_runtime106.trussProps)({
23584
+ /* @__PURE__ */ (0, import_jsx_runtime173.jsx)("div", { ...(0, import_runtime107.trussProps)({
23568
23585
  ...!label ? {
23569
23586
  paddingTop: "pt3"
23570
23587
  } : {}
@@ -23574,7 +23591,7 @@ function ModalFilterItem({
23574
23591
 
23575
23592
  // src/components/Filters/Filters.tsx
23576
23593
  var import_react121 = require("react");
23577
- var import_runtime107 = require("@homebound/truss/runtime");
23594
+ var import_runtime108 = require("@homebound/truss/runtime");
23578
23595
  var import_jsx_runtime174 = require("react/jsx-runtime");
23579
23596
  function Filters(props) {
23580
23597
  const {
@@ -23598,7 +23615,7 @@ function Filters(props) {
23598
23615
  }, [numberOfInlineFilters, vertical, filterDefs]);
23599
23616
  const numModalFilters = safeKeys(modalFilters).filter((fk) => filter[fk] !== void 0).length;
23600
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;
23601
- 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)({
23602
23619
  ...vertical ? {
23603
23620
  display: "df",
23604
23621
  flexDirection: "fdc",
@@ -23659,7 +23676,7 @@ var ToggleFilter = class extends BaseFilter {
23659
23676
  var import_react122 = require("react");
23660
23677
  var import_react_aria55 = require("react-aria");
23661
23678
  var import_react_stately18 = require("react-stately");
23662
- var import_runtime108 = require("@homebound/truss/runtime");
23679
+ var import_runtime109 = require("@homebound/truss/runtime");
23663
23680
  var import_jsx_runtime176 = require("react/jsx-runtime");
23664
23681
  function EditColumnsButton(props) {
23665
23682
  const {
@@ -23708,7 +23725,7 @@ function EditColumnsButton(props) {
23708
23725
  label: "",
23709
23726
  size: "md",
23710
23727
  variant: "secondaryBlack"
23711
- }, 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)({
23712
23729
  display: "df",
23713
23730
  flexDirection: "fdc",
23714
23731
  backgroundColor: ["bgColor_var", {
@@ -23725,7 +23742,7 @@ function EditColumnsButton(props) {
23725
23742
  /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { className: "fw4 fz_14px lh_20px wsnw oh to_ellipsis pr1", children: option.label }),
23726
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}`] })
23727
23744
  ] }, option.value)) }),
23728
- /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { ...(0, import_runtime108.trussProps)({
23745
+ /* @__PURE__ */ (0, import_jsx_runtime176.jsx)("div", { ...(0, import_runtime109.trussProps)({
23729
23746
  display: "df",
23730
23747
  justifyContent: "jcc",
23731
23748
  paddingTop: "pt2",
@@ -23767,7 +23784,7 @@ var import_use_debounce7 = require("use-debounce");
23767
23784
  var import_use_query_params3 = require("use-query-params");
23768
23785
 
23769
23786
  // src/components/Layout/GridTableLayout/FilterPanel.tsx
23770
- var import_runtime109 = require("@homebound/truss/runtime");
23787
+ var import_runtime110 = require("@homebound/truss/runtime");
23771
23788
 
23772
23789
  // src/components/Layout/GridTableLayout/GroupByField.tsx
23773
23790
  var import_jsx_runtime178 = require("react/jsx-runtime");
@@ -23803,7 +23820,7 @@ function FilterPanelOpen({
23803
23820
  const inDocumentScrollLayout = useDocumentScrollLayout();
23804
23821
  const activeFilterCount = getActiveFilterCount(filter ?? {});
23805
23822
  const filterControls = filter && setFilter ? buildFilterControls(filterImpls, filter, setFilter, tid) : null;
23806
- 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)({
23807
23824
  ...{
23808
23825
  display: "df",
23809
23826
  alignItems: "aic",
@@ -23835,7 +23852,7 @@ function FilterPanelClosed({
23835
23852
  if (!filter || !setFilter) return null;
23836
23853
  const chips = safeEntries(filterImpls).flatMap(([key, f]) => chipsForFilterKey(key, f, filter, setFilter, tid));
23837
23854
  if (chips.length === 0) return null;
23838
- 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)({
23839
23856
  display: "df",
23840
23857
  gap: "gap1",
23841
23858
  alignItems: "aic",
@@ -23876,7 +23893,7 @@ function chipsForFilterKey(key, f, filter, onChange, testId) {
23876
23893
  }
23877
23894
 
23878
23895
  // src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
23879
- var import_runtime110 = require("@homebound/truss/runtime");
23896
+ var import_runtime111 = require("@homebound/truss/runtime");
23880
23897
  var import_jsx_runtime180 = require("react/jsx-runtime");
23881
23898
  function GridTableLayoutActionsComponent(props) {
23882
23899
  const {
@@ -23940,7 +23957,7 @@ function GridTableLayoutActionsComponent(props) {
23940
23957
  }
23941
23958
  };
23942
23959
  }
23943
- 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)({
23944
23961
  display: "df",
23945
23962
  flexDirection: "fdc",
23946
23963
  gap: "gap1",
@@ -23949,7 +23966,7 @@ function GridTableLayoutActionsComponent(props) {
23949
23966
  paddingBottom: "pb3"
23950
23967
  } : {}
23951
23968
  }), children: [
23952
- /* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { ...(0, import_runtime110.trussProps)({
23969
+ /* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { ...(0, import_runtime111.trussProps)({
23953
23970
  ...{
23954
23971
  display: "df",
23955
23972
  gap: "gap1",
@@ -23976,7 +23993,7 @@ function GridTableLayoutActionsComponent(props) {
23976
23993
  } })
23977
23994
  ] })
23978
23995
  ] }),
23979
- 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 }),
23980
23997
  hasFilterControls && !showInlineControl && /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(FilterPanel, { isOpen: showFilters, groupBy, filterImpls, filter, setFilter, onClear: clearFilters })
23981
23998
  ] });
23982
23999
  }
@@ -23986,7 +24003,7 @@ var _GridTableLayoutActions = (0, import_react123.memo)(GridTableLayoutActionsCo
23986
24003
  var import_react124 = require("react");
23987
24004
 
23988
24005
  // src/components/LoadingSkeleton.tsx
23989
- var import_runtime111 = require("@homebound/truss/runtime");
24006
+ var import_runtime112 = require("@homebound/truss/runtime");
23990
24007
  var import_jsx_runtime181 = require("react/jsx-runtime");
23991
24008
  function LoadingSkeleton({
23992
24009
  rows = 1,
@@ -23999,18 +24016,18 @@ function LoadingSkeleton({
23999
24016
  const rowHeight = sizeToPixels2[size];
24000
24017
  const rowCells = (rowNumber) => {
24001
24018
  const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
24002
- 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)({
24003
24020
  borderRadius: "br4",
24004
24021
  animation: "animation_pulse_2s_cubic_bezier_0_4_0_0_6_1_infinite",
24005
24022
  flexGrow: ["flexGrow_var", {
24006
- "--flexGrow": (0, import_runtime111.maybeCssVar)(flexGrowForCell)
24023
+ "--flexGrow": (0, import_runtime112.maybeCssVar)(flexGrowForCell)
24007
24024
  }],
24008
24025
  backgroundColor: ["bgColor_var", {
24009
24026
  "--backgroundColor": "var(--b-loader-fill)"
24010
24027
  }]
24011
24028
  }) }, `row-${rowNumber}-cell-${i}`));
24012
24029
  };
24013
- 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)({
24014
24031
  display: "df",
24015
24032
  gap: "gap1",
24016
24033
  marginBottom: "mb1",
@@ -24095,7 +24112,7 @@ function parseStoredTableView(raw) {
24095
24112
  }
24096
24113
 
24097
24114
  // src/components/Layout/GridTableLayout/GridTableLayout.tsx
24098
- var import_runtime112 = require("@homebound/truss/runtime");
24115
+ var import_runtime113 = require("@homebound/truss/runtime");
24099
24116
  var import_jsx_runtime183 = require("react/jsx-runtime");
24100
24117
  var __maybeInc22 = (inc) => {
24101
24118
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -24153,21 +24170,21 @@ function GridTableLayoutComponent(props) {
24153
24170
  as: cardAs
24154
24171
  } : {}, api, emptyState, filter: clientSearch, style: tableStyle, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey, columnGutter: inDocumentScrollLayout }) });
24155
24172
  const tableScrollContent = /* @__PURE__ */ (0, import_jsx_runtime183.jsxs)(import_jsx_runtime183.Fragment, { children: [
24156
- 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)({
24157
24174
  ...inDocumentScrollLayout ? {
24158
24175
  transition: "transitionTop",
24159
24176
  position: "sticky",
24160
24177
  top: ["top_var", {
24161
- "--top": (0, import_runtime112.maybeCssVar)(__maybeInc22(stickyNavAndHeaderOffset()))
24178
+ "--top": (0, import_runtime113.maybeCssVar)(__maybeInc22(stickyNavAndHeaderOffset()))
24162
24179
  }],
24163
24180
  left: ["left_var", {
24164
- "--left": (0, import_runtime112.maybeCssVar)(__maybeInc22(documentScrollChromeLeft()))
24181
+ "--left": (0, import_runtime113.maybeCssVar)(__maybeInc22(documentScrollChromeLeft()))
24165
24182
  }],
24166
24183
  width: ["w_var", {
24167
- "--width": (0, import_runtime112.maybeCssVar)(__maybeInc22(`min(100%, ${documentScrollChromeWidth()})`))
24184
+ "--width": (0, import_runtime113.maybeCssVar)(__maybeInc22(`min(100%, ${documentScrollChromeWidth()})`))
24168
24185
  }],
24169
24186
  zIndex: ["z_var", {
24170
- "--zIndex": (0, import_runtime112.maybeCssVar)(zIndices.tableActions)
24187
+ "--zIndex": (0, import_runtime113.maybeCssVar)(zIndices.tableActions)
24171
24188
  }],
24172
24189
  backgroundColor: ["bgColor_var", {
24173
24190
  "--backgroundColor": "var(--b-surface)"
@@ -24303,7 +24320,7 @@ function PreventBrowserScroll({
24303
24320
  // src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
24304
24321
  var import_framer_motion4 = require("framer-motion");
24305
24322
  var import_react127 = require("react");
24306
- var import_runtime113 = require("@homebound/truss/runtime");
24323
+ var import_runtime114 = require("@homebound/truss/runtime");
24307
24324
  var import_jsx_runtime185 = require("react/jsx-runtime");
24308
24325
  var __maybeInc23 = (inc) => {
24309
24326
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -24323,10 +24340,10 @@ function RightPaneLayout(props) {
24323
24340
  } = useRightPaneContext();
24324
24341
  (0, import_react127.useEffect)(() => closePane, [closePane]);
24325
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: [
24326
- /* @__PURE__ */ (0, import_jsx_runtime185.jsx)("div", { ...(0, import_runtime113.trussProps)({
24343
+ /* @__PURE__ */ (0, import_jsx_runtime185.jsx)("div", { ...(0, import_runtime114.trussProps)({
24327
24344
  ...{
24328
24345
  width: ["w_var", {
24329
- "--width": (0, import_runtime113.maybeCssVar)(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
24346
+ "--width": (0, import_runtime114.maybeCssVar)(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
24330
24347
  }],
24331
24348
  transition: "transition_width_2s_linear",
24332
24349
  height: "h100",
@@ -24342,13 +24359,13 @@ function RightPaneLayout(props) {
24342
24359
  ...{
24343
24360
  ...!!defaultPaneContent ? {
24344
24361
  width: ["w_var", {
24345
- "--width": (0, import_runtime113.maybeCssVar)(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
24362
+ "--width": (0, import_runtime114.maybeCssVar)(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
24346
24363
  }],
24347
24364
  marginRight: "mr3"
24348
24365
  } : {}
24349
24366
  }
24350
24367
  }), children }),
24351
- /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)("div", { ...(0, import_runtime113.trussProps)({
24368
+ /* @__PURE__ */ (0, import_jsx_runtime185.jsxs)("div", { ...(0, import_runtime114.trussProps)({
24352
24369
  position: "relative",
24353
24370
  ...!!defaultPaneContent ? {
24354
24371
  width: ["w_var", {
@@ -24356,7 +24373,7 @@ function RightPaneLayout(props) {
24356
24373
  }]
24357
24374
  } : {}
24358
24375
  }), children: [
24359
- 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)({
24360
24377
  height: "h100",
24361
24378
  width: ["w_var", {
24362
24379
  "--width": `${paneWidth}px`
@@ -24374,9 +24391,9 @@ function RightPaneLayout(props) {
24374
24391
  {
24375
24392
  layout: "position",
24376
24393
  "data-testid": "rightPaneContent",
24377
- ...(0, import_runtime113.trussProps)({
24394
+ ...(0, import_runtime114.trussProps)({
24378
24395
  backgroundColor: ["bgColor_var", {
24379
- "--backgroundColor": (0, import_runtime113.maybeCssVar)(paneBgColor)
24396
+ "--backgroundColor": (0, import_runtime114.maybeCssVar)(paneBgColor)
24380
24397
  }],
24381
24398
  height: "h100",
24382
24399
  width: ["w_var", {
@@ -24457,7 +24474,7 @@ function SidePanel(props) {
24457
24474
  }
24458
24475
 
24459
24476
  // src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
24460
- var import_runtime114 = require("@homebound/truss/runtime");
24477
+ var import_runtime115 = require("@homebound/truss/runtime");
24461
24478
  var import_jsx_runtime188 = require("react/jsx-runtime");
24462
24479
  var defaultRightPaneWidth = 450;
24463
24480
  function TableReviewLayout(props) {
@@ -24499,14 +24516,14 @@ function TableReviewLayout(props) {
24499
24516
  bordered: true
24500
24517
  }, stickyHeader: true });
24501
24518
  }
24502
- 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)({
24503
24520
  position: "fixed",
24504
24521
  top: "top0",
24505
24522
  bottom: "bottom0",
24506
24523
  left: "left0",
24507
24524
  right: "right0",
24508
24525
  zIndex: ["z_var", {
24509
- "--zIndex": (0, import_runtime114.maybeCssVar)(zIndices.pageOverlay)
24526
+ "--zIndex": (0, import_runtime115.maybeCssVar)(zIndices.pageOverlay)
24510
24527
  }],
24511
24528
  backgroundColor: ["bgColor_var", {
24512
24529
  "--backgroundColor": "var(--b-surface)"
@@ -24523,7 +24540,7 @@ function TableReviewLayout(props) {
24523
24540
  ] }),
24524
24541
  /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(Button, { label: "Close", onClick: closeAction, ...tid.closeButton })
24525
24542
  ] }),
24526
- /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime114.trussProps)({
24543
+ /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime115.trussProps)({
24527
24544
  fontWeight: "fw4",
24528
24545
  fontSize: "fz_14px",
24529
24546
  lineHeight: "lh_20px",
@@ -24534,7 +24551,7 @@ function TableReviewLayout(props) {
24534
24551
  }), ...tid.description, children: description })
24535
24552
  ] }),
24536
24553
  /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)("div", { className: "fg1 df mh0", ...tid.content, children: [
24537
- /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime114.trussProps)({
24554
+ /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime115.trussProps)({
24538
24555
  ...{
24539
24556
  flexGrow: "fg1",
24540
24557
  overflowY: "oya",
@@ -24557,7 +24574,7 @@ function TableReviewLayout(props) {
24557
24574
  ease: "linear",
24558
24575
  duration: 0.2
24559
24576
  }, className: "df fdc fs0 relative", children: [
24560
- /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)("div", { ...(0, import_runtime114.trussProps)({
24577
+ /* @__PURE__ */ (0, import_jsx_runtime188.jsxs)("div", { ...(0, import_runtime115.trussProps)({
24561
24578
  position: "absolute",
24562
24579
  top: ["top_var", {
24563
24580
  "--top": `${-32}px`
@@ -24571,7 +24588,7 @@ function TableReviewLayout(props) {
24571
24588
  zIndex: "z1"
24572
24589
  }), children: [
24573
24590
  /* @__PURE__ */ (0, import_jsx_runtime188.jsx)(IconButton, { bgColor: "--b-surface" /* Surface */, variant: "circle", icon: "x", inc: 3.5, onClick: handleClosePanel, ...tid.closePanelButton }),
24574
- /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime114.trussProps)({
24591
+ /* @__PURE__ */ (0, import_jsx_runtime188.jsx)("div", { ...(0, import_runtime115.trussProps)({
24575
24592
  width: "w_1px",
24576
24593
  backgroundColor: ["bgColor_var", {
24577
24594
  "--backgroundColor": "var(--b-field-border-default)"
@@ -24660,7 +24677,7 @@ function useBeamContext() {
24660
24677
  // src/components/Breadcrumbs.tsx
24661
24678
  var import_react130 = require("react");
24662
24679
  var import_react_router_dom6 = require("react-router-dom");
24663
- var import_runtime115 = require("@homebound/truss/runtime");
24680
+ var import_runtime116 = require("@homebound/truss/runtime");
24664
24681
  var import_jsx_runtime190 = (
24665
24682
  // Index is added to the key to prevent rendering issues when multiple items have the same label
24666
24683
  require("react/jsx-runtime")
@@ -24679,7 +24696,7 @@ function Breadcrumbs({
24679
24696
  function renderBreadcrumb(bc, index, isLast) {
24680
24697
  return /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)(import_react130.Fragment, { children: [
24681
24698
  index > 0 && /* @__PURE__ */ (0, import_jsx_runtime190.jsx)("span", { className: "fs0 fw4 fz_12px lh_16px", children: "/" }),
24682
- /* @__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)({
24683
24700
  ...{
24684
24701
  fontWeight: "fw4",
24685
24702
  fontSize: "fz_12px",
@@ -24738,7 +24755,7 @@ function ButtonDatePicker(props) {
24738
24755
  // src/components/ButtonGroup.tsx
24739
24756
  var import_react132 = require("react");
24740
24757
  var import_react_aria58 = require("react-aria");
24741
- var import_runtime116 = require("@homebound/truss/runtime");
24758
+ var import_runtime117 = require("@homebound/truss/runtime");
24742
24759
  var import_jsx_runtime192 = (
24743
24760
  // Disable the button if the ButtonGroup is disabled or if the current button is disabled.
24744
24761
  require("react/jsx-runtime")
@@ -24752,7 +24769,7 @@ function ButtonGroup(props) {
24752
24769
  const tid = useTestIds(props, "buttonGroup");
24753
24770
  return (
24754
24771
  // Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
24755
- /* @__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)({
24756
24773
  ...{
24757
24774
  display: "df",
24758
24775
  lineHeight: "lh_0"
@@ -24798,10 +24815,10 @@ function GroupButton(props) {
24798
24815
  isHovered
24799
24816
  } = (0, import_react_aria58.useHover)(ariaProps);
24800
24817
  const tid = useTestIds(props);
24801
- 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({
24802
24819
  title: resolveTooltip(disabled, tooltip),
24803
24820
  placement: "top",
24804
- 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)({
24805
24822
  ...{
24806
24823
  fontWeight: "fw6",
24807
24824
  fontSize: "fz_14px",
@@ -24924,7 +24941,7 @@ var import_react_aria59 = require("react-aria");
24924
24941
  // src/components/Tag.tsx
24925
24942
  var import_utils157 = require("@react-aria/utils");
24926
24943
  var import_react133 = require("react");
24927
- var import_runtime117 = require("@homebound/truss/runtime");
24944
+ var import_runtime118 = require("@homebound/truss/runtime");
24928
24945
  var import_jsx_runtime193 = require("react/jsx-runtime");
24929
24946
  function Tag(props) {
24930
24947
  const {
@@ -24958,7 +24975,7 @@ function Tag(props) {
24958
24975
  const tooltipTitle = !preventTooltip ? isIconOnly ? text : showTooltip ? text : void 0 : void 0;
24959
24976
  return maybeTooltip({
24960
24977
  title: tooltipTitle,
24961
- 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)({
24962
24979
  ...{
24963
24980
  position: "relative",
24964
24981
  display: "dif",
@@ -25065,7 +25082,7 @@ function getPrimaryStyles(type) {
25065
25082
  }
25066
25083
 
25067
25084
  // src/components/Card.tsx
25068
- var import_runtime118 = require("@homebound/truss/runtime");
25085
+ var import_runtime119 = require("@homebound/truss/runtime");
25069
25086
  var import_jsx_runtime194 = require("react/jsx-runtime");
25070
25087
  function Card(props) {
25071
25088
  const {
@@ -25098,8 +25115,8 @@ function Card(props) {
25098
25115
  ...isHovered && cardHoverStyles,
25099
25116
  ...isDisabled && disabledStyles2
25100
25117
  }), [isDisabled, isHovered, bordered, type, isList, fullWidth]);
25101
- return /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("div", { ...(0, import_runtime118.trussProps)(styles), ...hoverProps, ...tid, children: [
25102
- /* @__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)({
25103
25120
  ...{
25104
25121
  height: ["h_var", {
25105
25122
  "--height": `${imgHeight}px`
@@ -25122,14 +25139,14 @@ function Card(props) {
25122
25139
  flexShrink: "fs0"
25123
25140
  },
25124
25141
  ...isHovered && !isList && imageHoverStyles
25125
- }), 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)({
25126
25143
  width: "w100",
25127
25144
  height: "h100",
25128
25145
  objectFit: ["objectFit_var", {
25129
- "--objectFit": (0, import_runtime118.maybeCssVar)(imageFit)
25146
+ "--objectFit": (0, import_runtime119.maybeCssVar)(imageFit)
25130
25147
  }]
25131
25148
  }), src: imgSrc, alt: title, ...tid.img }) }),
25132
- 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)({
25133
25150
  position: "absolute",
25134
25151
  right: "right1",
25135
25152
  top: "top1",
@@ -25144,7 +25161,7 @@ function Card(props) {
25144
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 }) }),
25145
25162
  /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("div", { className: "df fdc aifs gap1", children: [
25146
25163
  /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("div", { children: [
25147
- /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime118.trussProps)({
25164
+ /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime119.trussProps)({
25148
25165
  fontWeight: "fw6",
25149
25166
  fontSize: "fz_12px",
25150
25167
  lineHeight: "lh_16px",
@@ -25152,7 +25169,7 @@ function Card(props) {
25152
25169
  "--color": "var(--b-on-surface-muted)"
25153
25170
  }]
25154
25171
  }), ...tid.subtitle, children: subtitle }),
25155
- /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime118.trussProps)({
25172
+ /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...(0, import_runtime119.trussProps)({
25156
25173
  fontWeight: "fw6",
25157
25174
  fontSize: "fz_14px",
25158
25175
  lineHeight: "lh_20px",
@@ -25225,10 +25242,10 @@ var imageHoverStyles = {
25225
25242
  };
25226
25243
 
25227
25244
  // src/components/Copy.tsx
25228
- var import_runtime119 = require("@homebound/truss/runtime");
25245
+ var import_runtime120 = require("@homebound/truss/runtime");
25229
25246
  var import_jsx_runtime195 = require("react/jsx-runtime");
25230
25247
  function Copy(props) {
25231
- 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, {
25232
25249
  ...{
25233
25250
  fontWeight: "fw4",
25234
25251
  fontSize: "fz_14px",
@@ -25244,7 +25261,7 @@ function Copy(props) {
25244
25261
  }
25245
25262
 
25246
25263
  // src/components/EnvironmentBanner/EnvironmentBanner.tsx
25247
- var import_runtime120 = require("@homebound/truss/runtime");
25264
+ var import_runtime121 = require("@homebound/truss/runtime");
25248
25265
  var import_jsx_runtime196 = require("react/jsx-runtime");
25249
25266
  function EnvironmentBanner(props) {
25250
25267
  const {
@@ -25264,14 +25281,14 @@ function EnvironmentBanner(props) {
25264
25281
  tooltip
25265
25282
  } = getEnvironmentBannerConfig(env, impersonating, showProdWarning);
25266
25283
  const bgColorVar = maybeCssVar(bgColor);
25267
- 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)({
25268
25285
  flexShrink: "fs0",
25269
25286
  position: "relative",
25270
25287
  zIndex: ["z_var", {
25271
- "--zIndex": (0, import_runtime120.maybeCssVar)(zIndices.environmentBanner)
25288
+ "--zIndex": (0, import_runtime121.maybeCssVar)(zIndices.environmentBanner)
25272
25289
  }],
25273
25290
  backgroundColor: ["bgColor_var", {
25274
- "--backgroundColor": (0, import_runtime120.maybeCssVar)(bgColorVar)
25291
+ "--backgroundColor": (0, import_runtime121.maybeCssVar)(bgColorVar)
25275
25292
  }],
25276
25293
  height: ["h_var", {
25277
25294
  "--height": `${environmentBannerSizePx}px`
@@ -25280,7 +25297,7 @@ function EnvironmentBanner(props) {
25280
25297
  }), role: "banner", ...tid, children: [
25281
25298
  getInvertedCorner("left", bgColorVar),
25282
25299
  getInvertedCorner("right", bgColorVar),
25283
- /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { ...(0, import_runtime120.trussProps)({
25300
+ /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { ...(0, import_runtime121.trussProps)({
25284
25301
  ...{
25285
25302
  position: "relative",
25286
25303
  zIndex: "z2",
@@ -25295,7 +25312,7 @@ function EnvironmentBanner(props) {
25295
25312
  /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(Tag, { text: badgeLabel, xss: {
25296
25313
  backgroundColor: "bgColor_FFFFFF90"
25297
25314
  }, ...tid.badge }),
25298
- /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("span", { ...(0, import_runtime120.trussProps)({
25315
+ /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("span", { ...(0, import_runtime121.trussProps)({
25299
25316
  ...{
25300
25317
  alignItems: "aic",
25301
25318
  gap: "gap1",
@@ -25316,7 +25333,7 @@ function EnvironmentBanner(props) {
25316
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 */ }) })
25317
25334
  ] })
25318
25335
  ] }),
25319
- 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)({
25320
25337
  display: "df",
25321
25338
  alignItems: "aic",
25322
25339
  gap: "gap2",
@@ -25405,16 +25422,16 @@ function getInvertedCorner(side, bgColorVar) {
25405
25422
  right: "right0"
25406
25423
  };
25407
25424
  const shadowXOffset = side === "left" ? -invertedCornerRadiusPx : invertedCornerRadiusPx;
25408
- 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)({
25409
25426
  ...shell,
25410
25427
  ...outerPosition
25411
- }), 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)({
25412
25429
  height: "h_200",
25413
25430
  width: "w_200",
25414
25431
  position: "absolute",
25415
25432
  borderRadius: "borderRadius_50",
25416
25433
  boxShadow: ["boxShadow_var", {
25417
- "--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}`)
25418
25435
  }],
25419
25436
  ...side === "right" ? {
25420
25437
  right: "right0"
@@ -25447,7 +25464,7 @@ var gridItemDataAttribute = "data-grid-item-span";
25447
25464
  var ResponsiveGridContext = (0, import_react135.createContext)(void 0);
25448
25465
 
25449
25466
  // src/components/Grid/ResponsiveGrid.tsx
25450
- var import_runtime121 = require("@homebound/truss/runtime");
25467
+ var import_runtime122 = require("@homebound/truss/runtime");
25451
25468
  var import_jsx_runtime197 = require("react/jsx-runtime");
25452
25469
  function ResponsiveGrid(props) {
25453
25470
  const {
@@ -25468,12 +25485,12 @@ function ResponsiveGrid(props) {
25468
25485
  gap,
25469
25486
  columns
25470
25487
  }), [minColumnWidth, gap, columns]);
25471
- 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 }) });
25472
25489
  }
25473
25490
 
25474
25491
  // src/components/Grid/ResponsiveGridItem.tsx
25475
25492
  var import_react_aria60 = require("react-aria");
25476
- var import_runtime122 = require("@homebound/truss/runtime");
25493
+ var import_runtime123 = require("@homebound/truss/runtime");
25477
25494
  var import_jsx_runtime198 = require("react/jsx-runtime");
25478
25495
  function ResponsiveGridItem(props) {
25479
25496
  const {
@@ -25486,12 +25503,12 @@ function ResponsiveGridItem(props) {
25486
25503
  } = useResponsiveGridItem({
25487
25504
  colSpan
25488
25505
  });
25489
- 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 });
25490
25507
  }
25491
25508
 
25492
25509
  // src/components/Grid/useResponsiveGrid.ts
25493
25510
  var import_react137 = require("react");
25494
- var import_runtime123 = require("@homebound/truss/runtime");
25511
+ var import_runtime124 = require("@homebound/truss/runtime");
25495
25512
  var __maybeInc24 = (inc) => {
25496
25513
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
25497
25514
  };
@@ -25510,11 +25527,11 @@ function useResponsiveGrid(props) {
25510
25527
  return {
25511
25528
  display: "dg",
25512
25529
  gridTemplateColumns: ["gtc_var", {
25513
- "--gridTemplateColumns": (0, import_runtime123.maybeCssVar)(gridTemplateColumns)
25530
+ "--gridTemplateColumns": (0, import_runtime124.maybeCssVar)(gridTemplateColumns)
25514
25531
  }],
25515
25532
  containerType: "ctis",
25516
25533
  gap: ["gap_var", {
25517
- "--gap": (0, import_runtime123.maybeCssVar)(__maybeInc24(gridGap))
25534
+ "--gap": (0, import_runtime124.maybeCssVar)(__maybeInc24(gridGap))
25518
25535
  }]
25519
25536
  };
25520
25537
  }, [minColumnWidth, gap, columns]);
@@ -25639,7 +25656,7 @@ function HbSpinnerProvider({
25639
25656
  // src/components/JumpLink.tsx
25640
25657
  var import_react140 = require("react");
25641
25658
  var import_react_aria61 = require("react-aria");
25642
- var import_runtime124 = require("@homebound/truss/runtime");
25659
+ var import_runtime125 = require("@homebound/truss/runtime");
25643
25660
  var import_jsx_runtime200 = require("react/jsx-runtime");
25644
25661
  function JumpLink(props) {
25645
25662
  const {
@@ -25676,13 +25693,13 @@ function JumpLink(props) {
25676
25693
  e.preventDefault();
25677
25694
  const target = document.getElementById(href.replace(/^#/, ""));
25678
25695
  if (target) {
25679
- window.scrollTo({
25680
- top: target.getBoundingClientRect().top + window.scrollY,
25681
- behavior: "smooth"
25696
+ target.scrollIntoView({
25697
+ behavior: "smooth",
25698
+ block: "start"
25682
25699
  });
25683
25700
  }
25684
25701
  }
25685
- 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)({
25686
25703
  ...jumpLinkStyles.baseStyles,
25687
25704
  ...active && jumpLinkStyles.activeStyles,
25688
25705
  ...isHovered && !disabled && jumpLinkStyles.hoverStyles,
@@ -25739,7 +25756,7 @@ var jumpLinkStyles = {
25739
25756
  // src/components/MaxLines.tsx
25740
25757
  var import_utils165 = require("@react-aria/utils");
25741
25758
  var import_react141 = require("react");
25742
- var import_runtime125 = require("@homebound/truss/runtime");
25759
+ var import_runtime126 = require("@homebound/truss/runtime");
25743
25760
  var import_jsx_runtime201 = require("react/jsx-runtime");
25744
25761
  function MaxLines({
25745
25762
  maxLines,
@@ -25764,10 +25781,10 @@ function MaxLines({
25764
25781
  onResize
25765
25782
  });
25766
25783
  return /* @__PURE__ */ (0, import_jsx_runtime201.jsxs)("div", { children: [
25767
- /* @__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)({
25768
25785
  ...!expanded ? {
25769
25786
  WebkitLineClamp: ["lineClamp_var", {
25770
- "--WebkitLineClamp": (0, import_runtime125.maybeCssVar)(maxLines)
25787
+ "--WebkitLineClamp": (0, import_runtime126.maybeCssVar)(maxLines)
25771
25788
  }],
25772
25789
  overflow: "oh",
25773
25790
  display: "d_negwebkit_box",
@@ -25790,7 +25807,7 @@ var import_react144 = require("react");
25790
25807
  // src/components/AppNav/AppNavGroupTrigger.tsx
25791
25808
  var import_react142 = require("react");
25792
25809
  var import_react_aria62 = require("react-aria");
25793
- var import_runtime126 = require("@homebound/truss/runtime");
25810
+ var import_runtime127 = require("@homebound/truss/runtime");
25794
25811
  var import_jsx_runtime202 = require("react/jsx-runtime");
25795
25812
  function AppNavGroupTrigger(props) {
25796
25813
  const {
@@ -25827,7 +25844,7 @@ function AppNavGroupTrigger(props) {
25827
25844
  ref,
25828
25845
  "aria-expanded": expanded,
25829
25846
  "aria-controls": navGroupId,
25830
- ...(0, import_runtime126.mergeProps)(navLink, void 0, {
25847
+ ...(0, import_runtime127.mergeProps)(navLink, void 0, {
25831
25848
  ...baseStyles4,
25832
25849
  ...isFocusVisible && focusRingStyles2,
25833
25850
  ...isHovered && hoverStyles4,
@@ -25841,7 +25858,7 @@ function AppNavGroupTrigger(props) {
25841
25858
  })
25842
25859
  }), children: [
25843
25860
  label,
25844
- /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ...(0, import_runtime126.trussProps)({
25861
+ /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ...(0, import_runtime127.trussProps)({
25845
25862
  ...{
25846
25863
  display: "df",
25847
25864
  alignItems: "aic",
@@ -25994,7 +26011,7 @@ function useAppNavGroupExpanded(linkGroup) {
25994
26011
  }
25995
26012
 
25996
26013
  // src/components/AppNav/AppNavGroup.tsx
25997
- var import_runtime127 = require("@homebound/truss/runtime");
26014
+ var import_runtime128 = require("@homebound/truss/runtime");
25998
26015
  var import_jsx_runtime203 = require("react/jsx-runtime");
25999
26016
  var __maybeInc25 = (inc) => {
26000
26017
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -26039,11 +26056,11 @@ function AppNavGroupDisclosure(props) {
26039
26056
  });
26040
26057
  return /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("div", { className: "df fdc", ...tid, children: [
26041
26058
  /* @__PURE__ */ (0, import_jsx_runtime203.jsx)(AppNavGroupTrigger, { label: linkGroup.label, navGroupId, expanded, active: linkGroupHasActiveLink(linkGroup), onClick: onToggle, ...tid }),
26042
- /* @__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)({
26043
26060
  overflow: "oh",
26044
26061
  transition: "transitionHeight",
26045
26062
  height: ["h_var", {
26046
- "--height": (0, import_runtime127.maybeCssVar)(__maybeInc25(contentHeight))
26063
+ "--height": (0, import_runtime128.maybeCssVar)(__maybeInc25(contentHeight))
26047
26064
  }]
26048
26065
  }), ...tid.panel, ...!expanded ? {
26049
26066
  inert: "true"
@@ -26073,7 +26090,7 @@ function AppNavGroupMenu({
26073
26090
  }
26074
26091
 
26075
26092
  // src/components/AppNav/AppNavSectionView.tsx
26076
- var import_runtime128 = require("@homebound/truss/runtime");
26093
+ var import_runtime129 = require("@homebound/truss/runtime");
26077
26094
  var import_jsx_runtime205 = require("react/jsx-runtime");
26078
26095
  function AppNavSectionView(props) {
26079
26096
  const {
@@ -26100,7 +26117,7 @@ function AppNavSectionView(props) {
26100
26117
  "--borderColor": "var(--b-surface-separator)"
26101
26118
  }]
26102
26119
  };
26103
- 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)({
26104
26121
  ...{
26105
26122
  display: "df",
26106
26123
  flexDirection: "fdc",
@@ -26108,7 +26125,7 @@ function AppNavSectionView(props) {
26108
26125
  },
26109
26126
  ...showDivider ? dividerStyles : {}
26110
26127
  }), ...tid, children: [
26111
- 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)({
26112
26129
  fontWeight: "fw6",
26113
26130
  fontSize: "fz_10px",
26114
26131
  lineHeight: "lh_14px",
@@ -26209,7 +26226,7 @@ function useRegisterMobileSubNav(content) {
26209
26226
  }
26210
26227
 
26211
26228
  // src/components/Navbar/NavbarMobileMenu.tsx
26212
- var import_runtime129 = require("@homebound/truss/runtime");
26229
+ var import_runtime130 = require("@homebound/truss/runtime");
26213
26230
  var import_jsx_runtime208 = require("react/jsx-runtime");
26214
26231
  function NavbarMobileMenu(props) {
26215
26232
  const {
@@ -26260,13 +26277,13 @@ function NavbarMobileDrawer({
26260
26277
  };
26261
26278
  const showSubLevel = mobileSubNav != null && level === "sub";
26262
26279
  return /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)(import_jsx_runtime208.Fragment, { children: [
26263
- /* @__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, {
26264
26281
  position: "fixed",
26265
26282
  right: "right0",
26266
26283
  bottom: "bottom0",
26267
26284
  left: "left0",
26268
26285
  zIndex: ["z_var", {
26269
- "--zIndex": (0, import_runtime129.maybeCssVar)(zIndices.navbarMobileMenuScrim)
26286
+ "--zIndex": (0, import_runtime130.maybeCssVar)(zIndices.navbarMobileMenuScrim)
26270
26287
  }],
26271
26288
  backgroundColor: ["bgColor_var", {
26272
26289
  "--backgroundColor": "var(--b-scrim)"
@@ -26281,7 +26298,7 @@ function NavbarMobileDrawer({
26281
26298
  ease: "linear",
26282
26299
  duration: 0.2
26283
26300
  }, onClick: onClose, ...tid.mobileMenuScrim }, "navbarMobileMenuScrim"),
26284
- /* @__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, {
26285
26302
  position: "fixed",
26286
26303
  bottom: "bottom0",
26287
26304
  left: "left0",
@@ -26291,7 +26308,7 @@ function NavbarMobileDrawer({
26291
26308
  width: "w_260px",
26292
26309
  overflow: "oh",
26293
26310
  zIndex: ["z_var", {
26294
- "--zIndex": (0, import_runtime129.maybeCssVar)(zIndices.navbarMobileMenu)
26311
+ "--zIndex": (0, import_runtime130.maybeCssVar)(zIndices.navbarMobileMenu)
26295
26312
  }],
26296
26313
  backgroundColor: ["bgColor_var", {
26297
26314
  "--backgroundColor": "var(--b-surface)"
@@ -26306,7 +26323,7 @@ function NavbarMobileDrawer({
26306
26323
  ease: "linear",
26307
26324
  duration: 0.2
26308
26325
  }, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
26309
- /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)("div", { ...(0, import_runtime129.trussProps)({
26326
+ /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)("div", { ...(0, import_runtime130.trussProps)({
26310
26327
  ...{
26311
26328
  display: "df",
26312
26329
  alignItems: "aic",
@@ -26328,7 +26345,7 @@ function NavbarMobileDrawer({
26328
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)(
26329
26346
  import_framer_motion6.motion.nav,
26330
26347
  {
26331
- ...(0, import_runtime129.trussProps)({
26348
+ ...(0, import_runtime130.trussProps)({
26332
26349
  ...{
26333
26350
  position: "absolute",
26334
26351
  top: "top0",
@@ -26376,7 +26393,7 @@ function NavbarMobileDrawer({
26376
26393
  }
26377
26394
 
26378
26395
  // src/components/Navbar/Navbar.tsx
26379
- var import_runtime130 = require("@homebound/truss/runtime");
26396
+ var import_runtime131 = require("@homebound/truss/runtime");
26380
26397
  var import_jsx_runtime209 = require("react/jsx-runtime");
26381
26398
  function Navbar(props) {
26382
26399
  const {
@@ -26396,7 +26413,7 @@ function Navbar(props) {
26396
26413
  overflows
26397
26414
  } = useContentOverflow(!sm);
26398
26415
  const showMobile = sm || overflows;
26399
- 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)({
26400
26417
  ...{
26401
26418
  backgroundColor: ["bgColor_var", {
26402
26419
  "--backgroundColor": "var(--b-surface-raised)"
@@ -26415,7 +26432,7 @@ function Navbar(props) {
26415
26432
  /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("div", { className: "df aic gap3 fg1 mw0", children: [
26416
26433
  /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("div", { className: "df aic fs0 gap2", children: [
26417
26434
  showMobile && /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(NavbarMobileMenu, { items, ...tid }),
26418
- /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ...(0, import_runtime130.trussProps)({
26435
+ /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ...(0, import_runtime131.trussProps)({
26419
26436
  flexShrink: "fs0",
26420
26437
  ...hideBrandOnMobile && showMobile ? {
26421
26438
  display: "dn"
@@ -26424,7 +26441,7 @@ function Navbar(props) {
26424
26441
  ] }),
26425
26442
  !sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
26426
26443
  // can expand again as space frees up.
26427
- /* @__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)({
26428
26445
  display: "df",
26429
26446
  alignItems: "aic",
26430
26447
  flexGrow: "fg1",
@@ -26454,7 +26471,7 @@ function NavbarUserMenu({
26454
26471
  }
26455
26472
 
26456
26473
  // src/components/Pagination.tsx
26457
- var import_runtime131 = require("@homebound/truss/runtime");
26474
+ var import_runtime132 = require("@homebound/truss/runtime");
26458
26475
  var import_jsx_runtime210 = require("react/jsx-runtime");
26459
26476
  var defaultPage = {
26460
26477
  offset: 0,
@@ -26487,7 +26504,7 @@ function Pagination(props) {
26487
26504
  }
26488
26505
  }
26489
26506
  const tid = useTestIds(props, "pagination");
26490
- 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)({
26491
26508
  display: "df",
26492
26509
  borderColor: ["bc_var", {
26493
26510
  "--borderColor": "var(--b-surface-separator)"
@@ -26545,7 +26562,7 @@ function toPageNumberSize(page) {
26545
26562
  // src/components/ScrollShadows.tsx
26546
26563
  var import_utils174 = require("@react-aria/utils");
26547
26564
  var import_react147 = require("react");
26548
- var import_runtime132 = require("@homebound/truss/runtime");
26565
+ var import_runtime133 = require("@homebound/truss/runtime");
26549
26566
  var import_jsx_runtime211 = require("react/jsx-runtime");
26550
26567
  function ScrollShadows(props) {
26551
26568
  const {
@@ -26570,7 +26587,7 @@ function ScrollShadows(props) {
26570
26587
  const commonStyles = {
26571
26588
  position: "absolute",
26572
26589
  zIndex: ["z_var", {
26573
- "--zIndex": (0, import_runtime132.maybeCssVar)(zIndices.scrollShadow)
26590
+ "--zIndex": (0, import_runtime133.maybeCssVar)(zIndices.scrollShadow)
26574
26591
  }],
26575
26592
  pointerEvents: "pointerEvents_none"
26576
26593
  };
@@ -26603,7 +26620,7 @@ function ScrollShadows(props) {
26603
26620
  ...startShadowStyles2,
26604
26621
  ...{
26605
26622
  background: ["background_var", {
26606
- "--background": (0, import_runtime132.maybeCssVar)(startGradient)
26623
+ "--background": (0, import_runtime133.maybeCssVar)(startGradient)
26607
26624
  }]
26608
26625
  }
26609
26626
  }, {
@@ -26611,7 +26628,7 @@ function ScrollShadows(props) {
26611
26628
  ...endShadowStyles2,
26612
26629
  ...{
26613
26630
  background: ["background_var", {
26614
- "--background": (0, import_runtime132.maybeCssVar)(endGradient)
26631
+ "--background": (0, import_runtime133.maybeCssVar)(endGradient)
26615
26632
  }]
26616
26633
  }
26617
26634
  }];
@@ -26636,10 +26653,10 @@ function ScrollShadows(props) {
26636
26653
  ref: scrollRef,
26637
26654
  onResize
26638
26655
  });
26639
- 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)({
26640
26657
  display: "df",
26641
26658
  flexDirection: ["fd_var", {
26642
- "--flexDirection": (0, import_runtime132.maybeCssVar)(!horizontal ? "column" : "row")
26659
+ "--flexDirection": (0, import_runtime133.maybeCssVar)(!horizontal ? "column" : "row")
26643
26660
  }],
26644
26661
  position: "relative",
26645
26662
  overflow: "oh",
@@ -26652,23 +26669,23 @@ function ScrollShadows(props) {
26652
26669
  width: width2
26653
26670
  }
26654
26671
  }), ...tid, children: [
26655
- /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.trussProps)({
26672
+ /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime133.trussProps)({
26656
26673
  ...startShadowStyles,
26657
26674
  ...{
26658
26675
  opacity: ["o_var", {
26659
- "--opacity": (0, import_runtime132.maybeCssVar)(showStartShadow ? 1 : 0)
26676
+ "--opacity": (0, import_runtime133.maybeCssVar)(showStartShadow ? 1 : 0)
26660
26677
  }]
26661
26678
  }
26662
26679
  }), "data-chromatic": "ignore" }),
26663
- /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.trussProps)({
26680
+ /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime133.trussProps)({
26664
26681
  ...endShadowStyles,
26665
26682
  ...{
26666
26683
  opacity: ["o_var", {
26667
- "--opacity": (0, import_runtime132.maybeCssVar)(showEndShadow ? 1 : 0)
26684
+ "--opacity": (0, import_runtime133.maybeCssVar)(showEndShadow ? 1 : 0)
26668
26685
  }]
26669
26686
  }
26670
26687
  }), "data-chromatic": "ignore" }),
26671
- /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.trussProps)({
26688
+ /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime133.trussProps)({
26672
26689
  ...xss,
26673
26690
  ...{
26674
26691
  overflow: "oa",
@@ -26740,7 +26757,7 @@ function useHasSideNavLayoutProvider() {
26740
26757
  }
26741
26758
 
26742
26759
  // src/components/SideNav/SideNav.tsx
26743
- var import_runtime133 = require("@homebound/truss/runtime");
26760
+ var import_runtime134 = require("@homebound/truss/runtime");
26744
26761
  var import_jsx_runtime213 = require("react/jsx-runtime");
26745
26762
  function SideNav(props) {
26746
26763
  const {
@@ -26755,7 +26772,7 @@ function SideNav(props) {
26755
26772
  const panelCollapsed = navState === "collapse";
26756
26773
  const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
26757
26774
  return /* @__PURE__ */ (0, import_jsx_runtime213.jsxs)("nav", { className: "df fdc h100 fs0", ...tid, children: [
26758
- 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)({
26759
26776
  flexShrink: "fs0",
26760
26777
  paddingLeft: "pl2",
26761
26778
  paddingRight: "pr2",
@@ -26766,7 +26783,7 @@ function SideNav(props) {
26766
26783
  paddingBottom: "pb4"
26767
26784
  } : {}
26768
26785
  }), ...tid.top, children: top }),
26769
- /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime133.trussProps)({
26786
+ /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime134.trussProps)({
26770
26787
  flexGrow: "fg1",
26771
26788
  overflowY: "oya",
26772
26789
  display: "df",
@@ -26779,7 +26796,7 @@ function SideNav(props) {
26779
26796
  paddingTop: "pt5"
26780
26797
  } : {}
26781
26798
  }), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(AppNavItems, { items, panelCollapsed }) }),
26782
- 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)({
26783
26800
  flexShrink: "fs0",
26784
26801
  paddingLeft: "pl2",
26785
26802
  paddingRight: "pr2",
@@ -26856,7 +26873,7 @@ var snackbarId = 1;
26856
26873
  // src/components/Stepper.tsx
26857
26874
  var import_react150 = require("react");
26858
26875
  var import_react_aria64 = require("react-aria");
26859
- var import_runtime134 = require("@homebound/truss/runtime");
26876
+ var import_runtime135 = require("@homebound/truss/runtime");
26860
26877
  var import_jsx_runtime214 = require("react/jsx-runtime");
26861
26878
  var import_react151 = require("react");
26862
26879
  var __maybeInc26 = (inc) => {
@@ -26877,7 +26894,7 @@ function Stepper(props) {
26877
26894
  const minStepWidth = 100;
26878
26895
  const gap = 8;
26879
26896
  return /* @__PURE__ */ (0, import_jsx_runtime214.jsxs)("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
26880
- /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("ol", { ...(0, import_runtime134.trussProps)({
26897
+ /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("ol", { ...(0, import_runtime135.trussProps)({
26881
26898
  padding: "p_0",
26882
26899
  margin: "m_0",
26883
26900
  listStyle: "lis_none",
@@ -26887,7 +26904,7 @@ function Stepper(props) {
26887
26904
  }]
26888
26905
  }), children: steps.map((step) => {
26889
26906
  const isCurrent = currentStep === step.value;
26890
- return /* @__PURE__ */ (0, import_react151.createElement)("li", { ...(0, import_runtime134.trussProps)({
26907
+ return /* @__PURE__ */ (0, import_react151.createElement)("li", { ...(0, import_runtime135.trussProps)({
26891
26908
  display: "df",
26892
26909
  flexGrow: "fg1",
26893
26910
  flexDirection: "fdc",
@@ -26899,7 +26916,7 @@ function Stepper(props) {
26899
26916
  }]
26900
26917
  }), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
26901
26918
  }) }),
26902
- /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime134.trussProps)({
26919
+ /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime135.trussProps)({
26903
26920
  marginTop: "mt1",
26904
26921
  backgroundColor: ["bgColor_var", {
26905
26922
  "--backgroundColor": "var(--b-field-border-default)"
@@ -26912,14 +26929,14 @@ function Stepper(props) {
26912
26929
  "--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
26913
26930
  }],
26914
26931
  width: "w100"
26915
- }), 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)({
26916
26933
  backgroundColor: ["bgColor_var", {
26917
26934
  "--backgroundColor": "var(--b-primary)"
26918
26935
  }],
26919
26936
  transition: "transition_width_200ms",
26920
26937
  height: "h100",
26921
26938
  width: ["w_var", {
26922
- "--width": (0, import_runtime134.maybeCssVar)(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26939
+ "--width": (0, import_runtime135.maybeCssVar)(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26923
26940
  }]
26924
26941
  }) }) })
26925
26942
  ] });
@@ -26955,7 +26972,7 @@ function StepButton(props) {
26955
26972
  boxShadow: "bshFocus"
26956
26973
  };
26957
26974
  const tid = useTestIds(props, "stepButton");
26958
- 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)({
26959
26976
  ...{
26960
26977
  fontWeight: "fw6",
26961
26978
  fontSize: "fz_14px",
@@ -27032,7 +27049,7 @@ function StepIcon({
27032
27049
  if (state === "complete") {
27033
27050
  return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(Icon, { icon: "check" });
27034
27051
  }
27035
- 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)({
27036
27053
  width: "w_10px",
27037
27054
  height: "h_10px",
27038
27055
  borderStyle: "bss",
@@ -27048,7 +27065,7 @@ function StepIcon({
27048
27065
  // src/components/StepperTabs/StepperTab.tsx
27049
27066
  var import_react152 = require("react");
27050
27067
  var import_react_aria65 = require("react-aria");
27051
- var import_runtime135 = require("@homebound/truss/runtime");
27068
+ var import_runtime136 = require("@homebound/truss/runtime");
27052
27069
  var import_jsx_runtime215 = require("react/jsx-runtime");
27053
27070
  function StepperTab(props) {
27054
27071
  const {
@@ -27080,7 +27097,7 @@ function StepperTab(props) {
27080
27097
  const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
27081
27098
  const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
27082
27099
  const tid = useTestIds(props, "stepperTab");
27083
- 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)({
27084
27101
  ...stepperTabStyles.baseStyles,
27085
27102
  ...getStateStyles(active, completed),
27086
27103
  ...isHovered && !disabled ? stepperTabStyles.hoverStyles : {},
@@ -27091,7 +27108,7 @@ function StepperTab(props) {
27091
27108
  !collapsed && /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)(import_jsx_runtime215.Fragment, { children: [
27092
27109
  /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)("span", { className: "dg jic mw0", children: [
27093
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 }),
27094
- /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime135.trussProps)({
27111
+ /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime136.trussProps)({
27095
27112
  gridArea: "gridArea_1_1",
27096
27113
  overflow: "oh",
27097
27114
  display: "d_negwebkit_box",
@@ -27106,7 +27123,7 @@ function StepperTab(props) {
27106
27123
  } : {}
27107
27124
  }), children: label })
27108
27125
  ] }),
27109
- /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime135.trussProps)({
27126
+ /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime136.trussProps)({
27110
27127
  flexShrink: "fs0",
27111
27128
  marginLeft: "ml1",
27112
27129
  transition: "transitionAll",
@@ -27118,7 +27135,7 @@ function StepperTab(props) {
27118
27135
  } : {}
27119
27136
  }), children: /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(Icon, { icon: "check", inc: 2.5, ...tid.check }) })
27120
27137
  ] }),
27121
- /* @__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 }),
27122
27139
  /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(import_react_aria65.VisuallyHidden, { children: completed ? "Complete" : "Not Complete" })
27123
27140
  ] });
27124
27141
  }
@@ -27200,7 +27217,7 @@ var stepperTabStyles = {
27200
27217
  };
27201
27218
 
27202
27219
  // src/components/StepperTabs/StepperTabs.tsx
27203
- var import_runtime136 = require("@homebound/truss/runtime");
27220
+ var import_runtime137 = require("@homebound/truss/runtime");
27204
27221
  var import_jsx_runtime216 = require("react/jsx-runtime");
27205
27222
  var import_react153 = require("react");
27206
27223
  function StepperTabs(props) {
@@ -27217,7 +27234,7 @@ function StepperTabs(props) {
27217
27234
  const collapsed = isMobile || !!forceCollapsed;
27218
27235
  const capWidth = steps.length <= 3;
27219
27236
  const currentStepIndex = Math.max(0, steps.findIndex((step) => step.value === currentStep));
27220
- 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)({
27221
27238
  padding: "p_0",
27222
27239
  margin: "m_0",
27223
27240
  listStyle: "lis_none",
@@ -27232,7 +27249,7 @@ function StepperTabs(props) {
27232
27249
  }), children: steps.map((step, idx) => {
27233
27250
  const isCurrent = idx === currentStepIndex;
27234
27251
  const isCompleted = idx < currentStepIndex;
27235
- return /* @__PURE__ */ (0, import_react153.createElement)("li", { ...(0, import_runtime136.trussProps)({
27252
+ return /* @__PURE__ */ (0, import_react153.createElement)("li", { ...(0, import_runtime137.trussProps)({
27236
27253
  display: "df",
27237
27254
  flexGrow: "fg1",
27238
27255
  flexBasis: "fb_0",
@@ -27252,7 +27269,7 @@ var gapPx = 6;
27252
27269
 
27253
27270
  // src/components/SuperDrawer/components/SuperDrawerHeader.tsx
27254
27271
  var import_react_dom8 = require("react-dom");
27255
- var import_runtime137 = require("@homebound/truss/runtime");
27272
+ var import_runtime138 = require("@homebound/truss/runtime");
27256
27273
  var import_jsx_runtime217 = require("react/jsx-runtime");
27257
27274
  function SuperDrawerHeader(props) {
27258
27275
  const {
@@ -27278,7 +27295,7 @@ function SuperDrawerHeader(props) {
27278
27295
  ] }),
27279
27296
  props.right && /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { className: "fs0", children: props.right })
27280
27297
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { className: "fg1", children: props.children }),
27281
- !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)({
27282
27299
  flexShrink: "fs0",
27283
27300
  ...isDetail ? {
27284
27301
  visibility: "vh"
@@ -27430,7 +27447,7 @@ function canClose(canCloseCheck) {
27430
27447
  }
27431
27448
 
27432
27449
  // src/components/SuperDrawer/SuperDrawerContent.tsx
27433
- var import_runtime138 = require("@homebound/truss/runtime");
27450
+ var import_runtime139 = require("@homebound/truss/runtime");
27434
27451
  var import_jsx_runtime219 = require("react/jsx-runtime");
27435
27452
  var SuperDrawerContent = ({
27436
27453
  children,
@@ -27483,7 +27500,7 @@ var SuperDrawerContent = ({
27483
27500
  }, className: "pt2", children: children2 })
27484
27501
  ] }, "content");
27485
27502
  } else {
27486
- 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, {
27487
27504
  overflow: "auto"
27488
27505
  }, {
27489
27506
  paddingTop: "pt3",
@@ -27496,7 +27513,7 @@ var SuperDrawerContent = ({
27496
27513
  }
27497
27514
  return /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)(import_jsx_runtime219.Fragment, { children: [
27498
27515
  wrapWithMotionAndMaybeBack(children),
27499
- 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)({
27500
27517
  borderTopStyle: "bts_solid",
27501
27518
  borderTopWidth: "btw_1px",
27502
27519
  borderColor: ["bc_var", {
@@ -27569,7 +27586,7 @@ var import_react155 = require("react");
27569
27586
  var import_react_aria66 = require("react-aria");
27570
27587
  var import_react_router = require("react-router");
27571
27588
  var import_react_router_dom8 = require("react-router-dom");
27572
- var import_runtime139 = require("@homebound/truss/runtime");
27589
+ var import_runtime140 = require("@homebound/truss/runtime");
27573
27590
  var import_jsx_runtime220 = require("react/jsx-runtime");
27574
27591
  function TabsWithContent(props) {
27575
27592
  const styles = hideTabs(props) ? {} : {
@@ -27602,7 +27619,7 @@ function TabContent(props) {
27602
27619
  return (
27603
27620
  // Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
27604
27621
  // Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
27605
- /* @__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() }) })
27606
27623
  );
27607
27624
  }
27608
27625
  function Tabs(props) {
@@ -27644,7 +27661,7 @@ function Tabs(props) {
27644
27661
  setActive(selected);
27645
27662
  }
27646
27663
  }
27647
- 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)({
27648
27665
  ...{
27649
27666
  display: "df",
27650
27667
  alignItems: "aic",
@@ -27710,7 +27727,7 @@ function TabImpl(props) {
27710
27727
  role: "tab",
27711
27728
  tabIndex: active ? 0 : -1,
27712
27729
  ...others,
27713
- ...(0, import_runtime139.trussProps)({
27730
+ ...(0, import_runtime140.trussProps)({
27714
27731
  ...baseStyles4,
27715
27732
  ...active && activeStyles3,
27716
27733
  ...isDisabled && disabledStyles3,
@@ -27747,7 +27764,7 @@ function getTabStyles() {
27747
27764
  const borderBottomStyles = {
27748
27765
  borderBottomStyle: "bbs_solid",
27749
27766
  borderBottomWidth: ["borderBottomWidth_var", {
27750
- "--borderBottomWidth": (0, import_runtime139.maybeCssVar)(`${borderBottomWidthPx}px`)
27767
+ "--borderBottomWidth": (0, import_runtime140.maybeCssVar)(`${borderBottomWidthPx}px`)
27751
27768
  }],
27752
27769
  paddingBottom: ["pb_var", {
27753
27770
  "--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
@@ -27867,7 +27884,7 @@ function useToast() {
27867
27884
  }
27868
27885
 
27869
27886
  // src/layouts/SideNavLayout/SideNavLayout.tsx
27870
- var import_runtime140 = require("@homebound/truss/runtime");
27887
+ var import_runtime141 = require("@homebound/truss/runtime");
27871
27888
  var import_jsx_runtime222 = require("react/jsx-runtime");
27872
27889
  var __maybeInc27 = (inc) => {
27873
27890
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27898,7 +27915,7 @@ function SideNavLayoutContent(props) {
27898
27915
  const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
27899
27916
  const navTop = bannerAndNavbarChromeTop();
27900
27917
  const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
27901
- 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)({
27902
27919
  ...{
27903
27920
  display: "df",
27904
27921
  flexDirection: "fdc",
@@ -27922,14 +27939,14 @@ function SideNavLayoutContent(props) {
27922
27939
  position: "sticky",
27923
27940
  left: "left0",
27924
27941
  zIndex: ["z_var", {
27925
- "--zIndex": (0, import_runtime140.maybeCssVar)(zIndices.sideNav)
27942
+ "--zIndex": (0, import_runtime141.maybeCssVar)(zIndices.sideNav)
27926
27943
  }],
27927
27944
  top: ["top_var", {
27928
- "--top": (0, import_runtime140.maybeCssVar)(__maybeInc27(navTop))
27945
+ "--top": (0, import_runtime141.maybeCssVar)(__maybeInc27(navTop))
27929
27946
  }],
27930
27947
  alignSelf: "asfs",
27931
27948
  height: ["h_var", {
27932
- "--height": (0, import_runtime140.maybeCssVar)(__maybeInc27(railViewportHeight))
27949
+ "--height": (0, import_runtime141.maybeCssVar)(__maybeInc27(railViewportHeight))
27933
27950
  }],
27934
27951
  width: ["w_var", {
27935
27952
  "--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
@@ -27939,11 +27956,11 @@ function SideNavLayoutContent(props) {
27939
27956
  position: "fixed",
27940
27957
  left: "left0",
27941
27958
  top: ["top_var", {
27942
- "--top": (0, import_runtime140.maybeCssVar)(__maybeInc27(navTop))
27959
+ "--top": (0, import_runtime141.maybeCssVar)(__maybeInc27(navTop))
27943
27960
  }],
27944
27961
  bottom: "bottom0",
27945
27962
  zIndex: ["z_var", {
27946
- "--zIndex": (0, import_runtime140.maybeCssVar)(zIndices.sideNav)
27963
+ "--zIndex": (0, import_runtime141.maybeCssVar)(zIndices.sideNav)
27947
27964
  }]
27948
27965
  },
27949
27966
  ...collapsed ? {
@@ -27958,7 +27975,7 @@ function SideNavLayoutContent(props) {
27958
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 }) }),
27959
27976
  /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(SideNav, { ...sideNav }) })
27960
27977
  ] });
27961
- 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, {
27962
27979
  [beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
27963
27980
  }, {
27964
27981
  display: "df",
@@ -27966,7 +27983,7 @@ function SideNavLayoutContent(props) {
27966
27983
  width: "w100"
27967
27984
  }), ...tid, children: [
27968
27985
  contrastRail ? /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(ContrastScope, { children: rail }) : rail,
27969
- /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ...(0, import_runtime140.trussProps)({
27986
+ /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ...(0, import_runtime141.trussProps)({
27970
27987
  display: "df",
27971
27988
  flexDirection: "fdc",
27972
27989
  flexGrow: "fg1",
@@ -27982,7 +27999,7 @@ function SideNavLayoutContent(props) {
27982
27999
  }
27983
28000
 
27984
28001
  // src/layouts/CenteredLayout/CenteredLayout.tsx
27985
- var import_runtime141 = require("@homebound/truss/runtime");
28002
+ var import_runtime142 = require("@homebound/truss/runtime");
27986
28003
  var import_jsx_runtime223 = require("react/jsx-runtime");
27987
28004
  var __maybeInc28 = (inc) => {
27988
28005
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27996,7 +28013,7 @@ function CenteredLayout(props) {
27996
28013
  const {
27997
28014
  mdAndUp
27998
28015
  } = useBreakpoint();
27999
- 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, {
28000
28017
  // layoutContainer descendants (e.g. ContentHeader) read this to inset sticky horizontal chrome within the shell padding.
28001
28018
  [beamLayoutContentPaddingXVar]: mdAndUp ? mdAndUpContentPaddingX : smContentPaddingX
28002
28019
  }, {
@@ -28024,15 +28041,15 @@ var smContentPaddingX = "12px";
28024
28041
  var mdAndUpContentPaddingX = pageContentPaddingXValue;
28025
28042
  var centeredPaddingX = {
28026
28043
  paddingLeft: ["px_var mdandup_pl3", {
28027
- "--paddingLeft": (0, import_runtime141.maybeCssVar)(__maybeInc28(smContentPaddingX))
28044
+ "--paddingLeft": (0, import_runtime142.maybeCssVar)(__maybeInc28(smContentPaddingX))
28028
28045
  }],
28029
28046
  paddingRight: ["px_var mdandup_pr3", {
28030
- "--paddingRight": (0, import_runtime141.maybeCssVar)(__maybeInc28(smContentPaddingX))
28047
+ "--paddingRight": (0, import_runtime142.maybeCssVar)(__maybeInc28(smContentPaddingX))
28031
28048
  }]
28032
28049
  };
28033
28050
 
28034
28051
  // src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
28035
- var import_runtime142 = require("@homebound/truss/runtime");
28052
+ var import_runtime143 = require("@homebound/truss/runtime");
28036
28053
  var import_jsx_runtime224 = require("react/jsx-runtime");
28037
28054
  var __maybeInc29 = (inc) => {
28038
28055
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -28049,26 +28066,26 @@ function EnvironmentBannerLayout(props) {
28049
28066
  [beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
28050
28067
  };
28051
28068
  const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
28052
- 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, {
28053
28070
  display: "df",
28054
28071
  flexDirection: "fdc",
28055
28072
  width: "wfc",
28056
28073
  minWidth: "mw100"
28057
28074
  }), ...tid, children: [
28058
- 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, {
28059
28076
  height: environmentBannerSizePx
28060
28077
  }, {
28061
28078
  flexShrink: "fs0",
28062
28079
  width: "w100"
28063
- }), 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)({
28064
28081
  position: "fixed",
28065
28082
  top: "top0",
28066
28083
  left: "left0",
28067
28084
  zIndex: ["z_var", {
28068
- "--zIndex": (0, import_runtime142.maybeCssVar)(zIndices.environmentBanner)
28085
+ "--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.environmentBanner)
28069
28086
  }],
28070
28087
  width: ["w_var", {
28071
- "--width": (0, import_runtime142.maybeCssVar)(__maybeInc29(innerWidth))
28088
+ "--width": (0, import_runtime143.maybeCssVar)(__maybeInc29(innerWidth))
28072
28089
  }]
28073
28090
  }), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
28074
28091
  children
@@ -28076,7 +28093,7 @@ function EnvironmentBannerLayout(props) {
28076
28093
  }
28077
28094
 
28078
28095
  // src/layouts/FormSectionLayout/FormSectionLayout.tsx
28079
- var import_runtime143 = require("@homebound/truss/runtime");
28096
+ var import_runtime144 = require("@homebound/truss/runtime");
28080
28097
  var import_jsx_runtime225 = require("react/jsx-runtime");
28081
28098
  function FormSectionLayout(props) {
28082
28099
  const {
@@ -28089,7 +28106,7 @@ function FormSectionLayout(props) {
28089
28106
  aiMode = false
28090
28107
  } = props;
28091
28108
  const tid = useTestIds(props, "formSectionLayout");
28092
- const content = /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)("div", { ...(0, import_runtime143.trussProps)({
28109
+ const content = /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)("div", { ...(0, import_runtime144.trussProps)({
28093
28110
  display: "df",
28094
28111
  flexDirection: "fdc",
28095
28112
  gap: "gap8",
@@ -28111,7 +28128,7 @@ function FormSectionLayout(props) {
28111
28128
 
28112
28129
  // src/layouts/NavbarLayout/NavbarLayout.tsx
28113
28130
  var import_react160 = require("react");
28114
- var import_runtime144 = require("@homebound/truss/runtime");
28131
+ var import_runtime145 = require("@homebound/truss/runtime");
28115
28132
 
28116
28133
  // src/layouts/useAutoHideOnScroll.ts
28117
28134
  var import_react157 = require("react");
@@ -28261,10 +28278,10 @@ function NavbarLayout(props) {
28261
28278
  position: "sticky",
28262
28279
  left: "left0",
28263
28280
  zIndex: ["z_var", {
28264
- "--zIndex": (0, import_runtime144.maybeCssVar)(zIndices.navbar)
28281
+ "--zIndex": (0, import_runtime145.maybeCssVar)(zIndices.navbar)
28265
28282
  }],
28266
28283
  width: ["w_var", {
28267
- "--width": (0, import_runtime144.maybeCssVar)(__maybeInc30(innerWidth))
28284
+ "--width": (0, import_runtime145.maybeCssVar)(__maybeInc30(innerWidth))
28268
28285
  }]
28269
28286
  }
28270
28287
  ) : (
@@ -28273,10 +28290,10 @@ function NavbarLayout(props) {
28273
28290
  position: "fixed",
28274
28291
  left: "left0",
28275
28292
  zIndex: ["z_var", {
28276
- "--zIndex": (0, import_runtime144.maybeCssVar)(zIndices.navbar)
28293
+ "--zIndex": (0, import_runtime145.maybeCssVar)(zIndices.navbar)
28277
28294
  }],
28278
28295
  width: ["w_var", {
28279
- "--width": (0, import_runtime144.maybeCssVar)(__maybeInc30(innerWidth))
28296
+ "--width": (0, import_runtime145.maybeCssVar)(__maybeInc30(innerWidth))
28280
28297
  }],
28281
28298
  transition: "transitionTop"
28282
28299
  }
@@ -28286,18 +28303,18 @@ function NavbarLayout(props) {
28286
28303
  top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
28287
28304
  } : void 0;
28288
28305
  const navbarEl = (0, import_react160.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(Navbar, { ...navbar }), [navbar]);
28289
- 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_runtime144.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, {
28290
28307
  display: "df",
28291
28308
  flexDirection: "fdc",
28292
28309
  width: "wfc",
28293
28310
  minWidth: "mw100"
28294
28311
  }), ...tid, children: [
28295
- /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: spacerRef, ...(0, import_runtime144.mergeProps)(void 0, {
28312
+ /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: spacerRef, ...(0, import_runtime145.mergeProps)(void 0, {
28296
28313
  height: navHeight
28297
28314
  }, {
28298
28315
  flexShrink: "fs0",
28299
28316
  width: "w100"
28300
- }), children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime144.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 }) }),
28301
28318
  /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
28302
28319
  ] }) }) }) });
28303
28320
  }
@@ -28306,7 +28323,7 @@ function NavbarLayout(props) {
28306
28323
  var import_react161 = require("react");
28307
28324
 
28308
28325
  // src/components/Headers/BaseHeader.tsx
28309
- var import_runtime145 = require("@homebound/truss/runtime");
28326
+ var import_runtime146 = require("@homebound/truss/runtime");
28310
28327
  var import_jsx_runtime228 = require("react/jsx-runtime");
28311
28328
  function BaseHeader(props) {
28312
28329
  const {
@@ -28319,7 +28336,7 @@ function BaseHeader(props) {
28319
28336
  } = props;
28320
28337
  const tid = useTestIds(otherProps, "header");
28321
28338
  useDocumentTitle(title, documentTitleSuffix);
28322
- return /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("header", { ...tid, ...(0, import_runtime145.trussProps)({
28339
+ return /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("header", { ...tid, ...(0, import_runtime146.trussProps)({
28323
28340
  display: "df",
28324
28341
  flexDirection: "fdc",
28325
28342
  paddingTop: "pt3",
@@ -28333,7 +28350,7 @@ function BaseHeader(props) {
28333
28350
  "--backgroundColor": "var(--b-surface)"
28334
28351
  }]
28335
28352
  }), children: [
28336
- /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { ...(0, import_runtime145.trussProps)({
28353
+ /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { ...(0, import_runtime146.trussProps)({
28337
28354
  ...{
28338
28355
  display: "df",
28339
28356
  justifyContent: "jcsb",
@@ -28349,7 +28366,7 @@ function BaseHeader(props) {
28349
28366
  }), children: [
28350
28367
  /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { className: "mw0", children: [
28351
28368
  breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(Breadcrumbs, { ...breadcrumbs }),
28352
- /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("h1", { ...tid.title, ...(0, import_runtime145.trussProps)({
28369
+ /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("h1", { ...tid.title, ...(0, import_runtime146.trussProps)({
28353
28370
  fontWeight: "fw6",
28354
28371
  fontSize: "fz_20px",
28355
28372
  lineHeight: "lh_28px",
@@ -28365,7 +28382,7 @@ function BaseHeader(props) {
28365
28382
  }
28366
28383
 
28367
28384
  // src/components/Headers/PageHeader.tsx
28368
- var import_runtime146 = require("@homebound/truss/runtime");
28385
+ var import_runtime147 = require("@homebound/truss/runtime");
28369
28386
  var import_jsx_runtime229 = require("react/jsx-runtime");
28370
28387
  function PageHeader2(props) {
28371
28388
  const {
@@ -28373,7 +28390,7 @@ function PageHeader2(props) {
28373
28390
  ...otherProps
28374
28391
  } = props;
28375
28392
  const tid = useTestIds(otherProps, "header");
28376
- return /* @__PURE__ */ (0, import_jsx_runtime229.jsx)(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ (0, import_jsx_runtime229.jsx)("div", { ...(0, import_runtime146.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 }) }) });
28377
28394
  }
28378
28395
 
28379
28396
  // src/layouts/useBannerAndNavbarHeight.ts
@@ -28382,7 +28399,7 @@ function useBannerAndNavbarHeight() {
28382
28399
  }
28383
28400
 
28384
28401
  // src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
28385
- var import_runtime147 = require("@homebound/truss/runtime");
28402
+ var import_runtime148 = require("@homebound/truss/runtime");
28386
28403
  var import_jsx_runtime230 = require("react/jsx-runtime");
28387
28404
  var __maybeInc31 = (inc) => {
28388
28405
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -28414,24 +28431,24 @@ function PageHeaderLayout(props) {
28414
28431
  const innerCss = autoHideState === "static" ? {
28415
28432
  position: "sticky",
28416
28433
  left: ["left_var", {
28417
- "--left": (0, import_runtime147.maybeCssVar)(__maybeInc31(headerLeft))
28434
+ "--left": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerLeft))
28418
28435
  }],
28419
28436
  width: ["w_var", {
28420
- "--width": (0, import_runtime147.maybeCssVar)(__maybeInc31(headerWidth))
28437
+ "--width": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerWidth))
28421
28438
  }],
28422
28439
  zIndex: ["z_var", {
28423
- "--zIndex": (0, import_runtime147.maybeCssVar)(zIndices.pageStickyHeader)
28440
+ "--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.pageStickyHeader)
28424
28441
  }]
28425
28442
  } : {
28426
28443
  position: "fixed",
28427
28444
  left: ["left_var", {
28428
- "--left": (0, import_runtime147.maybeCssVar)(__maybeInc31(headerLeft))
28445
+ "--left": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerLeft))
28429
28446
  }],
28430
28447
  width: ["w_var", {
28431
- "--width": (0, import_runtime147.maybeCssVar)(__maybeInc31(headerWidth))
28448
+ "--width": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerWidth))
28432
28449
  }],
28433
28450
  zIndex: ["z_var", {
28434
- "--zIndex": (0, import_runtime147.maybeCssVar)(zIndices.pageStickyHeader)
28451
+ "--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.pageStickyHeader)
28435
28452
  }],
28436
28453
  transition: "transitionTop"
28437
28454
  };
@@ -28439,42 +28456,105 @@ function PageHeaderLayout(props) {
28439
28456
  top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
28440
28457
  } : void 0;
28441
28458
  const pageHeaderEl = (0, import_react161.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
28442
- return /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime230.jsxs)("div", { ...(0, import_runtime147.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, {
28443
28460
  display: "df",
28444
28461
  flexDirection: "fdc",
28445
28462
  width: "w100"
28446
28463
  }), ...tid, children: [
28447
- /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ref: spacerRef, ...(0, import_runtime147.mergeProps)(void 0, {
28464
+ /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ref: spacerRef, ...(0, import_runtime148.mergeProps)(void 0, {
28448
28465
  height: headerHeight
28449
28466
  }, {
28450
28467
  flexShrink: "fs0",
28451
28468
  width: "w100"
28452
- }), children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime147.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 }) }),
28453
28470
  /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
28454
28471
  ] }) });
28455
28472
  }
28456
28473
 
28457
- // src/layouts/WorkflowLayout/WorkflowLayout.tsx
28458
- 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");
28459
28533
 
28460
28534
  // src/components/Headers/WorkflowHeader.tsx
28461
- var import_jsx_runtime231 = require("react/jsx-runtime");
28535
+ var import_jsx_runtime232 = require("react/jsx-runtime");
28462
28536
  function WorkflowHeader(props) {
28463
28537
  const { stepperTabs, ...otherProps } = props;
28464
28538
  const tid = useTestIds(otherProps, "header");
28465
- 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
+ );
28466
28546
  }
28467
28547
 
28468
- // src/layouts/WorkflowLayout/useUnsavedChangesGuard.tsx
28469
- var import_react162 = require("react");
28548
+ // src/layouts/Workflow/useUnsavedChangesGuard.tsx
28549
+ var import_react163 = require("react");
28470
28550
  var import_react_router_dom9 = require("react-router-dom");
28471
- var import_jsx_runtime232 = require("react/jsx-runtime");
28551
+ var import_jsx_runtime233 = require("react/jsx-runtime");
28472
28552
  function useUnsavedChangesGuard(options) {
28473
28553
  const { isDirty, onCancel } = options;
28474
28554
  const { openModal } = useModal();
28475
- const isDirtyRef = (0, import_react162.useRef)(isDirty);
28555
+ const isDirtyRef = (0, import_react163.useRef)(isDirty);
28476
28556
  isDirtyRef.current = isDirty;
28477
- (0, import_react162.useEffect)(() => {
28557
+ (0, import_react163.useEffect)(() => {
28478
28558
  const onBeforeUnload = (e) => {
28479
28559
  if (isDirtyRef.current?.()) {
28480
28560
  e.preventDefault();
@@ -28491,7 +28571,7 @@ function useUnsavedChangesGuard(options) {
28491
28571
  }
28492
28572
  openModal({
28493
28573
  allowClosing: false,
28494
- content: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
28574
+ content: /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
28495
28575
  });
28496
28576
  };
28497
28577
  const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
@@ -28500,67 +28580,67 @@ function useUnsavedChangesGuard(options) {
28500
28580
  function UnsavedChangesNavigationModal(props) {
28501
28581
  const { proceed, cancelNavigation } = props;
28502
28582
  const { openModal, closeModal } = useModal();
28503
- (0, import_react162.useEffect)(() => {
28583
+ (0, import_react163.useEffect)(() => {
28504
28584
  openModal({
28505
28585
  allowClosing: false,
28506
- 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 })
28507
28587
  });
28508
28588
  return () => closeModal();
28509
28589
  }, []);
28510
28590
  return null;
28511
28591
  }
28512
28592
 
28513
- // src/layouts/WorkflowLayout/WorkflowActions.tsx
28514
- var import_jsx_runtime233 = require("react/jsx-runtime");
28593
+ // src/layouts/Workflow/WorkflowActions.tsx
28594
+ var import_jsx_runtime234 = require("react/jsx-runtime");
28515
28595
  function WorkflowActions(props) {
28516
28596
  const {
28517
- isFirstStep,
28518
- isLastStep,
28519
- isMobile,
28520
- onBack,
28521
28597
  onCancel,
28522
28598
  onSaveAndExit,
28523
28599
  completeLabel,
28524
28600
  onComplete,
28525
- onContinue,
28526
28601
  primaryDisabled,
28527
- aiMode = false
28602
+ aiMode = false,
28603
+ isFirstStep = true,
28604
+ isLastStep = true,
28605
+ onBack,
28606
+ onContinue
28528
28607
  } = props;
28608
+ const {
28609
+ sm: isMobile
28610
+ } = useBreakpoint();
28529
28611
  const primaryVariant = aiMode ? "ai" : "primary";
28530
- return /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
28531
- /* @__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 }) }),
28532
- /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)("div", { className: "df aic gap1", children: [
28533
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
28534
- onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
28535
- isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Button, { label: "Continue", variant: primaryVariant, onClick: onContinue, disabled: primaryDisabled })
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 })
28536
28620
  ] })
28537
28621
  ] });
28538
28622
  }
28539
28623
 
28540
- // src/layouts/WorkflowLayout/WorkflowLayout.tsx
28541
- var import_runtime148 = require("@homebound/truss/runtime");
28542
- var import_jsx_runtime234 = require("react/jsx-runtime");
28543
- 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) => {
28544
28628
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
28545
28629
  };
28546
- function WorkflowLayout(props) {
28630
+ var mobileFooterHeightPx = 80;
28631
+ function WorkflowPageLayout(props) {
28547
28632
  const {
28548
- steps,
28549
- defaultStep,
28550
- onCancel,
28551
- completeLabel,
28552
- onComplete,
28553
- onSaveAndExit,
28633
+ stepperTabs,
28634
+ aiMode,
28554
28635
  isDirty,
28555
- aiMode = false,
28556
- ...headerProps
28636
+ children,
28637
+ title,
28638
+ documentTitleSuffix,
28639
+ breadcrumbs,
28640
+ onCancel,
28641
+ ...actionProps
28557
28642
  } = props;
28558
- const stepTabs = steps.map((step) => ({
28559
- ...step,
28560
- value: defaultTestId(step.label)
28561
- }));
28562
- const [currentStep, setCurrentStep] = (0, import_react163.useState)(() => getInitialStep(stepTabs, defaultStep));
28563
- const tid = useTestIds(props, "workflowLayout");
28643
+ const tid = useTestIds(props, "workflowPageLayout");
28564
28644
  const {
28565
28645
  sm: isMobile
28566
28646
  } = useBreakpoint();
@@ -28571,27 +28651,16 @@ function WorkflowLayout(props) {
28571
28651
  isDirty,
28572
28652
  onCancel
28573
28653
  });
28574
- 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);
28575
28656
  const headerHeight = useMeasuredHeight(headerMetricsRef, true);
28576
28657
  const headerWidth = documentScrollChromeWidth();
28577
28658
  const outerTop = bannerAndNavbarChromeTop();
28578
28659
  const cssVars = headerHeight > 0 ? {
28579
28660
  [beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
28580
28661
  } : void 0;
28581
- const currentIndex = isValidStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
28582
- const isFirstStep = currentIndex <= 0;
28583
- const isLastStep = currentIndex === stepTabs.length - 1;
28584
- const activeStep = stepTabs[currentIndex];
28585
- 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, aiMode, onContinue: async () => {
28586
- const onContinue = activeStep?.onContinue;
28587
- if (onContinue) {
28588
- const allowed = await onContinue();
28589
- if (allowed === false) return;
28590
- }
28591
- setCurrentStep(stepTabs[currentIndex + 1].value);
28592
- } });
28593
28662
  const showFooter = isMobile;
28594
- (0, import_react163.useLayoutEffect)(() => {
28663
+ (0, import_react164.useLayoutEffect)(() => {
28595
28664
  const root = document.documentElement;
28596
28665
  const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
28597
28666
  root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
@@ -28603,39 +28672,26 @@ function WorkflowLayout(props) {
28603
28672
  }
28604
28673
  };
28605
28674
  }, [showFooter]);
28606
- const headerEl = /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(
28607
- WorkflowHeader,
28608
- {
28609
- ...headerProps,
28610
- rightSlot: isMobile ? void 0 : buttons,
28611
- stepperTabs: {
28612
- steps: stepTabs,
28613
- currentStep,
28614
- onChange: setCurrentStep,
28615
- collapsed: isMobile
28616
- }
28617
- }
28618
- );
28619
- return /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(DocumentScrollLayoutProvider, { children: [
28620
- /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)("div", { ...(0, import_runtime148.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, {
28621
28677
  display: "df",
28622
28678
  flexDirection: "fdc",
28623
28679
  width: "w100"
28624
28680
  }), ...tid, children: [
28625
- /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime148.trussProps)({
28681
+ /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime150.trussProps)({
28626
28682
  position: "sticky",
28627
28683
  left: "left0",
28628
28684
  width: ["w_var", {
28629
- "--width": (0, import_runtime148.maybeCssVar)(__maybeInc32(headerWidth))
28685
+ "--width": (0, import_runtime150.maybeCssVar)(__maybeInc33(headerWidth))
28630
28686
  }],
28631
28687
  zIndex: ["z_var", {
28632
- "--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.pageStickyHeader)
28688
+ "--zIndex": (0, import_runtime150.maybeCssVar)(zIndices.pageStickyHeader)
28633
28689
  }],
28634
28690
  top: ["top_var", {
28635
- "--top": (0, import_runtime148.maybeCssVar)(__maybeInc32(outerTop))
28691
+ "--top": (0, import_runtime150.maybeCssVar)(__maybeInc33(outerTop))
28636
28692
  }]
28637
- }), ...tid.header, children: headerEl }),
28638
- /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ...(0, import_runtime148.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)({
28639
28695
  ...{
28640
28696
  display: "df",
28641
28697
  flexDirection: "fdc",
@@ -28647,28 +28703,28 @@ function WorkflowLayout(props) {
28647
28703
  ...aiMode && {
28648
28704
  backgroundImage: "aiBackground",
28649
28705
  minHeight: ["mh_var", {
28650
- "--minHeight": (0, import_runtime148.maybeCssVar)(documentScrollBodyMinHeight())
28706
+ "--minHeight": (0, import_runtime150.maybeCssVar)(documentScrollBodyMinHeight())
28651
28707
  }]
28652
28708
  }
28653
- }), ...tid.body, children: activeStep?.content }),
28654
- showFooter && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ...(0, import_runtime148.trussProps)({
28709
+ }), ...tid.body, children }),
28710
+ showFooter && /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ...(0, import_runtime150.trussProps)({
28655
28711
  flexShrink: "fs0",
28656
28712
  width: "w100",
28657
28713
  height: ["h_var", {
28658
28714
  "--height": `${mobileFooterHeightPx}px`
28659
28715
  }]
28660
- }), children: /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ...(0, import_runtime148.trussProps)({
28716
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ...(0, import_runtime150.trussProps)({
28661
28717
  ...{
28662
28718
  position: "fixed",
28663
28719
  bottom: "bottom0",
28664
28720
  width: ["w_var", {
28665
- "--width": (0, import_runtime148.maybeCssVar)(__maybeInc32(headerWidth))
28721
+ "--width": (0, import_runtime150.maybeCssVar)(__maybeInc33(headerWidth))
28666
28722
  }],
28667
28723
  height: ["h_var", {
28668
28724
  "--height": `${mobileFooterHeightPx}px`
28669
28725
  }],
28670
28726
  zIndex: ["z_var", {
28671
- "--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.pageStickyFooter)
28727
+ "--zIndex": (0, import_runtime150.maybeCssVar)(zIndices.pageStickyFooter)
28672
28728
  }],
28673
28729
  display: "df",
28674
28730
  alignItems: "aic",
@@ -28684,17 +28740,95 @@ function WorkflowLayout(props) {
28684
28740
  }]
28685
28741
  },
28686
28742
  ...pageContentPaddingX
28687
- }), ...tid.footer, children: buttons }) })
28743
+ }), ...tid.footer, children: actions }) })
28688
28744
  ] }),
28689
- navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
28745
+ navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
28690
28746
  ] });
28691
28747
  }
28692
- var mobileFooterHeightPx = 80;
28693
- 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) {
28694
28828
  return steps.some((step) => step.value === value);
28695
28829
  }
28696
28830
  function getInitialStep(steps, defaultStep) {
28697
- return defaultStep !== void 0 && isValidStep(steps, defaultStep) ? defaultStep : steps[0]?.value;
28831
+ return defaultStep !== void 0 && hasStep(steps, defaultStep) ? defaultStep : steps[0]?.value ?? "";
28698
28832
  }
28699
28833
  // Annotate the CommonJS export names for ESM import in node:
28700
28834
  0 && (module.exports = {
@@ -28780,6 +28914,7 @@ function getInitialStep(steps, defaultStep) {
28780
28914
  FieldGroup,
28781
28915
  FilterModal,
28782
28916
  Filters,
28917
+ FocusedFormLayout,
28783
28918
  FormDivider,
28784
28919
  FormHeading,
28785
28920
  FormLines,
@@ -28852,6 +28987,7 @@ function getInitialStep(steps, defaultStep) {
28852
28987
  SortHeader,
28853
28988
  StaticField,
28854
28989
  Stepper,
28990
+ StepperLayout,
28855
28991
  StepperTab,
28856
28992
  StepperTabs,
28857
28993
  SubmitButton,
@@ -28879,7 +29015,6 @@ function getInitialStep(steps, defaultStep) {
28879
29015
  Tooltip,
28880
29016
  TreeSelectField,
28881
29017
  ViewToggleButton,
28882
- WorkflowLayout,
28883
29018
  actionColumn,
28884
29019
  applyRowFn,
28885
29020
  assignDefaultColumnIds,
@@ -29032,6 +29167,7 @@ function getInitialStep(steps, defaultStep) {
29032
29167
  sortFn,
29033
29168
  sortRows,
29034
29169
  stickyNavAndHeaderOffset,
29170
+ stickyNavAndHeaderOffsetPx,
29035
29171
  stickyTableHeaderOffset,
29036
29172
  sumColumnSizesPx,
29037
29173
  switchFocusStyles,