@homebound/beam 3.57.0 → 3.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -276,6 +276,7 @@ __export(index_exports, {
276
276
  getNavLinkStyles: () => getNavLinkStyles,
277
277
  getTableRefWidthStyles: () => getTableRefWidthStyles,
278
278
  getTableStyles: () => getTableStyles,
279
+ headerContentPaddingX: () => headerContentPaddingX,
279
280
  headerRenderFn: () => headerRenderFn,
280
281
  hoverStyles: () => hoverStyles,
281
282
  increment: () => increment,
@@ -305,6 +306,8 @@ __export(index_exports, {
305
306
  nonKindGridColumnKeys: () => nonKindGridColumnKeys,
306
307
  numberRangeFilter: () => numberRangeFilter,
307
308
  numericColumn: () => numericColumn,
309
+ pageContentGutterPx: () => pageContentGutterPx,
310
+ pageContentPaddingX: () => pageContentPaddingX,
308
311
  parseDate: () => parseDate,
309
312
  parseDateRange: () => parseDateRange,
310
313
  parseWidthToPx: () => parseWidthToPx,
@@ -9435,7 +9438,7 @@ function RowImpl(props) {
9435
9438
  "--width": (0, import_runtime21.maybeCssVar)(__maybeInc6(`calc(${columnSizes.slice(columnIndex, columnIndex + currentColspan).join(" + ")}${applyFirstContentColumnStyles && levelIndent ? ` - ${levelIndent}px` : ""})`))
9436
9439
  }]
9437
9440
  },
9438
- // Gutter columns are budgeted at 12px; strip cell padding so flex min-content does not exceed that width.
9441
+ // Gutter columns are budgeted at pageContentGutterPx; strip cell padding so flex min-content does not exceed that width.
9439
9442
  ...column2.isLayoutGutter && {
9440
9443
  paddingLeft: "pl0",
9441
9444
  paddingRight: "pr0",
@@ -15899,6 +15902,22 @@ function SelectToggle({ id, disabled }) {
15899
15902
  );
15900
15903
  }
15901
15904
 
15905
+ // src/layouts/layoutSpacing.ts
15906
+ var pageContentGutterPx = 12;
15907
+ var pageContentPaddingX = {
15908
+ paddingLeft: "pl3",
15909
+ paddingRight: "pr3"
15910
+ };
15911
+ function headerContentPaddingX(compact = false) {
15912
+ return compact ? {
15913
+ paddingLeft: "pl1",
15914
+ paddingRight: "pr1"
15915
+ } : {
15916
+ paddingLeft: "pl1 mdandup_pl5",
15917
+ paddingRight: "pr1 mdandup_pr5"
15918
+ };
15919
+ }
15920
+
15902
15921
  // src/components/Table/utils/columns.tsx
15903
15922
  var import_jsx_runtime90 = require("react/jsx-runtime");
15904
15923
  function column(columnDef) {
@@ -16005,7 +16024,6 @@ function pinColumn(columnDef) {
16005
16024
  });
16006
16025
  });
16007
16026
  }
16008
- var columnGutterPx = 12;
16009
16027
  var layoutGutterLeftColumnId = "beamLayoutGutterLeft";
16010
16028
  var layoutGutterRightColumnId = "beamLayoutGutterRight";
