@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 +114 -87
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -2
- package/dist/index.d.ts +15 -2
- package/dist/index.js +84 -58
- package/dist/index.js.map +1 -1
- package/dist/truss.css +4 -6
- package/package.json +1 -1
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/
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
27259
|
+
"--zIndex": (0, import_runtime138.maybeCssVar)(zIndices.environmentBanner)
|
|
27234
27260
|
}],
|
|
27235
27261
|
width: ["w_var", {
|
|
27236
|
-
"--width": (0,
|
|
27262
|
+
"--width": (0, import_runtime138.maybeCssVar)(__maybeInc27(innerWidth))
|
|
27237
27263
|
}]
|
|
27238
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */ (0,
|
|
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
|
|
27245
|
-
var
|
|
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,
|
|
27257
|
-
/* @__PURE__ */ (0,
|
|
27258
|
-
/* @__PURE__ */ (0,
|
|
27259
|
-
/* @__PURE__ */ (0,
|
|
27260
|
-
/* @__PURE__ */ (0,
|
|
27261
|
-
(withAutoSave || actions) && /* @__PURE__ */ (0,
|
|
27262
|
-
withAutoSave && /* @__PURE__ */ (0,
|
|
27263
|
-
actions?.map((action) => action.kind === "icon" ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
27459
|
+
"--zIndex": (0, import_runtime140.maybeCssVar)(zIndices.navbar)
|
|
27434
27460
|
}],
|
|
27435
27461
|
width: ["w_var", {
|
|
27436
|
-
"--width": (0,
|
|
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,
|
|
27471
|
+
"--zIndex": (0, import_runtime140.maybeCssVar)(zIndices.navbar)
|
|
27446
27472
|
}],
|
|
27447
27473
|
width: ["w_var", {
|
|
27448
|
-
"--width": (0,
|
|
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,
|
|
27458
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
27470
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
27479
|
-
var
|
|
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,
|
|
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,
|
|
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,
|
|
27520
|
-
breadcrumbs && /* @__PURE__ */ (0,
|
|
27521
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
27538
|
-
var
|
|
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,
|
|
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
|
|
27555
|
-
var
|
|
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,
|
|
27612
|
+
"--left": (0, import_runtime143.maybeCssVar)(__maybeInc29(headerLeft))
|
|
27587
27613
|
}],
|
|
27588
27614
|
width: ["w_var", {
|
|
27589
|
-
"--width": (0,
|
|
27615
|
+
"--width": (0, import_runtime143.maybeCssVar)(__maybeInc29(headerWidth))
|
|
27590
27616
|
}],
|
|
27591
27617
|
zIndex: ["z_var", {
|
|
27592
|
-
"--zIndex": (0,
|
|
27618
|
+
"--zIndex": (0, import_runtime143.maybeCssVar)(zIndices.pageStickyHeader)
|
|
27593
27619
|
}]
|
|
27594
27620
|
} : {
|
|
27595
27621
|
position: "fixed",
|
|
27596
27622
|
left: ["left_var", {
|
|
27597
|
-
"--left": (0,
|
|
27623
|
+
"--left": (0, import_runtime143.maybeCssVar)(__maybeInc29(headerLeft))
|
|
27598
27624
|
}],
|
|
27599
27625
|
width: ["w_var", {
|
|
27600
|
-
"--width": (0,
|
|
27626
|
+
"--width": (0, import_runtime143.maybeCssVar)(__maybeInc29(headerWidth))
|
|
27601
27627
|
}],
|
|
27602
27628
|
zIndex: ["z_var", {
|
|
27603
|
-
"--zIndex": (0,
|
|
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,
|
|
27611
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
27622
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
27698
|
-
/* @__PURE__ */ (0,
|
|
27699
|
-
/* @__PURE__ */ (0,
|
|
27700
|
-
/* @__PURE__ */ (0,
|
|
27701
|
-
onSaveAndExit && /* @__PURE__ */ (0,
|
|
27702
|
-
isLastStep ? /* @__PURE__ */ (0,
|
|
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
|
|
27709
|
-
var
|
|
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,
|
|
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,
|
|
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,
|
|
27786
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
27821
|
+
"--width": (0, import_runtime144.maybeCssVar)(__maybeInc30(headerWidth))
|
|
27796
27822
|
}],
|
|
27797
27823
|
zIndex: ["z_var", {
|
|
27798
|
-
"--zIndex": (0,
|
|
27824
|
+
"--zIndex": (0, import_runtime144.maybeCssVar)(zIndices.pageStickyHeader)
|
|
27799
27825
|
}],
|
|
27800
27826
|
top: ["top_var", {
|
|
27801
|
-
"--top": (0,
|
|
27827
|
+
"--top": (0, import_runtime144.maybeCssVar)(__maybeInc30(outerTop))
|
|
27802
27828
|
}]
|
|
27803
27829
|
}), ...tid.header, children: headerEl }),
|
|
27804
|
-
/* @__PURE__ */ (0,
|
|
27805
|
-
showFooter && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|