@homebound/beam 3.83.0 → 3.84.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
@@ -77,6 +77,7 @@ __export(index_exports, {
77
77
  ButtonMenu: () => ButtonMenu,
78
78
  ButtonModal: () => ButtonModal,
79
79
  Card: () => Card,
80
+ CenteredLayout: () => CenteredLayout,
80
81
  Checkbox: () => Checkbox,
81
82
  CheckboxGroup: () => CheckboxGroup,
82
83
  Chip: () => Chip,
@@ -27196,9 +27197,34 @@ function SideNavLayoutContent(props) {
27196
27197
  ] }) });
27197
27198
  }
27198
27199
 
27199
- // src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
27200
+ // src/layouts/CenteredLayout/CenteredLayout.tsx
27200
27201
  var import_runtime137 = require("@homebound/truss/runtime");
27201
27202
  var import_jsx_runtime217 = require("react/jsx-runtime");
27203
+ var centeredMaxWidthPx = {
27204
+ sm: 768,
27205
+ lg: 1440
27206
+ };
27207
+ function CenteredLayout(props) {
27208
+ const {
27209
+ size,
27210
+ children
27211
+ } = props;
27212
+ const tid = useTestIds(props, "centeredLayout");
27213
+ return /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { ...(0, import_runtime137.trussProps)({
27214
+ width: "w100",
27215
+ maxWidth: ["maxw_var", {
27216
+ "--maxWidth": `${centeredMaxWidthPx[size]}px`
27217
+ }],
27218
+ marginLeft: "mla",
27219
+ marginRight: "mra",
27220
+ paddingLeft: "pl_12px mdandup_pl3",
27221
+ paddingRight: "pr_12px mdandup_pr3"
27222
+ }), ...tid, children });
27223
+ }
27224
+
27225
+ // src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
27226
+ var import_runtime138 = require("@homebound/truss/runtime");
27227
+ var import_jsx_runtime218 = require("react/jsx-runtime");
27202
27228
  var __maybeInc27 = (inc) => {
27203
27229
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
27204
27230
  };
