@homebound/beam 3.79.0 → 3.81.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/Css.json +8 -1
- package/dist/index.cjs +404 -263
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +4 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +42 -3
- package/dist/index.d.ts +42 -3
- package/dist/index.js +330 -189
- package/dist/index.js.map +1 -1
- package/dist/truss.css +2 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -23,6 +23,8 @@ import {
|
|
|
23
23
|
// src/Css.ts
|
|
24
24
|
import { __invertTrussMediaQuery, trussProps, useRuntimeStyle as _useRuntimeStyle } from "@homebound/truss/runtime";
|
|
25
25
|
var Tokens = /* @__PURE__ */ ((Tokens4) => {
|
|
26
|
+
Tokens4["AiFieldBg"] = "--b-ai-field-bg";
|
|
27
|
+
Tokens4["AiFieldFg"] = "--b-ai-field-fg";
|
|
26
28
|
Tokens4["ButtonCautionDisabledBg"] = "--b-button-caution-disabled-bg";
|
|
27
29
|
Tokens4["ButtonCautionDisabledFg"] = "--b-button-caution-disabled-fg";
|
|
28
30
|
Tokens4["ButtonDangerDisabledBg"] = "--b-button-danger-disabled-bg";
|
|
@@ -76,8 +78,8 @@ var Tokens = /* @__PURE__ */ ((Tokens4) => {
|
|
|
76
78
|
Tokens4["NeutralSurfacePressed"] = "--b-neutral-surface-pressed";
|
|
77
79
|
Tokens4["OnPrimary"] = "--b-on-primary";
|
|
78
80
|
Tokens4["OnSurface"] = "--b-on-surface";
|
|
79
|
-
Tokens4["OnSurfaceMuted"] = "--b-on-surface-muted";
|
|
80
81
|
Tokens4["OnSurfaceDisabled"] = "--b-on-surface-disabled";
|
|
82
|
+
Tokens4["OnSurfaceMuted"] = "--b-on-surface-muted";
|
|
81
83
|
Tokens4["OnSurfaceRaisedHover"] = "--b-on-surface-raised-hover";
|
|
82
84
|
Tokens4["OnSurfaceRaisedPressed"] = "--b-on-surface-raised-pressed";
|
|
83
85
|
Tokens4["Primary"] = "--b-primary";
|
|
@@ -87,11 +89,11 @@ var Tokens = /* @__PURE__ */ ((Tokens4) => {
|
|
|
87
89
|
Tokens4["SelectionFill"] = "--b-selection-fill";
|
|
88
90
|
Tokens4["SelectionIndicator"] = "--b-selection-indicator";
|
|
89
91
|
Tokens4["Surface"] = "--b-surface";
|
|
92
|
+
Tokens4["SurfaceDisabled"] = "--b-surface-disabled";
|
|
90
93
|
Tokens4["SurfaceHover"] = "--b-surface-hover";
|
|
91
94
|
Tokens4["SurfaceRaised"] = "--b-surface-raised";
|
|
92
95
|
Tokens4["SurfaceRaisedHover"] = "--b-surface-raised-hover";
|
|
93
96
|
Tokens4["SurfaceRaisedPressed"] = "--b-surface-raised-pressed";
|
|
94
|
-
Tokens4["SurfaceDisabled"] = "--b-surface-disabled";
|
|
95
97
|
Tokens4["SurfaceSeparator"] = "--b-surface-separator";
|
|
96
98
|
Tokens4["SurfaceSubtle"] = "--b-surface-subtle";
|
|
97
99
|
Tokens4["TextDisabled"] = "--b-text-disabled";
|
|
@@ -143,6 +145,10 @@ var CssBuilder = class _CssBuilder {
|
|
|
143
145
|
get bcTransparent() {
|
|
144
146
|
return this.add("borderColor", "rgba(0,0,0,0)");
|
|
145
147
|
}
|
|
148
|
+
/** Sets `borderColor: "rgba(0, 0, 0, 1)"`. */
|
|
149
|
+
get bcBlack() {
|
|
150
|
+
return this.add("borderColor", "rgba(0, 0, 0, 1)");
|
|
151
|
+
}
|
|
146
152
|
/** Sets `borderColor: "rgba(255, 253, 253, 1)"`. */
|
|
147
153
|
get bcGray50() {
|
|
148
154
|
return this.add("borderColor", "rgba(255, 253, 253, 1)");
|
|
@@ -1803,6 +1809,10 @@ var CssBuilder = class _CssBuilder {
|
|
|
1803
1809
|
get transparent() {
|
|
1804
1810
|
return this.add("color", "rgba(0,0,0,0)");
|
|
1805
1811
|
}
|
|
1812
|
+
/** Sets `color: "rgba(0, 0, 0, 1)"`. */
|
|
1813
|
+
get black() {
|
|
1814
|
+
return this.add("color", "rgba(0, 0, 0, 1)");
|
|
1815
|
+
}
|
|
1806
1816
|
/** Sets `color: "rgba(255, 253, 253, 1)"`. */
|
|
1807
1817
|
get gray50() {
|
|
1808
1818
|
return this.add("color", "rgba(255, 253, 253, 1)");
|
|
@@ -2095,6 +2105,10 @@ var CssBuilder = class _CssBuilder {
|
|
|
2095
2105
|
get bgTransparent() {
|
|
2096
2106
|
return this.add("backgroundColor", "rgba(0,0,0,0)");
|
|
2097
2107
|
}
|
|
2108
|
+
/** Sets `backgroundColor: "rgba(0, 0, 0, 1)"`. */
|
|
2109
|
+
get bgBlack() {
|
|
2110
|
+
return this.add("backgroundColor", "rgba(0, 0, 0, 1)");
|
|
2111
|
+
}
|
|
2098
2112
|
/** Sets `backgroundColor: "rgba(255, 253, 253, 1)"`. */
|
|
2099
2113
|
get bgGray50() {
|
|
2100
2114
|
return this.add("backgroundColor", "rgba(255, 253, 253, 1)");
|
|
@@ -2387,6 +2401,10 @@ var CssBuilder = class _CssBuilder {
|
|
|
2387
2401
|
get fTransparent() {
|
|
2388
2402
|
return this.add("fill", "rgba(0,0,0,0)");
|
|
2389
2403
|
}
|
|
2404
|
+
/** Sets `fill: "rgba(0, 0, 0, 1)"`. */
|
|
2405
|
+
get fBlack() {
|
|
2406
|
+
return this.add("fill", "rgba(0, 0, 0, 1)");
|
|
2407
|
+
}
|
|
2390
2408
|
/** Sets `fill: "rgba(255, 253, 253, 1)"`. */
|
|
2391
2409
|
get fGray50() {
|
|
2392
2410
|
return this.add("fill", "rgba(255, 253, 253, 1)");
|
|
@@ -3841,6 +3859,28 @@ var CssBuilder = class _CssBuilder {
|
|
|
3841
3859
|
z(value) {
|
|
3842
3860
|
return this.add("zIndex", value);
|
|
3843
3861
|
}
|
|
3862
|
+
// ai
|
|
3863
|
+
/** Sets `backgroundImage: "radial-gradient(40% 1000% at 35.83% 62.18%, rgba(239, 246, 255, 1) 0%, rgba(237, 233, 254, 1) 100%)"`. */
|
|
3864
|
+
get aiBackground() {
|
|
3865
|
+
return this.add(
|
|
3866
|
+
"backgroundImage",
|
|
3867
|
+
"radial-gradient(40% 1000% at 35.83% 62.18%, rgba(239, 246, 255, 1) 0%, rgba(237, 233, 254, 1) 100%)"
|
|
3868
|
+
);
|
|
3869
|
+
}
|
|
3870
|
+
/** Sets `backgroundImage: "linear-gradient(270deg, rgba(29, 78, 216, 1) 2.97%, rgba(109, 40, 217, 1) 87.08%)"`. */
|
|
3871
|
+
get aiBoldBg() {
|
|
3872
|
+
return this.add(
|
|
3873
|
+
"backgroundImage",
|
|
3874
|
+
"linear-gradient(270deg, rgba(29, 78, 216, 1) 2.97%, rgba(109, 40, 217, 1) 87.08%)"
|
|
3875
|
+
);
|
|
3876
|
+
}
|
|
3877
|
+
/** Sets `color: "rgba(109, 40, 217, 1)"; backgroundImage: "linear-gradient(270deg, rgba(29, 78, 216, 1) 2.97%, rgba(109, 40, 217, 1) 87.08%)"; backgroundClip: "text"; WebkitBackgroundClip: "text"; WebkitTextFillColor: "transparent"`. */
|
|
3878
|
+
get aiBoldText() {
|
|
3879
|
+
return this.add("color", "rgba(109, 40, 217, 1)").add(
|
|
3880
|
+
"backgroundImage",
|
|
3881
|
+
"linear-gradient(270deg, rgba(29, 78, 216, 1) 2.97%, rgba(109, 40, 217, 1) 87.08%)"
|
|
3882
|
+
).add("backgroundClip", "text").add("WebkitBackgroundClip", "text").add("WebkitTextFillColor", "transparent");
|
|
3883
|
+
}
|
|
3844
3884
|
// fontFamily
|
|
3845
3885
|
/** Sets `fontFamily: "'Inter', sans-serif"`. */
|
|
3846
3886
|
get sansSerif() {
|
|
@@ -4121,6 +4161,7 @@ function omitUndefinedValues(value) {
|
|
|
4121
4161
|
var Palette = /* @__PURE__ */ ((Palette2) => {
|
|
4122
4162
|
Palette2["White"] = "rgba(255, 255, 255, 1)";
|
|
4123
4163
|
Palette2["Transparent"] = "rgba(0,0,0,0)";
|
|
4164
|
+
Palette2["Black"] = "rgba(0, 0, 0, 1)";
|
|
4124
4165
|
Palette2["Gray50"] = "rgba(255, 253, 253, 1)";
|
|
4125
4166
|
Palette2["Gray100"] = "rgba(247, 245, 245, 1)";
|
|
4126
4167
|
Palette2["Gray200"] = "rgba(236, 235, 235, 1)";
|
|
@@ -10321,6 +10362,37 @@ function getButtonStyles(variant, size) {
|
|
|
10321
10362
|
};
|
|
10322
10363
|
}
|
|
10323
10364
|
var variantStyles2 = {
|
|
10365
|
+
// Design applies their "AI Bold" ramp to the existing primary button. They haven't specified
|
|
10366
|
+
// hover/pressed/disabled, so those ramps are extrapolated from it rather than design-sourced.
|
|
10367
|
+
ai: {
|
|
10368
|
+
baseStyles: {
|
|
10369
|
+
backgroundImage: "aiBoldBg",
|
|
10370
|
+
color: ["color_var", {
|
|
10371
|
+
"--color": "var(--b-on-primary)"
|
|
10372
|
+
}]
|
|
10373
|
+
},
|
|
10374
|
+
hoverStyles: {
|
|
10375
|
+
backgroundImage: ["backgroundImage_var", {
|
|
10376
|
+
"--backgroundImage": maybeCssVar14(`linear-gradient(270deg, ${"rgba(30, 64, 175, 1)" /* Blue800 */}, ${"rgba(91, 33, 182, 1)" /* Purple800 */})`)
|
|
10377
|
+
}]
|
|
10378
|
+
},
|
|
10379
|
+
pressedStyles: {
|
|
10380
|
+
backgroundImage: ["backgroundImage_var", {
|
|
10381
|
+
"--backgroundImage": maybeCssVar14(`linear-gradient(270deg, ${"rgba(30, 58, 138, 1)" /* Blue900 */}, ${"rgba(76, 29, 149, 1)" /* Purple900 */})`)
|
|
10382
|
+
}]
|
|
10383
|
+
},
|
|
10384
|
+
disabledStyles: {
|
|
10385
|
+
backgroundImage: ["backgroundImage_var", {
|
|
10386
|
+
"--backgroundImage": maybeCssVar14(`linear-gradient(270deg, ${"rgba(191, 219, 254, 1)" /* Blue200 */}, ${"rgba(221, 214, 254, 1)" /* Purple200 */})`)
|
|
10387
|
+
}],
|
|
10388
|
+
color: ["color_var", {
|
|
10389
|
+
"--color": "var(--b-button-primary-disabled-fg)"
|
|
10390
|
+
}]
|
|
10391
|
+
},
|
|
10392
|
+
focusStyles: {
|
|
10393
|
+
boxShadow: "bshFocus"
|
|
10394
|
+
}
|
|
10395
|
+
},
|
|
10324
10396
|
primary: {
|
|
10325
10397
|
baseStyles: {
|
|
10326
10398
|
backgroundColor: ["bgColor_var", {
|
|
@@ -24763,40 +24835,82 @@ function AppNavItems(props) {
|
|
|
24763
24835
|
|
|
24764
24836
|
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
24765
24837
|
import { AnimatePresence as AnimatePresence6, motion as motion6 } from "framer-motion";
|
|
24766
|
-
import { useEffect as useEffect35, useState as
|
|
24838
|
+
import { useEffect as useEffect35, useState as useState54 } from "react";
|
|
24767
24839
|
import { FocusScope as FocusScope5, usePreventScroll as usePreventScroll3 } from "react-aria";
|
|
24768
24840
|
import { createPortal as createPortal7 } from "react-dom";
|
|
24769
24841
|
import { useLocation } from "react-router-dom";
|
|
24842
|
+
|
|
24843
|
+
// src/layouts/NavbarLayout/MobileSubNavContext.tsx
|
|
24844
|
+
import { createContext as createContext14, useContext as useContext26, useLayoutEffect as useLayoutEffect9, useMemo as useMemo52, useState as useState53 } from "react";
|
|
24845
|
+
import { jsx as jsx199 } from "react/jsx-runtime";
|
|
24846
|
+
var MobileSubNavContext = createContext14(void 0);
|
|
24847
|
+
function MobileSubNavProvider(props) {
|
|
24848
|
+
const [mobileSubNav, setMobileSubNav] = useState53(null);
|
|
24849
|
+
const value = useMemo52(() => ({ mobileSubNav, setMobileSubNav }), [mobileSubNav]);
|
|
24850
|
+
return /* @__PURE__ */ jsx199(MobileSubNavContext.Provider, { value, children: props.children });
|
|
24851
|
+
}
|
|
24852
|
+
function useMobileSubNav() {
|
|
24853
|
+
return useContext26(MobileSubNavContext)?.mobileSubNav ?? null;
|
|
24854
|
+
}
|
|
24855
|
+
function useRegisterMobileSubNav(content) {
|
|
24856
|
+
const ctx = useContext26(MobileSubNavContext);
|
|
24857
|
+
const setMobileSubNav = ctx?.setMobileSubNav;
|
|
24858
|
+
const enabled = !useBreakpoint().mdAndUp;
|
|
24859
|
+
const { top, items, footer } = content;
|
|
24860
|
+
useLayoutEffect9(() => {
|
|
24861
|
+
if (!setMobileSubNav || !enabled) return;
|
|
24862
|
+
setMobileSubNav({ top, items, footer });
|
|
24863
|
+
}, [setMobileSubNav, enabled, top, items, footer]);
|
|
24864
|
+
useLayoutEffect9(() => {
|
|
24865
|
+
if (!setMobileSubNav || !enabled) return;
|
|
24866
|
+
return () => setMobileSubNav(null);
|
|
24867
|
+
}, [setMobileSubNav, enabled]);
|
|
24868
|
+
return ctx !== void 0 && enabled;
|
|
24869
|
+
}
|
|
24870
|
+
|
|
24871
|
+
// src/components/Navbar/NavbarMobileMenu.tsx
|
|
24770
24872
|
import { trussProps as trussProps111, mergeProps as mergeProps31, maybeCssVar as maybeCssVar54 } from "@homebound/truss/runtime";
|
|
24771
|
-
import { Fragment as Fragment44, jsx as
|
|
24873
|
+
import { Fragment as Fragment44, jsx as jsx200, jsxs as jsxs98 } from "react/jsx-runtime";
|
|
24772
24874
|
function NavbarMobileMenu(props) {
|
|
24773
24875
|
const {
|
|
24774
24876
|
items
|
|
24775
24877
|
} = props;
|
|
24776
24878
|
const tid = useTestIds(props, "navbar");
|
|
24777
|
-
const [isOpen, setIsOpen] =
|
|
24879
|
+
const [isOpen, setIsOpen] = useState54(false);
|
|
24880
|
+
const [level, setLevel] = useState54("sub");
|
|
24778
24881
|
const {
|
|
24779
24882
|
pathname,
|
|
24780
24883
|
search
|
|
24781
24884
|
} = useLocation();
|
|
24885
|
+
const mobileSubNav = useMobileSubNav();
|
|
24782
24886
|
usePreventScroll3({
|
|
24783
24887
|
isDisabled: !isOpen
|
|
24784
24888
|
});
|
|
24889
|
+
const close = () => setIsOpen(false);
|
|
24785
24890
|
useEffect35(() => {
|
|
24786
|
-
|
|
24891
|
+
close();
|
|
24787
24892
|
}, [pathname, search]);
|
|
24788
|
-
const close = () => setIsOpen(false);
|
|
24789
24893
|
return /* @__PURE__ */ jsxs98(Fragment44, { children: [
|
|
24790
|
-
/* @__PURE__ */
|
|
24894
|
+
/* @__PURE__ */ jsx200(IconButton, { icon: isOpen ? "menuClose" : "menu", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: isOpen ? "Close navigation" : "Open navigation", onClick: () => {
|
|
24895
|
+
if (isOpen) {
|
|
24896
|
+
close();
|
|
24897
|
+
return;
|
|
24898
|
+
}
|
|
24899
|
+
setLevel("sub");
|
|
24900
|
+
setIsOpen(true);
|
|
24901
|
+
}, ...tid.mobileMenu }),
|
|
24791
24902
|
createPortal7(
|
|
24792
24903
|
/* AnimatePresence keeps the drawer mounted through its slide/fade-out before unmounting.*/
|
|
24793
|
-
/* @__PURE__ */
|
|
24904
|
+
/* @__PURE__ */ jsx200(AnimatePresence6, { children: isOpen && /* @__PURE__ */ jsx200(NavbarMobileDrawer, { items, mobileSubNav, level, onLevelChange: setLevel, onClose: close, tid }) }),
|
|
24794
24905
|
document.body
|
|
24795
24906
|
)
|
|
24796
24907
|
] });
|
|
24797
24908
|
}
|
|
24798
24909
|
function NavbarMobileDrawer({
|
|
24799
24910
|
items,
|
|
24911
|
+
mobileSubNav,
|
|
24912
|
+
level,
|
|
24913
|
+
onLevelChange,
|
|
24800
24914
|
onClose,
|
|
24801
24915
|
tid
|
|
24802
24916
|
}) {
|
|
@@ -24804,8 +24918,9 @@ function NavbarMobileDrawer({
|
|
|
24804
24918
|
const overlayTopStyle = {
|
|
24805
24919
|
top: bannerHeightPx
|
|
24806
24920
|
};
|
|
24921
|
+
const showSubLevel = mobileSubNav != null && level === "sub";
|
|
24807
24922
|
return /* @__PURE__ */ jsxs98(Fragment44, { children: [
|
|
24808
|
-
/* @__PURE__ */
|
|
24923
|
+
/* @__PURE__ */ jsx200(motion6.div, { ...mergeProps31(void 0, overlayTopStyle, {
|
|
24809
24924
|
position: "fixed",
|
|
24810
24925
|
right: "right0",
|
|
24811
24926
|
bottom: "bottom0",
|
|
@@ -24826,7 +24941,7 @@ function NavbarMobileDrawer({
|
|
|
24826
24941
|
ease: "linear",
|
|
24827
24942
|
duration: 0.2
|
|
24828
24943
|
}, onClick: onClose, ...tid.mobileMenuScrim }, "navbarMobileMenuScrim"),
|
|
24829
|
-
/* @__PURE__ */
|
|
24944
|
+
/* @__PURE__ */ jsx200(FocusScope5, { autoFocus: true, contain: true, restoreFocus: true, children: /* @__PURE__ */ jsxs98(motion6.aside, { role: "dialog", "aria-modal": "true", "aria-label": "Navigation", ...mergeProps31(void 0, overlayTopStyle, {
|
|
24830
24945
|
position: "fixed",
|
|
24831
24946
|
bottom: "bottom0",
|
|
24832
24947
|
left: "left0",
|
|
@@ -24851,11 +24966,11 @@ function NavbarMobileDrawer({
|
|
|
24851
24966
|
ease: "linear",
|
|
24852
24967
|
duration: 0.2
|
|
24853
24968
|
}, onClick: (e) => e.stopPropagation(), ...tid.mobileMenuDrawer, children: [
|
|
24854
|
-
/* @__PURE__ */
|
|
24969
|
+
/* @__PURE__ */ jsxs98("div", { ...trussProps111({
|
|
24855
24970
|
...{
|
|
24856
24971
|
display: "df",
|
|
24857
24972
|
alignItems: "aic",
|
|
24858
|
-
justifyContent: "
|
|
24973
|
+
justifyContent: "jcsb",
|
|
24859
24974
|
paddingTop: "pt_12px",
|
|
24860
24975
|
paddingBottom: "pb_12px",
|
|
24861
24976
|
flexShrink: "fs0",
|
|
@@ -24866,38 +24981,63 @@ function NavbarMobileDrawer({
|
|
|
24866
24981
|
}]
|
|
24867
24982
|
},
|
|
24868
24983
|
...pageContentPaddingX
|
|
24869
|
-
}), children:
|
|
24870
|
-
|
|
24871
|
-
"
|
|
24984
|
+
}), children: [
|
|
24985
|
+
/* @__PURE__ */ jsx200("div", { className: "mw0", children: showSubLevel && /* @__PURE__ */ jsx200(Button, { label: "Main Menu", icon: "chevronLeft", variant: "quaternary", size: "sm", onClick: () => onLevelChange("global"), ...tid.mobileMenuMainMenu }) }),
|
|
24986
|
+
/* @__PURE__ */ jsx200(IconButton, { icon: "x", color: "--b-on-surface-muted" /* OnSurfaceMuted */, label: "Close navigation", onClick: onClose, ...tid.mobileMenuClose })
|
|
24987
|
+
] }),
|
|
24988
|
+
/* @__PURE__ */ jsx200("div", { className: "fg1 mh0 oh relative", children: /* @__PURE__ */ jsx200(AnimatePresence6, { initial: false, children: /* @__PURE__ */ jsxs98(
|
|
24989
|
+
motion6.nav,
|
|
24872
24990
|
{
|
|
24873
24991
|
...trussProps111({
|
|
24874
24992
|
...{
|
|
24875
|
-
|
|
24993
|
+
position: "absolute",
|
|
24994
|
+
top: "top0",
|
|
24995
|
+
bottom: "bottom0",
|
|
24996
|
+
left: "left0",
|
|
24997
|
+
right: "right0",
|
|
24876
24998
|
overflowY: "oya",
|
|
24877
|
-
paddingBottom: "pb3",
|
|
24878
|
-
paddingTop: "pt2",
|
|
24879
24999
|
display: "df",
|
|
24880
25000
|
flexDirection: "fdc",
|
|
24881
|
-
gap: "gap_4px"
|
|
25001
|
+
gap: "gap_4px",
|
|
25002
|
+
paddingTop: "pt2",
|
|
25003
|
+
paddingBottom: "pb3"
|
|
24882
25004
|
},
|
|
24883
25005
|
...pageContentPaddingX
|
|
24884
25006
|
}),
|
|
25007
|
+
initial: {
|
|
25008
|
+
x: "-100%"
|
|
25009
|
+
},
|
|
25010
|
+
animate: {
|
|
25011
|
+
x: 0
|
|
25012
|
+
},
|
|
25013
|
+
exit: {
|
|
25014
|
+
x: "100%"
|
|
25015
|
+
},
|
|
25016
|
+
transition: {
|
|
25017
|
+
ease: "linear",
|
|
25018
|
+
duration: 0.2
|
|
25019
|
+
},
|
|
24885
25020
|
onClickCapture: (e) => {
|
|
24886
25021
|
if (e.target.closest("a")) {
|
|
24887
25022
|
onClose();
|
|
24888
25023
|
}
|
|
24889
25024
|
},
|
|
24890
25025
|
...tid.mobileMenuPanel,
|
|
24891
|
-
children:
|
|
24892
|
-
|
|
24893
|
-
|
|
25026
|
+
children: [
|
|
25027
|
+
showSubLevel && mobileSubNav?.top,
|
|
25028
|
+
/* @__PURE__ */ jsx200(AppNavItems, { items: showSubLevel && mobileSubNav ? mobileSubNav.items : items, panelCollapsed: false, ...tid }),
|
|
25029
|
+
showSubLevel && mobileSubNav?.footer
|
|
25030
|
+
]
|
|
25031
|
+
},
|
|
25032
|
+
showSubLevel ? "sub" : "global"
|
|
25033
|
+
) }) })
|
|
24894
25034
|
] }, "navbarMobileMenuDrawer") })
|
|
24895
25035
|
] });
|
|
24896
25036
|
}
|
|
24897
25037
|
|
|
24898
25038
|
// src/components/Navbar/Navbar.tsx
|
|
24899
25039
|
import { trussProps as trussProps112 } from "@homebound/truss/runtime";
|
|
24900
|
-
import { jsx as
|
|
25040
|
+
import { jsx as jsx201, jsxs as jsxs99 } from "react/jsx-runtime";
|
|
24901
25041
|
function Navbar(props) {
|
|
24902
25042
|
const {
|
|
24903
25043
|
brand,
|
|
@@ -24916,7 +25056,7 @@ function Navbar(props) {
|
|
|
24916
25056
|
overflows
|
|
24917
25057
|
} = useContentOverflow(!sm);
|
|
24918
25058
|
const showMobile = sm || overflows;
|
|
24919
|
-
return /* @__PURE__ */
|
|
25059
|
+
return /* @__PURE__ */ jsx201(ContrastScope, { children: /* @__PURE__ */ jsxs99("nav", { ...trussProps112({
|
|
24920
25060
|
...{
|
|
24921
25061
|
backgroundColor: ["bgColor_var", {
|
|
24922
25062
|
"--backgroundColor": "var(--b-surface-raised)"
|
|
@@ -24934,8 +25074,8 @@ function Navbar(props) {
|
|
|
24934
25074
|
}), ...tid, children: [
|
|
24935
25075
|
/* @__PURE__ */ jsxs99("div", { className: "df aic gap3 fg1 mw0", children: [
|
|
24936
25076
|
/* @__PURE__ */ jsxs99("div", { className: "df aic fs0 gap2", children: [
|
|
24937
|
-
showMobile && /* @__PURE__ */
|
|
24938
|
-
/* @__PURE__ */
|
|
25077
|
+
showMobile && /* @__PURE__ */ jsx201(NavbarMobileMenu, { items, ...tid }),
|
|
25078
|
+
/* @__PURE__ */ jsx201("div", { ...trussProps112({
|
|
24939
25079
|
flexShrink: "fs0",
|
|
24940
25080
|
...hideBrandOnMobile && showMobile ? {
|
|
24941
25081
|
display: "dn"
|
|
@@ -24944,7 +25084,7 @@ function Navbar(props) {
|
|
|
24944
25084
|
] }),
|
|
24945
25085
|
!sm && // Stays mounted while overflowing (hidden) so the items remain measurable and the bar
|
|
24946
25086
|
// can expand again as space frees up.
|
|
24947
|
-
/* @__PURE__ */
|
|
25087
|
+
/* @__PURE__ */ jsx201("div", { ref: containerRef, ...trussProps112({
|
|
24948
25088
|
display: "df",
|
|
24949
25089
|
alignItems: "aic",
|
|
24950
25090
|
flexGrow: "fg1",
|
|
@@ -24953,11 +25093,11 @@ function Navbar(props) {
|
|
|
24953
25093
|
...overflows ? {
|
|
24954
25094
|
visibility: "visibility_hidden"
|
|
24955
25095
|
} : {}
|
|
24956
|
-
}), ...tid.items, children: /* @__PURE__ */
|
|
25096
|
+
}), ...tid.items, children: /* @__PURE__ */ jsx201("div", { ref: contentRef, className: "df aic gap2 width_max_content", children: /* @__PURE__ */ jsx201(AppNavItems, { variant: "global", items, ...tid }) }) })
|
|
24957
25097
|
] }),
|
|
24958
25098
|
/* @__PURE__ */ jsxs99("div", { className: "df aic gap1", children: [
|
|
24959
|
-
rightSlot && /* @__PURE__ */
|
|
24960
|
-
user && /* @__PURE__ */
|
|
25099
|
+
rightSlot && /* @__PURE__ */ jsx201("div", { className: "df aic gap1", ...tid.rightSlot, children: rightSlot }),
|
|
25100
|
+
user && /* @__PURE__ */ jsx201(NavbarUserMenu, { user, ...tid.userMenu })
|
|
24961
25101
|
] })
|
|
24962
25102
|
] }) });
|
|
24963
25103
|
}
|
|
@@ -24965,7 +25105,7 @@ function NavbarUserMenu({
|
|
|
24965
25105
|
user,
|
|
24966
25106
|
...tid
|
|
24967
25107
|
}) {
|
|
24968
|
-
return /* @__PURE__ */
|
|
25108
|
+
return /* @__PURE__ */ jsx201("div", { className: "df aic fs0 ml1", children: /* @__PURE__ */ jsx201(ButtonMenu, { items: user.menuItems, persistentItems: user.persistentItems, trigger: {
|
|
24969
25109
|
src: user.picture,
|
|
24970
25110
|
name: user.name,
|
|
24971
25111
|
size: "sm",
|
|
@@ -24975,7 +25115,7 @@ function NavbarUserMenu({
|
|
|
24975
25115
|
|
|
24976
25116
|
// src/components/Pagination.tsx
|
|
24977
25117
|
import { trussProps as trussProps113 } from "@homebound/truss/runtime";
|
|
24978
|
-
import { jsx as
|
|
25118
|
+
import { jsx as jsx202, jsxs as jsxs100 } from "react/jsx-runtime";
|
|
24979
25119
|
var defaultPage = {
|
|
24980
25120
|
offset: 0,
|
|
24981
25121
|
limit: 100
|
|
@@ -25024,8 +25164,8 @@ function Pagination(props) {
|
|
|
25024
25164
|
paddingRight: "pr2",
|
|
25025
25165
|
paddingTop: "pt2"
|
|
25026
25166
|
}), ...tid, children: [
|
|
25027
|
-
/* @__PURE__ */
|
|
25028
|
-
/* @__PURE__ */
|
|
25167
|
+
/* @__PURE__ */ jsx202("div", { className: "df mta mba mr2", ...tid.pageSizeLabel, children: "Page size:" }),
|
|
25168
|
+
/* @__PURE__ */ jsx202("div", { className: "w_78px", children: /* @__PURE__ */ jsx202(SelectField, { compact: true, label: "Page Size", labelStyle: "hidden", options: pageOptions, value: pageSize, onSelect: (val) => set({
|
|
25029
25169
|
pageNumber: 1,
|
|
25030
25170
|
pageSize: val
|
|
25031
25171
|
}), autoSort: false, ...tid.pageSize }) }),
|
|
@@ -25037,11 +25177,11 @@ function Pagination(props) {
|
|
|
25037
25177
|
" of ",
|
|
25038
25178
|
totalCount
|
|
25039
25179
|
] }),
|
|
25040
|
-
/* @__PURE__ */
|
|
25180
|
+
/* @__PURE__ */ jsx202(IconButton, { icon: "chevronLeft", color: hasPrevPage ? "--b-text-link-default" /* TextLinkDefault */ : "--b-surface-separator" /* SurfaceSeparator */, onClick: () => set({
|
|
25041
25181
|
pageNumber: pageNumber - 1,
|
|
25042
25182
|
pageSize
|
|
25043
25183
|
}), disabled: !hasPrevPage, ...tid.previousIcon }),
|
|
25044
|
-
/* @__PURE__ */
|
|
25184
|
+
/* @__PURE__ */ jsx202(IconButton, { icon: "chevronRight", color: hasNextPage ? "--b-text-link-default" /* TextLinkDefault */ : "--b-surface-separator" /* SurfaceSeparator */, onClick: () => set({
|
|
25045
25185
|
pageNumber: pageNumber + 1,
|
|
25046
25186
|
pageSize
|
|
25047
25187
|
}), disabled: !hasNextPage, ...tid.nextIcon })
|
|
@@ -25064,9 +25204,9 @@ function toPageNumberSize(page) {
|
|
|
25064
25204
|
|
|
25065
25205
|
// src/components/ScrollShadows.tsx
|
|
25066
25206
|
import { useResizeObserver as useResizeObserver9 } from "@react-aria/utils";
|
|
25067
|
-
import { useCallback as useCallback34, useMemo as
|
|
25207
|
+
import { useCallback as useCallback34, useMemo as useMemo53, useRef as useRef60, useState as useState55 } from "react";
|
|
25068
25208
|
import { trussProps as trussProps114, maybeCssVar as maybeCssVar55 } from "@homebound/truss/runtime";
|
|
25069
|
-
import { jsx as
|
|
25209
|
+
import { jsx as jsx203, jsxs as jsxs101 } from "react/jsx-runtime";
|
|
25070
25210
|
function ScrollShadows(props) {
|
|
25071
25211
|
const {
|
|
25072
25212
|
children,
|
|
@@ -25082,10 +25222,10 @@ function ScrollShadows(props) {
|
|
|
25082
25222
|
if (!bgColor.includes("rgba")) {
|
|
25083
25223
|
throw new Error("ScrollShadows: bgColor prop must be in the format 'rgba(255, 255, 255, 1)'");
|
|
25084
25224
|
}
|
|
25085
|
-
const [showStartShadow, setShowStartShadow] =
|
|
25086
|
-
const [showEndShadow, setShowEndShadow] =
|
|
25225
|
+
const [showStartShadow, setShowStartShadow] = useState55(false);
|
|
25226
|
+
const [showEndShadow, setShowEndShadow] = useState55(false);
|
|
25087
25227
|
const scrollRef = useRef60(null);
|
|
25088
|
-
const [startShadowStyles, endShadowStyles] =
|
|
25228
|
+
const [startShadowStyles, endShadowStyles] = useMemo53(() => {
|
|
25089
25229
|
const transparentBgColor = bgColor.replace(/,1\)$/, ",0)");
|
|
25090
25230
|
const commonStyles = {
|
|
25091
25231
|
position: "absolute",
|
|
@@ -25172,7 +25312,7 @@ function ScrollShadows(props) {
|
|
|
25172
25312
|
width: width2
|
|
25173
25313
|
}
|
|
25174
25314
|
}), ...tid, children: [
|
|
25175
|
-
/* @__PURE__ */
|
|
25315
|
+
/* @__PURE__ */ jsx203("div", { ...trussProps114({
|
|
25176
25316
|
...startShadowStyles,
|
|
25177
25317
|
...{
|
|
25178
25318
|
opacity: ["o_var", {
|
|
@@ -25180,7 +25320,7 @@ function ScrollShadows(props) {
|
|
|
25180
25320
|
}]
|
|
25181
25321
|
}
|
|
25182
25322
|
}), "data-chromatic": "ignore" }),
|
|
25183
|
-
/* @__PURE__ */
|
|
25323
|
+
/* @__PURE__ */ jsx203("div", { ...trussProps114({
|
|
25184
25324
|
...endShadowStyles,
|
|
25185
25325
|
...{
|
|
25186
25326
|
opacity: ["o_var", {
|
|
@@ -25188,7 +25328,7 @@ function ScrollShadows(props) {
|
|
|
25188
25328
|
}]
|
|
25189
25329
|
}
|
|
25190
25330
|
}), "data-chromatic": "ignore" }),
|
|
25191
|
-
/* @__PURE__ */
|
|
25331
|
+
/* @__PURE__ */ jsx203("div", { ...trussProps114({
|
|
25192
25332
|
...xss,
|
|
25193
25333
|
...{
|
|
25194
25334
|
overflow: "oa",
|
|
@@ -25201,15 +25341,15 @@ function ScrollShadows(props) {
|
|
|
25201
25341
|
|
|
25202
25342
|
// src/layouts/SideNavLayout/SideNavLayoutContext.tsx
|
|
25203
25343
|
import {
|
|
25204
|
-
createContext as
|
|
25344
|
+
createContext as createContext15,
|
|
25205
25345
|
useCallback as useCallback35,
|
|
25206
|
-
useContext as
|
|
25346
|
+
useContext as useContext27,
|
|
25207
25347
|
useEffect as useEffect36,
|
|
25208
|
-
useMemo as
|
|
25348
|
+
useMemo as useMemo54,
|
|
25209
25349
|
useRef as useRef61,
|
|
25210
|
-
useState as
|
|
25350
|
+
useState as useState56
|
|
25211
25351
|
} from "react";
|
|
25212
|
-
import { jsx as
|
|
25352
|
+
import { jsx as jsx204 } from "react/jsx-runtime";
|
|
25213
25353
|
var SIDE_NAV_LAYOUT_STATE_STORAGE_KEY = "beam.sideNavLayout.navState";
|
|
25214
25354
|
function loadStoredNavState() {
|
|
25215
25355
|
try {
|
|
@@ -25231,9 +25371,9 @@ function resolveInitialNavState(defaultNavState) {
|
|
|
25231
25371
|
}
|
|
25232
25372
|
return loadStoredNavState() ?? defaultNavState ?? "expanded";
|
|
25233
25373
|
}
|
|
25234
|
-
var SideNavLayoutContext =
|
|
25374
|
+
var SideNavLayoutContext = createContext15(void 0);
|
|
25235
25375
|
function SideNavLayoutProvider(props) {
|
|
25236
|
-
const [navState, setNavStateInternal] =
|
|
25376
|
+
const [navState, setNavStateInternal] = useState56(
|
|
25237
25377
|
() => resolveInitialNavState(props.defaultNavState)
|
|
25238
25378
|
);
|
|
25239
25379
|
const bp = useBreakpoint();
|
|
@@ -25256,20 +25396,20 @@ function SideNavLayoutProvider(props) {
|
|
|
25256
25396
|
return next;
|
|
25257
25397
|
});
|
|
25258
25398
|
}, []);
|
|
25259
|
-
const value =
|
|
25260
|
-
return /* @__PURE__ */
|
|
25399
|
+
const value = useMemo54(() => ({ navState, setNavState }), [navState, setNavState]);
|
|
25400
|
+
return /* @__PURE__ */ jsx204(SideNavLayoutContext.Provider, { value, children: props.children });
|
|
25261
25401
|
}
|
|
25262
25402
|
function useSideNavLayoutContext() {
|
|
25263
|
-
return
|
|
25403
|
+
return useContext27(SideNavLayoutContext) ?? { navState: "expanded", setNavState: () => {
|
|
25264
25404
|
} };
|
|
25265
25405
|
}
|
|
25266
25406
|
function useHasSideNavLayoutProvider() {
|
|
25267
|
-
return
|
|
25407
|
+
return useContext27(SideNavLayoutContext) !== void 0;
|
|
25268
25408
|
}
|
|
25269
25409
|
|
|
25270
25410
|
// src/components/SideNav/SideNav.tsx
|
|
25271
25411
|
import { trussProps as trussProps115 } from "@homebound/truss/runtime";
|
|
25272
|
-
import { jsx as
|
|
25412
|
+
import { jsx as jsx205, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
25273
25413
|
function SideNav(props) {
|
|
25274
25414
|
const {
|
|
25275
25415
|
top,
|
|
@@ -25283,7 +25423,7 @@ function SideNav(props) {
|
|
|
25283
25423
|
const panelCollapsed = navState === "collapse";
|
|
25284
25424
|
const hideOnCollapse = panelCollapsed && !allItemsHaveIcons(items);
|
|
25285
25425
|
return /* @__PURE__ */ jsxs102("nav", { className: "df fdc h100 fs0", ...tid, children: [
|
|
25286
|
-
top !== void 0 && /* @__PURE__ */
|
|
25426
|
+
top !== void 0 && /* @__PURE__ */ jsx205("div", { ...trussProps115({
|
|
25287
25427
|
flexShrink: "fs0",
|
|
25288
25428
|
paddingLeft: "pl2",
|
|
25289
25429
|
paddingRight: "pr2",
|
|
@@ -25294,7 +25434,7 @@ function SideNav(props) {
|
|
|
25294
25434
|
paddingBottom: "pb4"
|
|
25295
25435
|
} : {}
|
|
25296
25436
|
}), ...tid.top, children: top }),
|
|
25297
|
-
/* @__PURE__ */
|
|
25437
|
+
/* @__PURE__ */ jsx205("div", { ...trussProps115({
|
|
25298
25438
|
flexGrow: "fg1",
|
|
25299
25439
|
overflowY: "oya",
|
|
25300
25440
|
display: "df",
|
|
@@ -25306,8 +25446,8 @@ function SideNav(props) {
|
|
|
25306
25446
|
...top === void 0 ? {
|
|
25307
25447
|
paddingTop: "pt5"
|
|
25308
25448
|
} : {}
|
|
25309
|
-
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */
|
|
25310
|
-
footer !== void 0 && /* @__PURE__ */
|
|
25449
|
+
}), ...tid.items, children: !hideOnCollapse && /* @__PURE__ */ jsx205(AppNavItems, { items, panelCollapsed }) }),
|
|
25450
|
+
footer !== void 0 && /* @__PURE__ */ jsx205("div", { ...trussProps115({
|
|
25311
25451
|
flexShrink: "fs0",
|
|
25312
25452
|
paddingLeft: "pl2",
|
|
25313
25453
|
paddingRight: "pr2",
|
|
@@ -25385,7 +25525,7 @@ var snackbarId = 1;
|
|
|
25385
25525
|
import { useRef as useRef62 } from "react";
|
|
25386
25526
|
import { useButton as useButton12, useFocusRing as useFocusRing17, useHover as useHover21 } from "react-aria";
|
|
25387
25527
|
import { trussProps as trussProps116, maybeCssVar as maybeCssVar56 } from "@homebound/truss/runtime";
|
|
25388
|
-
import { jsx as
|
|
25528
|
+
import { jsx as jsx206, jsxs as jsxs103 } from "react/jsx-runtime";
|
|
25389
25529
|
import { createElement as createElement6 } from "react";
|
|
25390
25530
|
var __maybeInc25 = (inc) => {
|
|
25391
25531
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
@@ -25405,7 +25545,7 @@ function Stepper(props) {
|
|
|
25405
25545
|
const minStepWidth = 100;
|
|
25406
25546
|
const gap = 8;
|
|
25407
25547
|
return /* @__PURE__ */ jsxs103("nav", { "aria-label": "steps", className: "df fdc w100", ...tid, children: [
|
|
25408
|
-
/* @__PURE__ */
|
|
25548
|
+
/* @__PURE__ */ jsx206("ol", { ...trussProps116({
|
|
25409
25549
|
padding: "p_0",
|
|
25410
25550
|
margin: "m_0",
|
|
25411
25551
|
listStyle: "lis_none",
|
|
@@ -25425,9 +25565,9 @@ function Stepper(props) {
|
|
|
25425
25565
|
minWidth: ["mw_var", {
|
|
25426
25566
|
"--minWidth": `${minStepWidth}px`
|
|
25427
25567
|
}]
|
|
25428
|
-
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */
|
|
25568
|
+
}), key: step.label, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ jsx206(StepButton, { ...step, onClick: () => onChange(step.value), isCurrent, ...tid.stepButton }));
|
|
25429
25569
|
}) }),
|
|
25430
|
-
/* @__PURE__ */
|
|
25570
|
+
/* @__PURE__ */ jsx206("div", { ...trussProps116({
|
|
25431
25571
|
marginTop: "mt1",
|
|
25432
25572
|
backgroundColor: ["bgColor_var", {
|
|
25433
25573
|
"--backgroundColor": "var(--b-field-border-default)"
|
|
@@ -25440,7 +25580,7 @@ function Stepper(props) {
|
|
|
25440
25580
|
"--minWidth": `${steps.length * minStepWidth + (steps.length - 1) * gap}px`
|
|
25441
25581
|
}],
|
|
25442
25582
|
width: "w100"
|
|
25443
|
-
}), children: /* @__PURE__ */
|
|
25583
|
+
}), children: /* @__PURE__ */ jsx206("div", { ...trussProps116({
|
|
25444
25584
|
backgroundColor: ["bgColor_var", {
|
|
25445
25585
|
"--backgroundColor": "var(--b-primary)"
|
|
25446
25586
|
}],
|
|
@@ -25544,7 +25684,7 @@ function StepButton(props) {
|
|
|
25544
25684
|
} : {},
|
|
25545
25685
|
...isFocusVisible ? focusRingStyles2 : {}
|
|
25546
25686
|
}), ...tid[defaultTestId(label)], children: [
|
|
25547
|
-
/* @__PURE__ */
|
|
25687
|
+
/* @__PURE__ */ jsx206("span", { className: "fs0 mr_4px", children: /* @__PURE__ */ jsx206(StepIcon, { state, isHovered, isPressed, isCurrent }) }),
|
|
25548
25688
|
label
|
|
25549
25689
|
] });
|
|
25550
25690
|
}
|
|
@@ -25555,12 +25695,12 @@ function StepIcon({
|
|
|
25555
25695
|
isCurrent = false
|
|
25556
25696
|
}) {
|
|
25557
25697
|
if (state === "error") {
|
|
25558
|
-
return /* @__PURE__ */
|
|
25698
|
+
return /* @__PURE__ */ jsx206(Icon, { icon: "errorCircle" });
|
|
25559
25699
|
}
|
|
25560
25700
|
if (state === "complete") {
|
|
25561
|
-
return /* @__PURE__ */
|
|
25701
|
+
return /* @__PURE__ */ jsx206(Icon, { icon: "check" });
|
|
25562
25702
|
}
|
|
25563
|
-
return /* @__PURE__ */
|
|
25703
|
+
return /* @__PURE__ */ jsx206("div", { className: "w_24px h_24px df aic jcc", children: /* @__PURE__ */ jsx206("div", { ...trussProps116({
|
|
25564
25704
|
width: "w_10px",
|
|
25565
25705
|
height: "h_10px",
|
|
25566
25706
|
borderStyle: "bss",
|
|
@@ -25577,7 +25717,7 @@ function StepIcon({
|
|
|
25577
25717
|
import { useRef as useRef63 } from "react";
|
|
25578
25718
|
import { mergeProps as mergeProps32, useButton as useButton13, useFocusRing as useFocusRing18, useHover as useHover22, VisuallyHidden as VisuallyHidden10 } from "react-aria";
|
|
25579
25719
|
import { trussProps as trussProps117 } from "@homebound/truss/runtime";
|
|
25580
|
-
import { Fragment as Fragment45, jsx as
|
|
25720
|
+
import { Fragment as Fragment45, jsx as jsx207, jsxs as jsxs104 } from "react/jsx-runtime";
|
|
25581
25721
|
function StepperTab(props) {
|
|
25582
25722
|
const {
|
|
25583
25723
|
label,
|
|
@@ -25618,8 +25758,8 @@ function StepperTab(props) {
|
|
|
25618
25758
|
}), ...tid[defaultTestId(value)], children: [
|
|
25619
25759
|
!collapsed && /* @__PURE__ */ jsxs104(Fragment45, { children: [
|
|
25620
25760
|
/* @__PURE__ */ jsxs104("span", { className: "dg jic mw0", children: [
|
|
25621
|
-
/* @__PURE__ */
|
|
25622
|
-
/* @__PURE__ */
|
|
25761
|
+
/* @__PURE__ */ jsx207("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 }),
|
|
25762
|
+
/* @__PURE__ */ jsx207("span", { ...trussProps117({
|
|
25623
25763
|
gridArea: "gridArea_1_1",
|
|
25624
25764
|
overflow: "oh",
|
|
25625
25765
|
display: "d_negwebkit_box",
|
|
@@ -25634,7 +25774,7 @@ function StepperTab(props) {
|
|
|
25634
25774
|
} : {}
|
|
25635
25775
|
}), children: label })
|
|
25636
25776
|
] }),
|
|
25637
|
-
/* @__PURE__ */
|
|
25777
|
+
/* @__PURE__ */ jsx207("span", { ...trussProps117({
|
|
25638
25778
|
flexShrink: "fs0",
|
|
25639
25779
|
marginLeft: "ml1",
|
|
25640
25780
|
transition: "transitionAll",
|
|
@@ -25644,10 +25784,10 @@ function StepperTab(props) {
|
|
|
25644
25784
|
opacity: "o100",
|
|
25645
25785
|
transform: "transform_scale_1_translateY_0"
|
|
25646
25786
|
} : {}
|
|
25647
|
-
}), children: /* @__PURE__ */
|
|
25787
|
+
}), children: /* @__PURE__ */ jsx207(Icon, { icon: "check", inc: 2.5, ...tid.check }) })
|
|
25648
25788
|
] }),
|
|
25649
|
-
/* @__PURE__ */
|
|
25650
|
-
/* @__PURE__ */
|
|
25789
|
+
/* @__PURE__ */ jsx207("span", { "aria-hidden": true, ...trussProps117(getIndicatorStyles(active, completed, disabled)), ...tid.indicator }),
|
|
25790
|
+
/* @__PURE__ */ jsx207(VisuallyHidden10, { children: completed ? "Complete" : "Not Complete" })
|
|
25651
25791
|
] });
|
|
25652
25792
|
}
|
|
25653
25793
|
function getStateStyles(active, completed) {
|
|
@@ -25729,7 +25869,7 @@ var stepperTabStyles = {
|
|
|
25729
25869
|
|
|
25730
25870
|
// src/components/StepperTabs/StepperTabs.tsx
|
|
25731
25871
|
import { trussProps as trussProps118 } from "@homebound/truss/runtime";
|
|
25732
|
-
import { jsx as
|
|
25872
|
+
import { jsx as jsx208 } from "react/jsx-runtime";
|
|
25733
25873
|
import { createElement as createElement7 } from "react";
|
|
25734
25874
|
function StepperTabs(props) {
|
|
25735
25875
|
const {
|
|
@@ -25745,7 +25885,7 @@ function StepperTabs(props) {
|
|
|
25745
25885
|
const collapsed = isMobile || !!forceCollapsed;
|
|
25746
25886
|
const capWidth = steps.length <= 3;
|
|
25747
25887
|
const currentStepIndex = Math.max(0, steps.findIndex((step) => step.value === currentStep));
|
|
25748
|
-
return /* @__PURE__ */
|
|
25888
|
+
return /* @__PURE__ */ jsx208("nav", { "aria-label": "steps", className: "w100", ...tid, children: /* @__PURE__ */ jsx208("ol", { ...trussProps118({
|
|
25749
25889
|
padding: "p_0",
|
|
25750
25890
|
margin: "m_0",
|
|
25751
25891
|
listStyle: "lis_none",
|
|
@@ -25772,7 +25912,7 @@ function StepperTabs(props) {
|
|
|
25772
25912
|
"--maxWidth": `${maxStepWidthPx}px`
|
|
25773
25913
|
}]
|
|
25774
25914
|
} : {}
|
|
25775
|
-
}), key: step.value, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */
|
|
25915
|
+
}), key: step.value, "aria-current": isCurrent, ...tid.step }, /* @__PURE__ */ jsx208(StepperTab, { label: step.label, value: step.value, active: isCurrent, completed: isCompleted, disabled: step.disabled, collapsed, onClick: onChange, ...tid.tab }));
|
|
25776
25916
|
}) }) });
|
|
25777
25917
|
}
|
|
25778
25918
|
var maxStepWidthPx = 280;
|
|
@@ -25781,7 +25921,7 @@ var gapPx = 6;
|
|
|
25781
25921
|
// src/components/SuperDrawer/components/SuperDrawerHeader.tsx
|
|
25782
25922
|
import { createPortal as createPortal8 } from "react-dom";
|
|
25783
25923
|
import { trussProps as trussProps119 } from "@homebound/truss/runtime";
|
|
25784
|
-
import { jsx as
|
|
25924
|
+
import { jsx as jsx209, jsxs as jsxs105 } from "react/jsx-runtime";
|
|
25785
25925
|
function SuperDrawerHeader(props) {
|
|
25786
25926
|
const {
|
|
25787
25927
|
hideControls
|
|
@@ -25801,17 +25941,17 @@ function SuperDrawerHeader(props) {
|
|
|
25801
25941
|
return createPortal8(/* @__PURE__ */ jsxs105("div", { className: "df aic jcsb gap3", ...tid, children: [
|
|
25802
25942
|
isStructuredProps(props) ? /* @__PURE__ */ jsxs105("div", { className: "df jcsb aic gap2 fg1", children: [
|
|
25803
25943
|
/* @__PURE__ */ jsxs105("div", { className: "fg1 df aic gap2", children: [
|
|
25804
|
-
/* @__PURE__ */
|
|
25944
|
+
/* @__PURE__ */ jsx209("h1", { className: "fw6 fz_30px lh_36px", children: props.title }),
|
|
25805
25945
|
props.left
|
|
25806
25946
|
] }),
|
|
25807
|
-
props.right && /* @__PURE__ */
|
|
25808
|
-
] }) : /* @__PURE__ */
|
|
25809
|
-
!hideControls && /* @__PURE__ */
|
|
25947
|
+
props.right && /* @__PURE__ */ jsx209("div", { className: "fs0", children: props.right })
|
|
25948
|
+
] }) : /* @__PURE__ */ jsx209("div", { className: "fg1", children: props.children }),
|
|
25949
|
+
!hideControls && /* @__PURE__ */ jsx209("div", { ...trussProps119({
|
|
25810
25950
|
flexShrink: "fs0",
|
|
25811
25951
|
...isDetail ? {
|
|
25812
25952
|
visibility: "vh"
|
|
25813
25953
|
} : {}
|
|
25814
|
-
}), children: /* @__PURE__ */
|
|
25954
|
+
}), children: /* @__PURE__ */ jsx209(ButtonGroup, { buttons: [{
|
|
25815
25955
|
icon: "chevronLeft",
|
|
25816
25956
|
onClick: () => onPrevClick && onPrevClick(),
|
|
25817
25957
|
disabled: !onPrevClick
|
|
@@ -25830,8 +25970,8 @@ function isStructuredProps(props) {
|
|
|
25830
25970
|
import { motion as motion7 } from "framer-motion";
|
|
25831
25971
|
|
|
25832
25972
|
// src/components/SuperDrawer/useSuperDrawer.tsx
|
|
25833
|
-
import { useMemo as
|
|
25834
|
-
import { jsx as
|
|
25973
|
+
import { useMemo as useMemo55 } from "react";
|
|
25974
|
+
import { jsx as jsx210 } from "react/jsx-runtime";
|
|
25835
25975
|
function useSuperDrawer() {
|
|
25836
25976
|
const {
|
|
25837
25977
|
drawerContentStack: contentStack,
|
|
@@ -25843,7 +25983,7 @@ function useSuperDrawer() {
|
|
|
25843
25983
|
function canCloseDrawerDetails(i, doChange) {
|
|
25844
25984
|
for (const canCloseDrawerDetail of canCloseDetailsChecks.current[i] ?? []) {
|
|
25845
25985
|
if (!canClose(canCloseDrawerDetail)) {
|
|
25846
|
-
openModal({ content: /* @__PURE__ */
|
|
25986
|
+
openModal({ content: /* @__PURE__ */ jsx210(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawerDetail }) });
|
|
25847
25987
|
return false;
|
|
25848
25988
|
}
|
|
25849
25989
|
}
|
|
@@ -25863,14 +26003,14 @@ function useSuperDrawer() {
|
|
|
25863
26003
|
for (const canCloseDrawer of canCloseChecks.current) {
|
|
25864
26004
|
if (!canClose(canCloseDrawer)) {
|
|
25865
26005
|
openModal({
|
|
25866
|
-
content: /* @__PURE__ */
|
|
26006
|
+
content: /* @__PURE__ */ jsx210(ConfirmCloseModal, { onClose: doChange, ...canCloseDrawer })
|
|
25867
26007
|
});
|
|
25868
26008
|
return;
|
|
25869
26009
|
}
|
|
25870
26010
|
}
|
|
25871
26011
|
doChange();
|
|
25872
26012
|
}
|
|
25873
|
-
const closeActions =
|
|
26013
|
+
const closeActions = useMemo55(
|
|
25874
26014
|
() => {
|
|
25875
26015
|
return {
|
|
25876
26016
|
/** Attempts to close the drawer. If any checks fail, a confirmation modal will appear */
|
|
@@ -25905,7 +26045,7 @@ function useSuperDrawer() {
|
|
|
25905
26045
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25906
26046
|
[canCloseChecks, canCloseDetailsChecks, contentStack, modalState, openModal]
|
|
25907
26047
|
);
|
|
25908
|
-
const actions =
|
|
26048
|
+
const actions = useMemo55(
|
|
25909
26049
|
() => {
|
|
25910
26050
|
return {
|
|
25911
26051
|
// TODO: Maybe we should rename to openDrawer as a breaking change (to match openDrawerDetail)
|
|
@@ -25959,7 +26099,7 @@ function canClose(canCloseCheck) {
|
|
|
25959
26099
|
|
|
25960
26100
|
// src/components/SuperDrawer/SuperDrawerContent.tsx
|
|
25961
26101
|
import { trussProps as trussProps120, mergeProps as mergeProps33 } from "@homebound/truss/runtime";
|
|
25962
|
-
import { Fragment as Fragment46, jsx as
|
|
26102
|
+
import { Fragment as Fragment46, jsx as jsx211, jsxs as jsxs106 } from "react/jsx-runtime";
|
|
25963
26103
|
var SuperDrawerContent = ({
|
|
25964
26104
|
children,
|
|
25965
26105
|
actions
|
|
@@ -25979,7 +26119,7 @@ var SuperDrawerContent = ({
|
|
|
25979
26119
|
} = firstContent ?? {};
|
|
25980
26120
|
function wrapWithMotionAndMaybeBack(children2) {
|
|
25981
26121
|
if (kind === "open") {
|
|
25982
|
-
return /* @__PURE__ */
|
|
26122
|
+
return /* @__PURE__ */ jsx211(motion7.div, { className: "pt3 pb3 pr3 pl3 fg1 oa", children: children2 }, "content");
|
|
25983
26123
|
} else if (kind === "detail") {
|
|
25984
26124
|
return /* @__PURE__ */ jsxs106(motion7.div, { className: "pl3 pr3 pt2 pb3 fg1", animate: {
|
|
25985
26125
|
overflow: "auto"
|
|
@@ -25988,8 +26128,8 @@ var SuperDrawerContent = ({
|
|
|
25988
26128
|
delay: 0.3
|
|
25989
26129
|
}
|
|
25990
26130
|
}, children: [
|
|
25991
|
-
/* @__PURE__ */
|
|
25992
|
-
/* @__PURE__ */
|
|
26131
|
+
/* @__PURE__ */ jsx211(Button, { label: "Back", icon: "chevronLeft", variant: "tertiary", onClick: closeDrawerDetail }),
|
|
26132
|
+
/* @__PURE__ */ jsx211(motion7.div, { initial: {
|
|
25993
26133
|
x: width2,
|
|
25994
26134
|
opacity: 0
|
|
25995
26135
|
}, animate: {
|
|
@@ -26007,7 +26147,7 @@ var SuperDrawerContent = ({
|
|
|
26007
26147
|
}, className: "pt2", children: children2 })
|
|
26008
26148
|
] }, "content");
|
|
26009
26149
|
} else {
|
|
26010
|
-
return /* @__PURE__ */
|
|
26150
|
+
return /* @__PURE__ */ jsx211(motion7.div, { ...mergeProps33(void 0, {
|
|
26011
26151
|
overflow: "auto"
|
|
26012
26152
|
}, {
|
|
26013
26153
|
paddingTop: "pt3",
|
|
@@ -26020,7 +26160,7 @@ var SuperDrawerContent = ({
|
|
|
26020
26160
|
}
|
|
26021
26161
|
return /* @__PURE__ */ jsxs106(Fragment46, { children: [
|
|
26022
26162
|
wrapWithMotionAndMaybeBack(children),
|
|
26023
|
-
actions && /* @__PURE__ */
|
|
26163
|
+
actions && /* @__PURE__ */ jsx211("footer", { ...trussProps120({
|
|
26024
26164
|
borderTopStyle: "bts_solid",
|
|
26025
26165
|
borderTopWidth: "btw_1px",
|
|
26026
26166
|
borderColor: ["bc_var", {
|
|
@@ -26033,7 +26173,7 @@ var SuperDrawerContent = ({
|
|
|
26033
26173
|
display: "df",
|
|
26034
26174
|
alignItems: "aic",
|
|
26035
26175
|
justifyContent: "jcfe"
|
|
26036
|
-
}), children: /* @__PURE__ */
|
|
26176
|
+
}), children: /* @__PURE__ */ jsx211("div", { className: "df gap1", children: actions.map((buttonProps, i) => /* @__PURE__ */ jsx211(Button, { ...buttonProps }, i)) }) })
|
|
26037
26177
|
] });
|
|
26038
26178
|
};
|
|
26039
26179
|
|
|
@@ -26077,19 +26217,19 @@ function visit(rows, fn) {
|
|
|
26077
26217
|
|
|
26078
26218
|
// src/components/Tabs.tsx
|
|
26079
26219
|
import { camelCase as camelCase7 } from "change-case";
|
|
26080
|
-
import { useEffect as useEffect38, useMemo as
|
|
26220
|
+
import { useEffect as useEffect38, useMemo as useMemo56, useRef as useRef64, useState as useState57 } from "react";
|
|
26081
26221
|
import { mergeProps as mergeProps34, useFocusRing as useFocusRing19, useHover as useHover23 } from "react-aria";
|
|
26082
26222
|
import { matchPath } from "react-router";
|
|
26083
26223
|
import { Link as Link7, useLocation as useLocation2 } from "react-router-dom";
|
|
26084
26224
|
import { trussProps as trussProps121, maybeCssVar as maybeCssVar57 } from "@homebound/truss/runtime";
|
|
26085
|
-
import { Fragment as Fragment47, jsx as
|
|
26225
|
+
import { Fragment as Fragment47, jsx as jsx212, jsxs as jsxs107 } from "react/jsx-runtime";
|
|
26086
26226
|
function TabsWithContent(props) {
|
|
26087
26227
|
const styles = hideTabs(props) ? {} : {
|
|
26088
26228
|
paddingTop: "pt3"
|
|
26089
26229
|
};
|
|
26090
26230
|
return /* @__PURE__ */ jsxs107(Fragment47, { children: [
|
|
26091
|
-
/* @__PURE__ */
|
|
26092
|
-
/* @__PURE__ */
|
|
26231
|
+
/* @__PURE__ */ jsx212(Tabs, { ...props }),
|
|
26232
|
+
/* @__PURE__ */ jsx212(TabContent, { ...props, contentXss: {
|
|
26093
26233
|
...styles,
|
|
26094
26234
|
...props.contentXss
|
|
26095
26235
|
} })
|
|
@@ -26114,7 +26254,7 @@ function TabContent(props) {
|
|
|
26114
26254
|
return (
|
|
26115
26255
|
// Using FullBleed to allow the tab's bgColor to extend to the edges of the <ScrollableContent /> element.
|
|
26116
26256
|
// Omit the padding from `FullBleed` if the caller passes in the `paddingLeft/Right` styles.
|
|
26117
|
-
/* @__PURE__ */
|
|
26257
|
+
/* @__PURE__ */ jsx212(FullBleed, { omitPadding: omitFullBleedPadding, children: /* @__PURE__ */ jsx212("div", { "aria-labelledby": `${uniqueValue}-tab`, id: `${uniqueValue}-tabPanel`, role: "tabpanel", tabIndex: 0, ...tid.panel, ...trussProps121(contentXss), children: selectedTab.render() }) })
|
|
26118
26258
|
);
|
|
26119
26259
|
}
|
|
26120
26260
|
function Tabs(props) {
|
|
@@ -26138,7 +26278,7 @@ function Tabs(props) {
|
|
|
26138
26278
|
focusProps
|
|
26139
26279
|
} = useFocusRing19();
|
|
26140
26280
|
const tid = useTestIds(others, "tabs");
|
|
26141
|
-
const [active, setActive] =
|
|
26281
|
+
const [active, setActive] = useState57(selected);
|
|
26142
26282
|
const ref = useRef64(null);
|
|
26143
26283
|
useEffect38(() => setActive(selected), [selected]);
|
|
26144
26284
|
function onKeyUp(e) {
|
|
@@ -26174,11 +26314,11 @@ function Tabs(props) {
|
|
|
26174
26314
|
}
|
|
26175
26315
|
} : {}
|
|
26176
26316
|
}), children: [
|
|
26177
|
-
!hideTabs(props) && /* @__PURE__ */
|
|
26317
|
+
!hideTabs(props) && /* @__PURE__ */ jsx212("div", { ref, className: "dif gap1 asfe", "aria-label": ariaLabel, role: "tablist", ...tid, children: tabs.map((tab) => {
|
|
26178
26318
|
const uniqueValue = uniqueTabValue(tab);
|
|
26179
|
-
return /* @__PURE__ */
|
|
26319
|
+
return /* @__PURE__ */ jsx212(TabImpl, { active: active === uniqueValue, focusProps, isFocusVisible, onClick, onKeyUp, onBlur, tab, ...tid[defaultTestId(uniqueValue)] }, uniqueValue);
|
|
26180
26320
|
}) }),
|
|
26181
|
-
right && /* @__PURE__ */
|
|
26321
|
+
right && /* @__PURE__ */ jsx212("div", { className: "mla df aic gap1 pb1", children: right })
|
|
26182
26322
|
] });
|
|
26183
26323
|
}
|
|
26184
26324
|
function TabImpl(props) {
|
|
@@ -26212,7 +26352,7 @@ function TabImpl(props) {
|
|
|
26212
26352
|
hoverStyles: hoverStyles4,
|
|
26213
26353
|
disabledStyles: disabledStyles3,
|
|
26214
26354
|
activeHoverStyles
|
|
26215
|
-
} =
|
|
26355
|
+
} = useMemo56(() => getTabStyles(), []);
|
|
26216
26356
|
const uniqueValue = uniqueTabValue(tab);
|
|
26217
26357
|
const tabProps = {
|
|
26218
26358
|
"aria-controls": `${uniqueValue}-tabPanel`,
|
|
@@ -26240,15 +26380,15 @@ function TabImpl(props) {
|
|
|
26240
26380
|
});
|
|
26241
26381
|
const tabLabel = /* @__PURE__ */ jsxs107(Fragment47, { children: [
|
|
26242
26382
|
label,
|
|
26243
|
-
(icon || endAdornment) && /* @__PURE__ */
|
|
26383
|
+
(icon || endAdornment) && /* @__PURE__ */ jsx212("span", { className: "ml1", children: icon ? /* @__PURE__ */ jsx212(Icon, { icon }) : endAdornment })
|
|
26244
26384
|
] });
|
|
26245
26385
|
return isDisabled ? maybeTooltip({
|
|
26246
26386
|
title: resolveTooltip(disabled),
|
|
26247
26387
|
placement: "top",
|
|
26248
|
-
children: /* @__PURE__ */
|
|
26249
|
-
}) : isRouteTab(tab) ? /* @__PURE__ */
|
|
26388
|
+
children: /* @__PURE__ */ jsx212("div", { ...tabProps, children: tabLabel })
|
|
26389
|
+
}) : isRouteTab(tab) ? /* @__PURE__ */ jsx212(Link7, { ...mergeProps34(tabProps, interactiveProps, {
|
|
26250
26390
|
className: "navLink"
|
|
26251
|
-
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */
|
|
26391
|
+
}), to: tab.href, children: tabLabel }) : /* @__PURE__ */ jsx212("button", { ...{
|
|
26252
26392
|
...tabProps,
|
|
26253
26393
|
...interactiveProps
|
|
26254
26394
|
}, children: tabLabel });
|
|
@@ -26356,7 +26496,7 @@ function hideTabs(props) {
|
|
|
26356
26496
|
}
|
|
26357
26497
|
|
|
26358
26498
|
// src/components/TagGroup.tsx
|
|
26359
|
-
import { jsx as
|
|
26499
|
+
import { jsx as jsx213, jsxs as jsxs108 } from "react/jsx-runtime";
|
|
26360
26500
|
function TagGroup(props) {
|
|
26361
26501
|
const {
|
|
26362
26502
|
tags,
|
|
@@ -26365,8 +26505,8 @@ function TagGroup(props) {
|
|
|
26365
26505
|
} = props;
|
|
26366
26506
|
const tid = useTestIds(otherProps, "tagGroup");
|
|
26367
26507
|
return /* @__PURE__ */ jsxs108("div", { ...tid, className: "df aic fww gap1", children: [
|
|
26368
|
-
tags.map((tag) => /* @__PURE__ */
|
|
26369
|
-
onEdit && /* @__PURE__ */
|
|
26508
|
+
tags.map((tag) => /* @__PURE__ */ jsx213(Tag, { ...tag, variant: "secondary" }, tag.text)),
|
|
26509
|
+
onEdit && /* @__PURE__ */ jsx213("span", { className: "ml1 fw4 fz_14px lh_20px", children: /* @__PURE__ */ jsx213(Button, { label: "Edit", variant: "text", onClick: onEdit, ...tid.edit }) })
|
|
26370
26510
|
] });
|
|
26371
26511
|
}
|
|
26372
26512
|
|
|
@@ -26380,14 +26520,14 @@ function useToast() {
|
|
|
26380
26520
|
|
|
26381
26521
|
// src/layouts/SideNavLayout/SideNavLayout.tsx
|
|
26382
26522
|
import { trussProps as trussProps122, mergeProps as mergeProps35, maybeCssVar as maybeCssVar58 } from "@homebound/truss/runtime";
|
|
26383
|
-
import { jsx as
|
|
26523
|
+
import { jsx as jsx214, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
26384
26524
|
var __maybeInc26 = (inc) => {
|
|
26385
26525
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26386
26526
|
};
|
|
26387
26527
|
function SideNavLayout(props) {
|
|
26388
26528
|
const hasProvider = useHasSideNavLayoutProvider();
|
|
26389
|
-
if (hasProvider) return /* @__PURE__ */
|
|
26390
|
-
return /* @__PURE__ */
|
|
26529
|
+
if (hasProvider) return /* @__PURE__ */ jsx214(SideNavLayoutContent, { ...props });
|
|
26530
|
+
return /* @__PURE__ */ jsx214(SideNavLayoutProvider, { children: /* @__PURE__ */ jsx214(SideNavLayoutContent, { ...props }) });
|
|
26391
26531
|
}
|
|
26392
26532
|
function SideNavLayoutContent(props) {
|
|
26393
26533
|
const {
|
|
@@ -26404,8 +26544,9 @@ function SideNavLayoutContent(props) {
|
|
|
26404
26544
|
const bp = useBreakpoint();
|
|
26405
26545
|
const tid = useTestIds(props, "sideNavLayout");
|
|
26406
26546
|
const railCollapsedWidthPx = 56;
|
|
26547
|
+
const showMobileSubNav = useRegisterMobileSubNav(sideNav);
|
|
26407
26548
|
const collapsed = navState === "collapse";
|
|
26408
|
-
const showRail = navState !== "hidden";
|
|
26549
|
+
const showRail = navState !== "hidden" && !showMobileSubNav;
|
|
26409
26550
|
const railOffsetPx = !showRail ? 0 : !bp.mdAndUp || collapsed ? railCollapsedWidthPx : railWidthPx;
|
|
26410
26551
|
const navTop = bannerAndNavbarChromeTop();
|
|
26411
26552
|
const railViewportHeight = `calc(var(${beamLayoutViewportHeightVar}, 100vh) - var(${beamEnvironmentBannerLayoutHeightVar}, 0px) - var(${beamNavbarLayoutHeightVar}, 0px))`;
|
|
@@ -26466,18 +26607,18 @@ function SideNavLayoutContent(props) {
|
|
|
26466
26607
|
}
|
|
26467
26608
|
}
|
|
26468
26609
|
}), ...tid.sideNav, children: [
|
|
26469
|
-
showCollapseToggle && /* @__PURE__ */
|
|
26470
|
-
/* @__PURE__ */
|
|
26610
|
+
showCollapseToggle && /* @__PURE__ */ jsx214("div", { className: "absolute right2 top2 z2", children: /* @__PURE__ */ jsx214(IconButton, { icon: collapsed ? "menuOpen" : "menuClose", label: collapsed ? "Expand navigation" : "Collapse navigation", onClick: () => setNavState(collapsed ? "expanded" : "collapse"), ...tid.toggle }) }),
|
|
26611
|
+
/* @__PURE__ */ jsx214("div", { className: "fg1 mh0 df fdc", ...tid.sideNavContent, children: /* @__PURE__ */ jsx214(SideNav, { ...sideNav }) })
|
|
26471
26612
|
] });
|
|
26472
|
-
return /* @__PURE__ */
|
|
26613
|
+
return /* @__PURE__ */ jsx214(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsxs109("div", { ...mergeProps35(void 0, {
|
|
26473
26614
|
[beamSideNavLayoutWidthVar]: `${railOffsetPx}px`
|
|
26474
26615
|
}, {
|
|
26475
26616
|
display: "df",
|
|
26476
26617
|
flexDirection: "fdr",
|
|
26477
26618
|
width: "w100"
|
|
26478
26619
|
}), ...tid, children: [
|
|
26479
|
-
contrastRail ? /* @__PURE__ */
|
|
26480
|
-
/* @__PURE__ */
|
|
26620
|
+
contrastRail ? /* @__PURE__ */ jsx214(ContrastScope, { children: rail }) : rail,
|
|
26621
|
+
/* @__PURE__ */ jsx214("div", { ...trussProps122({
|
|
26481
26622
|
display: "df",
|
|
26482
26623
|
flexDirection: "fdc",
|
|
26483
26624
|
flexGrow: "fg1",
|
|
@@ -26494,7 +26635,7 @@ function SideNavLayoutContent(props) {
|
|
|
26494
26635
|
|
|
26495
26636
|
// src/layouts/EnvironmentBannerLayout/EnvironmentBannerLayout.tsx
|
|
26496
26637
|
import { trussProps as trussProps123, mergeProps as mergeProps36, maybeCssVar as maybeCssVar59 } from "@homebound/truss/runtime";
|
|
26497
|
-
import { jsx as
|
|
26638
|
+
import { jsx as jsx215, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
26498
26639
|
var __maybeInc27 = (inc) => {
|
|
26499
26640
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26500
26641
|
};
|
|
@@ -26510,18 +26651,18 @@ function EnvironmentBannerLayout(props) {
|
|
|
26510
26651
|
[beamEnvironmentBannerLayoutHeightVar]: `${bannerHeightPx}px`
|
|
26511
26652
|
};
|
|
26512
26653
|
const innerWidth = `var(${beamLayoutViewportWidthVar}, 100vw)`;
|
|
26513
|
-
return /* @__PURE__ */
|
|
26654
|
+
return /* @__PURE__ */ jsx215(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsx215(EnvironmentBannerLayoutHeightProvider, { value: bannerHeightPx, children: /* @__PURE__ */ jsxs110("div", { ...mergeProps36(void 0, style, {
|
|
26514
26655
|
display: "df",
|
|
26515
26656
|
flexDirection: "fdc",
|
|
26516
26657
|
width: "wfc",
|
|
26517
26658
|
minWidth: "mw100"
|
|
26518
26659
|
}), ...tid, children: [
|
|
26519
|
-
showBanner && environmentBanner && /* @__PURE__ */
|
|
26660
|
+
showBanner && environmentBanner && /* @__PURE__ */ jsx215("div", { ...mergeProps36(void 0, {
|
|
26520
26661
|
height: environmentBannerSizePx
|
|
26521
26662
|
}, {
|
|
26522
26663
|
flexShrink: "fs0",
|
|
26523
26664
|
width: "w100"
|
|
26524
|
-
}), children: /* @__PURE__ */
|
|
26665
|
+
}), children: /* @__PURE__ */ jsx215("div", { ...trussProps123({
|
|
26525
26666
|
position: "fixed",
|
|
26526
26667
|
top: "top0",
|
|
26527
26668
|
left: "left0",
|
|
@@ -26531,14 +26672,14 @@ function EnvironmentBannerLayout(props) {
|
|
|
26531
26672
|
width: ["w_var", {
|
|
26532
26673
|
"--width": maybeCssVar59(__maybeInc27(innerWidth))
|
|
26533
26674
|
}]
|
|
26534
|
-
}), ...tid.bannerSticky, children: /* @__PURE__ */
|
|
26675
|
+
}), ...tid.bannerSticky, children: /* @__PURE__ */ jsx215(EnvironmentBanner, { ...environmentBanner, ...tid.environmentBanner }) }) }),
|
|
26535
26676
|
children
|
|
26536
26677
|
] }) }) });
|
|
26537
26678
|
}
|
|
26538
26679
|
|
|
26539
26680
|
// src/layouts/FormSectionLayout/FormSectionLayout.tsx
|
|
26540
26681
|
import { trussProps as trussProps124 } from "@homebound/truss/runtime";
|
|
26541
|
-
import { jsx as
|
|
26682
|
+
import { jsx as jsx216, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
26542
26683
|
function FormSectionLayout(props) {
|
|
26543
26684
|
const {
|
|
26544
26685
|
title,
|
|
@@ -26552,10 +26693,10 @@ function FormSectionLayout(props) {
|
|
|
26552
26693
|
/* @__PURE__ */ jsxs111("div", { className: "df fdc gap3", children: [
|
|
26553
26694
|
/* @__PURE__ */ jsxs111("div", { className: "df fdc jcsb gap_12px", children: [
|
|
26554
26695
|
/* @__PURE__ */ jsxs111("div", { className: "df jcsb aic", children: [
|
|
26555
|
-
/* @__PURE__ */
|
|
26556
|
-
actions && /* @__PURE__ */
|
|
26696
|
+
/* @__PURE__ */ jsx216("h1", { className: "fw6 fz_20px lh_28px", ...tid.title, children: title }),
|
|
26697
|
+
actions && /* @__PURE__ */ jsx216("div", { className: "df gap1 fs0", ...tid.actions, children: actions.map((action) => action.kind === "icon" ? /* @__PURE__ */ jsx216(IconButton, { ...action, variant: "outline" }, action.icon) : /* @__PURE__ */ jsx216(Button, { ...action }, `${action.label}`)) })
|
|
26557
26698
|
] }),
|
|
26558
|
-
description && /* @__PURE__ */
|
|
26699
|
+
description && /* @__PURE__ */ jsx216("div", { ...trussProps124({
|
|
26559
26700
|
fontWeight: "fw4",
|
|
26560
26701
|
fontSize: "fz_14px",
|
|
26561
26702
|
lineHeight: "lh_20px",
|
|
@@ -26566,16 +26707,16 @@ function FormSectionLayout(props) {
|
|
|
26566
26707
|
] }),
|
|
26567
26708
|
initialFields
|
|
26568
26709
|
] }),
|
|
26569
|
-
sections && /* @__PURE__ */
|
|
26710
|
+
sections && /* @__PURE__ */ jsx216("div", { className: "df fdc gap8", children: sections.map((section, i) => /* @__PURE__ */ jsx216(FormSection, { ...section }, defaultTestId(section.title) || i)) })
|
|
26570
26711
|
] });
|
|
26571
26712
|
}
|
|
26572
26713
|
|
|
26573
26714
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
26574
|
-
import { useMemo as
|
|
26715
|
+
import { useMemo as useMemo57, useRef as useRef66 } from "react";
|
|
26575
26716
|
import { mergeProps as mergeProps37, maybeCssVar as maybeCssVar60 } from "@homebound/truss/runtime";
|
|
26576
26717
|
|
|
26577
26718
|
// src/layouts/useAutoHideOnScroll.ts
|
|
26578
|
-
import { useLayoutEffect as
|
|
26719
|
+
import { useLayoutEffect as useLayoutEffect10, useRef as useRef65, useState as useState58 } from "react";
|
|
26579
26720
|
var THRESHOLD = 80;
|
|
26580
26721
|
function getInitialAutoHideState() {
|
|
26581
26722
|
if (typeof window === "undefined" || window.scrollY <= 0) {
|
|
@@ -26585,15 +26726,15 @@ function getInitialAutoHideState() {
|
|
|
26585
26726
|
}
|
|
26586
26727
|
function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
26587
26728
|
const initial = getInitialAutoHideState();
|
|
26588
|
-
const [state, setState] =
|
|
26729
|
+
const [state, setState] = useState58(initial.state);
|
|
26589
26730
|
const stateRef = useRef65(initial.state);
|
|
26590
|
-
const [atTop, setAtTop] =
|
|
26731
|
+
const [atTop, setAtTop] = useState58(initial.atTop);
|
|
26591
26732
|
const atTopRef = useRef65(initial.atTop);
|
|
26592
26733
|
const getTopOffsetRef = useRef65(getTopOffset);
|
|
26593
26734
|
getTopOffsetRef.current = getTopOffset;
|
|
26594
26735
|
const lastScrollY = useRef65(Number.POSITIVE_INFINITY);
|
|
26595
26736
|
const lastScrollHeight = useRef65(0);
|
|
26596
|
-
|
|
26737
|
+
useLayoutEffect10(() => {
|
|
26597
26738
|
if (!enabled) {
|
|
26598
26739
|
stateRef.current = "static";
|
|
26599
26740
|
atTopRef.current = true;
|
|
@@ -26666,34 +26807,34 @@ function useAutoHideOnScroll(spacerRef, enabled, getTopOffset) {
|
|
|
26666
26807
|
|
|
26667
26808
|
// src/layouts/useMeasuredHeight.ts
|
|
26668
26809
|
import { useResizeObserver as useResizeObserver10 } from "@react-aria/utils";
|
|
26669
|
-
import { useCallback as useCallback38, useLayoutEffect as
|
|
26810
|
+
import { useCallback as useCallback38, useLayoutEffect as useLayoutEffect11, useState as useState59 } from "react";
|
|
26670
26811
|
function useMeasuredHeight(ref, enabled) {
|
|
26671
|
-
const [height, setHeight] =
|
|
26812
|
+
const [height, setHeight] = useState59(0);
|
|
26672
26813
|
const syncElementHeight = useCallback38(() => {
|
|
26673
26814
|
const el = ref.current;
|
|
26674
26815
|
const next = el ? Math.round(el.getBoundingClientRect().height) : 0;
|
|
26675
26816
|
setHeight((prev) => prev === next ? prev : next);
|
|
26676
26817
|
}, [ref]);
|
|
26677
26818
|
useResizeObserver10({ ref, onResize: syncElementHeight });
|
|
26678
|
-
|
|
26819
|
+
useLayoutEffect11(() => {
|
|
26679
26820
|
syncElementHeight();
|
|
26680
26821
|
}, [enabled, syncElementHeight]);
|
|
26681
26822
|
return height;
|
|
26682
26823
|
}
|
|
26683
26824
|
|
|
26684
26825
|
// src/layouts/NavbarLayout/NavbarLayoutHeightContext.tsx
|
|
26685
|
-
import { createContext as
|
|
26686
|
-
import { jsx as
|
|
26687
|
-
var NavbarLayoutHeightContext =
|
|
26826
|
+
import { createContext as createContext16, useContext as useContext28 } from "react";
|
|
26827
|
+
import { jsx as jsx217 } from "react/jsx-runtime";
|
|
26828
|
+
var NavbarLayoutHeightContext = createContext16(0);
|
|
26688
26829
|
function NavbarLayoutHeightProvider({ value, children }) {
|
|
26689
|
-
return /* @__PURE__ */
|
|
26830
|
+
return /* @__PURE__ */ jsx217(NavbarLayoutHeightContext.Provider, { value, children });
|
|
26690
26831
|
}
|
|
26691
26832
|
function useNavbarLayoutHeight() {
|
|
26692
|
-
return
|
|
26833
|
+
return useContext28(NavbarLayoutHeightContext);
|
|
26693
26834
|
}
|
|
26694
26835
|
|
|
26695
26836
|
// src/layouts/NavbarLayout/NavbarLayout.tsx
|
|
26696
|
-
import { jsx as
|
|
26837
|
+
import { jsx as jsx218, jsxs as jsxs112 } from "react/jsx-runtime";
|
|
26697
26838
|
var __maybeInc28 = (inc) => {
|
|
26698
26839
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26699
26840
|
};
|
|
@@ -26746,29 +26887,29 @@ function NavbarLayout(props) {
|
|
|
26746
26887
|
const innerStyle = autoHideState !== "static" ? {
|
|
26747
26888
|
top: autoHideState === "revealed" ? bannerTop : `calc(${bannerTop} - ${navHeight}px)`
|
|
26748
26889
|
} : void 0;
|
|
26749
|
-
const navbarEl =
|
|
26750
|
-
return /* @__PURE__ */
|
|
26890
|
+
const navbarEl = useMemo57(() => /* @__PURE__ */ jsx218(Navbar, { ...navbar }), [navbar]);
|
|
26891
|
+
return /* @__PURE__ */ jsx218(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsx218(NavbarLayoutHeightProvider, { value: navbarOffsetPx, children: /* @__PURE__ */ jsx218(MobileSubNavProvider, { children: /* @__PURE__ */ jsxs112("div", { ...mergeProps37(void 0, cssVars, {
|
|
26751
26892
|
display: "df",
|
|
26752
26893
|
flexDirection: "fdc",
|
|
26753
26894
|
width: "wfc",
|
|
26754
26895
|
minWidth: "mw100"
|
|
26755
26896
|
}), ...tid, children: [
|
|
26756
|
-
/* @__PURE__ */
|
|
26897
|
+
/* @__PURE__ */ jsx218("div", { ref: spacerRef, ...mergeProps37(void 0, {
|
|
26757
26898
|
height: navHeight
|
|
26758
26899
|
}, {
|
|
26759
26900
|
flexShrink: "fs0",
|
|
26760
26901
|
width: "w100"
|
|
26761
|
-
}), children: /* @__PURE__ */
|
|
26762
|
-
/* @__PURE__ */
|
|
26763
|
-
] }) }) });
|
|
26902
|
+
}), children: /* @__PURE__ */ jsx218("div", { ref: navMetricsRef, ...mergeProps37(void 0, innerStyle, innerCss), ...tid.navbar, children: navbarEl }) }),
|
|
26903
|
+
/* @__PURE__ */ jsx218("div", { className: "df fdc mh0 mw100 w100", ...tid.body, children })
|
|
26904
|
+
] }) }) }) });
|
|
26764
26905
|
}
|
|
26765
26906
|
|
|
26766
26907
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
26767
|
-
import { useCallback as useCallback39, useMemo as
|
|
26908
|
+
import { useCallback as useCallback39, useMemo as useMemo58, useRef as useRef67 } from "react";
|
|
26768
26909
|
|
|
26769
26910
|
// src/components/Headers/BaseHeader.tsx
|
|
26770
26911
|
import { trussProps as trussProps125 } from "@homebound/truss/runtime";
|
|
26771
|
-
import { jsx as
|
|
26912
|
+
import { jsx as jsx219, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
26772
26913
|
function BaseHeader(props) {
|
|
26773
26914
|
const {
|
|
26774
26915
|
title,
|
|
@@ -26809,8 +26950,8 @@ function BaseHeader(props) {
|
|
|
26809
26950
|
}
|
|
26810
26951
|
}), children: [
|
|
26811
26952
|
/* @__PURE__ */ jsxs113("div", { className: "mw0", children: [
|
|
26812
|
-
breadcrumbs && /* @__PURE__ */
|
|
26813
|
-
/* @__PURE__ */
|
|
26953
|
+
breadcrumbs && /* @__PURE__ */ jsx219(Breadcrumbs, { ...breadcrumbs }),
|
|
26954
|
+
/* @__PURE__ */ jsx219("h1", { ...tid.title, ...trussProps125({
|
|
26814
26955
|
fontWeight: "fw6",
|
|
26815
26956
|
fontSize: "fz_20px",
|
|
26816
26957
|
lineHeight: "lh_28px",
|
|
@@ -26819,7 +26960,7 @@ function BaseHeader(props) {
|
|
|
26819
26960
|
}]
|
|
26820
26961
|
}), children: title })
|
|
26821
26962
|
] }),
|
|
26822
|
-
/* @__PURE__ */
|
|
26963
|
+
/* @__PURE__ */ jsx219("div", { className: "fs0", children: rightSlot })
|
|
26823
26964
|
] }),
|
|
26824
26965
|
bottomSlot
|
|
26825
26966
|
] });
|
|
@@ -26827,14 +26968,14 @@ function BaseHeader(props) {
|
|
|
26827
26968
|
|
|
26828
26969
|
// src/components/Headers/PageHeader.tsx
|
|
26829
26970
|
import { trussProps as trussProps126 } from "@homebound/truss/runtime";
|
|
26830
|
-
import { jsx as
|
|
26971
|
+
import { jsx as jsx220 } from "react/jsx-runtime";
|
|
26831
26972
|
function PageHeader2(props) {
|
|
26832
26973
|
const {
|
|
26833
26974
|
tabs,
|
|
26834
26975
|
...otherProps
|
|
26835
26976
|
} = props;
|
|
26836
26977
|
const tid = useTestIds(otherProps, "header");
|
|
26837
|
-
return /* @__PURE__ */
|
|
26978
|
+
return /* @__PURE__ */ jsx220(BaseHeader, { ...otherProps, bottomSlot: tabs && /* @__PURE__ */ jsx220("div", { ...trussProps126(pageContentPaddingX), children: /* @__PURE__ */ jsx220(Tabs, { ...tabs, ...tid.tabs }) }) });
|
|
26838
26979
|
}
|
|
26839
26980
|
|
|
26840
26981
|
// src/layouts/useBannerAndNavbarHeight.ts
|
|
@@ -26844,7 +26985,7 @@ function useBannerAndNavbarHeight() {
|
|
|
26844
26985
|
|
|
26845
26986
|
// src/layouts/PageHeaderLayout/PageHeaderLayout.tsx
|
|
26846
26987
|
import { mergeProps as mergeProps38, maybeCssVar as maybeCssVar61 } from "@homebound/truss/runtime";
|
|
26847
|
-
import { jsx as
|
|
26988
|
+
import { jsx as jsx221, jsxs as jsxs114 } from "react/jsx-runtime";
|
|
26848
26989
|
var __maybeInc29 = (inc) => {
|
|
26849
26990
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
26850
26991
|
};
|
|
@@ -26899,37 +27040,37 @@ function PageHeaderLayout(props) {
|
|
|
26899
27040
|
const innerStyle = autoHideState !== "static" ? {
|
|
26900
27041
|
top: autoHideState === "revealed" ? outerTop : `calc(${outerTop} - ${headerHeight}px)`
|
|
26901
27042
|
} : void 0;
|
|
26902
|
-
const pageHeaderEl =
|
|
26903
|
-
return /* @__PURE__ */
|
|
27043
|
+
const pageHeaderEl = useMemo58(() => /* @__PURE__ */ jsx221(PageHeader2, { ...pageHeader }), [pageHeader]);
|
|
27044
|
+
return /* @__PURE__ */ jsx221(DocumentScrollLayoutProvider, { children: /* @__PURE__ */ jsxs114("div", { ...mergeProps38(void 0, cssVars, {
|
|
26904
27045
|
display: "df",
|
|
26905
27046
|
flexDirection: "fdc",
|
|
26906
27047
|
width: "w100"
|
|
26907
27048
|
}), ...tid, children: [
|
|
26908
|
-
/* @__PURE__ */
|
|
27049
|
+
/* @__PURE__ */ jsx221("div", { ref: spacerRef, ...mergeProps38(void 0, {
|
|
26909
27050
|
height: headerHeight
|
|
26910
27051
|
}, {
|
|
26911
27052
|
flexShrink: "fs0",
|
|
26912
27053
|
width: "w100"
|
|
26913
|
-
}), children: /* @__PURE__ */
|
|
26914
|
-
/* @__PURE__ */
|
|
27054
|
+
}), children: /* @__PURE__ */ jsx221("div", { ref: headerMetricsRef, ...mergeProps38(void 0, innerStyle, innerCss), ...tid.pageHeader, children: pageHeaderEl }) }),
|
|
27055
|
+
/* @__PURE__ */ jsx221("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children })
|
|
26915
27056
|
] }) });
|
|
26916
27057
|
}
|
|
26917
27058
|
|
|
26918
27059
|
// src/layouts/WorkflowLayout/WorkflowLayout.tsx
|
|
26919
|
-
import { useLayoutEffect as
|
|
27060
|
+
import { useLayoutEffect as useLayoutEffect12, useRef as useRef69, useState as useState60 } from "react";
|
|
26920
27061
|
|
|
26921
27062
|
// src/components/Headers/WorkflowHeader.tsx
|
|
26922
|
-
import { jsx as
|
|
27063
|
+
import { jsx as jsx222 } from "react/jsx-runtime";
|
|
26923
27064
|
function WorkflowHeader(props) {
|
|
26924
27065
|
const { stepperTabs, ...otherProps } = props;
|
|
26925
27066
|
const tid = useTestIds(otherProps, "header");
|
|
26926
|
-
return /* @__PURE__ */
|
|
27067
|
+
return /* @__PURE__ */ jsx222(BaseHeader, { ...otherProps, bottomSlot: /* @__PURE__ */ jsx222(StepperTabs, { ...stepperTabs, ...tid.stepperTabs }) });
|
|
26927
27068
|
}
|
|
26928
27069
|
|
|
26929
27070
|
// src/layouts/WorkflowLayout/useUnsavedChangesGuard.tsx
|
|
26930
27071
|
import { useEffect as useEffect39, useRef as useRef68 } from "react";
|
|
26931
27072
|
import { useBlocker } from "react-router-dom";
|
|
26932
|
-
import { jsx as
|
|
27073
|
+
import { jsx as jsx223 } from "react/jsx-runtime";
|
|
26933
27074
|
function useUnsavedChangesGuard(options) {
|
|
26934
27075
|
const { isDirty, onCancel } = options;
|
|
26935
27076
|
const { openModal } = useModal();
|
|
@@ -26952,7 +27093,7 @@ function useUnsavedChangesGuard(options) {
|
|
|
26952
27093
|
}
|
|
26953
27094
|
openModal({
|
|
26954
27095
|
allowClosing: false,
|
|
26955
|
-
content: /* @__PURE__ */
|
|
27096
|
+
content: /* @__PURE__ */ jsx223(ConfirmCloseModal, { onClose: () => onCancel(e) })
|
|
26956
27097
|
});
|
|
26957
27098
|
};
|
|
26958
27099
|
const navigationBlocker = blocker.state === "blocked" ? { proceed: () => blocker.proceed?.(), cancelNavigation: () => blocker.reset?.() } : void 0;
|
|
@@ -26964,7 +27105,7 @@ function UnsavedChangesNavigationModal(props) {
|
|
|
26964
27105
|
useEffect39(() => {
|
|
26965
27106
|
openModal({
|
|
26966
27107
|
allowClosing: false,
|
|
26967
|
-
content: /* @__PURE__ */
|
|
27108
|
+
content: /* @__PURE__ */ jsx223(ConfirmCloseModal, { title: "Leave page?", onClose: proceed, onContinue: cancelNavigation })
|
|
26968
27109
|
});
|
|
26969
27110
|
return () => closeModal();
|
|
26970
27111
|
}, []);
|
|
@@ -26972,7 +27113,7 @@ function UnsavedChangesNavigationModal(props) {
|
|
|
26972
27113
|
}
|
|
26973
27114
|
|
|
26974
27115
|
// src/layouts/WorkflowLayout/WorkflowActions.tsx
|
|
26975
|
-
import { jsx as
|
|
27116
|
+
import { jsx as jsx224, jsxs as jsxs115 } from "react/jsx-runtime";
|
|
26976
27117
|
function WorkflowActions(props) {
|
|
26977
27118
|
const {
|
|
26978
27119
|
isFirstStep,
|
|
@@ -26987,18 +27128,18 @@ function WorkflowActions(props) {
|
|
|
26987
27128
|
primaryDisabled
|
|
26988
27129
|
} = props;
|
|
26989
27130
|
return /* @__PURE__ */ jsxs115("div", { className: "df aic jcsb sm_w100", children: [
|
|
26990
|
-
/* @__PURE__ */
|
|
27131
|
+
/* @__PURE__ */ jsx224("div", { className: "df aic", children: !isFirstStep && isMobile && /* @__PURE__ */ jsx224(IconButton, { icon: "arrowBack", label: "Back", onClick: onBack }) }),
|
|
26991
27132
|
/* @__PURE__ */ jsxs115("div", { className: "df aic gap1", children: [
|
|
26992
|
-
/* @__PURE__ */
|
|
26993
|
-
onSaveAndExit && /* @__PURE__ */
|
|
26994
|
-
isLastStep ? /* @__PURE__ */
|
|
27133
|
+
/* @__PURE__ */ jsx224(Button, { label: "Cancel", variant: "quaternary", onClick: onCancel }),
|
|
27134
|
+
onSaveAndExit && /* @__PURE__ */ jsx224(Button, { label: "Save & Exit", variant: "secondary", onClick: onSaveAndExit }),
|
|
27135
|
+
isLastStep ? /* @__PURE__ */ jsx224(Button, { label: completeLabel, variant: "primary", onClick: onComplete, disabled: primaryDisabled }) : /* @__PURE__ */ jsx224(Button, { label: "Continue", variant: "primary", onClick: onContinue, disabled: primaryDisabled })
|
|
26995
27136
|
] })
|
|
26996
27137
|
] });
|
|
26997
27138
|
}
|
|
26998
27139
|
|
|
26999
27140
|
// src/layouts/WorkflowLayout/WorkflowLayout.tsx
|
|
27000
27141
|
import { trussProps as trussProps127, mergeProps as mergeProps39, maybeCssVar as maybeCssVar62 } from "@homebound/truss/runtime";
|
|
27001
|
-
import { jsx as
|
|
27142
|
+
import { jsx as jsx225, jsxs as jsxs116 } from "react/jsx-runtime";
|
|
27002
27143
|
var __maybeInc30 = (inc) => {
|
|
27003
27144
|
return typeof inc === "string" ? inc : `calc(var(--t-spacing) * ${inc})`;
|
|
27004
27145
|
};
|
|
@@ -27017,7 +27158,7 @@ function WorkflowLayout(props) {
|
|
|
27017
27158
|
...step,
|
|
27018
27159
|
value: defaultTestId(step.label)
|
|
27019
27160
|
}));
|
|
27020
|
-
const [currentStep, setCurrentStep] =
|
|
27161
|
+
const [currentStep, setCurrentStep] = useState60(() => getInitialStep(stepTabs, defaultStep));
|
|
27021
27162
|
const tid = useTestIds(props, "workflowLayout");
|
|
27022
27163
|
const {
|
|
27023
27164
|
sm: isMobile
|
|
@@ -27040,7 +27181,7 @@ function WorkflowLayout(props) {
|
|
|
27040
27181
|
const isFirstStep = currentIndex <= 0;
|
|
27041
27182
|
const isLastStep = currentIndex === stepTabs.length - 1;
|
|
27042
27183
|
const activeStep = stepTabs[currentIndex];
|
|
27043
|
-
const buttons = /* @__PURE__ */
|
|
27184
|
+
const buttons = /* @__PURE__ */ jsx225(WorkflowActions, { isFirstStep, isLastStep, isMobile, onBack: () => setCurrentStep(stepTabs[currentIndex - 1].value), onCancel: onCancelClick, onSaveAndExit, completeLabel, onComplete, primaryDisabled: !activeStep?.isValid, onContinue: async () => {
|
|
27044
27185
|
const onContinue = activeStep?.onContinue;
|
|
27045
27186
|
if (onContinue) {
|
|
27046
27187
|
const allowed = await onContinue();
|
|
@@ -27049,7 +27190,7 @@ function WorkflowLayout(props) {
|
|
|
27049
27190
|
setCurrentStep(stepTabs[currentIndex + 1].value);
|
|
27050
27191
|
} });
|
|
27051
27192
|
const showFooter = isMobile;
|
|
27052
|
-
|
|
27193
|
+
useLayoutEffect12(() => {
|
|
27053
27194
|
const root = document.documentElement;
|
|
27054
27195
|
const previous = root.style.getPropertyValue(beamWorkflowLayoutFooterHeightVar);
|
|
27055
27196
|
root.style.setProperty(beamWorkflowLayoutFooterHeightVar, showFooter ? `${mobileFooterHeightPx}px` : "0px");
|
|
@@ -27061,7 +27202,7 @@ function WorkflowLayout(props) {
|
|
|
27061
27202
|
}
|
|
27062
27203
|
};
|
|
27063
27204
|
}, [showFooter]);
|
|
27064
|
-
const headerEl = /* @__PURE__ */
|
|
27205
|
+
const headerEl = /* @__PURE__ */ jsx225(
|
|
27065
27206
|
WorkflowHeader,
|
|
27066
27207
|
{
|
|
27067
27208
|
...headerProps,
|
|
@@ -27080,7 +27221,7 @@ function WorkflowLayout(props) {
|
|
|
27080
27221
|
flexDirection: "fdc",
|
|
27081
27222
|
width: "w100"
|
|
27082
27223
|
}), ...tid, children: [
|
|
27083
|
-
/* @__PURE__ */
|
|
27224
|
+
/* @__PURE__ */ jsx225("div", { ref: headerMetricsRef, ...trussProps127({
|
|
27084
27225
|
position: "sticky",
|
|
27085
27226
|
left: "left0",
|
|
27086
27227
|
width: ["w_var", {
|
|
@@ -27093,14 +27234,14 @@ function WorkflowLayout(props) {
|
|
|
27093
27234
|
"--top": maybeCssVar62(__maybeInc30(outerTop))
|
|
27094
27235
|
}]
|
|
27095
27236
|
}), ...tid.header, children: headerEl }),
|
|
27096
|
-
/* @__PURE__ */
|
|
27097
|
-
showFooter && /* @__PURE__ */
|
|
27237
|
+
/* @__PURE__ */ jsx225("div", { className: "df fdc fg1 mh0 w100", ...tid.body, children: activeStep?.content }),
|
|
27238
|
+
showFooter && /* @__PURE__ */ jsx225("div", { ...trussProps127({
|
|
27098
27239
|
flexShrink: "fs0",
|
|
27099
27240
|
width: "w100",
|
|
27100
27241
|
height: ["h_var", {
|
|
27101
27242
|
"--height": `${mobileFooterHeightPx}px`
|
|
27102
27243
|
}]
|
|
27103
|
-
}), children: /* @__PURE__ */
|
|
27244
|
+
}), children: /* @__PURE__ */ jsx225("div", { ...trussProps127({
|
|
27104
27245
|
...{
|
|
27105
27246
|
position: "fixed",
|
|
27106
27247
|
bottom: "bottom0",
|
|
@@ -27129,7 +27270,7 @@ function WorkflowLayout(props) {
|
|
|
27129
27270
|
...pageContentPaddingX
|
|
27130
27271
|
}), ...tid.footer, children: buttons }) })
|
|
27131
27272
|
] }),
|
|
27132
|
-
navigationBlocker && /* @__PURE__ */
|
|
27273
|
+
navigationBlocker && /* @__PURE__ */ jsx225(UnsavedChangesNavigationModal, { ...navigationBlocker })
|
|
27133
27274
|
] });
|
|
27134
27275
|
}
|
|
27135
27276
|
var mobileFooterHeightPx = 80;
|