@homebound/beam 3.91.0 → 3.92.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.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",
@@ -24640,10 +24655,10 @@ function Card(props) {
24640
24655
  icon: "verticalDots",
24641
24656
  color: isList ? "--b-on-surface-muted" /* OnSurfaceMuted */ : "--b-on-primary" /* OnPrimary */
24642
24657
  }, items: buttonMenuItems }) }),
24643
- tag && /* @__PURE__ */ jsx194("div", { className: "absolute left1 top_4px", children: /* @__PURE__ */ jsx194(Tag, { type: tag?.type, text: tag?.text, ...tid.tag }) }),
24658
+ tag && !isList && /* @__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",
@@ -24665,7 +24680,8 @@ function Card(props) {
24665
24680
  } : {}
24666
24681
  }), ...tid.title, children: title })
24667
24682
  ] }),
24668
- /* @__PURE__ */ jsx194("div", { ...tid.details, children: detailContent })
24683
+ /* @__PURE__ */ jsx194("div", { ...tid.details, children: detailContent }),
24684
+ tag && isList && /* @__PURE__ */ jsx194(Tag, { type: tag.type, text: tag.text, ...tid.tag })
24669
24685
  ] })
24670
24686
  ] });
24671
24687
  }
@@ -24743,7 +24759,7 @@ function Copy(props) {
24743
24759
  }
24744
24760
 
24745
24761
  // src/components/EnvironmentBanner/EnvironmentBanner.tsx
24746
- import { trussProps as trussProps108, maybeCssVar as maybeCssVar_14 } from "@homebound/truss/runtime";
24762
+ import { trussProps as trussProps109, maybeCssVar as maybeCssVar_14 } from "@homebound/truss/runtime";
24747
24763
  import { jsx as jsx196, jsxs as jsxs98 } from "react/jsx-runtime";
