@homebound/beam 3.91.0 → 3.92.1

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",
@@ -25141,10 +25158,10 @@ function Card(props) {
25141
25158
  icon: "verticalDots",
25142
25159
  color: isList ? "--b-on-surface-muted" /* OnSurfaceMuted */ : "--b-on-primary" /* OnPrimary */
25143
25160
  }, items: buttonMenuItems }) }),
25144
- 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 }) }),
25161
+ tag && !isList && /* @__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",
@@ -25166,7 +25183,8 @@ function Card(props) {
25166
25183
  } : {}
25167
25184
  }), ...tid.title, children: title })
25168
25185
  ] }),
25169
- /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...tid.details, children: detailContent })
25186
+ /* @__PURE__ */ (0, import_jsx_runtime194.jsx)("div", { ...tid.details, children: detailContent }),
25187
+ tag && isList && /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(Tag, { type: tag.type, text: tag.text, ...tid.tag })
25170
25188
  ] })
25171
25189
  ] });
25172
25190
  }
@@ -25225,10 +25243,10 @@ var imageHoverStyles = {
25225
25243
  };
25226
25244
 
25227
25245
  // src/components/Copy.tsx
25228
- var import_runtime119 = require("@homebound/truss/runtime");
25246
+ var import_runtime120 = require("@homebound/truss/runtime");
25229
25247
  var import_jsx_runtime195 = require("react/jsx-runtime");