@@ -27214,35 +27240,35 @@ function EnvironmentBannerLayout(props) {
27214
27240
  [beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
27215
27241
  };
27216
27242
  const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
27217
- return /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ (0, import_jsx_runtime217.jsxs)("div", { ...(0, import_runtime137.mergeProps)(void 0, style, {
27243
+ return /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { ...(0, import_runtime138.mergeProps)(void 0, style, {
27218
27244
  display: "df",
27219
27245
  flexDirection: "fdc",
27220
27246
  width: "wfc",
27221
27247
  minWidth: "mw100"
27222
27248
  }), ...tid, children: [
27223
- showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { ...(0, import_runtime137.mergeProps)(void 0, {
27249
+ showBanner && environmentBanner && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("div", { ...(0, import_runtime138.mergeProps)(void 0, {
27224
27250
  height: environmentBannerSizePx
27225
27251
  }, {
27226
27252
  flexShrink: "fs0",
27227
27253
  width: "w100"
27228
- }), children: /* @__PURE__ */ (0, import_jsx_runtime217.jsx)("div", { ...(0, import_runtime137.trussProps)({
27254
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("div", { ...(0, import_runtime138.trussProps)({
27229
27255
  position: "fixed",
27230
27256
  top: "top0",
27231
27257
  left: "left0",
27232
27258
  zIndex: ["z_var", {
27233
- "--zIndex": (0, import_runtime137.maybeCssVar)(zIndices.environmentBanner)
27259
+ "--zIndex": (0, import_runtime138.maybeCssVar)(zIndices.environmentBanner)
27234
27260
  }],
27235
27261
  width: ["w_var", {
27236
- "--width": (0, import_runtime137.maybeCssVar)(__maybeInc27(innerWidth))
27262
+ "--width": (0, import_runtime138.maybeCssVar)(__maybeInc27(innerWidth))
27237
27263
  }]
27238
- }), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime217.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
27264
+ }), ...tid.bannerSticky, children: /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
27239
27265
  children
27240
27266
  ] }) }) });
27241
27267
  }
27242
27268
 
27243
27269
  // src/layouts/FormSectionLayout/FormSectionLayout.tsx
27244
- var import_runtime138 = require("@homebound/truss/runtime");
27245
- var import_jsx_runtime218 = require("react/jsx-runtime");
27270
+ var import_runtime139 = require("@homebound/truss/runtime");
27271
+ var import_jsx_runtime219 = require("react/jsx-runtime");
27246
27272
  function FormSectionLayout(props) {
27247
27273
  const {
27248
27274
  title,
@@ -27253,17 +27279,17 @@ function FormSectionLayout(props) {
27253
27279
  sections
27254
27280
  } = props;
27255
27281
  const tid = useTestIds(props, "formSectionLayout");
27256
- return /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { className: "df fdc gap8 w100 pt4 maxw_720px mla mra sm_pl2 sm_pr2", ...tid, children: [
27257
- /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { className: "df fdc gap3", children: [
27258
- /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { className: "df fdc jcsb gap_12px", children: [
27259
- /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { className: "df jcsb aic", children: [
27260
- /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("h1", { className: "fw6 fz_20px lh_28px", ...tid.title, children: title }),
27261
- (withAutoSave || actions) && /* @__PURE__ */ (0, import_jsx_runtime218.jsxs)("div", { className: "df gap1 fs0", ...tid.actions, children: [
27262
- withAutoSave && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(AutoSaveIndicator, {}),
27263
- actions?.map((action) => action.kind === "icon" ? /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(IconButton, { ...action, variant: "outline" }, action.icon) : /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(Button, { ...action }, `${action.label}`))
27282
+ return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(CenteredLayout, { size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)("div", { className: "df fdc gap8 pt4", ...tid, children: [
27283
+ /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)("div", { className: "df fdc gap3", children: [
27284
+ /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)("div", { className: "df fdc jcsb gap_12px", children: [
27285
+ /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)("div", { className: "df jcsb aic", children: [
27286
+ /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("h1", { className: "fw6 fz_20px lh_28px", ...tid.title, children: title }),
27287
+ (withAutoSave || actions) && /* @__PURE__ */ (0, import_jsx_runtime219.jsxs)("div", { className: "df gap1 fs0", ...tid.actions, children: [
27288
+ withAutoSave && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(AutoSaveIndicator, {}),
27289
+ actions?.map((action) => action.kind === "icon" ? /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(IconButton, { ...action, variant: "outline" }, action.icon) : /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(Button, { ...action }, `${action.label}`))
27264
27290
  ] })
27265
27291
  ] }),
27266
- description && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("div", { ...(0, import_runtime138.trussProps)({
27292
+ description && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("div", { ...(0, import_runtime139.trussProps)({
27267
27293
  fontWeight: "fw4",
27268
27294
  fontSize: "fz_14px",
27269
27295
  lineHeight: "lh_20px",
@@ -27274,13 +27300,13 @@ function FormSectionLayout(props) {
27274
27300
  ] }),
27275
27301
  initialFields
27276
27302
  ] }),
27277
- sections && /* @__PURE__ */ (0, import_jsx_runtime218.jsx)("div", { className: "df fdc gap8", children: sections.map((section, i) => /* @__PURE__ */ (0, import_jsx_runtime218.jsx)(FormSection, { ...section }, defaultTestId(section.title) || i)) })
27278
- ] });
27303
+ sections && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)("div", { className: "df fdc gap8", children: sections.map((section, i) => /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(FormSection, { ...section }, defaultTestId(section.title) || i)) })
27304
+ ] }) });
27279
27305
  }
27280
27306
 
27281
27307
  // src/layouts/NavbarLayout/NavbarLayout.tsx
27282
27308
  var import_react156 = require("react");
27283
- var import_runtime139 = require("@homebound/truss/runtime");
27309
+ var import_runtime140 = require("@homebound/truss/runtime");
27284
27310
 
27285
27311
  // src/layouts/useAutoHideOnScroll.ts
27286
27312
  var import_react153 = require("react");
@@ -27373,7 +27399,7 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
27373
27399
  }
27374
27400
 
27375
27401
  // src/layouts/useMeasuredHeight.ts
27376
- var import_utils181 = require("@react-aria/utils");
27402
+ var import_utils182 = require("@react-aria/utils");
27377
27403
  var import_react154 = require("react");
27378
27404
  function useMeasuredHeight(ref, enabled) {
27379
27405
  const [height, setHeight] = (0, import_react154.useState)(0);
@@ -27382,7 +27408,7 @@ function useMeasuredHeight(ref, enabled) {
27382
27408
  const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
27383
27409
  setHeight((prev) => prev === next ? prev : next);
27384
27410
  }, [ref]);
27385
- (0, import_utils181.useResizeObserver)({ ref, onResize: syncElementHeight });
27411
+ (0, import_utils182.useResizeObserver)({ ref, onResize: syncElementHeight });
27386
27412
  (0, import_react154.useLayoutEffect)(() => {
27387
27413
  syncElementHeight();
27388
27414
  }, [enabled, syncElementHeight]);
@@ -27391,17 +27417,17 @@ function useMeasuredHeight(ref, enabled) {
27391
27417
 
27392
27418
  // src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
27393
27419
  var import_react155 = require("react");
27394
- var import_jsx_runtime219 = require("react/jsx-runtime");
27420
+ var import_jsx_runtime220 = require("react/jsx-runtime");
27395
27421
  var NavbarLayoutHeightContext = (0, import_react155.createContext)(0);
27396
27422
  function NavbarLayoutHeightProvider({ value, children }) {
27397
- return /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
27423
+ return /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(NavbarLayoutHeightContext.Provider, { value, children });
27398
27424
  }
27399
27425
  function useNavbarLayoutHeight() {
27400
27426
  return (0, import_react155.useContext)(NavbarLayoutHeightContext);
27401
27427
  }
27402
27428
 
27403
27429
  // src/layouts/NavbarLayout/NavbarLayout.tsx
27404
- var import_jsx_runtime220 = require("react/jsx-runtime");
27430
+ var import_jsx_runtime221 = require("react/jsx-runtime");
27405
27431
  var __maybeInc28 = (inc) => {
27406
27432
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
27407
27433
  };
@@ -27430,10 +27456,10 @@ function NavbarLayout(props) {
27430
27456
  position: "sticky",
27431
27457
  left: "left0",
27432
27458
  zIndex: ["z_var", {
27433
- "--zIndex": (0, import_runtime139.maybeCssVar)(zIndices.navbar)
27459
+ "--zIndex": (0, import_runtime140.maybeCssVar)(zIndices.navbar)
27434
27460
  }],
27435
27461
  width: ["w_var", {
27436
- "--width": (0, import_runtime139.maybeCssVar)(__maybeInc28(innerWidth))
27462
+ "--width": (0, import_runtime140.maybeCssVar)(__maybeInc28(innerWidth))
27437
27463
  }]
27438
27464
  }
27439
27465
  ) : (
@@ -27442,10 +27468,10 @@ function NavbarLayout(props) {
27442
27468
  position: "fixed",
27443
27469
  left: "left0",
27444
27470
  zIndex: ["z_var", {
27445
- "--zIndex": (0, import_runtime139.maybeCssVar)(zIndices.navbar)
27471
+ "--zIndex": (0, import_runtime140.maybeCssVar)(zIndices.navbar)
27446
27472
  }],
27447
27473
  width: ["w_var", {
27448
- "--width": (0, import_runtime139.maybeCssVar)(__maybeInc28(innerWidth))
27474
+ "--width": (0, import_runtime140.maybeCssVar)(__maybeInc28(innerWidth))
27449
27475
  }],
27450
27476
  transition: "transitionTop"
27451
27477
  }
@@ -27454,20 +27480,20 @@ function NavbarLayout(props) {
27454
27480
  const innerStyle = autoHideState !== "static" ? {
27455
27481
  top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
27456
27482
  } : void 0;
27457
- const navbarEl = (0, import_react156.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(Navbar, { ...navbar }), [navbar]);
27458
- return /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)(MobileSubNavProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime220.jsxs)("div", { ...(0, import_runtime139.mergeProps)(void 0, cssVars, {
27483
+ const navbarEl = (0, import_react156.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(Navbar, { ...navbar }), [navbar]);
27484
+ return /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(MobileSubNavProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)("div", { ...(0, import_runtime140.mergeProps)(void 0, cssVars, {
27459
27485
  display: "df",
27460
27486
  flexDirection: "fdc",
27461
27487
  width: "wfc",
27462
27488
  minWidth: "mw100"
27463
27489
  }), ...tid, children: [
27464
- /* @__PURE__ */ (0, import_jsx_runtime220.jsx)("div", { ref: spacerRef, ...(0, import_runtime139.mergeProps)(void 0, {
27490
+ /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { ref: spacerRef, ...(0, import_runtime140.mergeProps)(void 0, {
27465
27491
  height: navHeight
27466
27492
  }, {
27467
27493
  flexShrink: "fs0",
27468
27494
  width: "w100"
27469
- }), children: /* @__PURE__ */ (0, import_jsx_runtime220.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime139.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
27470
- /* @__PURE__ */ (0, import_jsx_runtime220.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
27495
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { ref: navMetricsRef, ...(0, import_runtime140.mergeProps)(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
27496
+ /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
27471
27497
  ] }) }) }) });
27472
27498
  }
27473
27499
 
@@ -27475,8 +27501,8 @@ function NavbarLayout(props) {
27475
27501
  var import_react157 = require("react");
27476
27502
 
27477
27503
  // src/components/Headers/BaseHeader.tsx
27478
- var import_runtime140 = require("@homebound/truss/runtime");
27479
- var import_jsx_runtime221 = require("react/jsx-runtime");
27504
+ var import_runtime141 = require("@homebound/truss/runtime");
27505
+ var import_jsx_runtime222 = require("react/jsx-runtime");
27480
27506
  function BaseHeader(props) {
27481
27507
  const {
27482
27508
  title,
@@ -27488,7 +27514,7 @@ function BaseHeader(props) {
27488
27514
  } = props;
27489
27515
  const tid = useTestIds(otherProps, "header");
27490
27516
  useDocumentTitle(title, documentTitleSuffix);
27491
- return /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)("header", { ...tid, ...(0, import_runtime140.trussProps)({
27517
+ return /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("header", { ...tid, ...(0, import_runtime141.trussProps)({
27492
27518
  display: "df",
27493
27519
  flexDirection: "fdc",
27494
27520
  paddingTop: "pt3",
@@ -27502,7 +27528,7 @@ function BaseHeader(props) {
27502
27528
  "--backgroundColor": "var(--b-surface)"
27503
27529
  }]
27504
27530
  }), children: [
27505
- /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)("div", { ...(0, import_runtime140.trussProps)({
27531
+ /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { ...(0, import_runtime141.trussProps)({
27506
27532
  ...{
27507
27533
  display: "df",
27508
27534
  justifyContent: "jcsb",
@@ -27516,9 +27542,9 @@ function BaseHeader(props) {
27516
27542
  } : {}
27517
27543
  }
27518
27544
  }), children: [
27519
- /* @__PURE__ */ (0, import_jsx_runtime221.jsxs)("div", { className: "mw0", children: [
27520
- breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime221.jsx)(Breadcrumbs, { ...breadcrumbs }),
27521
- /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("h1", { ...tid.title, ...(0, import_runtime140.trussProps)({
27545
+ /* @__PURE__ */ (0, import_jsx_runtime222.jsxs)("div", { className: "mw0", children: [
27546
+ breadcrumbs && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(Breadcrumbs, { ...breadcrumbs }),
27547
+ /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("h1", { ...tid.title, ...(0, import_runtime141.trussProps)({
27522
27548
  fontWeight: "fw6",
27523
27549
  fontSize: "fz_20px",
27524
27550
  lineHeight: "lh_28px",
@@ -27527,22 +27553,22 @@ function BaseHeader(props) {
27527
27553
  }]
27528
27554
  }), children: title })
27529
27555
  ] }),
27530
- /* @__PURE__ */ (0, import_jsx_runtime221.jsx)("div", { className: "fs0", children: rightSlot })
27556
+ /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { className: "fs0", children: rightSlot })
27531
27557
  ] }),
27532
27558
  bottomSlot
27533
27559
  ] });
27534
27560
  }
27535
27561
 
27536
27562
  // src/components/Headers/PageHeader.tsx
27537
- var import_runtime141 = require("@homebound/truss/runtime");
27538
- var import_jsx_runtime222 = require("react/jsx-runtime");
27563
+ var import_runtime142 = require("@homebound/truss/runtime");
27564
+ var import_jsx_runtime223 = require("react/jsx-runtime");
27539
27565
  function PageHeader2(props) {
27540
27566
  const {
27541
27567
  tabs,
27542
27568
  ...otherProps
27543
27569
  } = props;
27544
27570
  const tid = useTestIds(otherProps, "header");
27545
- return /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ (0, import_jsx_runtime222.jsx)("div", { ...(0, import_runtime141.trussProps)(pageContentPaddingX), children: /* @__PURE__ */ (0, import_jsx_runtime222.jsx)(Tabs, { ...tabs, ...tid.tabs }) }) });
27571
+ return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { ...(0, import_runtime142.trussProps)(pageContentPaddingX), children: /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(Tabs, { ...tabs, ...tid.tabs }) }) });
27546
27572
  }
27547
27573
 
27548
27574
  // src/layouts/useBannerAndNavbarHeight.ts
@@ -27551,8 +27577,8 @@ function useBannerAndNavbarHeight() {
27551
27577
  }
27552
27578
 
27553
27579
  // src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
27554
- var import_runtime142 = require("@homebound/truss/runtime");
27555
- var import_jsx_runtime223 = require("react/jsx-runtime");
27580
+ var import_runtime143 = require("@homebound/truss/runtime");
27581
+ var import_jsx_runtime224 = require("react/jsx-runtime");
27556
27582
  var __maybeInc29 = (inc) => {
27557
27583
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
27558
27584
  };
@@ -27583,43 +27609,43 @@ function PageHeaderLayout(props) {
27583
27609
  const innerCss = autoHideState === "static" ? {
27584
27610
  position: "sticky",
27585
27611
  left: ["left_var", {
27586
- "--left": (0, import_runtime142.maybeCssVar)(__maybeInc29(headerLeft))
27612
+ "--left": (0, import_runtime143.maybeCssVar)(__maybeInc29(headerLeft))
27587
27613
  }],
27588
27614
  width: ["w_var", {
27589
- "--width": (0, import_runtime142.maybeCssVar)(__maybeInc29(headerWidth))
27615
+ "--width": (0, import_runtime143.maybeCssVar)(__maybeInc29(headerWidth))
27590
27616
  }],
27591
27617
  zIndex: ["z_var", {
27592
- "--zIndex": (0, import_runtime142.maybeCssVar)(zIndices.pageStickyHeader)
27618
+ "--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.pageStickyHeader)
27593
27619
  }]
27594
27620
  } : {
27595
27621
  position: "fixed",
27596
27622
  left: ["left_var", {
27597
- "--left": (0, import_runtime142.maybeCssVar)(__maybeInc29(headerLeft))
27623
+ "--left": (0, import_runtime143.maybeCssVar)(__maybeInc29(headerLeft))
27598
27624
  }],
27599
27625
  width: ["w_var", {
27600
- "--width": (0, import_runtime142.maybeCssVar)(__maybeInc29(headerWidth))
27626
+ "--width": (0, import_runtime143.maybeCssVar)(__maybeInc29(headerWidth))
27601
27627
  }],
27602
27628
  zIndex: ["z_var", {
27603
- "--zIndex": (0, import_runtime142.maybeCssVar)(zIndices.pageStickyHeader)
27629
+ "--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.pageStickyHeader)
27604
27630
  }],
27605
27631
  transition: "transitionTop"
27606
27632
  };
27607
27633
  const innerStyle = autoHideState !== "static" ? {
27608
27634
  top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
27609
27635
  } : void 0;
27610
- const pageHeaderEl = (0, import_react157.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
27611
- return /* @__PURE__ */ (0, import_jsx_runtime223.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime223.jsxs)("div", { ...(0, import_runtime142.mergeProps)(void 0, cssVars, {
27636
+ const pageHeaderEl = (0, import_react157.useMemo)(() => /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(PageHeader2, { ...pageHeader }), [pageHeader]);
27637
+ return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime224.jsxs)("div", { ...(0, import_runtime143.mergeProps)(void 0, cssVars, {
27612
27638
  display: "df",
27613
27639
  flexDirection: "fdc",
27614
27640
  width: "w100"
27615
27641
  }), ...tid, children: [
27616
- /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { ref: spacerRef, ...(0, import_runtime142.mergeProps)(void 0, {
27642
+ /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ref: spacerRef, ...(0, import_runtime143.mergeProps)(void 0, {
27617
27643
  height: headerHeight
27618
27644
  }, {
27619
27645
  flexShrink: "fs0",
27620
27646
  width: "w100"
27621
- }), children: /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime142.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
27622
- /* @__PURE__ */ (0, import_jsx_runtime223.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
27647
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime143.mergeProps)(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
27648
+ /* @__PURE__ */ (0, import_jsx_runtime224.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
27623
27649
  ] }) });
27624
27650
  }
27625
27651
 
@@ -27627,17 +27653,17 @@ function PageHeaderLayout(props) {
27627
27653
  var import_react159 = require("react");
27628
27654
 
27629
27655
  // src/components/Headers/WorkflowHeader.tsx
27630
- var import_jsx_runtime224 = require("react/jsx-runtime");
27656
+ var import_jsx_runtime225 = require("react/jsx-runtime");
27631
27657
  function WorkflowHeader(props) {
27632
27658
  const { stepperTabs, ...otherProps } = props;
27633
27659
  const tid = useTestIds(otherProps, "header");
27634
- return /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(BaseHeader, { ...otherProps, bottomSlot: /* @__PURE__ */ (0, import_jsx_runtime224.jsx)(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) });
27660
+ return /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(BaseHeader, { ...otherProps, bottomSlot: /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) });
27635
27661
  }
27636
27662
 
27637
27663
  // src/layouts/WorkflowLayout/useUnsavedChangesGuard.tsx
27638
27664
  var import_react158 = require("react");
27639
27665
  var import_react_router_dom9 = require("react-router-dom");
27640
- var import_jsx_runtime225 = require("react/jsx-runtime");
27666
+ var import_jsx_runtime226 = require("react/jsx-runtime");
27641
27667
  function useUnsavedChangesGuard(options) {
27642
27668
  const { isDirty, onCancel } = options;
27643
27669
  const { openModal } = useModal();
@@ -27660,7 +27686,7 @@ function useUnsavedChangesGuard(options) {
27660
27686
  }
27661
27687
  openModal({
27662
27688
  allowClosing: false,
27663
- content: /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
27689
+ content: /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(ConfirmCloseModal, { onClose: () => onCancel(e) })
27664
27690
  });
27665
27691
  };
27666
27692
  const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
@@ -27672,7 +27698,7 @@ function UnsavedChangesNavigationModal(props) {
27672
27698
  (0, import_react158.useEffect)(() => {
27673
27699
  openModal({
27674
27700
  allowClosing: false,
27675
- content: /* @__PURE__ */ (0, import_jsx_runtime225.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
27701
+ content: /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
27676
27702
  });
27677
27703
  return () => closeModal();
27678
27704
  }, []);
@@ -27680,7 +27706,7 @@ function UnsavedChangesNavigationModal(props) {
27680
27706
  }
27681
27707
 
27682
27708
  // src/layouts/WorkflowLayout/WorkflowActions.tsx
27683
- var import_jsx_runtime226 = require("react/jsx-runtime");
27709
+ var import_jsx_runtime227 = require("react/jsx-runtime");
27684
27710
  function WorkflowActions(props) {
27685
27711
  const {
27686
27712
  isFirstStep,
@@ -27694,19 +27720,19 @@ function WorkflowActions(props) {
27694
27720
  onContinue,
27695
27721
  primaryDisabled
27696
27722
  } = props;
27697
- return /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
27698
- /* @__PURE__ */ (0, import_jsx_runtime226.jsx)("div", { className: "df aic", children: !isFirstStep && isMobile && /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
27699
- /* @__PURE__ */ (0, import_jsx_runtime226.jsxs)("div", { className: "df aic gap1", children: [
27700
- /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
27701
- onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
27702
- isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(Button, { label: completeLabel, variant: "primary", onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ (0, import_jsx_runtime226.jsx)(Button, { label: "Continue", variant: "primary", onClick: onContinue, disabled: primaryDisabled })
27723
+ return /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)("div", { className: "df aic jcsb sm_w100", children: [
27724
+ /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { className: "df aic", children: !isFirstStep && isMobile && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
27725
+ /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)("div", { className: "df aic gap1", children: [
27726
+ /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
27727
+ onSaveAndExit && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
27728
+ isLastStep ? /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(Button, { label: completeLabel, variant: "primary", onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(Button, { label: "Continue", variant: "primary", onClick: onContinue, disabled: primaryDisabled })
27703
27729
  ] })
27704
27730
  ] });
27705
27731
  }
27706
27732
 
27707
27733
  // src/layouts/WorkflowLayout/WorkflowLayout.tsx
27708
- var import_runtime143 = require("@homebound/truss/runtime");
27709
- var import_jsx_runtime227 = require("react/jsx-runtime");
27734
+ var import_runtime144 = require("@homebound/truss/runtime");
27735
+ var import_jsx_runtime228 = require("react/jsx-runtime");
27710
27736
  var __maybeInc30 = (inc) => {
27711
27737
  return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
27712
27738
  };
@@ -27748,7 +27774,7 @@ function WorkflowLayout(props) {
27748
27774
  const isFirstStep = currentIndex <= 0;
27749
27775
  const isLastStep = currentIndex === stepTabs.length - 1;
27750
27776
  const activeStep = stepTabs[currentIndex];
27751
- const buttons = /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => setCurrentStep(stepTabs[currentIndex - 1].value), onCancel: onCancelClick, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !activeStep?.isValid, onContinue: async () => {
27777
+ const buttons = /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => setCurrentStep(stepTabs[currentIndex - 1].value), onCancel: onCancelClick, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !activeStep?.isValid, onContinue: async () => {
27752
27778
  const onContinue = activeStep?.onContinue;
27753
27779
  if (onContinue) {
27754
27780
  const allowed = await onContinue();
@@ -27769,7 +27795,7 @@ function WorkflowLayout(props) {
27769
27795
  }
27770
27796
  };
27771
27797
  }, [showFooter]);
27772
- const headerEl = /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(
27798
+ const headerEl = /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(
27773
27799
  WorkflowHeader,
27774
27800
  {
27775
27801
  ...headerProps,
@@ -27782,44 +27808,44 @@ function WorkflowLayout(props) {
27782
27808
  }
27783
27809
  }
27784
27810
  );
27785
- return /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)(DocumentScrollLayoutProvider, { children: [
27786
- /* @__PURE__ */ (0, import_jsx_runtime227.jsxs)("div", { ...(0, import_runtime143.mergeProps)(void 0, cssVars, {
27811
+ return /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)(DocumentScrollLayoutProvider, { children: [
27812
+ /* @__PURE__ */ (0, import_jsx_runtime228.jsxs)("div", { ...(0, import_runtime144.mergeProps)(void 0, cssVars, {
27787
27813
  display: "df",
27788
27814
  flexDirection: "fdc",
27789
27815
  width: "w100"
27790
27816
  }), ...tid, children: [
27791
- /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime143.trussProps)({
27817
+ /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("div", { ref: headerMetricsRef, ...(0, import_runtime144.trussProps)({
27792
27818
  position: "sticky",
27793
27819
  left: "left0",
27794
27820
  width: ["w_var", {
27795
- "--width": (0, import_runtime143.maybeCssVar)(__maybeInc30(headerWidth))
27821
+ "--width": (0, import_runtime144.maybeCssVar)(__maybeInc30(headerWidth))
27796
27822
  }],
27797
27823
  zIndex: ["z_var", {
27798
- "--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.pageStickyHeader)
27824
+ "--zIndex": (0, import_runtime144.maybeCssVar)(zIndices.pageStickyHeader)
27799
27825
  }],
27800
27826
  top: ["top_var", {
27801
- "--top": (0, import_runtime143.maybeCssVar)(__maybeInc30(outerTop))
27827
+ "--top": (0, import_runtime144.maybeCssVar)(__maybeInc30(outerTop))
27802
27828
  }]
27803
27829
  }), ...tid.header, children: headerEl }),
27804
- /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children: activeStep?.content }),
27805
- showFooter && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ...(0, import_runtime143.trussProps)({
27830
+ /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children: activeStep?.content }),
27831
+ showFooter && /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("div", { ...(0, import_runtime144.trussProps)({
27806
27832
  flexShrink: "fs0",
27807
27833
  width: "w100",
27808
27834
  height: ["h_var", {
27809
27835
  "--height": `${mobileFooterHeightPx}px`
27810
27836
  }]
27811
- }), children: /* @__PURE__ */ (0, import_jsx_runtime227.jsx)("div", { ...(0, import_runtime143.trussProps)({
27837
+ }), children: /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("div", { ...(0, import_runtime144.trussProps)({
27812
27838
  ...{
27813
27839
  position: "fixed",
27814
27840
  bottom: "bottom0",
27815
27841
  width: ["w_var", {
27816
- "--width": (0, import_runtime143.maybeCssVar)(__maybeInc30(headerWidth))
27842
+ "--width": (0, import_runtime144.maybeCssVar)(__maybeInc30(headerWidth))
27817
27843
  }],
27818
27844
  height: ["h_var", {
27819
27845
  "--height": `${mobileFooterHeightPx}px`
27820
27846
  }],
27821
27847
  zIndex: ["z_var", {
27822
- "--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.pageStickyFooter)
27848
+ "--zIndex": (0, import_runtime144.maybeCssVar)(zIndices.pageStickyFooter)
27823
27849
  }],
27824
27850
  display: "df",
27825
27851
  alignItems: "aic",
@@ -27837,7 +27863,7 @@ function WorkflowLayout(props) {
27837
27863
  ...pageContentPaddingX
27838
27864
  }), ...tid.footer, children: buttons }) })
27839
27865
  ] }),
27840
- navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime227.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
27866
+ navigationBlocker && /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(UnsavedChangesNavigationModal, { ...navigationBlocker })
27841
27867
  ] });
27842
27868
  }
27843
27869
  var mobileFooterHeightPx = 80;
@@ -27896,6 +27922,7 @@ function getInitialStep(steps, defaultStep) {
27896
27922
  ButtonMenu,
27897
27923
  ButtonModal,
27898
27924
  Card,
27925
+ CenteredLayout,
27899
27926
  Checkbox,
27900
27927
  CheckboxGroup,
27901
27928
  Chip,