24748
24764
  function EnvironmentBanner(props) {
24749
24765
  const {
@@ -24763,7 +24779,7 @@ function EnvironmentBanner(props) {
24763
24779
  tooltip
24764
24780
  } = getEnvironmentBannerConfig(env, impersonating, showProdWarning);
24765
24781
  const bgColorVar = maybeCssVar(bgColor);
24766
- return /* @__PURE__ */ jsxs98("div", { ...trussProps108({
24782
+ return /* @__PURE__ */ jsxs98("div", { ...trussProps109({
24767
24783
  flexShrink: "fs0",
24768
24784
  position: "relative",
24769
24785
  zIndex: ["z_var", {
@@ -24779,7 +24795,7 @@ function EnvironmentBanner(props) {
24779
24795
  }), role: "banner", ...tid, children: [
24780
24796
  getInvertedCorner("left", bgColorVar),
24781
24797
  getInvertedCorner("right", bgColorVar),
24782
- /* @__PURE__ */ jsxs98("div", { ...trussProps108({
24798
+ /* @__PURE__ */ jsxs98("div", { ...trussProps109({
24783
24799
  ...{
24784
24800
  position: "relative",
24785
24801
  zIndex: "z2",
@@ -24794,7 +24810,7 @@ function EnvironmentBanner(props) {
24794
24810
  /* @__PURE__ */ jsx196(Tag, { text: badgeLabel, xss: {
24795
24811
  backgroundColor: "bgColor_FFFFFF90"
24796
24812
  }, ...tid.badge }),
24797
- /* @__PURE__ */ jsxs98("span", { ...trussProps108({
24813
+ /* @__PURE__ */ jsxs98("span", { ...trussProps109({
24798
24814
  ...{
24799
24815
  alignItems: "aic",
24800
24816
  gap: "gap1",
@@ -24815,7 +24831,7 @@ function EnvironmentBanner(props) {
24815
24831
  /* @__PURE__ */ jsx196("span", { className: "fs0", ...tid.info, children: /* @__PURE__ */ jsx196(Icon, { icon: "infoCircle", tooltip, inc: 2, color: "--b-on-primary" /* OnPrimary */ }) })
24816
24832
  ] })
24817
24833
  ] }),
24818
- impersonating != null && /* @__PURE__ */ jsxs98("span", { ...trussProps108({
24834
+ impersonating != null && /* @__PURE__ */ jsxs98("span", { ...trussProps109({
24819
24835
  display: "df",
24820
24836
  alignItems: "aic",
24821
24837
  gap: "gap2",
@@ -24904,10 +24920,10 @@ function getInvertedCorner(side, bgColorVar) {
24904
24920
  right: "right0"
24905
24921
  };
24906
24922
  const shadowXOffset = side === "left" ? -invertedCornerRadiusPx : invertedCornerRadiusPx;
24907
- return /* @__PURE__ */ jsx196("div", { "aria-hidden": true, ...trussProps108({
24923
+ return /* @__PURE__ */ jsx196("div", { "aria-hidden": true, ...trussProps109({
24908
24924
  ...shell,
24909
24925
  ...outerPosition
24910
- }), children: /* @__PURE__ */ jsx196("div", { ...trussProps108({
24926
+ }), children: /* @__PURE__ */ jsx196("div", { ...trussProps109({
24911
24927
  height: "h_200",
24912
24928
  width: "w_200",
24913
24929
  position: "absolute",
@@ -24946,7 +24962,7 @@ var gridItemDataAttribute = "data-grid-item-span";
24946
24962
  var ResponsiveGridContext = createContext13(void 0);
24947
24963
 
24948
24964
  // src/components/Grid/ResponsiveGrid.tsx
24949
- import { trussProps as trussProps109 } from "@homebound/truss/runtime";
24965
+ import { trussProps as trussProps110 } from "@homebound/truss/runtime";
24950
24966
  import { jsx as jsx197 } from "react/jsx-runtime";
24951
24967
  function ResponsiveGrid(props) {
24952
24968
  const {
@@ -24967,12 +24983,12 @@ function ResponsiveGrid(props) {
24967
24983
  gap,
24968
24984
  columns
24969
24985
  }), [minColumnWidth, gap, columns]);
24970
- return /* @__PURE__ */ jsx197(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ jsx197("div", { ...trussProps109(gridStyles), children }) });
24986
+ return /* @__PURE__ */ jsx197(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ jsx197("div", { ...trussProps110(gridStyles), children }) });
24971
24987
  }
24972
24988
 
24973
24989
  // src/components/Grid/ResponsiveGridItem.tsx
24974
24990
  import { mergeProps as mergeProps29 } from "react-aria";
24975
- import { trussProps as trussProps110 } from "@homebound/truss/runtime";
24991
+ import { trussProps as trussProps111 } from "@homebound/truss/runtime";
24976
24992
  import { jsx as jsx198 } from "react/jsx-runtime";
24977
24993
  function ResponsiveGridItem(props) {
24978
24994
  const {
@@ -24985,12 +25001,12 @@ function ResponsiveGridItem(props) {
24985
25001
  } = useResponsiveGridItem({
24986
25002
  colSpan
24987
25003
  });
24988
- return /* @__PURE__ */ jsx198("div", { ...mergeProps29(gridItemProps, trussProps110(gridItemStyles)), children });
25004
+ return /* @__PURE__ */ jsx198("div", { ...mergeProps29(gridItemProps, trussProps111(gridItemStyles)), children });
24989
25005
  }
24990
25006
 
24991
25007
  // src/components/Grid/useResponsiveGrid.ts
24992
25008
  import { useMemo as useMemo47 } from "react";
24993
- import { maybeCssVar as maybeCssVar53 } from "@homebound/truss/runtime";
25009
+ import { maybeCssVar as maybeCssVar54 } from "@homebound/truss/runtime";
24994
25010
  var __maybeInc24 = (inc) => {
24995
25011
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
24996
25012
  };
@@ -25009,11 +25025,11 @@ function useResponsiveGrid(props) {
25009
25025
  return {
25010
25026
  display: "dg",
25011
25027
  gridTemplateColumns: ["gtc_var", {
25012
- "--gridTemplateColumns": maybeCssVar53(gridTemplateColumns)
25028
+ "--gridTemplateColumns": maybeCssVar54(gridTemplateColumns)
25013
25029
  }],
25014
25030
  containerType: "ctis",
25015
25031
  gap: ["gap_var", {
25016
- "--gap": maybeCssVar53(__maybeInc24(gridGap))
25032
+ "--gap": maybeCssVar54(__maybeInc24(gridGap))
25017
25033
  }]
25018
25034
  };
25019
25035
  }, [minColumnWidth, gap, columns]);
@@ -25138,7 +25154,7 @@ function HbSpinnerProvider({
25138
25154
  // src/components/JumpLink.tsx
25139
25155
  import { useRef as useRef59 } from "react";
25140
25156
  import { mergeProps as mergeProps30, useFocusRing as useFocusRing16, useHover as useHover19, useLink } from "react-aria";
25141
- import { trussProps as trussProps111 } from "@homebound/truss/runtime";
25157
+ import { trussProps as trussProps112 } from "@homebound/truss/runtime";
25142
25158
  import { jsx as jsx200 } from "react/jsx-runtime";
25143
25159
  function JumpLink(props) {
25144
25160
  const {
@@ -25175,13 +25191,13 @@ function JumpLink(props) {
25175
25191
  e.preventDefault();
25176
25192
  const target = document.getElementById(href.replace(/^#/, ""));
25177
25193
  if (target) {
25178
- window.scrollTo({
25179
- top: target.getBoundingClientRect().top + window.scrollY,
25180
- behavior: "smooth"
25194
+ target.scrollIntoView({
25195
+ behavior: "smooth",
25196
+ block: "start"
25181
25197
  });
25182
25198
  }
25183
25199
  }
25184
- return /* @__PURE__ */ jsx200("a", { ref, ...mergeProps30(linkProps, focusProps, hoverProps), ...tid, ...trussProps111({
25200
+ return /* @__PURE__ */ jsx200("a", { ref, ...mergeProps30(linkProps, focusProps, hoverProps), ...tid, ...trussProps112({
25185
25201
  ...jumpLinkStyles.baseStyles,
25186
25202
  ...active && jumpLinkStyles.activeStyles,
25187
25203
  ...isHovered && !disabled && jumpLinkStyles.hoverStyles,
@@ -25238,7 +25254,7 @@ var jumpLinkStyles = {
25238
25254
  // src/components/MaxLines.tsx
25239
25255
  import { useLayoutEffect as useLayoutEffect9, useResizeObserver as useResizeObserver8 } from "@react-aria/utils";
25240
25256
  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";
25257
+ import { trussProps as trussProps113, maybeCssVar as maybeCssVar55 } from "@homebound/truss/runtime";
25242
25258
  import { jsx as jsx201, jsxs as jsxs100 } from "react/jsx-runtime";
25243
25259
  function MaxLines({
25244
25260
  maxLines,
@@ -25263,10 +25279,10 @@ function MaxLines({
25263
25279
  onResize
25264
25280
  });
25265
25281
  return /* @__PURE__ */ jsxs100("div", { children: [
25266
- /* @__PURE__ */ jsx201("div", { ref: elRef, ...trussProps112({
25282
+ /* @__PURE__ */ jsx201("div", { ref: elRef, ...trussProps113({
25267
25283
  ...!expanded ? {
25268
25284
  WebkitLineClamp: ["lineClamp_var", {
25269
- "--WebkitLineClamp": maybeCssVar54(maxLines)
25285
+ "--WebkitLineClamp": maybeCssVar55(maxLines)
25270
25286
  }],
25271
25287
  overflow: "oh",
25272
25288
  display: "d_negwebkit_box",
@@ -25289,7 +25305,7 @@ import { useCallback as useCallback35, useEffect as useEffect34, useMemo as useM
25289
25305
  // src/components/AppNav/AppNavGroupTrigger.tsx
25290
25306
  import { useMemo as useMemo50, useRef as useRef61 } from "react";
25291
25307
  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";
25308
+ import { trussProps as trussProps114, mergeProps as mergeProps_14 } from "@homebound/truss/runtime";
25293
25309
  import { jsx as jsx202, jsxs as jsxs101 } from "react/jsx-runtime";
25294
25310
  function AppNavGroupTrigger(props) {
25295
25311
  const {
@@ -25340,7 +25356,7 @@ function AppNavGroupTrigger(props) {
25340
25356
  })
25341
25357
  }), children: [
25342
25358
  label,
25343
- /* @__PURE__ */ jsx202("div", { ...trussProps113({
25359
+ /* @__PURE__ */ jsx202("div", { ...trussProps114({
25344
25360
  ...{
25345
25361
  display: "df",
25346
25362
  alignItems: "aic",
@@ -25493,7 +25509,7 @@ function useAppNavGroupExpanded(linkGroup) {
25493
25509
  }
25494
25510
 
25495
25511
  // src/components/AppNav/AppNavGroup.tsx
25496
- import { trussProps as trussProps114, maybeCssVar as maybeCssVar55 } from "@homebound/truss/runtime";
25512
+ import { trussProps as trussProps115, maybeCssVar as maybeCssVar56 } from "@homebound/truss/runtime";
25497
25513
  import { Fragment as Fragment45, jsx as jsx203, jsxs as jsxs102 } from "react/jsx-runtime";
25498
25514
  var __maybeInc25 = (inc) => {
25499
25515
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -25538,11 +25554,11 @@ function AppNavGroupDisclosure(props) {
25538
25554
  });
25539
25555
  return /* @__PURE__ */ jsxs102("div", { className: "df fdc", ...tid, children: [
25540
25556
  /* @__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({
25557
+ /* @__PURE__ */ jsx203("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...trussProps115({
25542
25558
  overflow: "oh",
25543
25559
  transition: "transitionHeight",
25544
25560
  height: ["h_var", {
25545
- "--height": maybeCssVar55(__maybeInc25(contentHeight))
25561
+ "--height": maybeCssVar56(__maybeInc25(contentHeight))
25546
25562
  }]
25547
25563
  }), ...tid.panel, ...!expanded ? {
25548
25564
  inert: "true"
@@ -25572,7 +25588,7 @@ function AppNavGroupMenu({
25572
25588
  }
25573
25589
 
25574
25590
  // src/components/AppNav/AppNavSectionView.tsx
25575
- import { trussProps as trussProps115 } from "@homebound/truss/runtime";
25591
+ import { trussProps as trussProps116 } from "@homebound/truss/runtime";
25576
25592
  import { jsx as jsx205, jsxs as jsxs103 } from "react/jsx-runtime";
25577
25593
  function AppNavSectionView(props) {
25578
25594
  const {
@@ -25599,7 +25615,7 @@ function AppNavSectionView(props) {
25599
25615
  "--borderColor": "var(--b-surface-separator)"
25600
25616
  }]
25601
25617
  };
25602
- return /* @__PURE__ */ jsxs103("div", { ...trussProps115({
25618
+ return /* @__PURE__ */ jsxs103("div", { ...trussProps116({
25603
25619
  ...{
25604
25620
  display: "df",
25605
25621
  flexDirection: "fdc",
@@ -25607,7 +25623,7 @@ function AppNavSectionView(props) {
25607
25623
  },
25608
25624
  ...showDivider ? dividerStyles : {}
25609
25625
  }), ...tid, children: [
25610
- section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ jsx205("div", { ...trussProps115({
25626
+ section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ jsx205("div", { ...trussProps116({
25611
25627
  fontWeight: "fw6",
25612
25628
  fontSize: "fz_10px",
25613
25629
  lineHeight: "lh_14px",
@@ -25708,7 +25724,7 @@ function useRegisterMobileSubNav(content) {
25708
25724
  }
25709
25725
 
25710
25726
  // src/components/Navbar/NavbarMobileMenu.tsx
25711
- import { trussProps as trussProps116, mergeProps as mergeProps32, maybeCssVar as maybeCssVar56 } from "@homebound/truss/runtime";
25727
+ import { trussProps as trussProps117, mergeProps as mergeProps32, maybeCssVar as maybeCssVar57 } from "@homebound/truss/runtime";
25712
25728
  import { Fragment as Fragment47, jsx as jsx208, jsxs as jsxs104 } from "react/jsx-runtime";
25713
25729
  function NavbarMobileMenu(props) {
25714
25730
  const {
@@ -25765,7 +25781,7 @@ function NavbarMobileDrawer({
25765
25781
  bottom: "bottom0",
25766
25782
  left: "left0",
25767
25783
  zIndex: ["z_var", {
25768
- "--zIndex": maybeCssVar56(zIndices.navbarMobileMenuScrim)
25784
+ "--zIndex": maybeCssVar57(zIndices.navbarMobileMenuScrim)
25769
25785
  }],
25770
25786
  backgroundColor: ["bgColor_var", {
25771
25787
  "--backgroundColor": "var(--b-scrim)"
@@ -25790,7 +25806,7 @@ function NavbarMobileDrawer({
25790
25806
  width: "w_260px",
25791
25807
  overflow: "oh",
25792
25808
  zIndex: ["z_var", {
25793
- "--zIndex": maybeCssVar56(zIndices.navbarMobileMenu)
25809
+ "--zIndex": maybeCssVar57(zIndices.navbarMobileMenu)
25794
25810
  }],
25795
25811
  backgroundColor: ["bgColor_var", {
25796
25812
  "--backgroundColor": "var(--b-surface)"
@@ -25805,7 +25821,7 @@ function NavbarMobileDrawer({
25805
25821
  ease: "linear",
25806
25822
  duration: 0.2
25807
25823
  }, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
25808
- /* @__PURE__ */ jsxs104("div", { ...trussProps116({
25824
+ /* @__PURE__ */ jsxs104("div", { ...trussProps117({
25809
25825
  ...{
25810
25826
  display: "df",
25811
25827
  alignItems: "aic",
@@ -25827,7 +25843,7 @@ function NavbarMobileDrawer({
25827
25843
  /* @__PURE__ */ jsx208("div", { className: "fg1 mh0 oh relative", children: /* @__PURE__ */ jsx208(AnimatePresence6, { initial: false, children: /* @__PURE__ */ jsxs104(
25828
25844
  motion6.nav,
25829
25845
  {
25830
- ...trussProps116({
25846
+ ...trussProps117({
25831
25847
  ...{
25832
25848
  position: "absolute",
25833
25849
  top: "top0",
@@ -25875,7 +25891,7 @@ function NavbarMobileDrawer({
25875
25891
  }
25876
25892
 
25877
25893
  // src/components/Navbar/Navbar.tsx
25878
- import { trussProps as trussProps117 } from "@homebound/truss/runtime";
25894
+ import { trussProps as trussProps118 } from "@homebound/truss/runtime";
25879
25895
  import { jsx as jsx209, jsxs as jsxs105 } from "react/jsx-runtime";
25880
25896
  function Navbar(props) {
25881
25897
  const {
@@ -25895,7 +25911,7 @@ function Navbar(props) {
25895
25911
  overflows
25896
25912
  } = useContentOverflow(!sm);
25897
25913
  const showMobile = sm || overflows;
25898
- return /* @__PURE__ */ jsx209(ContrastScope, { children: /* @__PURE__ */ jsxs105("nav", { ...trussProps117({
25914
+ return /* @__PURE__ */ jsx209(ContrastScope, { children: /* @__PURE__ */ jsxs105("nav", { ...trussProps118({
25899
25915
  ...{
25900
25916
  backgroundColor: ["bgColor_var", {
25901
25917
  "--backgroundColor": "var(--b-surface-raised)"
@@ -25914,7 +25930,7 @@ function Navbar(props) {
25914
25930
  /* @__PURE__ */ jsxs105("div", { className: "df aic gap3 fg1 mw0", children: [
25915
25931
  /* @__PURE__ */ jsxs105("div", { className: "df aic fs0 gap2", children: [
25916
25932
  showMobile && /* @__PURE__ */ jsx209(NavbarMobileMenu, { items, ...tid }),
25917
- /* @__PURE__ */ jsx209("div", { ...trussProps117({
25933
+ /* @__PURE__ */ jsx209("div", { ...trussProps118({
25918
25934
  flexShrink: "fs0",
25919
25935
  ...hideBrandOnMobile && showMobile ? {
25920
25936
  display: "dn"
@@ -25923,7 +25939,7 @@ function Navbar(props) {
25923
25939
  ] }),
25924
25940
  !sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
25925
25941
  // can expand again as space frees up.
25926
- /* @__PURE__ */ jsx209("div", { ref: containerRef, ...trussProps117({
25942
+ /* @__PURE__ */ jsx209("div", { ref: containerRef, ...trussProps118({
25927
25943
  display: "df",
25928
25944
  alignItems: "aic",
25929
25945
  flexGrow: "fg1",
@@ -25953,7 +25969,7 @@ function NavbarUserMenu({
25953
25969
  }
25954
25970
 
25955
25971
  // src/components/Pagination.tsx
25956
- import { trussProps as trussProps118 } from "@homebound/truss/runtime";
25972
+ import { trussProps as trussProps119 } from "@homebound/truss/runtime";
25957
25973
  import { jsx as jsx210, jsxs as jsxs106 } from "react/jsx-runtime";
25958
25974
  var defaultPage = {
25959
25975
  offset: 0,
@@ -25986,7 +26002,7 @@ function Pagination(props) {
25986
26002
  }
25987
26003
  }
25988
26004
  const tid = useTestIds(props, "pagination");
25989
- return /* @__PURE__ */ jsxs106("div", { ...trussProps118({
26005
+ return /* @__PURE__ */ jsxs106("div", { ...trussProps119({
25990
26006
  display: "df",
25991
26007
  borderColor: ["bc_var", {
25992
26008
  "--borderColor": "var(--b-surface-separator)"
@@ -26044,7 +26060,7 @@ function toPageNumberSize(page) {
26044
26060
  // src/components/ScrollShadows.tsx
26045
26061
  import { useResizeObserver as useResizeObserver10 } from "@react-aria/utils";
26046
26062
  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";
26063
+ import { trussProps as trussProps120, maybeCssVar as maybeCssVar58 } from "@homebound/truss/runtime";
26048
26064
  import { jsx as jsx211, jsxs as jsxs107 } from "react/jsx-runtime";
26049
26065
  function ScrollShadows(props) {
26050
26066
  const {
@@ -26069,7 +26085,7 @@ function ScrollShadows(props) {
26069
26085
  const commonStyles = {
26070
26086
  position: "absolute",
26071
26087
  zIndex: ["z_var", {
26072
- "--zIndex": maybeCssVar57(zIndices.scrollShadow)
26088
+ "--zIndex": maybeCssVar58(zIndices.scrollShadow)
26073
26089
  }],
26074
26090
  pointerEvents: "pointerEvents_none"
26075
26091
  };
@@ -26102,7 +26118,7 @@ function ScrollShadows(props) {
26102
26118
  ...startShadowStyles2,
26103
26119
  ...{
26104
26120
  background: ["background_var", {
26105
- "--background": maybeCssVar57(startGradient)
26121
+ "--background": maybeCssVar58(startGradient)
26106
26122
  }]
26107
26123
  }
26108
26124
  }, {
@@ -26110,7 +26126,7 @@ function ScrollShadows(props) {
26110
26126
  ...endShadowStyles2,
26111
26127
  ...{
26112
26128
  background: ["background_var", {
26113
- "--background": maybeCssVar57(endGradient)
26129
+ "--background": maybeCssVar58(endGradient)
26114
26130
  }]
26115
26131
  }
26116
26132
  }];
@@ -26135,10 +26151,10 @@ function ScrollShadows(props) {
26135
26151
  ref: scrollRef,
26136
26152
  onResize
26137
26153
  });
26138
- return /* @__PURE__ */ jsxs107("div", { ...trussProps119({
26154
+ return /* @__PURE__ */ jsxs107("div", { ...trussProps120({
26139
26155
  display: "df",
26140
26156
  flexDirection: ["fd_var", {
26141
- "--flexDirection": maybeCssVar57(!horizontal ? "column" : "row")
26157
+ "--flexDirection": maybeCssVar58(!horizontal ? "column" : "row")
26142
26158
  }],
26143
26159
  position: "relative",
26144
26160
  overflow: "oh",
@@ -26151,23 +26167,23 @@ function ScrollShadows(props) {
26151
26167
  width: width2
26152
26168
  }
26153
26169
  }), ...tid, children: [
26154
- /* @__PURE__ */ jsx211("div", { ...trussProps119({
26170
+ /* @__PURE__ */ jsx211("div", { ...trussProps120({
26155
26171
  ...startShadowStyles,
26156
26172
  ...{
26157
26173
  opacity: ["o_var", {
26158
- "--opacity": maybeCssVar57(showStartShadow ? 1 : 0)
26174
+ "--opacity": maybeCssVar58(showStartShadow ? 1 : 0)
26159
26175
  }]
26160
26176
  }
26161
26177
  }), "data-chromatic": "ignore" }),
26162
- /* @__PURE__ */ jsx211("div", { ...trussProps119({
26178
+ /* @__PURE__ */ jsx211("div", { ...trussProps120({
26163
26179
  ...endShadowStyles,
26164
26180
  ...{
26165
26181
  opacity: ["o_var", {
26166
- "--opacity": maybeCssVar57(showEndShadow ? 1 : 0)
26182
+ "--opacity": maybeCssVar58(showEndShadow ? 1 : 0)
26167
26183
  }]
26168
26184
  }
26169
26185
  }), "data-chromatic": "ignore" }),
26170
- /* @__PURE__ */ jsx211("div", { ...trussProps119({
26186
+ /* @__PURE__ */ jsx211("div", { ...trussProps120({
26171
26187
  ...xss,
26172
26188
  ...{
26173
26189
  overflow: "oa",
@@ -26247,7 +26263,7 @@ function useHasSideNavLayoutProvider() {
26247
26263
  }
26248
26264
 
26249
26265
  // src/components/SideNav/SideNav.tsx
26250
- import { trussProps as trussProps120 } from "@homebound/truss/runtime";
26266
+ import { trussProps as trussProps121 } from "@homebound/truss/runtime";
26251
26267
  import { jsx as jsx213, jsxs as jsxs108 } from "react/jsx-runtime";
26252
26268
  function SideNav(props) {
26253
26269
  const {
@@ -26262,7 +26278,7 @@ function SideNav(props) {
26262
26278
  const panelCollapsed = navState === "collapse";
26263
26279
  const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
26264
26280
  return /* @__PURE__ */ jsxs108("nav", { className: "df fdc h100 fs0", ...tid, children: [
26265
- top !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps120({
26281
+ top !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps121({
26266
26282
  flexShrink: "fs0",
26267
26283
  paddingLeft: "pl2",
26268
26284
  paddingRight: "pr2",
@@ -26273,7 +26289,7 @@ function SideNav(props) {
26273
26289
  paddingBottom: "pb4"
26274
26290
  } : {}
26275
26291
  }), ...tid.top, children: top }),
26276
- /* @__PURE__ */ jsx213("div", { ...trussProps120({
26292
+ /* @__PURE__ */ jsx213("div", { ...trussProps121({
26277
26293
  flexGrow: "fg1",
26278
26294
  overflowY: "oya",
26279
26295
  display: "df",
@@ -26286,7 +26302,7 @@ function SideNav(props) {
26286
26302
  paddingTop: "pt5"
26287
26303
  } : {}
26288
26304
  }), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ jsx213(AppNavItems, { items, panelCollapsed }) }),
26289
- footer !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps120({
26305
+ footer !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps121({
26290
26306
  flexShrink: "fs0",
26291
26307
  paddingLeft: "pl2",
26292
26308
  paddingRight: "pr2",
@@ -26363,7 +26379,7 @@ var snackbarId = 1;
26363
26379
  // src/components/Stepper.tsx
26364
26380
  import { useRef as useRef64 } from "react";
26365
26381
  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";
26382
+ import { trussProps as trussProps122, maybeCssVar as maybeCssVar59 } from "@homebound/truss/runtime";
26367
26383
  import { jsx as jsx214, jsxs as jsxs109 } from "react/jsx-runtime";
26368
26384
  import { createElement as createElement6 } from "react";
26369
26385
  var __maybeInc26 = (inc) => {
@@ -26384,7 +26400,7 @@ function Stepper(props) {
26384
26400
  const minStepWidth = 100;
26385
26401
  const gap = 8;
26386
26402
  return /* @__PURE__ */ jsxs109("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
26387
- /* @__PURE__ */ jsx214("ol", { ...trussProps121({
26403
+ /* @__PURE__ */ jsx214("ol", { ...trussProps122({
26388
26404
  padding: "p_0",
26389
26405
  margin: "m_0",
26390
26406
  listStyle: "lis_none",
@@ -26394,7 +26410,7 @@ function Stepper(props) {
26394
26410
  }]
26395
26411
  }), children: steps.map((step) => {
26396
26412
  const isCurrent = currentStep === step.value;
26397
- return /* @__PURE__ */ createElement6("li", { ...trussProps121({
26413
+ return /* @__PURE__ */ createElement6("li", { ...trussProps122({
26398
26414
  display: "df",
26399
26415
  flexGrow: "fg1",
26400
26416
  flexDirection: "fdc",
@@ -26406,7 +26422,7 @@ function Stepper(props) {
26406
26422
  }]
26407
26423
  }), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ jsx214(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
26408
26424
  }) }),
26409
- /* @__PURE__ */ jsx214("div", { ...trussProps121({
26425
+ /* @__PURE__ */ jsx214("div", { ...trussProps122({
26410
26426
  marginTop: "mt1",
26411
26427
  backgroundColor: ["bgColor_var", {
26412
26428
  "--backgroundColor": "var(--b-field-border-default)"
@@ -26419,14 +26435,14 @@ function Stepper(props) {
26419
26435
  "--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
26420
26436
  }],
26421
26437
  width: "w100"
26422
- }), children: /* @__PURE__ */ jsx214("div", { ...trussProps121({
26438
+ }), children: /* @__PURE__ */ jsx214("div", { ...trussProps122({
26423
26439
  backgroundColor: ["bgColor_var", {
26424
26440
  "--backgroundColor": "var(--b-primary)"
26425
26441
  }],
26426
26442
  transition: "transition_width_200ms",
26427
26443
  height: "h100",
26428
26444
  width: ["w_var", {
26429
- "--width": maybeCssVar58(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26445
+ "--width": maybeCssVar59(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26430
26446
  }]
26431
26447
  }) }) })
26432
26448
  ] });
@@ -26462,7 +26478,7 @@ function StepButton(props) {
26462
26478
  boxShadow: "bshFocus"
26463
26479
  };
26464
26480
  const tid = useTestIds(props, "stepButton");
26465
- return /* @__PURE__ */ jsxs109("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps121({
26481
+ return /* @__PURE__ */ jsxs109("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps122({
26466
26482
  ...{
26467
26483
  fontWeight: "fw6",
26468
26484
  fontSize: "fz_14px",
@@ -26539,7 +26555,7 @@ function StepIcon({
26539
26555
  if (state === "complete") {
26540
26556
  return /* @__PURE__ */ jsx214(Icon, { icon: "check" });
26541
26557
  }
26542
- return /* @__PURE__ */ jsx214("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx214("div", { ...trussProps121({
26558
+ return /* @__PURE__ */ jsx214("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx214("div", { ...trussProps122({
26543
26559
  width: "w_10px",
26544
26560
  height: "h_10px",
26545
26561
  borderStyle: "bss",
@@ -26555,7 +26571,7 @@ function StepIcon({
26555
26571
  // src/components/StepperTabs/StepperTab.tsx
26556
26572
  import { useRef as useRef65 } from "react";
26557
26573
  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";
26574
+ import { trussProps as trussProps123 } from "@homebound/truss/runtime";
26559
26575
  import { Fragment as Fragment48, jsx as jsx215, jsxs as jsxs110 } from "react/jsx-runtime";
26560
26576
  function StepperTab(props) {
26561
26577
  const {
@@ -26587,7 +26603,7 @@ function StepperTab(props) {
26587
26603
  const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
26588
26604
  const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
26589
26605
  const tid = useTestIds(props, "stepperTab");
26590
- return /* @__PURE__ */ jsxs110("button", { ref, ...mergeProps33(buttonProps, focusProps, hoverProps), "aria-label": label, ...trussProps122({
26606
+ return /* @__PURE__ */ jsxs110("button", { ref, ...mergeProps33(buttonProps, focusProps, hoverProps), "aria-label": label, ...trussProps123({
26591
26607
  ...stepperTabStyles.baseStyles,
26592
26608
  ...getStateStyles(active, completed),
26593
26609
  ...isHovered && !disabled ? stepperTabStyles.hoverStyles : {},
@@ -26598,7 +26614,7 @@ function StepperTab(props) {
26598
26614
  !collapsed && /* @__PURE__ */ jsxs110(Fragment48, { children: [
26599
26615
  /* @__PURE__ */ jsxs110("span", { className: "dg jic mw0", children: [
26600
26616
  /* @__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({
26617
+ /* @__PURE__ */ jsx215("span", { ...trussProps123({
26602
26618
  gridArea: "gridArea_1_1",
26603
26619
  overflow: "oh",
26604
26620
  display: "d_negwebkit_box",
@@ -26613,7 +26629,7 @@ function StepperTab(props) {
26613
26629
  } : {}
26614
26630
  }), children: label })
26615
26631
  ] }),
26616
- /* @__PURE__ */ jsx215("span", { ...trussProps122({
26632
+ /* @__PURE__ */ jsx215("span", { ...trussProps123({
26617
26633
  flexShrink: "fs0",
26618
26634
  marginLeft: "ml1",
26619
26635
  transition: "transitionAll",
@@ -26625,7 +26641,7 @@ function StepperTab(props) {
26625
26641
  } : {}
26626
26642
  }), children: /* @__PURE__ */ jsx215(Icon, { icon: "check", inc: 2.5, ...tid.check }) })
26627
26643
  ] }),
26628
- /* @__PURE__ */ jsx215("span", { "aria-hidden": true, ...trussProps122(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
26644
+ /* @__PURE__ */ jsx215("span", { "aria-hidden": true, ...trussProps123(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
26629
26645
  /* @__PURE__ */ jsx215(VisuallyHidden10, { children: completed ? "Complete" : "Not Complete" })
26630
26646
  ] });
26631
26647
  }
@@ -26707,7 +26723,7 @@ var stepperTabStyles = {
26707
26723
  };
26708
26724
 
26709
26725
  // src/components/StepperTabs/StepperTabs.tsx
26710
- import { trussProps as trussProps123 } from "@homebound/truss/runtime";
26726
+ import { trussProps as trussProps124 } from "@homebound/truss/runtime";
26711
26727
  import { jsx as jsx216 } from "react/jsx-runtime";
26712
26728
  import { createElement as createElement7 } from "react";
26713
26729
  function StepperTabs(props) {
@@ -26724,7 +26740,7 @@ function StepperTabs(props) {
26724
26740
  const collapsed = isMobile || !!forceCollapsed;
26725
26741
  const capWidth = steps.length <= 3;
26726
26742
  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({
26743
+ return /* @__PURE__ */ jsx216("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ jsx216("ol", { ...trussProps124({
26728
26744
  padding: "p_0",
26729
26745
  margin: "m_0",
26730
26746
  listStyle: "lis_none",
@@ -26739,7 +26755,7 @@ function StepperTabs(props) {
26739
26755
  }), children: steps.map((step, idx) => {
26740
26756
  const isCurrent = idx === currentStepIndex;
26741
26757
  const isCompleted = idx < currentStepIndex;
26742
- return /* @__PURE__ */ createElement7("li", { ...trussProps123({
26758
+ return /* @__PURE__ */ createElement7("li", { ...trussProps124({
26743
26759
  display: "df",
26744
26760
  flexGrow: "fg1",
26745
26761
  flexBasis: "fb_0",
@@ -26759,7 +26775,7 @@ var gapPx = 6;
26759
26775
 
26760
26776
  // src/components/SuperDrawer/components/SuperDrawerHeader.tsx
26761
26777
  import { createPortal as createPortal8 } from "react-dom";
26762
- import { trussProps as trussProps124 } from "@homebound/truss/runtime";
26778
+ import { trussProps as trussProps125 } from "@homebound/truss/runtime";
26763
26779
  import { jsx as jsx217, jsxs as jsxs111 } from "react/jsx-runtime";
26764
26780
  function SuperDrawerHeader(props) {
26765
26781
  const {
@@ -26785,7 +26801,7 @@ function SuperDrawerHeader(props) {
26785
26801
  ] }),
26786
26802
  props.right && /* @__PURE__ */ jsx217("div", { className: "fs0", children: props.right })
26787
26803
  ] }) : /* @__PURE__ */ jsx217("div", { className: "fg1", children: props.children }),
26788
- !hideControls && /* @__PURE__ */ jsx217("div", { ...trussProps124({
26804
+ !hideControls && /* @__PURE__ */ jsx217("div", { ...trussProps125({
26789
26805
  flexShrink: "fs0",
26790
26806
  ...isDetail ? {
26791
26807
  visibility: "vh"
@@ -26937,7 +26953,7 @@ function canClose(canCloseCheck) {
26937
26953
  }
26938
26954
 
26939
26955
  // src/components/SuperDrawer/SuperDrawerContent.tsx
26940
- import { trussProps as trussProps125, mergeProps as mergeProps34 } from "@homebound/truss/runtime";
26956
+ import { trussProps as trussProps126, mergeProps as mergeProps34 } from "@homebound/truss/runtime";
26941
26957
  import { Fragment as Fragment49, jsx as jsx219, jsxs as jsxs112 } from "react/jsx-runtime";
26942
26958
  var SuperDrawerContent = ({
26943
26959
  children,
@@ -27003,7 +27019,7 @@ var SuperDrawerContent = ({
27003
27019
  }
27004
27020
  return /* @__PURE__ */ jsxs112(Fragment49, { children: [
27005
27021
  wrapWithMotionAndMaybeBack(children),
27006
- actions && /* @__PURE__ */ jsx219("footer", { ...trussProps125({
27022
+ actions && /* @__PURE__ */ jsx219("footer", { ...trussProps126({
27007
27023
  borderTopStyle: "bts_solid",
27008
27024
  borderTopWidth: "btw_1px",
27009
27025
  borderColor: ["bc_var", {
@@ -27076,7 +27092,7 @@ import { useEffect as useEffect38, useMemo as useMemo56, useRef as useRef66, use
27076
27092
  import { mergeProps as mergeProps35, useFocusRing as useFocusRing20, useHover as useHover23 } from "react-aria";
27077
27093
  import { matchPath } from "react-router";
27078
27094
  import { Link as Link7, useLocation as useLocation2 } from "react-router-dom";
27079
- import { trussProps as trussProps126, maybeCssVar as maybeCssVar59 } from "@homebound/truss/runtime";
27095
+ import { trussProps as trussProps127, maybeCssVar as maybeCssVar60 } from "@homebound/truss/runtime";
27080
27096
  import { Fragment as Fragment50, jsx as jsx220, jsxs as jsxs113 } from "react/jsx-runtime";
27081
27097
  function TabsWithContent(props) {
27082
27098
  const styles = hideTabs(props) ? {} : {
@@ -27109,7 +27125,7 @@ function TabContent(props) {
27109
27125
  return (
27110
27126
  // Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
27111
27127
  // 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() }) })
27128
+ /* @__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
27129
  );
27114
27130
  }
27115
27131
  function Tabs(props) {
@@ -27151,7 +27167,7 @@ function Tabs(props) {
27151
27167
  setActive(selected);
27152
27168
  }
27153
27169
  }
27154
- return /* @__PURE__ */ jsxs113("div", { ...trussProps126({
27170
+ return /* @__PURE__ */ jsxs113("div", { ...trussProps127({
27155
27171
  ...{
27156
27172
  display: "df",
27157
27173
  alignItems: "aic",
@@ -27217,7 +27233,7 @@ function TabImpl(props) {
27217
27233
  role: "tab",
27218
27234
  tabIndex: active ? 0 : -1,
27219
27235
  ...others,
27220
- ...trussProps126({
27236
+ ...trussProps127({
27221
27237
  ...baseStyles4,
27222
27238
  ...active && activeStyles3,
27223
27239
  ...isDisabled && disabledStyles3,
@@ -27254,7 +27270,7 @@ function getTabStyles() {
27254
27270
  const borderBottomStyles = {
27255
27271
  borderBottomStyle: "bbs_solid",
27256
27272
  borderBottomWidth: ["borderBottomWidth_var", {
27257
- "--borderBottomWidth": maybeCssVar59(`${borderBottomWidthPx}px`)
27273
+ "--borderBottomWidth": maybeCssVar60(`${borderBottomWidthPx}px`)
27258
27274
  }],
27259
27275
  paddingBottom: ["pb_var", {
27260
27276
  "--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
@@ -27374,7 +27390,7 @@ function useToast() {
27374
27390
  }
27375
27391
 
27376
27392
  // src/layouts/SideNavLayout/SideNavLayout.tsx
27377
- import { trussProps as trussProps127, mergeProps as mergeProps36, maybeCssVar as maybeCssVar60 } from "@homebound/truss/runtime";
27393
+ import { trussProps as trussProps128, mergeProps as mergeProps36, maybeCssVar as maybeCssVar61 } from "@homebound/truss/runtime";
27378
27394
  import { jsx as jsx222, jsxs as jsxs115 } from "react/jsx-runtime";
27379
27395
  var __maybeInc27 = (inc) => {
27380
27396
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27405,7 +27421,7 @@ function SideNavLayoutContent(props) {
27405
27421
  const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
27406
27422
  const navTop = bannerAndNavbarChromeTop();
27407
27423
  const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
27408
- const rail = showRail && /* @__PURE__ */ jsxs115("div", { ...trussProps127({
27424
+ const rail = showRail && /* @__PURE__ */ jsxs115("div", { ...trussProps128({
27409
27425
  ...{
27410
27426
  display: "df",
27411
27427
  flexDirection: "fdc",
@@ -27429,14 +27445,14 @@ function SideNavLayoutContent(props) {
27429
27445
  position: "sticky",
27430
27446
  left: "left0",
27431
27447
  zIndex: ["z_var", {
27432
- "--zIndex": maybeCssVar60(zIndices.sideNav)
27448
+ "--zIndex": maybeCssVar61(zIndices.sideNav)
27433
27449
  }],
27434
27450
  top: ["top_var", {
27435
- "--top": maybeCssVar60(__maybeInc27(navTop))
27451
+ "--top": maybeCssVar61(__maybeInc27(navTop))
27436
27452
  }],
27437
27453
  alignSelf: "asfs",
27438
27454
  height: ["h_var", {
27439
- "--height": maybeCssVar60(__maybeInc27(railViewportHeight))
27455
+ "--height": maybeCssVar61(__maybeInc27(railViewportHeight))
27440
27456
  }],
27441
27457
  width: ["w_var", {
27442
27458
  "--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
@@ -27446,11 +27462,11 @@ function SideNavLayoutContent(props) {
27446
27462
  position: "fixed",
27447
27463
  left: "left0",
27448
27464
  top: ["top_var", {
27449
- "--top": maybeCssVar60(__maybeInc27(navTop))
27465
+ "--top": maybeCssVar61(__maybeInc27(navTop))
27450
27466
  }],
27451
27467
  bottom: "bottom0",
27452
27468
  zIndex: ["z_var", {
27453
- "--zIndex": maybeCssVar60(zIndices.sideNav)
27469
+ "--zIndex": maybeCssVar61(zIndices.sideNav)
27454
27470
  }]
27455
27471
  },
27456
27472
  ...collapsed ? {
@@ -27473,7 +27489,7 @@ function SideNavLayoutContent(props) {
27473
27489
  width: "w100"
27474
27490
  }), ...tid, children: [
27475
27491
  contrastRail ? /* @__PURE__ */ jsx222(ContrastScope, { children: rail }) : rail,
27476
- /* @__PURE__ */ jsx222("div", { ...trussProps127({
27492
+ /* @__PURE__ */ jsx222("div", { ...trussProps128({
27477
27493
  display: "df",
27478
27494
  flexDirection: "fdc",
27479
27495
  flexGrow: "fg1",
@@ -27489,7 +27505,7 @@ function SideNavLayoutContent(props) {
27489
27505
  }
27490
27506
 
27491
27507
  // src/layouts/CenteredLayout/CenteredLayout.tsx
27492
- import { mergeProps as mergeProps37, maybeCssVar as maybeCssVar61 } from "@homebound/truss/runtime";
27508
+ import { mergeProps as mergeProps37, maybeCssVar as maybeCssVar62 } from "@homebound/truss/runtime";
27493
27509
  import { jsx as jsx223 } from "react/jsx-runtime";
27494
27510
  var __maybeInc28 = (inc) => {
27495
27511
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27531,15 +27547,15 @@ var smContentPaddingX = "12px";
27531
27547
  var mdAndUpContentPaddingX = pageContentPaddingXValue;
27532
27548
  var centeredPaddingX = {
27533
27549
  paddingLeft: ["px_var mdandup_pl3", {
27534
- "--paddingLeft": maybeCssVar61(__maybeInc28(smContentPaddingX))
27550
+ "--paddingLeft": maybeCssVar62(__maybeInc28(smContentPaddingX))
27535
27551
  }],
27536
27552
  paddingRight: ["px_var mdandup_pr3", {
27537
- "--paddingRight": maybeCssVar61(__maybeInc28(smContentPaddingX))
27553
+ "--paddingRight": maybeCssVar62(__maybeInc28(smContentPaddingX))
27538
27554
  }]
27539
27555
  };
27540
27556
 
27541
27557
  // src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
27542
- import { trussProps as trussProps128, mergeProps as mergeProps38, maybeCssVar as maybeCssVar62 } from "@homebound/truss/runtime";
27558
+ import { trussProps as trussProps129, mergeProps as mergeProps38, maybeCssVar as maybeCssVar63 } from "@homebound/truss/runtime";
27543
27559
  import { jsx as jsx224, jsxs as jsxs116 } from "react/jsx-runtime";
27544
27560
  var __maybeInc29 = (inc) => {
27545
27561
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27567,15 +27583,15 @@ function EnvironmentBannerLayout(props) {
27567
27583
  }, {
27568
27584
  flexShrink: "fs0",
27569
27585
  width: "w100"
27570
- }), children: /* @__PURE__ */ jsx224("div", { ...trussProps128({
27586
+ }), children: /* @__PURE__ */ jsx224("div", { ...trussProps129({
27571
27587
  position: "fixed",
27572
27588
  top: "top0",
27573
27589
  left: "left0",
27574
27590
  zIndex: ["z_var", {
27575
- "--zIndex": maybeCssVar62(zIndices.environmentBanner)
27591
+ "--zIndex": maybeCssVar63(zIndices.environmentBanner)
27576
27592
  }],
27577
27593
  width: ["w_var", {
27578
- "--width": maybeCssVar62(__maybeInc29(innerWidth))
27594
+ "--width": maybeCssVar63(__maybeInc29(innerWidth))
27579
27595
  }]
27580
27596
  }), ...tid.bannerSticky, children: /* @__PURE__ */ jsx224(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
27581
27597
  children
@@ -27583,7 +27599,7 @@ function EnvironmentBannerLayout(props) {
27583
27599
  }
27584
27600
 
27585
27601
  // src/layouts/FormSectionLayout/FormSectionLayout.tsx
27586
- import { trussProps as trussProps129 } from "@homebound/truss/runtime";
27602
+ import { trussProps as trussProps130 } from "@homebound/truss/runtime";
27587
27603
  import { jsx as jsx225, jsxs as jsxs117 } from "react/jsx-runtime";
27588
27604
  function FormSectionLayout(props) {
27589
27605
  const {
@@ -27596,7 +27612,7 @@ function FormSectionLayout(props) {
27596
27612
  aiMode = false
27597
27613
  } = props;
27598
27614
  const tid = useTestIds(props, "formSectionLayout");
27599
- const content = /* @__PURE__ */ jsxs117("div", { ...trussProps129({
27615
+ const content = /* @__PURE__ */ jsxs117("div", { ...trussProps130({
27600
27616
  display: "df",
27601
27617
  flexDirection: "fdc",
27602
27618
  gap: "gap8",
@@ -27618,7 +27634,7 @@ function FormSectionLayout(props) {
27618
27634
 
27619
27635
  // src/layouts/NavbarLayout/NavbarLayout.tsx
27620
27636
  import { useMemo as useMemo57, useRef as useRef68 } from "react";
27621
- import { mergeProps as mergeProps39, maybeCssVar as maybeCssVar63 } from "@homebound/truss/runtime";
27637
+ import { mergeProps as mergeProps39, maybeCssVar as maybeCssVar64 } from "@homebound/truss/runtime";
27622
27638
 
27623
27639
  // src/layouts/useAutoHideOnScroll.ts
27624
27640
  import { useLayoutEffect as useLayoutEffect11, useRef as useRef67, useState as useState60 } from "react";
@@ -27768,10 +27784,10 @@ function NavbarLayout(props) {
27768
27784
  position: "sticky",
27769
27785
  left: "left0",
27770
27786
  zIndex: ["z_var", {
27771
- "--zIndex": maybeCssVar63(zIndices.navbar)
27787
+ "--zIndex": maybeCssVar64(zIndices.navbar)
27772
27788
  }],
27773
27789
  width: ["w_var", {
27774
- "--width": maybeCssVar63(__maybeInc30(innerWidth))
27790
+ "--width": maybeCssVar64(__maybeInc30(innerWidth))
27775
27791
  }]
27776
27792
  }
27777
27793
  ) : (
@@ -27780,10 +27796,10 @@ function NavbarLayout(props) {
27780
27796
  position: "fixed",
27781
27797
  left: "left0",
27782
27798
  zIndex: ["z_var", {
27783
- "--zIndex": maybeCssVar63(zIndices.navbar)
27799
+ "--zIndex": maybeCssVar64(zIndices.navbar)
27784
27800
  }],
27785
27801
  width: ["w_var", {
27786
- "--width": maybeCssVar63(__maybeInc30(innerWidth))
27802
+ "--width": maybeCssVar64(__maybeInc30(innerWidth))
27787
27803
  }],
27788
27804
  transition: "transitionTop"
27789
27805
  }
@@ -27813,7 +27829,7 @@ function NavbarLayout(props) {
27813
27829
  import { useCallback as useCallback41, useMemo as useMemo58, useRef as useRef69 } from "react";
27814
27830
 
27815
27831
  // src/components/Headers/BaseHeader.tsx
27816
- import { trussProps as trussProps130 } from "@homebound/truss/runtime";
27832
+ import { trussProps as trussProps131 } from "@homebound/truss/runtime";
27817
27833
  import { jsx as jsx228, jsxs as jsxs119 } from "react/jsx-runtime";
27818
27834
  function BaseHeader(props) {
27819
27835
  const {
@@ -27826,7 +27842,7 @@ function BaseHeader(props) {
27826
27842
  } = props;
27827
27843
  const tid = useTestIds(otherProps, "header");
27828
27844
  useDocumentTitle(title, documentTitleSuffix);
27829
- return /* @__PURE__ */ jsxs119("header", { ...tid, ...trussProps130({
27845
+ return /* @__PURE__ */ jsxs119("header", { ...tid, ...trussProps131({
27830
27846
  display: "df",
27831
27847
  flexDirection: "fdc",
27832
27848
  paddingTop: "pt3",
@@ -27840,7 +27856,7 @@ function BaseHeader(props) {
27840
27856
  "--backgroundColor": "var(--b-surface)"
27841
27857
  }]
27842
27858
  }), children: [
27843
- /* @__PURE__ */ jsxs119("div", { ...trussProps130({
27859
+ /* @__PURE__ */ jsxs119("div", { ...trussProps131({
27844
27860
  ...{
27845
27861
  display: "df",
27846
27862
  justifyContent: "jcsb",
@@ -27856,7 +27872,7 @@ function BaseHeader(props) {
27856
27872
  }), children: [
27857
27873
  /* @__PURE__ */ jsxs119("div", { className: "mw0", children: [
27858
27874
  breadcrumbs && /* @__PURE__ */ jsx228(Breadcrumbs, { ...breadcrumbs }),
27859
- /* @__PURE__ */ jsx228("h1", { ...tid.title, ...trussProps130({
27875
+ /* @__PURE__ */ jsx228("h1", { ...tid.title, ...trussProps131({
27860
27876
  fontWeight: "fw6",
27861
27877
  fontSize: "fz_20px",
27862
27878
  lineHeight: "lh_28px",
@@ -27872,7 +27888,7 @@ function BaseHeader(props) {
27872
27888
  }
27873
27889
 
27874
27890
  // src/components/Headers/PageHeader.tsx
27875
- import { trussProps as trussProps131 } from "@homebound/truss/runtime";
27891
+ import { trussProps as trussProps132 } from "@homebound/truss/runtime";
27876
27892
  import { jsx as jsx229 } from "react/jsx-runtime";
27877
27893
  function PageHeader2(props) {
27878
27894
  const {
@@ -27880,7 +27896,7 @@ function PageHeader2(props) {
27880
27896
  ...otherProps
27881
27897
  } = props;
27882
27898
  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 }) }) });
27899
+ return /* @__PURE__ */ jsx229(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ jsx229("div", { ...trussProps132(pageContentPaddingX), children: /* @__PURE__ */ jsx229(Tabs, { ...tabs, ...tid.tabs }) }) });
27884
27900
  }
27885
27901
 
27886
27902
  // src/layouts/useBannerAndNavbarHeight.ts
@@ -27889,7 +27905,7 @@ function useBannerAndNavbarHeight() {
27889
27905
  }
27890
27906
 
27891
27907
  // src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
27892
- import { mergeProps as mergeProps40, maybeCssVar as maybeCssVar64 } from "@homebound/truss/runtime";
27908
+ import { mergeProps as mergeProps40, maybeCssVar as maybeCssVar65 } from "@homebound/truss/runtime";
27893
27909
  import { jsx as jsx230, jsxs as jsxs120 } from "react/jsx-runtime";
27894
27910
  var __maybeInc31 = (inc) => {
27895
27911
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27921,24 +27937,24 @@ function PageHeaderLayout(props) {
27921
27937
  const innerCss = autoHideState === "static" ? {
27922
27938
  position: "sticky",
27923
27939
  left: ["left_var", {
27924
- "--left": maybeCssVar64(__maybeInc31(headerLeft))
27940
+ "--left": maybeCssVar65(__maybeInc31(headerLeft))
27925
27941
  }],
27926
27942
  width: ["w_var", {
27927
- "--width": maybeCssVar64(__maybeInc31(headerWidth))
27943
+ "--width": maybeCssVar65(__maybeInc31(headerWidth))
27928
27944
  }],
27929
27945
  zIndex: ["z_var", {
27930
- "--zIndex": maybeCssVar64(zIndices.pageStickyHeader)
27946
+ "--zIndex": maybeCssVar65(zIndices.pageStickyHeader)
27931
27947
  }]
27932
27948
  } : {
27933
27949
  position: "fixed",
27934
27950
  left: ["left_var", {
27935
- "--left": maybeCssVar64(__maybeInc31(headerLeft))
27951
+ "--left": maybeCssVar65(__maybeInc31(headerLeft))
27936
27952
  }],
27937
27953
  width: ["w_var", {
27938
- "--width": maybeCssVar64(__maybeInc31(headerWidth))
27954
+ "--width": maybeCssVar65(__maybeInc31(headerWidth))
27939
27955
  }],
27940
27956
  zIndex: ["z_var", {
27941
- "--zIndex": maybeCssVar64(zIndices.pageStickyHeader)
27957
+ "--zIndex": maybeCssVar65(zIndices.pageStickyHeader)
27942
27958
  }],
27943
27959
  transition: "transitionTop"
27944
27960
  };
@@ -27961,21 +27977,84 @@ function PageHeaderLayout(props) {
27961
27977
  ] }) });
27962
27978
  }
27963
27979
 
27964
- // src/layouts/WorkflowLayout/WorkflowLayout.tsx
27965
- import { useLayoutEffect as useLayoutEffect13, useRef as useRef71, useState as useState62 } from "react";
27980
+ // src/layouts/Workflow/JumpLinksRail.tsx
27981
+ import { trussProps as trussProps133, maybeCssVar as maybeCssVar66 } from "@homebound/truss/runtime";
27982
+ import { jsx as jsx231 } from "react/jsx-runtime";
27983
+ var __maybeInc32 = (inc) => {
27984
+ return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
27985
+ };
27986
+ var jumpLinksRailWidthPx = 180;
27987
+ function JumpLinksRail(props) {
27988
+ const {
27989
+ links,
27990
+ activeId
27991
+ } = props;
27992
+ const tid = useTestIds(props, "jumpLinks");
27993
+ return /* @__PURE__ */ jsx231("nav", { ...trussProps133({
27994
+ display: "df",
27995
+ flexDirection: "fdc",
27996
+ flexShrink: "fs0",
27997
+ width: ["w_var", {
27998
+ "--width": `${jumpLinksRailWidthPx}px`
27999
+ }],
28000
+ position: "sticky",
28001
+ alignSelf: "asfs",
28002
+ top: ["top_var", {
28003
+ "--top": maybeCssVar66(__maybeInc32(stickyNavAndHeaderOffset()))
28004
+ }]
28005
+ }), ...tid, children: links.map((link) => /* @__PURE__ */ jsx231(JumpLink, { label: link.label, href: `#${link.id}`, active: link.id === activeId, ...tid.link }, link.id)) });
28006
+ }
28007
+
28008
+ // src/layouts/Workflow/useActiveJumpLink.ts
28009
+ import { useLayoutEffect as useLayoutEffect13, useState as useState62 } from "react";
28010
+ var activationLeadPx = 120;
28011
+ function useActiveJumpLink(sectionIds) {
28012
+ const idsKey = sectionIds.join("\0");
28013
+ const [activeId, setActiveId] = useState62(sectionIds[0]);
28014
+ useLayoutEffect13(() => {
28015
+ const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
28016
+ if (ids.length === 0) return;
28017
+ const update = () => {
28018
+ const first = ids.map((id) => document.getElementById(id)).find((el) => el !== null);
28019
+ if (!first) return;
28020
+ const headerOffset = stickyNavAndHeaderOffsetPx(first);
28021
+ let current = ids[0];
28022
+ for (const id of ids) {
28023
+ const el = document.getElementById(id);
28024
+ if (el && el.getBoundingClientRect().top - headerOffset <= activationLeadPx) {
28025
+ current = id;
28026
+ }
28027
+ }
28028
+ setActiveId(current);
28029
+ };
28030
+ update();
28031
+ window.addEventListener("scroll", update, { passive: true });
28032
+ return () => window.removeEventListener("scroll", update);
28033
+ }, [idsKey]);
28034
+ return sectionIds.includes(activeId ?? "") ? activeId : sectionIds[0];
28035
+ }
28036
+
28037
+ // src/layouts/Workflow/WorkflowPageLayout.tsx
28038
+ import { useLayoutEffect as useLayoutEffect14, useRef as useRef71 } from "react";
27966
28039
 
27967
28040
  // src/components/Headers/WorkflowHeader.tsx
27968
- import { jsx as jsx231 } from "react/jsx-runtime";
28041
+ import { jsx as jsx232 } from "react/jsx-runtime";
27969
28042
  function WorkflowHeader(props) {
27970
28043
  const { stepperTabs, ...otherProps } = props;
27971
28044
  const tid = useTestIds(otherProps, "header");
27972
- return /* @__PURE__ */ jsx231(BaseHeader, { ...otherProps, bottomSlot: /* @__PURE__ */ jsx231(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) });
28045
+ return /* @__PURE__ */ jsx232(
28046
+ BaseHeader,
28047
+ {
28048
+ ...otherProps,
28049
+ bottomSlot: stepperTabs ? /* @__PURE__ */ jsx232(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) : void 0
28050
+ }
28051
+ );
27973
28052
  }
27974
28053
 
27975
- // src/layouts/WorkflowLayout/useUnsavedChangesGuard.tsx
28054
+ // src/layouts/Workflow/useUnsavedChangesGuard.tsx
27976
28055
  import { useEffect as useEffect39, useRef as useRef70 } from "react";
27977
28056
  import { useBlocker } from "react-router-dom";
27978
- import { jsx as jsx232 } from "react/jsx-runtime";
28057
+ import { jsx as jsx233 } from "react/jsx-runtime";
27979
28058
  function useUnsavedChangesGuard(options) {
27980
28059
  const { isDirty, onCancel } = options;
27981
28060
  const { openModal } = useModal();
@@ -27998,7 +28077,7 @@ function useUnsavedChangesGuard(options) {
27998
28077
  }
27999
28078
  openModal({
28000
28079
  allowClosing: false,
28001
- content: /* @__PURE__ */ jsx232(ConfirmCloseModal, { onClose: () => onCancel(e) })
28080
+ content: /* @__PURE__ */ jsx233(ConfirmCloseModal, { onClose: () => onCancel(e) })
28002
28081
  });
28003
28082
  };
28004
28083
  const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
@@ -28010,64 +28089,64 @@ function UnsavedChangesNavigationModal(props) {
28010
28089
  useEffect39(() => {
28011
28090
  openModal({
28012
28091
  allowClosing: false,
28013
- content: /* @__PURE__ */ jsx232(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
28092
+ content: /* @__PURE__ */ jsx233(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
28014
28093
  });
28015
28094
  return () => closeModal();
28016
28095
  }, []);
28017
28096
  return null;
28018
28097
  }
28019
28098
 
28020
- // src/layouts/WorkflowLayout/WorkflowActions.tsx
28021
- import { jsx as jsx233, jsxs as jsxs121 } from "react/jsx-runtime";
28099
+ // src/layouts/Workflow/WorkflowActions.tsx
28100
+ import { jsx as jsx234, jsxs as jsxs121 } from "react/jsx-runtime";
28022
28101
  function WorkflowActions(props) {
28023
28102
  const {
28024
- isFirstStep,
28025
- isLastStep,
28026
- isMobile,
28027
- onBack,
28028
28103
  onCancel,
28029
28104
  onSaveAndExit,
28030
28105
  completeLabel,
28031
28106
  onComplete,
28032
- onContinue,
28033
28107
  primaryDisabled,
28034
- aiMode = false
28108
+ aiMode = false,
28109
+ isFirstStep = true,
28110
+ isLastStep = true,
28111
+ onBack,
28112
+ onContinue
28035
28113
  } = props;
28114
+ const {
28115
+ sm: isMobile
28116
+ } = useBreakpoint();
28036
28117
  const primaryVariant = aiMode ? "ai" : "primary";
28037
28118
  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 }) }),
28119
+ /* @__PURE__ */ jsx234("div", { className: "df aic", children: !isFirstStep && isMobile && onBack && /* @__PURE__ */ jsx234(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
28039
28120
  /* @__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 })
28121
+ /* @__PURE__ */ jsx234(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
28122
+ onSaveAndExit && /* @__PURE__ */ jsx234(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
28123
+ isLastStep ? /* @__PURE__ */ jsx234(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ jsx234(Button, { label: "Continue", variant: primaryVariant, onClick: async () => {
28124
+ await onContinue?.();
28125
+ }, disabled: primaryDisabled })
28043
28126
  ] })
28044
28127
  ] });
28045
28128
  }
28046
28129
 
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) => {
28130
+ // src/layouts/Workflow/WorkflowPageLayout.tsx
28131
+ import { trussProps as trussProps134, mergeProps as mergeProps41, maybeCssVar as maybeCssVar67 } from "@homebound/truss/runtime";
28132
+ import { jsx as jsx235, jsxs as jsxs122 } from "react/jsx-runtime";
28133
+ var __maybeInc33 = (inc) => {
28051
28134
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
28052
28135
  };
28053
- function WorkflowLayout(props) {
28136
+ var mobileFooterHeightPx = 80;
28137
+ function WorkflowPageLayout(props) {
28054
28138
  const {
28055
- steps,
28056
- defaultStep,
28057
- onCancel,
28058
- completeLabel,
28059
- onComplete,
28060
- onSaveAndExit,
28139
+ stepperTabs,
28140
+ aiMode,
28061
28141
  isDirty,
28062
- aiMode = false,
28063
- ...headerProps
28142
+ children,
28143
+ title,
28144
+ documentTitleSuffix,
28145
+ breadcrumbs,
28146
+ onCancel,
28147
+ ...actionProps
28064
28148
  } = 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");
28149
+ const tid = useTestIds(props, "workflowPageLayout");
28071
28150
  const {
28072
28151
  sm: isMobile
28073
28152
  } = useBreakpoint();
@@ -28078,6 +28157,7 @@ function WorkflowLayout(props) {
28078
28157
  isDirty,
28079
28158
  onCancel
28080
28159
  });
28160
+ const actions = /* @__PURE__ */ jsx235(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick });
28081
28161
  const headerMetricsRef = useRef71(null);
28082
28162
  const headerHeight = useMeasuredHeight(headerMetricsRef, true);
28083
28163
  const headerWidth = documentScrollChromeWidth();
@@ -28085,20 +28165,8 @@ function WorkflowLayout(props) {
28085
28165
  const cssVars = headerHeight > 0 ? {
28086
28166
  [beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
28087
28167
  } : 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
28168
  const showFooter = isMobile;
28101
- useLayoutEffect13(() => {
28169
+ useLayoutEffect14(() => {
28102
28170
  const root = document.documentElement;
28103
28171
  const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
28104
28172
  root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
@@ -28110,39 +28178,26 @@ function WorkflowLayout(props) {
28110
28178
  }
28111
28179
  };
28112
28180
  }, [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
28181
  return /* @__PURE__ */ jsxs122(DocumentScrollLayoutProvider, { children: [
28127
28182
  /* @__PURE__ */ jsxs122("div", { ...mergeProps41(void 0, cssVars, {
28128
28183
  display: "df",
28129
28184
  flexDirection: "fdc",
28130
28185
  width: "w100"
28131
28186
  }), ...tid, children: [
28132
- /* @__PURE__ */ jsx234("div", { ref: headerMetricsRef, ...trussProps132({
28187
+ /* @__PURE__ */ jsx235("div", { ref: headerMetricsRef, ...trussProps134({
28133
28188
  position: "sticky",
28134
28189
  left: "left0",
28135
28190
  width: ["w_var", {
28136
- "--width": maybeCssVar65(__maybeInc32(headerWidth))
28191
+ "--width": maybeCssVar67(__maybeInc33(headerWidth))
28137
28192
  }],
28138
28193
  zIndex: ["z_var", {
28139
- "--zIndex": maybeCssVar65(zIndices.pageStickyHeader)
28194
+ "--zIndex": maybeCssVar67(zIndices.pageStickyHeader)
28140
28195
  }],
28141
28196
  top: ["top_var", {
28142
- "--top": maybeCssVar65(__maybeInc32(outerTop))
28197
+ "--top": maybeCssVar67(__maybeInc33(outerTop))
28143
28198
  }]
28144
- }), ...tid.header, children: headerEl }),
28145
- /* @__PURE__ */ jsx234("div", { ...trussProps132({
28199
+ }), ...tid.header, children: /* @__PURE__ */ jsx235(WorkflowHeader, { title, documentTitleSuffix, breadcrumbs, rightSlot: isMobile ? void 0 : actions, stepperTabs }) }),
28200
+ /* @__PURE__ */ jsx235("div", { ...trussProps134({
28146
28201
  ...{
28147
28202
  display: "df",
28148
28203
  flexDirection: "fdc",
@@ -28154,28 +28209,28 @@ function WorkflowLayout(props) {
28154
28209
  ...aiMode && {
28155
28210
  backgroundImage: "aiBackground",
28156
28211
  minHeight: ["mh_var", {
28157
- "--minHeight": maybeCssVar65(documentScrollBodyMinHeight())
28212
+ "--minHeight": maybeCssVar67(documentScrollBodyMinHeight())
28158
28213
  }]
28159
28214
  }
28160
- }), ...tid.body, children: activeStep?.content }),
28161
- showFooter && /* @__PURE__ */ jsx234("div", { ...trussProps132({
28215
+ }), ...tid.body, children }),
28216
+ showFooter && /* @__PURE__ */ jsx235("div", { ...trussProps134({
28162
28217
  flexShrink: "fs0",
28163
28218
  width: "w100",
28164
28219
  height: ["h_var", {
28165
28220
  "--height": `${mobileFooterHeightPx}px`
28166
28221
  }]
28167
- }), children: /* @__PURE__ */ jsx234("div", { ...trussProps132({
28222
+ }), children: /* @__PURE__ */ jsx235("div", { ...trussProps134({
28168
28223
  ...{
28169
28224
  position: "fixed",
28170
28225
  bottom: "bottom0",
28171
28226
  width: ["w_var", {
28172
- "--width": maybeCssVar65(__maybeInc32(headerWidth))
28227
+ "--width": maybeCssVar67(__maybeInc33(headerWidth))
28173
28228
  }],
28174
28229
  height: ["h_var", {
28175
28230
  "--height": `${mobileFooterHeightPx}px`
28176
28231
  }],
28177
28232
  zIndex: ["z_var", {
28178
- "--zIndex": maybeCssVar65(zIndices.pageStickyFooter)
28233
+ "--zIndex": maybeCssVar67(zIndices.pageStickyFooter)
28179
28234
  }],
28180
28235
  display: "df",
28181
28236
  alignItems: "aic",
@@ -28191,17 +28246,95 @@ function WorkflowLayout(props) {
28191
28246
  }]
28192
28247
  },
28193
28248
  ...pageContentPaddingX
28194
- }), ...tid.footer, children: buttons }) })
28249
+ }), ...tid.footer, children: actions }) })
28195
28250
  ] }),
28196
- navigationBlocker && /* @__PURE__ */ jsx234(UnsavedChangesNavigationModal, { ...navigationBlocker })
28251
+ navigationBlocker && /* @__PURE__ */ jsx235(UnsavedChangesNavigationModal, { ...navigationBlocker })
28197
28252
  ] });
28198
28253
  }
28199
- var mobileFooterHeightPx = 80;
28200
- function isValidStep(steps, value) {
28254
+
28255
+ // src/layouts/Workflow/FocusedFormLayout.tsx
28256
+ import { jsx as jsx236, jsxs as jsxs123 } from "react/jsx-runtime";
28257
+ function FocusedFormLayout(props) {
28258
+ const {
28259
+ onCancel,
28260
+ completeLabel,
28261
+ onComplete,
28262
+ onSaveAndExit,
28263
+ isValid,
28264
+ isDirty,
28265
+ withJumpLinks = true,
28266
+ aiMode,
28267
+ form,
28268
+ ...headerProps
28269
+ } = props;
28270
+ const tid = useTestIds(props, "focusedFormLayout");
28271
+ const {
28272
+ sm: isMobile
28273
+ } = useBreakpoint();
28274
+ const jumpLinks = (form.sections ?? []).filter((section) => !section.excludeJumpLink).map((section) => {
28275
+ const id = defaultTestId(section.title);
28276
+ return {
28277
+ id,
28278
+ label: section.title
28279
+ };
28280
+ });
28281
+ const activeId = useActiveJumpLink(jumpLinks.map((link) => link.id));
28282
+ const showRail = withJumpLinks && jumpLinks.length >= 2 && !isMobile;
28283
+ return /* @__PURE__ */ jsx236(WorkflowPageLayout, { ...tid, ...headerProps, aiMode, isDirty, onCancel, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !isValid, children: /* @__PURE__ */ jsxs123("div", { className: "df w100", children: [
28284
+ showRail && /* @__PURE__ */ jsx236(JumpLinksRail, { links: jumpLinks, activeId, ...tid.jumpLinks }),
28285
+ /* @__PURE__ */ jsx236("div", { className: "fg1 mw0 mb4", children: /* @__PURE__ */ jsx236(FormSectionLayout, { ...form, aiMode }) })
28286
+ ] }) });
28287
+ }
28288
+
28289
+ // src/layouts/Workflow/StepperLayout.tsx
28290
+ import { useState as useState63 } from "react";
28291
+ import { jsx as jsx237 } from "react/jsx-runtime";
28292
+ function StepperLayout(props) {
28293
+ const { steps, defaultStep, onCancel, completeLabel, onComplete, onSaveAndExit, isDirty, aiMode, ...headerProps } = props;
28294
+ const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
28295
+ const [currentStep, setCurrentStep] = useState63(() => getInitialStep(stepTabs, defaultStep));
28296
+ const tid = useTestIds(props, "stepperLayout");
28297
+ const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
28298
+ const isFirstStep = currentIndex <= 0;
28299
+ const isLastStep = currentIndex >= stepTabs.length - 1;
28300
+ const activeStep = stepTabs[currentIndex];
28301
+ return /* @__PURE__ */ jsx237(
28302
+ WorkflowPageLayout,
28303
+ {
28304
+ ...tid,
28305
+ ...headerProps,
28306
+ aiMode,
28307
+ stepperTabs: { steps: stepTabs, currentStep, onChange: setCurrentStep },
28308
+ isDirty,
28309
+ isFirstStep,
28310
+ isLastStep,
28311
+ onBack: () => {
28312
+ const prev = stepTabs[currentIndex - 1];
28313
+ if (prev) setCurrentStep(prev.value);
28314
+ },
28315
+ onCancel,
28316
+ onSaveAndExit,
28317
+ completeLabel,
28318
+ onComplete,
28319
+ primaryDisabled: !activeStep?.isValid,
28320
+ onContinue: async () => {
28321
+ const onContinue = activeStep?.onContinue;
28322
+ if (onContinue) {
28323
+ const allowed = await onContinue();
28324
+ if (allowed === false) return;
28325
+ }
28326
+ const next = stepTabs[currentIndex + 1];
28327
+ if (next) setCurrentStep(next.value);
28328
+ },
28329
+ children: activeStep?.content
28330
+ }
28331
+ );
28332
+ }
28333
+ function hasStep(steps, value) {
28201
28334
  return steps.some((step) => step.value === value);
28202
28335
  }
28203
28336
  function getInitialStep(steps, defaultStep) {
28204
- return defaultStep !== void 0 && isValidStep(steps, defaultStep) ? defaultStep : steps[0]?.value;
28337
+ return defaultStep !== void 0 && hasStep(steps, defaultStep) ? defaultStep : steps[0]?.value ?? "";
28205
28338
  }
28206
28339
  export {
28207
28340
  ASC,
@@ -28286,6 +28419,7 @@ export {
28286
28419
  FieldGroup,
28287
28420
  FilterModal,
28288
28421
  _Filters as Filters,
28422
+ FocusedFormLayout,
28289
28423
  FormDivider,
28290
28424
  FormHeading,
28291
28425
  FormLines,
@@ -28358,6 +28492,7 @@ export {
28358
28492
  SortHeader,
28359
28493
  StaticField,
28360
28494
  Stepper,
28495
+ StepperLayout,
28361
28496
  StepperTab,
28362
28497
  StepperTabs,
28363
28498
  SubmitButton,
@@ -28385,7 +28520,6 @@ export {
28385
28520
  Tooltip,
28386
28521
  TreeSelectField,
28387
28522
  ViewToggleButton,
28388
- WorkflowLayout,
28389
28523
  actionColumn,
28390
28524
  applyRowFn,
28391
28525
  assignDefaultColumnIds,
@@ -28538,6 +28672,7 @@ export {
28538
28672
  sortFn,
28539
28673
  sortRows,
28540
28674
  stickyNavAndHeaderOffset,
28675
+ stickyNavAndHeaderOffsetPx,
28541
28676
  stickyTableHeaderOffset,
28542
28677
  sumColumnSizesPx,
28543
28678
  switchFocusStyles,