25230
25248
  function Copy(props) {
25231
- return /* @__PURE__ */ (0, import_jsx_runtime195.jsx)("div", { ...(0, import_runtime119.mergeProps)("beam-copy", void 0, {
25249
+ return /* @__PURE__ */ (0, import_jsx_runtime195.jsx)("div", { ...(0, import_runtime120.mergeProps)("beam-copy", void 0, {
25232
25250
  ...{
25233
25251
  fontWeight: "fw4",
25234
25252
  fontSize: "fz_14px",
@@ -25244,7 +25262,7 @@ function Copy(props) {
25244
25262
  }
25245
25263
 
25246
25264
  // src/components/EnvironmentBanner/EnvironmentBanner.tsx
25247
- var import_runtime120 = require("@homebound/truss/runtime");
25265
+ var import_runtime121 = require("@homebound/truss/runtime");
25248
25266
  var import_jsx_runtime196 = require("react/jsx-runtime");
25249
25267
  function EnvironmentBanner(props) {
25250
25268
  const {
@@ -25264,14 +25282,14 @@ function EnvironmentBanner(props) {
25264
25282
  tooltip
25265
25283
  } = getEnvironmentBannerConfig(env, impersonating, showProdWarning);
25266
25284
  const bgColorVar = maybeCssVar(bgColor);
25267
- return /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { ...(0, import_runtime120.trussProps)({
25285
+ return /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { ...(0, import_runtime121.trussProps)({
25268
25286
  flexShrink: "fs0",
25269
25287
  position: "relative",
25270
25288
  zIndex: ["z_var", {
25271
- "--zIndex": (0, import_runtime120.maybeCssVar)(zIndices.environmentBanner)
25289
+ "--zIndex": (0, import_runtime121.maybeCssVar)(zIndices.environmentBanner)
25272
25290
  }],
25273
25291
  backgroundColor: ["bgColor_var", {
25274
- "--backgroundColor": (0, import_runtime120.maybeCssVar)(bgColorVar)
25292
+ "--backgroundColor": (0, import_runtime121.maybeCssVar)(bgColorVar)
25275
25293
  }],
25276
25294
  height: ["h_var", {
25277
25295
  "--height": `${environmentBannerSizePx}px`
@@ -25280,7 +25298,7 @@ function EnvironmentBanner(props) {
25280
25298
  }), role: "banner", ...tid, children: [
25281
25299
  getInvertedCorner("left", bgColorVar),
25282
25300
  getInvertedCorner("right", bgColorVar),
25283
- /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { ...(0, import_runtime120.trussProps)({
25301
+ /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("div", { ...(0, import_runtime121.trussProps)({
25284
25302
  ...{
25285
25303
  position: "relative",
25286
25304
  zIndex: "z2",
@@ -25295,7 +25313,7 @@ function EnvironmentBanner(props) {
25295
25313
  /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(Tag, { text: badgeLabel, xss: {
25296
25314
  backgroundColor: "bgColor_FFFFFF90"
25297
25315
  }, ...tid.badge }),
25298
- /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("span", { ...(0, import_runtime120.trussProps)({
25316
+ /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("span", { ...(0, import_runtime121.trussProps)({
25299
25317
  ...{
25300
25318
  alignItems: "aic",
25301
25319
  gap: "gap1",
@@ -25316,7 +25334,7 @@ function EnvironmentBanner(props) {
25316
25334
  /* @__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
25335
  ] })
25318
25336
  ] }),
25319
- impersonating != null && /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("span", { ...(0, import_runtime120.trussProps)({
25337
+ impersonating != null && /* @__PURE__ */ (0, import_jsx_runtime196.jsxs)("span", { ...(0, import_runtime121.trussProps)({
25320
25338
  display: "df",
25321
25339
  alignItems: "aic",
25322
25340
  gap: "gap2",
@@ -25405,16 +25423,16 @@ function getInvertedCorner(side, bgColorVar) {
25405
25423
  right: "right0"
25406
25424
  };
25407
25425
  const shadowXOffset = side === "left" ? -invertedCornerRadiusPx : invertedCornerRadiusPx;
25408
- return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { "aria-hidden": true, ...(0, import_runtime120.trussProps)({
25426
+ return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { "aria-hidden": true, ...(0, import_runtime121.trussProps)({
25409
25427
  ...shell,
25410
25428
  ...outerPosition
25411
- }), children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { ...(0, import_runtime120.trussProps)({
25429
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)("div", { ...(0, import_runtime121.trussProps)({
25412
25430
  height: "h_200",
25413
25431
  width: "w_200",
25414
25432
  position: "absolute",
25415
25433
  borderRadius: "borderRadius_50",
25416
25434
  boxShadow: ["boxShadow_var", {
25417
- "--boxShadow": (0, import_runtime120.maybeCssVar)(`${shadowXOffset}px -${invertedCornerRadiusPx}px 0 0 ${bgColorVar}`)
25435
+ "--boxShadow": (0, import_runtime121.maybeCssVar)(`${shadowXOffset}px -${invertedCornerRadiusPx}px 0 0 ${bgColorVar}`)
25418
25436
  }],
25419
25437
  ...side === "right" ? {
25420
25438
  right: "right0"
@@ -25447,7 +25465,7 @@ var gridItemDataAttribute = "data-grid-item-span";
25447
25465
  var ResponsiveGridContext = (0, import_react135.createContext)(void 0);
25448
25466
 
25449
25467
  // src/components/Grid/ResponsiveGrid.tsx
25450
- var import_runtime121 = require("@homebound/truss/runtime");
25468
+ var import_runtime122 = require("@homebound/truss/runtime");
25451
25469
  var import_jsx_runtime197 = require("react/jsx-runtime");
25452
25470
  function ResponsiveGrid(props) {
25453
25471
  const {
@@ -25468,12 +25486,12 @@ function ResponsiveGrid(props) {
25468
25486
  gap,
25469
25487
  columns
25470
25488
  }), [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 }) });
25489
+ 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
25490
  }
25473
25491
 
25474
25492
  // src/components/Grid/ResponsiveGridItem.tsx
25475
25493
  var import_react_aria60 = require("react-aria");
25476
- var import_runtime122 = require("@homebound/truss/runtime");
25494
+ var import_runtime123 = require("@homebound/truss/runtime");
25477
25495
  var import_jsx_runtime198 = require("react/jsx-runtime");
25478
25496
  function ResponsiveGridItem(props) {
25479
25497
  const {
@@ -25486,12 +25504,12 @@ function ResponsiveGridItem(props) {
25486
25504
  } = useResponsiveGridItem({
25487
25505
  colSpan
25488
25506
  });
25489
- return /* @__PURE__ */ (0, import_jsx_runtime198.jsx)("div", { ...(0, import_react_aria60.mergeProps)(gridItemProps, (0, import_runtime122.trussProps)(gridItemStyles)), children });
25507
+ return /* @__PURE__ */ (0, import_jsx_runtime198.jsx)("div", { ...(0, import_react_aria60.mergeProps)(gridItemProps, (0, import_runtime123.trussProps)(gridItemStyles)), children });
25490
25508
  }
25491
25509
 
25492
25510
  // src/components/Grid/useResponsiveGrid.ts
25493
25511
  var import_react137 = require("react");
25494
- var import_runtime123 = require("@homebound/truss/runtime");
25512
+ var import_runtime124 = require("@homebound/truss/runtime");
25495
25513
  var __maybeInc24 = (inc) => {
25496
25514
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
25497
25515
  };
@@ -25510,11 +25528,11 @@ function useResponsiveGrid(props) {
25510
25528
  return {
25511
25529
  display: "dg",
25512
25530
  gridTemplateColumns: ["gtc_var", {
25513
- "--gridTemplateColumns": (0, import_runtime123.maybeCssVar)(gridTemplateColumns)
25531
+ "--gridTemplateColumns": (0, import_runtime124.maybeCssVar)(gridTemplateColumns)
25514
25532
  }],
25515
25533
  containerType: "ctis",
25516
25534
  gap: ["gap_var", {
25517
- "--gap": (0, import_runtime123.maybeCssVar)(__maybeInc24(gridGap))
25535
+ "--gap": (0, import_runtime124.maybeCssVar)(__maybeInc24(gridGap))
25518
25536
  }]
25519
25537
  };
25520
25538
  }, [minColumnWidth, gap, columns]);
@@ -25639,7 +25657,7 @@ function HbSpinnerProvider({
25639
25657
  // src/components/JumpLink.tsx
25640
25658
  var import_react140 = require("react");
25641
25659
  var import_react_aria61 = require("react-aria");
25642
- var import_runtime124 = require("@homebound/truss/runtime");
25660
+ var import_runtime125 = require("@homebound/truss/runtime");
25643
25661
  var import_jsx_runtime200 = require("react/jsx-runtime");
25644
25662
  function JumpLink(props) {
25645
25663
  const {
@@ -25676,13 +25694,13 @@ function JumpLink(props) {
25676
25694
  e.preventDefault();
25677
25695
  const target = document.getElementById(href.replace(/^#/, ""));
25678
25696
  if (target) {
25679
- window.scrollTo({
25680
- top: target.getBoundingClientRect().top + window.scrollY,
25681
- behavior: "smooth"
25697
+ target.scrollIntoView({
25698
+ behavior: "smooth",
25699
+ block: "start"
25682
25700
  });
25683
25701
  }
25684
25702
  }
25685
- return /* @__PURE__ */ (0, import_jsx_runtime200.jsx)("a", { ref, ...(0, import_react_aria61.mergeProps)(linkProps, focusProps, hoverProps), ...tid, ...(0, import_runtime124.trussProps)({
25703
+ return /* @__PURE__ */ (0, import_jsx_runtime200.jsx)("a", { ref, ...(0, import_react_aria61.mergeProps)(linkProps, focusProps, hoverProps), ...tid, ...(0, import_runtime125.trussProps)({
25686
25704
  ...jumpLinkStyles.baseStyles,
25687
25705
  ...active && jumpLinkStyles.activeStyles,
25688
25706
  ...isHovered && !disabled && jumpLinkStyles.hoverStyles,
@@ -25739,7 +25757,7 @@ var jumpLinkStyles = {
25739
25757
  // src/components/MaxLines.tsx
25740
25758
  var import_utils165 = require("@react-aria/utils");
25741
25759
  var import_react141 = require("react");
25742
- var import_runtime125 = require("@homebound/truss/runtime");
25760
+ var import_runtime126 = require("@homebound/truss/runtime");
25743
25761
  var import_jsx_runtime201 = require("react/jsx-runtime");
25744
25762
  function MaxLines({
25745
25763
  maxLines,
@@ -25764,10 +25782,10 @@ function MaxLines({
25764
25782
  onResize
25765
25783
  });
25766
25784
  return /* @__PURE__ */ (0, import_jsx_runtime201.jsxs)("div", { children: [
25767
- /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { ref: elRef, ...(0, import_runtime125.trussProps)({
25785
+ /* @__PURE__ */ (0, import_jsx_runtime201.jsx)("div", { ref: elRef, ...(0, import_runtime126.trussProps)({
25768
25786
  ...!expanded ? {
25769
25787
  WebkitLineClamp: ["lineClamp_var", {
25770
- "--WebkitLineClamp": (0, import_runtime125.maybeCssVar)(maxLines)
25788
+ "--WebkitLineClamp": (0, import_runtime126.maybeCssVar)(maxLines)
25771
25789
  }],
25772
25790
  overflow: "oh",
25773
25791
  display: "d_negwebkit_box",
@@ -25790,7 +25808,7 @@ var import_react144 = require("react");
25790
25808
  // src/components/AppNav/AppNavGroupTrigger.tsx
25791
25809
  var import_react142 = require("react");
25792
25810
  var import_react_aria62 = require("react-aria");
25793
- var import_runtime126 = require("@homebound/truss/runtime");
25811
+ var import_runtime127 = require("@homebound/truss/runtime");
25794
25812
  var import_jsx_runtime202 = require("react/jsx-runtime");
25795
25813
  function AppNavGroupTrigger(props) {
25796
25814
  const {
@@ -25827,7 +25845,7 @@ function AppNavGroupTrigger(props) {
25827
25845
  ref,
25828
25846
  "aria-expanded": expanded,
25829
25847
  "aria-controls": navGroupId,
25830
- ...(0, import_runtime126.mergeProps)(navLink, void 0, {
25848
+ ...(0, import_runtime127.mergeProps)(navLink, void 0, {
25831
25849
  ...baseStyles4,
25832
25850
  ...isFocusVisible && focusRingStyles2,
25833
25851
  ...isHovered && hoverStyles4,
@@ -25841,7 +25859,7 @@ function AppNavGroupTrigger(props) {
25841
25859
  })
25842
25860
  }), children: [
25843
25861
  label,
25844
- /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ...(0, import_runtime126.trussProps)({
25862
+ /* @__PURE__ */ (0, import_jsx_runtime202.jsx)("div", { ...(0, import_runtime127.trussProps)({
25845
25863
  ...{
25846
25864
  display: "df",
25847
25865
  alignItems: "aic",
@@ -25994,7 +26012,7 @@ function useAppNavGroupExpanded(linkGroup) {
25994
26012
  }
25995
26013
 
25996
26014
  // src/components/AppNav/AppNavGroup.tsx
25997
- var import_runtime127 = require("@homebound/truss/runtime");
26015
+ var import_runtime128 = require("@homebound/truss/runtime");
25998
26016
  var import_jsx_runtime203 = require("react/jsx-runtime");
25999
26017
  var __maybeInc25 = (inc) => {
26000
26018
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -26039,11 +26057,11 @@ function AppNavGroupDisclosure(props) {
26039
26057
  });
26040
26058
  return /* @__PURE__ */ (0, import_jsx_runtime203.jsxs)("div", { className: "df fdc", ...tid, children: [
26041
26059
  /* @__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)({
26060
+ /* @__PURE__ */ (0, import_jsx_runtime203.jsx)("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...(0, import_runtime128.trussProps)({
26043
26061
  overflow: "oh",
26044
26062
  transition: "transitionHeight",
26045
26063
  height: ["h_var", {
26046
- "--height": (0, import_runtime127.maybeCssVar)(__maybeInc25(contentHeight))
26064
+ "--height": (0, import_runtime128.maybeCssVar)(__maybeInc25(contentHeight))
26047
26065
  }]
26048
26066
  }), ...tid.panel, ...!expanded ? {
26049
26067
  inert: "true"
@@ -26073,7 +26091,7 @@ function AppNavGroupMenu({
26073
26091
  }
26074
26092
 
26075
26093
  // src/components/AppNav/AppNavSectionView.tsx
26076
- var import_runtime128 = require("@homebound/truss/runtime");
26094
+ var import_runtime129 = require("@homebound/truss/runtime");
26077
26095
  var import_jsx_runtime205 = require("react/jsx-runtime");
26078
26096
  function AppNavSectionView(props) {
26079
26097
  const {
@@ -26100,7 +26118,7 @@ function AppNavSectionView(props) {
26100
26118
  "--borderColor": "var(--b-surface-separator)"
26101
26119
  }]
26102
26120
  };
26103
- return /* @__PURE__ */ (0, import_jsx_runtime205.jsxs)("div", { ...(0, import_runtime128.trussProps)({
26121
+ return /* @__PURE__ */ (0, import_jsx_runtime205.jsxs)("div", { ...(0, import_runtime129.trussProps)({
26104
26122
  ...{
26105
26123
  display: "df",
26106
26124
  flexDirection: "fdc",
@@ -26108,7 +26126,7 @@ function AppNavSectionView(props) {
26108
26126
  },
26109
26127
  ...showDivider ? dividerStyles : {}
26110
26128
  }), ...tid, children: [
26111
- section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { ...(0, import_runtime128.trussProps)({
26129
+ section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ (0, import_jsx_runtime205.jsx)("div", { ...(0, import_runtime129.trussProps)({
26112
26130
  fontWeight: "fw6",
26113
26131
  fontSize: "fz_10px",
26114
26132
  lineHeight: "lh_14px",
@@ -26209,7 +26227,7 @@ function useRegisterMobileSubNav(content) {
26209
26227
  }
26210
26228
 
26211
26229
  // src/components/Navbar/NavbarMobileMenu.tsx
26212
- var import_runtime129 = require("@homebound/truss/runtime");
26230
+ var import_runtime130 = require("@homebound/truss/runtime");
26213
26231
  var import_jsx_runtime208 = require("react/jsx-runtime");
26214
26232
  function NavbarMobileMenu(props) {
26215
26233
  const {
@@ -26260,13 +26278,13 @@ function NavbarMobileDrawer({
26260
26278
  };
26261
26279
  const showSubLevel = mobileSubNav != null && level === "sub";
26262
26280
  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, {
26281
+ /* @__PURE__ */ (0, import_jsx_runtime208.jsx)(import_framer_motion6.motion.div, { ...(0, import_runtime130.mergeProps)(void 0, overlayTopStyle, {
26264
26282
  position: "fixed",
26265
26283
  right: "right0",
26266
26284
  bottom: "bottom0",
26267
26285
  left: "left0",
26268
26286
  zIndex: ["z_var", {
26269
- "--zIndex": (0, import_runtime129.maybeCssVar)(zIndices.navbarMobileMenuScrim)
26287
+ "--zIndex": (0, import_runtime130.maybeCssVar)(zIndices.navbarMobileMenuScrim)
26270
26288
  }],
26271
26289
  backgroundColor: ["bgColor_var", {
26272
26290
  "--backgroundColor": "var(--b-scrim)"
@@ -26281,7 +26299,7 @@ function NavbarMobileDrawer({
26281
26299
  ease: "linear",
26282
26300
  duration: 0.2
26283
26301
  }, 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, {
26302
+ /* @__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
26303
  position: "fixed",
26286
26304
  bottom: "bottom0",
26287
26305
  left: "left0",
@@ -26291,7 +26309,7 @@ function NavbarMobileDrawer({
26291
26309
  width: "w_260px",
26292
26310
  overflow: "oh",
26293
26311
  zIndex: ["z_var", {
26294
- "--zIndex": (0, import_runtime129.maybeCssVar)(zIndices.navbarMobileMenu)
26312
+ "--zIndex": (0, import_runtime130.maybeCssVar)(zIndices.navbarMobileMenu)
26295
26313
  }],
26296
26314
  backgroundColor: ["bgColor_var", {
26297
26315
  "--backgroundColor": "var(--b-surface)"
@@ -26306,7 +26324,7 @@ function NavbarMobileDrawer({
26306
26324
  ease: "linear",
26307
26325
  duration: 0.2
26308
26326
  }, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
26309
- /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)("div", { ...(0, import_runtime129.trussProps)({
26327
+ /* @__PURE__ */ (0, import_jsx_runtime208.jsxs)("div", { ...(0, import_runtime130.trussProps)({
26310
26328
  ...{
26311
26329
  display: "df",
26312
26330
  alignItems: "aic",
@@ -26328,7 +26346,7 @@ function NavbarMobileDrawer({
26328
26346
  /* @__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
26347
  import_framer_motion6.motion.nav,
26330
26348
  {
26331
- ...(0, import_runtime129.trussProps)({
26349
+ ...(0, import_runtime130.trussProps)({
26332
26350
  ...{
26333
26351
  position: "absolute",
26334
26352
  top: "top0",
@@ -26376,7 +26394,7 @@ function NavbarMobileDrawer({
26376
26394
  }
26377
26395
 
26378
26396
  // src/components/Navbar/Navbar.tsx
26379
- var import_runtime130 = require("@homebound/truss/runtime");
26397
+ var import_runtime131 = require("@homebound/truss/runtime");
26380
26398
  var import_jsx_runtime209 = require("react/jsx-runtime");
26381
26399
  function Navbar(props) {
26382
26400
  const {
@@ -26396,7 +26414,7 @@ function Navbar(props) {
26396
26414
  overflows
26397
26415
  } = useContentOverflow(!sm);
26398
26416
  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)({
26417
+ return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(ContrastScope, { children: /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("nav", { ...(0, import_runtime131.trussProps)({
26400
26418
  ...{
26401
26419
  backgroundColor: ["bgColor_var", {
26402
26420
  "--backgroundColor": "var(--b-surface-raised)"
@@ -26415,7 +26433,7 @@ function Navbar(props) {
26415
26433
  /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("div", { className: "df aic gap3 fg1 mw0", children: [
26416
26434
  /* @__PURE__ */ (0, import_jsx_runtime209.jsxs)("div", { className: "df aic fs0 gap2", children: [
26417
26435
  showMobile && /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(NavbarMobileMenu, { items, ...tid }),
26418
- /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ...(0, import_runtime130.trussProps)({
26436
+ /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ...(0, import_runtime131.trussProps)({
26419
26437
  flexShrink: "fs0",
26420
26438
  ...hideBrandOnMobile && showMobile ? {
26421
26439
  display: "dn"
@@ -26424,7 +26442,7 @@ function Navbar(props) {
26424
26442
  ] }),
26425
26443
  !sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
26426
26444
  // can expand again as space frees up.
26427
- /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ref: containerRef, ...(0, import_runtime130.trussProps)({
26445
+ /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ref: containerRef, ...(0, import_runtime131.trussProps)({
26428
26446
  display: "df",
26429
26447
  alignItems: "aic",
26430
26448
  flexGrow: "fg1",
@@ -26454,7 +26472,7 @@ function NavbarUserMenu({
26454
26472
  }
26455
26473
 
26456
26474
  // src/components/Pagination.tsx
26457
- var import_runtime131 = require("@homebound/truss/runtime");
26475
+ var import_runtime132 = require("@homebound/truss/runtime");
26458
26476
  var import_jsx_runtime210 = require("react/jsx-runtime");
26459
26477
  var defaultPage = {
26460
26478
  offset: 0,
@@ -26487,7 +26505,7 @@ function Pagination(props) {
26487
26505
  }
26488
26506
  }
26489
26507
  const tid = useTestIds(props, "pagination");
26490
- return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)("div", { ...(0, import_runtime131.trussProps)({
26508
+ return /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)("div", { ...(0, import_runtime132.trussProps)({
26491
26509
  display: "df",
26492
26510
  borderColor: ["bc_var", {
26493
26511
  "--borderColor": "var(--b-surface-separator)"
@@ -26545,7 +26563,7 @@ function toPageNumberSize(page) {
26545
26563
  // src/components/ScrollShadows.tsx
26546
26564
  var import_utils174 = require("@react-aria/utils");
26547
26565
  var import_react147 = require("react");
26548
- var import_runtime132 = require("@homebound/truss/runtime");
26566
+ var import_runtime133 = require("@homebound/truss/runtime");
26549
26567
  var import_jsx_runtime211 = require("react/jsx-runtime");
26550
26568
  function ScrollShadows(props) {
26551
26569
  const {
@@ -26570,7 +26588,7 @@ function ScrollShadows(props) {
26570
26588
  const commonStyles = {
26571
26589
  position: "absolute",
26572
26590
  zIndex: ["z_var", {
26573
- "--zIndex": (0, import_runtime132.maybeCssVar)(zIndices.scrollShadow)
26591
+ "--zIndex": (0, import_runtime133.maybeCssVar)(zIndices.scrollShadow)
26574
26592
  }],
26575
26593
  pointerEvents: "pointerEvents_none"
26576
26594
  };
@@ -26603,7 +26621,7 @@ function ScrollShadows(props) {
26603
26621
  ...startShadowStyles2,
26604
26622
  ...{
26605
26623
  background: ["background_var", {
26606
- "--background": (0, import_runtime132.maybeCssVar)(startGradient)
26624
+ "--background": (0, import_runtime133.maybeCssVar)(startGradient)
26607
26625
  }]
26608
26626
  }
26609
26627
  }, {
@@ -26611,7 +26629,7 @@ function ScrollShadows(props) {
26611
26629
  ...endShadowStyles2,
26612
26630
  ...{
26613
26631
  background: ["background_var", {
26614
- "--background": (0, import_runtime132.maybeCssVar)(endGradient)
26632
+ "--background": (0, import_runtime133.maybeCssVar)(endGradient)
26615
26633
  }]
26616
26634
  }
26617
26635
  }];
@@ -26636,10 +26654,10 @@ function ScrollShadows(props) {
26636
26654
  ref: scrollRef,
26637
26655
  onResize
26638
26656
  });
26639
- return /* @__PURE__ */ (0, import_jsx_runtime211.jsxs)("div", { ...(0, import_runtime132.trussProps)({
26657
+ return /* @__PURE__ */ (0, import_jsx_runtime211.jsxs)("div", { ...(0, import_runtime133.trussProps)({
26640
26658
  display: "df",
26641
26659
  flexDirection: ["fd_var", {
26642
- "--flexDirection": (0, import_runtime132.maybeCssVar)(!horizontal ? "column" : "row")
26660
+ "--flexDirection": (0, import_runtime133.maybeCssVar)(!horizontal ? "column" : "row")
26643
26661
  }],
26644
26662
  position: "relative",
26645
26663
  overflow: "oh",
@@ -26652,23 +26670,23 @@ function ScrollShadows(props) {
26652
26670
  width: width2
26653
26671
  }
26654
26672
  }), ...tid, children: [
26655
- /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.trussProps)({
26673
+ /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime133.trussProps)({
26656
26674
  ...startShadowStyles,
26657
26675
  ...{
26658
26676
  opacity: ["o_var", {
26659
- "--opacity": (0, import_runtime132.maybeCssVar)(showStartShadow ? 1 : 0)
26677
+ "--opacity": (0, import_runtime133.maybeCssVar)(showStartShadow ? 1 : 0)
26660
26678
  }]
26661
26679
  }
26662
26680
  }), "data-chromatic": "ignore" }),
26663
- /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.trussProps)({
26681
+ /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime133.trussProps)({
26664
26682
  ...endShadowStyles,
26665
26683
  ...{
26666
26684
  opacity: ["o_var", {
26667
- "--opacity": (0, import_runtime132.maybeCssVar)(showEndShadow ? 1 : 0)
26685
+ "--opacity": (0, import_runtime133.maybeCssVar)(showEndShadow ? 1 : 0)
26668
26686
  }]
26669
26687
  }
26670
26688
  }), "data-chromatic": "ignore" }),
26671
- /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime132.trussProps)({
26689
+ /* @__PURE__ */ (0, import_jsx_runtime211.jsx)("div", { ...(0, import_runtime133.trussProps)({
26672
26690
  ...xss,
26673
26691
  ...{
26674
26692
  overflow: "oa",
@@ -26740,7 +26758,7 @@ function useHasSideNavLayoutProvider() {
26740
26758
  }
26741
26759
 
26742
26760
  // src/components/SideNav/SideNav.tsx
26743
- var import_runtime133 = require("@homebound/truss/runtime");
26761
+ var import_runtime134 = require("@homebound/truss/runtime");
26744
26762
  var import_jsx_runtime213 = require("react/jsx-runtime");
26745
26763
  function SideNav(props) {
26746
26764
  const {
@@ -26755,7 +26773,7 @@ function SideNav(props) {
26755
26773
  const panelCollapsed = navState === "collapse";
26756
26774
  const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
26757
26775
  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)({
26776
+ top !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime134.trussProps)({
26759
26777
  flexShrink: "fs0",
26760
26778
  paddingLeft: "pl2",
26761
26779
  paddingRight: "pr2",
@@ -26766,7 +26784,7 @@ function SideNav(props) {
26766
26784
  paddingBottom: "pb4"
26767
26785
  } : {}
26768
26786
  }), ...tid.top, children: top }),
26769
- /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime133.trussProps)({
26787
+ /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime134.trussProps)({
26770
26788
  flexGrow: "fg1",
26771
26789
  overflowY: "oya",
26772
26790
  display: "df",
@@ -26779,7 +26797,7 @@ function SideNav(props) {
26779
26797
  paddingTop: "pt5"
26780
26798
  } : {}
26781
26799
  }), ...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)({
26800
+ footer !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime134.trussProps)({
26783
26801
  flexShrink: "fs0",
26784
26802
  paddingLeft: "pl2",
26785
26803
  paddingRight: "pr2",
@@ -26856,7 +26874,7 @@ var snackbarId = 1;
26856
26874
  // src/components/Stepper.tsx
26857
26875
  var import_react150 = require("react");
26858
26876
  var import_react_aria64 = require("react-aria");
26859
- var import_runtime134 = require("@homebound/truss/runtime");
26877
+ var import_runtime135 = require("@homebound/truss/runtime");
26860
26878
  var import_jsx_runtime214 = require("react/jsx-runtime");
26861
26879
  var import_react151 = require("react");
26862
26880
  var __maybeInc26 = (inc) => {
@@ -26877,7 +26895,7 @@ function Stepper(props) {
26877
26895
  const minStepWidth = 100;
26878
26896
  const gap = 8;
26879
26897
  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)({
26898
+ /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("ol", { ...(0, import_runtime135.trussProps)({
26881
26899
  padding: "p_0",
26882
26900
  margin: "m_0",
26883
26901
  listStyle: "lis_none",
@@ -26887,7 +26905,7 @@ function Stepper(props) {
26887
26905
  }]
26888
26906
  }), children: steps.map((step) => {
26889
26907
  const isCurrent = currentStep === step.value;
26890
- return /* @__PURE__ */ (0, import_react151.createElement)("li", { ...(0, import_runtime134.trussProps)({
26908
+ return /* @__PURE__ */ (0, import_react151.createElement)("li", { ...(0, import_runtime135.trussProps)({
26891
26909
  display: "df",
26892
26910
  flexGrow: "fg1",
26893
26911
  flexDirection: "fdc",
@@ -26899,7 +26917,7 @@ function Stepper(props) {
26899
26917
  }]
26900
26918
  }), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
26901
26919
  }) }),
26902
- /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime134.trussProps)({
26920
+ /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime135.trussProps)({
26903
26921
  marginTop: "mt1",
26904
26922
  backgroundColor: ["bgColor_var", {
26905
26923
  "--backgroundColor": "var(--b-field-border-default)"
@@ -26912,14 +26930,14 @@ function Stepper(props) {
26912
26930
  "--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
26913
26931
  }],
26914
26932
  width: "w100"
26915
- }), children: /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime134.trussProps)({
26933
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime214.jsx)("div", { ...(0, import_runtime135.trussProps)({
26916
26934
  backgroundColor: ["bgColor_var", {
26917
26935
  "--backgroundColor": "var(--b-primary)"
26918
26936
  }],
26919
26937
  transition: "transition_width_200ms",
26920
26938
  height: "h100",
26921
26939
  width: ["w_var", {
26922
- "--width": (0, import_runtime134.maybeCssVar)(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26940
+ "--width": (0, import_runtime135.maybeCssVar)(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26923
26941
  }]
26924
26942
  }) }) })
26925
26943
  ] });
@@ -26955,7 +26973,7 @@ function StepButton(props) {
26955
26973
  boxShadow: "bshFocus"
26956
26974
  };
26957
26975
  const tid = useTestIds(props, "stepButton");
26958
- return /* @__PURE__ */ (0, import_jsx_runtime214.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime134.trussProps)({
26976
+ return /* @__PURE__ */ (0, import_jsx_runtime214.jsxs)("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...(0, import_runtime135.trussProps)({
26959
26977
  ...{
26960
26978
  fontWeight: "fw6",
26961
26979
  fontSize: "fz_14px",
@@ -27032,7 +27050,7 @@ function StepIcon({
27032
27050
  if (state === "complete") {
27033
27051
  return /* @__PURE__ */ (0, import_jsx_runtime214.jsx)(Icon, { icon: "check" });
27034
27052
  }
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)({
27053
+ 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
27054
  width: "w_10px",
27037
27055
  height: "h_10px",
27038
27056
  borderStyle: "bss",
@@ -27048,7 +27066,7 @@ function StepIcon({
27048
27066
  // src/components/StepperTabs/StepperTab.tsx
27049
27067
  var import_react152 = require("react");
27050
27068
  var import_react_aria65 = require("react-aria");
27051
- var import_runtime135 = require("@homebound/truss/runtime");
27069
+ var import_runtime136 = require("@homebound/truss/runtime");
27052
27070
  var import_jsx_runtime215 = require("react/jsx-runtime");
27053
27071
  function StepperTab(props) {
27054
27072
  const {
@@ -27080,7 +27098,7 @@ function StepperTab(props) {
27080
27098
  const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
27081
27099
  const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
27082
27100
  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)({
27101
+ 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
27102
  ...stepperTabStyles.baseStyles,
27085
27103
  ...getStateStyles(active, completed),
27086
27104
  ...isHovered && !disabled ? stepperTabStyles.hoverStyles : {},
@@ -27091,7 +27109,7 @@ function StepperTab(props) {
27091
27109
  !collapsed && /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)(import_jsx_runtime215.Fragment, { children: [
27092
27110
  /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)("span", { className: "dg jic mw0", children: [
27093
27111
  /* @__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)({
27112
+ /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime136.trussProps)({
27095
27113
  gridArea: "gridArea_1_1",
27096
27114
  overflow: "oh",
27097
27115
  display: "d_negwebkit_box",
@@ -27106,7 +27124,7 @@ function StepperTab(props) {
27106
27124
  } : {}
27107
27125
  }), children: label })
27108
27126
  ] }),
27109
- /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime135.trussProps)({
27127
+ /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { ...(0, import_runtime136.trussProps)({
27110
27128
  flexShrink: "fs0",
27111
27129
  marginLeft: "ml1",
27112
27130
  transition: "transitionAll",
@@ -27118,7 +27136,7 @@ function StepperTab(props) {
27118
27136
  } : {}
27119
27137
  }), children: /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(Icon, { icon: "check", inc: 2.5, ...tid.check }) })
27120
27138
  ] }),
27121
- /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { "aria-hidden": true, ...(0, import_runtime135.trussProps)(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
27139
+ /* @__PURE__ */ (0, import_jsx_runtime215.jsx)("span", { "aria-hidden": true, ...(0, import_runtime136.trussProps)(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
27122
27140
  /* @__PURE__ */ (0, import_jsx_runtime215.jsx)(import_react_aria65.VisuallyHidden, { children: completed ? "Complete" : "Not Complete" })
27123
27141
  ] });
27124
27142
  }
@@ -27200,7 +27218,7 @@ var stepperTabStyles = {
27200
27218
  };
27201
27219
 
27202
27220
  // src/components/StepperTabs/StepperTabs.tsx
27203
- var import_runtime136 = require("@homebound/truss/runtime");
27221
+ var import_runtime137 = require("@homebound/truss/runtime");
27204
27222
  var import_jsx_runtime216 = require("react/jsx-runtime");
27205
27223
  var import_react153 = require("react");
27206
27224
  function StepperTabs(props) {
@@ -27217,7 +27235,7 @@ function StepperTabs(props) {
27217
27235
  const collapsed = isMobile || !!forceCollapsed;
27218
27236
  const capWidth = steps.length <= 3;
27219
27237
  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)({
27238
+ 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
27239
  padding: "p_0",
27222
27240
  margin: "m_0",
27223
27241
  listStyle: "lis_none",
@@ -27232,7 +27250,7 @@ function StepperTabs(props) {
27232
27250
  }), children: steps.map((step, idx) => {
27233
27251
  const isCurrent = idx === currentStepIndex;
27234
27252
  const isCompleted = idx < currentStepIndex;
27235
- return /* @__PURE__ */ (0, import_react153.createElement)("li", { ...(0, import_runtime136.trussProps)({
27253
+ return /* @__PURE__ */ (0, import_react153.createElement)("li", { ...(0, import_runtime137.trussProps)({
27236
27254
  display: "df",
27237
27255
  flexGrow: "fg1",
27238
27256
  flexBasis: "fb_0",
@@ -27252,7 +27270,7 @@ var gapPx = 6;
27252
27270
 
27253
27271
  // src/components/SuperDrawer/components/SuperDrawerHeader.tsx
27254
27272
  var import_react_dom8 = require("react-dom");
27255
- var import_runtime137 = require("@homebound/truss/runtime");
27273
+ var import_runtime138 = require("@homebound/truss/runtime");
27256
27274
  var import_jsx_runtime217 = require("react/jsx-runtime");
27257
27275
  function SuperDrawerHeader(props) {
27258
27276
  const {
@@ -27278,7 +27296,7 @@ function SuperDrawerHeader(props) {
27278
27296
  ] }),
27279
27297
  props.right && /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { className: "fs0", children: props.right })
27280
27298
  ] }) : /* @__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)({
27299
+ !hideControls && /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { ...(0, import_runtime138.trussProps)({
27282
27300
  flexShrink: "fs0",
27283
27301
  ...isDetail ? {
27284
27302
  visibility: "vh"
@@ -27430,7 +27448,7 @@ function canClose(canCloseCheck) {
27430
27448
  }
27431
27449
 
27432
27450
  // src/components/SuperDrawer/SuperDrawerContent.tsx
27433
- var import_runtime138 = require("@homebound/truss/runtime");
27451
+ var import_runtime139 = require("@homebound/truss/runtime");
27434
27452
  var import_jsx_runtime219 = require("react/jsx-runtime");
27435
27453
  var SuperDrawerContent = ({
27436
27454
  children,
@@ -27483,7 +27501,7 @@ var SuperDrawerContent = ({
27483
27501
  }, className: "pt2", children: children2 })
27484
27502
  ] }, "content");
27485
27503
  } else {
27486
- return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(import_framer_motion7.motion.div, { ...(0, import_runtime138.mergeProps)(void 0, {
27504
+ return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(import_framer_motion7.motion.div, { ...(0, import_runtime139.mergeProps)(void 0, {
27487
27505
  overflow: "auto"
27488
27506
  }, {
27489
27507
  paddingTop: "pt3",
@@ -27496,7 +27514,7 @@ var SuperDrawerContent = ({
27496
27514
  }
27497
27515
  return /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)(import_jsx_runtime219.Fragment, { children: [
27498
27516
  wrapWithMotionAndMaybeBack(children),
27499
- actions && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("footer", { ...(0, import_runtime138.trussProps)({
27517
+ actions && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("footer", { ...(0, import_runtime139.trussProps)({
27500
27518
  borderTopStyle: "bts_solid",
27501
27519
  borderTopWidth: "btw_1px",
27502
27520
  borderColor: ["bc_var", {
@@ -27569,7 +27587,7 @@ var import_react155 = require("react");
27569
27587
  var import_react_aria66 = require("react-aria");
27570
27588
  var import_react_router = require("react-router");
27571
27589
  var import_react_router_dom8 = require("react-router-dom");
27572
- var import_runtime139 = require("@homebound/truss/runtime");
27590
+ var import_runtime140 = require("@homebound/truss/runtime");
27573
27591
  var import_jsx_runtime220 = require("react/jsx-runtime");
27574
27592
  function TabsWithContent(props) {
27575
27593
  const styles = hideTabs(props) ? {} : {
@@ -27602,7 +27620,7 @@ function TabContent(props) {
27602
27620
  return (
27603
27621
  // Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
27604
27622
  // 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() }) })
27623
+ /* @__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
27624
  );
27607
27625
  }
27608
27626
  function Tabs(props) {
@@ -27644,7 +27662,7 @@ function Tabs(props) {
27644
27662
  setActive(selected);
27645
27663
  }
27646
27664
  }
27647
- return /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)("div", { ...(0, import_runtime139.trussProps)({
27665
+ return /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)("div", { ...(0, import_runtime140.trussProps)({
27648
27666
  ...{
27649
27667
  display: "df",
27650
27668
  alignItems: "aic",
@@ -27710,7 +27728,7 @@ function TabImpl(props) {
27710
27728
  role: "tab",
27711
27729
  tabIndex: active ? 0 : -1,
27712
27730
  ...others,
27713
- ...(0, import_runtime139.trussProps)({
27731
+ ...(0, import_runtime140.trussProps)({
27714
27732
  ...baseStyles4,
27715
27733
  ...active && activeStyles3,
27716
27734
  ...isDisabled && disabledStyles3,
@@ -27747,7 +27765,7 @@ function getTabStyles() {
27747
27765
  const borderBottomStyles = {
27748
27766
  borderBottomStyle: "bbs_solid",
27749
27767
  borderBottomWidth: ["borderBottomWidth_var", {
27750
- "--borderBottomWidth": (0, import_runtime139.maybeCssVar)(`${borderBottomWidthPx}px`)
27768
+ "--borderBottomWidth": (0, import_runtime140.maybeCssVar)(`${borderBottomWidthPx}px`)
27751
27769
  }],
27752
27770
  paddingBottom: ["pb_var", {
27753
27771
  "--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
@@ -27867,7 +27885,7 @@ function useToast() {
27867
27885
  }
27868
27886
 
27869
27887
  // src/layouts/SideNavLayout/SideNavLayout.tsx
27870
- var import_runtime140 = require("@homebound/truss/runtime");
27888
+ var import_runtime141 = require("@homebound/truss/runtime");
27871
27889
  var import_jsx_runtime222 = require("react/jsx-runtime");
27872
27890
  var __maybeInc27 = (inc) => {
27873
27891
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27898,7 +27916,7 @@ function SideNavLayoutContent(props) {
27898
27916
  const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
27899
27917
  const navTop = bannerAndNavbarChromeTop();
27900
27918
  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)({
27919
+ const rail = showRail && /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { ...(0, import_runtime141.trussProps)({
27902
27920
  ...{
27903
27921
  display: "df",
27904
27922
  flexDirection: "fdc",
@@ -27922,14 +27940,14 @@ function SideNavLayoutContent(props) {
27922
27940
  position: "sticky",
27923
27941
  left: "left0",
27924
27942
  zIndex: ["z_var", {
27925
- "--zIndex": (0, import_runtime140.maybeCssVar)(zIndices.sideNav)
27943
+ "--zIndex": (0, import_runtime141.maybeCssVar)(zIndices.sideNav)
27926
27944
  }],
27927
27945
  top: ["top_var", {
27928
- "--top": (0, import_runtime140.maybeCssVar)(__maybeInc27(navTop))
27946
+ "--top": (0, import_runtime141.maybeCssVar)(__maybeInc27(navTop))
27929
27947
  }],
27930
27948
  alignSelf: "asfs",
27931
27949
  height: ["h_var", {
27932
- "--height": (0, import_runtime140.maybeCssVar)(__maybeInc27(railViewportHeight))
27950
+ "--height": (0, import_runtime141.maybeCssVar)(__maybeInc27(railViewportHeight))
27933
27951
  }],
27934
27952
  width: ["w_var", {
27935
27953
  "--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
@@ -27939,11 +27957,11 @@ function SideNavLayoutContent(props) {
27939
27957
  position: "fixed",
27940
27958
  left: "left0",
27941
27959
  top: ["top_var", {
27942
- "--top": (0, import_runtime140.maybeCssVar)(__maybeInc27(navTop))
27960
+ "--top": (0, import_runtime141.maybeCssVar)(__maybeInc27(navTop))
27943
27961
  }],
27944
27962
  bottom: "bottom0",
27945
27963
  zIndex: ["z_var", {
27946
- "--zIndex": (0, import_runtime140.maybeCssVar)(zIndices.sideNav)
27964
+ "--zIndex": (0, import_runtime141.maybeCssVar)(zIndices.sideNav)
27947
27965
  }]
27948
27966
  },
27949
27967
  ...collapsed ? {
@@ -27958,7 +27976,7 @@ function SideNavLayoutContent(props) {
27958
27976
  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
27977
  /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(SideNav, { ...sideNav }) })
27960
27978
  ] });
27961
- return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { ...(0, import_runtime140.mergeProps)(void 0, {
27979
+ return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { ...(0, import_runtime141.mergeProps)(void 0, {
27962
27980
  [beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
27963
27981
  }, {
27964
27982
  display: "df",
@@ -27966,7 +27984,7 @@ function SideNavLayoutContent(props) {
27966
27984
  width: "w100"
27967
27985
  }), ...tid, children: [
27968
27986
  contrastRail ? /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(ContrastScope, { children: rail }) : rail,
27969
- /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ...(0, import_runtime140.trussProps)({
27987
+ /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ...(0, import_runtime141.trussProps)({
27970
27988
  display: "df",
27971
27989
  flexDirection: "fdc",
27972
27990
  flexGrow: "fg1",
@@ -27982,7 +28000,7 @@ function SideNavLayoutContent(props) {
27982
28000
  }
27983
28001
 
27984
28002
  // src/layouts/CenteredLayout/CenteredLayout.tsx
27985
- var import_runtime141 = require("@homebound/truss/runtime");
28003
+ var import_runtime142 = require("@homebound/truss/runtime");
27986
28004
  var import_jsx_runtime223 = require("react/jsx-runtime");
27987
28005
  var __maybeInc28 = (inc) => {
27988
28006
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27996,7 +28014,7 @@ function CenteredLayout(props) {
27996
28014
  const {
27997
28015
  mdAndUp
27998
28016
  } = useBreakpoint();
27999
- return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { ...(0, import_runtime141.mergeProps)(void 0, {
28017
+ return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { ...(0, import_runtime142.mergeProps)(void 0, {
28000
28018
  // layoutContainer descendants (e.g. ContentHeader) read this to inset sticky horizontal chrome within the shell padding.
28001
28019
  [beamLayoutContentPaddingXVar]: mdAndUp ? mdAndUpContentPaddingX : smContentPaddingX
28002
28020
  }, {
@@ -28024,15 +28042,15 @@ var smContentPaddingX = "12px";
28024
28042
  var mdAndUpContentPaddingX = pageContentPaddingXValue;
28025
28043
  var centeredPaddingX = {
28026
28044
  paddingLeft: ["px_var mdandup_pl3", {
28027
- "--paddingLeft": (0, import_runtime141.maybeCssVar)(__maybeInc28(smContentPaddingX))
28045
+ "--paddingLeft": (0, import_runtime142.maybeCssVar)(__maybeInc28(smContentPaddingX))
28028
28046
  }],
28029
28047
  paddingRight: ["px_var mdandup_pr3", {
28030
- "--paddingRight": (0, import_runtime141.maybeCssVar)(__maybeInc28(smContentPaddingX))
28048
+ "--paddingRight": (0, import_runtime142.maybeCssVar)(__maybeInc28(smContentPaddingX))
28031
28049
  }]
28032
28050
  };
28033
28051
 
28034
28052
  // src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
28035
- var import_runtime142 = require("@homebound/truss/runtime");
28053
+ var import_runtime143 = require("@homebound/truss/runtime");
28036
28054
  var import_jsx_runtime224 = require("react/jsx-runtime");
28037
28055
  var __maybeInc29 = (inc) => {
28038
28056
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -28049,26 +28067,26 @@ function EnvironmentBannerLayout(props) {
28049
28067
  [beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
28050
28068
  };
28051
28069
  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, {
28070
+ 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
28071
  display: "df",
28054
28072
  flexDirection: "fdc",
28055
28073
  width: "wfc",
28056
28074
  minWidth: "mw100"
28057
28075
  }), ...tid, children: [
28058
- showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ...(0, import_runtime142.mergeProps)(void 0, {
28076
+ showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ...(0, import_runtime143.mergeProps)(void 0, {
28059
28077
  height: environmentBannerSizePx
28060
28078
  }, {
28061
28079
  flexShrink: "fs0",
28062
28080
  width: "w100"
28063
- }), children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ...(0, import_runtime142.trussProps)({
28081
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ...(0, import_runtime143.trussProps)({
28064
28082
  position: "fixed",
28065
28083
  top: "top0",
28066
28084
  left: "left0",
28067
28085
  zIndex: ["z_var", {
28068
- "--zIndex": (0, import_runtime142.maybeCssVar)(zIndices.environmentBanner)
28086
+ "--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.environmentBanner)
28069
28087
  }],
28070
28088
  width: ["w_var", {
28071
- "--width": (0, import_runtime142.maybeCssVar)(__maybeInc29(innerWidth))
28089
+ "--width": (0, import_runtime143.maybeCssVar)(__maybeInc29(innerWidth))
28072
28090
  }]
28073
28091
  }), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
28074
28092
  children
@@ -28076,7 +28094,7 @@ function EnvironmentBannerLayout(props) {
28076
28094
  }
28077
28095
 
28078
28096
  // src/layouts/FormSectionLayout/FormSectionLayout.tsx
28079
- var import_runtime143 = require("@homebound/truss/runtime");
28097
+ var import_runtime144 = require("@homebound/truss/runtime");
28080
28098
  var import_jsx_runtime225 = require("react/jsx-runtime");
28081
28099
  function FormSectionLayout(props) {
28082
28100
  const {
@@ -28089,7 +28107,7 @@ function FormSectionLayout(props) {
28089
28107
  aiMode = false
28090
28108
  } = props;
28091
28109
  const tid = useTestIds(props, "formSectionLayout");
28092
- const content = /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)("div", { ...(0, import_runtime143.trussProps)({
28110
+ const content = /* @__PURE__ */ (0, import_jsx_runtime225.jsxs)("div", { ...(0, import_runtime144.trussProps)({
28093
28111
  display: "df",
28094
28112
  flexDirection: "fdc",
28095
28113
  gap: "gap8",
@@ -28111,7 +28129,7 @@ function FormSectionLayout(props) {
28111
28129
 
28112
28130
  // src/layouts/NavbarLayout/NavbarLayout.tsx
28113
28131
  var import_react160 = require("react");
28114
- var import_runtime144 = require("@homebound/truss/runtime");
28132
+ var import_runtime145 = require("@homebound/truss/runtime");
28115
28133
 
28116
28134
  // src/layouts/useAutoHideOnScroll.ts
28117
28135
  var import_react157 = require("react");
@@ -28261,10 +28279,10 @@ function NavbarLayout(props) {
28261
28279
  position: "sticky",
28262
28280
  left: "left0",
28263
28281
  zIndex: ["z_var", {
28264
- "--zIndex": (0, import_runtime144.maybeCssVar)(zIndices.navbar)
28282
+ "--zIndex": (0, import_runtime145.maybeCssVar)(zIndices.navbar)
28265
28283
  }],
28266
28284
  width: ["w_var", {
28267
- "--width": (0, import_runtime144.maybeCssVar)(__maybeInc30(innerWidth))
28285
+ "--width": (0, import_runtime145.maybeCssVar)(__maybeInc30(innerWidth))
28268
28286
  }]
28269
28287
  }
28270
28288
  ) : (
@@ -28273,10 +28291,10 @@ function NavbarLayout(props) {
28273
28291
  position: "fixed",
28274
28292
  left: "left0",
28275
28293
  zIndex: ["z_var", {
28276
- "--zIndex": (0, import_runtime144.maybeCssVar)(zIndices.navbar)
28294
+ "--zIndex": (0, import_runtime145.maybeCssVar)(zIndices.navbar)
28277
28295
  }],
28278
28296
  width: ["w_var", {
28279
- "--width": (0, import_runtime144.maybeCssVar)(__maybeInc30(innerWidth))
28297
+ "--width": (0, import_runtime145.maybeCssVar)(__maybeInc30(innerWidth))
28280
28298
  }],
28281
28299
  transition: "transitionTop"
28282
28300
  }
@@ -28286,18 +28304,18 @@ function NavbarLayout(props) {
28286
28304
  top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
28287
28305
  } : void 0;
28288
28306
  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, {
28307
+ 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
28308
  display: "df",
28291
28309
  flexDirection: "fdc",
28292
28310
  width: "wfc",
28293
28311
  minWidth: "mw100"
28294
28312
  }), ...tid, children: [
28295
- /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: spacerRef, ...(0, import_runtime144.mergeProps)(void 0, {
28313
+ /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: spacerRef, ...(0, import_runtime145.mergeProps)(void 0, {
28296
28314
  height: navHeight
28297
28315
  }, {
28298
28316
  flexShrink: "fs0",
28299
28317
  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 }) }),
28318
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime145.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
28301
28319
  /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
28302
28320
  ] }) }) }) });
28303
28321
  }
@@ -28306,7 +28324,7 @@ function NavbarLayout(props) {
28306
28324
  var import_react161 = require("react");
28307
28325
 
28308
28326
  // src/components/Headers/BaseHeader.tsx
28309
- var import_runtime145 = require("@homebound/truss/runtime");
28327
+ var import_runtime146 = require("@homebound/truss/runtime");
28310
28328
  var import_jsx_runtime228 = require("react/jsx-runtime");
28311
28329
  function BaseHeader(props) {
28312
28330
  const {
@@ -28319,7 +28337,7 @@ function BaseHeader(props) {
28319
28337
  } = props;
28320
28338
  const tid = useTestIds(otherProps, "header");
28321
28339
  useDocumentTitle(title, documentTitleSuffix);
28322
- return /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("header", { ...tid, ...(0, import_runtime145.trussProps)({
28340
+ return /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("header", { ...tid, ...(0, import_runtime146.trussProps)({
28323
28341
  display: "df",
28324
28342
  flexDirection: "fdc",
28325
28343
  paddingTop: "pt3",
@@ -28333,7 +28351,7 @@ function BaseHeader(props) {
28333
28351
  "--backgroundColor": "var(--b-surface)"
28334
28352
  }]
28335
28353
  }), children: [
28336
- /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { ...(0, import_runtime145.trussProps)({
28354
+ /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { ...(0, import_runtime146.trussProps)({
28337
28355
  ...{
28338
28356
  display: "df",
28339
28357
  justifyContent: "jcsb",
@@ -28349,7 +28367,7 @@ function BaseHeader(props) {
28349
28367
  }), children: [
28350
28368
  /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { className: "mw0", children: [
28351
28369
  breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(Breadcrumbs, { ...breadcrumbs }),
28352
- /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("h1", { ...tid.title, ...(0, import_runtime145.trussProps)({
28370
+ /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("h1", { ...tid.title, ...(0, import_runtime146.trussProps)({
28353
28371
  fontWeight: "fw6",
28354
28372
  fontSize: "fz_20px",
28355
28373
  lineHeight: "lh_28px",
@@ -28365,7 +28383,7 @@ function BaseHeader(props) {
28365
28383
  }
28366
28384
 
28367
28385
  // src/components/Headers/PageHeader.tsx
28368
- var import_runtime146 = require("@homebound/truss/runtime");
28386
+ var import_runtime147 = require("@homebound/truss/runtime");
28369
28387
  var import_jsx_runtime229 = require("react/jsx-runtime");
28370
28388
  function PageHeader2(props) {
28371
28389
  const {
@@ -28373,7 +28391,7 @@ function PageHeader2(props) {
28373
28391
  ...otherProps
28374
28392
  } = props;
28375
28393
  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 }) }) });
28394
+ 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
28395
  }
28378
28396
 
28379
28397
  // src/layouts/useBannerAndNavbarHeight.ts
@@ -28382,7 +28400,7 @@ function useBannerAndNavbarHeight() {
28382
28400
  }
28383
28401
 
28384
28402
  // src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
28385
- var import_runtime147 = require("@homebound/truss/runtime");
28403
+ var import_runtime148 = require("@homebound/truss/runtime");
28386
28404
  var import_jsx_runtime230 = require("react/jsx-runtime");
28387
28405
  var __maybeInc31 = (inc) => {
28388
28406
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -28414,24 +28432,24 @@ function PageHeaderLayout(props) {
28414
28432
  const innerCss = autoHideState === "static" ? {
28415
28433
  position: "sticky",
28416
28434
  left: ["left_var", {
28417
- "--left": (0, import_runtime147.maybeCssVar)(__maybeInc31(headerLeft))
28435
+ "--left": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerLeft))
28418
28436
  }],
28419
28437
  width: ["w_var", {
28420
- "--width": (0, import_runtime147.maybeCssVar)(__maybeInc31(headerWidth))
28438
+ "--width": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerWidth))
28421
28439
  }],
28422
28440
  zIndex: ["z_var", {
28423
- "--zIndex": (0, import_runtime147.maybeCssVar)(zIndices.pageStickyHeader)
28441
+ "--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.pageStickyHeader)
28424
28442
  }]
28425
28443
  } : {
28426
28444
  position: "fixed",
28427
28445
  left: ["left_var", {
28428
- "--left": (0, import_runtime147.maybeCssVar)(__maybeInc31(headerLeft))
28446
+ "--left": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerLeft))
28429
28447
  }],
28430
28448
  width: ["w_var", {
28431
- "--width": (0, import_runtime147.maybeCssVar)(__maybeInc31(headerWidth))
28449
+ "--width": (0, import_runtime148.maybeCssVar)(__maybeInc31(headerWidth))
28432
28450
  }],
28433
28451
  zIndex: ["z_var", {
28434
- "--zIndex": (0, import_runtime147.maybeCssVar)(zIndices.pageStickyHeader)
28452
+ "--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.pageStickyHeader)
28435
28453
  }],
28436
28454
  transition: "transitionTop"
28437
28455
  };
@@ -28439,42 +28457,105 @@ function PageHeaderLayout(props) {
28439
28457
  top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
28440
28458
  } : void 0;
28441
28459
  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, {
28460
+ return /* @__PURE__ */ (0, import_jsx_runtime230.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime230.jsxs)("div", { ...(0, import_runtime148.mergeProps)(void 0, cssVars, {
28443
28461
  display: "df",
28444
28462
  flexDirection: "fdc",
28445
28463
  width: "w100"
28446
28464
  }), ...tid, children: [
28447
- /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ref: spacerRef, ...(0, import_runtime147.mergeProps)(void 0, {
28465
+ /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ref: spacerRef, ...(0, import_runtime148.mergeProps)(void 0, {
28448
28466
  height: headerHeight
28449
28467
  }, {
28450
28468
  flexShrink: "fs0",
28451
28469
  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 }) }),
28470
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime148.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
28453
28471
  /* @__PURE__ */ (0, import_jsx_runtime230.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
28454
28472
  ] }) });
28455
28473
  }
28456
28474
 
28457
- // src/layouts/WorkflowLayout/WorkflowLayout.tsx
28458
- var import_react163 = require("react");
28475
+ // src/layouts/Workflow/JumpLinksRail.tsx
28476
+ var import_runtime149 = require("@homebound/truss/runtime");
28477
+ var import_jsx_runtime231 = require("react/jsx-runtime");
28478
+ var __maybeInc32 = (inc) => {
28479
+ return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
28480
+ };
28481
+ var jumpLinksRailWidthPx = 180;
28482
+ function JumpLinksRail(props) {
28483
+ const {
28484
+ links,
28485
+ activeId
28486
+ } = props;
28487
+ const tid = useTestIds(props, "jumpLinks");
28488
+ return /* @__PURE__ */ (0, import_jsx_runtime231.jsx)("nav", { ...(0, import_runtime149.trussProps)({
28489
+ display: "df",
28490
+ flexDirection: "fdc",
28491
+ flexShrink: "fs0",
28492
+ width: ["w_var", {
28493
+ "--width": `${jumpLinksRailWidthPx}px`
28494
+ }],
28495
+ position: "sticky",
28496
+ alignSelf: "asfs",
28497
+ top: ["top_var", {
28498
+ "--top": (0, import_runtime149.maybeCssVar)(__maybeInc32(stickyNavAndHeaderOffset()))
28499
+ }]
28500
+ }), ...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)) });
28501
+ }
28502
+
28503
+ // src/layouts/Workflow/useActiveJumpLink.ts
28504
+ var import_react162 = require("react");
28505
+ var activationLeadPx = 120;
28506
+ function useActiveJumpLink(sectionIds) {
28507
+ const idsKey = sectionIds.join("\0");
28508
+ const [activeId, setActiveId] = (0, import_react162.useState)(sectionIds[0]);
28509
+ (0, import_react162.useLayoutEffect)(() => {
28510
+ const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
28511
+ if (ids.length === 0) return;
28512
+ const update = () => {
28513
+ const first = ids.map((id) => document.getElementById(id)).find((el) => el !== null);
28514
+ if (!first) return;
28515
+ const headerOffset = stickyNavAndHeaderOffsetPx(first);
28516
+ let current = ids[0];
28517
+ for (const id of ids) {
28518
+ const el = document.getElementById(id);
28519
+ if (el && el.getBoundingClientRect().top - headerOffset <= activationLeadPx) {
28520
+ current = id;
28521
+ }
28522
+ }
28523
+ setActiveId(current);
28524
+ };
28525
+ update();
28526
+ window.addEventListener("scroll", update, { passive: true });
28527
+ return () => window.removeEventListener("scroll", update);
28528
+ }, [idsKey]);
28529
+ return sectionIds.includes(activeId ?? "") ? activeId : sectionIds[0];
28530
+ }
28531
+
28532
+ // src/layouts/Workflow/WorkflowPageLayout.tsx
28533
+ var import_react164 = require("react");
28459
28534
 
28460
28535
  // src/components/Headers/WorkflowHeader.tsx
28461
- var import_jsx_runtime231 = require("react/jsx-runtime");
28536
+ var import_jsx_runtime232 = require("react/jsx-runtime");
28462
28537
  function WorkflowHeader(props) {
28463
28538
  const { stepperTabs, ...otherProps } = props;
28464
28539
  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 }) });
28540
+ return /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(
28541
+ BaseHeader,
28542
+ {
28543
+ ...otherProps,
28544
+ bottomSlot: stepperTabs ? /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) : void 0
28545
+ }
28546
+ );
28466
28547
  }
28467
28548
 
28468
- // src/layouts/WorkflowLayout/useUnsavedChangesGuard.tsx
28469
- var import_react162 = require("react");
28549
+ // src/layouts/Workflow/useUnsavedChangesGuard.tsx
28550
+ var import_react163 = require("react");
28470
28551
  var import_react_router_dom9 = require("react-router-dom");
28471
- var import_jsx_runtime232 = require("react/jsx-runtime");
28552
+ var import_jsx_runtime233 = require("react/jsx-runtime");
28472
28553
  function useUnsavedChangesGuard(options) {
28473
28554
  const { isDirty, onCancel } = options;
28474
28555
  const { openModal } = useModal();
28475
- const isDirtyRef = (0, import_react162.useRef)(isDirty);
28556
+ const isDirtyRef = (0, import_react163.useRef)(isDirty);
28476
28557
  isDirtyRef.current = isDirty;
28477
- (0, import_react162.useEffect)(() => {
28558
+ (0, import_react163.useEffect)(() => {
28478
28559
  const onBeforeUnload = (e) => {
28479
28560
  if (isDirtyRef.current?.()) {
28480
28561
  e.preventDefault();
@@ -28491,7 +28572,7 @@ function useUnsavedChangesGuard(options) {
28491
28572
  }
28492
28573
  openModal({
28493
28574
  allowClosing: false,
28494
- content: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
28575
+ content: /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
28495
28576
  });
28496
28577
  };
28497
28578
  const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
@@ -28500,67 +28581,67 @@ function useUnsavedChangesGuard(options) {
28500
28581
  function UnsavedChangesNavigationModal(props) {
28501
28582
  const { proceed, cancelNavigation } = props;
28502
28583
  const { openModal, closeModal } = useModal();
28503
- (0, import_react162.useEffect)(() => {
28584
+ (0, import_react163.useEffect)(() => {
28504
28585
  openModal({
28505
28586
  allowClosing: false,
28506
- content: /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
28587
+ content: /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
28507
28588
  });
28508
28589
  return () => closeModal();
28509
28590
  }, []);
28510
28591
  return null;
28511
28592
  }
28512
28593
 
28513
- // src/layouts/WorkflowLayout/WorkflowActions.tsx
28514
- var import_jsx_runtime233 = require("react/jsx-runtime");
28594
+ // src/layouts/Workflow/WorkflowActions.tsx
28595
+ var import_jsx_runtime234 = require("react/jsx-runtime");
28515
28596
  function WorkflowActions(props) {
28516
28597
  const {
28517
- isFirstStep,
28518
- isLastStep,
28519
- isMobile,
28520
- onBack,
28521
28598
  onCancel,
28522
28599
  onSaveAndExit,
28523
28600
  completeLabel,
28524
28601
  onComplete,
28525
- onContinue,
28526
28602
  primaryDisabled,
28527
- aiMode = false
28603
+ aiMode = false,
28604
+ isFirstStep = true,
28605
+ isLastStep = true,
28606
+ onBack,
28607
+ onContinue
28528
28608
  } = props;
28609
+ const {
28610
+ sm: isMobile
28611
+ } = useBreakpoint();
28529
28612
  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 })
28613
+ return /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
28614
+ /* @__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 }) }),
28615
+ /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)("div", { className: "df aic gap1", children: [
28616
+ /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
28617
+ onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
28618
+ 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 () => {
28619
+ await onContinue?.();
28620
+ }, disabled: primaryDisabled })
28536
28621
  ] })
28537
28622
  ] });
28538
28623
  }
28539
28624
 
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) => {
28625
+ // src/layouts/Workflow/WorkflowPageLayout.tsx
28626
+ var import_runtime150 = require("@homebound/truss/runtime");
28627
+ var import_jsx_runtime235 = require("react/jsx-runtime");
28628
+ var __maybeInc33 = (inc) => {
28544
28629
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
28545
28630
  };
28546
- function WorkflowLayout(props) {
28631
+ var mobileFooterHeightPx = 80;
28632
+ function WorkflowPageLayout(props) {
28547
28633
  const {
28548
- steps,
28549
- defaultStep,
28550
- onCancel,
28551
- completeLabel,
28552
- onComplete,
28553
- onSaveAndExit,
28634
+ stepperTabs,
28635
+ aiMode,
28554
28636
  isDirty,
28555
- aiMode = false,
28556
- ...headerProps
28637
+ children,
28638
+ title,
28639
+ documentTitleSuffix,
28640
+ breadcrumbs,
28641
+ onCancel,
28642
+ ...actionProps
28557
28643
  } = 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");
28644
+ const tid = useTestIds(props, "workflowPageLayout");
28564
28645
  const {
28565
28646
  sm: isMobile
28566
28647
  } = useBreakpoint();
@@ -28571,27 +28652,16 @@ function WorkflowLayout(props) {
28571
28652
  isDirty,
28572
28653
  onCancel
28573
28654
  });
28574
- const headerMetricsRef = (0, import_react163.useRef)(null);
28655
+ const actions = /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick });
28656
+ const headerMetricsRef = (0, import_react164.useRef)(null);
28575
28657
  const headerHeight = useMeasuredHeight(headerMetricsRef, true);
28576
28658
  const headerWidth = documentScrollChromeWidth();
28577
28659
  const outerTop = bannerAndNavbarChromeTop();
28578
28660
  const cssVars = headerHeight > 0 ? {
28579
28661
  [beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
28580
28662
  } : 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
28663
  const showFooter = isMobile;
28594
- (0, import_react163.useLayoutEffect)(() => {
28664
+ (0, import_react164.useLayoutEffect)(() => {
28595
28665
  const root = document.documentElement;
28596
28666
  const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
28597
28667
  root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
@@ -28603,39 +28673,26 @@ function WorkflowLayout(props) {
28603
28673
  }
28604
28674
  };
28605
28675
  }, [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, {
28676
+ return /* @__PURE__ */ (0, import_jsx_runtime235.jsxs)(DocumentScrollLayoutProvider, { children: [
28677
+ /* @__PURE__ */ (0, import_jsx_runtime235.jsxs)("div", { ...(0, import_runtime150.mergeProps)(void 0, cssVars, {
28621
28678
  display: "df",
28622
28679
  flexDirection: "fdc",
28623
28680
  width: "w100"
28624
28681
  }), ...tid, children: [
28625
- /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime148.trussProps)({
28682
+ /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime150.trussProps)({
28626
28683
  position: "sticky",
28627
28684
  left: "left0",
28628
28685
  width: ["w_var", {
28629
- "--width": (0, import_runtime148.maybeCssVar)(__maybeInc32(headerWidth))
28686
+ "--width": (0, import_runtime150.maybeCssVar)(__maybeInc33(headerWidth))
28630
28687
  }],
28631
28688
  zIndex: ["z_var", {
28632
- "--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.pageStickyHeader)
28689
+ "--zIndex": (0, import_runtime150.maybeCssVar)(zIndices.pageStickyHeader)
28633
28690
  }],
28634
28691
  top: ["top_var", {
28635
- "--top": (0, import_runtime148.maybeCssVar)(__maybeInc32(outerTop))
28692
+ "--top": (0, import_runtime150.maybeCssVar)(__maybeInc33(outerTop))
28636
28693
  }]
28637
- }), ...tid.header, children: headerEl }),
28638
- /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ...(0, import_runtime148.trussProps)({
28694
+ }), ...tid.header, children: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(WorkflowHeader, { title, documentTitleSuffix, breadcrumbs, rightSlot: isMobile ? void 0 : actions, stepperTabs }) }),
28695
+ /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ...(0, import_runtime150.trussProps)({
28639
28696
  ...{
28640
28697
  display: "df",
28641
28698
  flexDirection: "fdc",
@@ -28647,28 +28704,28 @@ function WorkflowLayout(props) {
28647
28704
  ...aiMode && {
28648
28705
  backgroundImage: "aiBackground",
28649
28706
  minHeight: ["mh_var", {
28650
- "--minHeight": (0, import_runtime148.maybeCssVar)(documentScrollBodyMinHeight())
28707
+ "--minHeight": (0, import_runtime150.maybeCssVar)(documentScrollBodyMinHeight())
28651
28708
  }]
28652
28709
  }
28653
- }), ...tid.body, children: activeStep?.content }),
28654
- showFooter && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ...(0, import_runtime148.trussProps)({
28710
+ }), ...tid.body, children }),
28711
+ showFooter && /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ...(0, import_runtime150.trussProps)({
28655
28712
  flexShrink: "fs0",
28656
28713
  width: "w100",
28657
28714
  height: ["h_var", {
28658
28715
  "--height": `${mobileFooterHeightPx}px`
28659
28716
  }]
28660
- }), children: /* @__PURE__ */ (0, import_jsx_runtime234.jsx)("div", { ...(0, import_runtime148.trussProps)({
28717
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime235.jsx)("div", { ...(0, import_runtime150.trussProps)({
28661
28718
  ...{
28662
28719
  position: "fixed",
28663
28720
  bottom: "bottom0",
28664
28721
  width: ["w_var", {
28665
- "--width": (0, import_runtime148.maybeCssVar)(__maybeInc32(headerWidth))
28722
+ "--width": (0, import_runtime150.maybeCssVar)(__maybeInc33(headerWidth))
28666
28723
  }],
28667
28724
  height: ["h_var", {
28668
28725
  "--height": `${mobileFooterHeightPx}px`
28669
28726
  }],
28670
28727
  zIndex: ["z_var", {
28671
- "--zIndex": (0, import_runtime148.maybeCssVar)(zIndices.pageStickyFooter)
28728
+ "--zIndex": (0, import_runtime150.maybeCssVar)(zIndices.pageStickyFooter)
28672
28729
  }],
28673
28730
  display: "df",
28674
28731
  alignItems: "aic",
@@ -28684,17 +28741,95 @@ function WorkflowLayout(props) {
28684
28741
  }]
28685
28742
  },
28686
28743
  ...pageContentPaddingX
28687
- }), ...tid.footer, children: buttons }) })
28744
+ }), ...tid.footer, children: actions }) })
28688
28745
  ] }),
28689
- navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
28746
+ navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime235.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
28690
28747
  ] });
28691
28748
  }
28692
- var mobileFooterHeightPx = 80;
28693
- function isValidStep(steps, value) {
28749
+
28750
+ // src/layouts/Workflow/FocusedFormLayout.tsx
28751
+ var import_jsx_runtime236 = require("react/jsx-runtime");
28752
+ function FocusedFormLayout(props) {
28753
+ const {
28754
+ onCancel,
28755
+ completeLabel,
28756
+ onComplete,
28757
+ onSaveAndExit,
28758
+ isValid,
28759
+ isDirty,
28760
+ withJumpLinks = true,
28761
+ aiMode,
28762
+ form,
28763
+ ...headerProps
28764
+ } = props;
28765
+ const tid = useTestIds(props, "focusedFormLayout");
28766
+ const {
28767
+ sm: isMobile
28768
+ } = useBreakpoint();
28769
+ const jumpLinks = (form.sections ?? []).filter((section) => !section.excludeJumpLink).map((section) => {
28770
+ const id = defaultTestId(section.title);
28771
+ return {
28772
+ id,
28773
+ label: section.title
28774
+ };
28775
+ });
28776
+ const activeId = useActiveJumpLink(jumpLinks.map((link) => link.id));
28777
+ const showRail = withJumpLinks && jumpLinks.length >= 2 && !isMobile;
28778
+ 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: [
28779
+ showRail && /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(JumpLinksRail, { links: jumpLinks, activeId, ...tid.jumpLinks }),
28780
+ /* @__PURE__ */ (0, import_jsx_runtime236.jsx)("div", { className: "fg1 mw0 mb4", children: /* @__PURE__ */ (0, import_jsx_runtime236.jsx)(FormSectionLayout, { ...form, aiMode }) })
28781
+ ] }) });
28782
+ }
28783
+
28784
+ // src/layouts/Workflow/StepperLayout.tsx
28785
+ var import_react165 = require("react");
28786
+ var import_jsx_runtime237 = require("react/jsx-runtime");
28787
+ function StepperLayout(props) {
28788
+ const { steps, defaultStep, onCancel, completeLabel, onComplete, onSaveAndExit, isDirty, aiMode, ...headerProps } = props;
28789
+ const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
28790
+ const [currentStep, setCurrentStep] = (0, import_react165.useState)(() => getInitialStep(stepTabs, defaultStep));
28791
+ const tid = useTestIds(props, "stepperLayout");
28792
+ const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
28793
+ const isFirstStep = currentIndex <= 0;
28794
+ const isLastStep = currentIndex >= stepTabs.length - 1;
28795
+ const activeStep = stepTabs[currentIndex];
28796
+ return /* @__PURE__ */ (0, import_jsx_runtime237.jsx)(
28797
+ WorkflowPageLayout,
28798
+ {
28799
+ ...tid,
28800
+ ...headerProps,
28801
+ aiMode,
28802
+ stepperTabs: { steps: stepTabs, currentStep, onChange: setCurrentStep },
28803
+ isDirty,
28804
+ isFirstStep,
28805
+ isLastStep,
28806
+ onBack: () => {
28807
+ const prev = stepTabs[currentIndex - 1];
28808
+ if (prev) setCurrentStep(prev.value);
28809
+ },
28810
+ onCancel,
28811
+ onSaveAndExit,
28812
+ completeLabel,
28813
+ onComplete,
28814
+ primaryDisabled: !activeStep?.isValid,
28815
+ onContinue: async () => {
28816
+ const onContinue = activeStep?.onContinue;
28817
+ if (onContinue) {
28818
+ const allowed = await onContinue();
28819
+ if (allowed === false) return;
28820
+ }
28821
+ const next = stepTabs[currentIndex + 1];
28822
+ if (next) setCurrentStep(next.value);
28823
+ },
28824
+ children: activeStep?.content
28825
+ }
28826
+ );
28827
+ }
28828
+ function hasStep(steps, value) {
28694
28829
  return steps.some((step) => step.value === value);
28695
28830
  }
28696
28831
  function getInitialStep(steps, defaultStep) {
28697
- return defaultStep !== void 0 && isValidStep(steps, defaultStep) ? defaultStep : steps[0]?.value;
28832
+ return defaultStep !== void 0 && hasStep(steps, defaultStep) ? defaultStep : steps[0]?.value ?? "";
28698
28833
  }
28699
28834
  // Annotate the CommonJS export names for ESM import in node:
28700
28835
  0 && (module.exports = {
@@ -28780,6 +28915,7 @@ function getInitialStep(steps, defaultStep) {
28780
28915
  FieldGroup,
28781
28916
  FilterModal,
28782
28917
  Filters,
28918
+ FocusedFormLayout,
28783
28919
  FormDivider,
28784
28920
  FormHeading,
28785
28921
  FormLines,
@@ -28852,6 +28988,7 @@ function getInitialStep(steps, defaultStep) {
28852
28988
  SortHeader,
28853
28989
  StaticField,
28854
28990
  Stepper,
28991
+ StepperLayout,
28855
28992
  StepperTab,
28856
28993
  StepperTabs,
28857
28994
  SubmitButton,
@@ -28879,7 +29016,6 @@ function getInitialStep(steps, defaultStep) {
28879
29016
  Tooltip,
28880
29017
  TreeSelectField,
28881
29018
  ViewToggleButton,
28882
- WorkflowLayout,
28883
29019
  actionColumn,
28884
29020
  applyRowFn,
28885
29021
  assignDefaultColumnIds,
@@ -29032,6 +29168,7 @@ function getInitialStep(steps, defaultStep) {
29032
29168
  sortFn,
29033
29169
  sortRows,
29034
29170
  stickyNavAndHeaderOffset,
29171
+ stickyNavAndHeaderOffsetPx,
29035
29172
  stickyTableHeaderOffset,
29036
29173
  sumColumnSizesPx,
29037
29174
  switchFocusStyles,