@homebound/beam 3.90.1 → 3.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6139,6 +6139,9 @@ function documentScrollContentWidth() {
6139
6139
  function documentScrollRightPaneHeight() {
6140
6140
  return `calc(var(${beamLayoutViewportHeightVar}, 100vh) - ${stickyTableHeaderOffset()})`;
6141
6141
  }
6142
+ function documentScrollBodyMinHeight() {
6143
+ return `calc(var(${beamLayoutViewportHeightVar}, 100vh) - ${stickyNavAndHeaderOffset()} - var(${beamWorkflowLayoutFooterHeightVar}, 0px))`;
6144
+ }
6142
6145
  function documentScrollRightPaneWidth(maxPx) {
6143
6146
  return `min(${maxPx}px, ${documentScrollChromeWidth()})`;
6144
6147
  }
@@ -6148,6 +6151,11 @@ function bannerAndNavbarChromeTop() {
6148
6151
  function stickyNavAndHeaderOffset(basePx = 0) {
6149
6152
  return `calc(${basePx}px + var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px))`;
6150
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
+ }
6151
6159
  function stickyTableHeaderOffset(basePx = 0) {
6152
6160
  return `calc(${basePx}px + var(${beamEnvironmentBannerLayoutHeightVar}, 0px) + var(${beamNavbarLayoutHeightVar}, 0px) + var(${beamPageHeaderLayoutHeightVar}, 0px) + var(${beamTableActionsHeightVar}, 0px))`;
6153
6161
  }
@@ -6174,7 +6182,7 @@ var zIndices = {
6174
6182
  // Document-scroll detail pane (DocumentScrollRightPaneLayout) — above table sticky chrome, below page sticky headers.
6175
6183
  rightPane: 60,
6176
6184
  pageStickyHeader: 70,
6177
- // 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.
6178
6186
  pageStickyFooter: 70,
6179
6187
  dragHandle: 80,
6180
6188
  // Side-nav layer. Mobile rail overlays page content when expanded; sits below
@@ -18902,50 +18910,91 @@ import { jsx as jsx107, jsxs as jsxs58 } from "react/jsx-runtime";
18902
18910
  function AiPanel(props) {
18903
18911
  const {
18904
18912
  rounded = false,
18905
- fullWidth = true,
18913
+ padding = "sm",
18906
18914
  children,
18907
18915
  ...others
18908
18916
  } = props;
18909
18917
  const tid = useTestIds(others, "aiPanel");
18910
18918
  return /* @__PURE__ */ jsx107("div", { ...trussProps72({
18911
- width: "w100",
18912
- paddingLeft: "pl3",
18913
- paddingRight: "pr3",
18914
- paddingTop: "pt2",
18915
- paddingBottom: "pb2",
18916
- backgroundImage: "aiBackground",
18917
- ...rounded ? {
18918
- borderRadius: "br12"
18919
- } : {}
18920
- }), ...others, ...tid, children: /* @__PURE__ */ jsxs58("div", { ...trussProps72({
18921
- display: "df",
18922
- flexDirection: "fdc",
18923
- alignItems: "aifs",
18924
- gap: "gap1",
18925
- width: "w100",
18926
- ...!fullWidth ? {
18927
- width: "wfc",
18928
- marginLeft: "mla",
18929
- marginRight: "mra"
18930
- } : {}
18919
+ ...{
18920
+ width: "w100",
18921
+ backgroundImage: "aiBackground",
18922
+ ...rounded ? {
18923
+ borderRadius: "br12"
18924
+ } : {}
18925
+ },
18926
+ ...aiBackgroundPaddingCss[padding]
18927
+ }), ...others, ...tid, children });
18928
+ }
18929
+ function AiCard(props) {
18930
+ const {
18931
+ fullWidth = true,
18932
+ size = "lg",
18933
+ children,
18934
+ ...others
18935
+ } = props;
18936
+ const {
18937
+ logoHeight,
18938
+ gapCss
18939
+ } = aiCardChrome[size];
18940
+ const tid = useTestIds(others, "aiCard");
18941
+ return /* @__PURE__ */ jsxs58("div", { ...trussProps72({
18942
+ ...{
18943
+ display: "df",
18944
+ flexDirection: "fdc",
18945
+ alignItems: "aifs",
18946
+ width: "w100",
18947
+ ...!fullWidth ? {
18948
+ width: "wfc",
18949
+ maxWidth: "maxw100",
18950
+ marginLeft: "mla",
18951
+ marginRight: "mra"
18952
+ } : {}
18953
+ },
18954
+ ...gapCss
18931
18955
  }), ...tid.column, children: [
18932
- /* @__PURE__ */ jsx107(BlueprintAiLogo, { height: 3 }),
18956
+ /* @__PURE__ */ jsx107(BlueprintAiLogo, { height: logoHeight }),
18933
18957
  /* @__PURE__ */ jsx107("div", { ...trussProps72({
18934
18958
  display: "df",
18935
18959
  flexDirection: "fdc",
18936
18960
  width: "w100",
18961
+ minWidth: "mw0",
18937
18962
  borderRadius: "br12",
18938
- paddingTop: "pt_12px",
18939
- paddingLeft: "pl2",
18940
- paddingRight: "pr2",
18941
- paddingBottom: "pb2",
18942
18963
  backgroundColor: ["bgColor_var", {
18943
18964
  "--backgroundColor": "var(--b-surface)"
18944
18965
  }],
18945
18966
  boxShadow: "bshBasic"
18946
18967
  }), ...tid.card, children })
18947
- ] }) });
18968
+ ] });
18948
18969
  }
18970
+ var aiBackgroundPaddingCss = {
18971
+ lg: {
18972
+ paddingTop: "pt3",
18973
+ paddingBottom: "pb3",
18974
+ paddingRight: "pr3",
18975
+ paddingLeft: "pl3"
18976
+ },
18977
+ sm: {
18978
+ paddingLeft: "pl3",
18979
+ paddingRight: "pr3",
18980
+ paddingTop: "pt2",
18981
+ paddingBottom: "pb2"
18982
+ }
18983
+ };
18984
+ var aiCardChrome = {
18985
+ lg: {
18986
+ logoHeight: 3,
18987
+ gapCss: {
18988
+ gap: "gap2"
18989
+ }
18990
+ },
18991
+ sm: {
18992
+ logoHeight: 2,
18993
+ gapCss: {
18994
+ gap: "gap_4px"
18995
+ }
18996
+ }
18997
+ };
18949
18998
 
18950
18999
  // src/components/AiBanner.tsx
18951
19000
  import { trussProps as trussProps73 } from "@homebound/truss/runtime";
@@ -18958,7 +19007,7 @@ function AiBanner(props) {
18958
19007
  secondaryAction
18959
19008
  } = props;
18960
19009
  const tid = useTestIds(props, "aiBanner");