16011
16029
  function isContentColumn(column2) {
@@ -16017,7 +16035,7 @@ function layoutGutterColumn(side) {
16017
16035
  ...nonKindDefaults(),
16018
16036
  id,
16019
16037
  clientSideSort: false,
16020
- w: `${columnGutterPx}px`,
16038
+ w: `${pageContentGutterPx}px`,
16021
16039
  wrapAction: false,
16022
16040
  isLayoutGutter: true,
16023
16041
  canHide: false,
@@ -21310,12 +21328,7 @@ function FilterPanelOpen({
21310
21328
  ...{
21311
21329
  flexWrap: "mdandup_fww"
21312
21330
  },
21313
- ...{
21314
- ...inDocumentScrollLayout ? {
21315
- paddingLeft: "pl3",
21316
- paddingRight: "pr3"
21317
- } : {}
21318
- }
21331
+ ...inDocumentScrollLayout ? pageContentPaddingX : void 0
21319
21332
  }), children: [
21320
21333
  groupBy && /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(GroupByField, { ...groupBy }),
21321
21334
  filterControls,
@@ -21448,14 +21461,13 @@ function GridTableLayoutActionsComponent(props) {
21448
21461
  } : {}
21449
21462
  }), children: [
21450
21463
  /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)("div", { ...(0, import_runtime86.trussProps)({
21451
- display: "df",
21452
- gap: "gap1",
21453
- justifyContent: "jcsb",
21454
- paddingTop: "pt3",
21455
- ...inDocumentScrollLayout ? {
21456
- paddingLeft: "pl3",
21457
- paddingRight: "pr3"
21458
- } : {}
21464
+ ...{
21465
+ display: "df",
21466
+ gap: "gap1",
21467
+ justifyContent: "jcsb",
21468
+ paddingTop: "pt3"
21469
+ },
21470
+ ...inDocumentScrollLayout ? pageContentPaddingX : void 0
21459
21471
  }), children: [
21460
21472
  /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)("div", { className: "df gap_12px aic", children: [
21461
21473
  !sm && hasSearch && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("div", { className: "w_244px", children: searchTextField }),
@@ -21475,7 +21487,7 @@ function GridTableLayoutActionsComponent(props) {
21475
21487
  } })
21476
21488
  ] })
21477
21489
  ] }),
21478
- sm && showSearch && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("div", { className: "pl3 pr3", children: searchTextField }),
21490
+ sm && showSearch && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("div", { ...(0, import_runtime86.trussProps)(pageContentPaddingX), children: searchTextField }),
21479
21491
  hasFilterControls && !showInlineControl && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(FilterPanel, { isOpen: showFilters, groupBy, filterImpls, filter, setFilter, onClear: clearFilters })
21480
21492
  ] });
21481
21493
  }
