@homebound/beam 3.91.0 → 3.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6151,6 +6151,11 @@ function bannerAndNavbarChromeTop() {
6151
6151
  function stickyNavAndHeaderOffset(basePx = 0) {
6152
6152
  return `calc(${basePx}px + var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px))`;
6153
6153
  }
6154
+ function stickyNavAndHeaderOffsetPx(el) {
6155
+ const styles = getComputedStyle(el);
6156
+ const read = (name) => parseFloat(styles.getPropertyValue(name)) || 0;
6157
+ return read(beamEnvironmentBannerLayoutHeightVar) + read(beamNavbarLayoutHeightVar) + read(beamPageHeaderLayoutHeightVar);
6158
+ }
6154
6159
  function stickyTableHeaderOffset(basePx = 0) {
6155
6160
  return `calc(${basePx}px + var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px) + var(${beamTableActionsHeightVar}, 0px))`;
6156
6161
  }
@@ -6177,7 +6182,7 @@ var zIndices = {
6177
6182
  // Document-scroll detail pane (DocumentScrollRightPaneLayout) — above table sticky chrome, below page sticky headers.
6178
6183
  rightPane: 60,
6179
6184
  pageStickyHeader: 70,
6180
- // Sticky mobile action footer (WorkflowLayout) — same tier as pageStickyHeader; header and footer never overlap on screen.
6185
+ // Sticky mobile action footer (workflow layouts) — same tier as pageStickyHeader; header and footer never overlap on screen.
6181
6186
  pageStickyFooter: 70,
6182
6187
  dragHandle: 80,
6183
6188
  // Side-nav layer. Mobile rail overlays page content when expanded; sits below
@@ -21381,6 +21386,9 @@ var headingByLevel = {
21381
21386
  }
21382
21387
  };
21383
21388
 
21389
+ // src/forms/FormSection/FormSection.tsx
21390
+ import { trussProps as trussProps90, maybeCssVar as maybeCssVar43 } from "@homebound/truss/runtime";
21391
+
21384
21392
  // src/forms/FormSection/FormSectionChild.tsx
21385
21393
  import { useRef as useRef50 } from "react";
21386
21394
 
@@ -21520,7 +21528,14 @@ function FormSection(props) {
21520
21528
  childSections
21521
21529
  } = props;
21522
21530
  const tid = useTestIds(props, "formSection");
21523
- return /* @__PURE__ */ jsxs73("div", { className: "df fdc gap2", children: [
21531
+ return /* @__PURE__ */ jsxs73("div", { id: defaultTestId(title), ...trussProps90({
21532
+ display: "df",
21533
+ flexDirection: "fdc",
21534
+ gap: "gap2",
21535
+ scrollMarginTop: ["scrollMarginTop_var", {
21536
+ "--scrollMarginTop": maybeCssVar43(stickyNavAndHeaderOffset())
21537
+ }]
21538
+ }), ...tid.section, children: [
21524
21539
  /* @__PURE__ */ jsx149(ContentHeader, { ...tid, title, description, actions, level: 3 }),
21525
21540
  fields,
21526
21541
  childSections && (isReorderable(childSections) ? /* @__PURE__ */ jsx149(DraggableChildren, { childSections, ...tid.childSection }) : /* @__PURE__ */ jsx149("div", { className: "df fdc gap3", children: childSections.map((child) => /* @__PURE__ */ jsx149(FormSectionChild, { ...child, ...tid.childSection }, child.id ?? child.title)) }))
@@ -21557,7 +21572,7 @@ function sortByOrderField(childSections) {
21557
21572
 
21558
21573
  // src/forms/StaticField.tsx
21559
21574
  import { useId as useId3 } from "@react-aria/utils";
21560
- import { trussProps as trussProps90 } from "@homebound/truss/runtime";
21575
+ import { trussProps as trussProps91 } from "@homebound/truss/runtime";
21561
21576
  import { jsx as jsx150, jsxs as jsxs74 } from "react/jsx-runtime";
21562
21577
  function StaticField(props) {
21563
21578
  const {
@@ -21571,14 +21586,14 @@ function StaticField(props) {
21571
21586
  } = props;
21572
21587
  const tid = useTestIds(props, typeof label === "string" ? defaultTestId(label) : "staticField");
21573
21588
  const id = useId3();
21574
- return /* @__PURE__ */ jsxs74("div", { ...trussProps90({
21589
+ return /* @__PURE__ */ jsxs74("div", { ...trussProps91({
21575
21590
  ...labelStyle === "left" ? {
21576
21591
  display: "df",
21577
21592
  justifyContent: "jcsb",
21578
21593
  maxWidth: "maxw100"
21579
21594
  } : {}
21580
21595
  }), ...tid.container, children: [
21581
- /* @__PURE__ */ jsx150("label", { ...trussProps90({
21596
+ /* @__PURE__ */ jsx150("label", { ...trussProps91({
21582
21597
  display: "db",
21583
21598
  fontWeight: "fw4",
21584
21599
  fontSize: "fz_14px",
@@ -21588,7 +21603,7 @@ function StaticField(props) {
21588
21603
  }],
21589
21604
  marginBottom: "mb_4px"
21590
21605
  }), htmlFor: id, ...tid.label, children: label }),
21591
- /* @__PURE__ */ jsx150("div", { id, ...trussProps90({
21606
+ /* @__PURE__ */ jsx150("div", { id, ...trussProps91({
21592
21607
  fontWeight: "fw4",
21593
21608
  fontSize: "fz_14px",
21594
21609
  lineHeight: "lh_20px",
@@ -21638,7 +21653,7 @@ import { useDebouncedCallback as useDebouncedCallback5 } from "use-debounce";
21638
21653
  // src/components/RightSidebar.tsx
21639
21654
  import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
21640
21655
  import { useState as useState40 } from "react";
21641
- import { trussProps as trussProps91, maybeCssVar as maybeCssVar43 } from "@homebound/truss/runtime";
21656
+ import { trussProps as trussProps92, maybeCssVar as maybeCssVar44 } from "@homebound/truss/runtime";
21642
21657
  import { Fragment as Fragment29, jsx as jsx152, jsxs as jsxs75 } from "react/jsx-runtime";
21643
21658
  var RIGHT_SIDEBAR_MIN_WIDTH = "250px";
21644
21659
  function RightSidebar({
@@ -21678,27 +21693,27 @@ function RightSidebar({
21678
21693
  duration: 0.2
21679
21694
  },
21680
21695
  x: "100%"
21681
- }, ...trussProps91({
21696
+ }, ...trussProps92({
21682
21697
  width: "w100",
21683
21698
  minWidth: ["mw_var", {
21684
- "--minWidth": maybeCssVar43(RIGHT_SIDEBAR_MIN_WIDTH)
21699
+ "--minWidth": maybeCssVar44(RIGHT_SIDEBAR_MIN_WIDTH)
21685
21700
  }],
21686
21701
  zIndex: "z0",
21687
21702
  maxHeight: ["maxh_var", {
21688
- "--maxHeight": maybeCssVar43(`calc(100vh - ${headerHeightPx2}px)`)
21703
+ "--maxHeight": maybeCssVar44(`calc(100vh - ${headerHeightPx2}px)`)
21689
21704
  }],
21690
21705
  overflowY: "oya",
21691
21706
  paddingLeft: "pl4",
21692
21707
  paddingRight: "pr3"
21693
21708
  }), children: /* @__PURE__ */ jsxs75(Fragment29, { children: [
21694
- /* @__PURE__ */ jsxs75("div", { ...trussProps91({
21709
+ /* @__PURE__ */ jsxs75("div", { ...trussProps92({
21695
21710
  position: "sticky",
21696
21711
  top: "top0",
21697
21712
  backgroundColor: ["bgColor_var", {
21698
21713
  "--backgroundColor": "var(--b-surface)"
21699
21714
  }]
21700
21715
  }), children: [
21701
- /* @__PURE__ */ jsxs75("div", { ...trussProps91({
21716
+ /* @__PURE__ */ jsxs75("div", { ...trussProps92({
21702
21717
  position: "absolute",
21703
21718
  left: ["left_var", {
21704
21719
  "--left": `${-24}px`
@@ -21709,7 +21724,7 @@ function RightSidebar({
21709
21724
  alignItems: "aic"
21710
21725
  }), children: [
21711
21726
  /* @__PURE__ */ jsx152(IconButton, { bgColor: "--b-surface" /* Surface */, variant: "circle", onClick: () => setSelectedIcon(void 0), icon: "x", inc: 3.5 }),
21712
- /* @__PURE__ */ jsx152("div", { ...trussProps91({
21727
+ /* @__PURE__ */ jsx152("div", { ...trussProps92({
21713
21728
  position: "absolute",
21714
21729
  top: "top_48px",
21715
21730
  height: "h_calc_100vh_168px",
@@ -21777,7 +21792,7 @@ function Toast() {
21777
21792
  // src/components/Layout/PageHeaderBreadcrumbs.tsx
21778
21793
  import { Fragment as Fragment31, useMemo as useMemo36, useState as useState42 } from "react";
21779
21794
  import { Link as Link5 } from "react-router-dom";
21780
- import { trussProps as trussProps92, mergeProps as mergeProps24 } from "@homebound/truss/runtime";
21795
+ import { trussProps as trussProps93, mergeProps as mergeProps24 } from "@homebound/truss/runtime";
21781
21796
  import { Fragment as Fragment32, jsx as jsx155, jsxs as jsxs76 } from "react/jsx-runtime";
21782
21797
  function PageHeaderBreadcrumbs({
21783
21798
  breadcrumb
@@ -21789,7 +21804,7 @@ function PageHeaderBreadcrumbs({
21789
21804
  return (
21790
21805
  // Adding index to key to prevent rendering issues when multiple items have the same label
21791
21806
  /* @__PURE__ */ jsxs76(Fragment31, { children: [
21792
- index > 0 && !hideDivisor && /* @__PURE__ */ jsx155("span", { ...trussProps92({
21807
+ index > 0 && !hideDivisor && /* @__PURE__ */ jsx155("span", { ...trussProps93({
21793
21808
  fontWeight: "fw6",
21794
21809
  fontSize: "fz_14px",
21795
21810
  lineHeight: "lh_20px",
@@ -21816,7 +21831,7 @@ function PageHeaderBreadcrumbs({
21816
21831
  }
21817
21832
  return /* @__PURE__ */ jsx155("div", { className: "df aic mb_4px", children: breadcrumbs.length > 3 && collapsed ? /* @__PURE__ */ jsxs76(Fragment32, { children: [
21818
21833
  renderBreadcrumb(breadcrumbs[0], 0),
21819
- /* @__PURE__ */ jsx155("button", { ...tids.expand, ...trussProps92({
21834
+ /* @__PURE__ */ jsx155("button", { ...tids.expand, ...trussProps93({
21820
21835
  color: ["color_var", {
21821
21836
  "--color": "var(--b-on-surface-muted)"
21822
21837
  }],
@@ -21829,7 +21844,7 @@ function PageHeaderBreadcrumbs({
21829
21844
  }
21830
21845
 
21831
21846
  // src/components/Layout/FormPageLayout.tsx
21832
- import { trussProps as trussProps93, maybeCssVar as maybeCssVar44 } from "@homebound/truss/runtime";
21847
+ import { trussProps as trussProps94, maybeCssVar as maybeCssVar45 } from "@homebound/truss/runtime";
21833
21848
  import { jsx as jsx156, jsxs as jsxs77 } from "react/jsx-runtime";
21834
21849
  var headerHeightPx = 120;
21835
21850
  var maxContentWidthPx = 1600;
@@ -21852,14 +21867,14 @@ function FormPageLayoutComponent(props) {
21852
21867
  // since this layout will be replacing most superdrawers/sidebars, we keep the listing mounted below to preserve the users's
21853
21868
  // scroll position & filters
21854
21869
  // Adding "align-items: start" allows "position: sticky" to work within a grid for the sidebars
21855
- /* @__PURE__ */ jsx156("div", { ...trussProps93({
21870
+ /* @__PURE__ */ jsx156("div", { ...trussProps94({
21856
21871
  position: "fixed",
21857
21872
  top: "top0",
21858
21873
  bottom: "bottom0",
21859
21874
  left: "left0",
21860
21875
  right: "right0",
21861
21876
  zIndex: ["z_var", {
21862
- "--zIndex": maybeCssVar44(zIndices.pageOverlay)
21877
+ "--zIndex": maybeCssVar45(zIndices.pageOverlay)
21863
21878
  }],
21864
21879
  overflowY: "oya",
21865
21880
  backgroundColor: ["bgColor_var", {
@@ -21868,14 +21883,14 @@ function FormPageLayoutComponent(props) {
21868
21883
  display: "df",
21869
21884
  justifyContent: "jcc",
21870
21885
  alignItems: "aifs"
21871
- }), ...tids, children: /* @__PURE__ */ jsxs77("div", { ...trussProps93({
21886
+ }), ...tids, children: /* @__PURE__ */ jsxs77("div", { ...trussProps94({
21872
21887
  width: "w100",
21873
21888
  maxWidth: ["maxw_var", {
21874
21889
  "--maxWidth": `${maxContentWidthPx}px`
21875
21890
  }],
21876
21891
  display: "dg",
21877
21892
  gridTemplateColumns: ["gtc_var", {
21878
- "--gridTemplateColumns": maybeCssVar44(gridColumns)
21893
+ "--gridTemplateColumns": maybeCssVar45(gridColumns)
21879
21894
  }],
21880
21895
  gridTemplateRows: "gtr_auto_1fr",
21881
21896
  columnGap: "cg3",
@@ -21884,7 +21899,7 @@ function FormPageLayoutComponent(props) {
21884
21899
  /* @__PURE__ */ jsx156(PageHeader, { ...props, ...tids.pageHeader }),
21885
21900
  /* @__PURE__ */ jsx156(LeftNav, { sectionsWithRefs, ...tids }),
21886
21901
  /* @__PURE__ */ jsx156(FormSections, { sectionsWithRefs, formState, ...tids }),
21887
- rightSideBar && /* @__PURE__ */ jsx156("aside", { ...trussProps93({
21902
+ rightSideBar && /* @__PURE__ */ jsx156("aside", { ...trussProps94({
21888
21903
  gridRow: "gr_2",
21889
21904
  gridColumn: "gc_3_4",
21890
21905
  position: "sticky",
@@ -21909,7 +21924,7 @@ function PageHeader(props) {
21909
21924
  notice
21910
21925
  } = useToastContext();
21911
21926
  const tids = useTestIds(props);
21912
- return /* @__PURE__ */ jsxs77("header", { ...trussProps93({
21927
+ return /* @__PURE__ */ jsxs77("header", { ...trussProps94({
21913
21928
  gridRow: "gr_1",
21914
21929
  gridColumn: "gc_1_4",
21915
21930
  position: "sticky",
@@ -21918,7 +21933,7 @@ function PageHeader(props) {
21918
21933
  "--backgroundColor": "var(--b-surface)"
21919
21934
  }],
21920
21935
  zIndex: ["z_var", {
21921
- "--zIndex": maybeCssVar44(zIndices.pageStickyHeader)
21936
+ "--zIndex": maybeCssVar45(zIndices.pageStickyHeader)
21922
21937
  }],
21923
21938
  ...!notice ? {
21924
21939
  height: ["h_var", {
@@ -21947,7 +21962,7 @@ function FormSections(props) {
21947
21962
  } = props;
21948
21963
  const tids = useTestIds(props);
21949
21964
  const bottomPaddingPx = sectionsWithRefs.length > 1 ? 200 : 0;
21950
- return /* @__PURE__ */ jsx156("article", { ...trussProps93({
21965
+ return /* @__PURE__ */ jsx156("article", { ...trussProps94({
21951
21966
  gridRow: "gr_2",
21952
21967
  gridColumn: "gc_2_3",
21953
21968
  paddingBottom: ["pb_var", {
@@ -21965,13 +21980,13 @@ function FormSections(props) {
21965
21980
  {
21966
21981
  id: sectionKey,
21967
21982
  ref,
21968
- ...trussProps93({
21983
+ ...trussProps94({
21969
21984
  display: "dg",
21970
21985
  gridTemplateColumns: "gtc_50px_1fr",
21971
21986
  gridTemplateRows: "gtr_auto",
21972
21987
  marginBottom: "mb_72px",
21973
21988
  scrollMarginTop: ["scrollMarginTop_var", {
21974
- "--scrollMarginTop": maybeCssVar44(`${headerHeightPx}px`)
21989
+ "--scrollMarginTop": maybeCssVar45(`${headerHeightPx}px`)
21975
21990
  }]
21976
21991
  }),
21977
21992
  ...tids.formSection,
@@ -21996,7 +22011,7 @@ function LeftNav(props) {
21996
22011
  section
21997
22012
  }) => !!section.title), [sectionsWithRefs]);
21998
22013
  const activeSection = useActiveSection(sectionWithTitles);
21999
- return /* @__PURE__ */ jsx156("aside", { ...trussProps93({
22014
+ return /* @__PURE__ */ jsx156("aside", { ...trussProps94({
22000
22015
  gridRow: "gr_2",
22001
22016
  gridColumn: "gc_1_2",
22002
22017
  position: "sticky",
@@ -22015,7 +22030,7 @@ var activeStyles = {
22015
22030
  fontSize: "fz_14px",
22016
22031
  lineHeight: "lh_20px",
22017
22032
  boxShadow: ["boxShadow_var", {
22018
- "--boxShadow": maybeCssVar44(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
22033
+ "--boxShadow": maybeCssVar45(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
22019
22034
  }]
22020
22035
  };
22021
22036
  var hoverStyles2 = {
@@ -22025,7 +22040,7 @@ var hoverStyles2 = {
22025
22040
  lineHeight: "lh_20px",
22026
22041
  color: "blue900",
22027
22042
  boxShadow: ["boxShadow_var", {
22028
- "--boxShadow": maybeCssVar44(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
22043
+ "--boxShadow": maybeCssVar45(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
22029
22044
  }]
22030
22045
  };
22031
22046
  var defaultFocusRingStyles = {
@@ -22065,7 +22080,7 @@ function SectionNavLink(props) {
22065
22080
  hoverProps,
22066
22081
  isHovered
22067
22082
  } = useHover2({});
22068
- return /* @__PURE__ */ jsx156("button", { ref: buttonRef, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps93({
22083
+ return /* @__PURE__ */ jsx156("button", { ref: buttonRef, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps94({
22069
22084
  ...{
22070
22085
  fontWeight: "fw6",
22071
22086
  fontSize: "fz_14px",
@@ -22142,7 +22157,7 @@ function useActiveSection(sectionsWithRefs) {
22142
22157
  }
22143
22158
 
22144
22159
  // src/components/Layout/FullBleed.tsx
22145
- import { mergeProps as mergeProps25, maybeCssVar as maybeCssVar45 } from "@homebound/truss/runtime";
22160
+ import { mergeProps as mergeProps25, maybeCssVar as maybeCssVar46 } from "@homebound/truss/runtime";
22146
22161
  import { cloneElement as cloneElement3 } from "react";
22147
22162
  var __maybeInc20 = (inc) => {
22148
22163
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -22175,17 +22190,17 @@ function FullBleed({
22175
22190
  // inverts that padding with negative margins before re-applying it to the child.
22176
22191
  {
22177
22192
  marginLeft: ["ml_var", {
22178
- "--marginLeft": maybeCssVar45(__maybeInc20(invertSpacing(paddingLeft)))
22193
+ "--marginLeft": maybeCssVar46(__maybeInc20(invertSpacing(paddingLeft)))
22179
22194
  }],
22180
22195
  marginRight: ["mr_var", {
22181
- "--marginRight": maybeCssVar45(__maybeInc20(invertSpacing(paddingRight)))
22196
+ "--marginRight": maybeCssVar46(__maybeInc20(invertSpacing(paddingRight)))
22182
22197
  }],
22183
22198
  ...!omitPadding ? {
22184
22199
  paddingLeft: ["pl_var", {
22185
- "--paddingLeft": maybeCssVar45(__maybeInc20(paddingLeft))
22200
+ "--paddingLeft": maybeCssVar46(__maybeInc20(paddingLeft))
22186
22201
  }],
22187
22202
  paddingRight: ["pr_var", {
22188
- "--paddingRight": maybeCssVar45(__maybeInc20(paddingRight))
22203
+ "--paddingRight": maybeCssVar46(__maybeInc20(paddingRight))
22189
22204
  }]
22190
22205
  } : {}
22191
22206
  }
@@ -22277,7 +22292,7 @@ function useRightPaneContext() {
22277
22292
  }
22278
22293
 
22279
22294
  // src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
22280
- import { mergeProps as mergeProps26, maybeCssVar as maybeCssVar46 } from "@homebound/truss/runtime";
22295
+ import { mergeProps as mergeProps26, maybeCssVar as maybeCssVar47 } from "@homebound/truss/runtime";
22281
22296
  import { jsx as jsx159 } from "react/jsx-runtime";
22282
22297
  var __maybeInc21 = (inc) => {
22283
22298
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -22314,27 +22329,27 @@ function DocumentScrollRightPane({
22314
22329
  "--backgroundColor": "var(--b-surface)"
22315
22330
  }],
22316
22331
  zIndex: ["z_var", {
22317
- "--zIndex": maybeCssVar46(zIndices.rightPaneMobile)
22332
+ "--zIndex": maybeCssVar47(zIndices.rightPaneMobile)
22318
22333
  }]
22319
22334
  } : {
22320
22335
  position: "fixed",
22321
22336
  transition: "transitionTop",
22322
22337
  top: ["top_var", {
22323
- "--top": maybeCssVar46(__maybeInc21(stickyTableHeaderOffset()))
22338
+ "--top": maybeCssVar47(__maybeInc21(stickyTableHeaderOffset()))
22324
22339
  }],
22325
22340
  right: "right_0",
22326
22341
  height: ["h_var", {
22327
- "--height": maybeCssVar46(__maybeInc21(documentScrollRightPaneHeight()))
22342
+ "--height": maybeCssVar47(__maybeInc21(documentScrollRightPaneHeight()))
22328
22343
  }],
22329
22344
  width: ["w_var", {
22330
- "--width": maybeCssVar46(__maybeInc21(documentScrollRightPaneWidth(paneWidth)))
22345
+ "--width": maybeCssVar47(__maybeInc21(documentScrollRightPaneWidth(paneWidth)))
22331
22346
  }],
22332
22347
  overflowY: "oya",
22333
22348
  backgroundColor: ["bgColor_var", {
22334
22349
  "--backgroundColor": "var(--b-surface)"
22335
22350
  }],
22336
22351
  zIndex: ["z_var", {
22337
- "--zIndex": maybeCssVar46(zIndices.rightPane)
22352
+ "--zIndex": maybeCssVar47(zIndices.rightPane)
22338
22353
  }],
22339
22354
  borderLeftStyle: "bls_solid",
22340
22355
  borderLeftWidth: "blw_1px",
@@ -22461,7 +22476,7 @@ function isSelectionButtonMenuProps(props) {
22461
22476
  }
22462
22477
 
22463
22478
  // src/components/CountBadge.tsx
22464
- import { trussProps as trussProps94, maybeCssVar as maybeCssVar47 } from "@homebound/truss/runtime";
22479
+ import { trussProps as trussProps95, maybeCssVar as maybeCssVar48 } from "@homebound/truss/runtime";
22465
22480
  import { jsx as jsx162 } from "react/jsx-runtime";
22466
22481
  function CountBadge(props) {
22467
22482
  const {
@@ -22473,7 +22488,7 @@ function CountBadge(props) {
22473
22488
  } = props;
22474
22489
  const tid = useTestIds(otherProps, "countBadge");
22475
22490
  if (hideIfZero && count === 0) return null;
22476
- return /* @__PURE__ */ jsx162("span", { ...tid, ...trussProps94({
22491
+ return /* @__PURE__ */ jsx162("span", { ...tid, ...trussProps95({
22477
22492
  ...{
22478
22493
  height: ["sq_var", {
22479
22494
  "--height": `${count > 100 ? 18 : 16}px`
@@ -22493,12 +22508,12 @@ function CountBadge(props) {
22493
22508
  alignItems: "aic",
22494
22509
  justifyContent: "jcc",
22495
22510
  backgroundColor: ["bgColor_var", {
22496
- "--backgroundColor": maybeCssVar47(bgColor)
22511
+ "--backgroundColor": maybeCssVar48(bgColor)
22497
22512
  }]
22498
22513
  },
22499
22514
  ...{
22500
22515
  color: ["color_var", {
22501
- "--color": maybeCssVar47(color)
22516
+ "--color": maybeCssVar48(color)
22502
22517
  }]
22503
22518
  }
22504
22519
  }), children: count });
@@ -23017,7 +23032,7 @@ function OpenModal(props) {
23017
23032
  }
23018
23033
 
23019
23034
  // src/components/Filters/FilterModal.tsx
23020
- import { trussProps as trussProps95 } from "@homebound/truss/runtime";
23035
+ import { trussProps as trussProps96 } from "@homebound/truss/runtime";
23021
23036
  import { Fragment as Fragment37, jsx as jsx173, jsxs as jsxs83 } from "react/jsx-runtime";
23022
23037
  function FilterModal(props) {
23023
23038
  const {
@@ -23054,7 +23069,7 @@ function ModalFilterItem({
23054
23069
  label,
23055
23070
  children
23056
23071
  }) {
23057
- return /* @__PURE__ */ jsxs83("div", { ...trussProps95({
23072
+ return /* @__PURE__ */ jsxs83("div", { ...trussProps96({
23058
23073
  marginBottom: "mb4",
23059
23074
  ...!label ? {
23060
23075
  borderTopStyle: "bts_solid",
@@ -23063,7 +23078,7 @@ function ModalFilterItem({
23063
23078
  } : {}
23064
23079
  }), children: [
23065
23080
  label && /* @__PURE__ */ jsx173("h2", { className: "fw4 fz_16px lh_24px mb2", children: label }),
23066
- /* @__PURE__ */ jsx173("div", { ...trussProps95({
23081
+ /* @__PURE__ */ jsx173("div", { ...trussProps96({
23067
23082
  ...!label ? {
23068
23083
  paddingTop: "pt3"
23069
23084
  } : {}
@@ -23073,7 +23088,7 @@ function ModalFilterItem({
23073
23088
 
23074
23089
  // src/components/Filters/Filters.tsx
23075
23090
  import { memo, useMemo as useMemo39 } from "react";
23076
- import { trussProps as trussProps96 } from "@homebound/truss/runtime";
23091
+ import { trussProps as trussProps97 } from "@homebound/truss/runtime";
23077
23092
  import { jsx as jsx174, jsxs as jsxs84 } from "react/jsx-runtime";
23078
23093
  function Filters(props) {
23079
23094
  const {
@@ -23097,7 +23112,7 @@ function Filters(props) {
23097
23112
  }, [numberOfInlineFilters, vertical, filterDefs]);
23098
23113
  const numModalFilters = safeKeys(modalFilters).filter((fk) => filter[fk] !== void 0).length;
23099
23114
  const maybeGroupByField = groupBy ? /* @__PURE__ */ jsx174("div", { children: /* @__PURE__ */ jsx174(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;
23100
- return /* @__PURE__ */ jsxs84("div", { ...trussProps96({
23115
+ return /* @__PURE__ */ jsxs84("div", { ...trussProps97({
23101
23116
  ...vertical ? {
23102
23117
  display: "df",
23103
23118
  flexDirection: "fdc",
@@ -23158,7 +23173,7 @@ var ToggleFilter = class extends BaseFilter {
23158
23173
  import { Fragment as Fragment38, useCallback as useCallback30, useMemo as useMemo40, useRef as useRef53 } from "react";
23159
23174
  import { useMenuTrigger as useMenuTrigger3 } from "react-aria";
23160
23175
  import { useMenuTriggerState as useMenuTriggerState3 } from "react-stately";
23161
- import { trussProps as trussProps97 } from "@homebound/truss/runtime";
23176
+ import { trussProps as trussProps98 } from "@homebound/truss/runtime";
23162
23177
  import { jsx as jsx176, jsxs as jsxs85 } from "react/jsx-runtime";
23163
23178
  function EditColumnsButton(props) {
23164
23179
  const {
@@ -23207,7 +23222,7 @@ function EditColumnsButton(props) {
23207
23222
  label: "",
23208
23223
  size: "md",
23209
23224
  variant: "secondaryBlack"
23210
- }, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ jsxs85("div", { ...trussProps97({
23225
+ }, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ jsxs85("div", { ...trussProps98({
23211
23226
  display: "df",
23212
23227
  flexDirection: "fdc",
23213
23228
  backgroundColor: ["bgColor_var", {
@@ -23224,7 +23239,7 @@ function EditColumnsButton(props) {
23224
23239
  /* @__PURE__ */ jsx176("div", { className: "fw4 fz_14px lh_20px wsnw oh to_ellipsis pr1", children: option.label }),
23225
23240
  /* @__PURE__ */ jsx176(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}`] })
23226
23241
  ] }, option.value)) }),
23227
- /* @__PURE__ */ jsx176("div", { ...trussProps97({
23242
+ /* @__PURE__ */ jsx176("div", { ...trussProps98({
23228
23243
  display: "df",
23229
23244
  justifyContent: "jcc",
23230
23245
  paddingTop: "pt2",
@@ -23266,7 +23281,7 @@ import { useDebouncedCallback as useDebouncedCallback6 } from "use-debounce";
23266
23281
  import { StringParam as StringParam2, useQueryParams as useQueryParams3 } from "use-query-params";
23267
23282
 
23268
23283
  // src/components/Layout/GridTableLayout/FilterPanel.tsx
23269
- import { trussProps as trussProps98 } from "@homebound/truss/runtime";
23284
+ import { trussProps as trussProps99 } from "@homebound/truss/runtime";
23270
23285
 
23271
23286
  // src/components/Layout/GridTableLayout/GroupByField.tsx
23272
23287
  import { jsx as jsx178 } from "react/jsx-runtime";
@@ -23302,7 +23317,7 @@ function FilterPanelOpen({
23302
23317
  const inDocumentScrollLayout = useDocumentScrollLayout();
23303
23318
  const activeFilterCount = getActiveFilterCount(filter ?? {});
23304
23319
  const filterControls = filter && setFilter ? buildFilterControls(filterImpls, filter, setFilter, tid) : null;
23305
- return /* @__PURE__ */ jsxs86("div", { ...trussProps98({
23320
+ return /* @__PURE__ */ jsxs86("div", { ...trussProps99({
23306
23321
  ...{
23307
23322
  display: "df",
23308
23323
  alignItems: "aic",
@@ -23334,7 +23349,7 @@ function FilterPanelClosed({
23334
23349
  if (!filter || !setFilter) return null;
23335
23350
  const chips = safeEntries(filterImpls).flatMap(([key, f]) => chipsForFilterKey(key, f, filter, setFilter, tid));
23336
23351
  if (chips.length === 0) return null;
23337
- return /* @__PURE__ */ jsxs86("div", { ...trussProps98({
23352
+ return /* @__PURE__ */ jsxs86("div", { ...trussProps99({
23338
23353
  display: "df",
23339
23354
  gap: "gap1",
23340
23355
  alignItems: "aic",
@@ -23375,7 +23390,7 @@ function chipsForFilterKey(key, f, filter, onChange, testId) {
23375
23390
  }
23376
23391
 
23377
23392
  // src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
23378
- import { trussProps as trussProps99 } from "@homebound/truss/runtime";
23393
+ import { trussProps as trussProps100 } from "@homebound/truss/runtime";
23379
23394
  import { jsx as jsx180, jsxs as jsxs87 } from "react/jsx-runtime";
23380
23395
  function GridTableLayoutActionsComponent(props) {
23381
23396
  const {
@@ -23439,7 +23454,7 @@ function GridTableLayoutActionsComponent(props) {
23439
23454
  }
23440
23455
  };
23441
23456
  }
23442
- return /* @__PURE__ */ jsxs87("div", { ...trussProps99({
23457
+ return /* @__PURE__ */ jsxs87("div", { ...trussProps100({
23443
23458
  display: "df",
23444
23459
  flexDirection: "fdc",
23445
23460
  gap: "gap1",
@@ -23448,7 +23463,7 @@ function GridTableLayoutActionsComponent(props) {
23448
23463
  paddingBottom: "pb3"
23449
23464
  } : {}
23450
23465
  }), children: [
23451
- /* @__PURE__ */ jsxs87("div", { ...trussProps99({
23466
+ /* @__PURE__ */ jsxs87("div", { ...trussProps100({
23452
23467
  ...{
23453
23468
  display: "df",
23454
23469
  gap: "gap1",
@@ -23475,7 +23490,7 @@ function GridTableLayoutActionsComponent(props) {
23475
23490
  } })
23476
23491
  ] })
23477
23492
  ] }),
23478
- sm && showSearch && /* @__PURE__ */ jsx180("div", { ...trussProps99(pageContentPaddingX), children: searchTextField }),
23493
+ sm && showSearch && /* @__PURE__ */ jsx180("div", { ...trussProps100(pageContentPaddingX), children: searchTextField }),
23479
23494
  hasFilterControls && !showInlineControl && /* @__PURE__ */ jsx180(FilterPanel, { isOpen: showFilters, groupBy, filterImpls, filter, setFilter, onClear: clearFilters })
23480
23495
  ] });
23481
23496
  }
@@ -23485,7 +23500,7 @@ var _GridTableLayoutActions = memo2(GridTableLayoutActionsComponent);
23485
23500
  import { useMemo as useMemo42 } from "react";
23486
23501
 
23487
23502
  // src/components/LoadingSkeleton.tsx
23488
- import { trussProps as trussProps100, maybeCssVar as maybeCssVar48 } from "@homebound/truss/runtime";
23503
+ import { trussProps as trussProps101, maybeCssVar as maybeCssVar49 } from "@homebound/truss/runtime";
23489
23504
  import { jsx as jsx181 } from "react/jsx-runtime";
23490
23505
  function LoadingSkeleton({
23491
23506
  rows = 1,
@@ -23498,18 +23513,18 @@ function LoadingSkeleton({
23498
23513
  const rowHeight = sizeToPixels2[size];
23499
23514
  const rowCells = (rowNumber) => {
23500
23515
  const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
23501
- return cellArray.map((_, i) => /* @__PURE__ */ jsx181("div", { ...trussProps100({
23516
+ return cellArray.map((_, i) => /* @__PURE__ */ jsx181("div", { ...trussProps101({
23502
23517
  borderRadius: "br4",
23503
23518
  animation: "animation_pulse_2s_cubic_bezier_0_4_0_0_6_1_infinite",
23504
23519
  flexGrow: ["flexGrow_var", {
23505
- "--flexGrow": maybeCssVar48(flexGrowForCell)
23520
+ "--flexGrow": maybeCssVar49(flexGrowForCell)
23506
23521
  }],
23507
23522
  backgroundColor: ["bgColor_var", {
23508
23523
  "--backgroundColor": "var(--b-loader-fill)"
23509
23524
  }]
23510
23525
  }) }, `row-${rowNumber}-cell-${i}`));
23511
23526
  };
23512
- return /* @__PURE__ */ jsx181("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ jsx181("div", { ...trussProps100({
23527
+ return /* @__PURE__ */ jsx181("div", { "aria-label": "Loading", children: rowArray.map((_, i) => /* @__PURE__ */ jsx181("div", { ...trussProps101({
23513
23528
  display: "df",
23514
23529
  gap: "gap1",
23515
23530
  marginBottom: "mb1",
@@ -23594,7 +23609,7 @@ function parseStoredTableView(raw) {
23594
23609
  }
23595
23610
 
23596
23611
  // src/components/Layout/GridTableLayout/GridTableLayout.tsx
23597
- import { trussProps as trussProps101, maybeCssVar as maybeCssVar49 } from "@homebound/truss/runtime";
23612
+ import { trussProps as trussProps102, maybeCssVar as maybeCssVar50 } from "@homebound/truss/runtime";
23598
23613
  import { Fragment as Fragment40, jsx as jsx183, jsxs as jsxs89 } from "react/jsx-runtime";
23599
23614
  var __maybeInc22 = (inc) => {
23600
23615
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -23652,21 +23667,21 @@ function GridTableLayoutComponent(props) {
23652
23667
  as: cardAs
23653
23668
  } : {}, api, emptyState, filter: clientSearch, style: tableStyle, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey, columnGutter: inDocumentScrollLayout }) });
23654
23669
  const tableScrollContent = /* @__PURE__ */ jsxs89(Fragment40, { children: [
23655
- showTableActions && /* @__PURE__ */ jsx183("div", { ref: tableActionsRef, ...trussProps101({
23670
+ showTableActions && /* @__PURE__ */ jsx183("div", { ref: tableActionsRef, ...trussProps102({
23656
23671
  ...inDocumentScrollLayout ? {
23657
23672
  transition: "transitionTop",
23658
23673
  position: "sticky",
23659
23674
  top: ["top_var", {
23660
- "--top": maybeCssVar49(__maybeInc22(stickyNavAndHeaderOffset()))
23675
+ "--top": maybeCssVar50(__maybeInc22(stickyNavAndHeaderOffset()))
23661
23676
  }],
23662
23677
  left: ["left_var", {
23663
- "--left": maybeCssVar49(__maybeInc22(documentScrollChromeLeft()))
23678
+ "--left": maybeCssVar50(__maybeInc22(documentScrollChromeLeft()))
23664
23679
  }],
23665
23680
  width: ["w_var", {
23666
- "--width": maybeCssVar49(__maybeInc22(`min(100%, ${documentScrollChromeWidth()})`))
23681
+ "--width": maybeCssVar50(__maybeInc22(`min(100%, ${documentScrollChromeWidth()})`))
23667
23682
  }],
23668
23683
  zIndex: ["z_var", {
23669
- "--zIndex": maybeCssVar49(zIndices.tableActions)
23684
+ "--zIndex": maybeCssVar50(zIndices.tableActions)
23670
23685
  }],
23671
23686
  backgroundColor: ["bgColor_var", {
23672
23687
  "--backgroundColor": "var(--b-surface)"
@@ -23802,7 +23817,7 @@ function PreventBrowserScroll({
23802
23817
  // src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
23803
23818
  import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-motion";
23804
23819
  import { useEffect as useEffect30 } from "react";
23805
- import { trussProps as trussProps102, maybeCssVar as maybeCssVar50 } from "@homebound/truss/runtime";
23820
+ import { trussProps as trussProps103, maybeCssVar as maybeCssVar51 } from "@homebound/truss/runtime";
23806
23821
  import { Fragment as Fragment41, jsx as jsx185, jsxs as jsxs90 } from "react/jsx-runtime";
23807
23822
  var __maybeInc23 = (inc) => {
23808
23823
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -23822,10 +23837,10 @@ function RightPaneLayout(props) {
23822
23837
  } = useRightPaneContext();
23823
23838
  useEffect30(() => closePane, [closePane]);
23824
23839
  return /* @__PURE__ */ jsx185("div", { className: "h100 df oxh", children: /* @__PURE__ */ jsxs90(Fragment41, { children: [
23825
- /* @__PURE__ */ jsx185("div", { ...trussProps102({
23840
+ /* @__PURE__ */ jsx185("div", { ...trussProps103({
23826
23841
  ...{
23827
23842
  width: ["w_var", {
23828
- "--width": maybeCssVar50(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
23843
+ "--width": maybeCssVar51(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
23829
23844
  }],
23830
23845
  transition: "transition_width_2s_linear",
23831
23846
  height: "h100",
@@ -23841,13 +23856,13 @@ function RightPaneLayout(props) {
23841
23856
  ...{
23842
23857
  ...!!defaultPaneContent ? {
23843
23858
  width: ["w_var", {
23844
- "--width": maybeCssVar50(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
23859
+ "--width": maybeCssVar51(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
23845
23860
  }],
23846
23861
  marginRight: "mr3"
23847
23862
  } : {}
23848
23863
  }
23849
23864
  }), children }),
23850
- /* @__PURE__ */ jsxs90("div", { ...trussProps102({
23865
+ /* @__PURE__ */ jsxs90("div", { ...trussProps103({
23851
23866
  position: "relative",
23852
23867
  ...!!defaultPaneContent ? {
23853
23868
  width: ["w_var", {
@@ -23855,7 +23870,7 @@ function RightPaneLayout(props) {
23855
23870
  }]
23856
23871
  } : {}
23857
23872
  }), children: [
23858
- defaultPaneContent && /* @__PURE__ */ jsx185("div", { ...trussProps102({
23873
+ defaultPaneContent && /* @__PURE__ */ jsx185("div", { ...trussProps103({
23859
23874
  height: "h100",
23860
23875
  width: ["w_var", {
23861
23876
  "--width": `${paneWidth}px`
@@ -23873,9 +23888,9 @@ function RightPaneLayout(props) {
23873
23888
  {
23874
23889
  layout: "position",
23875
23890
  "data-testid": "rightPaneContent",
23876
- ...trussProps102({
23891
+ ...trussProps103({
23877
23892
  backgroundColor: ["bgColor_var", {
23878
- "--backgroundColor": maybeCssVar50(paneBgColor)
23893
+ "--backgroundColor": maybeCssVar51(paneBgColor)
23879
23894
  }],
23880
23895
  height: "h100",
23881
23896
  width: ["w_var", {
@@ -23956,7 +23971,7 @@ function SidePanel(props) {
23956
23971
  }
23957
23972
 
23958
23973
  // src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
23959
- import { trussProps as trussProps103, maybeCssVar as maybeCssVar51 } from "@homebound/truss/runtime";
23974
+ import { trussProps as trussProps104, maybeCssVar as maybeCssVar52 } from "@homebound/truss/runtime";
23960
23975
  import { jsx as jsx188, jsxs as jsxs92 } from "react/jsx-runtime";
23961
23976
  var defaultRightPaneWidth = 450;
23962
23977
  function TableReviewLayout(props) {
@@ -23998,14 +24013,14 @@ function TableReviewLayout(props) {
23998
24013
  bordered: true
23999
24014
  }, stickyHeader: true });
24000
24015
  }
24001
- return /* @__PURE__ */ jsxs92("div", { ...trussProps103({
24016
+ return /* @__PURE__ */ jsxs92("div", { ...trussProps104({
24002
24017
  position: "fixed",
24003
24018
  top: "top0",
24004
24019
  bottom: "bottom0",
24005
24020
  left: "left0",
24006
24021
  right: "right0",
24007
24022
  zIndex: ["z_var", {
24008
- "--zIndex": maybeCssVar51(zIndices.pageOverlay)
24023
+ "--zIndex": maybeCssVar52(zIndices.pageOverlay)
24009
24024
  }],
24010
24025
  backgroundColor: ["bgColor_var", {
24011
24026
  "--backgroundColor": "var(--b-surface)"
@@ -24022,7 +24037,7 @@ function TableReviewLayout(props) {
24022
24037
  ] }),
24023
24038
  /* @__PURE__ */ jsx188(Button, { label: "Close", onClick: closeAction, ...tid.closeButton })
24024
24039
  ] }),
24025
- /* @__PURE__ */ jsx188("div", { ...trussProps103({
24040
+ /* @__PURE__ */ jsx188("div", { ...trussProps104({
24026
24041
  fontWeight: "fw4",
24027
24042
  fontSize: "fz_14px",
24028
24043
  lineHeight: "lh_20px",
@@ -24033,7 +24048,7 @@ function TableReviewLayout(props) {
24033
24048
  }), ...tid.description, children: description })
24034
24049
  ] }),
24035
24050
  /* @__PURE__ */ jsxs92("div", { className: "fg1 df mh0", ...tid.content, children: [
24036
- /* @__PURE__ */ jsx188("div", { ...trussProps103({
24051
+ /* @__PURE__ */ jsx188("div", { ...trussProps104({
24037
24052
  ...{
24038
24053
  flexGrow: "fg1",
24039
24054
  overflowY: "oya",
@@ -24056,7 +24071,7 @@ function TableReviewLayout(props) {
24056
24071
  ease: "linear",
24057
24072
  duration: 0.2
24058
24073
  }, className: "df fdc fs0 relative", children: [
24059
- /* @__PURE__ */ jsxs92("div", { ...trussProps103({
24074
+ /* @__PURE__ */ jsxs92("div", { ...trussProps104({
24060
24075
  position: "absolute",
24061
24076
  top: ["top_var", {
24062
24077
  "--top": `${-32}px`
@@ -24070,7 +24085,7 @@ function TableReviewLayout(props) {
24070
24085
  zIndex: "z1"
24071
24086
  }), children: [
24072
24087
  /* @__PURE__ */ jsx188(IconButton, { bgColor: "--b-surface" /* Surface */, variant: "circle", icon: "x", inc: 3.5, onClick: handleClosePanel, ...tid.closePanelButton }),
24073
- /* @__PURE__ */ jsx188("div", { ...trussProps103({
24088
+ /* @__PURE__ */ jsx188("div", { ...trussProps104({
24074
24089
  width: "w_1px",
24075
24090
  backgroundColor: ["bgColor_var", {
24076
24091
  "--backgroundColor": "var(--b-field-border-default)"
@@ -24159,7 +24174,7 @@ function useBeamContext() {
24159
24174
  // src/components/Breadcrumbs.tsx
24160
24175
  import { Fragment as Fragment43, useState as useState50 } from "react";
24161
24176
  import { Link as Link6 } from "react-router-dom";
24162
- import { trussProps as trussProps104 } from "@homebound/truss/runtime";
24177
+ import { trussProps as trussProps105 } from "@homebound/truss/runtime";
24163
24178
  import { Fragment as Fragment44, jsx as jsx190, jsxs as jsxs94 } from "react/jsx-runtime";
24164
24179
  function Breadcrumbs({
24165
24180
  breadcrumbs
@@ -24177,7 +24192,7 @@ function Breadcrumbs({
24177
24192
  // Index is added to the key to prevent rendering issues when multiple items have the same label
24178
24193
  /* @__PURE__ */ jsxs94(Fragment43, { children: [
24179
24194
  index > 0 && /* @__PURE__ */ jsx190("span", { className: "fs0 fw4 fz_12px lh_16px", children: "/" }),
24180
- /* @__PURE__ */ jsx190(Link6, { ...tid.link, to: bc.href, title: bc.label, ...trussProps104({
24195
+ /* @__PURE__ */ jsx190(Link6, { ...tid.link, to: bc.href, title: bc.label, ...trussProps105({
24181
24196
  ...{
24182
24197
  fontWeight: "fw4",
24183
24198
  fontSize: "fz_12px",
@@ -24237,7 +24252,7 @@ function ButtonDatePicker(props) {
24237
24252
  // src/components/ButtonGroup.tsx
24238
24253
  import { useRef as useRef57 } from "react";
24239
24254
  import { useButton as useButton10, useFocusRing as useFocusRing15, useHover as useHover17 } from "react-aria";
24240
- import { trussProps as trussProps105 } from "@homebound/truss/runtime";
24255
+ import { trussProps as trussProps106 } from "@homebound/truss/runtime";
24241
24256
  import { jsx as jsx192, jsxs as jsxs95 } from "react/jsx-runtime";
24242
24257
  function ButtonGroup(props) {
24243
24258
  const {
@@ -24248,7 +24263,7 @@ function ButtonGroup(props) {
24248
24263
  const tid = useTestIds(props, "buttonGroup");
24249
24264
  return (
24250
24265
  // Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
24251
- /* @__PURE__ */ jsx192("div", { ...tid, ...trussProps105({
24266
+ /* @__PURE__ */ jsx192("div", { ...tid, ...trussProps106({
24252
24267
  ...{
24253
24268
  display: "df",
24254
24269
  lineHeight: "lh_0"
@@ -24297,10 +24312,10 @@ function GroupButton(props) {
24297
24312
  isHovered
24298
24313
  } = useHover17(ariaProps);
24299
24314
  const tid = useTestIds(props);
24300
- return /* @__PURE__ */ jsx192("span", { ...trussProps105(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
24315
+ return /* @__PURE__ */ jsx192("span", { ...trussProps106(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
24301
24316
  title: resolveTooltip(disabled, tooltip),
24302
24317
  placement: "top",
24303
- children: /* @__PURE__ */ jsxs95("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps105({
24318
+ children: /* @__PURE__ */ jsxs95("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps106({
24304
24319
  ...{
24305
24320
  fontWeight: "fw6",
24306
24321
  fontSize: "fz_14px",
@@ -24423,7 +24438,7 @@ import { useHover as useHover18 } from "react-aria";
24423
24438
  // src/components/Tag.tsx
24424
24439
  import { useResizeObserver as useResizeObserver7 } from "@react-aria/utils";
24425
24440
  import { useRef as useRef58, useState as useState51 } from "react";
24426
- import { trussProps as trussProps106 } from "@homebound/truss/runtime";
24441
+ import { trussProps as trussProps107 } from "@homebound/truss/runtime";
24427
24442
  import { jsx as jsx193, jsxs as jsxs96 } from "react/jsx-runtime";
24428
24443
  function Tag(props) {
24429
24444
  const {
@@ -24457,7 +24472,7 @@ function Tag(props) {
24457
24472
  const tooltipTitle = !preventTooltip ? isIconOnly ? text : showTooltip ? text : void 0 : void 0;
24458
24473
  return maybeTooltip({
24459
24474
  title: tooltipTitle,
24460
- children: /* @__PURE__ */ jsxs96("span", { ...tid, ...trussProps106({
24475
+ children: /* @__PURE__ */ jsxs96("span", { ...tid, ...trussProps107({
24461
24476
  ...{
24462
24477
  position: "relative",
24463
24478
  display: "dif",
@@ -24564,7 +24579,7 @@ function getPrimaryStyles(type) {
24564
24579
  }
24565
24580
 
24566
24581
  // src/components/Card.tsx
24567
- import { trussProps as trussProps107, maybeCssVar as maybeCssVar52 } from "@homebound/truss/runtime";
24582
+ import { trussProps as trussProps108, maybeCssVar as maybeCssVar53 } from "@homebound/truss/runtime";
24568
24583
  import { jsx as jsx194, jsxs as jsxs97 } from "react/jsx-runtime";
24569
24584
  function Card(props) {
24570
24585
  const {
@@ -24597,8 +24612,8 @@ function Card(props) {
24597
24612
  ...isHovered && cardHoverStyles,
24598
24613
  ...isDisabled && disabledStyles2
24599
24614
  }), [isDisabled, isHovered, bordered, type, isList, fullWidth]);
24600
- return /* @__PURE__ */ jsxs97("div", { ...trussProps107(styles), ...hoverProps, ...tid, children: [
24601
- /* @__PURE__ */ jsx194("div", { ...trussProps107({
24615
+ return /* @__PURE__ */ jsxs97("div", { ...trussProps108(styles), ...hoverProps, ...tid, children: [
24616
+ /* @__PURE__ */ jsx194("div", { ...trussProps108({
24602
24617
  ...{
24603
24618
  height: ["h_var", {
24604
24619
  "--height": `${imgHeight}px`
@@ -24621,14 +24636,14 @@ function Card(props) {
24621
24636
  flexShrink: "fs0"
24622
24637
  },
24623
24638
  ...isHovered && !isList && imageHoverStyles
24624
- }), children: /* @__PURE__ */ jsx194("img", { ...trussProps107({
24639
+ }), children: /* @__PURE__ */ jsx194("img", { ...trussProps108({
24625
24640
  width: "w100",
24626
24641
  height: "h100",
24627
24642
  objectFit: ["objectFit_var", {
24628
- "--objectFit": maybeCssVar52(imageFit)
24643
+ "--objectFit": maybeCssVar53(imageFit)
24629
24644
  }]
24630
24645
  }), src: imgSrc, alt: title, ...tid.img }) }),
24631
- isHovered && buttonMenuItems && /* @__PURE__ */ jsx194("div", { ...trussProps107({
24646
+ isHovered && buttonMenuItems && /* @__PURE__ */ jsx194("div", { ...trussProps108({
24632
24647
  position: "absolute",
24633
24648
  right: "right1",
24634
24649
  top: "top1",
@@ -24643,7 +24658,7 @@ function Card(props) {
24643
24658
  tag && /* @__PURE__ */ jsx194("div", { className: "absolute left1 top_4px", children: /* @__PURE__ */ jsx194(Tag, { type: tag?.type, text: tag?.text, ...tid.tag }) }),
24644
24659
  /* @__PURE__ */ jsxs97("div", { className: "df fdc aifs gap1", children: [
24645
24660
  /* @__PURE__ */ jsxs97("div", { children: [
24646
- /* @__PURE__ */ jsx194("div", { ...trussProps107({
24661
+ /* @__PURE__ */ jsx194("div", { ...trussProps108({
24647
24662
  fontWeight: "fw6",
24648
24663
  fontSize: "fz_12px",
24649
24664
  lineHeight: "lh_16px",
@@ -24651,7 +24666,7 @@ function Card(props) {
24651
24666
  "--color": "var(--b-on-surface-muted)"
24652
24667
  }]
24653
24668
  }), ...tid.subtitle, children: subtitle }),
24654
- /* @__PURE__ */ jsx194("div", { ...trussProps107({
24669
+ /* @__PURE__ */ jsx194("div", { ...trussProps108({
24655
24670
  fontWeight: "fw6",
24656
24671
  fontSize: "fz_14px",
24657
24672
  lineHeight: "lh_20px",
@@ -24743,7 +24758,7 @@ function Copy(props) {
24743
24758
  }
24744
24759
 
24745
24760
  // src/components/EnvironmentBanner/EnvironmentBanner.tsx
24746
- import { trussProps as trussProps108, maybeCssVar as maybeCssVar_14 } from "@homebound/truss/runtime";
24761
+ import { trussProps as trussProps109, maybeCssVar as maybeCssVar_14 } from "@homebound/truss/runtime";
24747
24762
  import { jsx as jsx196, jsxs as jsxs98 } from "react/jsx-runtime";
24748
24763
  function EnvironmentBanner(props) {
24749
24764
  const {
@@ -24763,7 +24778,7 @@ function EnvironmentBanner(props) {
24763
24778
  tooltip
24764
24779
  } = getEnvironmentBannerConfig(env, impersonating, showProdWarning);
24765
24780
  const bgColorVar = maybeCssVar(bgColor);
24766
- return /* @__PURE__ */ jsxs98("div", { ...trussProps108({
24781
+ return /* @__PURE__ */ jsxs98("div", { ...trussProps109({
24767
24782
  flexShrink: "fs0",
24768
24783
  position: "relative",
24769
24784
  zIndex: ["z_var", {
@@ -24779,7 +24794,7 @@ function EnvironmentBanner(props) {
24779
24794
  }), role: "banner", ...tid, children: [
24780
24795
  getInvertedCorner("left", bgColorVar),
24781
24796
  getInvertedCorner("right", bgColorVar),
24782
- /* @__PURE__ */ jsxs98("div", { ...trussProps108({
24797
+ /* @__PURE__ */ jsxs98("div", { ...trussProps109({
24783
24798
  ...{
24784
24799
  position: "relative",
24785
24800
  zIndex: "z2",
@@ -24794,7 +24809,7 @@ function EnvironmentBanner(props) {
24794
24809
  /* @__PURE__ */ jsx196(Tag, { text: badgeLabel, xss: {
24795
24810
  backgroundColor: "bgColor_FFFFFF90"
24796
24811
  }, ...tid.badge }),
24797
- /* @__PURE__ */ jsxs98("span", { ...trussProps108({
24812
+ /* @__PURE__ */ jsxs98("span", { ...trussProps109({
24798
24813
  ...{
24799
24814
  alignItems: "aic",
24800
24815
  gap: "gap1",
@@ -24815,7 +24830,7 @@ function EnvironmentBanner(props) {
24815
24830
  /* @__PURE__ */ jsx196("span", { className: "fs0", ...tid.info, children: /* @__PURE__ */ jsx196(Icon, { icon: "infoCircle", tooltip, inc: 2, color: "--b-on-primary" /* OnPrimary */ }) })
24816
24831
  ] })
24817
24832
  ] }),
24818
- impersonating != null && /* @__PURE__ */ jsxs98("span", { ...trussProps108({
24833
+ impersonating != null && /* @__PURE__ */ jsxs98("span", { ...trussProps109({
24819
24834
  display: "df",
24820
24835
  alignItems: "aic",
24821
24836
  gap: "gap2",
@@ -24904,10 +24919,10 @@ function getInvertedCorner(side, bgColorVar) {
24904
24919
  right: "right0"
24905
24920
  };
24906
24921
  const shadowXOffset = side === "left" ? -invertedCornerRadiusPx : invertedCornerRadiusPx;
24907
- return /* @__PURE__ */ jsx196("div", { "aria-hidden": true, ...trussProps108({
24922
+ return /* @__PURE__ */ jsx196("div", { "aria-hidden": true, ...trussProps109({
24908
24923
  ...shell,
24909
24924
  ...outerPosition
24910
- }), children: /* @__PURE__ */ jsx196("div", { ...trussProps108({
24925
+ }), children: /* @__PURE__ */ jsx196("div", { ...trussProps109({
24911
24926
  height: "h_200",
24912
24927
  width: "w_200",
24913
24928
  position: "absolute",
@@ -24946,7 +24961,7 @@ var gridItemDataAttribute = "data-grid-item-span";
24946
24961
  var ResponsiveGridContext = createContext13(void 0);
24947
24962
 
24948
24963
  // src/components/Grid/ResponsiveGrid.tsx
24949
- import { trussProps as trussProps109 } from "@homebound/truss/runtime";
24964
+ import { trussProps as trussProps110 } from "@homebound/truss/runtime";
24950
24965
  import { jsx as jsx197 } from "react/jsx-runtime";
24951
24966
  function ResponsiveGrid(props) {
24952
24967
  const {
@@ -24967,12 +24982,12 @@ function ResponsiveGrid(props) {
24967
24982
  gap,
24968
24983
  columns
24969
24984
  }), [minColumnWidth, gap, columns]);
24970
- return /* @__PURE__ */ jsx197(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ jsx197("div", { ...trussProps109(gridStyles), children }) });
24985
+ return /* @__PURE__ */ jsx197(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ jsx197("div", { ...trussProps110(gridStyles), children }) });
24971
24986
  }
24972
24987
 
24973
24988
  // src/components/Grid/ResponsiveGridItem.tsx
24974
24989
  import { mergeProps as mergeProps29 } from "react-aria";
24975
- import { trussProps as trussProps110 } from "@homebound/truss/runtime";
24990
+ import { trussProps as trussProps111 } from "@homebound/truss/runtime";
24976
24991
  import { jsx as jsx198 } from "react/jsx-runtime";
24977
24992
  function ResponsiveGridItem(props) {
24978
24993
  const {
@@ -24985,12 +25000,12 @@ function ResponsiveGridItem(props) {
24985
25000
  } = useResponsiveGridItem({
24986
25001
  colSpan
24987
25002
  });
24988
- return /* @__PURE__ */ jsx198("div", { ...mergeProps29(gridItemProps, trussProps110(gridItemStyles)), children });
25003
+ return /* @__PURE__ */ jsx198("div", { ...mergeProps29(gridItemProps, trussProps111(gridItemStyles)), children });
24989
25004
  }
24990
25005
 
24991
25006
  // src/components/Grid/useResponsiveGrid.ts
24992
25007
  import { useMemo as useMemo47 } from "react";
24993
- import { maybeCssVar as maybeCssVar53 } from "@homebound/truss/runtime";
25008
+ import { maybeCssVar as maybeCssVar54 } from "@homebound/truss/runtime";
24994
25009
  var __maybeInc24 = (inc) => {
24995
25010
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
24996
25011
  };
@@ -25009,11 +25024,11 @@ function useResponsiveGrid(props) {
25009
25024
  return {
25010
25025
  display: "dg",
25011
25026
  gridTemplateColumns: ["gtc_var", {
25012
- "--gridTemplateColumns": maybeCssVar53(gridTemplateColumns)
25027
+ "--gridTemplateColumns": maybeCssVar54(gridTemplateColumns)
25013
25028
  }],
25014
25029
  containerType: "ctis",
25015
25030
  gap: ["gap_var", {
25016
- "--gap": maybeCssVar53(__maybeInc24(gridGap))
25031
+ "--gap": maybeCssVar54(__maybeInc24(gridGap))
25017
25032
  }]
25018
25033
  };
25019
25034
  }, [minColumnWidth, gap, columns]);
@@ -25138,7 +25153,7 @@ function HbSpinnerProvider({
25138
25153
  // src/components/JumpLink.tsx
25139
25154
  import { useRef as useRef59 } from "react";
25140
25155
  import { mergeProps as mergeProps30, useFocusRing as useFocusRing16, useHover as useHover19, useLink } from "react-aria";
25141
- import { trussProps as trussProps111 } from "@homebound/truss/runtime";
25156
+ import { trussProps as trussProps112 } from "@homebound/truss/runtime";
25142
25157
  import { jsx as jsx200 } from "react/jsx-runtime";
25143
25158
  function JumpLink(props) {
25144
25159
  const {
@@ -25175,13 +25190,13 @@ function JumpLink(props) {
25175
25190
  e.preventDefault();
25176
25191
  const target = document.getElementById(href.replace(/^#/, ""));
25177
25192
  if (target) {
25178
- window.scrollTo({
25179
- top: target.getBoundingClientRect().top + window.scrollY,
25180
- behavior: "smooth"
25193
+ target.scrollIntoView({
25194
+ behavior: "smooth",
25195
+ block: "start"
25181
25196
  });
25182
25197
  }
25183
25198
  }
25184
- return /* @__PURE__ */ jsx200("a", { ref, ...mergeProps30(linkProps, focusProps, hoverProps), ...tid, ...trussProps111({
25199
+ return /* @__PURE__ */ jsx200("a", { ref, ...mergeProps30(linkProps, focusProps, hoverProps), ...tid, ...trussProps112({
25185
25200
  ...jumpLinkStyles.baseStyles,
25186
25201
  ...active && jumpLinkStyles.activeStyles,
25187
25202
  ...isHovered && !disabled && jumpLinkStyles.hoverStyles,
@@ -25238,7 +25253,7 @@ var jumpLinkStyles = {
25238
25253
  // src/components/MaxLines.tsx
25239
25254
  import { useLayoutEffect as useLayoutEffect9, useResizeObserver as useResizeObserver8 } from "@react-aria/utils";
25240
25255
  import { useCallback as useCallback33, useEffect as useEffect33, useRef as useRef60, useState as useState52 } from "react";
25241
- import { trussProps as trussProps112, maybeCssVar as maybeCssVar54 } from "@homebound/truss/runtime";
25256
+ import { trussProps as trussProps113, maybeCssVar as maybeCssVar55 } from "@homebound/truss/runtime";
25242
25257
  import { jsx as jsx201, jsxs as jsxs100 } from "react/jsx-runtime";
25243
25258
  function MaxLines({
25244
25259
  maxLines,
@@ -25263,10 +25278,10 @@ function MaxLines({
25263
25278
  onResize
25264
25279
  });
25265
25280
  return /* @__PURE__ */ jsxs100("div", { children: [
25266
- /* @__PURE__ */ jsx201("div", { ref: elRef, ...trussProps112({
25281
+ /* @__PURE__ */ jsx201("div", { ref: elRef, ...trussProps113({
25267
25282
  ...!expanded ? {
25268
25283
  WebkitLineClamp: ["lineClamp_var", {
25269
- "--WebkitLineClamp": maybeCssVar54(maxLines)
25284
+ "--WebkitLineClamp": maybeCssVar55(maxLines)
25270
25285
  }],
25271
25286
  overflow: "oh",
25272
25287
  display: "d_negwebkit_box",
@@ -25289,7 +25304,7 @@ import { useCallback as useCallback35, useEffect as useEffect34, useMemo as useM
25289
25304
  // src/components/AppNav/AppNavGroupTrigger.tsx
25290
25305
  import { useMemo as useMemo50, useRef as useRef61 } from "react";
25291
25306
  import { mergeProps as mergeProps31, useButton as useButton11, useFocusRing as useFocusRing17, useHover as useHover20 } from "react-aria";
25292
- import { trussProps as trussProps113, mergeProps as mergeProps_14 } from "@homebound/truss/runtime";
25307
+ import { trussProps as trussProps114, mergeProps as mergeProps_14 } from "@homebound/truss/runtime";
25293
25308
  import { jsx as jsx202, jsxs as jsxs101 } from "react/jsx-runtime";
25294
25309
  function AppNavGroupTrigger(props) {
25295
25310
  const {
@@ -25340,7 +25355,7 @@ function AppNavGroupTrigger(props) {
25340
25355
  })
25341
25356
  }), children: [
25342
25357
  label,
25343
- /* @__PURE__ */ jsx202("div", { ...trussProps113({
25358
+ /* @__PURE__ */ jsx202("div", { ...trussProps114({
25344
25359
  ...{
25345
25360
  display: "df",
25346
25361
  alignItems: "aic",
@@ -25493,7 +25508,7 @@ function useAppNavGroupExpanded(linkGroup) {
25493
25508
  }
25494
25509
 
25495
25510
  // src/components/AppNav/AppNavGroup.tsx
25496
- import { trussProps as trussProps114, maybeCssVar as maybeCssVar55 } from "@homebound/truss/runtime";
25511
+ import { trussProps as trussProps115, maybeCssVar as maybeCssVar56 } from "@homebound/truss/runtime";
25497
25512
  import { Fragment as Fragment45, jsx as jsx203, jsxs as jsxs102 } from "react/jsx-runtime";
25498
25513
  var __maybeInc25 = (inc) => {
25499
25514
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -25538,11 +25553,11 @@ function AppNavGroupDisclosure(props) {
25538
25553
  });
25539
25554
  return /* @__PURE__ */ jsxs102("div", { className: "df fdc", ...tid, children: [
25540
25555
  /* @__PURE__ */ jsx203(AppNavGroupTrigger, { label: linkGroup.label, navGroupId, expanded, active: linkGroupHasActiveLink(linkGroup), onClick: onToggle, ...tid }),
25541
- /* @__PURE__ */ jsx203("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...trussProps114({
25556
+ /* @__PURE__ */ jsx203("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...trussProps115({
25542
25557
  overflow: "oh",
25543
25558
  transition: "transitionHeight",
25544
25559
  height: ["h_var", {
25545
- "--height": maybeCssVar55(__maybeInc25(contentHeight))
25560
+ "--height": maybeCssVar56(__maybeInc25(contentHeight))
25546
25561
  }]
25547
25562
  }), ...tid.panel, ...!expanded ? {
25548
25563
  inert: "true"
@@ -25572,7 +25587,7 @@ function AppNavGroupMenu({
25572
25587
  }
25573
25588
 
25574
25589
  // src/components/AppNav/AppNavSectionView.tsx
25575
- import { trussProps as trussProps115 } from "@homebound/truss/runtime";
25590
+ import { trussProps as trussProps116 } from "@homebound/truss/runtime";
25576
25591
  import { jsx as jsx205, jsxs as jsxs103 } from "react/jsx-runtime";
25577
25592
  function AppNavSectionView(props) {
25578
25593
  const {
@@ -25599,7 +25614,7 @@ function AppNavSectionView(props) {
25599
25614
  "--borderColor": "var(--b-surface-separator)"
25600
25615
  }]
25601
25616
  };
25602
- return /* @__PURE__ */ jsxs103("div", { ...trussProps115({
25617
+ return /* @__PURE__ */ jsxs103("div", { ...trussProps116({
25603
25618
  ...{
25604
25619
  display: "df",
25605
25620
  flexDirection: "fdc",
@@ -25607,7 +25622,7 @@ function AppNavSectionView(props) {
25607
25622
  },
25608
25623
  ...showDivider ? dividerStyles : {}
25609
25624
  }), ...tid, children: [
25610
- section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ jsx205("div", { ...trussProps115({
25625
+ section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ jsx205("div", { ...trussProps116({
25611
25626
  fontWeight: "fw6",
25612
25627
  fontSize: "fz_10px",
25613
25628
  lineHeight: "lh_14px",
@@ -25708,7 +25723,7 @@ function useRegisterMobileSubNav(content) {
25708
25723
  }
25709
25724
 
25710
25725
  // src/components/Navbar/NavbarMobileMenu.tsx
25711
- import { trussProps as trussProps116, mergeProps as mergeProps32, maybeCssVar as maybeCssVar56 } from "@homebound/truss/runtime";
25726
+ import { trussProps as trussProps117, mergeProps as mergeProps32, maybeCssVar as maybeCssVar57 } from "@homebound/truss/runtime";
25712
25727
  import { Fragment as Fragment47, jsx as jsx208, jsxs as jsxs104 } from "react/jsx-runtime";
25713
25728
  function NavbarMobileMenu(props) {
25714
25729
  const {
@@ -25765,7 +25780,7 @@ function NavbarMobileDrawer({
25765
25780
  bottom: "bottom0",
25766
25781
  left: "left0",
25767
25782
  zIndex: ["z_var", {
25768
- "--zIndex": maybeCssVar56(zIndices.navbarMobileMenuScrim)
25783
+ "--zIndex": maybeCssVar57(zIndices.navbarMobileMenuScrim)
25769
25784
  }],
25770
25785
  backgroundColor: ["bgColor_var", {
25771
25786
  "--backgroundColor": "var(--b-scrim)"
@@ -25790,7 +25805,7 @@ function NavbarMobileDrawer({
25790
25805
  width: "w_260px",
25791
25806
  overflow: "oh",
25792
25807
  zIndex: ["z_var", {
25793
- "--zIndex": maybeCssVar56(zIndices.navbarMobileMenu)
25808
+ "--zIndex": maybeCssVar57(zIndices.navbarMobileMenu)
25794
25809
  }],
25795
25810
  backgroundColor: ["bgColor_var", {
25796
25811
  "--backgroundColor": "var(--b-surface)"
@@ -25805,7 +25820,7 @@ function NavbarMobileDrawer({
25805
25820
  ease: "linear",
25806
25821
  duration: 0.2
25807
25822
  }, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
25808
- /* @__PURE__ */ jsxs104("div", { ...trussProps116({
25823
+ /* @__PURE__ */ jsxs104("div", { ...trussProps117({
25809
25824
  ...{
25810
25825
  display: "df",
25811
25826
  alignItems: "aic",
@@ -25827,7 +25842,7 @@ function NavbarMobileDrawer({
25827
25842
  /* @__PURE__ */ jsx208("div", { className: "fg1 mh0 oh relative", children: /* @__PURE__ */ jsx208(AnimatePresence6, { initial: false, children: /* @__PURE__ */ jsxs104(
25828
25843
  motion6.nav,
25829
25844
  {
25830
- ...trussProps116({
25845
+ ...trussProps117({
25831
25846
  ...{
25832
25847
  position: "absolute",
25833
25848
  top: "top0",
@@ -25875,7 +25890,7 @@ function NavbarMobileDrawer({
25875
25890
  }
25876
25891
 
25877
25892
  // src/components/Navbar/Navbar.tsx
25878
- import { trussProps as trussProps117 } from "@homebound/truss/runtime";
25893
+ import { trussProps as trussProps118 } from "@homebound/truss/runtime";
25879
25894
  import { jsx as jsx209, jsxs as jsxs105 } from "react/jsx-runtime";
25880
25895
  function Navbar(props) {
25881
25896
  const {
@@ -25895,7 +25910,7 @@ function Navbar(props) {
25895
25910
  overflows
25896
25911
  } = useContentOverflow(!sm);
25897
25912
  const showMobile = sm || overflows;
25898
- return /* @__PURE__ */ jsx209(ContrastScope, { children: /* @__PURE__ */ jsxs105("nav", { ...trussProps117({
25913
+ return /* @__PURE__ */ jsx209(ContrastScope, { children: /* @__PURE__ */ jsxs105("nav", { ...trussProps118({
25899
25914
  ...{
25900
25915
  backgroundColor: ["bgColor_var", {
25901
25916
  "--backgroundColor": "var(--b-surface-raised)"
@@ -25914,7 +25929,7 @@ function Navbar(props) {
25914
25929
  /* @__PURE__ */ jsxs105("div", { className: "df aic gap3 fg1 mw0", children: [
25915
25930
  /* @__PURE__ */ jsxs105("div", { className: "df aic fs0 gap2", children: [
25916
25931
  showMobile && /* @__PURE__ */ jsx209(NavbarMobileMenu, { items, ...tid }),
25917
- /* @__PURE__ */ jsx209("div", { ...trussProps117({
25932
+ /* @__PURE__ */ jsx209("div", { ...trussProps118({
25918
25933
  flexShrink: "fs0",
25919
25934
  ...hideBrandOnMobile && showMobile ? {
25920
25935
  display: "dn"
@@ -25923,7 +25938,7 @@ function Navbar(props) {
25923
25938
  ] }),
25924
25939
  !sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
25925
25940
  // can expand again as space frees up.
25926
- /* @__PURE__ */ jsx209("div", { ref: containerRef, ...trussProps117({
25941
+ /* @__PURE__ */ jsx209("div", { ref: containerRef, ...trussProps118({
25927
25942
  display: "df",
25928
25943
  alignItems: "aic",
25929
25944
  flexGrow: "fg1",
@@ -25953,7 +25968,7 @@ function NavbarUserMenu({
25953
25968
  }
25954
25969
 
25955
25970
  // src/components/Pagination.tsx
25956
- import { trussProps as trussProps118 } from "@homebound/truss/runtime";
25971
+ import { trussProps as trussProps119 } from "@homebound/truss/runtime";
25957
25972
  import { jsx as jsx210, jsxs as jsxs106 } from "react/jsx-runtime";
25958
25973
  var defaultPage = {
25959
25974
  offset: 0,
@@ -25986,7 +26001,7 @@ function Pagination(props) {
25986
26001
  }
25987
26002
  }
25988
26003
  const tid = useTestIds(props, "pagination");
25989
- return /* @__PURE__ */ jsxs106("div", { ...trussProps118({
26004
+ return /* @__PURE__ */ jsxs106("div", { ...trussProps119({
25990
26005
  display: "df",
25991
26006
  borderColor: ["bc_var", {
25992
26007
  "--borderColor": "var(--b-surface-separator)"
@@ -26044,7 +26059,7 @@ function toPageNumberSize(page) {
26044
26059
  // src/components/ScrollShadows.tsx
26045
26060
  import { useResizeObserver as useResizeObserver10 } from "@react-aria/utils";
26046
26061
  import { useCallback as useCallback36, useMemo as useMemo53, useRef as useRef62, useState as useState57 } from "react";
26047
- import { trussProps as trussProps119, maybeCssVar as maybeCssVar57 } from "@homebound/truss/runtime";
26062
+ import { trussProps as trussProps120, maybeCssVar as maybeCssVar58 } from "@homebound/truss/runtime";
26048
26063
  import { jsx as jsx211, jsxs as jsxs107 } from "react/jsx-runtime";
26049
26064
  function ScrollShadows(props) {
26050
26065
  const {
@@ -26069,7 +26084,7 @@ function ScrollShadows(props) {
26069
26084
  const commonStyles = {
26070
26085
  position: "absolute",
26071
26086
  zIndex: ["z_var", {
26072
- "--zIndex": maybeCssVar57(zIndices.scrollShadow)
26087
+ "--zIndex": maybeCssVar58(zIndices.scrollShadow)
26073
26088
  }],
26074
26089
  pointerEvents: "pointerEvents_none"
26075
26090
  };
@@ -26102,7 +26117,7 @@ function ScrollShadows(props) {
26102
26117
  ...startShadowStyles2,
26103
26118
  ...{
26104
26119
  background: ["background_var", {
26105
- "--background": maybeCssVar57(startGradient)
26120
+ "--background": maybeCssVar58(startGradient)
26106
26121
  }]
26107
26122
  }
26108
26123
  }, {
@@ -26110,7 +26125,7 @@ function ScrollShadows(props) {
26110
26125
  ...endShadowStyles2,
26111
26126
  ...{
26112
26127
  background: ["background_var", {
26113
- "--background": maybeCssVar57(endGradient)
26128
+ "--background": maybeCssVar58(endGradient)
26114
26129
  }]
26115
26130
  }
26116
26131
  }];
@@ -26135,10 +26150,10 @@ function ScrollShadows(props) {
26135
26150
  ref: scrollRef,
26136
26151
  onResize
26137
26152
  });
26138
- return /* @__PURE__ */ jsxs107("div", { ...trussProps119({
26153
+ return /* @__PURE__ */ jsxs107("div", { ...trussProps120({
26139
26154
  display: "df",
26140
26155
  flexDirection: ["fd_var", {
26141
- "--flexDirection": maybeCssVar57(!horizontal ? "column" : "row")
26156
+ "--flexDirection": maybeCssVar58(!horizontal ? "column" : "row")
26142
26157
  }],
26143
26158
  position: "relative",
26144
26159
  overflow: "oh",
@@ -26151,23 +26166,23 @@ function ScrollShadows(props) {
26151
26166
  width: width2
26152
26167
  }
26153
26168
  }), ...tid, children: [
26154
- /* @__PURE__ */ jsx211("div", { ...trussProps119({
26169
+ /* @__PURE__ */ jsx211("div", { ...trussProps120({
26155
26170
  ...startShadowStyles,
26156
26171
  ...{
26157
26172
  opacity: ["o_var", {
26158
- "--opacity": maybeCssVar57(showStartShadow ? 1 : 0)
26173
+ "--opacity": maybeCssVar58(showStartShadow ? 1 : 0)
26159
26174
  }]
26160
26175
  }
26161
26176
  }), "data-chromatic": "ignore" }),
26162
- /* @__PURE__ */ jsx211("div", { ...trussProps119({
26177
+ /* @__PURE__ */ jsx211("div", { ...trussProps120({
26163
26178
  ...endShadowStyles,
26164
26179
  ...{
26165
26180
  opacity: ["o_var", {
26166
- "--opacity": maybeCssVar57(showEndShadow ? 1 : 0)
26181
+ "--opacity": maybeCssVar58(showEndShadow ? 1 : 0)
26167
26182
  }]
26168
26183
  }
26169
26184
  }), "data-chromatic": "ignore" }),
26170
- /* @__PURE__ */ jsx211("div", { ...trussProps119({
26185
+ /* @__PURE__ */ jsx211("div", { ...trussProps120({
26171
26186
  ...xss,
26172
26187
  ...{
26173
26188
  overflow: "oa",
@@ -26247,7 +26262,7 @@ function useHasSideNavLayoutProvider() {
26247
26262
  }
26248
26263
 
26249
26264
  // src/components/SideNav/SideNav.tsx
26250
- import { trussProps as trussProps120 } from "@homebound/truss/runtime";
26265
+ import { trussProps as trussProps121 } from "@homebound/truss/runtime";
26251
26266
  import { jsx as jsx213, jsxs as jsxs108 } from "react/jsx-runtime";
26252
26267
  function SideNav(props) {
26253
26268
  const {
@@ -26262,7 +26277,7 @@ function SideNav(props) {
26262
26277
  const panelCollapsed = navState === "collapse";
26263
26278
  const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
26264
26279
  return /* @__PURE__ */ jsxs108("nav", { className: "df fdc h100 fs0", ...tid, children: [
26265
- top !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps120({
26280
+ top !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps121({
26266
26281
  flexShrink: "fs0",
26267
26282
  paddingLeft: "pl2",
26268
26283
  paddingRight: "pr2",
@@ -26273,7 +26288,7 @@ function SideNav(props) {
26273
26288
  paddingBottom: "pb4"
26274
26289
  } : {}
26275
26290
  }), ...tid.top, children: top }),
26276
- /* @__PURE__ */ jsx213("div", { ...trussProps120({
26291
+ /* @__PURE__ */ jsx213("div", { ...trussProps121({
26277
26292
  flexGrow: "fg1",
26278
26293
  overflowY: "oya",
26279
26294
  display: "df",
@@ -26286,7 +26301,7 @@ function SideNav(props) {
26286
26301
  paddingTop: "pt5"
26287
26302
  } : {}
26288
26303
  }), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ jsx213(AppNavItems, { items, panelCollapsed }) }),
26289
- footer !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps120({
26304
+ footer !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps121({
26290
26305
  flexShrink: "fs0",
26291
26306
  paddingLeft: "pl2",
26292
26307
  paddingRight: "pr2",
@@ -26363,7 +26378,7 @@ var snackbarId = 1;
26363
26378
  // src/components/Stepper.tsx
26364
26379
  import { useRef as useRef64 } from "react";
26365
26380
  import { useButton as useButton12, useFocusRing as useFocusRing18, useHover as useHover21 } from "react-aria";
26366
- import { trussProps as trussProps121, maybeCssVar as maybeCssVar58 } from "@homebound/truss/runtime";
26381
+ import { trussProps as trussProps122, maybeCssVar as maybeCssVar59 } from "@homebound/truss/runtime";
26367
26382
  import { jsx as jsx214, jsxs as jsxs109 } from "react/jsx-runtime";
26368
26383
  import { createElement as createElement6 } from "react";
26369
26384
  var __maybeInc26 = (inc) => {
@@ -26384,7 +26399,7 @@ function Stepper(props) {
26384
26399
  const minStepWidth = 100;
26385
26400
  const gap = 8;
26386
26401
  return /* @__PURE__ */ jsxs109("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
26387
- /* @__PURE__ */ jsx214("ol", { ...trussProps121({
26402
+ /* @__PURE__ */ jsx214("ol", { ...trussProps122({
26388
26403
  padding: "p_0",
26389
26404
  margin: "m_0",
26390
26405
  listStyle: "lis_none",
@@ -26394,7 +26409,7 @@ function Stepper(props) {
26394
26409
  }]
26395
26410
  }), children: steps.map((step) => {
26396
26411
  const isCurrent = currentStep === step.value;
26397
- return /* @__PURE__ */ createElement6("li", { ...trussProps121({
26412
+ return /* @__PURE__ */ createElement6("li", { ...trussProps122({
26398
26413
  display: "df",
26399
26414
  flexGrow: "fg1",
26400
26415
  flexDirection: "fdc",
@@ -26406,7 +26421,7 @@ function Stepper(props) {
26406
26421
  }]
26407
26422
  }), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ jsx214(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
26408
26423
  }) }),
26409
- /* @__PURE__ */ jsx214("div", { ...trussProps121({
26424
+ /* @__PURE__ */ jsx214("div", { ...trussProps122({
26410
26425
  marginTop: "mt1",
26411
26426
  backgroundColor: ["bgColor_var", {
26412
26427
  "--backgroundColor": "var(--b-field-border-default)"
@@ -26419,14 +26434,14 @@ function Stepper(props) {
26419
26434
  "--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
26420
26435
  }],
26421
26436
  width: "w100"
26422
- }), children: /* @__PURE__ */ jsx214("div", { ...trussProps121({
26437
+ }), children: /* @__PURE__ */ jsx214("div", { ...trussProps122({
26423
26438
  backgroundColor: ["bgColor_var", {
26424
26439
  "--backgroundColor": "var(--b-primary)"
26425
26440
  }],
26426
26441
  transition: "transition_width_200ms",
26427
26442
  height: "h100",
26428
26443
  width: ["w_var", {
26429
- "--width": maybeCssVar58(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26444
+ "--width": maybeCssVar59(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26430
26445
  }]
26431
26446
  }) }) })
26432
26447
  ] });
@@ -26462,7 +26477,7 @@ function StepButton(props) {
26462
26477
  boxShadow: "bshFocus"
26463
26478
  };
26464
26479
  const tid = useTestIds(props, "stepButton");
26465
- return /* @__PURE__ */ jsxs109("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps121({
26480
+ return /* @__PURE__ */ jsxs109("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps122({
26466
26481
  ...{
26467
26482
  fontWeight: "fw6",
26468
26483
  fontSize: "fz_14px",
@@ -26539,7 +26554,7 @@ function StepIcon({
26539
26554
  if (state === "complete") {
26540
26555
  return /* @__PURE__ */ jsx214(Icon, { icon: "check" });
26541
26556
  }
26542
- return /* @__PURE__ */ jsx214("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx214("div", { ...trussProps121({
26557
+ return /* @__PURE__ */ jsx214("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx214("div", { ...trussProps122({
26543
26558
  width: "w_10px",
26544
26559
  height: "h_10px",
26545
26560
  borderStyle: "bss",
@@ -26555,7 +26570,7 @@ function StepIcon({
26555
26570
  // src/components/StepperTabs/StepperTab.tsx
26556
26571
  import { useRef as useRef65 } from "react";
26557
26572
  import { mergeProps as mergeProps33, useButton as useButton13, useFocusRing as useFocusRing19, useHover as useHover22, VisuallyHidden as VisuallyHidden10 } from "react-aria";
26558
- import { trussProps as trussProps122 } from "@homebound/truss/runtime";
26573
+ import { trussProps as trussProps123 } from "@homebound/truss/runtime";
26559
26574
  import { Fragment as Fragment48, jsx as jsx215, jsxs as jsxs110 } from "react/jsx-runtime";
26560
26575
  function StepperTab(props) {
26561
26576
  const {
@@ -26587,7 +26602,7 @@ function StepperTab(props) {
26587
26602
  const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
26588
26603
  const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
26589
26604
  const tid = useTestIds(props, "stepperTab");
26590
- return /* @__PURE__ */ jsxs110("button", { ref, ...mergeProps33(buttonProps, focusProps, hoverProps), "aria-label": label, ...trussProps122({
26605
+ return /* @__PURE__ */ jsxs110("button", { ref, ...mergeProps33(buttonProps, focusProps, hoverProps), "aria-label": label, ...trussProps123({
26591
26606
  ...stepperTabStyles.baseStyles,
26592
26607
  ...getStateStyles(active, completed),
26593
26608
  ...isHovered && !disabled ? stepperTabStyles.hoverStyles : {},
@@ -26598,7 +26613,7 @@ function StepperTab(props) {
26598
26613
  !collapsed && /* @__PURE__ */ jsxs110(Fragment48, { children: [
26599
26614
  /* @__PURE__ */ jsxs110("span", { className: "dg jic mw0", children: [
26600
26615
  /* @__PURE__ */ jsx215("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 }),
26601
- /* @__PURE__ */ jsx215("span", { ...trussProps122({
26616
+ /* @__PURE__ */ jsx215("span", { ...trussProps123({
26602
26617
  gridArea: "gridArea_1_1",
26603
26618
  overflow: "oh",
26604
26619
  display: "d_negwebkit_box",
@@ -26613,7 +26628,7 @@ function StepperTab(props) {
26613
26628
  } : {}
26614
26629
  }), children: label })
26615
26630
  ] }),
26616
- /* @__PURE__ */ jsx215("span", { ...trussProps122({
26631
+ /* @__PURE__ */ jsx215("span", { ...trussProps123({
26617
26632
  flexShrink: "fs0",
26618
26633
  marginLeft: "ml1",
26619
26634
  transition: "transitionAll",
@@ -26625,7 +26640,7 @@ function StepperTab(props) {
26625
26640
  } : {}
26626
26641
  }), children: /* @__PURE__ */ jsx215(Icon, { icon: "check", inc: 2.5, ...tid.check }) })
26627
26642
  ] }),
26628
- /* @__PURE__ */ jsx215("span", { "aria-hidden": true, ...trussProps122(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
26643
+ /* @__PURE__ */ jsx215("span", { "aria-hidden": true, ...trussProps123(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
26629
26644
  /* @__PURE__ */ jsx215(VisuallyHidden10, { children: completed ? "Complete" : "Not Complete" })
26630
26645
  ] });
26631
26646
  }
@@ -26707,7 +26722,7 @@ var stepperTabStyles = {
26707
26722
  };
26708
26723
 
26709
26724
  // src/components/StepperTabs/StepperTabs.tsx
26710
- import { trussProps as trussProps123 } from "@homebound/truss/runtime";
26725
+ import { trussProps as trussProps124 } from "@homebound/truss/runtime";
26711
26726
  import { jsx as jsx216 } from "react/jsx-runtime";
26712
26727
  import { createElement as createElement7 } from "react";
26713
26728
  function StepperTabs(props) {
@@ -26724,7 +26739,7 @@ function StepperTabs(props) {
26724
26739
  const collapsed = isMobile || !!forceCollapsed;
26725
26740
  const capWidth = steps.length <= 3;
26726
26741
  const currentStepIndex = Math.max(0, steps.findIndex((step) => step.value === currentStep));
26727
- return /* @__PURE__ */ jsx216("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ jsx216("ol", { ...trussProps123({
26742
+ return /* @__PURE__ */ jsx216("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ jsx216("ol", { ...trussProps124({
26728
26743
  padding: "p_0",
26729
26744
  margin: "m_0",
26730
26745
  listStyle: "lis_none",
@@ -26739,7 +26754,7 @@ function StepperTabs(props) {
26739
26754
  }), children: steps.map((step, idx) => {
26740
26755
  const isCurrent = idx === currentStepIndex;
26741
26756
  const isCompleted = idx < currentStepIndex;
26742
- return /* @__PURE__ */ createElement7("li", { ...trussProps123({
26757
+ return /* @__PURE__ */ createElement7("li", { ...trussProps124({
26743
26758
  display: "df",
26744
26759
  flexGrow: "fg1",
26745
26760
  flexBasis: "fb_0",
@@ -26759,7 +26774,7 @@ var gapPx = 6;
26759
26774
 
26760
26775
  // src/components/SuperDrawer/components/SuperDrawerHeader.tsx
26761
26776
  import { createPortal as createPortal8 } from "react-dom";
26762
- import { trussProps as trussProps124 } from "@homebound/truss/runtime";
26777
+ import { trussProps as trussProps125 } from "@homebound/truss/runtime";
26763
26778
  import { jsx as jsx217, jsxs as jsxs111 } from "react/jsx-runtime";
26764
26779
  function SuperDrawerHeader(props) {
26765
26780
  const {
@@ -26785,7 +26800,7 @@ function SuperDrawerHeader(props) {
26785
26800
  ] }),
26786
26801
  props.right && /* @__PURE__ */ jsx217("div", { className: "fs0", children: props.right })
26787
26802
  ] }) : /* @__PURE__ */ jsx217("div", { className: "fg1", children: props.children }),
26788
- !hideControls && /* @__PURE__ */ jsx217("div", { ...trussProps124({
26803
+ !hideControls && /* @__PURE__ */ jsx217("div", { ...trussProps125({
26789
26804
  flexShrink: "fs0",
26790
26805
  ...isDetail ? {
26791
26806
  visibility: "vh"
@@ -26937,7 +26952,7 @@ function canClose(canCloseCheck) {
26937
26952
  }
26938
26953
 
26939
26954
  // src/components/SuperDrawer/SuperDrawerContent.tsx
26940
- import { trussProps as trussProps125, mergeProps as mergeProps34 } from "@homebound/truss/runtime";
26955
+ import { trussProps as trussProps126, mergeProps as mergeProps34 } from "@homebound/truss/runtime";
26941
26956
  import { Fragment as Fragment49, jsx as jsx219, jsxs as jsxs112 } from "react/jsx-runtime";
26942
26957
  var SuperDrawerContent = ({
26943
26958
  children,
@@ -27003,7 +27018,7 @@ var SuperDrawerContent = ({
27003
27018
  }
27004
27019
  return /* @__PURE__ */ jsxs112(Fragment49, { children: [
27005
27020
  wrapWithMotionAndMaybeBack(children),
27006
- actions && /* @__PURE__ */ jsx219("footer", { ...trussProps125({
27021
+ actions && /* @__PURE__ */ jsx219("footer", { ...trussProps126({
27007
27022
  borderTopStyle: "bts_solid",
27008
27023
  borderTopWidth: "btw_1px",
27009
27024
  borderColor: ["bc_var", {
@@ -27076,7 +27091,7 @@ import { useEffect as useEffect38, useMemo as useMemo56, useRef as useRef66, use
27076
27091
  import { mergeProps as mergeProps35, useFocusRing as useFocusRing20, useHover as useHover23 } from "react-aria";
27077
27092
  import { matchPath } from "react-router";
27078
27093
  import { Link as Link7, useLocation as useLocation2 } from "react-router-dom";
27079
- import { trussProps as trussProps126, maybeCssVar as maybeCssVar59 } from "@homebound/truss/runtime";
27094
+ import { trussProps as trussProps127, maybeCssVar as maybeCssVar60 } from "@homebound/truss/runtime";
27080
27095
  import { Fragment as Fragment50, jsx as jsx220, jsxs as jsxs113 } from "react/jsx-runtime";
27081
27096
  function TabsWithContent(props) {
27082
27097
  const styles = hideTabs(props) ? {} : {
@@ -27109,7 +27124,7 @@ function TabContent(props) {
27109
27124
  return (
27110
27125
  // Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
27111
27126
  // Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
27112
- /* @__PURE__ */ jsx220(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx220("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps126(contentXss), children: selectedTab.render() }) })
27127
+ /* @__PURE__ */ jsx220(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx220("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps127(contentXss), children: selectedTab.render() }) })
27113
27128
  );
27114
27129
  }
27115
27130
  function Tabs(props) {
@@ -27151,7 +27166,7 @@ function Tabs(props) {
27151
27166
  setActive(selected);
27152
27167
  }
27153
27168
  }
27154
- return /* @__PURE__ */ jsxs113("div", { ...trussProps126({
27169
+ return /* @__PURE__ */ jsxs113("div", { ...trussProps127({
27155
27170
  ...{
27156
27171
  display: "df",
27157
27172
  alignItems: "aic",
@@ -27217,7 +27232,7 @@ function TabImpl(props) {
27217
27232
  role: "tab",
27218
27233
  tabIndex: active ? 0 : -1,
27219
27234
  ...others,
27220
- ...trussProps126({
27235
+ ...trussProps127({
27221
27236
  ...baseStyles4,
27222
27237
  ...active && activeStyles3,
27223
27238
  ...isDisabled && disabledStyles3,
@@ -27254,7 +27269,7 @@ function getTabStyles() {
27254
27269
  const borderBottomStyles = {
27255
27270
  borderBottomStyle: "bbs_solid",
27256
27271
  borderBottomWidth: ["borderBottomWidth_var", {
27257
- "--borderBottomWidth": maybeCssVar59(`${borderBottomWidthPx}px`)
27272
+ "--borderBottomWidth": maybeCssVar60(`${borderBottomWidthPx}px`)
27258
27273
  }],
27259
27274
  paddingBottom: ["pb_var", {
27260
27275
  "--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
@@ -27374,7 +27389,7 @@ function useToast() {
27374
27389
  }
27375
27390
 
27376
27391
  // src/layouts/SideNavLayout/SideNavLayout.tsx
27377
- import { trussProps as trussProps127, mergeProps as mergeProps36, maybeCssVar as maybeCssVar60 } from "@homebound/truss/runtime";
27392
+ import { trussProps as trussProps128, mergeProps as mergeProps36, maybeCssVar as maybeCssVar61 } from "@homebound/truss/runtime";
27378
27393
  import { jsx as jsx222, jsxs as jsxs115 } from "react/jsx-runtime";
27379
27394
  var __maybeInc27 = (inc) => {
27380
27395
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27405,7 +27420,7 @@ function SideNavLayoutContent(props) {
27405
27420
  const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
27406
27421
  const navTop = bannerAndNavbarChromeTop();
27407
27422
  const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
27408
- const rail = showRail && /* @__PURE__ */ jsxs115("div", { ...trussProps127({
27423
+ const rail = showRail && /* @__PURE__ */ jsxs115("div", { ...trussProps128({
27409
27424
  ...{
27410
27425
  display: "df",
27411
27426
  flexDirection: "fdc",
@@ -27429,14 +27444,14 @@ function SideNavLayoutContent(props) {
27429
27444
  position: "sticky",
27430
27445
  left: "left0",
27431
27446
  zIndex: ["z_var", {
27432
- "--zIndex": maybeCssVar60(zIndices.sideNav)
27447
+ "--zIndex": maybeCssVar61(zIndices.sideNav)
27433
27448
  }],
27434
27449
  top: ["top_var", {
27435
- "--top": maybeCssVar60(__maybeInc27(navTop))
27450
+ "--top": maybeCssVar61(__maybeInc27(navTop))
27436
27451
  }],
27437
27452
  alignSelf: "asfs",
27438
27453
  height: ["h_var", {
27439
- "--height": maybeCssVar60(__maybeInc27(railViewportHeight))
27454
+ "--height": maybeCssVar61(__maybeInc27(railViewportHeight))
27440
27455
  }],
27441
27456
  width: ["w_var", {
27442
27457
  "--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
@@ -27446,11 +27461,11 @@ function SideNavLayoutContent(props) {
27446
27461
  position: "fixed",
27447
27462
  left: "left0",
27448
27463
  top: ["top_var", {
27449
- "--top": maybeCssVar60(__maybeInc27(navTop))
27464
+ "--top": maybeCssVar61(__maybeInc27(navTop))
27450
27465
  }],
27451
27466
  bottom: "bottom0",
27452
27467
  zIndex: ["z_var", {
27453
- "--zIndex": maybeCssVar60(zIndices.sideNav)
27468
+ "--zIndex": maybeCssVar61(zIndices.sideNav)
27454
27469
  }]
27455
27470
  },
27456
27471
  ...collapsed ? {
@@ -27473,7 +27488,7 @@ function SideNavLayoutContent(props) {
27473
27488
  width: "w100"
27474
27489
  }), ...tid, children: [
27475
27490
  contrastRail ? /* @__PURE__ */ jsx222(ContrastScope, { children: rail }) : rail,
27476
- /* @__PURE__ */ jsx222("div", { ...trussProps127({
27491
+ /* @__PURE__ */ jsx222("div", { ...trussProps128({
27477
27492
  display: "df",
27478
27493
  flexDirection: "fdc",
27479
27494
  flexGrow: "fg1",
@@ -27489,7 +27504,7 @@ function SideNavLayoutContent(props) {
27489
27504
  }
27490
27505
 
27491
27506
  // src/layouts/CenteredLayout/CenteredLayout.tsx
27492
- import { mergeProps as mergeProps37, maybeCssVar as maybeCssVar61 } from "@homebound/truss/runtime";
27507
+ import { mergeProps as mergeProps37, maybeCssVar as maybeCssVar62 } from "@homebound/truss/runtime";
27493
27508
  import { jsx as jsx223 } from "react/jsx-runtime";
27494
27509
  var __maybeInc28 = (inc) => {
27495
27510
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27531,15 +27546,15 @@ var smContentPaddingX = "12px";
27531
27546
  var mdAndUpContentPaddingX = pageContentPaddingXValue;
27532
27547
  var centeredPaddingX = {
27533
27548
  paddingLeft: ["px_var mdandup_pl3", {
27534
- "--paddingLeft": maybeCssVar61(__maybeInc28(smContentPaddingX))
27549
+ "--paddingLeft": maybeCssVar62(__maybeInc28(smContentPaddingX))
27535
27550
  }],
27536
27551
  paddingRight: ["px_var mdandup_pr3", {
27537
- "--paddingRight": maybeCssVar61(__maybeInc28(smContentPaddingX))
27552
+ "--paddingRight": maybeCssVar62(__maybeInc28(smContentPaddingX))
27538
27553
  }]
27539
27554
  };
27540
27555
 
27541
27556
  // src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
27542
- import { trussProps as trussProps128, mergeProps as mergeProps38, maybeCssVar as maybeCssVar62 } from "@homebound/truss/runtime";
27557
+ import { trussProps as trussProps129, mergeProps as mergeProps38, maybeCssVar as maybeCssVar63 } from "@homebound/truss/runtime";
27543
27558
  import { jsx as jsx224, jsxs as jsxs116 } from "react/jsx-runtime";
27544
27559
  var __maybeInc29 = (inc) => {
27545
27560
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27567,15 +27582,15 @@ function EnvironmentBannerLayout(props) {
27567
27582
  }, {
27568
27583
  flexShrink: "fs0",
27569
27584
  width: "w100"
27570
- }), children: /* @__PURE__ */ jsx224("div", { ...trussProps128({
27585
+ }), children: /* @__PURE__ */ jsx224("div", { ...trussProps129({
27571
27586
  position: "fixed",
27572
27587
  top: "top0",
27573
27588
  left: "left0",
27574
27589
  zIndex: ["z_var", {
27575
- "--zIndex": maybeCssVar62(zIndices.environmentBanner)
27590
+ "--zIndex": maybeCssVar63(zIndices.environmentBanner)
27576
27591
  }],
27577
27592
  width: ["w_var", {
27578
- "--width": maybeCssVar62(__maybeInc29(innerWidth))
27593
+ "--width": maybeCssVar63(__maybeInc29(innerWidth))
27579
27594
  }]
27580
27595
  }), ...tid.bannerSticky, children: /* @__PURE__ */ jsx224(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
27581
27596
  children
@@ -27583,7 +27598,7 @@ function EnvironmentBannerLayout(props) {
27583
27598
  }
27584
27599
 
27585
27600
  // src/layouts/FormSectionLayout/FormSectionLayout.tsx
27586
- import { trussProps as trussProps129 } from "@homebound/truss/runtime";
27601
+ import { trussProps as trussProps130 } from "@homebound/truss/runtime";
27587
27602
  import { jsx as jsx225, jsxs as jsxs117 } from "react/jsx-runtime";
27588
27603
  function FormSectionLayout(props) {
27589
27604
  const {
@@ -27596,7 +27611,7 @@ function FormSectionLayout(props) {
27596
27611
  aiMode = false
27597
27612
  } = props;
27598
27613
  const tid = useTestIds(props, "formSectionLayout");
27599
- const content = /* @__PURE__ */ jsxs117("div", { ...trussProps129({
27614
+ const content = /* @__PURE__ */ jsxs117("div", { ...trussProps130({
27600
27615
  display: "df",
27601
27616
  flexDirection: "fdc",
27602
27617
  gap: "gap8",
@@ -27618,7 +27633,7 @@ function FormSectionLayout(props) {
27618
27633
 
27619
27634
  // src/layouts/NavbarLayout/NavbarLayout.tsx
27620
27635
  import { useMemo as useMemo57, useRef as useRef68 } from "react";
27621
- import { mergeProps as mergeProps39, maybeCssVar as maybeCssVar63 } from "@homebound/truss/runtime";
27636
+ import { mergeProps as mergeProps39, maybeCssVar as maybeCssVar64 } from "@homebound/truss/runtime";
27622
27637
 
27623
27638
  // src/layouts/useAutoHideOnScroll.ts
27624
27639
  import { useLayoutEffect as useLayoutEffect11, useRef as useRef67, useState as useState60 } from "react";
@@ -27768,10 +27783,10 @@ function NavbarLayout(props) {
27768
27783
  position: "sticky",
27769
27784
  left: "left0",
27770
27785
  zIndex: ["z_var", {
27771
- "--zIndex": maybeCssVar63(zIndices.navbar)
27786
+ "--zIndex": maybeCssVar64(zIndices.navbar)
27772
27787
  }],
27773
27788
  width: ["w_var", {
27774
- "--width": maybeCssVar63(__maybeInc30(innerWidth))
27789
+ "--width": maybeCssVar64(__maybeInc30(innerWidth))
27775
27790
  }]
27776
27791
  }
27777
27792
  ) : (
@@ -27780,10 +27795,10 @@ function NavbarLayout(props) {
27780
27795
  position: "fixed",
27781
27796
  left: "left0",
27782
27797
  zIndex: ["z_var", {
27783
- "--zIndex": maybeCssVar63(zIndices.navbar)
27798
+ "--zIndex": maybeCssVar64(zIndices.navbar)
27784
27799
  }],
27785
27800
  width: ["w_var", {
27786
- "--width": maybeCssVar63(__maybeInc30(innerWidth))
27801
+ "--width": maybeCssVar64(__maybeInc30(innerWidth))
27787
27802
  }],
27788
27803
  transition: "transitionTop"
27789
27804
  }
@@ -27813,7 +27828,7 @@ function NavbarLayout(props) {
27813
27828
  import { useCallback as useCallback41, useMemo as useMemo58, useRef as useRef69 } from "react";
27814
27829
 
27815
27830
  // src/components/Headers/BaseHeader.tsx
27816
- import { trussProps as trussProps130 } from "@homebound/truss/runtime";
27831
+ import { trussProps as trussProps131 } from "@homebound/truss/runtime";
27817
27832
  import { jsx as jsx228, jsxs as jsxs119 } from "react/jsx-runtime";
27818
27833
  function BaseHeader(props) {
27819
27834
  const {
@@ -27826,7 +27841,7 @@ function BaseHeader(props) {
27826
27841
  } = props;
27827
27842
  const tid = useTestIds(otherProps, "header");
27828
27843
  useDocumentTitle(title, documentTitleSuffix);
27829
- return /* @__PURE__ */ jsxs119("header", { ...tid, ...trussProps130({
27844
+ return /* @__PURE__ */ jsxs119("header", { ...tid, ...trussProps131({
27830
27845
  display: "df",
27831
27846
  flexDirection: "fdc",
27832
27847
  paddingTop: "pt3",
@@ -27840,7 +27855,7 @@ function BaseHeader(props) {
27840
27855
  "--backgroundColor": "var(--b-surface)"
27841
27856
  }]
27842
27857
  }), children: [
27843
- /* @__PURE__ */ jsxs119("div", { ...trussProps130({
27858
+ /* @__PURE__ */ jsxs119("div", { ...trussProps131({
27844
27859
  ...{
27845
27860
  display: "df",
27846
27861
  justifyContent: "jcsb",
@@ -27856,7 +27871,7 @@ function BaseHeader(props) {
27856
27871
  }), children: [
27857
27872
  /* @__PURE__ */ jsxs119("div", { className: "mw0", children: [
27858
27873
  breadcrumbs && /* @__PURE__ */ jsx228(Breadcrumbs, { ...breadcrumbs }),
27859
- /* @__PURE__ */ jsx228("h1", { ...tid.title, ...trussProps130({
27874
+ /* @__PURE__ */ jsx228("h1", { ...tid.title, ...trussProps131({
27860
27875
  fontWeight: "fw6",
27861
27876
  fontSize: "fz_20px",
27862
27877
  lineHeight: "lh_28px",
@@ -27872,7 +27887,7 @@ function BaseHeader(props) {
27872
27887
  }
27873
27888
 
27874
27889
  // src/components/Headers/PageHeader.tsx
27875
- import { trussProps as trussProps131 } from "@homebound/truss/runtime";
27890
+ import { trussProps as trussProps132 } from "@homebound/truss/runtime";
27876
27891
  import { jsx as jsx229 } from "react/jsx-runtime";
27877
27892
  function PageHeader2(props) {
27878
27893
  const {
@@ -27880,7 +27895,7 @@ function PageHeader2(props) {
27880
27895
  ...otherProps
27881
27896
  } = props;
27882
27897
  const tid = useTestIds(otherProps, "header");
27883
- return /* @__PURE__ */ jsx229(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ jsx229("div", { ...trussProps131(pageContentPaddingX), children: /* @__PURE__ */ jsx229(Tabs, { ...tabs, ...tid.tabs }) }) });
27898
+ return /* @__PURE__ */ jsx229(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ jsx229("div", { ...trussProps132(pageContentPaddingX), children: /* @__PURE__ */ jsx229(Tabs, { ...tabs, ...tid.tabs }) }) });
27884
27899
  }
27885
27900
 
27886
27901
  // src/layouts/useBannerAndNavbarHeight.ts
@@ -27889,7 +27904,7 @@ function useBannerAndNavbarHeight() {
27889
27904
  }
27890
27905
 
27891
27906
  // src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
27892
- import { mergeProps as mergeProps40, maybeCssVar as maybeCssVar64 } from "@homebound/truss/runtime";
27907
+ import { mergeProps as mergeProps40, maybeCssVar as maybeCssVar65 } from "@homebound/truss/runtime";
27893
27908
  import { jsx as jsx230, jsxs as jsxs120 } from "react/jsx-runtime";
27894
27909
  var __maybeInc31 = (inc) => {
27895
27910
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27921,24 +27936,24 @@ function PageHeaderLayout(props) {
27921
27936
  const innerCss = autoHideState === "static" ? {
27922
27937
  position: "sticky",
27923
27938
  left: ["left_var", {
27924
- "--left": maybeCssVar64(__maybeInc31(headerLeft))
27939
+ "--left": maybeCssVar65(__maybeInc31(headerLeft))
27925
27940
  }],
27926
27941
  width: ["w_var", {
27927
- "--width": maybeCssVar64(__maybeInc31(headerWidth))
27942
+ "--width": maybeCssVar65(__maybeInc31(headerWidth))
27928
27943
  }],
27929
27944
  zIndex: ["z_var", {
27930
- "--zIndex": maybeCssVar64(zIndices.pageStickyHeader)
27945
+ "--zIndex": maybeCssVar65(zIndices.pageStickyHeader)
27931
27946
  }]
27932
27947
  } : {
27933
27948
  position: "fixed",
27934
27949
  left: ["left_var", {
27935
- "--left": maybeCssVar64(__maybeInc31(headerLeft))
27950
+ "--left": maybeCssVar65(__maybeInc31(headerLeft))
27936
27951
  }],
27937
27952
  width: ["w_var", {
27938
- "--width": maybeCssVar64(__maybeInc31(headerWidth))
27953
+ "--width": maybeCssVar65(__maybeInc31(headerWidth))
27939
27954
  }],
27940
27955
  zIndex: ["z_var", {
27941
- "--zIndex": maybeCssVar64(zIndices.pageStickyHeader)
27956
+ "--zIndex": maybeCssVar65(zIndices.pageStickyHeader)
27942
27957
  }],
27943
27958
  transition: "transitionTop"
27944
27959
  };
@@ -27961,21 +27976,84 @@ function PageHeaderLayout(props) {
27961
27976
  ] }) });
27962
27977
  }
27963
27978
 
27964
- // src/layouts/WorkflowLayout/WorkflowLayout.tsx
27965
- import { useLayoutEffect as useLayoutEffect13, useRef as useRef71, useState as useState62 } from "react";
27979
+ // src/layouts/Workflow/JumpLinksRail.tsx
27980
+ import { trussProps as trussProps133, maybeCssVar as maybeCssVar66 } from "@homebound/truss/runtime";
27981
+ import { jsx as jsx231 } from "react/jsx-runtime";
27982
+ var __maybeInc32 = (inc) => {
27983
+ return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
27984
+ };
27985
+ var jumpLinksRailWidthPx = 180;
27986
+ function JumpLinksRail(props) {
27987
+ const {
27988
+ links,
27989
+ activeId
27990
+ } = props;
27991
+ const tid = useTestIds(props, "jumpLinks");
27992
+ return /* @__PURE__ */ jsx231("nav", { ...trussProps133({
27993
+ display: "df",
27994
+ flexDirection: "fdc",
27995
+ flexShrink: "fs0",
27996
+ width: ["w_var", {
27997
+ "--width": `${jumpLinksRailWidthPx}px`
27998
+ }],
27999
+ position: "sticky",
28000
+ alignSelf: "asfs",
28001
+ top: ["top_var", {
28002
+ "--top": maybeCssVar66(__maybeInc32(stickyNavAndHeaderOffset()))
28003
+ }]
28004
+ }), ...tid, children: links.map((link) => /* @__PURE__ */ jsx231(JumpLink, { label: link.label, href: `#${link.id}`, active: link.id === activeId, ...tid.link }, link.id)) });
28005
+ }
28006
+
28007
+ // src/layouts/Workflow/useActiveJumpLink.ts
28008
+ import { useLayoutEffect as useLayoutEffect13, useState as useState62 } from "react";
28009
+ var activationLeadPx = 120;
28010
+ function useActiveJumpLink(sectionIds) {
28011
+ const idsKey = sectionIds.join("\0");
28012
+ const [activeId, setActiveId] = useState62(sectionIds[0]);
28013
+ useLayoutEffect13(() => {
28014
+ const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
28015
+ if (ids.length === 0) return;
28016
+ const update = () => {
28017
+ const first = ids.map((id) => document.getElementById(id)).find((el) => el !== null);
28018
+ if (!first) return;
28019
+ const headerOffset = stickyNavAndHeaderOffsetPx(first);
28020
+ let current = ids[0];
28021
+ for (const id of ids) {
28022
+ const el = document.getElementById(id);
28023
+ if (el && el.getBoundingClientRect().top - headerOffset <= activationLeadPx) {
28024
+ current = id;
28025
+ }
28026
+ }
28027
+ setActiveId(current);
28028
+ };
28029
+ update();
28030
+ window.addEventListener("scroll", update, { passive: true });
28031
+ return () => window.removeEventListener("scroll", update);
28032
+ }, [idsKey]);
28033
+ return sectionIds.includes(activeId ?? "") ? activeId : sectionIds[0];
28034
+ }
28035
+
28036
+ // src/layouts/Workflow/WorkflowPageLayout.tsx
28037
+ import { useLayoutEffect as useLayoutEffect14, useRef as useRef71 } from "react";
27966
28038
 
27967
28039
  // src/components/Headers/WorkflowHeader.tsx
27968
- import { jsx as jsx231 } from "react/jsx-runtime";
28040
+ import { jsx as jsx232 } from "react/jsx-runtime";
27969
28041
  function WorkflowHeader(props) {
27970
28042
  const { stepperTabs, ...otherProps } = props;
27971
28043
  const tid = useTestIds(otherProps, "header");
27972
- return /* @__PURE__ */ jsx231(BaseHeader, { ...otherProps, bottomSlot: /* @__PURE__ */ jsx231(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) });
28044
+ return /* @__PURE__ */ jsx232(
28045
+ BaseHeader,
28046
+ {
28047
+ ...otherProps,
28048
+ bottomSlot: stepperTabs ? /* @__PURE__ */ jsx232(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) : void 0
28049
+ }
28050
+ );
27973
28051
  }
27974
28052
 
27975
- // src/layouts/WorkflowLayout/useUnsavedChangesGuard.tsx
28053
+ // src/layouts/Workflow/useUnsavedChangesGuard.tsx
27976
28054
  import { useEffect as useEffect39, useRef as useRef70 } from "react";
27977
28055
  import { useBlocker } from "react-router-dom";
27978
- import { jsx as jsx232 } from "react/jsx-runtime";
28056
+ import { jsx as jsx233 } from "react/jsx-runtime";
27979
28057
  function useUnsavedChangesGuard(options) {
27980
28058
  const { isDirty, onCancel } = options;
27981
28059
  const { openModal } = useModal();
@@ -27998,7 +28076,7 @@ function useUnsavedChangesGuard(options) {
27998
28076
  }
27999
28077
  openModal({
28000
28078
  allowClosing: false,
28001
- content: /* @__PURE__ */ jsx232(ConfirmCloseModal, { onClose: () => onCancel(e) })
28079
+ content: /* @__PURE__ */ jsx233(ConfirmCloseModal, { onClose: () => onCancel(e) })
28002
28080
  });
28003
28081
  };
28004
28082
  const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
@@ -28010,64 +28088,64 @@ function UnsavedChangesNavigationModal(props) {
28010
28088
  useEffect39(() => {
28011
28089
  openModal({
28012
28090
  allowClosing: false,
28013
- content: /* @__PURE__ */ jsx232(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
28091
+ content: /* @__PURE__ */ jsx233(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
28014
28092
  });
28015
28093
  return () => closeModal();
28016
28094
  }, []);
28017
28095
  return null;
28018
28096
  }
28019
28097
 
28020
- // src/layouts/WorkflowLayout/WorkflowActions.tsx
28021
- import { jsx as jsx233, jsxs as jsxs121 } from "react/jsx-runtime";
28098
+ // src/layouts/Workflow/WorkflowActions.tsx
28099
+ import { jsx as jsx234, jsxs as jsxs121 } from "react/jsx-runtime";
28022
28100
  function WorkflowActions(props) {
28023
28101
  const {
28024
- isFirstStep,
28025
- isLastStep,
28026
- isMobile,
28027
- onBack,
28028
28102
  onCancel,
28029
28103
  onSaveAndExit,
28030
28104
  completeLabel,
28031
28105
  onComplete,
28032
- onContinue,
28033
28106
  primaryDisabled,
28034
- aiMode = false
28107
+ aiMode = false,
28108
+ isFirstStep = true,
28109
+ isLastStep = true,
28110
+ onBack,
28111
+ onContinue
28035
28112
  } = props;
28113
+ const {
28114
+ sm: isMobile
28115
+ } = useBreakpoint();
28036
28116
  const primaryVariant = aiMode ? "ai" : "primary";
28037
28117
  return /* @__PURE__ */ jsxs121("div", { className: "df aic jcsb sm_w100", children: [
28038
- /* @__PURE__ */ jsx233("div", { className: "df aic", children: !isFirstStep && isMobile && /* @__PURE__ */ jsx233(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
28118
+ /* @__PURE__ */ jsx234("div", { className: "df aic", children: !isFirstStep && isMobile && onBack && /* @__PURE__ */ jsx234(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
28039
28119
  /* @__PURE__ */ jsxs121("div", { className: "df aic gap1", children: [
28040
- /* @__PURE__ */ jsx233(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
28041
- onSaveAndExit && /* @__PURE__ */ jsx233(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
28042
- isLastStep ? /* @__PURE__ */ jsx233(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ jsx233(Button, { label: "Continue", variant: primaryVariant, onClick: onContinue, disabled: primaryDisabled })
28120
+ /* @__PURE__ */ jsx234(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
28121
+ onSaveAndExit && /* @__PURE__ */ jsx234(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
28122
+ isLastStep ? /* @__PURE__ */ jsx234(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ jsx234(Button, { label: "Continue", variant: primaryVariant, onClick: async () => {
28123
+ await onContinue?.();
28124
+ }, disabled: primaryDisabled })
28043
28125
  ] })
28044
28126
  ] });
28045
28127
  }
28046
28128
 
28047
- // src/layouts/WorkflowLayout/WorkflowLayout.tsx
28048
- import { trussProps as trussProps132, mergeProps as mergeProps41, maybeCssVar as maybeCssVar65 } from "@homebound/truss/runtime";
28049
- import { jsx as jsx234, jsxs as jsxs122 } from "react/jsx-runtime";
28050
- var __maybeInc32 = (inc) => {
28129
+ // src/layouts/Workflow/WorkflowPageLayout.tsx
28130
+ import { trussProps as trussProps134, mergeProps as mergeProps41, maybeCssVar as maybeCssVar67 } from "@homebound/truss/runtime";
28131
+ import { jsx as jsx235, jsxs as jsxs122 } from "react/jsx-runtime";
28132
+ var __maybeInc33 = (inc) => {
28051
28133
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
28052
28134
  };
28053
- function WorkflowLayout(props) {
28135
+ var mobileFooterHeightPx = 80;
28136
+ function WorkflowPageLayout(props) {
28054
28137
  const {
28055
- steps,
28056
- defaultStep,
28057
- onCancel,
28058
- completeLabel,
28059
- onComplete,
28060
- onSaveAndExit,
28138
+ stepperTabs,
28139
+ aiMode,
28061
28140
  isDirty,
28062
- aiMode = false,
28063
- ...headerProps
28141
+ children,
28142
+ title,
28143
+ documentTitleSuffix,
28144
+ breadcrumbs,
28145
+ onCancel,
28146
+ ...actionProps
28064
28147
  } = props;
28065
- const stepTabs = steps.map((step) => ({
28066
- ...step,
28067
- value: defaultTestId(step.label)
28068
- }));
28069
- const [currentStep, setCurrentStep] = useState62(() => getInitialStep(stepTabs, defaultStep));
28070
- const tid = useTestIds(props, "workflowLayout");
28148
+ const tid = useTestIds(props, "workflowPageLayout");
28071
28149
  const {
28072
28150
  sm: isMobile
28073
28151
  } = useBreakpoint();
@@ -28078,6 +28156,7 @@ function WorkflowLayout(props) {
28078
28156
  isDirty,
28079
28157
  onCancel
28080
28158
  });
28159
+ const actions = /* @__PURE__ */ jsx235(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick });
28081
28160
  const headerMetricsRef = useRef71(null);
28082
28161
  const headerHeight = useMeasuredHeight(headerMetricsRef, true);
28083
28162
  const headerWidth = documentScrollChromeWidth();
@@ -28085,20 +28164,8 @@ function WorkflowLayout(props) {
28085
28164
  const cssVars = headerHeight > 0 ? {
28086
28165
  [beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
28087
28166
  } : void 0;
28088
- const currentIndex = isValidStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
28089
- const isFirstStep = currentIndex <= 0;
28090
- const isLastStep = currentIndex === stepTabs.length - 1;
28091
- const activeStep = stepTabs[currentIndex];
28092
- const buttons = /* @__PURE__ */ jsx234(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => setCurrentStep(stepTabs[currentIndex - 1].value), onCancel: onCancelClick, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !activeStep?.isValid, aiMode, onContinue: async () => {
28093
- const onContinue = activeStep?.onContinue;
28094
- if (onContinue) {
28095
- const allowed = await onContinue();
28096
- if (allowed === false) return;
28097
- }
28098
- setCurrentStep(stepTabs[currentIndex + 1].value);
28099
- } });
28100
28167
  const showFooter = isMobile;
28101
- useLayoutEffect13(() => {
28168
+ useLayoutEffect14(() => {
28102
28169
  const root = document.documentElement;
28103
28170
  const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
28104
28171
  root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
@@ -28110,39 +28177,26 @@ function WorkflowLayout(props) {
28110
28177
  }
28111
28178
  };
28112
28179
  }, [showFooter]);
28113
- const headerEl = /* @__PURE__ */ jsx234(
28114
- WorkflowHeader,
28115
- {
28116
- ...headerProps,
28117
- rightSlot: isMobile ? void 0 : buttons,
28118
- stepperTabs: {
28119
- steps: stepTabs,
28120
- currentStep,
28121
- onChange: setCurrentStep,
28122
- collapsed: isMobile
28123
- }
28124
- }
28125
- );
28126
28180
  return /* @__PURE__ */ jsxs122(DocumentScrollLayoutProvider, { children: [
28127
28181
  /* @__PURE__ */ jsxs122("div", { ...mergeProps41(void 0, cssVars, {
28128
28182
  display: "df",
28129
28183
  flexDirection: "fdc",
28130
28184
  width: "w100"
28131
28185
  }), ...tid, children: [
28132
- /* @__PURE__ */ jsx234("div", { ref: headerMetricsRef, ...trussProps132({
28186
+ /* @__PURE__ */ jsx235("div", { ref: headerMetricsRef, ...trussProps134({
28133
28187
  position: "sticky",
28134
28188
  left: "left0",
28135
28189
  width: ["w_var", {
28136
- "--width": maybeCssVar65(__maybeInc32(headerWidth))
28190
+ "--width": maybeCssVar67(__maybeInc33(headerWidth))
28137
28191
  }],
28138
28192
  zIndex: ["z_var", {
28139
- "--zIndex": maybeCssVar65(zIndices.pageStickyHeader)
28193
+ "--zIndex": maybeCssVar67(zIndices.pageStickyHeader)
28140
28194
  }],
28141
28195
  top: ["top_var", {
28142
- "--top": maybeCssVar65(__maybeInc32(outerTop))
28196
+ "--top": maybeCssVar67(__maybeInc33(outerTop))
28143
28197
  }]
28144
- }), ...tid.header, children: headerEl }),
28145
- /* @__PURE__ */ jsx234("div", { ...trussProps132({
28198
+ }), ...tid.header, children: /* @__PURE__ */ jsx235(WorkflowHeader, { title, documentTitleSuffix, breadcrumbs, rightSlot: isMobile ? void 0 : actions, stepperTabs }) }),
28199
+ /* @__PURE__ */ jsx235("div", { ...trussProps134({
28146
28200
  ...{
28147
28201
  display: "df",
28148
28202
  flexDirection: "fdc",
@@ -28154,28 +28208,28 @@ function WorkflowLayout(props) {
28154
28208
  ...aiMode && {
28155
28209
  backgroundImage: "aiBackground",
28156
28210
  minHeight: ["mh_var", {
28157
- "--minHeight": maybeCssVar65(documentScrollBodyMinHeight())
28211
+ "--minHeight": maybeCssVar67(documentScrollBodyMinHeight())
28158
28212
  }]
28159
28213
  }
28160
- }), ...tid.body, children: activeStep?.content }),
28161
- showFooter && /* @__PURE__ */ jsx234("div", { ...trussProps132({
28214
+ }), ...tid.body, children }),
28215
+ showFooter && /* @__PURE__ */ jsx235("div", { ...trussProps134({
28162
28216
  flexShrink: "fs0",
28163
28217
  width: "w100",
28164
28218
  height: ["h_var", {
28165
28219
  "--height": `${mobileFooterHeightPx}px`
28166
28220
  }]
28167
- }), children: /* @__PURE__ */ jsx234("div", { ...trussProps132({
28221
+ }), children: /* @__PURE__ */ jsx235("div", { ...trussProps134({
28168
28222
  ...{
28169
28223
  position: "fixed",
28170
28224
  bottom: "bottom0",
28171
28225
  width: ["w_var", {
28172
- "--width": maybeCssVar65(__maybeInc32(headerWidth))
28226
+ "--width": maybeCssVar67(__maybeInc33(headerWidth))
28173
28227
  }],
28174
28228
  height: ["h_var", {
28175
28229
  "--height": `${mobileFooterHeightPx}px`
28176
28230
  }],
28177
28231
  zIndex: ["z_var", {
28178
- "--zIndex": maybeCssVar65(zIndices.pageStickyFooter)
28232
+ "--zIndex": maybeCssVar67(zIndices.pageStickyFooter)
28179
28233
  }],
28180
28234
  display: "df",
28181
28235
  alignItems: "aic",
@@ -28191,17 +28245,95 @@ function WorkflowLayout(props) {
28191
28245
  }]
28192
28246
  },
28193
28247
  ...pageContentPaddingX
28194
- }), ...tid.footer, children: buttons }) })
28248
+ }), ...tid.footer, children: actions }) })
28195
28249
  ] }),
28196
- navigationBlocker && /* @__PURE__ */ jsx234(UnsavedChangesNavigationModal, { ...navigationBlocker })
28250
+ navigationBlocker && /* @__PURE__ */ jsx235(UnsavedChangesNavigationModal, { ...navigationBlocker })
28197
28251
  ] });
28198
28252
  }
28199
- var mobileFooterHeightPx = 80;
28200
- function isValidStep(steps, value) {
28253
+
28254
+ // src/layouts/Workflow/FocusedFormLayout.tsx
28255
+ import { jsx as jsx236, jsxs as jsxs123 } from "react/jsx-runtime";
28256
+ function FocusedFormLayout(props) {
28257
+ const {
28258
+ onCancel,
28259
+ completeLabel,
28260
+ onComplete,
28261
+ onSaveAndExit,
28262
+ isValid,
28263
+ isDirty,
28264
+ withJumpLinks = true,
28265
+ aiMode,
28266
+ form,
28267
+ ...headerProps
28268
+ } = props;
28269
+ const tid = useTestIds(props, "focusedFormLayout");
28270
+ const {
28271
+ sm: isMobile
28272
+ } = useBreakpoint();
28273
+ const jumpLinks = (form.sections ?? []).filter((section) => !section.excludeJumpLink).map((section) => {
28274
+ const id = defaultTestId(section.title);
28275
+ return {
28276
+ id,
28277
+ label: section.title
28278
+ };
28279
+ });
28280
+ const activeId = useActiveJumpLink(jumpLinks.map((link) => link.id));
28281
+ const showRail = withJumpLinks && jumpLinks.length >= 2 && !isMobile;
28282
+ return /* @__PURE__ */ jsx236(WorkflowPageLayout, { ...tid, ...headerProps, aiMode, isDirty, onCancel, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !isValid, children: /* @__PURE__ */ jsxs123("div", { className: "df w100", children: [
28283
+ showRail && /* @__PURE__ */ jsx236(JumpLinksRail, { links: jumpLinks, activeId, ...tid.jumpLinks }),
28284
+ /* @__PURE__ */ jsx236("div", { className: "fg1 mw0 mb4", children: /* @__PURE__ */ jsx236(FormSectionLayout, { ...form, aiMode }) })
28285
+ ] }) });
28286
+ }
28287
+
28288
+ // src/layouts/Workflow/StepperLayout.tsx
28289
+ import { useState as useState63 } from "react";
28290
+ import { jsx as jsx237 } from "react/jsx-runtime";
28291
+ function StepperLayout(props) {
28292
+ const { steps, defaultStep, onCancel, completeLabel, onComplete, onSaveAndExit, isDirty, aiMode, ...headerProps } = props;
28293
+ const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
28294
+ const [currentStep, setCurrentStep] = useState63(() => getInitialStep(stepTabs, defaultStep));
28295
+ const tid = useTestIds(props, "stepperLayout");
28296
+ const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
28297
+ const isFirstStep = currentIndex <= 0;
28298
+ const isLastStep = currentIndex >= stepTabs.length - 1;
28299
+ const activeStep = stepTabs[currentIndex];
28300
+ return /* @__PURE__ */ jsx237(
28301
+ WorkflowPageLayout,
28302
+ {
28303
+ ...tid,
28304
+ ...headerProps,
28305
+ aiMode,
28306
+ stepperTabs: { steps: stepTabs, currentStep, onChange: setCurrentStep },
28307
+ isDirty,
28308
+ isFirstStep,
28309
+ isLastStep,
28310
+ onBack: () => {
28311
+ const prev = stepTabs[currentIndex - 1];
28312
+ if (prev) setCurrentStep(prev.value);
28313
+ },
28314
+ onCancel,
28315
+ onSaveAndExit,
28316
+ completeLabel,
28317
+ onComplete,
28318
+ primaryDisabled: !activeStep?.isValid,
28319
+ onContinue: async () => {
28320
+ const onContinue = activeStep?.onContinue;
28321
+ if (onContinue) {
28322
+ const allowed = await onContinue();
28323
+ if (allowed === false) return;
28324
+ }
28325
+ const next = stepTabs[currentIndex + 1];
28326
+ if (next) setCurrentStep(next.value);
28327
+ },
28328
+ children: activeStep?.content
28329
+ }
28330
+ );
28331
+ }
28332
+ function hasStep(steps, value) {
28201
28333
  return steps.some((step) => step.value === value);
28202
28334
  }
28203
28335
  function getInitialStep(steps, defaultStep) {
28204
- return defaultStep !== void 0 && isValidStep(steps, defaultStep) ? defaultStep : steps[0]?.value;
28336
+ return defaultStep !== void 0 && hasStep(steps, defaultStep) ? defaultStep : steps[0]?.value ?? "";
28205
28337
  }
28206
28338
  export {
28207
28339
  ASC,
@@ -28286,6 +28418,7 @@ export {
28286
28418
  FieldGroup,
28287
28419
  FilterModal,
28288
28420
  _Filters as Filters,
28421
+ FocusedFormLayout,
28289
28422
  FormDivider,
28290
28423
  FormHeading,
28291
28424
  FormLines,
@@ -28358,6 +28491,7 @@ export {
28358
28491
  SortHeader,
28359
28492
  StaticField,
28360
28493
  Stepper,
28494
+ StepperLayout,
28361
28495
  StepperTab,
28362
28496
  StepperTabs,
28363
28497
  SubmitButton,
@@ -28385,7 +28519,6 @@ export {
28385
28519
  Tooltip,
28386
28520
  TreeSelectField,
28387
28521
  ViewToggleButton,
28388
- WorkflowLayout,
28389
28522
  actionColumn,
28390
28523
  applyRowFn,
28391
28524
  assignDefaultColumnIds,
@@ -28538,6 +28671,7 @@ export {
28538
28671
  sortFn,
28539
28672
  sortRows,
28540
28673
  stickyNavAndHeaderOffset,
28674
+ stickyNavAndHeaderOffsetPx,
28541
28675
  stickyTableHeaderOffset,
28542
28676
  sumColumnSizesPx,
28543
28677
  switchFocusStyles,