18961
- return /* @__PURE__ */ jsx108(AiPanel, { ...tid, children: /* @__PURE__ */ jsxs59("div", { className: "df aic jcsb gap2 w100 fww", children: [
19010
+ return /* @__PURE__ */ jsx108(AiPanel, { padding: "sm", ...tid, children: /* @__PURE__ */ jsx108(AiCard, { size: "sm", ...tid, children: /* @__PURE__ */ jsxs59("div", { className: "df aic jcsb gap2 w100 fww pt_12px pb2 pl2 pr2", children: [
18962
19011
  /* @__PURE__ */ jsxs59("div", { className: "df fdc gap_4px fg1 fb_0 mw_240px", children: [
18963
19012
  /* @__PURE__ */ jsx108("span", { className: "fw6 fz_14px lh_20px purple700 aiBoldBg bgcl_text WebkitBackgroundClip_text wktfc_transparent", ...tid.title, children: title }),
18964
19013
  message && /* @__PURE__ */ jsx108("span", { ...trussProps73({
@@ -18974,7 +19023,7 @@ function AiBanner(props) {
18974
19023
  secondaryAction && /* @__PURE__ */ jsx108(Button, { ...secondaryAction, variant: "quaternary" }),
18975
19024
  primaryAction && /* @__PURE__ */ jsx108(Button, { ...primaryAction, variant: "ai" })
18976
19025
  ] })
18977
- ] }) });
19026
+ ] }) }) });
18978
19027
  }
18979
19028
 
18980
19029
  // src/components/AiLoader.tsx
@@ -19036,7 +19085,7 @@ function AiLoadingPanel(props) {
19036
19085
  return (
19037
19086
  // `status` rather than `alert` so assistive tech waits for a pause instead of interrupting, and
19038
19087
  // `aria-busy` so it knows the surrounding content is still settling.
19039
- /* @__PURE__ */ jsx110(AiPanel, { role: "status", "aria-busy": true, ...tid, children: /* @__PURE__ */ jsxs60("div", { className: "df fdc aic gap1 w100 pl1 pr1", children: [
19088
+ /* @__PURE__ */ jsx110(AiPanel, { role: "status", "aria-busy": true, padding: "lg", ...tid, children: /* @__PURE__ */ jsx110(AiCard, { size: "lg", ...tid, children: /* @__PURE__ */ jsxs60("div", { className: "df fdc aic gap1 w100 pt2 pb2 pl3 pr3", children: [
19040
19089
  /* @__PURE__ */ jsx110(AiLoader, {}),
19041
19090
  /* @__PURE__ */ jsx110("span", { className: "fw6 fz_18px lh_28px purple700 aiBoldBg bgcl_text WebkitBackgroundClip_text wktfc_transparent", ...tid.title, children: title }),
19042
19091
  /* @__PURE__ */ jsx110("span", { ...trussProps75({
@@ -19048,7 +19097,7 @@ function AiLoadingPanel(props) {
19048
19097
  }],
19049
19098
  textAlign: "tac"
19050
19099
  }), ...tid.message, children: message })
19051
- ] }) })
19100
+ ] }) }) })
19052
19101
  );
19053
19102
  }
19054
19103
  var defaultMessage = "This process can take a few minutes. Feel free to keep working in another tab. Once imported, you may edit or add to content before saving.";
@@ -21252,6 +21301,7 @@ function ContentHeader(props) {
21252
21301
  actions,
21253
21302
  withAutoSave,
21254
21303
  level = 2,
21304
+ aiMode = false,
21255
21305
  startAdornment,
21256
21306
  xss
21257
21307
  } = props;
@@ -21260,6 +21310,16 @@ function ContentHeader(props) {
21260
21310
  tag: Heading,
21261
21311
  css: headingCss
21262
21312
  } = headingByLevel[level];
21313
+ const titleCss = aiMode ? {
21314
+ ...headingCss,
21315
+ ...{
21316
+ color: "purple700",
21317
+ backgroundImage: "aiBoldBg",
21318
+ backgroundClip: "bgcl_text",
21319
+ WebkitBackgroundClip: "WebkitBackgroundClip_text",
21320
+ WebkitTextFillColor: "wktfc_transparent"
21321
+ }
21322
+ } : headingCss;
21263
21323
  if (!title && !description && !actions && !withAutoSave) {
21264
21324
  return null;
21265
21325
  }
@@ -21289,7 +21349,7 @@ function ContentHeader(props) {
21289
21349
  /* @__PURE__ */ jsxs71("div", { className: "df aic jcsb mw0", children: [
21290
21350
  title ? /* @__PURE__ */ jsxs71("div", { className: "df aic gap1 mw0", children: [
21291
21351
  startAdornment,
21292
- /* @__PURE__ */ jsx146(Heading, { ...trussProps87(headingCss), ...tid.title, children: title })
21352
+ /* @__PURE__ */ jsx146(Heading, { ...trussProps87(titleCss), ...tid.title, children: title })
21293
21353
  ] }) : descriptionEl,
21294
21354
  (withAutoSave || actions) && /* @__PURE__ */ jsxs71("div", { className: "df gap1 fs0", ...tid.actions, children: [
21295
21355
  withAutoSave && /* @__PURE__ */ jsx146(AutoSaveIndicator, {}),
@@ -21326,6 +21386,9 @@ var headingByLevel = {
21326
21386
  }
21327
21387
  };
21328
21388
 
21389
+ // src/forms/FormSection/FormSection.tsx
21390
+ import { trussProps as trussProps90, maybeCssVar as maybeCssVar43 } from "@homebound/truss/runtime";
21391
+
21329
21392
  // src/forms/FormSection/FormSectionChild.tsx
21330
21393
  import { useRef as useRef50 } from "react";
21331
21394
 
@@ -21465,7 +21528,14 @@ function FormSection(props) {
21465
21528
  childSections
21466
21529
  } = props;
21467
21530
  const tid = useTestIds(props, "formSection");
21468
- 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: [
21469
21539
  /* @__PURE__ */ jsx149(ContentHeader, { ...tid, title, description, actions, level: 3 }),
21470
21540
  fields,
21471
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)) }))
@@ -21502,7 +21572,7 @@ function sortByOrderField(childSections) {
21502
21572
 
21503
21573
  // src/forms/StaticField.tsx
21504
21574
  import { useId as useId3 } from "@react-aria/utils";
21505
- import { trussProps as trussProps90 } from "@homebound/truss/runtime";
21575
+ import { trussProps as trussProps91 } from "@homebound/truss/runtime";
21506
21576
  import { jsx as jsx150, jsxs as jsxs74 } from "react/jsx-runtime";
21507
21577
  function StaticField(props) {
21508
21578
  const {
@@ -21516,14 +21586,14 @@ function StaticField(props) {
21516
21586
  } = props;
21517
21587
  const tid = useTestIds(props, typeof label === "string" ? defaultTestId(label) : "staticField");
21518
21588
  const id = useId3();
21519
- return /* @__PURE__ */ jsxs74("div", { ...trussProps90({
21589
+ return /* @__PURE__ */ jsxs74("div", { ...trussProps91({
21520
21590
  ...labelStyle === "left" ? {
21521
21591
  display: "df",
21522
21592
  justifyContent: "jcsb",
21523
21593
  maxWidth: "maxw100"
21524
21594
  } : {}
21525
21595
  }), ...tid.container, children: [
21526
- /* @__PURE__ */ jsx150("label", { ...trussProps90({
21596
+ /* @__PURE__ */ jsx150("label", { ...trussProps91({
21527
21597
  display: "db",
21528
21598
  fontWeight: "fw4",
21529
21599
  fontSize: "fz_14px",
@@ -21533,7 +21603,7 @@ function StaticField(props) {
21533
21603
  }],
21534
21604
  marginBottom: "mb_4px"
21535
21605
  }), htmlFor: id, ...tid.label, children: label }),
21536
- /* @__PURE__ */ jsx150("div", { id, ...trussProps90({
21606
+ /* @__PURE__ */ jsx150("div", { id, ...trussProps91({
21537
21607
  fontWeight: "fw4",
21538
21608
  fontSize: "fz_14px",
21539
21609
  lineHeight: "lh_20px",
@@ -21583,7 +21653,7 @@ import { useDebouncedCallback as useDebouncedCallback5 } from "use-debounce";
21583
21653
  // src/components/RightSidebar.tsx
21584
21654
  import { AnimatePresence as AnimatePresence2, motion as motion2 } from "framer-motion";
21585
21655
  import { useState as useState40 } from "react";
21586
- import { trussProps as trussProps91, maybeCssVar as maybeCssVar43 } from "@homebound/truss/runtime";
21656
+ import { trussProps as trussProps92, maybeCssVar as maybeCssVar44 } from "@homebound/truss/runtime";
21587
21657
  import { Fragment as Fragment29, jsx as jsx152, jsxs as jsxs75 } from "react/jsx-runtime";
21588
21658
  var RIGHT_SIDEBAR_MIN_WIDTH = "250px";
21589
21659
  function RightSidebar({
@@ -21623,27 +21693,27 @@ function RightSidebar({
21623
21693
  duration: 0.2
21624
21694
  },
21625
21695
  x: "100%"
21626
- }, ...trussProps91({
21696
+ }, ...trussProps92({
21627
21697
  width: "w100",
21628
21698
  minWidth: ["mw_var", {
21629
- "--minWidth": maybeCssVar43(RIGHT_SIDEBAR_MIN_WIDTH)
21699
+ "--minWidth": maybeCssVar44(RIGHT_SIDEBAR_MIN_WIDTH)
21630
21700
  }],
21631
21701
  zIndex: "z0",
21632
21702
  maxHeight: ["maxh_var", {
21633
- "--maxHeight": maybeCssVar43(`calc(100vh - ${headerHeightPx2}px)`)
21703
+ "--maxHeight": maybeCssVar44(`calc(100vh - ${headerHeightPx2}px)`)
21634
21704
  }],
21635
21705
  overflowY: "oya",
21636
21706
  paddingLeft: "pl4",
21637
21707
  paddingRight: "pr3"
21638
21708
  }), children: /* @__PURE__ */ jsxs75(Fragment29, { children: [
21639
- /* @__PURE__ */ jsxs75("div", { ...trussProps91({
21709
+ /* @__PURE__ */ jsxs75("div", { ...trussProps92({
21640
21710
  position: "sticky",
21641
21711
  top: "top0",
21642
21712
  backgroundColor: ["bgColor_var", {
21643
21713
  "--backgroundColor": "var(--b-surface)"
21644
21714
  }]
21645
21715
  }), children: [
21646
- /* @__PURE__ */ jsxs75("div", { ...trussProps91({
21716
+ /* @__PURE__ */ jsxs75("div", { ...trussProps92({
21647
21717
  position: "absolute",
21648
21718
  left: ["left_var", {
21649
21719
  "--left": `${-24}px`
@@ -21654,7 +21724,7 @@ function RightSidebar({
21654
21724
  alignItems: "aic"
21655
21725
  }), children: [
21656
21726
  /* @__PURE__ */ jsx152(IconButton, { bgColor: "--b-surface" /* Surface */, variant: "circle", onClick: () => setSelectedIcon(void 0), icon: "x", inc: 3.5 }),
21657
- /* @__PURE__ */ jsx152("div", { ...trussProps91({
21727
+ /* @__PURE__ */ jsx152("div", { ...trussProps92({
21658
21728
  position: "absolute",
21659
21729
  top: "top_48px",
21660
21730
  height: "h_calc_100vh_168px",
@@ -21722,7 +21792,7 @@ function Toast() {
21722
21792
  // src/components/Layout/PageHeaderBreadcrumbs.tsx
21723
21793
  import { Fragment as Fragment31, useMemo as useMemo36, useState as useState42 } from "react";
21724
21794
  import { Link as Link5 } from "react-router-dom";
21725
- import { trussProps as trussProps92, mergeProps as mergeProps24 } from "@homebound/truss/runtime";
21795
+ import { trussProps as trussProps93, mergeProps as mergeProps24 } from "@homebound/truss/runtime";
21726
21796
  import { Fragment as Fragment32, jsx as jsx155, jsxs as jsxs76 } from "react/jsx-runtime";
21727
21797
  function PageHeaderBreadcrumbs({
21728
21798
  breadcrumb
@@ -21734,7 +21804,7 @@ function PageHeaderBreadcrumbs({
21734
21804
  return (
21735
21805
  // Adding index to key to prevent rendering issues when multiple items have the same label
21736
21806
  /* @__PURE__ */ jsxs76(Fragment31, { children: [
21737
- index > 0 && !hideDivisor && /* @__PURE__ */ jsx155("span", { ...trussProps92({
21807
+ index > 0 && !hideDivisor && /* @__PURE__ */ jsx155("span", { ...trussProps93({
21738
21808
  fontWeight: "fw6",
21739
21809
  fontSize: "fz_14px",
21740
21810
  lineHeight: "lh_20px",
@@ -21761,7 +21831,7 @@ function PageHeaderBreadcrumbs({
21761
21831
  }
21762
21832
  return /* @__PURE__ */ jsx155("div", { className: "df aic mb_4px", children: breadcrumbs.length > 3 && collapsed ? /* @__PURE__ */ jsxs76(Fragment32, { children: [
21763
21833
  renderBreadcrumb(breadcrumbs[0], 0),
21764
- /* @__PURE__ */ jsx155("button", { ...tids.expand, ...trussProps92({
21834
+ /* @__PURE__ */ jsx155("button", { ...tids.expand, ...trussProps93({
21765
21835
  color: ["color_var", {
21766
21836
  "--color": "var(--b-on-surface-muted)"
21767
21837
  }],
@@ -21774,7 +21844,7 @@ function PageHeaderBreadcrumbs({
21774
21844
  }
21775
21845
 
21776
21846
  // src/components/Layout/FormPageLayout.tsx
21777
- import { trussProps as trussProps93, maybeCssVar as maybeCssVar44 } from "@homebound/truss/runtime";
21847
+ import { trussProps as trussProps94, maybeCssVar as maybeCssVar45 } from "@homebound/truss/runtime";
21778
21848
  import { jsx as jsx156, jsxs as jsxs77 } from "react/jsx-runtime";
21779
21849
  var headerHeightPx = 120;
21780
21850
  var maxContentWidthPx = 1600;
@@ -21797,14 +21867,14 @@ function FormPageLayoutComponent(props) {
21797
21867
  // since this layout will be replacing most superdrawers/sidebars, we keep the listing mounted below to preserve the users's
21798
21868
  // scroll position & filters
21799
21869
  // Adding "align-items: start" allows "position: sticky" to work within a grid for the sidebars
21800
- /* @__PURE__ */ jsx156("div", { ...trussProps93({
21870
+ /* @__PURE__ */ jsx156("div", { ...trussProps94({
21801
21871
  position: "fixed",
21802
21872
  top: "top0",
21803
21873
  bottom: "bottom0",
21804
21874
  left: "left0",
21805
21875
  right: "right0",
21806
21876
  zIndex: ["z_var", {
21807
- "--zIndex": maybeCssVar44(zIndices.pageOverlay)
21877
+ "--zIndex": maybeCssVar45(zIndices.pageOverlay)
21808
21878
  }],
21809
21879
  overflowY: "oya",
21810
21880
  backgroundColor: ["bgColor_var", {
@@ -21813,14 +21883,14 @@ function FormPageLayoutComponent(props) {
21813
21883
  display: "df",
21814
21884
  justifyContent: "jcc",
21815
21885
  alignItems: "aifs"
21816
- }), ...tids, children: /* @__PURE__ */ jsxs77("div", { ...trussProps93({
21886
+ }), ...tids, children: /* @__PURE__ */ jsxs77("div", { ...trussProps94({
21817
21887
  width: "w100",
21818
21888
  maxWidth: ["maxw_var", {
21819
21889
  "--maxWidth": `${maxContentWidthPx}px`
21820
21890
  }],
21821
21891
  display: "dg",
21822
21892
  gridTemplateColumns: ["gtc_var", {
21823
- "--gridTemplateColumns": maybeCssVar44(gridColumns)
21893
+ "--gridTemplateColumns": maybeCssVar45(gridColumns)
21824
21894
  }],
21825
21895
  gridTemplateRows: "gtr_auto_1fr",
21826
21896
  columnGap: "cg3",
@@ -21829,7 +21899,7 @@ function FormPageLayoutComponent(props) {
21829
21899
  /* @__PURE__ */ jsx156(PageHeader, { ...props, ...tids.pageHeader }),
21830
21900
  /* @__PURE__ */ jsx156(LeftNav, { sectionsWithRefs, ...tids }),
21831
21901
  /* @__PURE__ */ jsx156(FormSections, { sectionsWithRefs, formState, ...tids }),
21832
- rightSideBar && /* @__PURE__ */ jsx156("aside", { ...trussProps93({
21902
+ rightSideBar && /* @__PURE__ */ jsx156("aside", { ...trussProps94({
21833
21903
  gridRow: "gr_2",
21834
21904
  gridColumn: "gc_3_4",
21835
21905
  position: "sticky",
@@ -21854,7 +21924,7 @@ function PageHeader(props) {
21854
21924
  notice
21855
21925
  } = useToastContext();
21856
21926
  const tids = useTestIds(props);
21857
- return /* @__PURE__ */ jsxs77("header", { ...trussProps93({
21927
+ return /* @__PURE__ */ jsxs77("header", { ...trussProps94({
21858
21928
  gridRow: "gr_1",
21859
21929
  gridColumn: "gc_1_4",
21860
21930
  position: "sticky",
@@ -21863,7 +21933,7 @@ function PageHeader(props) {
21863
21933
  "--backgroundColor": "var(--b-surface)"
21864
21934
  }],
21865
21935
  zIndex: ["z_var", {
21866
- "--zIndex": maybeCssVar44(zIndices.pageStickyHeader)
21936
+ "--zIndex": maybeCssVar45(zIndices.pageStickyHeader)
21867
21937
  }],
21868
21938
  ...!notice ? {
21869
21939
  height: ["h_var", {
@@ -21892,7 +21962,7 @@ function FormSections(props) {
21892
21962
  } = props;
21893
21963
  const tids = useTestIds(props);
21894
21964
  const bottomPaddingPx = sectionsWithRefs.length > 1 ? 200 : 0;
21895
- return /* @__PURE__ */ jsx156("article", { ...trussProps93({
21965
+ return /* @__PURE__ */ jsx156("article", { ...trussProps94({
21896
21966
  gridRow: "gr_2",
21897
21967
  gridColumn: "gc_2_3",
21898
21968
  paddingBottom: ["pb_var", {
@@ -21910,13 +21980,13 @@ function FormSections(props) {
21910
21980
  {
21911
21981
  id: sectionKey,
21912
21982
  ref,
21913
- ...trussProps93({
21983
+ ...trussProps94({
21914
21984
  display: "dg",
21915
21985
  gridTemplateColumns: "gtc_50px_1fr",
21916
21986
  gridTemplateRows: "gtr_auto",
21917
21987
  marginBottom: "mb_72px",
21918
21988
  scrollMarginTop: ["scrollMarginTop_var", {
21919
- "--scrollMarginTop": maybeCssVar44(`${headerHeightPx}px`)
21989
+ "--scrollMarginTop": maybeCssVar45(`${headerHeightPx}px`)
21920
21990
  }]
21921
21991
  }),
21922
21992
  ...tids.formSection,
@@ -21941,7 +22011,7 @@ function LeftNav(props) {
21941
22011
  section
21942
22012
  }) => !!section.title), [sectionsWithRefs]);
21943
22013
  const activeSection = useActiveSection(sectionWithTitles);
21944
- return /* @__PURE__ */ jsx156("aside", { ...trussProps93({
22014
+ return /* @__PURE__ */ jsx156("aside", { ...trussProps94({
21945
22015
  gridRow: "gr_2",
21946
22016
  gridColumn: "gc_1_2",
21947
22017
  position: "sticky",
@@ -21960,7 +22030,7 @@ var activeStyles = {
21960
22030
  fontSize: "fz_14px",
21961
22031
  lineHeight: "lh_20px",
21962
22032
  boxShadow: ["boxShadow_var", {
21963
- "--boxShadow": maybeCssVar44(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
22033
+ "--boxShadow": maybeCssVar45(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
21964
22034
  }]
21965
22035
  };
21966
22036
  var hoverStyles2 = {
@@ -21970,7 +22040,7 @@ var hoverStyles2 = {
21970
22040
  lineHeight: "lh_20px",
21971
22041
  color: "blue900",
21972
22042
  boxShadow: ["boxShadow_var", {
21973
- "--boxShadow": maybeCssVar44(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
22043
+ "--boxShadow": maybeCssVar45(`inset 3px 0px 0 0px var(${"--b-primary" /* Primary */})`)
21974
22044
  }]
21975
22045
  };
21976
22046
  var defaultFocusRingStyles = {
@@ -22010,7 +22080,7 @@ function SectionNavLink(props) {
22010
22080
  hoverProps,
22011
22081
  isHovered
22012
22082
  } = useHover2({});
22013
- return /* @__PURE__ */ jsx156("button", { ref: buttonRef, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps93({
22083
+ return /* @__PURE__ */ jsx156("button", { ref: buttonRef, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps94({
22014
22084
  ...{
22015
22085
  fontWeight: "fw6",
22016
22086
  fontSize: "fz_14px",
@@ -22087,7 +22157,7 @@ function useActiveSection(sectionsWithRefs) {
22087
22157
  }
22088
22158
 
22089
22159
  // src/components/Layout/FullBleed.tsx
22090
- import { mergeProps as mergeProps25, maybeCssVar as maybeCssVar45 } from "@homebound/truss/runtime";
22160
+ import { mergeProps as mergeProps25, maybeCssVar as maybeCssVar46 } from "@homebound/truss/runtime";
22091
22161
  import { cloneElement as cloneElement3 } from "react";
22092
22162
  var __maybeInc20 = (inc) => {
22093
22163
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -22120,17 +22190,17 @@ function FullBleed({
22120
22190
  // inverts that padding with negative margins before re-applying it to the child.
22121
22191
  {
22122
22192
  marginLeft: ["ml_var", {
22123
- "--marginLeft": maybeCssVar45(__maybeInc20(invertSpacing(paddingLeft)))
22193
+ "--marginLeft": maybeCssVar46(__maybeInc20(invertSpacing(paddingLeft)))
22124
22194
  }],
22125
22195
  marginRight: ["mr_var", {
22126
- "--marginRight": maybeCssVar45(__maybeInc20(invertSpacing(paddingRight)))
22196
+ "--marginRight": maybeCssVar46(__maybeInc20(invertSpacing(paddingRight)))
22127
22197
  }],
22128
22198
  ...!omitPadding ? {
22129
22199
  paddingLeft: ["pl_var", {
22130
- "--paddingLeft": maybeCssVar45(__maybeInc20(paddingLeft))
22200
+ "--paddingLeft": maybeCssVar46(__maybeInc20(paddingLeft))
22131
22201
  }],
22132
22202
  paddingRight: ["pr_var", {
22133
- "--paddingRight": maybeCssVar45(__maybeInc20(paddingRight))
22203
+ "--paddingRight": maybeCssVar46(__maybeInc20(paddingRight))
22134
22204
  }]
22135
22205
  } : {}
22136
22206
  }
@@ -22222,7 +22292,7 @@ function useRightPaneContext() {
22222
22292
  }
22223
22293
 
22224
22294
  // src/components/Layout/RightPaneLayout/DocumentScrollRightPane.tsx
22225
- import { mergeProps as mergeProps26, maybeCssVar as maybeCssVar46 } from "@homebound/truss/runtime";
22295
+ import { mergeProps as mergeProps26, maybeCssVar as maybeCssVar47 } from "@homebound/truss/runtime";
22226
22296
  import { jsx as jsx159 } from "react/jsx-runtime";
22227
22297
  var __maybeInc21 = (inc) => {
22228
22298
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -22259,27 +22329,27 @@ function DocumentScrollRightPane({
22259
22329
  "--backgroundColor": "var(--b-surface)"
22260
22330
  }],
22261
22331
  zIndex: ["z_var", {
22262
- "--zIndex": maybeCssVar46(zIndices.rightPaneMobile)
22332
+ "--zIndex": maybeCssVar47(zIndices.rightPaneMobile)
22263
22333
  }]
22264
22334
  } : {
22265
22335
  position: "fixed",
22266
22336
  transition: "transitionTop",
22267
22337
  top: ["top_var", {
22268
- "--top": maybeCssVar46(__maybeInc21(stickyTableHeaderOffset()))
22338
+ "--top": maybeCssVar47(__maybeInc21(stickyTableHeaderOffset()))
22269
22339
  }],
22270
22340
  right: "right_0",
22271
22341
  height: ["h_var", {
22272
- "--height": maybeCssVar46(__maybeInc21(documentScrollRightPaneHeight()))
22342
+ "--height": maybeCssVar47(__maybeInc21(documentScrollRightPaneHeight()))
22273
22343
  }],
22274
22344
  width: ["w_var", {
22275
- "--width": maybeCssVar46(__maybeInc21(documentScrollRightPaneWidth(paneWidth)))
22345
+ "--width": maybeCssVar47(__maybeInc21(documentScrollRightPaneWidth(paneWidth)))
22276
22346
  }],
22277
22347
  overflowY: "oya",
22278
22348
  backgroundColor: ["bgColor_var", {
22279
22349
  "--backgroundColor": "var(--b-surface)"
22280
22350
  }],
22281
22351
  zIndex: ["z_var", {
22282
- "--zIndex": maybeCssVar46(zIndices.rightPane)
22352
+ "--zIndex": maybeCssVar47(zIndices.rightPane)
22283
22353
  }],
22284
22354
  borderLeftStyle: "bls_solid",
22285
22355
  borderLeftWidth: "blw_1px",
@@ -22406,7 +22476,7 @@ function isSelectionButtonMenuProps(props) {
22406
22476
  }
22407
22477
 
22408
22478
  // src/components/CountBadge.tsx
22409
- import { trussProps as trussProps94, maybeCssVar as maybeCssVar47 } from "@homebound/truss/runtime";
22479
+ import { trussProps as trussProps95, maybeCssVar as maybeCssVar48 } from "@homebound/truss/runtime";
22410
22480
  import { jsx as jsx162 } from "react/jsx-runtime";
22411
22481
  function CountBadge(props) {
22412
22482
  const {
@@ -22418,7 +22488,7 @@ function CountBadge(props) {
22418
22488
  } = props;
22419
22489
  const tid = useTestIds(otherProps, "countBadge");
22420
22490
  if (hideIfZero && count === 0) return null;
22421
- return /* @__PURE__ */ jsx162("span", { ...tid, ...trussProps94({
22491
+ return /* @__PURE__ */ jsx162("span", { ...tid, ...trussProps95({
22422
22492
  ...{
22423
22493
  height: ["sq_var", {
22424
22494
  "--height": `${count > 100 ? 18 : 16}px`
@@ -22438,12 +22508,12 @@ function CountBadge(props) {
22438
22508
  alignItems: "aic",
22439
22509
  justifyContent: "jcc",
22440
22510
  backgroundColor: ["bgColor_var", {
22441
- "--backgroundColor": maybeCssVar47(bgColor)
22511
+ "--backgroundColor": maybeCssVar48(bgColor)
22442
22512
  }]
22443
22513
  },
22444
22514
  ...{
22445
22515
  color: ["color_var", {
22446
- "--color": maybeCssVar47(color)
22516
+ "--color": maybeCssVar48(color)
22447
22517
  }]
22448
22518
  }
22449
22519
  }), children: count });
@@ -22962,7 +23032,7 @@ function OpenModal(props) {
22962
23032
  }
22963
23033
 
22964
23034
  // src/components/Filters/FilterModal.tsx
22965
- import { trussProps as trussProps95 } from "@homebound/truss/runtime";
23035
+ import { trussProps as trussProps96 } from "@homebound/truss/runtime";
22966
23036
  import { Fragment as Fragment37, jsx as jsx173, jsxs as jsxs83 } from "react/jsx-runtime";
22967
23037
  function FilterModal(props) {
22968
23038
  const {
@@ -22999,7 +23069,7 @@ function ModalFilterItem({
22999
23069
  label,
23000
23070
  children
23001
23071
  }) {
23002
- return /* @__PURE__ */ jsxs83("div", { ...trussProps95({
23072
+ return /* @__PURE__ */ jsxs83("div", { ...trussProps96({
23003
23073
  marginBottom: "mb4",
23004
23074
  ...!label ? {
23005
23075
  borderTopStyle: "bts_solid",
@@ -23008,7 +23078,7 @@ function ModalFilterItem({
23008
23078
  } : {}
23009
23079
  }), children: [
23010
23080
  label && /* @__PURE__ */ jsx173("h2", { className: "fw4 fz_16px lh_24px mb2", children: label }),
23011
- /* @__PURE__ */ jsx173("div", { ...trussProps95({
23081
+ /* @__PURE__ */ jsx173("div", { ...trussProps96({
23012
23082
  ...!label ? {
23013
23083
  paddingTop: "pt3"
23014
23084
  } : {}
@@ -23018,7 +23088,7 @@ function ModalFilterItem({
23018
23088
 
23019
23089
  // src/components/Filters/Filters.tsx
23020
23090
  import { memo, useMemo as useMemo39 } from "react";
23021
- import { trussProps as trussProps96 } from "@homebound/truss/runtime";
23091
+ import { trussProps as trussProps97 } from "@homebound/truss/runtime";
23022
23092
  import { jsx as jsx174, jsxs as jsxs84 } from "react/jsx-runtime";
23023
23093
  function Filters(props) {
23024
23094
  const {
@@ -23042,7 +23112,7 @@ function Filters(props) {
23042
23112
  }, [numberOfInlineFilters, vertical, filterDefs]);
23043
23113
  const numModalFilters = safeKeys(modalFilters).filter((fk) => filter[fk] !== void 0).length;
23044
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;
23045
- return /* @__PURE__ */ jsxs84("div", { ...trussProps96({
23115
+ return /* @__PURE__ */ jsxs84("div", { ...trussProps97({
23046
23116
  ...vertical ? {
23047
23117
  display: "df",
23048
23118
  flexDirection: "fdc",
@@ -23103,7 +23173,7 @@ var ToggleFilter = class extends BaseFilter {
23103
23173
  import { Fragment as Fragment38, useCallback as useCallback30, useMemo as useMemo40, useRef as useRef53 } from "react";
23104
23174
  import { useMenuTrigger as useMenuTrigger3 } from "react-aria";
23105
23175
  import { useMenuTriggerState as useMenuTriggerState3 } from "react-stately";
23106
- import { trussProps as trussProps97 } from "@homebound/truss/runtime";
23176
+ import { trussProps as trussProps98 } from "@homebound/truss/runtime";
23107
23177
  import { jsx as jsx176, jsxs as jsxs85 } from "react/jsx-runtime";
23108
23178
  function EditColumnsButton(props) {
23109
23179
  const {
@@ -23152,7 +23222,7 @@ function EditColumnsButton(props) {
23152
23222
  label: "",
23153
23223
  size: "md",
23154
23224
  variant: "secondaryBlack"
23155
- }, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ jsxs85("div", { ...trussProps97({
23225
+ }, menuTriggerProps, state, buttonRef, ...tid, children: /* @__PURE__ */ jsxs85("div", { ...trussProps98({
23156
23226
  display: "df",
23157
23227
  flexDirection: "fdc",
23158
23228
  backgroundColor: ["bgColor_var", {
@@ -23169,7 +23239,7 @@ function EditColumnsButton(props) {
23169
23239
  /* @__PURE__ */ jsx176("div", { className: "fw4 fz_14px lh_20px wsnw oh to_ellipsis pr1", children: option.label }),
23170
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}`] })
23171
23241
  ] }, option.value)) }),
23172
- /* @__PURE__ */ jsx176("div", { ...trussProps97({
23242
+ /* @__PURE__ */ jsx176("div", { ...trussProps98({
23173
23243
  display: "df",
23174
23244
  justifyContent: "jcc",
23175
23245
  paddingTop: "pt2",
@@ -23211,7 +23281,7 @@ import { useDebouncedCallback as useDebouncedCallback6 } from "use-debounce";
23211
23281
  import { StringParam as StringParam2, useQueryParams as useQueryParams3 } from "use-query-params";
23212
23282
 
23213
23283
  // src/components/Layout/GridTableLayout/FilterPanel.tsx
23214
- import { trussProps as trussProps98 } from "@homebound/truss/runtime";
23284
+ import { trussProps as trussProps99 } from "@homebound/truss/runtime";
23215
23285
 
23216
23286
  // src/components/Layout/GridTableLayout/GroupByField.tsx
23217
23287
  import { jsx as jsx178 } from "react/jsx-runtime";
@@ -23247,7 +23317,7 @@ function FilterPanelOpen({
23247
23317
  const inDocumentScrollLayout = useDocumentScrollLayout();
23248
23318
  const activeFilterCount = getActiveFilterCount(filter ?? {});
23249
23319
  const filterControls = filter && setFilter ? buildFilterControls(filterImpls, filter, setFilter, tid) : null;
23250
- return /* @__PURE__ */ jsxs86("div", { ...trussProps98({
23320
+ return /* @__PURE__ */ jsxs86("div", { ...trussProps99({
23251
23321
  ...{
23252
23322
  display: "df",
23253
23323
  alignItems: "aic",
@@ -23279,7 +23349,7 @@ function FilterPanelClosed({
23279
23349
  if (!filter || !setFilter) return null;
23280
23350
  const chips = safeEntries(filterImpls).flatMap(([key, f]) => chipsForFilterKey(key, f, filter, setFilter, tid));
23281
23351
  if (chips.length === 0) return null;
23282
- return /* @__PURE__ */ jsxs86("div", { ...trussProps98({
23352
+ return /* @__PURE__ */ jsxs86("div", { ...trussProps99({
23283
23353
  display: "df",
23284
23354
  gap: "gap1",
23285
23355
  alignItems: "aic",
@@ -23320,7 +23390,7 @@ function chipsForFilterKey(key, f, filter, onChange, testId) {
23320
23390
  }
23321
23391
 
23322
23392
  // src/components/Layout/GridTableLayout/GridTableLayoutActions.tsx
23323
- import { trussProps as trussProps99 } from "@homebound/truss/runtime";
23393
+ import { trussProps as trussProps100 } from "@homebound/truss/runtime";
23324
23394
  import { jsx as jsx180, jsxs as jsxs87 } from "react/jsx-runtime";
23325
23395
  function GridTableLayoutActionsComponent(props) {
23326
23396
  const {
@@ -23384,7 +23454,7 @@ function GridTableLayoutActionsComponent(props) {
23384
23454
  }
23385
23455
  };
23386
23456
  }
23387
- return /* @__PURE__ */ jsxs87("div", { ...trussProps99({
23457
+ return /* @__PURE__ */ jsxs87("div", { ...trussProps100({
23388
23458
  display: "df",
23389
23459
  flexDirection: "fdc",
23390
23460
  gap: "gap1",
@@ -23393,7 +23463,7 @@ function GridTableLayoutActionsComponent(props) {
23393
23463
  paddingBottom: "pb3"
23394
23464
  } : {}
23395
23465
  }), children: [
23396
- /* @__PURE__ */ jsxs87("div", { ...trussProps99({
23466
+ /* @__PURE__ */ jsxs87("div", { ...trussProps100({
23397
23467
  ...{
23398
23468
  display: "df",
23399
23469
  gap: "gap1",
@@ -23420,7 +23490,7 @@ function GridTableLayoutActionsComponent(props) {
23420
23490
  } })
23421
23491
  ] })
23422
23492
  ] }),
23423
- sm && showSearch && /* @__PURE__ */ jsx180("div", { ...trussProps99(pageContentPaddingX), children: searchTextField }),
23493
+ sm && showSearch && /* @__PURE__ */ jsx180("div", { ...trussProps100(pageContentPaddingX), children: searchTextField }),
23424
23494
  hasFilterControls && !showInlineControl && /* @__PURE__ */ jsx180(FilterPanel, { isOpen: showFilters, groupBy, filterImpls, filter, setFilter, onClear: clearFilters })
23425
23495
  ] });
23426
23496
  }
@@ -23430,7 +23500,7 @@ var _GridTableLayoutActions = memo2(GridTableLayoutActionsComponent);
23430
23500
  import { useMemo as useMemo42 } from "react";
23431
23501
 
23432
23502
  // src/components/LoadingSkeleton.tsx
23433
- import { trussProps as trussProps100, maybeCssVar as maybeCssVar48 } from "@homebound/truss/runtime";
23503
+ import { trussProps as trussProps101, maybeCssVar as maybeCssVar49 } from "@homebound/truss/runtime";
23434
23504
  import { jsx as jsx181 } from "react/jsx-runtime";
23435
23505
  function LoadingSkeleton({
23436
23506
  rows = 1,
@@ -23443,18 +23513,18 @@ function LoadingSkeleton({
23443
23513
  const rowHeight = sizeToPixels2[size];
23444
23514
  const rowCells = (rowNumber) => {
23445
23515
  const flexGrowForCell = randomizeWidths ? getRandomizedFlexBasisByRowIndex(rowNumber) : 1;
23446
- return cellArray.map((_, i) => /* @__PURE__ */ jsx181("div", { ...trussProps100({
23516
+ return cellArray.map((_, i) => /* @__PURE__ */ jsx181("div", { ...trussProps101({
23447
23517
  borderRadius: "br4",
23448
23518
  animation: "animation_pulse_2s_cubic_bezier_0_4_0_0_6_1_infinite",
23449
23519
  flexGrow: ["flexGrow_var", {
23450
- "--flexGrow": maybeCssVar48(flexGrowForCell)
23520
+ "--flexGrow": maybeCssVar49(flexGrowForCell)
23451
23521
  }],
23452
23522
  backgroundColor: ["bgColor_var", {
23453
23523
  "--backgroundColor": "var(--b-loader-fill)"
23454
23524
  }]
23455
23525
  }) }, `row-${rowNumber}-cell-${i}`));
23456
23526
  };
23457
- 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({
23458
23528
  display: "df",
23459
23529
  gap: "gap1",
23460
23530
  marginBottom: "mb1",
@@ -23539,7 +23609,7 @@ function parseStoredTableView(raw) {
23539
23609
  }
23540
23610
 
23541
23611
  // src/components/Layout/GridTableLayout/GridTableLayout.tsx
23542
- import { trussProps as trussProps101, maybeCssVar as maybeCssVar49 } from "@homebound/truss/runtime";
23612
+ import { trussProps as trussProps102, maybeCssVar as maybeCssVar50 } from "@homebound/truss/runtime";
23543
23613
  import { Fragment as Fragment40, jsx as jsx183, jsxs as jsxs89 } from "react/jsx-runtime";
23544
23614
  var __maybeInc22 = (inc) => {
23545
23615
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -23597,21 +23667,21 @@ function GridTableLayoutComponent(props) {
23597
23667
  as: cardAs
23598
23668
  } : {}, api, emptyState, filter: clientSearch, style: tableStyle, stickyHeader: true, disableColumnResizing: false, visibleColumnsStorageKey, columnGutter: inDocumentScrollLayout }) });
23599
23669
  const tableScrollContent = /* @__PURE__ */ jsxs89(Fragment40, { children: [
23600
- showTableActions && /* @__PURE__ */ jsx183("div", { ref: tableActionsRef, ...trussProps101({
23670
+ showTableActions && /* @__PURE__ */ jsx183("div", { ref: tableActionsRef, ...trussProps102({
23601
23671
  ...inDocumentScrollLayout ? {
23602
23672
  transition: "transitionTop",
23603
23673
  position: "sticky",
23604
23674
  top: ["top_var", {
23605
- "--top": maybeCssVar49(__maybeInc22(stickyNavAndHeaderOffset()))
23675
+ "--top": maybeCssVar50(__maybeInc22(stickyNavAndHeaderOffset()))
23606
23676
  }],
23607
23677
  left: ["left_var", {
23608
- "--left": maybeCssVar49(__maybeInc22(documentScrollChromeLeft()))
23678
+ "--left": maybeCssVar50(__maybeInc22(documentScrollChromeLeft()))
23609
23679
  }],
23610
23680
  width: ["w_var", {
23611
- "--width": maybeCssVar49(__maybeInc22(`min(100%, ${documentScrollChromeWidth()})`))
23681
+ "--width": maybeCssVar50(__maybeInc22(`min(100%, ${documentScrollChromeWidth()})`))
23612
23682
  }],
23613
23683
  zIndex: ["z_var", {
23614
- "--zIndex": maybeCssVar49(zIndices.tableActions)
23684
+ "--zIndex": maybeCssVar50(zIndices.tableActions)
23615
23685
  }],
23616
23686
  backgroundColor: ["bgColor_var", {
23617
23687
  "--backgroundColor": "var(--b-surface)"
@@ -23747,7 +23817,7 @@ function PreventBrowserScroll({
23747
23817
  // src/components/Layout/RightPaneLayout/RightPaneLayout.tsx
23748
23818
  import { AnimatePresence as AnimatePresence4, motion as motion4 } from "framer-motion";
23749
23819
  import { useEffect as useEffect30 } from "react";
23750
- import { trussProps as trussProps102, maybeCssVar as maybeCssVar50 } from "@homebound/truss/runtime";
23820
+ import { trussProps as trussProps103, maybeCssVar as maybeCssVar51 } from "@homebound/truss/runtime";
23751
23821
  import { Fragment as Fragment41, jsx as jsx185, jsxs as jsxs90 } from "react/jsx-runtime";
23752
23822
  var __maybeInc23 = (inc) => {
23753
23823
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -23767,10 +23837,10 @@ function RightPaneLayout(props) {
23767
23837
  } = useRightPaneContext();
23768
23838
  useEffect30(() => closePane, [closePane]);
23769
23839
  return /* @__PURE__ */ jsx185("div", { className: "h100 df oxh", children: /* @__PURE__ */ jsxs90(Fragment41, { children: [
23770
- /* @__PURE__ */ jsx185("div", { ...trussProps102({
23840
+ /* @__PURE__ */ jsx185("div", { ...trussProps103({
23771
23841
  ...{
23772
23842
  width: ["w_var", {
23773
- "--width": maybeCssVar50(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
23843
+ "--width": maybeCssVar51(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
23774
23844
  }],
23775
23845
  transition: "transition_width_2s_linear",
23776
23846
  height: "h100",
@@ -23786,13 +23856,13 @@ function RightPaneLayout(props) {
23786
23856
  ...{
23787
23857
  ...!!defaultPaneContent ? {
23788
23858
  width: ["w_var", {
23789
- "--width": maybeCssVar50(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
23859
+ "--width": maybeCssVar51(__maybeInc23(`calc(100% - ${paneWidth + 24}px)`))
23790
23860
  }],
23791
23861
  marginRight: "mr3"
23792
23862
  } : {}
23793
23863
  }
23794
23864
  }), children }),
23795
- /* @__PURE__ */ jsxs90("div", { ...trussProps102({
23865
+ /* @__PURE__ */ jsxs90("div", { ...trussProps103({
23796
23866
  position: "relative",
23797
23867
  ...!!defaultPaneContent ? {
23798
23868
  width: ["w_var", {
@@ -23800,7 +23870,7 @@ function RightPaneLayout(props) {
23800
23870
  }]
23801
23871
  } : {}
23802
23872
  }), children: [
23803
- defaultPaneContent && /* @__PURE__ */ jsx185("div", { ...trussProps102({
23873
+ defaultPaneContent && /* @__PURE__ */ jsx185("div", { ...trussProps103({
23804
23874
  height: "h100",
23805
23875
  width: ["w_var", {
23806
23876
  "--width": `${paneWidth}px`
@@ -23818,9 +23888,9 @@ function RightPaneLayout(props) {
23818
23888
  {
23819
23889
  layout: "position",
23820
23890
  "data-testid": "rightPaneContent",
23821
- ...trussProps102({
23891
+ ...trussProps103({
23822
23892
  backgroundColor: ["bgColor_var", {
23823
- "--backgroundColor": maybeCssVar50(paneBgColor)
23893
+ "--backgroundColor": maybeCssVar51(paneBgColor)
23824
23894
  }],
23825
23895
  height: "h100",
23826
23896
  width: ["w_var", {
@@ -23901,7 +23971,7 @@ function SidePanel(props) {
23901
23971
  }
23902
23972
 
23903
23973
  // src/components/Layout/TableReviewLayout/TableReviewLayout.tsx
23904
- import { trussProps as trussProps103, maybeCssVar as maybeCssVar51 } from "@homebound/truss/runtime";
23974
+ import { trussProps as trussProps104, maybeCssVar as maybeCssVar52 } from "@homebound/truss/runtime";
23905
23975
  import { jsx as jsx188, jsxs as jsxs92 } from "react/jsx-runtime";
23906
23976
  var defaultRightPaneWidth = 450;
23907
23977
  function TableReviewLayout(props) {
@@ -23943,14 +24013,14 @@ function TableReviewLayout(props) {
23943
24013
  bordered: true
23944
24014
  }, stickyHeader: true });
23945
24015
  }
23946
- return /* @__PURE__ */ jsxs92("div", { ...trussProps103({
24016
+ return /* @__PURE__ */ jsxs92("div", { ...trussProps104({
23947
24017
  position: "fixed",
23948
24018
  top: "top0",
23949
24019
  bottom: "bottom0",
23950
24020
  left: "left0",
23951
24021
  right: "right0",
23952
24022
  zIndex: ["z_var", {
23953
- "--zIndex": maybeCssVar51(zIndices.pageOverlay)
24023
+ "--zIndex": maybeCssVar52(zIndices.pageOverlay)
23954
24024
  }],
23955
24025
  backgroundColor: ["bgColor_var", {
23956
24026
  "--backgroundColor": "var(--b-surface)"
@@ -23967,7 +24037,7 @@ function TableReviewLayout(props) {
23967
24037
  ] }),
23968
24038
  /* @__PURE__ */ jsx188(Button, { label: "Close", onClick: closeAction, ...tid.closeButton })
23969
24039
  ] }),
23970
- /* @__PURE__ */ jsx188("div", { ...trussProps103({
24040
+ /* @__PURE__ */ jsx188("div", { ...trussProps104({
23971
24041
  fontWeight: "fw4",
23972
24042
  fontSize: "fz_14px",
23973
24043
  lineHeight: "lh_20px",
@@ -23978,7 +24048,7 @@ function TableReviewLayout(props) {
23978
24048
  }), ...tid.description, children: description })
23979
24049
  ] }),
23980
24050
  /* @__PURE__ */ jsxs92("div", { className: "fg1 df mh0", ...tid.content, children: [
23981
- /* @__PURE__ */ jsx188("div", { ...trussProps103({
24051
+ /* @__PURE__ */ jsx188("div", { ...trussProps104({
23982
24052
  ...{
23983
24053
  flexGrow: "fg1",
23984
24054
  overflowY: "oya",
@@ -24001,7 +24071,7 @@ function TableReviewLayout(props) {
24001
24071
  ease: "linear",
24002
24072
  duration: 0.2
24003
24073
  }, className: "df fdc fs0 relative", children: [
24004
- /* @__PURE__ */ jsxs92("div", { ...trussProps103({
24074
+ /* @__PURE__ */ jsxs92("div", { ...trussProps104({
24005
24075
  position: "absolute",
24006
24076
  top: ["top_var", {
24007
24077
  "--top": `${-32}px`
@@ -24015,7 +24085,7 @@ function TableReviewLayout(props) {
24015
24085
  zIndex: "z1"
24016
24086
  }), children: [
24017
24087
  /* @__PURE__ */ jsx188(IconButton, { bgColor: "--b-surface" /* Surface */, variant: "circle", icon: "x", inc: 3.5, onClick: handleClosePanel, ...tid.closePanelButton }),
24018
- /* @__PURE__ */ jsx188("div", { ...trussProps103({
24088
+ /* @__PURE__ */ jsx188("div", { ...trussProps104({
24019
24089
  width: "w_1px",
24020
24090
  backgroundColor: ["bgColor_var", {
24021
24091
  "--backgroundColor": "var(--b-field-border-default)"
@@ -24104,7 +24174,7 @@ function useBeamContext() {
24104
24174
  // src/components/Breadcrumbs.tsx
24105
24175
  import { Fragment as Fragment43, useState as useState50 } from "react";
24106
24176
  import { Link as Link6 } from "react-router-dom";
24107
- import { trussProps as trussProps104 } from "@homebound/truss/runtime";
24177
+ import { trussProps as trussProps105 } from "@homebound/truss/runtime";
24108
24178
  import { Fragment as Fragment44, jsx as jsx190, jsxs as jsxs94 } from "react/jsx-runtime";
24109
24179
  function Breadcrumbs({
24110
24180
  breadcrumbs
@@ -24122,7 +24192,7 @@ function Breadcrumbs({
24122
24192
  // Index is added to the key to prevent rendering issues when multiple items have the same label
24123
24193
  /* @__PURE__ */ jsxs94(Fragment43, { children: [
24124
24194
  index > 0 && /* @__PURE__ */ jsx190("span", { className: "fs0 fw4 fz_12px lh_16px", children: "/" }),
24125
- /* @__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({
24126
24196
  ...{
24127
24197
  fontWeight: "fw4",
24128
24198
  fontSize: "fz_12px",
@@ -24182,7 +24252,7 @@ function ButtonDatePicker(props) {
24182
24252
  // src/components/ButtonGroup.tsx
24183
24253
  import { useRef as useRef57 } from "react";
24184
24254
  import { useButton as useButton10, useFocusRing as useFocusRing15, useHover as useHover17 } from "react-aria";
24185
- import { trussProps as trussProps105 } from "@homebound/truss/runtime";
24255
+ import { trussProps as trussProps106 } from "@homebound/truss/runtime";
24186
24256
  import { jsx as jsx192, jsxs as jsxs95 } from "react/jsx-runtime";
24187
24257
  function ButtonGroup(props) {
24188
24258
  const {
@@ -24193,7 +24263,7 @@ function ButtonGroup(props) {
24193
24263
  const tid = useTestIds(props, "buttonGroup");
24194
24264
  return (
24195
24265
  // Adding `line-height: 0` prevent inheriting line-heights that might throw off sizing within the button group.
24196
- /* @__PURE__ */ jsx192("div", { ...tid, ...trussProps105({
24266
+ /* @__PURE__ */ jsx192("div", { ...tid, ...trussProps106({
24197
24267
  ...{
24198
24268
  display: "df",
24199
24269
  lineHeight: "lh_0"
@@ -24242,10 +24312,10 @@ function GroupButton(props) {
24242
24312
  isHovered
24243
24313
  } = useHover17(ariaProps);
24244
24314
  const tid = useTestIds(props);
24245
- return /* @__PURE__ */ jsx192("span", { ...trussProps105(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
24315
+ return /* @__PURE__ */ jsx192("span", { ...trussProps106(getButtonStyles2(isFirst, isLast)), children: maybeTooltip({
24246
24316
  title: resolveTooltip(disabled, tooltip),
24247
24317
  placement: "top",
24248
- children: /* @__PURE__ */ jsxs95("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps105({
24318
+ children: /* @__PURE__ */ jsxs95("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps106({
24249
24319
  ...{
24250
24320
  fontWeight: "fw6",
24251
24321
  fontSize: "fz_14px",
@@ -24368,7 +24438,7 @@ import { useHover as useHover18 } from "react-aria";
24368
24438
  // src/components/Tag.tsx
24369
24439
  import { useResizeObserver as useResizeObserver7 } from "@react-aria/utils";
24370
24440
  import { useRef as useRef58, useState as useState51 } from "react";
24371
- import { trussProps as trussProps106 } from "@homebound/truss/runtime";
24441
+ import { trussProps as trussProps107 } from "@homebound/truss/runtime";
24372
24442
  import { jsx as jsx193, jsxs as jsxs96 } from "react/jsx-runtime";
24373
24443
  function Tag(props) {
24374
24444
  const {
@@ -24402,7 +24472,7 @@ function Tag(props) {
24402
24472
  const tooltipTitle = !preventTooltip ? isIconOnly ? text : showTooltip ? text : void 0 : void 0;
24403
24473
  return maybeTooltip({
24404
24474
  title: tooltipTitle,
24405
- children: /* @__PURE__ */ jsxs96("span", { ...tid, ...trussProps106({
24475
+ children: /* @__PURE__ */ jsxs96("span", { ...tid, ...trussProps107({
24406
24476
  ...{
24407
24477
  position: "relative",
24408
24478
  display: "dif",
@@ -24509,7 +24579,7 @@ function getPrimaryStyles(type) {
24509
24579
  }
24510
24580
 
24511
24581
  // src/components/Card.tsx
24512
- import { trussProps as trussProps107, maybeCssVar as maybeCssVar52 } from "@homebound/truss/runtime";
24582
+ import { trussProps as trussProps108, maybeCssVar as maybeCssVar53 } from "@homebound/truss/runtime";
24513
24583
  import { jsx as jsx194, jsxs as jsxs97 } from "react/jsx-runtime";
24514
24584
  function Card(props) {
24515
24585
  const {
@@ -24542,8 +24612,8 @@ function Card(props) {
24542
24612
  ...isHovered && cardHoverStyles,
24543
24613
  ...isDisabled && disabledStyles2
24544
24614
  }), [isDisabled, isHovered, bordered, type, isList, fullWidth]);
24545
- return /* @__PURE__ */ jsxs97("div", { ...trussProps107(styles), ...hoverProps, ...tid, children: [
24546
- /* @__PURE__ */ jsx194("div", { ...trussProps107({
24615
+ return /* @__PURE__ */ jsxs97("div", { ...trussProps108(styles), ...hoverProps, ...tid, children: [
24616
+ /* @__PURE__ */ jsx194("div", { ...trussProps108({
24547
24617
  ...{
24548
24618
  height: ["h_var", {
24549
24619
  "--height": `${imgHeight}px`
@@ -24566,14 +24636,14 @@ function Card(props) {
24566
24636
  flexShrink: "fs0"
24567
24637
  },
24568
24638
  ...isHovered && !isList && imageHoverStyles
24569
- }), children: /* @__PURE__ */ jsx194("img", { ...trussProps107({
24639
+ }), children: /* @__PURE__ */ jsx194("img", { ...trussProps108({
24570
24640
  width: "w100",
24571
24641
  height: "h100",
24572
24642
  objectFit: ["objectFit_var", {
24573
- "--objectFit": maybeCssVar52(imageFit)
24643
+ "--objectFit": maybeCssVar53(imageFit)
24574
24644
  }]
24575
24645
  }), src: imgSrc, alt: title, ...tid.img }) }),
24576
- isHovered && buttonMenuItems && /* @__PURE__ */ jsx194("div", { ...trussProps107({
24646
+ isHovered && buttonMenuItems && /* @__PURE__ */ jsx194("div", { ...trussProps108({
24577
24647
  position: "absolute",
24578
24648
  right: "right1",
24579
24649
  top: "top1",
@@ -24588,7 +24658,7 @@ function Card(props) {
24588
24658
  tag && /* @__PURE__ */ jsx194("div", { className: "absolute left1 top_4px", children: /* @__PURE__ */ jsx194(Tag, { type: tag?.type, text: tag?.text, ...tid.tag }) }),
24589
24659
  /* @__PURE__ */ jsxs97("div", { className: "df fdc aifs gap1", children: [
24590
24660
  /* @__PURE__ */ jsxs97("div", { children: [
24591
- /* @__PURE__ */ jsx194("div", { ...trussProps107({
24661
+ /* @__PURE__ */ jsx194("div", { ...trussProps108({
24592
24662
  fontWeight: "fw6",
24593
24663
  fontSize: "fz_12px",
24594
24664
  lineHeight: "lh_16px",
@@ -24596,7 +24666,7 @@ function Card(props) {
24596
24666
  "--color": "var(--b-on-surface-muted)"
24597
24667
  }]
24598
24668
  }), ...tid.subtitle, children: subtitle }),
24599
- /* @__PURE__ */ jsx194("div", { ...trussProps107({
24669
+ /* @__PURE__ */ jsx194("div", { ...trussProps108({
24600
24670
  fontWeight: "fw6",
24601
24671
  fontSize: "fz_14px",
24602
24672
  lineHeight: "lh_20px",
@@ -24688,7 +24758,7 @@ function Copy(props) {
24688
24758
  }
24689
24759
 
24690
24760
  // src/components/EnvironmentBanner/EnvironmentBanner.tsx
24691
- import { trussProps as trussProps108, maybeCssVar as maybeCssVar_14 } from "@homebound/truss/runtime";
24761
+ import { trussProps as trussProps109, maybeCssVar as maybeCssVar_14 } from "@homebound/truss/runtime";
24692
24762
  import { jsx as jsx196, jsxs as jsxs98 } from "react/jsx-runtime";
24693
24763
  function EnvironmentBanner(props) {
24694
24764
  const {
@@ -24708,7 +24778,7 @@ function EnvironmentBanner(props) {
24708
24778
  tooltip
24709
24779
  } = getEnvironmentBannerConfig(env, impersonating, showProdWarning);
24710
24780
  const bgColorVar = maybeCssVar(bgColor);
24711
- return /* @__PURE__ */ jsxs98("div", { ...trussProps108({
24781
+ return /* @__PURE__ */ jsxs98("div", { ...trussProps109({
24712
24782
  flexShrink: "fs0",
24713
24783
  position: "relative",
24714
24784
  zIndex: ["z_var", {
@@ -24724,7 +24794,7 @@ function EnvironmentBanner(props) {
24724
24794
  }), role: "banner", ...tid, children: [
24725
24795
  getInvertedCorner("left", bgColorVar),
24726
24796
  getInvertedCorner("right", bgColorVar),
24727
- /* @__PURE__ */ jsxs98("div", { ...trussProps108({
24797
+ /* @__PURE__ */ jsxs98("div", { ...trussProps109({
24728
24798
  ...{
24729
24799
  position: "relative",
24730
24800
  zIndex: "z2",
@@ -24739,7 +24809,7 @@ function EnvironmentBanner(props) {
24739
24809
  /* @__PURE__ */ jsx196(Tag, { text: badgeLabel, xss: {
24740
24810
  backgroundColor: "bgColor_FFFFFF90"
24741
24811
  }, ...tid.badge }),
24742
- /* @__PURE__ */ jsxs98("span", { ...trussProps108({
24812
+ /* @__PURE__ */ jsxs98("span", { ...trussProps109({
24743
24813
  ...{
24744
24814
  alignItems: "aic",
24745
24815
  gap: "gap1",
@@ -24760,7 +24830,7 @@ function EnvironmentBanner(props) {
24760
24830
  /* @__PURE__ */ jsx196("span", { className: "fs0", ...tid.info, children: /* @__PURE__ */ jsx196(Icon, { icon: "infoCircle", tooltip, inc: 2, color: "--b-on-primary" /* OnPrimary */ }) })
24761
24831
  ] })
24762
24832
  ] }),
24763
- impersonating != null && /* @__PURE__ */ jsxs98("span", { ...trussProps108({
24833
+ impersonating != null && /* @__PURE__ */ jsxs98("span", { ...trussProps109({
24764
24834
  display: "df",
24765
24835
  alignItems: "aic",
24766
24836
  gap: "gap2",
@@ -24849,10 +24919,10 @@ function getInvertedCorner(side, bgColorVar) {
24849
24919
  right: "right0"
24850
24920
  };
24851
24921
  const shadowXOffset = side === "left" ? -invertedCornerRadiusPx : invertedCornerRadiusPx;
24852
- return /* @__PURE__ */ jsx196("div", { "aria-hidden": true, ...trussProps108({
24922
+ return /* @__PURE__ */ jsx196("div", { "aria-hidden": true, ...trussProps109({
24853
24923
  ...shell,
24854
24924
  ...outerPosition
24855
- }), children: /* @__PURE__ */ jsx196("div", { ...trussProps108({
24925
+ }), children: /* @__PURE__ */ jsx196("div", { ...trussProps109({
24856
24926
  height: "h_200",
24857
24927
  width: "w_200",
24858
24928
  position: "absolute",
@@ -24891,7 +24961,7 @@ var gridItemDataAttribute = "data-grid-item-span";
24891
24961
  var ResponsiveGridContext = createContext13(void 0);
24892
24962
 
24893
24963
  // src/components/Grid/ResponsiveGrid.tsx
24894
- import { trussProps as trussProps109 } from "@homebound/truss/runtime";
24964
+ import { trussProps as trussProps110 } from "@homebound/truss/runtime";
24895
24965
  import { jsx as jsx197 } from "react/jsx-runtime";
24896
24966
  function ResponsiveGrid(props) {
24897
24967
  const {
@@ -24912,12 +24982,12 @@ function ResponsiveGrid(props) {
24912
24982
  gap,
24913
24983
  columns
24914
24984
  }), [minColumnWidth, gap, columns]);
24915
- return /* @__PURE__ */ jsx197(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ jsx197("div", { ...trussProps109(gridStyles), children }) });
24985
+ return /* @__PURE__ */ jsx197(ResponsiveGridContext.Provider, { value: config, children: /* @__PURE__ */ jsx197("div", { ...trussProps110(gridStyles), children }) });
24916
24986
  }
24917
24987
 
24918
24988
  // src/components/Grid/ResponsiveGridItem.tsx
24919
24989
  import { mergeProps as mergeProps29 } from "react-aria";
24920
- import { trussProps as trussProps110 } from "@homebound/truss/runtime";
24990
+ import { trussProps as trussProps111 } from "@homebound/truss/runtime";
24921
24991
  import { jsx as jsx198 } from "react/jsx-runtime";
24922
24992
  function ResponsiveGridItem(props) {
24923
24993
  const {
@@ -24930,12 +25000,12 @@ function ResponsiveGridItem(props) {
24930
25000
  } = useResponsiveGridItem({
24931
25001
  colSpan
24932
25002
  });
24933
- return /* @__PURE__ */ jsx198("div", { ...mergeProps29(gridItemProps, trussProps110(gridItemStyles)), children });
25003
+ return /* @__PURE__ */ jsx198("div", { ...mergeProps29(gridItemProps, trussProps111(gridItemStyles)), children });
24934
25004
  }
24935
25005
 
24936
25006
  // src/components/Grid/useResponsiveGrid.ts
24937
25007
  import { useMemo as useMemo47 } from "react";
24938
- import { maybeCssVar as maybeCssVar53 } from "@homebound/truss/runtime";
25008
+ import { maybeCssVar as maybeCssVar54 } from "@homebound/truss/runtime";
24939
25009
  var __maybeInc24 = (inc) => {
24940
25010
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
24941
25011
  };
@@ -24954,11 +25024,11 @@ function useResponsiveGrid(props) {
24954
25024
  return {
24955
25025
  display: "dg",
24956
25026
  gridTemplateColumns: ["gtc_var", {
24957
- "--gridTemplateColumns": maybeCssVar53(gridTemplateColumns)
25027
+ "--gridTemplateColumns": maybeCssVar54(gridTemplateColumns)
24958
25028
  }],
24959
25029
  containerType: "ctis",
24960
25030
  gap: ["gap_var", {
24961
- "--gap": maybeCssVar53(__maybeInc24(gridGap))
25031
+ "--gap": maybeCssVar54(__maybeInc24(gridGap))
24962
25032
  }]
24963
25033
  };
24964
25034
  }, [minColumnWidth, gap, columns]);
@@ -25083,7 +25153,7 @@ function HbSpinnerProvider({
25083
25153
  // src/components/JumpLink.tsx
25084
25154
  import { useRef as useRef59 } from "react";
25085
25155
  import { mergeProps as mergeProps30, useFocusRing as useFocusRing16, useHover as useHover19, useLink } from "react-aria";
25086
- import { trussProps as trussProps111 } from "@homebound/truss/runtime";
25156
+ import { trussProps as trussProps112 } from "@homebound/truss/runtime";
25087
25157
  import { jsx as jsx200 } from "react/jsx-runtime";
25088
25158
  function JumpLink(props) {
25089
25159
  const {
@@ -25120,13 +25190,13 @@ function JumpLink(props) {
25120
25190
  e.preventDefault();
25121
25191
  const target = document.getElementById(href.replace(/^#/, ""));
25122
25192
  if (target) {
25123
- window.scrollTo({
25124
- top: target.getBoundingClientRect().top + window.scrollY,
25125
- behavior: "smooth"
25193
+ target.scrollIntoView({
25194
+ behavior: "smooth",
25195
+ block: "start"
25126
25196
  });
25127
25197
  }
25128
25198
  }
25129
- return /* @__PURE__ */ jsx200("a", { ref, ...mergeProps30(linkProps, focusProps, hoverProps), ...tid, ...trussProps111({
25199
+ return /* @__PURE__ */ jsx200("a", { ref, ...mergeProps30(linkProps, focusProps, hoverProps), ...tid, ...trussProps112({
25130
25200
  ...jumpLinkStyles.baseStyles,
25131
25201
  ...active && jumpLinkStyles.activeStyles,
25132
25202
  ...isHovered && !disabled && jumpLinkStyles.hoverStyles,
@@ -25183,7 +25253,7 @@ var jumpLinkStyles = {
25183
25253
  // src/components/MaxLines.tsx
25184
25254
  import { useLayoutEffect as useLayoutEffect9, useResizeObserver as useResizeObserver8 } from "@react-aria/utils";
25185
25255
  import { useCallback as useCallback33, useEffect as useEffect33, useRef as useRef60, useState as useState52 } from "react";
25186
- import { trussProps as trussProps112, maybeCssVar as maybeCssVar54 } from "@homebound/truss/runtime";
25256
+ import { trussProps as trussProps113, maybeCssVar as maybeCssVar55 } from "@homebound/truss/runtime";
25187
25257
  import { jsx as jsx201, jsxs as jsxs100 } from "react/jsx-runtime";
25188
25258
  function MaxLines({
25189
25259
  maxLines,
@@ -25208,10 +25278,10 @@ function MaxLines({
25208
25278
  onResize
25209
25279
  });
25210
25280
  return /* @__PURE__ */ jsxs100("div", { children: [
25211
- /* @__PURE__ */ jsx201("div", { ref: elRef, ...trussProps112({
25281
+ /* @__PURE__ */ jsx201("div", { ref: elRef, ...trussProps113({
25212
25282
  ...!expanded ? {
25213
25283
  WebkitLineClamp: ["lineClamp_var", {
25214
- "--WebkitLineClamp": maybeCssVar54(maxLines)
25284
+ "--WebkitLineClamp": maybeCssVar55(maxLines)
25215
25285
  }],
25216
25286
  overflow: "oh",
25217
25287
  display: "d_negwebkit_box",
@@ -25234,7 +25304,7 @@ import { useCallback as useCallback35, useEffect as useEffect34, useMemo as useM
25234
25304
  // src/components/AppNav/AppNavGroupTrigger.tsx
25235
25305
  import { useMemo as useMemo50, useRef as useRef61 } from "react";
25236
25306
  import { mergeProps as mergeProps31, useButton as useButton11, useFocusRing as useFocusRing17, useHover as useHover20 } from "react-aria";
25237
- import { trussProps as trussProps113, mergeProps as mergeProps_14 } from "@homebound/truss/runtime";
25307
+ import { trussProps as trussProps114, mergeProps as mergeProps_14 } from "@homebound/truss/runtime";
25238
25308
  import { jsx as jsx202, jsxs as jsxs101 } from "react/jsx-runtime";
25239
25309
  function AppNavGroupTrigger(props) {
25240
25310
  const {
@@ -25285,7 +25355,7 @@ function AppNavGroupTrigger(props) {
25285
25355
  })
25286
25356
  }), children: [
25287
25357
  label,
25288
- /* @__PURE__ */ jsx202("div", { ...trussProps113({
25358
+ /* @__PURE__ */ jsx202("div", { ...trussProps114({
25289
25359
  ...{
25290
25360
  display: "df",
25291
25361
  alignItems: "aic",
@@ -25438,7 +25508,7 @@ function useAppNavGroupExpanded(linkGroup) {
25438
25508
  }
25439
25509
 
25440
25510
  // src/components/AppNav/AppNavGroup.tsx
25441
- import { trussProps as trussProps114, maybeCssVar as maybeCssVar55 } from "@homebound/truss/runtime";
25511
+ import { trussProps as trussProps115, maybeCssVar as maybeCssVar56 } from "@homebound/truss/runtime";
25442
25512
  import { Fragment as Fragment45, jsx as jsx203, jsxs as jsxs102 } from "react/jsx-runtime";
25443
25513
  var __maybeInc25 = (inc) => {
25444
25514
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -25483,11 +25553,11 @@ function AppNavGroupDisclosure(props) {
25483
25553
  });
25484
25554
  return /* @__PURE__ */ jsxs102("div", { className: "df fdc", ...tid, children: [
25485
25555
  /* @__PURE__ */ jsx203(AppNavGroupTrigger, { label: linkGroup.label, navGroupId, expanded, active: linkGroupHasActiveLink(linkGroup), onClick: onToggle, ...tid }),
25486
- /* @__PURE__ */ jsx203("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...trussProps114({
25556
+ /* @__PURE__ */ jsx203("div", { id: navGroupId, role: "region", "aria-hidden": !expanded, ...trussProps115({
25487
25557
  overflow: "oh",
25488
25558
  transition: "transitionHeight",
25489
25559
  height: ["h_var", {
25490
- "--height": maybeCssVar55(__maybeInc25(contentHeight))
25560
+ "--height": maybeCssVar56(__maybeInc25(contentHeight))
25491
25561
  }]
25492
25562
  }), ...tid.panel, ...!expanded ? {
25493
25563
  inert: "true"
@@ -25517,7 +25587,7 @@ function AppNavGroupMenu({
25517
25587
  }
25518
25588
 
25519
25589
  // src/components/AppNav/AppNavSectionView.tsx
25520
- import { trussProps as trussProps115 } from "@homebound/truss/runtime";
25590
+ import { trussProps as trussProps116 } from "@homebound/truss/runtime";
25521
25591
  import { jsx as jsx205, jsxs as jsxs103 } from "react/jsx-runtime";
25522
25592
  function AppNavSectionView(props) {
25523
25593
  const {
@@ -25544,7 +25614,7 @@ function AppNavSectionView(props) {
25544
25614
  "--borderColor": "var(--b-surface-separator)"
25545
25615
  }]
25546
25616
  };
25547
- return /* @__PURE__ */ jsxs103("div", { ...trussProps115({
25617
+ return /* @__PURE__ */ jsxs103("div", { ...trussProps116({
25548
25618
  ...{
25549
25619
  display: "df",
25550
25620
  flexDirection: "fdc",
@@ -25552,7 +25622,7 @@ function AppNavSectionView(props) {
25552
25622
  },
25553
25623
  ...showDivider ? dividerStyles : {}
25554
25624
  }), ...tid, children: [
25555
- section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ jsx205("div", { ...trussProps115({
25625
+ section.label && !panelCollapsed && variant !== "global" && /* @__PURE__ */ jsx205("div", { ...trussProps116({
25556
25626
  fontWeight: "fw6",
25557
25627
  fontSize: "fz_10px",
25558
25628
  lineHeight: "lh_14px",
@@ -25653,7 +25723,7 @@ function useRegisterMobileSubNav(content) {
25653
25723
  }
25654
25724
 
25655
25725
  // src/components/Navbar/NavbarMobileMenu.tsx
25656
- import { trussProps as trussProps116, mergeProps as mergeProps32, maybeCssVar as maybeCssVar56 } from "@homebound/truss/runtime";
25726
+ import { trussProps as trussProps117, mergeProps as mergeProps32, maybeCssVar as maybeCssVar57 } from "@homebound/truss/runtime";
25657
25727
  import { Fragment as Fragment47, jsx as jsx208, jsxs as jsxs104 } from "react/jsx-runtime";
25658
25728
  function NavbarMobileMenu(props) {
25659
25729
  const {
@@ -25710,7 +25780,7 @@ function NavbarMobileDrawer({
25710
25780
  bottom: "bottom0",
25711
25781
  left: "left0",
25712
25782
  zIndex: ["z_var", {
25713
- "--zIndex": maybeCssVar56(zIndices.navbarMobileMenuScrim)
25783
+ "--zIndex": maybeCssVar57(zIndices.navbarMobileMenuScrim)
25714
25784
  }],
25715
25785
  backgroundColor: ["bgColor_var", {
25716
25786
  "--backgroundColor": "var(--b-scrim)"
@@ -25735,7 +25805,7 @@ function NavbarMobileDrawer({
25735
25805
  width: "w_260px",
25736
25806
  overflow: "oh",
25737
25807
  zIndex: ["z_var", {
25738
- "--zIndex": maybeCssVar56(zIndices.navbarMobileMenu)
25808
+ "--zIndex": maybeCssVar57(zIndices.navbarMobileMenu)
25739
25809
  }],
25740
25810
  backgroundColor: ["bgColor_var", {
25741
25811
  "--backgroundColor": "var(--b-surface)"
@@ -25750,7 +25820,7 @@ function NavbarMobileDrawer({
25750
25820
  ease: "linear",
25751
25821
  duration: 0.2
25752
25822
  }, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
25753
- /* @__PURE__ */ jsxs104("div", { ...trussProps116({
25823
+ /* @__PURE__ */ jsxs104("div", { ...trussProps117({
25754
25824
  ...{
25755
25825
  display: "df",
25756
25826
  alignItems: "aic",
@@ -25772,7 +25842,7 @@ function NavbarMobileDrawer({
25772
25842
  /* @__PURE__ */ jsx208("div", { className: "fg1 mh0 oh relative", children: /* @__PURE__ */ jsx208(AnimatePresence6, { initial: false, children: /* @__PURE__ */ jsxs104(
25773
25843
  motion6.nav,
25774
25844
  {
25775
- ...trussProps116({
25845
+ ...trussProps117({
25776
25846
  ...{
25777
25847
  position: "absolute",
25778
25848
  top: "top0",
@@ -25820,7 +25890,7 @@ function NavbarMobileDrawer({
25820
25890
  }
25821
25891
 
25822
25892
  // src/components/Navbar/Navbar.tsx
25823
- import { trussProps as trussProps117 } from "@homebound/truss/runtime";
25893
+ import { trussProps as trussProps118 } from "@homebound/truss/runtime";
25824
25894
  import { jsx as jsx209, jsxs as jsxs105 } from "react/jsx-runtime";
25825
25895
  function Navbar(props) {
25826
25896
  const {
@@ -25840,7 +25910,7 @@ function Navbar(props) {
25840
25910
  overflows
25841
25911
  } = useContentOverflow(!sm);
25842
25912
  const showMobile = sm || overflows;
25843
- return /* @__PURE__ */ jsx209(ContrastScope, { children: /* @__PURE__ */ jsxs105("nav", { ...trussProps117({
25913
+ return /* @__PURE__ */ jsx209(ContrastScope, { children: /* @__PURE__ */ jsxs105("nav", { ...trussProps118({
25844
25914
  ...{
25845
25915
  backgroundColor: ["bgColor_var", {
25846
25916
  "--backgroundColor": "var(--b-surface-raised)"
@@ -25859,7 +25929,7 @@ function Navbar(props) {
25859
25929
  /* @__PURE__ */ jsxs105("div", { className: "df aic gap3 fg1 mw0", children: [
25860
25930
  /* @__PURE__ */ jsxs105("div", { className: "df aic fs0 gap2", children: [
25861
25931
  showMobile && /* @__PURE__ */ jsx209(NavbarMobileMenu, { items, ...tid }),
25862
- /* @__PURE__ */ jsx209("div", { ...trussProps117({
25932
+ /* @__PURE__ */ jsx209("div", { ...trussProps118({
25863
25933
  flexShrink: "fs0",
25864
25934
  ...hideBrandOnMobile && showMobile ? {
25865
25935
  display: "dn"
@@ -25868,7 +25938,7 @@ function Navbar(props) {
25868
25938
  ] }),
25869
25939
  !sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
25870
25940
  // can expand again as space frees up.
25871
- /* @__PURE__ */ jsx209("div", { ref: containerRef, ...trussProps117({
25941
+ /* @__PURE__ */ jsx209("div", { ref: containerRef, ...trussProps118({
25872
25942
  display: "df",
25873
25943
  alignItems: "aic",
25874
25944
  flexGrow: "fg1",
@@ -25898,7 +25968,7 @@ function NavbarUserMenu({
25898
25968
  }
25899
25969
 
25900
25970
  // src/components/Pagination.tsx
25901
- import { trussProps as trussProps118 } from "@homebound/truss/runtime";
25971
+ import { trussProps as trussProps119 } from "@homebound/truss/runtime";
25902
25972
  import { jsx as jsx210, jsxs as jsxs106 } from "react/jsx-runtime";
25903
25973
  var defaultPage = {
25904
25974
  offset: 0,
@@ -25931,7 +26001,7 @@ function Pagination(props) {
25931
26001
  }
25932
26002
  }
25933
26003
  const tid = useTestIds(props, "pagination");
25934
- return /* @__PURE__ */ jsxs106("div", { ...trussProps118({
26004
+ return /* @__PURE__ */ jsxs106("div", { ...trussProps119({
25935
26005
  display: "df",
25936
26006
  borderColor: ["bc_var", {
25937
26007
  "--borderColor": "var(--b-surface-separator)"
@@ -25989,7 +26059,7 @@ function toPageNumberSize(page) {
25989
26059
  // src/components/ScrollShadows.tsx
25990
26060
  import { useResizeObserver as useResizeObserver10 } from "@react-aria/utils";
25991
26061
  import { useCallback as useCallback36, useMemo as useMemo53, useRef as useRef62, useState as useState57 } from "react";
25992
- import { trussProps as trussProps119, maybeCssVar as maybeCssVar57 } from "@homebound/truss/runtime";
26062
+ import { trussProps as trussProps120, maybeCssVar as maybeCssVar58 } from "@homebound/truss/runtime";
25993
26063
  import { jsx as jsx211, jsxs as jsxs107 } from "react/jsx-runtime";
25994
26064
  function ScrollShadows(props) {
25995
26065
  const {
@@ -26014,7 +26084,7 @@ function ScrollShadows(props) {
26014
26084
  const commonStyles = {
26015
26085
  position: "absolute",
26016
26086
  zIndex: ["z_var", {
26017
- "--zIndex": maybeCssVar57(zIndices.scrollShadow)
26087
+ "--zIndex": maybeCssVar58(zIndices.scrollShadow)
26018
26088
  }],
26019
26089
  pointerEvents: "pointerEvents_none"
26020
26090
  };
@@ -26047,7 +26117,7 @@ function ScrollShadows(props) {
26047
26117
  ...startShadowStyles2,
26048
26118
  ...{
26049
26119
  background: ["background_var", {
26050
- "--background": maybeCssVar57(startGradient)
26120
+ "--background": maybeCssVar58(startGradient)
26051
26121
  }]
26052
26122
  }
26053
26123
  }, {
@@ -26055,7 +26125,7 @@ function ScrollShadows(props) {
26055
26125
  ...endShadowStyles2,
26056
26126
  ...{
26057
26127
  background: ["background_var", {
26058
- "--background": maybeCssVar57(endGradient)
26128
+ "--background": maybeCssVar58(endGradient)
26059
26129
  }]
26060
26130
  }
26061
26131
  }];
@@ -26080,10 +26150,10 @@ function ScrollShadows(props) {
26080
26150
  ref: scrollRef,
26081
26151
  onResize
26082
26152
  });
26083
- return /* @__PURE__ */ jsxs107("div", { ...trussProps119({
26153
+ return /* @__PURE__ */ jsxs107("div", { ...trussProps120({
26084
26154
  display: "df",
26085
26155
  flexDirection: ["fd_var", {
26086
- "--flexDirection": maybeCssVar57(!horizontal ? "column" : "row")
26156
+ "--flexDirection": maybeCssVar58(!horizontal ? "column" : "row")
26087
26157
  }],
26088
26158
  position: "relative",
26089
26159
  overflow: "oh",
@@ -26096,23 +26166,23 @@ function ScrollShadows(props) {
26096
26166
  width: width2
26097
26167
  }
26098
26168
  }), ...tid, children: [
26099
- /* @__PURE__ */ jsx211("div", { ...trussProps119({
26169
+ /* @__PURE__ */ jsx211("div", { ...trussProps120({
26100
26170
  ...startShadowStyles,
26101
26171
  ...{
26102
26172
  opacity: ["o_var", {
26103
- "--opacity": maybeCssVar57(showStartShadow ? 1 : 0)
26173
+ "--opacity": maybeCssVar58(showStartShadow ? 1 : 0)
26104
26174
  }]
26105
26175
  }
26106
26176
  }), "data-chromatic": "ignore" }),
26107
- /* @__PURE__ */ jsx211("div", { ...trussProps119({
26177
+ /* @__PURE__ */ jsx211("div", { ...trussProps120({
26108
26178
  ...endShadowStyles,
26109
26179
  ...{
26110
26180
  opacity: ["o_var", {
26111
- "--opacity": maybeCssVar57(showEndShadow ? 1 : 0)
26181
+ "--opacity": maybeCssVar58(showEndShadow ? 1 : 0)
26112
26182
  }]
26113
26183
  }
26114
26184
  }), "data-chromatic": "ignore" }),
26115
- /* @__PURE__ */ jsx211("div", { ...trussProps119({
26185
+ /* @__PURE__ */ jsx211("div", { ...trussProps120({
26116
26186
  ...xss,
26117
26187
  ...{
26118
26188
  overflow: "oa",
@@ -26192,7 +26262,7 @@ function useHasSideNavLayoutProvider() {
26192
26262
  }
26193
26263
 
26194
26264
  // src/components/SideNav/SideNav.tsx
26195
- import { trussProps as trussProps120 } from "@homebound/truss/runtime";
26265
+ import { trussProps as trussProps121 } from "@homebound/truss/runtime";
26196
26266
  import { jsx as jsx213, jsxs as jsxs108 } from "react/jsx-runtime";
26197
26267
  function SideNav(props) {
26198
26268
  const {
@@ -26207,7 +26277,7 @@ function SideNav(props) {
26207
26277
  const panelCollapsed = navState === "collapse";
26208
26278
  const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
26209
26279
  return /* @__PURE__ */ jsxs108("nav", { className: "df fdc h100 fs0", ...tid, children: [
26210
- top !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps120({
26280
+ top !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps121({
26211
26281
  flexShrink: "fs0",
26212
26282
  paddingLeft: "pl2",
26213
26283
  paddingRight: "pr2",
@@ -26218,7 +26288,7 @@ function SideNav(props) {
26218
26288
  paddingBottom: "pb4"
26219
26289
  } : {}
26220
26290
  }), ...tid.top, children: top }),
26221
- /* @__PURE__ */ jsx213("div", { ...trussProps120({
26291
+ /* @__PURE__ */ jsx213("div", { ...trussProps121({
26222
26292
  flexGrow: "fg1",
26223
26293
  overflowY: "oya",
26224
26294
  display: "df",
@@ -26231,7 +26301,7 @@ function SideNav(props) {
26231
26301
  paddingTop: "pt5"
26232
26302
  } : {}
26233
26303
  }), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ jsx213(AppNavItems, { items, panelCollapsed }) }),
26234
- footer !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps120({
26304
+ footer !== void 0 && /* @__PURE__ */ jsx213("div", { ...trussProps121({
26235
26305
  flexShrink: "fs0",
26236
26306
  paddingLeft: "pl2",
26237
26307
  paddingRight: "pr2",
@@ -26308,7 +26378,7 @@ var snackbarId = 1;
26308
26378
  // src/components/Stepper.tsx
26309
26379
  import { useRef as useRef64 } from "react";
26310
26380
  import { useButton as useButton12, useFocusRing as useFocusRing18, useHover as useHover21 } from "react-aria";
26311
- import { trussProps as trussProps121, maybeCssVar as maybeCssVar58 } from "@homebound/truss/runtime";
26381
+ import { trussProps as trussProps122, maybeCssVar as maybeCssVar59 } from "@homebound/truss/runtime";
26312
26382
  import { jsx as jsx214, jsxs as jsxs109 } from "react/jsx-runtime";
26313
26383
  import { createElement as createElement6 } from "react";
26314
26384
  var __maybeInc26 = (inc) => {
@@ -26329,7 +26399,7 @@ function Stepper(props) {
26329
26399
  const minStepWidth = 100;
26330
26400
  const gap = 8;
26331
26401
  return /* @__PURE__ */ jsxs109("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
26332
- /* @__PURE__ */ jsx214("ol", { ...trussProps121({
26402
+ /* @__PURE__ */ jsx214("ol", { ...trussProps122({
26333
26403
  padding: "p_0",
26334
26404
  margin: "m_0",
26335
26405
  listStyle: "lis_none",
@@ -26339,7 +26409,7 @@ function Stepper(props) {
26339
26409
  }]
26340
26410
  }), children: steps.map((step) => {
26341
26411
  const isCurrent = currentStep === step.value;
26342
- return /* @__PURE__ */ createElement6("li", { ...trussProps121({
26412
+ return /* @__PURE__ */ createElement6("li", { ...trussProps122({
26343
26413
  display: "df",
26344
26414
  flexGrow: "fg1",
26345
26415
  flexDirection: "fdc",
@@ -26351,7 +26421,7 @@ function Stepper(props) {
26351
26421
  }]
26352
26422
  }), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ jsx214(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
26353
26423
  }) }),
26354
- /* @__PURE__ */ jsx214("div", { ...trussProps121({
26424
+ /* @__PURE__ */ jsx214("div", { ...trussProps122({
26355
26425
  marginTop: "mt1",
26356
26426
  backgroundColor: ["bgColor_var", {
26357
26427
  "--backgroundColor": "var(--b-field-border-default)"
@@ -26364,14 +26434,14 @@ function Stepper(props) {
26364
26434
  "--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
26365
26435
  }],
26366
26436
  width: "w100"
26367
- }), children: /* @__PURE__ */ jsx214("div", { ...trussProps121({
26437
+ }), children: /* @__PURE__ */ jsx214("div", { ...trussProps122({
26368
26438
  backgroundColor: ["bgColor_var", {
26369
26439
  "--backgroundColor": "var(--b-primary)"
26370
26440
  }],
26371
26441
  transition: "transition_width_200ms",
26372
26442
  height: "h100",
26373
26443
  width: ["w_var", {
26374
- "--width": maybeCssVar58(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26444
+ "--width": maybeCssVar59(__maybeInc26(`${(lastCompletedStep + 1) / steps.length * 100}%`))
26375
26445
  }]
26376
26446
  }) }) })
26377
26447
  ] });
@@ -26407,7 +26477,7 @@ function StepButton(props) {
26407
26477
  boxShadow: "bshFocus"
26408
26478
  };
26409
26479
  const tid = useTestIds(props, "stepButton");
26410
- return /* @__PURE__ */ jsxs109("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps121({
26480
+ return /* @__PURE__ */ jsxs109("button", { ref, ...buttonProps, ...focusProps, ...hoverProps, ...trussProps122({
26411
26481
  ...{
26412
26482
  fontWeight: "fw6",
26413
26483
  fontSize: "fz_14px",
@@ -26484,7 +26554,7 @@ function StepIcon({
26484
26554
  if (state === "complete") {
26485
26555
  return /* @__PURE__ */ jsx214(Icon, { icon: "check" });
26486
26556
  }
26487
- return /* @__PURE__ */ jsx214("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx214("div", { ...trussProps121({
26557
+ return /* @__PURE__ */ jsx214("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx214("div", { ...trussProps122({
26488
26558
  width: "w_10px",
26489
26559
  height: "h_10px",
26490
26560
  borderStyle: "bss",
@@ -26500,7 +26570,7 @@ function StepIcon({
26500
26570
  // src/components/StepperTabs/StepperTab.tsx
26501
26571
  import { useRef as useRef65 } from "react";
26502
26572
  import { mergeProps as mergeProps33, useButton as useButton13, useFocusRing as useFocusRing19, useHover as useHover22, VisuallyHidden as VisuallyHidden10 } from "react-aria";
26503
- import { trussProps as trussProps122 } from "@homebound/truss/runtime";
26573
+ import { trussProps as trussProps123 } from "@homebound/truss/runtime";
26504
26574
  import { Fragment as Fragment48, jsx as jsx215, jsxs as jsxs110 } from "react/jsx-runtime";
26505
26575
  function StepperTab(props) {
26506
26576
  const {
@@ -26532,7 +26602,7 @@ function StepperTab(props) {
26532
26602
  const isHovered = __storyState?.hovered ?? isHoveredFromEvents;
26533
26603
  const isFocusVisible = __storyState?.focusVisible ?? isFocusVisibleFromEvents;
26534
26604
  const tid = useTestIds(props, "stepperTab");
26535
- return /* @__PURE__ */ jsxs110("button", { ref, ...mergeProps33(buttonProps, focusProps, hoverProps), "aria-label": label, ...trussProps122({
26605
+ return /* @__PURE__ */ jsxs110("button", { ref, ...mergeProps33(buttonProps, focusProps, hoverProps), "aria-label": label, ...trussProps123({
26536
26606
  ...stepperTabStyles.baseStyles,
26537
26607
  ...getStateStyles(active, completed),
26538
26608
  ...isHovered && !disabled ? stepperTabStyles.hoverStyles : {},
@@ -26543,7 +26613,7 @@ function StepperTab(props) {
26543
26613
  !collapsed && /* @__PURE__ */ jsxs110(Fragment48, { children: [
26544
26614
  /* @__PURE__ */ jsxs110("span", { className: "dg jic mw0", children: [
26545
26615
  /* @__PURE__ */ jsx215("span", { className: "fw6 fz_14px lh_20px visibility_hidden gridArea_1_1 oh d_negwebkit_box wbo_vertical to_ellipsis wlc_1 wordBreak_break_all", "aria-hidden": true, children: label }),
26546
- /* @__PURE__ */ jsx215("span", { ...trussProps122({
26616
+ /* @__PURE__ */ jsx215("span", { ...trussProps123({
26547
26617
  gridArea: "gridArea_1_1",
26548
26618
  overflow: "oh",
26549
26619
  display: "d_negwebkit_box",
@@ -26558,7 +26628,7 @@ function StepperTab(props) {
26558
26628
  } : {}
26559
26629
  }), children: label })
26560
26630
  ] }),
26561
- /* @__PURE__ */ jsx215("span", { ...trussProps122({
26631
+ /* @__PURE__ */ jsx215("span", { ...trussProps123({
26562
26632
  flexShrink: "fs0",
26563
26633
  marginLeft: "ml1",
26564
26634
  transition: "transitionAll",
@@ -26570,7 +26640,7 @@ function StepperTab(props) {
26570
26640
  } : {}
26571
26641
  }), children: /* @__PURE__ */ jsx215(Icon, { icon: "check", inc: 2.5, ...tid.check }) })
26572
26642
  ] }),
26573
- /* @__PURE__ */ jsx215("span", { "aria-hidden": true, ...trussProps122(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
26643
+ /* @__PURE__ */ jsx215("span", { "aria-hidden": true, ...trussProps123(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
26574
26644
  /* @__PURE__ */ jsx215(VisuallyHidden10, { children: completed ? "Complete" : "Not Complete" })
26575
26645
  ] });
26576
26646
  }
@@ -26652,7 +26722,7 @@ var stepperTabStyles = {
26652
26722
  };
26653
26723
 
26654
26724
  // src/components/StepperTabs/StepperTabs.tsx
26655
- import { trussProps as trussProps123 } from "@homebound/truss/runtime";
26725
+ import { trussProps as trussProps124 } from "@homebound/truss/runtime";
26656
26726
  import { jsx as jsx216 } from "react/jsx-runtime";
26657
26727
  import { createElement as createElement7 } from "react";
26658
26728
  function StepperTabs(props) {
@@ -26669,7 +26739,7 @@ function StepperTabs(props) {
26669
26739
  const collapsed = isMobile || !!forceCollapsed;
26670
26740
  const capWidth = steps.length <= 3;
26671
26741
  const currentStepIndex = Math.max(0, steps.findIndex((step) => step.value === currentStep));
26672
- return /* @__PURE__ */ jsx216("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ jsx216("ol", { ...trussProps123({
26742
+ return /* @__PURE__ */ jsx216("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ jsx216("ol", { ...trussProps124({
26673
26743
  padding: "p_0",
26674
26744
  margin: "m_0",
26675
26745
  listStyle: "lis_none",
@@ -26684,7 +26754,7 @@ function StepperTabs(props) {
26684
26754
  }), children: steps.map((step, idx) => {
26685
26755
  const isCurrent = idx === currentStepIndex;
26686
26756
  const isCompleted = idx < currentStepIndex;
26687
- return /* @__PURE__ */ createElement7("li", { ...trussProps123({
26757
+ return /* @__PURE__ */ createElement7("li", { ...trussProps124({
26688
26758
  display: "df",
26689
26759
  flexGrow: "fg1",
26690
26760
  flexBasis: "fb_0",
@@ -26704,7 +26774,7 @@ var gapPx = 6;
26704
26774
 
26705
26775
  // src/components/SuperDrawer/components/SuperDrawerHeader.tsx
26706
26776
  import { createPortal as createPortal8 } from "react-dom";
26707
- import { trussProps as trussProps124 } from "@homebound/truss/runtime";
26777
+ import { trussProps as trussProps125 } from "@homebound/truss/runtime";
26708
26778
  import { jsx as jsx217, jsxs as jsxs111 } from "react/jsx-runtime";
26709
26779
  function SuperDrawerHeader(props) {
26710
26780
  const {
@@ -26730,7 +26800,7 @@ function SuperDrawerHeader(props) {
26730
26800
  ] }),
26731
26801
  props.right && /* @__PURE__ */ jsx217("div", { className: "fs0", children: props.right })
26732
26802
  ] }) : /* @__PURE__ */ jsx217("div", { className: "fg1", children: props.children }),
26733
- !hideControls && /* @__PURE__ */ jsx217("div", { ...trussProps124({
26803
+ !hideControls && /* @__PURE__ */ jsx217("div", { ...trussProps125({
26734
26804
  flexShrink: "fs0",
26735
26805
  ...isDetail ? {
26736
26806
  visibility: "vh"
@@ -26882,7 +26952,7 @@ function canClose(canCloseCheck) {
26882
26952
  }
26883
26953
 
26884
26954
  // src/components/SuperDrawer/SuperDrawerContent.tsx
26885
- import { trussProps as trussProps125, mergeProps as mergeProps34 } from "@homebound/truss/runtime";
26955
+ import { trussProps as trussProps126, mergeProps as mergeProps34 } from "@homebound/truss/runtime";
26886
26956
  import { Fragment as Fragment49, jsx as jsx219, jsxs as jsxs112 } from "react/jsx-runtime";
26887
26957
  var SuperDrawerContent = ({
26888
26958
  children,
@@ -26948,7 +27018,7 @@ var SuperDrawerContent = ({
26948
27018
  }
26949
27019
  return /* @__PURE__ */ jsxs112(Fragment49, { children: [
26950
27020
  wrapWithMotionAndMaybeBack(children),
26951
- actions && /* @__PURE__ */ jsx219("footer", { ...trussProps125({
27021
+ actions && /* @__PURE__ */ jsx219("footer", { ...trussProps126({
26952
27022
  borderTopStyle: "bts_solid",
26953
27023
  borderTopWidth: "btw_1px",
26954
27024
  borderColor: ["bc_var", {
@@ -27021,7 +27091,7 @@ import { useEffect as useEffect38, useMemo as useMemo56, useRef as useRef66, use
27021
27091
  import { mergeProps as mergeProps35, useFocusRing as useFocusRing20, useHover as useHover23 } from "react-aria";
27022
27092
  import { matchPath } from "react-router";
27023
27093
  import { Link as Link7, useLocation as useLocation2 } from "react-router-dom";
27024
- import { trussProps as trussProps126, maybeCssVar as maybeCssVar59 } from "@homebound/truss/runtime";
27094
+ import { trussProps as trussProps127, maybeCssVar as maybeCssVar60 } from "@homebound/truss/runtime";
27025
27095
  import { Fragment as Fragment50, jsx as jsx220, jsxs as jsxs113 } from "react/jsx-runtime";
27026
27096
  function TabsWithContent(props) {
27027
27097
  const styles = hideTabs(props) ? {} : {
@@ -27054,7 +27124,7 @@ function TabContent(props) {
27054
27124
  return (
27055
27125
  // Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
27056
27126
  // Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
27057
- /* @__PURE__ */ jsx220(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx220("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps126(contentXss), children: selectedTab.render() }) })
27127
+ /* @__PURE__ */ jsx220(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx220("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps127(contentXss), children: selectedTab.render() }) })
27058
27128
  );
27059
27129
  }
27060
27130
  function Tabs(props) {
@@ -27096,7 +27166,7 @@ function Tabs(props) {
27096
27166
  setActive(selected);
27097
27167
  }
27098
27168
  }
27099
- return /* @__PURE__ */ jsxs113("div", { ...trussProps126({
27169
+ return /* @__PURE__ */ jsxs113("div", { ...trussProps127({
27100
27170
  ...{
27101
27171
  display: "df",
27102
27172
  alignItems: "aic",
@@ -27162,7 +27232,7 @@ function TabImpl(props) {
27162
27232
  role: "tab",
27163
27233
  tabIndex: active ? 0 : -1,
27164
27234
  ...others,
27165
- ...trussProps126({
27235
+ ...trussProps127({
27166
27236
  ...baseStyles4,
27167
27237
  ...active && activeStyles3,
27168
27238
  ...isDisabled && disabledStyles3,
@@ -27199,7 +27269,7 @@ function getTabStyles() {
27199
27269
  const borderBottomStyles = {
27200
27270
  borderBottomStyle: "bbs_solid",
27201
27271
  borderBottomWidth: ["borderBottomWidth_var", {
27202
- "--borderBottomWidth": maybeCssVar59(`${borderBottomWidthPx}px`)
27272
+ "--borderBottomWidth": maybeCssVar60(`${borderBottomWidthPx}px`)
27203
27273
  }],
27204
27274
  paddingBottom: ["pb_var", {
27205
27275
  "--paddingBottom": `${verticalPaddingPx - borderBottomWidthPx}px`
@@ -27319,7 +27389,7 @@ function useToast() {
27319
27389
  }
27320
27390
 
27321
27391
  // src/layouts/SideNavLayout/SideNavLayout.tsx
27322
- import { trussProps as trussProps127, mergeProps as mergeProps36, maybeCssVar as maybeCssVar60 } from "@homebound/truss/runtime";
27392
+ import { trussProps as trussProps128, mergeProps as mergeProps36, maybeCssVar as maybeCssVar61 } from "@homebound/truss/runtime";
27323
27393
  import { jsx as jsx222, jsxs as jsxs115 } from "react/jsx-runtime";
27324
27394
  var __maybeInc27 = (inc) => {
27325
27395
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27350,7 +27420,7 @@ function SideNavLayoutContent(props) {
27350
27420
  const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
27351
27421
  const navTop = bannerAndNavbarChromeTop();
27352
27422
  const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
27353
- const rail = showRail && /* @__PURE__ */ jsxs115("div", { ...trussProps127({
27423
+ const rail = showRail && /* @__PURE__ */ jsxs115("div", { ...trussProps128({
27354
27424
  ...{
27355
27425
  display: "df",
27356
27426
  flexDirection: "fdc",
@@ -27374,14 +27444,14 @@ function SideNavLayoutContent(props) {
27374
27444
  position: "sticky",
27375
27445
  left: "left0",
27376
27446
  zIndex: ["z_var", {
27377
- "--zIndex": maybeCssVar60(zIndices.sideNav)
27447
+ "--zIndex": maybeCssVar61(zIndices.sideNav)
27378
27448
  }],
27379
27449
  top: ["top_var", {
27380
- "--top": maybeCssVar60(__maybeInc27(navTop))
27450
+ "--top": maybeCssVar61(__maybeInc27(navTop))
27381
27451
  }],
27382
27452
  alignSelf: "asfs",
27383
27453
  height: ["h_var", {
27384
- "--height": maybeCssVar60(__maybeInc27(railViewportHeight))
27454
+ "--height": maybeCssVar61(__maybeInc27(railViewportHeight))
27385
27455
  }],
27386
27456
  width: ["w_var", {
27387
27457
  "--width": `${collapsed ? railCollapsedWidthPx : railWidthPx}px`
@@ -27391,11 +27461,11 @@ function SideNavLayoutContent(props) {
27391
27461
  position: "fixed",
27392
27462
  left: "left0",
27393
27463
  top: ["top_var", {
27394
- "--top": maybeCssVar60(__maybeInc27(navTop))
27464
+ "--top": maybeCssVar61(__maybeInc27(navTop))
27395
27465
  }],
27396
27466
  bottom: "bottom0",
27397
27467
  zIndex: ["z_var", {
27398
- "--zIndex": maybeCssVar60(zIndices.sideNav)
27468
+ "--zIndex": maybeCssVar61(zIndices.sideNav)
27399
27469
  }]
27400
27470
  },
27401
27471
  ...collapsed ? {
@@ -27418,7 +27488,7 @@ function SideNavLayoutContent(props) {
27418
27488
  width: "w100"
27419
27489
  }), ...tid, children: [
27420
27490
  contrastRail ? /* @__PURE__ */ jsx222(ContrastScope, { children: rail }) : rail,
27421
- /* @__PURE__ */ jsx222("div", { ...trussProps127({
27491
+ /* @__PURE__ */ jsx222("div", { ...trussProps128({
27422
27492
  display: "df",
27423
27493
  flexDirection: "fdc",
27424
27494
  flexGrow: "fg1",
@@ -27434,7 +27504,7 @@ function SideNavLayoutContent(props) {
27434
27504
  }
27435
27505
 
27436
27506
  // src/layouts/CenteredLayout/CenteredLayout.tsx
27437
- import { mergeProps as mergeProps37, maybeCssVar as maybeCssVar61 } from "@homebound/truss/runtime";
27507
+ import { mergeProps as mergeProps37, maybeCssVar as maybeCssVar62 } from "@homebound/truss/runtime";
27438
27508
  import { jsx as jsx223 } from "react/jsx-runtime";
27439
27509
  var __maybeInc28 = (inc) => {
27440
27510
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27476,15 +27546,15 @@ var smContentPaddingX = "12px";
27476
27546
  var mdAndUpContentPaddingX = pageContentPaddingXValue;
27477
27547
  var centeredPaddingX = {
27478
27548
  paddingLeft: ["px_var mdandup_pl3", {
27479
- "--paddingLeft": maybeCssVar61(__maybeInc28(smContentPaddingX))
27549
+ "--paddingLeft": maybeCssVar62(__maybeInc28(smContentPaddingX))
27480
27550
  }],
27481
27551
  paddingRight: ["px_var mdandup_pr3", {
27482
- "--paddingRight": maybeCssVar61(__maybeInc28(smContentPaddingX))
27552
+ "--paddingRight": maybeCssVar62(__maybeInc28(smContentPaddingX))
27483
27553
  }]
27484
27554
  };
27485
27555
 
27486
27556
  // src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
27487
- import { trussProps as trussProps128, mergeProps as mergeProps38, maybeCssVar as maybeCssVar62 } from "@homebound/truss/runtime";
27557
+ import { trussProps as trussProps129, mergeProps as mergeProps38, maybeCssVar as maybeCssVar63 } from "@homebound/truss/runtime";
27488
27558
  import { jsx as jsx224, jsxs as jsxs116 } from "react/jsx-runtime";
27489
27559
  var __maybeInc29 = (inc) => {
27490
27560
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27512,15 +27582,15 @@ function EnvironmentBannerLayout(props) {
27512
27582
  }, {
27513
27583
  flexShrink: "fs0",
27514
27584
  width: "w100"
27515
- }), children: /* @__PURE__ */ jsx224("div", { ...trussProps128({
27585
+ }), children: /* @__PURE__ */ jsx224("div", { ...trussProps129({
27516
27586
  position: "fixed",
27517
27587
  top: "top0",
27518
27588
  left: "left0",
27519
27589
  zIndex: ["z_var", {
27520
- "--zIndex": maybeCssVar62(zIndices.environmentBanner)
27590
+ "--zIndex": maybeCssVar63(zIndices.environmentBanner)
27521
27591
  }],
27522
27592
  width: ["w_var", {
27523
- "--width": maybeCssVar62(__maybeInc29(innerWidth))
27593
+ "--width": maybeCssVar63(__maybeInc29(innerWidth))
27524
27594
  }]
27525
27595
  }), ...tid.bannerSticky, children: /* @__PURE__ */ jsx224(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
27526
27596
  children
@@ -27528,6 +27598,7 @@ function EnvironmentBannerLayout(props) {
27528
27598
  }
27529
27599
 
27530
27600
  // src/layouts/FormSectionLayout/FormSectionLayout.tsx
27601
+ import { trussProps as trussProps130 } from "@homebound/truss/runtime";
27531
27602
  import { jsx as jsx225, jsxs as jsxs117 } from "react/jsx-runtime";
27532
27603
  function FormSectionLayout(props) {
27533
27604
  const {
@@ -27536,21 +27607,33 @@ function FormSectionLayout(props) {
27536
27607
  actions,
27537
27608
  withAutoSave,
27538
27609
  initialFields,
27539
- sections
27610
+ sections,
27611
+ aiMode = false
27540
27612
  } = props;
27541
27613
  const tid = useTestIds(props, "formSectionLayout");
27542
- return /* @__PURE__ */ jsx225(CenteredLayout, { size: "sm", children: /* @__PURE__ */ jsxs117("div", { className: "df fdc gap8 pt4", children: [
27614
+ const content = /* @__PURE__ */ jsxs117("div", { ...trussProps130({
27615
+ display: "df",
27616
+ flexDirection: "fdc",
27617
+ gap: "gap8",
27618
+ ...aiMode ? {
27619
+ paddingTop: "pt3",
27620
+ paddingBottom: "pb3",
27621
+ paddingRight: "pr3",
27622
+ paddingLeft: "pl3"
27623
+ } : {}
27624
+ }), children: [
27543
27625
  /* @__PURE__ */ jsxs117("div", { className: "df fdc gap3", children: [
27544
- /* @__PURE__ */ jsx225(ContentHeader, { ...tid, title, description, actions, withAutoSave, level: 2 }),
27626
+ /* @__PURE__ */ jsx225(ContentHeader, { ...tid, title, description, actions, withAutoSave, level: 2, aiMode }),
27545
27627
  initialFields
27546
27628
  ] }),
27547
27629
  sections && /* @__PURE__ */ jsx225("div", { className: "df fdc gap8", children: sections.map((section, i) => /* @__PURE__ */ jsx225(FormSection, { ...section }, defaultTestId(section.title) || i)) })
27548
- ] }) });
27630
+ ] });
27631
+ return /* @__PURE__ */ jsx225(CenteredLayout, { size: "sm", children: aiMode ? /* @__PURE__ */ jsx225(AiCard, { size: "lg", ...tid, children: content }) : content });
27549
27632
  }
27550
27633
 
27551
27634
  // src/layouts/NavbarLayout/NavbarLayout.tsx
27552
27635
  import { useMemo as useMemo57, useRef as useRef68 } from "react";
27553
- import { mergeProps as mergeProps39, maybeCssVar as maybeCssVar63 } from "@homebound/truss/runtime";
27636
+ import { mergeProps as mergeProps39, maybeCssVar as maybeCssVar64 } from "@homebound/truss/runtime";
27554
27637
 
27555
27638
  // src/layouts/useAutoHideOnScroll.ts
27556
27639
  import { useLayoutEffect as useLayoutEffect11, useRef as useRef67, useState as useState60 } from "react";
@@ -27700,10 +27783,10 @@ function NavbarLayout(props) {
27700
27783
  position: "sticky",
27701
27784
  left: "left0",
27702
27785
  zIndex: ["z_var", {
27703
- "--zIndex": maybeCssVar63(zIndices.navbar)
27786
+ "--zIndex": maybeCssVar64(zIndices.navbar)
27704
27787
  }],
27705
27788
  width: ["w_var", {
27706
- "--width": maybeCssVar63(__maybeInc30(innerWidth))
27789
+ "--width": maybeCssVar64(__maybeInc30(innerWidth))
27707
27790
  }]
27708
27791
  }
27709
27792
  ) : (
@@ -27712,10 +27795,10 @@ function NavbarLayout(props) {
27712
27795
  position: "fixed",
27713
27796
  left: "left0",
27714
27797
  zIndex: ["z_var", {
27715
- "--zIndex": maybeCssVar63(zIndices.navbar)
27798
+ "--zIndex": maybeCssVar64(zIndices.navbar)
27716
27799
  }],
27717
27800
  width: ["w_var", {
27718
- "--width": maybeCssVar63(__maybeInc30(innerWidth))
27801
+ "--width": maybeCssVar64(__maybeInc30(innerWidth))
27719
27802
  }],
27720
27803
  transition: "transitionTop"
27721
27804
  }
@@ -27745,7 +27828,7 @@ function NavbarLayout(props) {
27745
27828
  import { useCallback as useCallback41, useMemo as useMemo58, useRef as useRef69 } from "react";
27746
27829
 
27747
27830
  // src/components/Headers/BaseHeader.tsx
27748
- import { trussProps as trussProps129 } from "@homebound/truss/runtime";
27831
+ import { trussProps as trussProps131 } from "@homebound/truss/runtime";
27749
27832
  import { jsx as jsx228, jsxs as jsxs119 } from "react/jsx-runtime";
27750
27833
  function BaseHeader(props) {
27751
27834
  const {
@@ -27758,7 +27841,7 @@ function BaseHeader(props) {
27758
27841
  } = props;
27759
27842
  const tid = useTestIds(otherProps, "header");
27760
27843
  useDocumentTitle(title, documentTitleSuffix);
27761
- return /* @__PURE__ */ jsxs119("header", { ...tid, ...trussProps129({
27844
+ return /* @__PURE__ */ jsxs119("header", { ...tid, ...trussProps131({
27762
27845
  display: "df",
27763
27846
  flexDirection: "fdc",
27764
27847
  paddingTop: "pt3",
@@ -27772,7 +27855,7 @@ function BaseHeader(props) {
27772
27855
  "--backgroundColor": "var(--b-surface)"
27773
27856
  }]
27774
27857
  }), children: [
27775
- /* @__PURE__ */ jsxs119("div", { ...trussProps129({
27858
+ /* @__PURE__ */ jsxs119("div", { ...trussProps131({
27776
27859
  ...{
27777
27860
  display: "df",
27778
27861
  justifyContent: "jcsb",
@@ -27788,7 +27871,7 @@ function BaseHeader(props) {
27788
27871
  }), children: [
27789
27872
  /* @__PURE__ */ jsxs119("div", { className: "mw0", children: [
27790
27873
  breadcrumbs && /* @__PURE__ */ jsx228(Breadcrumbs, { ...breadcrumbs }),
27791
- /* @__PURE__ */ jsx228("h1", { ...tid.title, ...trussProps129({
27874
+ /* @__PURE__ */ jsx228("h1", { ...tid.title, ...trussProps131({
27792
27875
  fontWeight: "fw6",
27793
27876
  fontSize: "fz_20px",
27794
27877
  lineHeight: "lh_28px",
@@ -27804,7 +27887,7 @@ function BaseHeader(props) {
27804
27887
  }
27805
27888
 
27806
27889
  // src/components/Headers/PageHeader.tsx
27807
- import { trussProps as trussProps130 } from "@homebound/truss/runtime";
27890
+ import { trussProps as trussProps132 } from "@homebound/truss/runtime";
27808
27891
  import { jsx as jsx229 } from "react/jsx-runtime";
27809
27892
  function PageHeader2(props) {
27810
27893
  const {
@@ -27812,7 +27895,7 @@ function PageHeader2(props) {
27812
27895
  ...otherProps
27813
27896
  } = props;
27814
27897
  const tid = useTestIds(otherProps, "header");
27815
- return /* @__PURE__ */ jsx229(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ jsx229("div", { ...trussProps130(pageContentPaddingX), children: /* @__PURE__ */ jsx229(Tabs, { ...tabs, ...tid.tabs }) }) });
27898
+ return /* @__PURE__ */ jsx229(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ jsx229("div", { ...trussProps132(pageContentPaddingX), children: /* @__PURE__ */ jsx229(Tabs, { ...tabs, ...tid.tabs }) }) });
27816
27899
  }
27817
27900
 
27818
27901
  // src/layouts/useBannerAndNavbarHeight.ts
@@ -27821,7 +27904,7 @@ function useBannerAndNavbarHeight() {
27821
27904
  }
27822
27905
 
27823
27906
  // src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
27824
- import { mergeProps as mergeProps40, maybeCssVar as maybeCssVar64 } from "@homebound/truss/runtime";
27907
+ import { mergeProps as mergeProps40, maybeCssVar as maybeCssVar65 } from "@homebound/truss/runtime";
27825
27908
  import { jsx as jsx230, jsxs as jsxs120 } from "react/jsx-runtime";
27826
27909
  var __maybeInc31 = (inc) => {
27827
27910
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -27853,24 +27936,24 @@ function PageHeaderLayout(props) {
27853
27936
  const innerCss = autoHideState === "static" ? {
27854
27937
  position: "sticky",
27855
27938
  left: ["left_var", {
27856
- "--left": maybeCssVar64(__maybeInc31(headerLeft))
27939
+ "--left": maybeCssVar65(__maybeInc31(headerLeft))
27857
27940
  }],
27858
27941
  width: ["w_var", {
27859
- "--width": maybeCssVar64(__maybeInc31(headerWidth))
27942
+ "--width": maybeCssVar65(__maybeInc31(headerWidth))
27860
27943
  }],
27861
27944
  zIndex: ["z_var", {
27862
- "--zIndex": maybeCssVar64(zIndices.pageStickyHeader)
27945
+ "--zIndex": maybeCssVar65(zIndices.pageStickyHeader)
27863
27946
  }]
27864
27947
  } : {
27865
27948
  position: "fixed",
27866
27949
  left: ["left_var", {
27867
- "--left": maybeCssVar64(__maybeInc31(headerLeft))
27950
+ "--left": maybeCssVar65(__maybeInc31(headerLeft))
27868
27951
  }],
27869
27952
  width: ["w_var", {
27870
- "--width": maybeCssVar64(__maybeInc31(headerWidth))
27953
+ "--width": maybeCssVar65(__maybeInc31(headerWidth))
27871
27954
  }],
27872
27955
  zIndex: ["z_var", {
27873
- "--zIndex": maybeCssVar64(zIndices.pageStickyHeader)
27956
+ "--zIndex": maybeCssVar65(zIndices.pageStickyHeader)
27874
27957
  }],
27875
27958
  transition: "transitionTop"
27876
27959
  };
@@ -27893,21 +27976,84 @@ function PageHeaderLayout(props) {
27893
27976
  ] }) });
27894
27977
  }
27895
27978
 
27896
- // src/layouts/WorkflowLayout/WorkflowLayout.tsx
27897
- import { useLayoutEffect as useLayoutEffect13, useRef as useRef71, useState as useState62 } from "react";
27979
+ // src/layouts/Workflow/JumpLinksRail.tsx
27980
+ import { trussProps as trussProps133, maybeCssVar as maybeCssVar66 } from "@homebound/truss/runtime";
27981
+ import { jsx as jsx231 } from "react/jsx-runtime";
27982
+ var __maybeInc32 = (inc) => {
27983
+ return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
27984
+ };
27985
+ var jumpLinksRailWidthPx = 180;
27986
+ function JumpLinksRail(props) {
27987
+ const {
27988
+ links,
27989
+ activeId
27990
+ } = props;
27991
+ const tid = useTestIds(props, "jumpLinks");
27992
+ return /* @__PURE__ */ jsx231("nav", { ...trussProps133({
27993
+ display: "df",
27994
+ flexDirection: "fdc",
27995
+ flexShrink: "fs0",
27996
+ width: ["w_var", {
27997
+ "--width": `${jumpLinksRailWidthPx}px`
27998
+ }],
27999
+ position: "sticky",
28000
+ alignSelf: "asfs",
28001
+ top: ["top_var", {
28002
+ "--top": maybeCssVar66(__maybeInc32(stickyNavAndHeaderOffset()))
28003
+ }]
28004
+ }), ...tid, children: links.map((link) => /* @__PURE__ */ jsx231(JumpLink, { label: link.label, href: `#${link.id}`, active: link.id === activeId, ...tid.link }, link.id)) });
28005
+ }
28006
+
28007
+ // src/layouts/Workflow/useActiveJumpLink.ts
28008
+ import { useLayoutEffect as useLayoutEffect13, useState as useState62 } from "react";
28009
+ var activationLeadPx = 120;
28010
+ function useActiveJumpLink(sectionIds) {
28011
+ const idsKey = sectionIds.join("\0");
28012
+ const [activeId, setActiveId] = useState62(sectionIds[0]);
28013
+ useLayoutEffect13(() => {
28014
+ const ids = idsKey.length === 0 ? [] : idsKey.split("\0");
28015
+ if (ids.length === 0) return;
28016
+ const update = () => {
28017
+ const first = ids.map((id) => document.getElementById(id)).find((el) => el !== null);
28018
+ if (!first) return;
28019
+ const headerOffset = stickyNavAndHeaderOffsetPx(first);
28020
+ let current = ids[0];
28021
+ for (const id of ids) {
28022
+ const el = document.getElementById(id);
28023
+ if (el && el.getBoundingClientRect().top - headerOffset <= activationLeadPx) {
28024
+ current = id;
28025
+ }
28026
+ }
28027
+ setActiveId(current);
28028
+ };
28029
+ update();
28030
+ window.addEventListener("scroll", update, { passive: true });
28031
+ return () => window.removeEventListener("scroll", update);
28032
+ }, [idsKey]);
28033
+ return sectionIds.includes(activeId ?? "") ? activeId : sectionIds[0];
28034
+ }
28035
+
28036
+ // src/layouts/Workflow/WorkflowPageLayout.tsx
28037
+ import { useLayoutEffect as useLayoutEffect14, useRef as useRef71 } from "react";
27898
28038
 
27899
28039
  // src/components/Headers/WorkflowHeader.tsx
27900
- import { jsx as jsx231 } from "react/jsx-runtime";
28040
+ import { jsx as jsx232 } from "react/jsx-runtime";
27901
28041
  function WorkflowHeader(props) {
27902
28042
  const { stepperTabs, ...otherProps } = props;
27903
28043
  const tid = useTestIds(otherProps, "header");
27904
- return /* @__PURE__ */ jsx231(BaseHeader, { ...otherProps, bottomSlot: /* @__PURE__ */ jsx231(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) });
28044
+ return /* @__PURE__ */ jsx232(
28045
+ BaseHeader,
28046
+ {
28047
+ ...otherProps,
28048
+ bottomSlot: stepperTabs ? /* @__PURE__ */ jsx232(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) : void 0
28049
+ }
28050
+ );
27905
28051
  }
27906
28052
 
27907
- // src/layouts/WorkflowLayout/useUnsavedChangesGuard.tsx
28053
+ // src/layouts/Workflow/useUnsavedChangesGuard.tsx
27908
28054
  import { useEffect as useEffect39, useRef as useRef70 } from "react";
27909
28055
  import { useBlocker } from "react-router-dom";
27910
- import { jsx as jsx232 } from "react/jsx-runtime";
28056
+ import { jsx as jsx233 } from "react/jsx-runtime";
27911
28057
  function useUnsavedChangesGuard(options) {
27912
28058
  const { isDirty, onCancel } = options;
27913
28059
  const { openModal } = useModal();
@@ -27930,7 +28076,7 @@ function useUnsavedChangesGuard(options) {
27930
28076
  }
27931
28077
  openModal({
27932
28078
  allowClosing: false,
27933
- content: /* @__PURE__ */ jsx232(ConfirmCloseModal, { onClose: () => onCancel(e) })
28079
+ content: /* @__PURE__ */ jsx233(ConfirmCloseModal, { onClose: () => onCancel(e) })
27934
28080
  });
27935
28081
  };
27936
28082
  const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
@@ -27942,61 +28088,64 @@ function UnsavedChangesNavigationModal(props) {
27942
28088
  useEffect39(() => {
27943
28089
  openModal({
27944
28090
  allowClosing: false,
27945
- content: /* @__PURE__ */ jsx232(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
28091
+ content: /* @__PURE__ */ jsx233(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
27946
28092
  });
27947
28093
  return () => closeModal();
27948
28094
  }, []);
27949
28095
  return null;
27950
28096
  }
27951
28097
 
27952
- // src/layouts/WorkflowLayout/WorkflowActions.tsx
27953
- import { jsx as jsx233, jsxs as jsxs121 } from "react/jsx-runtime";
28098
+ // src/layouts/Workflow/WorkflowActions.tsx
28099
+ import { jsx as jsx234, jsxs as jsxs121 } from "react/jsx-runtime";
27954
28100
  function WorkflowActions(props) {
27955
28101
  const {
27956
- isFirstStep,
27957
- isLastStep,
27958
- isMobile,
27959
- onBack,
27960
28102
  onCancel,
27961
28103
  onSaveAndExit,
27962
28104
  completeLabel,
27963
28105
  onComplete,
27964
- onContinue,
27965
- primaryDisabled
28106
+ primaryDisabled,
28107
+ aiMode = false,
28108
+ isFirstStep = true,
28109
+ isLastStep = true,
28110
+ onBack,
28111
+ onContinue
27966
28112
  } = props;
28113
+ const {
28114
+ sm: isMobile
28115
+ } = useBreakpoint();
28116
+ const primaryVariant = aiMode ? "ai" : "primary";
27967
28117
  return /* @__PURE__ */ jsxs121("div", { className: "df aic jcsb sm_w100", children: [
27968
- /* @__PURE__ */ jsx233("div", { className: "df aic", children: !isFirstStep && isMobile && /* @__PURE__ */ jsx233(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
28118
+ /* @__PURE__ */ jsx234("div", { className: "df aic", children: !isFirstStep && isMobile && onBack && /* @__PURE__ */ jsx234(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
27969
28119
  /* @__PURE__ */ jsxs121("div", { className: "df aic gap1", children: [
27970
- /* @__PURE__ */ jsx233(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
27971
- onSaveAndExit && /* @__PURE__ */ jsx233(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
27972
- isLastStep ? /* @__PURE__ */ jsx233(Button, { label: completeLabel, variant: "primary", onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ jsx233(Button, { label: "Continue", variant: "primary", onClick: onContinue, disabled: primaryDisabled })
28120
+ /* @__PURE__ */ jsx234(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
28121
+ onSaveAndExit && /* @__PURE__ */ jsx234(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
28122
+ isLastStep ? /* @__PURE__ */ jsx234(Button, { label: completeLabel, variant: primaryVariant, onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ jsx234(Button, { label: "Continue", variant: primaryVariant, onClick: async () => {
28123
+ await onContinue?.();
28124
+ }, disabled: primaryDisabled })
27973
28125
  ] })
27974
28126
  ] });
27975
28127
  }
27976
28128
 
27977
- // src/layouts/WorkflowLayout/WorkflowLayout.tsx
27978
- import { trussProps as trussProps131, mergeProps as mergeProps41, maybeCssVar as maybeCssVar65 } from "@homebound/truss/runtime";
27979
- import { jsx as jsx234, jsxs as jsxs122 } from "react/jsx-runtime";
27980
- var __maybeInc32 = (inc) => {
28129
+ // src/layouts/Workflow/WorkflowPageLayout.tsx
28130
+ import { trussProps as trussProps134, mergeProps as mergeProps41, maybeCssVar as maybeCssVar67 } from "@homebound/truss/runtime";
28131
+ import { jsx as jsx235, jsxs as jsxs122 } from "react/jsx-runtime";
28132
+ var __maybeInc33 = (inc) => {
27981
28133
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
27982
28134
  };
27983
- function WorkflowLayout(props) {
28135
+ var mobileFooterHeightPx = 80;
28136
+ function WorkflowPageLayout(props) {
27984
28137
  const {
27985
- steps,
27986
- defaultStep,
27987
- onCancel,
27988
- completeLabel,
27989
- onComplete,
27990
- onSaveAndExit,
28138
+ stepperTabs,
28139
+ aiMode,
27991
28140
  isDirty,
27992
- ...headerProps
28141
+ children,
28142
+ title,
28143
+ documentTitleSuffix,
28144
+ breadcrumbs,
28145
+ onCancel,
28146
+ ...actionProps
27993
28147
  } = props;
27994
- const stepTabs = steps.map((step) => ({
27995
- ...step,
27996
- value: defaultTestId(step.label)
27997
- }));
27998
- const [currentStep, setCurrentStep] = useState62(() => getInitialStep(stepTabs, defaultStep));
27999
- const tid = useTestIds(props, "workflowLayout");
28148
+ const tid = useTestIds(props, "workflowPageLayout");
28000
28149
  const {
28001
28150
  sm: isMobile
28002
28151
  } = useBreakpoint();
@@ -28007,6 +28156,7 @@ function WorkflowLayout(props) {
28007
28156
  isDirty,
28008
28157
  onCancel
28009
28158
  });
28159
+ const actions = /* @__PURE__ */ jsx235(WorkflowActions, { ...actionProps, aiMode, onCancel: onCancelClick });
28010
28160
  const headerMetricsRef = useRef71(null);
28011
28161
  const headerHeight = useMeasuredHeight(headerMetricsRef, true);
28012
28162
  const headerWidth = documentScrollChromeWidth();
@@ -28014,20 +28164,8 @@ function WorkflowLayout(props) {
28014
28164
  const cssVars = headerHeight > 0 ? {
28015
28165
  [beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
28016
28166
  } : void 0;
28017
- const currentIndex = isValidStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
28018
- const isFirstStep = currentIndex <= 0;
28019
- const isLastStep = currentIndex === stepTabs.length - 1;
28020
- const activeStep = stepTabs[currentIndex];
28021
- const buttons = /* @__PURE__ */ jsx234(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => setCurrentStep(stepTabs[currentIndex - 1].value), onCancel: onCancelClick, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !activeStep?.isValid, onContinue: async () => {
28022
- const onContinue = activeStep?.onContinue;
28023
- if (onContinue) {
28024
- const allowed = await onContinue();
28025
- if (allowed === false) return;
28026
- }
28027
- setCurrentStep(stepTabs[currentIndex + 1].value);
28028
- } });
28029
28167
  const showFooter = isMobile;
28030
- useLayoutEffect13(() => {
28168
+ useLayoutEffect14(() => {
28031
28169
  const root = document.documentElement;
28032
28170
  const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
28033
28171
  root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
@@ -28039,57 +28177,59 @@ function WorkflowLayout(props) {
28039
28177
  }
28040
28178
  };
28041
28179
  }, [showFooter]);
28042
- const headerEl = /* @__PURE__ */ jsx234(
28043
- WorkflowHeader,
28044
- {
28045
- ...headerProps,
28046
- rightSlot: isMobile ? void 0 : buttons,
28047
- stepperTabs: {
28048
- steps: stepTabs,
28049
- currentStep,
28050
- onChange: setCurrentStep,
28051
- collapsed: isMobile
28052
- }
28053
- }
28054
- );
28055
28180
  return /* @__PURE__ */ jsxs122(DocumentScrollLayoutProvider, { children: [
28056
28181
  /* @__PURE__ */ jsxs122("div", { ...mergeProps41(void 0, cssVars, {
28057
28182
  display: "df",
28058
28183
  flexDirection: "fdc",
28059
28184
  width: "w100"
28060
28185
  }), ...tid, children: [
28061
- /* @__PURE__ */ jsx234("div", { ref: headerMetricsRef, ...trussProps131({
28186
+ /* @__PURE__ */ jsx235("div", { ref: headerMetricsRef, ...trussProps134({
28062
28187
  position: "sticky",
28063
28188
  left: "left0",
28064
28189
  width: ["w_var", {
28065
- "--width": maybeCssVar65(__maybeInc32(headerWidth))
28190
+ "--width": maybeCssVar67(__maybeInc33(headerWidth))
28066
28191
  }],
28067
28192
  zIndex: ["z_var", {
28068
- "--zIndex": maybeCssVar65(zIndices.pageStickyHeader)
28193
+ "--zIndex": maybeCssVar67(zIndices.pageStickyHeader)
28069
28194
  }],
28070
28195
  top: ["top_var", {
28071
- "--top": maybeCssVar65(__maybeInc32(outerTop))
28196
+ "--top": maybeCssVar67(__maybeInc33(outerTop))
28072
28197
  }]
28073
- }), ...tid.header, children: headerEl }),
28074
- /* @__PURE__ */ jsx234("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children: activeStep?.content }),
28075
- showFooter && /* @__PURE__ */ jsx234("div", { ...trussProps131({
28198
+ }), ...tid.header, children: /* @__PURE__ */ jsx235(WorkflowHeader, { title, documentTitleSuffix, breadcrumbs, rightSlot: isMobile ? void 0 : actions, stepperTabs }) }),
28199
+ /* @__PURE__ */ jsx235("div", { ...trussProps134({
28200
+ ...{
28201
+ display: "df",
28202
+ flexDirection: "fdc",
28203
+ flexGrow: "fg1",
28204
+ minHeight: "mh0",
28205
+ width: "w100",
28206
+ paddingTop: "pt4 mdandup_pt6"
28207
+ },
28208
+ ...aiMode && {
28209
+ backgroundImage: "aiBackground",
28210
+ minHeight: ["mh_var", {
28211
+ "--minHeight": maybeCssVar67(documentScrollBodyMinHeight())
28212
+ }]
28213
+ }
28214
+ }), ...tid.body, children }),
28215
+ showFooter && /* @__PURE__ */ jsx235("div", { ...trussProps134({
28076
28216
  flexShrink: "fs0",
28077
28217
  width: "w100",
28078
28218
  height: ["h_var", {
28079
28219
  "--height": `${mobileFooterHeightPx}px`
28080
28220
  }]
28081
- }), children: /* @__PURE__ */ jsx234("div", { ...trussProps131({
28221
+ }), children: /* @__PURE__ */ jsx235("div", { ...trussProps134({
28082
28222
  ...{
28083
28223
  position: "fixed",
28084
28224
  bottom: "bottom0",
28085
28225
  width: ["w_var", {
28086
- "--width": maybeCssVar65(__maybeInc32(headerWidth))
28226
+ "--width": maybeCssVar67(__maybeInc33(headerWidth))
28087
28227
  }],
28088
28228
  height: ["h_var", {
28089
28229
  "--height": `${mobileFooterHeightPx}px`
28090
28230
  }],
28091
28231
  zIndex: ["z_var", {
28092
- "--zIndex": maybeCssVar65(zIndices.pageStickyFooter)
28232
+ "--zIndex": maybeCssVar67(zIndices.pageStickyFooter)
28093
28233
  }],
28094
28234
  display: "df",
28095
28235
  alignItems: "aic",
@@ -28105,23 +28245,102 @@ function WorkflowLayout(props) {
28105
28245
  }]
28106
28246
  },
28107
28247
  ...pageContentPaddingX
28108
- }), ...tid.footer, children: buttons }) })
28248
+ }), ...tid.footer, children: actions }) })
28109
28249
  ] }),
28110
- navigationBlocker && /* @__PURE__ */ jsx234(UnsavedChangesNavigationModal, { ...navigationBlocker })
28250
+ navigationBlocker && /* @__PURE__ */ jsx235(UnsavedChangesNavigationModal, { ...navigationBlocker })
28111
28251
  ] });
28112
28252
  }
28113
- var mobileFooterHeightPx = 80;
28114
- function isValidStep(steps, value) {
28253
+
28254
+ // src/layouts/Workflow/FocusedFormLayout.tsx
28255
+ import { jsx as jsx236, jsxs as jsxs123 } from "react/jsx-runtime";
28256
+ function FocusedFormLayout(props) {
28257
+ const {
28258
+ onCancel,
28259
+ completeLabel,
28260
+ onComplete,
28261
+ onSaveAndExit,
28262
+ isValid,
28263
+ isDirty,
28264
+ withJumpLinks = true,
28265
+ aiMode,
28266
+ form,
28267
+ ...headerProps
28268
+ } = props;
28269
+ const tid = useTestIds(props, "focusedFormLayout");
28270
+ const {
28271
+ sm: isMobile
28272
+ } = useBreakpoint();
28273
+ const jumpLinks = (form.sections ?? []).filter((section) => !section.excludeJumpLink).map((section) => {
28274
+ const id = defaultTestId(section.title);
28275
+ return {
28276
+ id,
28277
+ label: section.title
28278
+ };
28279
+ });
28280
+ const activeId = useActiveJumpLink(jumpLinks.map((link) => link.id));
28281
+ const showRail = withJumpLinks && jumpLinks.length >= 2 && !isMobile;
28282
+ return /* @__PURE__ */ jsx236(WorkflowPageLayout, { ...tid, ...headerProps, aiMode, isDirty, onCancel, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !isValid, children: /* @__PURE__ */ jsxs123("div", { className: "df w100", children: [
28283
+ showRail && /* @__PURE__ */ jsx236(JumpLinksRail, { links: jumpLinks, activeId, ...tid.jumpLinks }),
28284
+ /* @__PURE__ */ jsx236("div", { className: "fg1 mw0 mb4", children: /* @__PURE__ */ jsx236(FormSectionLayout, { ...form, aiMode }) })
28285
+ ] }) });
28286
+ }
28287
+
28288
+ // src/layouts/Workflow/StepperLayout.tsx
28289
+ import { useState as useState63 } from "react";
28290
+ import { jsx as jsx237 } from "react/jsx-runtime";
28291
+ function StepperLayout(props) {
28292
+ const { steps, defaultStep, onCancel, completeLabel, onComplete, onSaveAndExit, isDirty, aiMode, ...headerProps } = props;
28293
+ const stepTabs = steps.map((step) => ({ ...step, value: defaultTestId(step.label) }));
28294
+ const [currentStep, setCurrentStep] = useState63(() => getInitialStep(stepTabs, defaultStep));
28295
+ const tid = useTestIds(props, "stepperLayout");
28296
+ const currentIndex = hasStep(stepTabs, currentStep) ? stepTabs.findIndex((step) => step.value === currentStep) : 0;
28297
+ const isFirstStep = currentIndex <= 0;
28298
+ const isLastStep = currentIndex >= stepTabs.length - 1;
28299
+ const activeStep = stepTabs[currentIndex];
28300
+ return /* @__PURE__ */ jsx237(
28301
+ WorkflowPageLayout,
28302
+ {
28303
+ ...tid,
28304
+ ...headerProps,
28305
+ aiMode,
28306
+ stepperTabs: { steps: stepTabs, currentStep, onChange: setCurrentStep },
28307
+ isDirty,
28308
+ isFirstStep,
28309
+ isLastStep,
28310
+ onBack: () => {
28311
+ const prev = stepTabs[currentIndex - 1];
28312
+ if (prev) setCurrentStep(prev.value);
28313
+ },
28314
+ onCancel,
28315
+ onSaveAndExit,
28316
+ completeLabel,
28317
+ onComplete,
28318
+ primaryDisabled: !activeStep?.isValid,
28319
+ onContinue: async () => {
28320
+ const onContinue = activeStep?.onContinue;
28321
+ if (onContinue) {
28322
+ const allowed = await onContinue();
28323
+ if (allowed === false) return;
28324
+ }
28325
+ const next = stepTabs[currentIndex + 1];
28326
+ if (next) setCurrentStep(next.value);
28327
+ },
28328
+ children: activeStep?.content
28329
+ }
28330
+ );
28331
+ }
28332
+ function hasStep(steps, value) {
28115
28333
  return steps.some((step) => step.value === value);
28116
28334
  }
28117
28335
  function getInitialStep(steps, defaultStep) {
28118
- return defaultStep !== void 0 && isValidStep(steps, defaultStep) ? defaultStep : steps[0]?.value;
28336
+ return defaultStep !== void 0 && hasStep(steps, defaultStep) ? defaultStep : steps[0]?.value ?? "";
28119
28337
  }
28120
28338
  export {
28121
28339
  ASC,
28122
28340
  Accordion,
28123
28341
  AccordionList,
28124
28342
  AiBanner,
28343
+ AiCard,
28125
28344
  AiLoader,
28126
28345
  AiLoadingPanel,
28127
28346
  AiPanel,
@@ -28199,6 +28418,7 @@ export {
28199
28418
  FieldGroup,
28200
28419
  FilterModal,
28201
28420
  _Filters as Filters,
28421
+ FocusedFormLayout,
28202
28422
  FormDivider,
28203
28423
  FormHeading,
28204
28424
  FormLines,
@@ -28271,6 +28491,7 @@ export {
28271
28491
  SortHeader,
28272
28492
  StaticField,
28273
28493
  Stepper,
28494
+ StepperLayout,
28274
28495
  StepperTab,
28275
28496
  StepperTabs,
28276
28497
  SubmitButton,
@@ -28298,7 +28519,6 @@ export {
28298
28519
  Tooltip,
28299
28520
  TreeSelectField,
28300
28521
  ViewToggleButton,
28301
- WorkflowLayout,
28302
28522
  actionColumn,
28303
28523
  applyRowFn,
28304
28524
  assignDefaultColumnIds,
@@ -28364,6 +28584,7 @@ export {
28364
28584
  defaultRenderFn,
28365
28585
  defaultStyle,
28366
28586
  defaultTestId,
28587
+ documentScrollBodyMinHeight,
28367
28588
  documentScrollChromeLeft,
28368
28589
  documentScrollChromeWidth,
28369
28590
  documentScrollContentLeft,
@@ -28450,6 +28671,7 @@ export {
28450
28671
  sortFn,
28451
28672
  sortRows,
28452
28673
  stickyNavAndHeaderOffset,
28674
+ stickyNavAndHeaderOffsetPx,
28453
28675
  stickyTableHeaderOffset,
28454
28676
  sumColumnSizesPx,
28455
28677
  switchFocusStyles,