@@ -23037,7 +23049,17 @@ function EnvironmentBanner(props) {
23037
23049
  }), role: "banner", ...tid, children: [
23038
23050
  getInvertedCorner("left", bgColorVar),
23039
23051
  getInvertedCorner("right", bgColorVar),
23040
- /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)("div", { className: "relative z2 df aic jcsb h100 pl1 mdandup_pl5 pr1 mdandup_pr5", ...tid.content, children: [
23052
+ /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)("div", { ...(0, import_runtime98.trussProps)({
23053
+ ...{
23054
+ position: "relative",
23055
+ zIndex: "z2",
23056
+ display: "df",
23057
+ alignItems: "aic",
23058
+ justifyContent: "jcsb",
23059
+ height: "h100"
23060
+ },
23061
+ ...headerContentPaddingX()
23062
+ }), ...tid.content, children: [
23041
23063
  /* @__PURE__ */ (0, import_jsx_runtime176.jsxs)("span", { className: "df aic gap2 fg1 mh0 oh", ...tid.left, children: [
23042
23064
  /* @__PURE__ */ (0, import_jsx_runtime176.jsx)(Tag, { text: badgeLabel, xss: {
23043
23065
  backgroundColor: "bgColor_FFFFFF90"
@@ -24034,24 +24056,36 @@ function NavbarMobileDrawer({
24034
24056
  duration: 0.2
24035
24057
  }, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
24036
24058
  /* @__PURE__ */ (0, import_jsx_runtime189.jsx)("div", { ...(0, import_runtime108.trussProps)({
24037
- display: "df",
24038
- alignItems: "aic",
24039
- justifyContent: "jcfe",
24040
- paddingLeft: "pl3",
24041
- paddingRight: "pr3",
24042
- paddingTop: "pt_12px",
24043
- paddingBottom: "pb_12px",
24044
- flexShrink: "fs0",
24045
- borderBottomStyle: "bbs_solid",
24046
- borderBottomWidth: "bbw_1px",
24047
- borderColor: ["bc_var", {
24048
- "--borderColor": "var(--b-surface-separator)"
24049
- }]
24059
+ ...{
24060
+ display: "df",
24061
+ alignItems: "aic",
24062
+ justifyContent: "jcfe",
24063
+ paddingTop: "pt_12px",
24064
+ paddingBottom: "pb_12px",
24065
+ flexShrink: "fs0",
24066
+ borderBottomStyle: "bbs_solid",
24067
+ borderBottomWidth: "bbw_1px",
24068
+ borderColor: ["bc_var", {
24069
+ "--borderColor": "var(--b-surface-separator)"
24070
+ }]
24071
+ },
24072
+ ...pageContentPaddingX
24050
24073
  }), children: /* @__PURE__ */ (0, import_jsx_runtime189.jsx)(IconButton, { icon: "x", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: "Close navigation", onClick: onClose, ...tid.mobileMenuClose }) }),
24051
24074
  /* @__PURE__ */ (0, import_jsx_runtime189.jsx)(
24052
24075
  "nav",
24053
24076
  {
24054
- className: "fg1 oya pl3 pr3 pb3 pt2 df fdc gap_4px",
24077
+ ...(0, import_runtime108.trussProps)({
24078
+ ...{
24079
+ flexGrow: "fg1",
24080
+ overflowY: "oya",
24081
+ paddingBottom: "pb3",
24082
+ paddingTop: "pt2",
24083
+ display: "df",
24084
+ flexDirection: "fdc",
24085
+ gap: "gap_4px"
24086
+ },
24087
+ ...pageContentPaddingX
24088
+ }),
24055
24089
  onClickCapture: (e) => {
24056
24090
  if (e.target.closest("a")) {
24057
24091
  onClose();
@@ -24087,23 +24121,20 @@ function Navbar(props) {
24087
24121
  } = useContentOverflow(!sm);
24088
24122
  const showMobile = sm || overflows;
24089
24123
  return /* @__PURE__ */ (0, import_jsx_runtime190.jsx)(ContrastScope, { children: /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("nav", { ...(0, import_runtime109.trussProps)({
24090
- backgroundColor: ["bgColor_var", {
24091
- "--backgroundColor": "var(--b-surface-raised)"
24092
- }],
24093
- flexShrink: "fs0",
24094
- display: "df",
24095
- alignItems: "aic",
24096
- justifyContent: "jcsb",
24097
- whiteSpace: "wsnw",
24098
- paddingLeft: "pl1",
24099
- paddingRight: "pr1",
24100
- paddingTop: "pt1",
24101
- paddingBottom: "pb1",
24102
- gap: "gap2",
24103
- ...!showMobile ? {
24104
- paddingLeft: "pl5",
24105
- paddingRight: "pr5"
24106
- } : {}
24124
+ ...{
24125
+ backgroundColor: ["bgColor_var", {
24126
+ "--backgroundColor": "var(--b-surface-raised)"
24127
+ }],
24128
+ flexShrink: "fs0",
24129
+ display: "df",
24130
+ alignItems: "aic",
24131
+ justifyContent: "jcsb",
24132
+ whiteSpace: "wsnw",
24133
+ paddingTop: "pt1",
24134
+ paddingBottom: "pb1",
24135
+ gap: "gap2"
24136
+ },
24137
+ ...headerContentPaddingX(showMobile)
24107
24138
  }), ...tid, children: [
24108
24139
  /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("div", { className: "df aic gap3 fg1 mw0", children: [
24109
24140
  /* @__PURE__ */ (0, import_jsx_runtime190.jsxs)("div", { className: "df aic fs0 gap2", children: [
@@ -25867,10 +25898,9 @@ function BaseHeader(props) {
25867
25898
  display: "df",
25868
25899
  justifyContent: "jcsb",
25869
25900
  width: "w100",
25870
- gap: "gap1",
25871
- paddingLeft: "pl3",
25872
- paddingRight: "pr3"
25901
+ gap: "gap1"
25873
25902
  },
25903
+ ...pageContentPaddingX,
25874
25904
  ...{
25875
25905
  ...!bottomSlot ? {
25876
25906
  marginBottom: "mb2"
@@ -25888,6 +25918,7 @@ function BaseHeader(props) {
25888
25918
  }
25889
25919
 
25890
25920
  // src/components/Headers/PageHeader.tsx
25921
+ var import_runtime122 = require("@homebound/truss/runtime");
25891
25922
  var import_jsx_runtime209 = require("react/jsx-runtime");
25892
25923
  function PageHeader2(props) {
25893
25924
  const {
@@ -25895,7 +25926,7 @@ function PageHeader2(props) {
25895
25926
  ...otherProps
25896
25927
  } = props;
25897
25928
  const tid = useTestIds(otherProps, "header");
25898
- return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { className: "pl3 pr3", children: /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(Tabs, { ...tabs, ...tid.tabs }) }) });
25929
+ return /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ (0, import_jsx_runtime209.jsx)("div", { ...(0, import_runtime122.trussProps)(pageContentPaddingX), children: /* @__PURE__ */ (0, import_jsx_runtime209.jsx)(Tabs, { ...tabs, ...tid.tabs }) }) });
25899
25930
  }
25900
25931
 
25901
25932
  // src/layouts/useBannerAndNavbarHeight.ts
@@ -25904,7 +25935,7 @@ function useBannerAndNavbarHeight() {
25904
25935
  }
25905
25936
 
25906
25937
  // src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
25907
- var import_runtime122 = require("@homebound/truss/runtime");
25938
+ var import_runtime123 = require("@homebound/truss/runtime");
25908
25939
  var import_jsx_runtime210 = require("react/jsx-runtime");
25909
25940
  var __maybeInc25 = (inc) => {
25910
25941
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
@@ -25936,24 +25967,24 @@ function PageHeaderLayout(props) {
25936
25967
  const innerCss = autoHideState === "static" ? {
25937
25968
  position: "sticky",
25938
25969
  left: ["left_var", {
25939
- "--left": (0, import_runtime122.maybeCssVar)(__maybeInc25(headerLeft))
25970
+ "--left": (0, import_runtime123.maybeCssVar)(__maybeInc25(headerLeft))
25940
25971
  }],
25941
25972
  width: ["w_var", {
25942
- "--width": (0, import_runtime122.maybeCssVar)(__maybeInc25(headerWidth))
25973
+ "--width": (0, import_runtime123.maybeCssVar)(__maybeInc25(headerWidth))
25943
25974
  }],
25944
25975
  zIndex: ["z_var", {
25945
- "--zIndex": (0, import_runtime122.maybeCssVar)(zIndices.pageStickyHeader)
25976
+ "--zIndex": (0, import_runtime123.maybeCssVar)(zIndices.pageStickyHeader)
25946
25977
  }]
25947
25978
  } : {
25948
25979
  position: "fixed",
25949
25980
  left: ["left_var", {
25950
- "--left": (0, import_runtime122.maybeCssVar)(__maybeInc25(headerLeft))
25981
+ "--left": (0, import_runtime123.maybeCssVar)(__maybeInc25(headerLeft))
25951
25982
  }],
25952
25983
  width: ["w_var", {
25953
- "--width": (0, import_runtime122.maybeCssVar)(__maybeInc25(headerWidth))
25984
+ "--width": (0, import_runtime123.maybeCssVar)(__maybeInc25(headerWidth))
25954
25985
  }],
25955
25986
  zIndex: ["z_var", {
25956
- "--zIndex": (0, import_runtime122.maybeCssVar)(zIndices.pageStickyHeader)
25987
+ "--zIndex": (0, import_runtime123.maybeCssVar)(zIndices.pageStickyHeader)
25957
25988
  }],
25958
25989
  transition: "transitionTop"
25959
25990
  };
@@ -25961,17 +25992,17 @@ function PageHeaderLayout(props) {
25961
25992
  top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
25962
25993
  } : void 0;
25963
25994
  const pageHeaderEl = (0, import_react152.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
25964
- return /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)("div", { ...(0, import_runtime122.mergeProps)(void 0, cssVars, {
25995
+ return /* @__PURE__ */ (0, import_jsx_runtime210.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime210.jsxs)("div", { ...(0, import_runtime123.mergeProps)(void 0, cssVars, {
25965
25996
  display: "df",
25966
25997
  flexDirection: "fdc",
25967
25998
  width: "w100"
25968
25999
  }), ...tid, children: [
25969
- /* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { ref: spacerRef, ...(0, import_runtime122.mergeProps)(void 0, {
26000
+ /* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { ref: spacerRef, ...(0, import_runtime123.mergeProps)(void 0, {
25970
26001
  height: headerHeight
25971
26002
  }, {
25972
26003
  flexShrink: "fs0",
25973
26004
  width: "w100"
25974
- }), children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime122.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
26005
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime123.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
25975
26006
  /* @__PURE__ */ (0, import_jsx_runtime210.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
25976
26007
  ] }) });
25977
26008
  }
@@ -25999,36 +26030,40 @@ function WorkflowActions(props) {
25999
26030
  onSaveAndExit,
26000
26031
  completeLabel,
26001
26032
  onComplete,
26002
- onContinue
26033
+ onContinue,
26034
+ primaryDisabled
26003
26035
  } = props;
26004
26036
  return /* @__PURE__ */ (0, import_jsx_runtime212.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
26005
26037
  /* @__PURE__ */ (0, import_jsx_runtime212.jsx)("div", { className: "df aic", children: !isFirstStep && (isMobile ? /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) : /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: onBack })) }),
26006
26038
  /* @__PURE__ */ (0, import_jsx_runtime212.jsxs)("div", { className: "df aic gap1", children: [
26007
26039
  /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
26008
26040
  onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
26009
- isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(Button, { label: completeLabel, variant: "primary", onClick: onComplete }) : /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(Button, { label: "Continue", variant: "primary", onClick: onContinue })
26041
+ isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(Button, { label: completeLabel, variant: "primary", onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ (0, import_jsx_runtime212.jsx)(Button, { label: "Continue", variant: "primary", onClick: onContinue, disabled: primaryDisabled })
26010
26042
  ] })
26011
26043
  ] });
26012
26044
  }
26013
26045
 
26014
26046
  // src/layouts/WorkflowLayout/WorkflowLayout.tsx
26015
- var import_runtime123 = require("@homebound/truss/runtime");
26047
+ var import_runtime124 = require("@homebound/truss/runtime");
26016
26048
  var import_jsx_runtime213 = require("react/jsx-runtime");
26017
26049
  var __maybeInc26 = (inc) => {
26018
26050
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
26019
26051
  };
26020
26052
  function WorkflowLayout(props) {
26021
26053
  const {
26022
- children
26023
- } = props;
26024
- const {
26025
- stepperTabs,
26054
+ steps,
26055
+ defaultStep,
26026
26056
  onCancel,
26027
26057
  completeLabel,
26028
26058
  onComplete,
26029
26059
  onSaveAndExit,
26030
26060
  ...headerProps
26031
- } = props.workflowHeader;
26061
+ } = props;
26062
+ const tabSteps = steps.map((step) => ({
26063
+ ...step,
26064
+ value: defaultTestId(step.label)
26065
+ }));
26066
+ const [currentStep, setCurrentStep] = (0, import_react153.useState)(() => getInitialStep(tabSteps, defaultStep));
26032
26067
  const tid = useTestIds(props, "workflowLayout");
26033
26068
  const {
26034
26069
  sm: isMobile
@@ -26049,15 +26084,11 @@ function WorkflowLayout(props) {
26049
26084
  const cssVars = headerHeight > 0 ? {
26050
26085
  [beamPageHeaderLayoutHeightVar]: `${headerHeight}px`
26051
26086
  } : void 0;
26052
- const {
26053
- steps,
26054
- currentStep,
26055
- onChange
26056
- } = stepperTabs;
26057
- const currentIndex = steps.findIndex((step) => step.value === currentStep);
26087
+ const currentIndex = isValidStep(tabSteps, currentStep) ? tabSteps.findIndex((step) => step.value === currentStep) : 0;
26058
26088
  const isFirstStep = currentIndex <= 0;
26059
- const isLastStep = currentIndex === steps.length - 1;
26060
- const buttons = /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => onChange(steps[currentIndex - 1].value), onCancel, onSaveAndExit, completeLabel, onComplete, onContinue: () => onChange(steps[currentIndex + 1].value) });
26089
+ const isLastStep = currentIndex === tabSteps.length - 1;
26090
+ const activeStep = tabSteps[currentIndex];
26091
+ const buttons = /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => setCurrentStep(tabSteps[currentIndex - 1].value), onCancel, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !activeStep?.completed, onContinue: () => setCurrentStep(tabSteps[currentIndex + 1].value) });
26061
26092
  const showFooter = isMobile;
26062
26093
  (0, import_react153.useLayoutEffect)(() => {
26063
26094
  const root = document.documentElement;
@@ -26072,69 +26103,78 @@ function WorkflowLayout(props) {
26072
26103
  };
26073
26104
  }, [showFooter]);
26074
26105
  const headerEl = /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(WorkflowHeader, { ...headerProps, rightSlot: isMobile ? void 0 : buttons, stepperTabs: {
26075
- ...stepperTabs,
26106
+ steps: tabSteps,
26107
+ currentStep,
26108
+ onChange: setCurrentStep,
26076
26109
  collapsed
26077
26110
  } });
26078
- return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime213.jsxs)("div", { ...(0, import_runtime123.mergeProps)(void 0, cssVars, {
26111
+ return /* @__PURE__ */ (0, import_jsx_runtime213.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime213.jsxs)("div", { ...(0, import_runtime124.mergeProps)(void 0, cssVars, {
26079
26112
  display: "df",
26080
26113
  flexDirection: "fdc",
26081
26114
  width: "w100"
26082
26115
  }), ...tid, children: [
26083
- /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ref: spacerRef, ...(0, import_runtime123.mergeProps)(void 0, {
26116
+ /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ref: spacerRef, ...(0, import_runtime124.mergeProps)(void 0, {
26084
26117
  height: headerHeight
26085
26118
  }, {
26086
26119
  flexShrink: "fs0",
26087
26120
  width: "w100"
26088
- }), ...tid.spacer, children: /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime123.trussProps)({
26121
+ }), ...tid.spacer, children: /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime124.trussProps)({
26089
26122
  position: "fixed",
26090
26123
  width: ["w_var", {
26091
- "--width": (0, import_runtime123.maybeCssVar)(__maybeInc26(headerWidth))
26124
+ "--width": (0, import_runtime124.maybeCssVar)(__maybeInc26(headerWidth))
26092
26125
  }],
26093
26126
  zIndex: ["z_var", {
26094
- "--zIndex": (0, import_runtime123.maybeCssVar)(zIndices.pageStickyHeader)
26127
+ "--zIndex": (0, import_runtime124.maybeCssVar)(zIndices.pageStickyHeader)
26095
26128
  }],
26096
26129
  top: ["top_var", {
26097
- "--top": (0, import_runtime123.maybeCssVar)(__maybeInc26(outerTop))
26130
+ "--top": (0, import_runtime124.maybeCssVar)(__maybeInc26(outerTop))
26098
26131
  }]
26099
26132
  }), ...tid.header, children: headerEl }) }),
26100
- /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children }),
26101
- showFooter && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime123.trussProps)({
26133
+ /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children: activeStep?.content }),
26134
+ showFooter && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime124.trussProps)({
26102
26135
  flexShrink: "fs0",
26103
26136
  width: "w100",
26104
26137
  height: ["h_var", {
26105
26138
  "--height": `${mobileFooterHeightPx}px`
26106
26139
  }]
26107
26140
  }) }),
26108
- showFooter && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime123.trussProps)({
26109
- position: "fixed",
26110
- bottom: "bottom0",
26111
- width: ["w_var", {
26112
- "--width": (0, import_runtime123.maybeCssVar)(__maybeInc26(headerWidth))
26113
- }],
26114
- height: ["h_var", {
26115
- "--height": `${mobileFooterHeightPx}px`
26116
- }],
26117
- zIndex: ["z_var", {
26118
- "--zIndex": (0, import_runtime123.maybeCssVar)(zIndices.pageStickyFooter)
26119
- }],
26120
- display: "df",
26121
- alignItems: "aic",
26122
- justifyContent: "jcfe",
26123
- gap: "gap1",
26124
- paddingLeft: "pl3",
26125
- paddingRight: "pr3",
26126
- borderTopStyle: "bts_solid",
26127
- borderTopWidth: "btw_1px",
26128
- borderColor: ["bc_var", {
26129
- "--borderColor": "var(--b-surface-separator)"
26130
- }],
26131
- backgroundColor: ["bgColor_var", {
26132
- "--backgroundColor": "var(--b-surface)"
26133
- }]
26141
+ showFooter && /* @__PURE__ */ (0, import_jsx_runtime213.jsx)("div", { ...(0, import_runtime124.trussProps)({
26142
+ ...{
26143
+ position: "fixed",
26144
+ bottom: "bottom0",
26145
+ width: ["w_var", {
26146
+ "--width": (0, import_runtime124.maybeCssVar)(__maybeInc26(headerWidth))
26147
+ }],
26148
+ height: ["h_var", {
26149
+ "--height": `${mobileFooterHeightPx}px`
26150
+ }],
26151
+ zIndex: ["z_var", {
26152
+ "--zIndex": (0, import_runtime124.maybeCssVar)(zIndices.pageStickyFooter)
26153
+ }],
26154
+ display: "df",
26155
+ alignItems: "aic",
26156
+ justifyContent: "jcfe",
26157
+ gap: "gap1",
26158
+ borderTopStyle: "bts_solid",
26159
+ borderTopWidth: "btw_1px",
26160
+ borderColor: ["bc_var", {
26161
+ "--borderColor": "var(--b-surface-separator)"
26162
+ }],
26163
+ backgroundColor: ["bgColor_var", {
26164
+ "--backgroundColor": "var(--b-surface)"
26165
+ }]
26166
+ },
26167
+ ...pageContentPaddingX
26134
26168
  }), ...tid.footer, children: buttons })
26135
26169
  ] }) });
26136
26170
  }
26137
26171
  var mobileFooterHeightPx = 80;
26172
+ function isValidStep(steps, value) {
26173
+ return steps.some((step) => step.value === value);
26174
+ }
26175
+ function getInitialStep(steps, defaultStep) {
26176
+ return defaultStep !== void 0 && isValidStep(steps, defaultStep) ? defaultStep : steps[0]?.value;
26177
+ }
26138
26178
  // Annotate the CommonJS export names for ESM import in node:
26139
26179
  0 && (module.exports = {
26140
26180
  ASC,
@@ -26383,6 +26423,7 @@ var mobileFooterHeightPx = 80;
26383
26423
  getNavLinkStyles,
26384
26424
  getTableRefWidthStyles,
26385
26425
  getTableStyles,
26426
+ headerContentPaddingX,
26386
26427
  headerRenderFn,
26387
26428
  hoverStyles,
26388
26429
  increment,
@@ -26412,6 +26453,8 @@ var mobileFooterHeightPx = 80;
26412
26453
  nonKindGridColumnKeys,
26413
26454
  numberRangeFilter,
26414
26455
  numericColumn,
26456
+ pageContentGutterPx,
26457
+ pageContentPaddingX,
26415
26458
  parseDate,
26416
26459
  parseDateRange,
26417
26460
  parseWidthToPx,